%global versionhelp 0.6.0 %global srcurl http://sf.net/projects/%{name}/files/Double%20Commander%20Source # FIXME debuginfo generation is currently not possible # http://sourceforge.net/p/doublecmd/mailman/doublecmd-devel/thread/4AE47300.40309@gmail.com/ # https://fedoraproject.org/wiki/Packaging:Debuginfo#Useless_or_incomplete_debuginfo_packages_due_to_other_reasons %global debug_package %{nil} Name: doublecmd Summary: Twin-panel (commander-style) file manager Version: 0.6.6 Release: 2%{?dist} # we have a mixup of many licenses in the source files # to not complicate things too much, upgrade GPLv2+, LGPLv2+ and LGPLv3+ files with also GPLv3+ License: GPLv3+ and BSD and MIT and MPLv1.1 URL: http://%{name}.sf.net Source0: %{srcurl}/%{name}-%{version}-src.tar.gz Source1: %{srcurl}/%{name}-help-%{versionhelp}-src.tar.gz BuildRequires: fpc >= 2.4.0 fpc-src lazarus >= 0.9.29 BuildRequires: dbus-devel bzip2-devel xorg-x11-proto-devel xorg-x11-xtrans-devel # FIXME gtk3 not possible at the moment BuildRequires: gtk2-devel # FIXME general qt build hangs forever on arm architectures %ifnarch %{arm} # FIXME qt5 not possible at the moment BuildRequires: qt4pas-devel %endif BuildRequires: desktop-file-utils Requires: %{name}-gui = %{version}-%{release} Suggests: %{name}-plugins = %{version}-%{release} %description Double Commander is a cross platform open source file manager with two panels side by side. It is inspired by Total Commander and features some new ideas. %ifnarch %{arm} %package qt Summary: Twin-panel (commander-style) file manager (Qt build) Requires: qt4 Requires: %{name} = %{version}-%{release} Provides: %{name}-gui = %{version}-%{release} %description qt Double Commander is a cross platform open source file manager with two panels side by side. It is inspired by Total Commander and features some new ideas. This is the build for Qt framework. %endif %package gtk2 Summary: Twin-panel (commander-style) file manager (GTK2 build) Requires: gtk2 Requires: %{name} = %{version}-%{release} Provides: %{name}-gui = %{version}-%{release} %description gtk2 Double Commander is a cross platform open source file manager with two panels side by side. It is inspired by Total Commander and features some new ideas. This is the build for GTK2 framework. %package plugins-locate Summary: Locate (DSX) plugin for %{name} Requires: %{name}-gui = %{version}-%{release} Provides: %{name}-plugins = %{version}-%{release} %description plugins-locate %{summary}. %package plugins-packager Summary: Packager (WCX) plugins for %{name} Requires: %{name}-gui = %{version}-%{release} Provides: %{name}-plugins = %{version}-%{release} %description plugins-packager %{summary}. %package plugins-content Summary: Content (WDX) plugins for %{name} Requires: %{name}-gui = %{version}-%{release} Provides: %{name}-plugins = %{version}-%{release} %description plugins-content %{summary}. %package plugins-filesystem Summary: File system (WFX) plugins for %{name} Requires: %{name}-gui = %{version}-%{release} Provides: %{name}-plugins = %{version}-%{release} %description plugins-filesystem %{summary}. %package plugins-lister Summary: Lister (WLX) plugins for %{name} Requires: %{name}-gui = %{version}-%{release} Provides: %{name}-plugins = %{version}-%{release} %description plugins-lister %{summary}. %package doc Summary: Additional documentation for %{name} BuildArch: noarch %description doc %{summary}. %prep %setup -q -a 1 # we build for both qt and gtk, so optimize to build others once only # keep debuginfo, use logging sed -i -e '/components\/build.sh/d' -e '/plugins\/build.sh/d' -e '/strip/d' -e 's,sh ,sh -x ,' build.sh # call sub scripts separately sed -i -r 's,\$(lazbuild),\1,' components/build.sh plugins/build.sh # documentation at wrong place # binaries get renamed and installed separately (weird bug, mind the space after cp) sed -i -e '/%{name}\/doc/d' -e '/cp.*%{name} /d' -e '/bin\/%{name}/d' install/linux/install.sh # W: wrong-file-end-of-line-encoding find -name \*.css |xargs sed -i 's/\r$//' %build %ifarch %{arm} export CPU_TARGET=arm %else export CPU_TARGET=%{_arch} %endif echo build components -------------------------------------------- sh -x components/build.sh echo build plugins ----------------------------------------------- sh -x plugins/build.sh %ifarch %{arm} for widgets in gtk2 ; do %else for widgets in gtk2 qt ; do %endif echo build $widgets --------------------------------------------- # build beta target to get .lzdi files sh -x build.sh beta $widgets mv %{name} %{name}-$widgets done %install sh -x install/linux/install.sh --install-prefix=%{buildroot} # gtk2 cp -p %{name}-gtk2 %{buildroot}%{_bindir} sed -e 's,Exec=.*,\0-gtk2,' -e 's,Name=.*,\0 (GTK2),' %{buildroot}%{_datadir}/applications/%{name}.desktop \ > %{buildroot}%{_datadir}/applications/%{name}-gtk2.desktop # qt %ifnarch %{arm} cp -p %{name}-qt %{buildroot}%{_bindir} sed -e 's,Exec=.*,\0-qt,' -e 's,Name=.*,\0 (Qt),' %{buildroot}%{_datadir}/applications/%{name}.desktop \ > %{buildroot}%{_datadir}/applications/%{name}-qt.desktop %endif rm %{buildroot}%{_datadir}/applications/%{name}.desktop # relocate noarch files pushd %{buildroot}%{_libdir}/%{name} rm -r language pixmaps mv *.ext.example *.xml *.txt *.ini scripts/ %{buildroot}%{_datadir}/%{name} popd # W: unstripped-binary-or-object find %{buildroot}%{_libdir}/%{name}/plugins -name '*.??x' -exec chmod 0755 {} \; %check # validation of both gtk2 and qt if available each desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}-*.desktop %files %license doc/COPYING* %doc doc/README* doc/changelog.txt %{_mandir}/man1/%{name}.1* %{_datadir}/%{name}/ %{_datadir}/pixmaps/%{name}.* %dir %{_libdir}/%{name} %{_libdir}/%{name}/%{name}* %dir %{_libdir}/%{name}/plugins %files gtk2 %{_bindir}/%{name}-gtk2 %{_datadir}/applications/%{name}-gtk2.desktop %ifnarch %{arm} %files qt %{_bindir}/%{name}-qt %{_datadir}/applications/%{name}-qt.desktop %endif %files plugins-locate %dir %{_libdir}/%{name}/plugins/dsx/ %{_libdir}/%{name}/plugins/dsx/dsxlocate/ %files plugins-packager %{_libdir}/%{name}/plugins/wcx/ %files plugins-content %{_libdir}/%{name}/plugins/wdx/ %files plugins-filesystem %{_libdir}/%{name}/plugins/wfx/ %files plugins-lister %{_libdir}/%{name}/plugins/wlx/ %files doc %license doc/COPYING* %doc %{name}-help-%{versionhelp}/*/ %changelog * Wed Nov 18 2015 Raphael Groner - 0.6.6-2 - disable qt build on arm architectures * Tue Nov 17 2015 Raphael Groner - 0.6.6-1 - new upstream version - add desktop-file-validate - remove obsolete Suggests - split plugins into optional subpackages - add more documentation - improve license specification - fix rpmlint warnings * Tue Jul 21 2015 Raphael Groner - 0.6.4-2 - distribute zdli files for crash reports - avoid duplicated documentation and binaries - improve shell logging * Mon Jul 20 2015 Raphael Groner - 0.6.4-1 - new upstream v0.6.4 * Sun Apr 26 2015 Raphael Groner - 0.6.2-0.1.20150426svn6000 - revision 6000 - add build for gtk2 - split into subpackages * Fri Apr 03 2015 Raphael Groner - 0.6.1-1.20150402svn5941 - rev 5941 - build with qt4 - minor cleanup to spec file * Mon Dec 01 2014 Vít Ondruch - 0.6.0-0.svn5681 - Revision 5681. * Mon Feb 03 2014 Vít Ondruch - 0.6.0-0.svn5447 - Revision 5447. * Mon Jul 15 2013 Vít Ondruch - 0.5.5-1.svn5256 - Revision 5256. * Wed May 15 2013 Vít Ondruch - 0.5.5-1.svn5205 - Revision 5205. * Mon Sep 17 2012 Vít Ondruch - 0.5.5-1.svn4969 - Revision 4969. * Mon Jul 02 2012 Vít Ondruch - 0.5.5-1.svn4912 - Revision 4912. * Thu Feb 23 2012 Vít Ondruch - 0.5.5-1.svn4690 - Revision 4690. * Thu Feb 23 2012 Vít Ondruch - 0.5.5-1.svn4304 - Revision 4304. * Tue Nov 01 2011 Vít Ondruch - 0.5.5-1.svn4036 - Revision 4036. * Wed Aug 24 2011 Vít Ondruch - 0.5.5-1.svn3836 - Revision 3836. * Fri Jun 17 2011 Vít Ondruch - 0.5.5-1.svn3643 - Version 0.5.5 - Revision 3643. * Tue May 24 2011 Vít Ondruch - 0.4.6-2 - Revision 3617. * Fri Jun 11 2010 - Alexander Koblov - Initial package, version 0.4.6