digikam/digikam.spec

645 lines
20 KiB
RPMSpec
Raw Normal View History

#
# spec file for package digikam
#
# Copyright (c) 2012 SUSE LINUX Products 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: 2.8.0
Release: 0
Summary: A KDE Photo Manager
License: GPL-2.0+
Group: Productivity/Graphics/Viewers
Url: http://www.digikam.org/
Source0: http://sourceforge.net/projects/digikam/files/digikam/%{version}/digikam-%{version}.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 desktop-files.diff -- Remove Icon= entry (the icon is missing)
Patch1: desktop-files.diff
# PATCH-FIX-OPENSUSE non-executable-script.patch asterios.dramis@gmail.com -- Fix rpmlint warning "non-executable-script"
Patch2: non-executable-script.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-OPENSUSE fix-broken-icon-reference.diff adrian@suse.de -- CHECK ON NEXT VERSION UPDATE: reference to missing icon
Patch4: fix-broken-icon-reference.diff
# PATCH-FIX-OPENSUSE digikam_no_build_vkontakte.diff tittiatcoke@gmail.com -- Don't build libvkontakte (use external one)
Patch5: digikam_no_build_vkontakte.diff
BuildRequires: ImageMagick
BuildRequires: boost-devel
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: lensfun-devel
BuildRequires: libexpat-devel
BuildRequires: libgphoto2-devel
BuildRequires: libgpod-devel
BuildRequires: libjasper-devel
BuildRequires: libkdcraw-devel
BuildRequires: libkde4-devel
BuildRequires: libkdepimlibs4-devel
%if 0%{?kde_updatedapps}
%if 0%{?suse_version} == 1140
BuildRequires: libexiv2-devel >= 0.21
BuildRequires: sane-backends-devel
%endif
%if 0%{?suse_version} > 1140
BuildRequires: libkexiv2-devel
BuildRequires: libkipi-devel
BuildRequires: libksane-devel
BuildRequires: libkvkontakte-devel
%endif
%else
BuildRequires: libkexiv2-devel
BuildRequires: libkipi-devel
BuildRequires: libksane-devel
BuildRequires: libkvkontakte-devel
%endif
BuildRequires: liblcms-devel
BuildRequires: liblqr-devel
BuildRequires: libqca2-devel
BuildRequires: libqjson-devel
BuildRequires: libsoprano-devel
BuildRequires: libusb-1_0-devel
BuildRequires: marble-devel
BuildRequires: opencv-devel
BuildRequires: shared-desktop-ontologies-devel
BuildRequires: pkgconfig(glib-2.0)
%if 0%{?suse_version} == 1130
BuildRequires: pkgconfig(gtk+-2.0)
%else
BuildRequires: gdk-pixbuf-devel
%endif
%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
%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.
%package -n libkgeomap-devel
Summary: Development files for libkgeomap
License: GPL-2.0+
Group: Development/Libraries/KDE
Requires: libkgeomap1 = %{version}
%description -n libkgeomap-devel
This package contains development files for libkgeomap.
%package -n libkgeomap1
Summary: World-Map Library interface for KDE
License: GPL-2.0+
Group: System/Libraries
Recommends: libkgeomap-lang = %{version}
Recommends: marble
# libkgeomap was last used at openSUSE 12.1 (version 2.2.0)
Provides: libkgeomap = %{version}
Obsoletes: libkgeomap < %{version}
%description -n libkgeomap1
Libkgeomap is a wrapper around different world-map components, to browse and
arrange photos over a map.
Currently supported map engine are:
- Marble
- OpenstreetMap (via Marble)
- GoogleMap
This library is used by kipi-plugins, digiKam and other kipi host programs.
%package -n libkface-devel
Summary: Development files for libkface
License: BSD-3-Clause ; GPL-2.0+ ; LGPL-2.1+ ; MIT
Group: Development/Libraries/KDE
Requires: libkface1 = %{version}
%description -n libkface-devel
This package contains development files for libkface.
%package -n libkface1
Summary: Wrapper around LibFace to perform face recognition and detection over pictures
License: BSD-3-Clause ; GPL-2.0+ ; LGPL-2.1+ ; MIT
Group: System/Libraries
%description -n libkface1
Libkface is a Qt/C++ wrapper around LibFace to perform face recognition and
detection over pictures.
%package -n libmediawiki1
Summary: Interface for MediaWiki based web services
License: GPL-2.0+
Group: System/Libraries
Provides: libmediawiki = %{version}
%description -n libmediawiki1
libmediawiki is a KDE C++ interface for MediaWiki based web service as
wikipedia.org.
This package contains the shared library.
%package -n libmediawiki-devel
Summary: Development files for libmediawiki
License: GPL-2.0+
Group: Development/Libraries/C and C++
Requires: libmediawiki1 = %{version}
%description -n libmediawiki-devel
libmediawiki is a KDE C++ interface for MediaWiki based web service as
wikipedia.org.
This package contains the development files for libmediawiki.
%lang_package
%lang_package -n kipi-plugins
%lang_package -n libkgeomap
%prep
%setup -q
%patch0
pushd extra/kipi-plugins
%patch1
popd
%patch2
%patch3
%patch4
%patch5
# 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/digikam/utils/version.h.cmake
sed -i "s/__DATE__/\"$FAKE_BUILDDATE\"/g" extra/kipi-plugins/common/libkipiplugins/tools/kpversion.h.cmake
pushd extra/kipi-plugins
# Remove GPL-v2 only files
rm gpssync/borrowed/modeltest.cpp
rm gpssync/borrowed/modeltest.h
popd
%build
%if !0%{?kde_updatedapps}
%cmake_kde4 -d build -- -DENABLE_INTERNALMYSQL=FALSE
%else
%if 0%{?suse_version} < 1210
%cmake_kde4 -d build -- -DDIGIKAMSC_USE_PRIVATE_KDEGRAPHICS:BOOL=1 -DENABLE_INTERNALMYSQL=FALSE
%else
%cmake_kde4 -d build -- -DENABLE_INTERNALMYSQL=FALSE
%endif
%endif
# there are files in there that are so heavy to the compiler, that one is enough
%{__make} -j1 VERBOSE=1
%install
cd build
%kde4_makeinstall
cd ..
# 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 -f %{buildroot}%{_kde4_libdir}/libPropertyBrowser.a
# Fix "wrong-icon-size" rpmlint warning
mogrify -scale 22x22 -background transparent %{buildroot}%{_kde4_iconsdir}/hicolor/22x22/actions/slideshow.png
mogrify -extent 64x64 -background transparent -gravity "center" %{buildroot}%{_kde4_iconsdir}/hicolor/64x64/actions/metadataedit.png
mogrify -extent 128x128 -background transparent -gravity "south" %{buildroot}%{_kde4_iconsdir}/hicolor/128x128/actions/flash.png
%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}
%find_lang libkgeomap libkgeomap.lang
%find_lang kipiplugins kipiplugin.lang
for l in acquireimages advancedslideshow batchprocessimages calendar dngconverter expoblending facebook flashexport flickrexport galleryexport gpssync htmlexport imageviewer ipodexport jpeglossless kioexportimport metadataedit picasawebexport piwigoexport printimages rawconverter removeredeyes sendimages shwup smug timeadjust;
do
%find_lang kipiplugin_$l kipiplugin.lang
done
%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
%post -n libkgeomap1 -p /sbin/ldconfig
%postun -n libkgeomap1 -p /sbin/ldconfig
%post -n libkface1 -p /sbin/ldconfig
%postun -n libkface1 -p /sbin/ldconfig
%post -n libmediawiki1 -p /sbin/ldconfig
%postun -n libmediawiki1 -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%doc core/{AUTHORS,COPYING,COPYING.LIB,ChangeLog,NEWS,README,TODO,TODO.FACE,TODO.MYSQLPORT}
%{_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
%{_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}/digikamalbums.protocol
%{_kde4_servicesdir}/digikamdates.protocol
%{_kde4_servicesdir}/digikamimageplugin_*.desktop
%{_kde4_servicesdir}/digikammapimages.protocol
%{_kde4_servicesdir}/digikamnepomukservice.desktop
%{_kde4_servicesdir}/digikamsearch.protocol
%{_kde4_servicesdir}/digikamtags.protocol
%{_kde4_servicetypesdir}/digikamimageplugin.desktop
%files doc
%defattr(-,root,root,-)
%doc COPYING.DOC
%doc %{_kde4_htmldir}/en/digikam/
%doc %{_kde4_htmldir}/en/showfoto/
%doc %{_kde4_htmldir}/en/kipi-plugins/
%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}/en/digikam
%exclude %{_kde4_htmldir}/en/showfoto
%files -n kipi-plugins
%defattr(-,root,root,-)
%doc extra/kipi-plugins/{AUTHORS,COPYING,COPYING-ADOBE,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_bindir}/dngconverter
%{_kde4_bindir}/dnginfo
%{_kde4_bindir}/expoblending
%{_kde4_bindir}/panoramagui
%{_kde4_bindir}/photolayoutseditor
%{_kde4_configkcfgdir}/PLEConfigSkeleton.kcfgc
%{_kde4_iconsdir}/hicolor/*/actions/*.*
%exclude %{_kde4_iconsdir}/hicolor/*/actions/gpsimagetag.png
%{_kde4_iconsdir}/hicolor/*/apps/dngconverter.*
%{_kde4_iconsdir}/hicolor/*/apps/photolayoutseditor.*
%{_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/*/actions/gpsimagetag.png
%{_kde4_modulesdir}/kipiplugin_gpssync.so
%{_kde4_servicesdir}/kipiplugin_gpssync.desktop
%files -n libkgeomap-devel
%defattr(-,root,root,-)
%doc extra/libkgeomap/{AUTHORS,README}
%{_kde4_appsdir}/cmake/modules/FindKGeoMap.cmake
%{_kde4_includedir}/libkgeomap/
%{_kde4_libdir}/pkgconfig/libkgeomap.pc
%{_kde4_libdir}/libkgeomap.so
%files -n libkgeomap-lang -f libkgeomap.lang
%defattr(-,root,root,-)
%files -n libkgeomap1
%defattr(-,root,root,-)
%{_kde4_appsdir}/libkgeomap/
%{_kde4_libdir}/libkgeomap.so.1*
%files -n libkface1
%defattr(-,root,root,-)
%{_kde4_appsdir}/libkface
%{_kde4_libdir}/libkface.so.1*
%files -n libkface-devel
%defattr(-,root,root,-)
%doc extra/libkface/{AUTHORS,COPYING,README}
%{_kde4_libdir}/libkface.so
%{_kde4_includedir}/libkface/
%{_kde4_libdir}/pkgconfig/libkface.pc
%{_kde4_appsdir}/cmake/modules/FindKface.cmake
%files -n libmediawiki1
%defattr(-,root,root,-)
%{_kde4_libdir}/libmediawiki.so.1*
%files -n libmediawiki-devel
%defattr(-,root,root,-)
%doc extra/libmediawiki/{AUTHORS,COPYING,README}
%{_kde4_includedir}/libmediawiki/
%{_kde4_libdir}/libmediawiki.so
%{_kde4_libdir}/pkgconfig/libmediawiki.pc
%{_kde4_appsdir}/cmake/modules/FindMediawiki.cmake
%if 0%{?kde_updatedapps}
%if 0%{?suse_version} < 1210
%package -n libkdcraw20
Version: 4.7.50
Release: 0
Summary: Shared library interface around dcraw
License: LGPL-2.1+
Group: Development/Libraries/KDE
%requires_ge libqt4-x11
%description -n libkdcraw20
Libkdcraw is a C++ interface around dcraw binary program used to decode
RAW picture files. The library documentation is available on header
files.
This library is used by kipi-plugins, digiKam and others kipi host
programs.
%files -n libkdcraw20
%defattr(-,root,root)
%{_kde4_libdir}/libkdcraw.so.*
%{_kde4_appsdir}/libkdcraw/
%{_kde4_iconsdir}/hicolor/*/apps/kdcraw.png
%post -n libkdcraw20 -p /sbin/ldconfig
%postun -n libkdcraw20 -p /sbin/ldconfig
%package -n libkdcraw-devel
Version: 4.7.50
Release: 0
Summary: Shared library interface around dcraw
License: LGPL-2.1+
Group: Development/Libraries/KDE
Requires: libkdcraw20 = %{version}
%description -n libkdcraw-devel
Libkdcraw is a C++ interface around dcraw binary program used to decode
RAW picture files. The library documentation is available on header
files.
This library is used by kipi-plugins, digiKam and others kipi host
programs.
%files -n libkdcraw-devel
%defattr(-,root,root)
%{_kde4_libdir}/libkdcraw.so
%{_kde4_includedir}/libkdcraw/
%{_kde4_libdir}/pkgconfig/libkdcraw.pc
%package -n libkipi8
Version: 4.7.50
Release: 0
Summary: KDE Image Plug-In Interface
License: BSD-3-Clause ; GPL-2.0+ ; LGPL-2.1+ ; MIT
Group: Development/Libraries/KDE
%requires_ge libqt4-x11
%description -n libkipi8
This package provides a generic KDE image plug-in interface used by
some KDE image applications. Plug-ins for this interface are in the
kipi-plugins package.
%files -n libkipi8
%defattr(-,root,root)
%{_kde4_libdir}/libkipi.so.*
%{_kde4_appsdir}/kipi/
%{_kde4_iconsdir}/hicolor/*/apps/kipi.png
%{_kde4_servicetypesdir}/kipiplugin.desktop
%post -n libkipi8 -p /sbin/ldconfig
%postun -n libkipi8 -p /sbin/ldconfig
%package -n libkipi-devel
Version: 4.7.50
Release: 0
Summary: KDE Image Plugin Interface
License: BSD-3-Clause ; GPL-2.0+ ; LGPL-2.1+ ; MIT
Group: Development/Libraries/KDE
Requires: libkipi8 = %{version}
%description -n libkipi-devel
This package provides a generic KDE Image Plug-in Interface used by
some KDE image applications. Plug-ins for this interface are in the
kipi-plugins package.
%files -n libkipi-devel
%defattr(-,root,root)
%{_kde4_libdir}/libkipi.so
%{_kde4_includedir}/libkipi/
%{_kde4_libdir}/pkgconfig/libkipi.pc
%package -n libkexiv2-10
Version: 4.7.50
Release: 0
Summary: Library to manipulate picture meta data
License: GPL-2.0+
Group: Development/Libraries/KDE
%description -n libkexiv2-10
Libkexiv2 is a wrapper around Exiv2 library to manipulate pictures
metadata.
%files -n libkexiv2-10
%defattr(-,root,root)
%{_kde4_appsdir}/libkexiv2/
%{_kde4_libdir}/libkexiv2.so.*
%package -n libkexiv2-devel
Version: 4.7.50
Release: 0
Summary: Library to manipulate picture meta data
License: GPL-2.0+
Group: Development/Libraries/KDE
Requires: libkexiv2-10 = %{version}
%requires_ge libqt4-x11
%description -n libkexiv2-devel
Libkexiv2 is a wrapper around Exiv2 library to manipulate pictures
metadata.
%files -n libkexiv2-devel
%defattr(-,root,root)
%{_kde4_libdir}/libkexiv2.so
%{_kde4_includedir}/libkexiv2/
%{_kde4_libdir}/pkgconfig/libkexiv2.pc
%post -n libkexiv2-10 -p /sbin/ldconfig
%postun -n libkexiv2-10 -p /sbin/ldconfig
%package -n libksane0
Version: 4.7.50
Release: 0
Summary: KDE scan library
License: GPL-2.0+
Group: Productivity/Graphics/Other
%description -n libksane0
This package contains a library to add scan support to KDE
applications.
%post -n libksane0 -p /sbin/ldconfig
%postun -n libksane0 -p /sbin/ldconfig
%files -n libksane0
%defattr(-,root,root)
%_kde4_libdir/libksane.so.*
%package -n libksane-devel
Version: 4.7.50
Release: 0
Summary: KDE scan library - Development Files
License: GPL-2.0+
Group: Development/Libraries/KDE
Requires: libksane0 = %{version}
%if 0%{?suse_version} > 1130
Requires: sane-backends-devel
%else
Requires: sane-backends
%endif
%description -n libksane-devel
This package contains a library to add scan support to KDE
applications.
%files -n libksane-devel
%defattr(-,root,root)
%{_kde4_includedir}/libksane/
%{_kde4_libdir}/pkgconfig/libksane.pc
%{_kde4_libdir}/libksane.so
%{_kde4_libdir}/cmake/KSane/
%endif
%endif
%changelog