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
