File darktable.spec of Package darktable

#
# spec file for package darktable
#
# Copyright (c) 2015 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:           darktable
Version:        1.6.8
Release:        0
Url:            http://darktable.sourceforge.net
# darktable contains patented code that we cannot ship.  Therefore we use
# this script to remove the patented code before shipping it.
# Download the upstream tarball and invoke this script while in the
# tarball's directory:
# Originial Source:     https://github.com/darktable-org/darktable/releases/download/release-%{version}/darktable-%{version}tar.xz
# ./generate-tarball.sh 
Source0:        %name-%version-nopatents.tar.xz
Source1:        https://github.com/darktable-org/darktable/releases/download/release-1.6.0/darktable-usermanual.pdf
Source2:        README.openSUSE
Source3:        generate-tarball.sh
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

BuildRequires:  cmake
BuildRequires:  dbus-1-glib-devel
BuildRequires:  fdupes
BuildRequires:  gcc-c++
BuildRequires:  intltool
BuildRequires:  lensfun-devel
BuildRequires:  libcolord-devel
BuildRequires:  libjpeg-devel
BuildRequires:  libtiff-devel
BuildRequires:  libxslt
BuildRequires:  pkg-config
BuildRequires:  update-desktop-files
BuildRequires:  pkgconfig(GraphicsMagick)
BuildRequires:  pkgconfig(OpenEXR)
BuildRequires:  pkgconfig(dri)
BuildRequires:  pkgconfig(exiv2)
BuildRequires:  pkgconfig(flickcurl)
BuildRequires:  pkgconfig(gnome-keyring-1)
BuildRequires:  pkgconfig(gtk+-2.0)
BuildRequires:  pkgconfig(json-glib-1.0)
BuildRequires:  pkgconfig(lcms2)
BuildRequires:  pkgconfig(libcurl)
BuildRequires:  pkgconfig(libglade-2.0)
BuildRequires:  pkgconfig(libgphoto2)
BuildRequires:  pkgconfig(libopenjpeg)
BuildRequires:  pkgconfig(librsvg-2.0)
BuildRequires:  pkgconfig(libsoup-2.4)
BuildRequires:  pkgconfig(sdl)
BuildRequires:  pkgconfig(sqlite3)
BuildRequires:  pkgconfig(xrandr)
ExclusiveArch:  %ix86 x86_64

%if 0%{?suse_version} > 1220
BuildRequires:  pkgconfig(libsecret-1)
BuildRequires:  pkgconfig(libwebp)
%endif

%if 0%{?suse_version} < 1315
BuildRequires:  libGraphicsMagick3
%endif

%if 0%{?suse_version} && (0%{?suse_version} > 1210 && 0%{?suse_version} < 1321)
BuildRequires:  lua-devel
%else
BuildRequires:  lua52-devel
%endif

%if 0%{?suse_version} > 1210
BuildRequires:  pkgconfig(libopenjpeg)
%endif

%if 0%{?suse_version} == 1210
BuildRequires:  xz
%endif
# needed for darktable black UI
%if 0%{?suse_version} == 1210
Requires:       gtk2-engines
%endif
%if 0%{?suse_version} > 1210
Requires:       gtk2-engine-clearlooks
%endif

Summary:        A virtual Lighttable and Darkroom
License:        GPL-3.0+
Group:          Productivity/Graphics/Viewers

%description
darktable is a virtual lighttable and darkroom for photographers: it manages
your digital negatives in a database and lets you view them through a zoomable
lighttable. it also enables you to develop raw images and enhance them.

%package doc
Summary:        A virtual Lighttable and Darkroom 
Group:          Productivity/Graphics/Viewers

%description doc
darktable is a virtual lighttable and darkroom for photographers: it manages
your digital negatives in a database and lets you view them through a zoomable
lighttable. it also enables you to develop raw images and enhance them.

This package provides the user manual in pdf format

%prep
%setup -q
chmod -x tools/create_control_svg.sh tools/purge_non_existing_images.sh tools/basecurve/* tools/noise/*

cp %{S:1} darktable-usermanual.pdf
cp %{S:2} .

%build
[ ! -d "build" ] && mkdir  build
cd build

export CFLAGS="%{optflags} -fno-strict-aliasing "
export CXXFLAGS="$CFLAGS"

cmake \
        -DCMAKE_INSTALL_PREFIX=%{_prefix} -DLIB_INSTALL=%{_lib} \
        -DCMAKE_BUILD_TYPE=Release \
        -DBINARY_PACKAGE_BUILD=1  \
        -DUSE_XMLLINT=OFF \
        -DUSE_SQUISH=OFF -DUSE_COLORD=ON -DBUILD_CMSTEST=On \
        ..
%__make %{_smp_mflags} VERBOSE=1

#%%__make -j 1 VERBOSE=1

%install
cd build
%make_install
cd ..
%suse_update_desktop_file darktable
find %{buildroot}%{_libdir} -name "*.la" -delete
%find_lang darktable

%__mkdir_p %{buildroot}%{_defaultdocdir}
%__mv %{buildroot}%{_datadir}/doc/darktable %{buildroot}%{_defaultdocdir}
cp %{S:2} %buildroot%_defaultdocdir/%name/.

%fdupes %{buildroot}

%files -f darktable.lang
%defattr(-,root,root)
%doc doc/AUTHORS doc/TODO doc/LICENSE  tools/purge_non_existing_images.sh tools/create_control_svg.sh tools/noise tools/basecurve README.openSUSE
%{_bindir}/darktable
%{_bindir}/darktable-cltest
%{_bindir}/darktable-cli
%{_bindir}/darktable-viewer
%{_bindir}/darktable-cmstest
%{_libdir}/darktable
%{_datadir}/applications/darktable.desktop
%{_datadir}/darktable
%dir %{_datadir}/appdata
%{_datadir}/appdata/darktable.appdata.xml
%{_datadir}/icons/hicolor/*/apps/darktable*
%{_mandir}/man1/darktable*.1.*

%files doc
%defattr(-,root,root)
%doc darktable-usermanual.pdf

%changelog
openSUSE Build Service is sponsored by