File darktable.spec of Package mingw32-darktable

#
# spec file for package darktable
#
# Copyright (c) 2014 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:           mingw32-darktable
Version:        1.6.7
Release:        0
Summary:        A virtual Lighttable and Darkroom
License:        GPL-3.0-or-later
Group:          Productivity/Graphics/Viewers
Url:            http://darktable.sf.net/

# [[ this spec derived from multimedia:photo/darktable ]]
# 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 
Source:         darktable-%version-nopatents.tar.xz
Source2:        https://github.com/darktable-org/darktable/releases/download/release-1.6.0/darktable-usermanual.pdf
Source3:        README.openSUSE
Source4:        generate-tarball.sh
Patch1:         dt-port.diff
Patch2:         darktable-1.6.7-perlinc.patch

BuildRequires:  mingw32-cross-cmake
BuildRequires:  intltool
BuildRequires:  libxslt-tools
BuildRequires:  mingw32-cross-gcc-c++
BuildRequires:  mingw32-cross-pkg-config
BuildRequires:  xz
BuildRequires:  mingw32-boost-devel
BuildRequires:  mingw32(pkg:exiv2)
BuildRequires:  mingw32-libexpat-devel
BuildRequires:  mingw32-win_iconv-devel
BuildRequires:  mingw32(pkg:libcurl)
BuildRequires:  mingw32(pkg:gio-2.0)
BuildRequires:  mingw32(pkg:glib-2.0) >= 2.30
BuildRequires:  mingw32(pkg:gmodule-2.0)
BuildRequires:  mingw32(pkg:gthread-2.0)
BuildRequires:  mingw32(pkg:gtk+-2.0) >= 2.24
BuildRequires:  mingw32(pkg:lensfun)
BuildRequires:  mingw32(pkg:librsvg-2.0)
BuildRequires:  mingw32(pkg:libsoup-2.4)
BuildRequires:  mingw32(pkg:libwebp)
BuildRequires:  mingw32-dbus-1-glib-devel
BuildRequires:  mingw32(pkg:libxml-2.0) >= 2.6
BuildRequires:  mingw32(pkg:sqlite3)
BuildRequires:  mingw32-libintl-devel
BuildRequires:  mingw32-libjpeg-devel
BuildRequires:  mingw32-libtiff-devel
BuildRequires:  mingw32(pkg:lcms2)
BuildRequires:  mingw32(pkg:json-glib-1.0)
#BuildRequires:  mingw32(pkg:sdl)
BuildRequires:  mingw32(pkg:libopenjpeg)
%_mingw32_package_header_debug
BuildArch:       noarch
#!BuildIgnore:   -post-build-checks

%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

%_mingw32_debug_package

%prep
%setup -qn darktable-%version
%patch -P 1 -p1
%patch -P 2 -p1

%build
chmod -x tools/create_control_svg.sh tools/purge_non_existing_images.sh tools/basecurve/* tools/noise/*
cp %{S:2} darktable-usermanual.pdf
cp %{S:3} .
[ ! -d "build" ] && mkdir  build
cd build

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

%_mingw32_cmake \
	-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
        -DCMAKE_BUILD_TYPE=Release \
        -DBINARY_PACKAGE_BUILD=1  \
        -DUSE_XMLLINT=OFF \
        -DUSE_SQUISH=OFF -DUSE_COLORD=ON -DBUILD_CMSTEST=On -DVERBOSE=1 \
        ..
%_mingw32_cmake_build

%install
pushd build/
%make_install
popd
# no headers
rm -f "%buildroot/%_mingw32_bindir/libdarktable.dll.a"
%find_lang darktable

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

%files -f darktable.lang
%defattr(-,root,root)
%doc doc/AUTHORS doc/TODO doc/LICENSE tools/purge_non_existing_images.sh
%doc tools/create_control_svg.sh tools/noise tools/basecurve README.openSUSE
%_mingw32_bindir/darktable*.exe
%_mingw32_bindir/libdarktable.dll
%dir %_mingw32_libdir/darktable
%dir %_mingw32_libdir/darktable/plugins
%dir %_mingw32_libdir/darktable/plugins/imageio
%dir %_mingw32_libdir/darktable/plugins/imageio/format
%dir %_mingw32_libdir/darktable/plugins/imageio/storage
%dir %_mingw32_libdir/darktable/plugins/lighttable
%dir %_mingw32_libdir/darktable/views
%_mingw32_libdir/darktable/plugins/imageio/format/*.dll
%_mingw32_libdir/darktable/plugins/imageio/storage/*.dll
%_mingw32_libdir/darktable/plugins/*.dll
%_mingw32_libdir/darktable/plugins/lighttable/*.dll
%_mingw32_libdir/darktable/views/*.dll
%_mingw32_datadir/appdata/
%_mingw32_datadir/applications/
%_mingw32_datadir/darktable/
%_mingw32_datadir/icons/
%_mingw32_mandir/man1/darktable*.1.*

%files doc
%defattr(-,root,root)
%_mingw32_docdir/darktable/
openSUSE Build Service is sponsored by