digikam/digikam.spec

351 lines
12 KiB
RPMSpec

#
# spec file for package digikam
#
# Copyright (c) 2015 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
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
# 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
BuildRequires: ImageMagick-devel
BuildRequires: bison
BuildRequires: boost-devel
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: flex
BuildRequires: gdk-pixbuf-devel
BuildRequires: libkgeomap-devel
BuildRequires: libxml2-devel
BuildRequires: libxslt-devel
%if 0%{?suse_version} > 1310
BuildRequires: baloo-devel
%endif
BuildRequires: libkface-devel
%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: libkdcraw-devel
BuildRequires: libkde4-devel
BuildRequires: libkdepimlibs4-devel
BuildRequires: libkexiv2-devel
BuildRequires: pkgconfig(libkipi) >= 2.0.0
%if 0%{?suse_version} > 1230
BuildRequires: libkqoauth-devel
%endif
BuildRequires: libMagick++-devel
BuildRequires: libksane-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
# libkgeomap package provides older lib with same so name.
Requires: libkgeomap2
Recommends: %{name}-doc
Recommends: %{name}-lang
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%requires_ge libkipi8
%kde4_runtime_requires
%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 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
%description -n kipi-plugins
A set of plug-ins for the KDE KIPI interface, used by some KDE imaging
applications.
%lang_package
%lang_package -n kipi-plugins
%prep
%setup -q -n %{name}-%{rversion}
%patch0
%patch3
%patch6 -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
%cmake_kde4 -d build -- -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
%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
%{_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}/digikam*.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
%{_kde4_datadir}/appdata/digiKam-ImagePlugin*.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/*.*
%{_kde4_iconsdir}/hicolor/*/apps/kipi-*.*
%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
%changelog