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"
openSUSE Build Service is sponsored by