%global gitcommit_full a4da2fd353a66c4f563673973bb727050d4737b6
%global gitcommit %(c=%{gitcommit_full}; echo ${c:0:7})

Name:           kdiff3
Version:        1.7.90
Release:        3.1%{?dist}
Summary:        Compare + merge 2 or 3 files or directories

License:        GPLv2
URL:            https://github.com/KDE/kdiff3
Source0:        https://github.com/KDE/kdiff3/tarball/%{gitcommit_full}
# find-lang.sh from EL < 8 doesn't support --with-html option
Source1:        find-lang.sh

BuildRequires:  cmake3
BuildRequires:  gcc-c++
BuildRequires:  desktop-file-utils
BuildRequires:  gettext
BuildRequires:  libappstream-glib
BuildRequires:  cmake(KF5KIO)
BuildRequires:  cmake(KF5WidgetsAddons)
BuildRequires:  cmake(KF5Parts)
BuildRequires:  cmake(KF5IconThemes)
BuildRequires:  cmake(KF5DocTools)
BuildRequires:  cmake(KF5Crash)
BuildRequires:  cmake(KF5CoreAddons)
BuildRequires:  cmake(KF5I18n)
BuildRequires:  cmake(KF5Bookmarks)
BuildRequires:  kf5-rpm-macros
BuildRequires:  extra-cmake-modules

Provides:       mergetool

# https://fedoraproject.org/wiki/Packaging:Scriptlets
# https://fedoraproject.org/wiki/PackagingDrafts/ScriptletSnippets
Requires(post):         coreutils
Requires(postun):       coreutils
Requires(posttrans):    coreutils
# gtk-update-icon-cache
#Requires(post):         gtk-update-icon-cache
Requires(postun):       gtk-update-icon-cache
Requires(posttrans):    gtk-update-icon-cache
# update-mime-database
#Requires(post):         shared-mime-info
#Requires(postun):       shared-mime-info
#Requires(posttrans):    shared-mime-info
# update-desktop-database
Requires(post):         desktop-file-utils
Requires(postun):       desktop-file-utils
#Requires(posttrans):    desktop-file-utils
# glib-compile-schemas
#Requires(post):         glib2
#Requires(postun):       glib2
#Requires(posttrans):    glib2
# ldconfig
Requires(post):         glibc /sbin/ldconfig
Requires(postun):       glibc /sbin/ldconfig
#Requires(posttrans):    glibc /sbin/ldconfig


%description
KDiff3 is a program that
- compares and merges two or three input files or directories,
- shows the differences line by line and character by character (!),
- provides an automatic merge-facility and
- an integrated editor for comfortable solving of merge-conflicts
- has support for KDE-KIO (ftp, sftp, http, fish, smb)
- and has an intuitive graphical user interface.


%prep
%autosetup -n "KDE-%{name}-%{gitcommit}"


%build
mkdir -p "%{_target_platform}"
pushd "%{_target_platform}"
    %cmake_kf5 ..
    %make_build
popd


%install
pushd %{_target_platform}
    %make_install
popd

%if 0%{?rhel} && 0%{?rhel} < 8
sh "%{SOURCE1}" "%{buildroot}" "%{name}" --with-html
%else
%find_lang "%{name}" --with-html
%endif


%check
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/appdata/org.kde.%{name}.appdata.xml
desktop-file-validate %{buildroot}%{_datadir}/applications/org.kde.%{name}.desktop


%post
/bin/touch --no-create "%{_datadir}/icons/hicolor" &> /dev/null || :
#/usr/bin/update-mime-database -n "%{_datadir}/mime" &>/dev/null || :
/usr/bin/update-desktop-database &> /dev/null || :
/sbin/ldconfig


%postun
#if [[ "${1}" -eq "0" ]] ; then
#  /usr/bin/glib-compile-schemas "%{_datadir}/glib-2.0/schemas" &> /dev/null || :
#fi
/usr/bin/update-desktop-database &> /dev/null || :
if [[ "${1}" -eq "0" ]] ; then
  /bin/touch --no-create "%{_datadir}/icons/hicolor" &> /dev/null || :
  /usr/bin/gtk-update-icon-cache "%{_datadir}/icons/hicolor" &> /dev/null || :
  #/usr/bin/update-mime-database -n "%{_datadir}/mime" &>/dev/null || :
fi
/sbin/ldconfig


