Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package darktable for openSUSE:Factory 
checked in at 2026-06-27 18:07:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/darktable (Old)
 and      /work/SRC/openSUSE:Factory/.darktable.new.11887 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "darktable"

Sat Jun 27 18:07:10 2026 rev:120 rq:1361901 version:5.6.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/darktable/darktable.changes      2026-02-06 
19:17:03.169040580 +0100
+++ /work/SRC/openSUSE:Factory/.darktable.new.11887/darktable.changes   
2026-06-27 18:09:31.422928710 +0200
@@ -1,0 +2,30 @@
+Wed Jun 24 11:31:19 UTC 2026 - Paolo Stivanin <[email protected]>
+
+- Add darktable-link-wayland-client.patch: link libwayland-client
+  explicitly into lib_darktable. Fixes the "undefined reference to
+  wl_display_roundtrip" link failure of libdarktable.so under
+  --as-needed/LTO (gtk.c server-side-decoration detection added in
+  5.6.0 calls libwayland-client directly).
+- Debian/Ubuntu build fixes for 5.6.0:
+  * Add missing Build-Depends libpotrace-dev and libxml2-dev
+    (cmake find_package(Potrace/LibXml2 REQUIRED) aborted configure).
+  * Add libwayland-dev (gtk.c now includes wayland-client.h) and
+    apply darktable-link-wayland-client.patch via debian/patches/series
+    so the deb build links libwayland-client too.
+
+-------------------------------------------------------------------
+Wed Jun 24 09:40:00 UTC 2026 - Paolo Stivanin <[email protected]>
+
+- Disable AI/ONNX support by default  sincen onnxruntime package
+  is present in the repo.
+- Add a "--with ai" build conditional (x86_64) wired to a future
+  system onnxruntime package, so AI can be enabled once ONNX Runtime
+  is available in Factory
+
+-------------------------------------------------------------------
+Mon Jun 22 13:36:15 UTC 2026 - Paolo Stivanin <[email protected]>
+
+- Update to 5.6.0:
+  * https://www.darktable.org/2026/06/darktable-5.6.0-released/
+
+-------------------------------------------------------------------

Old:
----
  darktable-5.4.1.tar.xz
  darktable-5.4.1.tar.xz.asc

New:
----
  darktable-5.6.0.tar.xz
  darktable-5.6.0.tar.xz.asc
  darktable-link-wayland-client.patch

----------(New B)----------
  New:
- Add darktable-link-wayland-client.patch: link libwayland-client
  explicitly into lib_darktable. Fixes the "undefined reference to
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ darktable.spec ++++++
--- /var/tmp/diff_new_pack.5QUXj0/_old  2026-06-27 18:09:32.294958241 +0200
+++ /var/tmp/diff_new_pack.5QUXj0/_new  2026-06-27 18:09:32.294958241 +0200
@@ -90,6 +90,23 @@
 
 %bcond_without  openmp
 
+# AI features need ONNX Runtime. openSUSE has no onnxruntime package yet and
+# bundling upstream's prebuilt binary is not allowed in Factory, so AI is OFF 
by
+# default. Enable later on x86_64 with: rpmbuild/osc ... --with ai
+%bcond_with ai
+
+%ifarch x86_64
+%global _ai_arch_ok 1
+%else
+%global _ai_arch_ok 0
+%endif
+
+%if %{with ai} && 0%{?_ai_arch_ok}
+%global _use_ai "ON"
+%else
+%global _use_ai "OFF"
+%endif
+
 %if %{with openmp}
 %global _use_openmp "ON"
 %else
@@ -119,28 +136,33 @@
 %endif
 
 Name:           darktable
-Version:        5.4.1
+Version:        5.6.0
 Release:        0
 %global pkg_name darktable
 %global pkg_version %{version}
 URL:            http://www.darktable.org/
 Source0:        
https://github.com/darktable-org/darktable/releases/download/release-%{version}/%{pkg_name}-%{version}.tar.xz
 Source1:        
