# # spec file for package digikam # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: digikam Version: 4.14.0 Release: 0 %define rversion 4.14.0 %define libversion 15.12.0 Summary: A KDE Photo Manager License: GPL-2.0+ Group: Productivity/Graphics/Viewers Url: http://www.digikam.org/ Source0: http://download.kde.org/stable/%{name}/%{name}-%{rversion}.tar.bz2 Source1: digikam-libs.tar.bz2 # PATCH-FIX-OPENSUSE digikam-buildtime.patch -- Remove build time references so build-compare can do its work Patch0: digikam-buildtime.patch # PATCH-FIX-OPENSUSE remove-gplv2-only.patch idoenmez@suse.de bnc#711963 -- Remove GPLv2 only files from the build system Patch3: remove-gplv2-only.patch # PATCH-FIX-UPSTREAM digikam-4.4.0.no-kdcraw.version-check.patch -- version check for libkdcraw currently broken Patch6: digikam-4.4.0.no-kdcraw.version-check.patch # PATCH-FIX-OPENSUSE fix_opencv3.patch -- Fix the internal libkface to work with openCV version 3.0. This is based on upstream changes Patch100: fix_opencv3.patch # PATCH: Building with lensfun 0.3.2 Patch999: digikam-4.14.0-lensfun-0.3.2.patch BuildRequires: ImageMagick-devel BuildRequires: bison BuildRequires: boost-devel BuildRequires: doxygen BuildRequires: fdupes BuildRequires: flex BuildRequires: gdk-pixbuf-devel %if 0%{?suse_version} <= 1310 || 0%{?suse_version} == 1320 BuildRequires: libkdcraw-devel BuildRequires: libkexiv2-devel BuildRequires: libkface-devel BuildRequires: libkgeomap-devel BuildRequires: libksane-devel BuildRequires: libmediawiki-devel BuildRequires: pkgconfig(libkipi) >= 2.0.0 # libkgeomap package provides older lib with same so name. Requires: libkgeomap2 %else BuildRequires: libexiv2-devel BuildRequires: libmarblewidget-devel BuildRequires: libraw-devel BuildRequires: sane-backends-devel %endif BuildRequires: libxml2-devel BuildRequires: libxslt-devel %if 0%{?suse_version} > 1310 BuildRequires: baloo-devel %endif %if 0%{?suse_version} > 1310 BuildRequires: gstreamer-plugins-qt-devel %else BuildRequires: gstreamer-0_10-plugins-qt-devel %endif BuildRequires: lensfun-devel %if 0%{?suse_version} > 1230 BuildRequires: libeigen3-devel %endif BuildRequires: libexpat-devel BuildRequires: libgphoto2-devel BuildRequires: libgpod-devel BuildRequires: libjasper-devel BuildRequires: libkde4-devel %if 0%{?suse_version} < 1320 BuildRequires: libkdepimlibs4-devel %endif %if 0%{?suse_version} > 1230 BuildRequires: libkqoauth-devel %endif BuildRequires: libMagick++-devel BuildRequires: libkvkontakte-devel %if 0%{?suse_version} < 1320 && !0%{?is_opensuse} # from 13.2 upwards, and also Leap 42.1 (1315 && is_opensuse) we prefer lcms2 BuildRequires: liblcms-devel %else BuildRequires: liblcms2-devel %endif BuildRequires: liblqr-devel BuildRequires: libpgf-devel BuildRequires: libqca2-devel BuildRequires: libqjson-devel BuildRequires: libusb-1_0-devel BuildRequires: libusb-compat-devel %if 0%{?suse_version} <= 1320 && !0%{?is_opensuse} BuildRequires: marble-devel %endif BuildRequires: opencv-devel >= 2.4.5 BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(glu) %if 0%{?suse_version} BuildRequires: update-desktop-files %endif Requires: kipi-plugins >= %{version} Requires: libqt4-sql-mysql Requires: libqt4-sql-sqlite Recommends: %{name}-doc Recommends: %{name}-lang BuildRoot: %{_tmppath}/%{name}-%{version}-build %requires_ge libkipi8 %kde4_runtime_requires %if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 Requires: digikam-libs %endif %description digiKam is a simple digital photo management application for KDE, which allows you to import and organize your digital photos easily. The photos can be organized in albums, which can be sorted chronologically, by directory layout, or by custom collections. An easy-to-use interface that enables you to connect to your camera and preview, download, or delete your images, is provided. %package doc Summary: Documentation of Digikam License: GFDL-1.2 Group: Documentation/HTML BuildArch: noarch %description doc This package contains the documentation for digikam # split out Image modification plugins. Upstream ships them with a # .metainfo.xml file, which is meant to list them as extensions in a # Software center. The ones we want installed by default we tag as Supplements(%{name}. %package plugin-color Summary: DigiKam: ImagePlugin-Color License: GPL-2.0+ Group: Productivity/Graphics/Viewers Supplements: %{name} %description plugin-color A tool to correct colors of image %package plugin-decorate Summary: DigiKam: ImagePlugin-Decorate License: GPL-2.0+ Group: Productivity/Graphics/Viewers Supplements: %{name} %description plugin-decorate A tool to decorate an image %package plugin-enhance Summary: DigiKam: ImagePlugin-Enhance License: GPL-2.0+ Group: Productivity/Graphics/Viewers Supplements: %{name} %description plugin-enhance digiKam plugin to enhance photographs %package plugin-fxfilters Summary: DigiKam: ImagePlugin-FxFilters License: GPL-2.0+ Group: Productivity/Graphics/Viewers Supplements: %{name} %description plugin-fxfilters Special effect filters plugin for digiKam %package plugin-transform Summary: DigiKam: ImagePlugin-Color License: GPL-2.0+ Group: Productivity/Graphics/Viewers Supplements: %{name} %description plugin-transform A tool to transform image geometry # split out acquireimage plugin in order to allow the main # kipi-plugins package to be included on livecd (acquireimage # requires sane-backends, which is blocked for livecd) %package -n kipi-plugins-acquireimage Summary: KDE Plug-Ins for Image Manipulation - Acquireimage plugin License: GPL-2.0+ Group: Productivity/Graphics/Other Requires: kipi-plugins = %{version} Supplements: packageand(kipi-plugins:sane-backends) %kde4_runtime_requires %description -n kipi-plugins-acquireimage This is the Acquireimage plugin from the kipi plugins package. # split out geolocation plugin in order to allow the main # kipi-plugins package to be included on livecd (geolocation # requires marble, which is blocked for livecd) %package -n kipi-plugins-geolocation Summary: KDE Plug-Ins for Image Manipulation - Geolocation plugin License: GPL-2.0+ Group: Productivity/Graphics/Other Requires: kipi-plugins = %{version} Supplements: packageand(kipi-plugins:marble) %kde4_runtime_requires %description -n kipi-plugins-geolocation This is the Geolocation plugin from the kipi plugins package. %package -n kipi-plugins Summary: KDE Plug-Ins for Image Manipulation License: GPL-2.0+ Group: Productivity/Graphics/Other Recommends: ImageMagick Recommends: enblend-enfuse Recommends: hugin Recommends: kipi-plugins-lang = %{version} Supplements: packageand(kipi-plugins:marble) %kde4_runtime_requires %if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 Requires: digikam-libs Requires: kipi-plugin-icons %endif %description -n kipi-plugins A set of plug-ins for the KDE KIPI interface, used by some KDE imaging applications. %if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 %package libs Summary: Libraries required to run digikam License: GPL-2.0+ Group: Productivity/Graphics/Viewers #Require the lib for the shared icons Requires: libKF5Kipi30_0_0 Recommends: marble-data Obsoletes: libkdcraw23 < %{libversion} Provides: libkdcraw23 = %{libversion} Obsoletes: libkexiv2-11 < %{libversion} Provides: libkexiv2-11 = %{libversion} Obsoletes: libkface3 < %{libversion} Provides: libkface3 = %{libversion} Obsoletes: libkgeomap2 < %{libversion} Provides: libkgeomap2 = %{libversion} Obsoletes: libkipi11 < %{libversion} Provides: libkipi11 = %{libversion} Obsoletes: libksane0 < %{libversion} Provides: libksane0 = %{libversion} Obsoletes: libmediawiki1 < %{libversion} Provides: libmediawiki1 = %{libversion} %description libs These are the libraries libkipi, libkdcraw, libkgeomap, libkexiv2, libksane and libkface which are required for digikam to run. Upstream these libraries have moved to KF5, but digikam is still KDE4 based %endif %lang_package %lang_package -n kipi-plugins %prep %setup -q -n %{name}-%{rversion} -a 1 %patch0 %patch3 %patch6 -p1 %patch100 -p1 %patch999 -p1 # Remove build time references so build-compare can do its work FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y') sed -i "s/__DATE__/\"$FAKE_BUILDDATE\"/" core/app/utils/version.h.cmake.in sed -i "s/__DATE__/\"$FAKE_BUILDDATE\"/g" extra/kipi-plugins/common/libkipiplugins/tools/kpversion.h.cmake.in pushd extra/kipi-plugins # Remove GPL-v2 only files rm gpssync/borrowed/modeltest.cpp rm gpssync/borrowed/modeltest.h popd %build %if 0%{?suse_version} < 1320 && !0%{?is_opensuse} EXTRA_FLAGS="-DENABLE_LCMS2=OFF" %else EXTRA_FLAGS="-DENABLE_LCMS2=ON" %endif %if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 EXTRA_FLAGS+=" -DDIGIKAMSC_COMPILE_LIBKIPI=ON -DDIGIKAMSC_COMPILE_LIBKEXIV2=ON -DDIGIKAMSC_COMPILE_LIBKDCRAW=ON" EXTRA_FLAGS+=" -DDIGIKAMSC_COMPILE_LIBKSANE=ON -DDIGIKAMSC_COMPILE_LIBKFACE=ON" EXTRA_FLAGS+=" -DDIGIKAMSC_COMPILE_LIBKGEOMAP=ON -DDIGIKAMSC_COMPILE_LIBMEDIAWIKI=ON" %endif %cmake_kde4 -d build -- -DENABLE_OPENCV3=ON -DENABLE_MYSQLSUPPORT=TRUE -DENABLE_INTERNALMYSQL=FALSE -DENABLE_KDEPIMLIBSSUPPORT=TRUE $EXTRA_FLAGS # there are files in there that are so heavy to the compiler, that one is enough %make_jobs VERBOSE=1 %install %kde4_makeinstall -C build # Not needed, the package doesn't actually provide any shared libraries rm -f %{buildroot}%{_kde4_libdir}/libdigikamcore.so rm -f %{buildroot}%{_kde4_libdir}/libdigikamdatabase.so rm -f %{buildroot}%{_kde4_libdir}/libkipiplugins.so # Not needed rm -fv %{buildroot}%{_kde4_libdir}/*.a %if 0%{?suse_version} %suse_update_desktop_file -r %{name} Qt KDE Graphics Photography %suse_update_desktop_file -r showfoto Qt KDE Graphics Photography %suse_update_desktop_file -r dngconverter Qt KDE Graphics Photography %suse_update_desktop_file -r expoblending Qt KDE Graphics Photography %suse_update_desktop_file -r panoramagui Qt KDE Graphics Photography %suse_update_desktop_file -r scangui Qt KDE Graphics Scanning %endif %find_lang %{name} %if 0%{?kde_updatedapps} %find_lang libkipi libkipi.lang %else rm -f %{buildroot}/usr/share/locale/*/LC_MESSAGES/libkipi.mo %endif %find_lang kipiplugins kipiplugin.lang for l in acquireimages advancedslideshow batchprocessimages calendar debianscreenshots dlnaexport dngconverter dropbox expoblending facebook flashexport flickrexport galleryexport googledrive gpssync htmlexport imageshackexport imageviewer imgurexport ipodexport jalbumexport jpeglossless kioexportimport kmlexport kopete metadataedit panorama photolayouteditor piwigoexport printimages rajceexport rawconverter removeredeyes sendimages shwup smug timeadjust videoslideshow vkontakte wikimedia yandexfotki; do %find_lang kipiplugin_$l kipiplugin.lang done # this allows the icon to be used as an application icon safely for res in 16x16 22x22 32x32 48x48 64x64 128x128 do pushd %{buildroot}%{_kde4_iconsdir}/hicolor/$res/apps/ ln -s %{_kde4_iconsdir}/oxygen/$res/apps/rawconverter.png popd done pushd %{buildroot}%{_kde4_iconsdir}/hicolor/scalable/apps/ ln -s %{_kde4_iconsdir}/oxygen/scalable/apps/rawconverter.svgz popd # symlink solid actions into place known to Plasma 5, remove once digikam is KF5-based mkdir -p %{buildroot}%{_datadir}/solid/actions pushd %{buildroot}%{_kde4_appsdir}/solid/actions/ for i in *.desktop; do ln -s %{_kde4_appsdir}/solid/actions/$i %{buildroot}%{_datadir}/solid/actions/ done popd %fdupes -s %{buildroot} %kde_post_install %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %post -n kipi-plugins -p /sbin/ldconfig %postun -n kipi-plugins -p /sbin/ldconfig %files %defattr(-,root,root,-) %doc core/{AUTHORS,COPYING,COPYING-CMAKE-SCRIPTS,COPYING.LIB,ChangeLog,NEWS,README} %{_kde4_applicationsdir}/digikam.desktop %{_kde4_applicationsdir}/showfoto.desktop %{_kde4_appsdir}/digikam/ %{_kde4_appsdir}/kconf_update/adjustlevelstool.upd %{_kde4_appsdir}/showfoto/ %{_kde4_appsdir}/solid %dir %{_datadir}/solid %dir %{_datadir}/solid/actions %{_datadir}/solid/actions/*.desktop %{_kde4_bindir}/cleanup_digikamdb %{_kde4_bindir}/digikam %{_kde4_bindir}/digitaglinktree %{_kde4_bindir}/showfoto %dir %{_kde4_iconsdir}/hicolor/* %dir %{_kde4_iconsdir}/hicolor/*/apps %{_kde4_iconsdir}/hicolor/*/apps/digikam.* %{_kde4_iconsdir}/hicolor/*/apps/showfoto.* %{_kde4_libdir}/libdigikamcore.so.* %{_kde4_libdir}/libdigikamdatabase.so.* %{_kde4_modulesdir}/kio_digikamalbums.so %{_kde4_modulesdir}/kio_digikamdates.so %{_kde4_modulesdir}/kio_digikammapimages.so %{_kde4_modulesdir}/kio_digikamsearch.so %{_kde4_modulesdir}/kio_digikamtags.so %{_kde4_servicesdir}/digikam* %{_kde4_servicetypesdir}/digikamimageplugin.desktop %dir %{_kde4_datadir}/appdata %{_kde4_datadir}/appdata/digikam.appdata.xml %{_kde4_datadir}/appdata/showfoto.appdata.xml %files plugin-color %defattr(-,root,root) %{_kde4_modulesdir}/digikamimageplugin_color.so %{_kde4_datadir}/appdata/digiKam-ImagePlugin_Color.metainfo.xml %files plugin-decorate %defattr(-,root,root) %{_kde4_modulesdir}/digikamimageplugin_decorate.so %{_kde4_datadir}/appdata/digiKam-ImagePlugin_Decorate.metainfo.xml %files plugin-enhance %defattr(-,root,root) %{_kde4_modulesdir}/digikamimageplugin_enhance.so %{_kde4_datadir}/appdata/digiKam-ImagePlugin_Enhance.metainfo.xml %files plugin-fxfilters %defattr(-,root,root) %{_kde4_modulesdir}/digikamimageplugin_fxfilters.so %{_kde4_datadir}/appdata/digiKam-ImagePlugin_FxFilters.metainfo.xml %files plugin-transform %defattr(-,root,root) %{_kde4_modulesdir}/digikamimageplugin_transform.so %{_kde4_datadir}/appdata/digiKam-ImagePlugin_Transform.metainfo.xml %files doc %defattr(-,root,root,-) %doc COPYING.DOC %doc %{_kde4_htmldir}/*/ %doc %{_mandir}/man1/cleanup_digikamdb.1%{ext_man} %doc %{_mandir}/man1/digitaglinktree.1%{ext_man} %files lang -f %{name}.lang %defattr(-,root,root,-) %exclude %{_kde4_htmldir}/ %files -n kipi-plugins %defattr(-,root,root,-) %doc extra/kipi-plugins/{AUTHORS,COPYING,COPYING-ADOBE,COPYING-CMAKE-SCRIPTS,ChangeLog,NEWS,README,TODO} %{_kde4_applicationsdir}/*.desktop %exclude %{_kde4_applicationsdir}/digikam.desktop %exclude %{_kde4_applicationsdir}/showfoto.desktop %exclude %{_kde4_applicationsdir}/scangui.desktop %{_kde4_appsdir}/kipiplugin_* %{_kde4_appsdir}/photolayoutseditor %{_kde4_appsdir}/kipi/tips %{_kde4_appsdir}/kipi/*ui.rc %{_kde4_bindir}/dngconverter %{_kde4_bindir}/expoblending %{_kde4_bindir}/panoramagui %{_kde4_bindir}/photolayoutseditor %{_kde4_configkcfgdir}/photolayoutseditor.kcfg %dir %{_kde4_iconsdir}/hicolor/24x24/apps %{_kde4_iconsdir}/hicolor/*/actions/*.* %if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 %exclude %{_kde4_iconsdir}/hicolor/*/apps/kipi-*.* %else %{_kde4_iconsdir}/hicolor/*/apps/kipi-*.* %endif %exclude %{_kde4_iconsdir}/hicolor/*/apps/kipi-gpsimagetag.png %{_kde4_iconsdir}/hicolor/*/apps/photolayoutseditor.* %{_kde4_iconsdir}/hicolor/*/apps/rawconverter.* %{_kde4_iconsdir}/oxygen/*/apps/rawconverter.* %{_kde4_libdir}/libkipiplugins.so.* %{_kde4_modulesdir}/kipiplugin_*.so %exclude %{_kde4_modulesdir}/kipiplugin_acquireimages.so %exclude %{_kde4_modulesdir}/kipiplugin_gpssync.so %{_kde4_servicesdir}/kipiplugin_*.desktop %exclude %{_kde4_servicesdir}/kipiplugin_acquireimages.desktop %exclude %{_kde4_servicesdir}/kipiplugin_gpssync.desktop %{_kde4_servicetypesdir}/photolayoutseditorborderplugin.desktop %{_kde4_servicetypesdir}/photolayoutseditoreffectplugin.desktop %dir %{_kde4_sharedir}/templates %{_kde4_sharedir}/templates/kipiplugins_photolayoutseditor/ %files -n kipi-plugins-lang -f kipiplugin.lang %defattr(-,root,root,-) %exclude %{_kde4_htmldir}/en/kipi-plugins %files -n kipi-plugins-acquireimage %defattr(-,root,root,-) %{_kde4_applicationsdir}/scangui.desktop %{_kde4_bindir}/scangui %{_kde4_modulesdir}/kipiplugin_acquireimages.so %{_kde4_servicesdir}/kipiplugin_acquireimages.desktop %files -n kipi-plugins-geolocation %defattr(-,root,root) %{_kde4_appsdir}/gpssync %{_kde4_iconsdir}/hicolor/*/apps/kipi-gpsimagetag.png %{_kde4_modulesdir}/kipiplugin_gpssync.so %{_kde4_servicesdir}/kipiplugin_gpssync.desktop %if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %files libs %defattr(-,root,root) %_libdir/cmake/Kface-3.5.0/ %_libdir/cmake/libkexiv2-2.4.0/ %_libdir/libkdcraw.so* %_libdir/libkexiv2.so* %_libdir/libkface.so* %_libdir/libkgeomap.so* %_libdir/libkipi.so* %_libdir/libksane.so* %_libdir/libmediawiki.so* %_kde4_iconsdir/hicolor/*/apps/kdcraw.png # maybe not the best way to do this, but it works and is easier to remove later %exclude %_kde4_iconsdir/hicolor/*/apps/kipi.png %_kde4_appsdir/kipi/ %_kde4_appsdir/libkdcraw/ %_kde4_appsdir/libkexiv2/ %_kde4_appsdir/libkface/ %_kde4_appsdir/libkgeomap/ %_kde4_servicetypesdir/kipiplugin.desktop %exclude %_kde4_appsdir/kipi/kipiplugin_* %exclude %_kde4_appsdir/kipi/tips %endif %changelog