%posttrans
#/usr/bin/glib-compile-schemas "%{_datadir}/glib-2.0/schemas" &> /dev/null || :
/usr/bin/gtk-update-icon-cache "%{_datadir}/icons/hicolor" &> /dev/null || :
#update-mime-database -n "%{_datadir}/mime" &>/dev/null || :


%files -f %{name}.lang
%license COPYING
%doc AUTHORS NEWS README
%{_bindir}/%{name}
%{_kf5_plugindir}/kfileitemaction/kdiff3fileitemaction.so
%{_kf5_plugindir}/parts/kdiff3part.so
%{_datadir}/appdata/org.kde.%{name}.appdata.xml
%{_datadir}/applications/org.kde.%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/*.png
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svgz
%{_datadir}/kservices5/kdiff3part.desktop
%{_datadir}/kxmlgui5/%{name}
%{_datadir}/kxmlgui5/kdiff3part/kdiff3_part.rc
%{_mandir}/man1/%{name}.1.gz


%changelog
* Tue Apr 02 2019 Tomasz Tomasik <scx.mail@gmail.com> - 1.7.90-3.1
- Rebuild for EL7

* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.90-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Wed Jan 16 2019 Vasiliy N. Glazov <vascom2@gmail.com> 1.7.90-2
- Update to latest git
- Solve #1664996

* Mon Oct 15 2018 Vasiliy N. Glazov <vascom2@gmail.com> 1.7.90-1
- Switch to Qt5/KF5

* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.98-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.98-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.98-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.98-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Mon Feb 20 2017 Rex Dieter <rdieter@fedoraproject.org> - 0.9.98-9
- fix FTBFS (#1423810), .spec cleanup

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.98-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Wed Feb 03 2016 Rex Dieter <rdieter@fedoraproject.org> - 0.9.98-7
- use %%qmake_qt4 macro to ensure proper build flags

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.98-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 0.9.98-5
- Rebuilt for GCC 5 C++11 ABI change

* Tue Sep 16 2014 Rex Dieter <rdieter@fedoraproject.org> 0.9.98-4
- -qt subpkg, Qt-only build (#746663)

* Tue Sep 16 2014 Rex Dieter <rdieter@fedoraproject.org> - 0.9.98-3
- Provides: mergetool (#990447)
- .spec cleanup
- install manpage

* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.98-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Tue Jul  8 2014 nbecker <ndbecker2@gmail.com> - 0.9.98-1
- Update to 0.9.98

* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.97-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.97-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.97-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Mon Jan 21 2013 Neal Becker <ndbecker2@gmail.com> - 0.9.97-5
- bump version to match f17 version

* Wed Nov 21 2012 Johan Cwiklinski <johan AT x-tnd DOT be> - 0.9.97-4.trashy
- Fix for saving files on KDE with relative path specified
  via command line option -o.

* Mon Aug 13 2012 Neal Becker <ndbecker2@gmail.com> - 0.9.97-3
- Remove libkdiff3*.so

* Mon Aug 13 2012 Neal Becker <ndbecker2@gmail.com> - 0.9.97-1
- Update to 0.9.97

* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.96-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Fri Feb 24 2012 Neal Becker <ndbecker2@gmail.com> - 0.9.96-6
- Add req: oxygen-icon-theme to close BR 771356

* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.96-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Sat Sep  3 2011 Neal Becker <ndbecker2@gmail.com> - 0.9.96-5
- added kdiff3fileitemactionplugin

* Sat Sep  3 2011 Neal Becker <ndbecker2@gmail.com> - 0.9.96-4
- Remove patch2

* Sat Sep  3 2011 Neal Becker <ndbecker2@gmail.com> - 0.9.96-3
- Remove patch1

* Sat Sep  3 2011 Neal Becker <ndbecker2@gmail.com> - 0.9.96-2
- fix patch

* Sat Sep  3 2011 Neal Becker <ndbecker2@gmail.com> - 0.9.96-1
- Update to 0.9.96

* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.95-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Tue Jul 13 2010 Rex Dieter <rdieter@fedoraproject.org> - 0.9.95-5
- ftbfs against kde-4.5 (pre)releases
- optimize scriplets
- drop HTML doc hackery, use %%find_lang --with-kde

* Sun Mar 28 2010 Neal Becker <ndbecker2@gmail.com> - 0.9.95-4
- Install kdiff3_part.rc into correct location

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.95-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Wed Mar  4 2009 Neal Becker <ndbecker2@gmail.com> - 0.9.95-2
- Fix Changelog order

* Wed Mar  4 2009 Neal Becker <ndbecker2@gmail.com> - 0.9.95-1
- Update to 0.9.95

* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.94-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Sat Jan 17 2009 Neal Becker <ndbecker2@gmail.com> - 0.9.94-1
- Update to 0.9.94

* Fri Jan  9 2009 Neal Becker <ndbecker2@gmail.com> - 0.9.93-1.3%{?dist}
- Update to 0.9.93-3

* Tue Jan  6 2009 Neal Becker <ndbecker2@gmail.com> - 0.9.93-2-1
- Update to 0.9.93-2

* Tue Jan  6 2009 Rex Dieter <rdieter@fedoraproject.org> - 0.9.93-6
- use kde4 macros
- add scriptlets for locolor icons
- update d-f-i usage
- include khelpcenter handbook
- update Source0 URL

* Tue Jan  6 2009 Neal Becker <ndbecker2@gmail.com> - 0.9.93-5
- Fix HTML_DIR and use kde4_ versions of datadir, libdir, bindir

* Tue Jan  6 2009 Neal Becker <ndbecker2@gmail.com> - 0.9.93-4
- Remove /etc/profile.d/qt.sh, remove configure

* Tue Jan  6 2009 Neal Becker <ndbecker2@gmail.com> - 0.9.93-3
- Change BR, no longer kde3

* Tue Jan  6 2009 Neal Becker <ndbecker2@gmail.com> - 0.9.93-2
- Add br cmake

* Tue Jan  6 2009 Neal Becker <ndbecker2@gmail.com> - 0.9.93-1
- Update to 0.9.93

* Thu Jun 5 2008 Manuel Wolfshant <wolfy@fedoraproject.org> - 0.9.92-14
- add a conditional BR, allowing build in EPEL-5

* Tue Mar 25 2008 Rex Dieter <rdieter@fedoraproject.org> - 0.9.92-13
- drop BR: qt-devel (broken)
- omit 64bit configure hack (invalid and not needed)

* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 0.9.92-12
- Autorebuild for GCC 4.3

* Sun Dec  2 2007 Neal Becker <ndbecker2@gmail.com> - 0.9.92-11
- BR qt-devel
- source /etc/profile.d/qt.sh for mock

* Wed Nov  7 2007 Neal Becker <ndbecker2@gmail.com> - 0.9.92-10
- Update desktop-file-install as suggest by Rex

* Wed Nov  7 2007 Neal Becker <ndbecker2@gmail.com> - 0.9.92-8
- Use desktop-file-install for kdiff3plugin.desktop

* Tue Nov  6 2007 Neal Becker <ndbecker2@gmail.com> - 0.9.92-7
- Update to 0.9.92
- Add /usr/share/applnk/.hidden/kdiff3plugin.desktop

* Thu Oct 05 2006 Christian Iseli <Christian.Iseli@licr.org> 0.9.90-7
 - rebuilt for unwind info generation, broken in gcc-4.1.1-21

* Sun Aug 27 2006 Neal Becker <ndbecker2@gmail.com> - 0.9.90-6
- Untabify
- --add-category X-Fedora
- Add gtk-update-icon-cache

* Fri May 12 2006 Neal Becker <ndbecker2@gmail.com> - 0.9.88-5
- Remove ldconfig
* Fri May 12 2006 Laurent Rineau <laurent.rineau__fc_extra@normalesup.org> - 0.9.88-5
- Quote percent sign in %%changelog.
- Cleanup in %%files
- Removed Requires: tag.


* Fri May 12 2006 Neal Becker <ndbecker2@gmail.com> - 0.9.88-4
- Remove applnk stuff
- Add %%post + %%postun

* Fri May 12 2006 Neal Becker <ndbecker2@gmail.com> - 0.9.88-3
- Fix symlinks (from Rex Dieter)

* Fri May 12 2006 Neal Becker <ndbecker2@gmail.com> - 0.9.88-2
- Fix source0
- Fix E: kdiff3 standard-dir-owned-by-package /usr/share/icons
  E: kdiff3 standard-dir-owned-by-package /usr/share/man
  E: kdiff3 standard-dir-owned-by-package /usr/share/man/man1
- Fix Summary

* Thu May 11 2006 Neal Becker <ndbecker2@gmail.com> - 0.9.88-1
- Initial