https://github.com/darktable-org/darktable/releases/download/release-%{version}/%{pkg_name}-%{version}.tar.xz.asc
-Source2:        %{pkg_name}-rpmlintrc
-Source3:        %{pkg_name}.keyring
+Source3:        %{pkg_name}-rpmlintrc
+Source4:        %{pkg_name}.keyring
 #
 Source97:       darktable.dsc
 Source98:       debian.tar.xz
 Source99:       README.openSUSE
 #
 Patch0:         darktable-rawspeed-build-type-override.patch
+# Link libwayland-client explicitly (gtk.c SSD detection calls it directly;
+# --as-needed/LTO drop the transitive dep). Upstreamable.
+Patch1:         darktable-link-wayland-client.patch
 #
 ExclusiveArch:  x86_64 aarch64 ppc64le
 # build time tools
 BuildRequires:  clang >= 13
 BuildRequires:  cmake >= 3.18
 BuildRequires:  fdupes
+BuildRequires:  libarchive-devel
 BuildRequires:  llvm-devel
+BuildRequires:  potrace-devel
 %if 0%{?fedora}
 BuildRequires:  llvm-static
 %endif
@@ -179,6 +201,7 @@
 BuildRequires:  pkgconfig(colord-gtk)
 BuildRequires:  pkgconfig(exiv2)
 BuildRequires:  pkgconfig(libopenjp2)
+BuildRequires:  pkgconfig(wayland-client)
 %if %{with flickcurl}
 BuildRequires:  pkgconfig(flickcurl)
 %endif
@@ -225,11 +248,23 @@
 %if %{with avif}
 BuildRequires:  libavif-devel >= 0.9.0
 %endif
+%if %{with ai} && 0%{?_ai_arch_ok}
+# Factory-compliant ONNX Runtime: requires a system onnxruntime package.
+# NOTE: confirm the exact -devel and runtime library package names against the
+# onnxruntime package once it exists in Factory before enabling AI.
+BuildRequires:  onnxruntime-devel
+%endif
 BuildRequires:  portmidi-devel
 
 # for the sake of simplicity we do not enforce the version here
 # the package is small enough that installing it doesnt hurt
 Requires:       iso-codes
+%if %{with ai} && 0%{?_ai_arch_ok}
+# darktable dlopen()s libonnxruntime at runtime (ORT_LAZY_LOAD), so RPM's
+# automatic dependency generator will NOT pick it up — require it explicitly.
+# Runtime soname package (sover may bump with future onnxruntime releases).
+Requires:       libonnxruntime1
+%endif
 #
 # Some CSS themes suggest to use the the Roboto font family
 # https://github.com/darktable-org/darktable/releases/tag/release-3.0.0
@@ -310,6 +345,8 @@
    -DUSE_AVIF="%{_use_avif}" \\\
    -DDONT_USE_INTERNAL_LIBRAW="%{_use_system_libraw}" \\\
    -DBUILD_NOISE_TOOLS=ON \\\
+   -DUSE_AI="%{_use_ai}" \\\
+   -DONNXRUNTIME_OFFLINE=ON \\\
    -DBUILD_CURVE_TOOLS=ON
 
 %if 0%{?force_gcc_version}

++++++ darktable-5.4.1.tar.xz -> darktable-5.6.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/darktable/darktable-5.4.1.tar.xz 
/work/SRC/openSUSE:Factory/.darktable.new.11887/darktable-5.6.0.tar.xz differ: 
char 15, line 1

++++++ darktable-link-wayland-client.patch ++++++
darktable 5.6.0 added server-side decoration (SSD) detection in
src/gui/gtk.c that calls libwayland-client directly (wl_display_get_registry,
wl_registry_add_listener, wl_display_roundtrip, wl_registry_interface) when GTK
is built with the Wayland backend. No CMake file links wayland-client, so under
-Wl,--as-needed / LTO the symbols are not resolved transitively through GTK and
linking libdarktable.so fails with "undefined reference to 
wl_display_roundtrip".

