File project.diff of Package darktable
--- _service.orig
+++ _service
@@ -10,10 +10,12 @@
<param name="changesgenerate">enable</param>
<param name="exclude">doc/usermanual.*</param>
</service>
+ <!--
<service mode="buildtime" name="tar"/>
<service mode="buildtime" name="recompress">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
+ -->
<service mode="buildtime" name="set_version"/>
</services>
--- darktable.spec.orig
+++ darktable.spec
@@ -19,6 +19,15 @@
%global desktop_filename org.darktable.darktable
%bcond_with clang
+%if 0%{?suse_version}
+%bcond_with use_ninja
+%else
+%bcond_with use_ninja
+%endif
+
+%if %{with use_ninja}
+%define __builder %{__ninja}
+%endif
%if 0%{?fedora} || 0%{?suse_version} >= 1590
%bcond_with use_intree_lua
@@ -125,9 +134,8 @@ Release: 0
%global pkg_name darktable
%global pkg_version %{version}
URL: http://www.darktable.org/
-Source0: %{pkg_name}-%{version}.tar.xz
-#Source1: %%{name}-%%{version}.tar.xz.asc
-Source2: %{pkg_name}-rpmlintrc
+Source0: _service
+Source1: %{pkg_name}-rpmlintrc
#
Source95: series
Source97: darktable.dsc
@@ -148,6 +156,9 @@ ExclusiveArch: x86_64 aarch64 ppc64le
# /"%%{optimization_architecture}" != ""
%endif
# build time tools
+%if %{with use_ninja}
+BuildRequires: ninja
+%endif
BuildRequires: clang >= 13
BuildRequires: cmake >= 3.18
BuildRequires: fdupes
@@ -161,6 +172,8 @@ BuildRequires: gcc%{?force_gcc_version}
%if 0%{?force_gcc_version}
#!BuildIgnore: libgcc_s1
%endif
+%else
+BuildRequires: lld
%endif
BuildRequires: intltool
BuildRequires: libxslt
@@ -188,7 +201,7 @@ BuildRequires: pkgconfig(pugixml)
#
BuildRequires: pkgconfig
BuildRequires: pkgconfig(ImageMagick)
-BuildRequires: pkgconfig(OpenEXR)
+BuildRequires: (pkgconfig(OpenEXR) if pkgconfig(OpenEXR) >= 3.0)
BuildRequires: pkgconfig(atk)
BuildRequires: pkgconfig(colord)
BuildRequires: pkgconfig(colord-gtk)
@@ -268,6 +281,10 @@ Group: Productivity/Graphics/Vi
Requires: /usr/bin/convert
Requires: dcraw
Requires: exiftool
+Conflicts: otherproviders(darktable-tools-basecurve)
+%if "%{optimization_architecture}" != ""
+Provides: darktable-tools-basecurve = %{version}-%{release}
+%endif
%description tools-basecurve
darktable is a virtual lighttable and darkroom for photographers: it manages
@@ -284,6 +301,10 @@ Group: Productivity/Graphics/Vi
Requires: /usr/bin/convert
Requires: ghostscript
Requires: gnuplot
+Conflicts: otherproviders(darktable-tools-noise)
+%if "%{optimization_architecture}" != ""
+Provides: darktable-tools-noise = %{version}-%{release}
+%endif
%description tools-noise
darktable is a virtual lighttable and darkroom for photographers: it manages
@@ -293,7 +314,8 @@ lighttable. It also enables developing r
This package provides the noise profiling tools to add support for new cameras.
%prep
-%autosetup -p1 -n %{pkg_name}-%{version}
+mv %{_sourcedir}/%{pkg_name}-%{version} %{_builddir}/%{pkg_name}-%{version}
+%autosetup -p1 -D -T 0 -n %{pkg_name}-%{version}
cp %{SOURCE99} .
@@ -330,6 +352,7 @@ export CXX="g++-%{?force_gcc_version}"
%if %{with clang}
export CC="/usr/bin/clang"
export CXX="/usr/bin/clang++"
+%define _lto_cflags -flto
%endif
%if "%{optimization_architecture}" != ""
%if "%{optimization_architecture}" == "asan"