Link wayland-client explicitly when the GTK Wayland backend is present. Gated on
gtk+-wayland-3.0, mirroring the GDK_WINDOWING_WAYLAND guard in the C source.

Index: src/CMakeLists.txt
===================================================================
--- darktable.orig/src/CMakeLists.txt
+++ darktable/src/CMakeLists.txt
@@ -314,6 +314,20 @@ find_package(GTK3 3.24.15 REQUIRED)
 #add_definitions("-DGDK_VERSION_MAX_ALLOWED=GDK_VERSION_MIN_REQUIRED")
 include_directories(SYSTEM ${GTK3_INCLUDE_DIRS})
 list(APPEND LIBS ${GTK3_LIBRARIES})
+
+# When GTK is built with the Wayland backend, src/gui/gtk.c calls
+# libwayland-client directly (server-side decoration detection). Under
+# -Wl,--as-needed / LTO these symbols are not resolved transitively through
+# GTK, so link wayland-client explicitly. Gated on gtk+-wayland-3.0, which
+# mirrors the GDK_WINDOWING_WAYLAND guard in the C source.
+if(NOT WIN32 AND NOT APPLE)
+  pkg_check_modules(GTK3_WAYLAND QUIET gtk+-wayland-3.0)
+  if(GTK3_WAYLAND_FOUND)
+    pkg_check_modules(WAYLAND_CLIENT REQUIRED wayland-client)
+    include_directories(SYSTEM ${WAYLAND_CLIENT_INCLUDE_DIRS})
+    list(APPEND LIBS ${WAYLAND_CLIENT_LIBRARIES})
+  endif()
+endif()
 
 # Check for libxml2 / broken cmake module can't be included in the foreach() 
below
 find_package(LibXml2 2.6 REQUIRED)

++++++ darktable.dsc ++++++
--- /var/tmp/diff_new_pack.5QUXj0/_old  2026-06-27 18:09:32.406962033 +0200
+++ /var/tmp/diff_new_pack.5QUXj0/_new  2026-06-27 18:09:32.410962169 +0200
@@ -4,7 +4,7 @@
 Priority: optional
 Binary: darktable darktable-tools-basecurve darktable-tools-noise
 Architecture: any-amd64 any-arm64 any-ppc64el
-Version: 5.4.1-1.1
+Version: 5.6.0-1.1
 Homepage: http://www.darktable.org/
 #               libavif-dev (>= 0.9.1),
 Build-Depends: cmake (>= 3.18),
@@ -38,6 +38,7 @@
                libosmgpsmap-1.0-dev,
                libpng-dev,
                libportmidi-dev,
+               libpotrace-dev,
                libpugixml-dev,
                librsvg2-dev,
                libsdl2-dev,
@@ -45,7 +46,9 @@
                libsoup-3.0-dev,
                libsqlite3-dev,
                libtiff-dev,
+               libwayland-dev,
                libwebp-dev,
+               libxml2-dev,
                lsb-release,
                xsltproc
 Standards-Version: 3.9.8


++++++ debian.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/debian/changelog new/debian/changelog
--- old/debian/changelog        2026-02-06 10:11:08.000000000 +0100
+++ new/debian/changelog        2026-06-22 15:36:01.000000000 +0200
@@ -1,9 +1,13 @@
+darktable (5.6.0-1.1) experimental; urgency=medium
+
+  * Update to version 5.6.0
+    https://www.darktable.org/2026/06/darktable-5.6.0-released/
+
 darktable (5.4.1-1.1) experimental; urgency=medium
 
   * Update to version 5.4.1
     https://www.darktable.org/2026/02/darktable-5.4.1-released/
 
-
 darktable (5.4.0-1.1) experimental; urgency=medium
 
   * Update to version 5.4.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/debian/control new/debian/control
--- old/debian/control  2026-02-06 10:13:54.000000000 +0100
+++ new/debian/control  2026-06-24 15:44:38.236559764 +0200
@@ -35,6 +35,7 @@
                libosmgpsmap-1.0-dev,
                libpng-dev,
                libportmidi-dev,
+               libpotrace-dev,
                libpugixml-dev,
                librsvg2-dev,
                libsdl2-dev,
@@ -42,7 +43,9 @@
                libsoup-3.0-dev,
                libsqlite3-dev,
                libtiff-dev,
+               libwayland-dev,
                libwebp-dev,
+               libxml2-dev,
                lsb-release,
                xsltproc
 Standards-Version: 4.8.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/debian/darktable.install new/debian/darktable.install
--- old/debian/darktable.install        2025-12-22 08:38:13.000000000 +0100
+++ new/debian/darktable.install        2026-06-26 13:26:23.647651043 +0200
@@ -11,6 +11,7 @@
 /usr/share/darktable/kernels/
 /usr/share/darktable/latex/
 /usr/share/darktable/lua/
+/usr/share/darktable/lua-scripts/
 /usr/share/darktable/pixmaps/
 /usr/share/darktable/pswp/
 /usr/share/darktable/rawspeed/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/debian/patches/darktable-link-wayland-client.patch 
new/debian/patches/darktable-link-wayland-client.patch
--- old/debian/patches/darktable-link-wayland-client.patch      1970-01-01 
01:00:00.000000000 +0100
+++ new/debian/patches/darktable-link-wayland-client.patch      2026-06-24 
15:45:30.991899430 +0200
@@ -0,0 +1,35 @@
+darktable 5.6.0 added server-side decoration (SSD) detection in
+src/gui/gtk.c that calls libwayland-client directly (wl_display_get_registry,
+wl_registry_add_listener, wl_display_roundtrip, wl_registry_interface) when GTK
+is built with the Wayland backend. No CMake file links wayland-client, so under
+-Wl,--as-needed / LTO the symbols are not resolved transitively through GTK and
+linking libdarktable.so fails with "undefined reference to 
wl_display_roundtrip".
+
+Link wayland-client explicitly when the GTK Wayland backend is present. Gated 
on
+gtk+-wayland-3.0, mirroring the GDK_WINDOWING_WAYLAND guard in the C source.
+
+Index: src/CMakeLists.txt
+===================================================================
+--- darktable.orig/src/CMakeLists.txt
++++ darktable/src/CMakeLists.txt
+@@ -314,6 +314,20 @@ find_package(GTK3 3.24.15 REQUIRED)
+ #add_definitions("-DGDK_VERSION_MAX_ALLOWED=GDK_VERSION_MIN_REQUIRED")
+ include_directories(SYSTEM ${GTK3_INCLUDE_DIRS})
+ list(APPEND LIBS ${GTK3_LIBRARIES})
++
++# When GTK is built with the Wayland backend, src/gui/gtk.c calls
++# libwayland-client directly (server-side decoration detection). Under
++# -Wl,--as-needed / LTO these symbols are not resolved transitively through
++# GTK, so link wayland-client explicitly. Gated on gtk+-wayland-3.0, which
++# mirrors the GDK_WINDOWING_WAYLAND guard in the C source.
++if(NOT WIN32 AND NOT APPLE)
++  pkg_check_modules(GTK3_WAYLAND QUIET gtk+-wayland-3.0)
++  if(GTK3_WAYLAND_FOUND)
++    pkg_check_modules(WAYLAND_CLIENT REQUIRED wayland-client)
++    include_directories(SYSTEM ${WAYLAND_CLIENT_INCLUDE_DIRS})
++    list(APPEND LIBS ${WAYLAND_CLIENT_LIBRARIES})
++  endif()
++endif()
+ 
+ # Check for libxml2 / broken cmake module can't be included in the foreach() 
below
+ find_package(LibXml2 2.6 REQUIRED)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/debian/patches/series new/debian/patches/series
--- old/debian/patches/series   1970-01-01 01:00:00.000000000 +0100
+++ new/debian/patches/series   2026-06-24 15:45:30.991917207 +0200
@@ -0,0 +1 @@
+darktable-link-wayland-client.patch

Reply via email to