Subject: [bug#73301] [PATCH 3/4] gnu: gtk: Update to 4.16.1.

From: Liliana Marie Prikler <[email-masked]>
Date: Sun, 15 Sep 2024 00:33:55 +0200

* gnu/packages/gtk.scm (gtk): Update to 4.16.1.
[arguments]<#:configure-flags>: Replace “-Dgtk_doc=…” with
“-Ddocumentation=true”.
<#:test-options>: Add “--no-suite=needs-udmabuf”.
<#:phases>: Adjust patches for failing tests.
[inputs]: Replace wayland-protocols with wayland-protocols-next.
---
 gnu/packages/gtk.scm | 34 ++++++++--------------------------
 1 file changed, 8 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 8945fb98ae..5733749a72 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1141,7 +1141,7 @@ (define-public gtk+
 (define-public gtk
   (package
     (name "gtk")
-    (version "4.14.5")
+    (version "4.16.1")
     (source
      (origin
        (method url-fetch)
@@ -1149,7 +1149,7 @@ (define-public gtk
                            (version-major+minor version)  "/"
                            name "-" version ".tar.xz"))
        (sha256
-        (base32 "0kg286za53qhl6ngw4rrvbpm3q04g30qf2q77sck7c86y2wz4ism"))
+        (base32 "0p11k5afy3g9d6p402zrn9izkypwzlb51y9qanibzyc1sjmiwslj"))
        (patches
         (search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"))
        (modules '((guix build utils)))))
@@ -1166,11 +1166,7 @@ (define-public gtk
          "-Dcloudproviders=enabled"     ;for cloud-providers support
          "-Dtracker=enabled"            ;for filechooser search support
          "-Dcolord=enabled"             ;for color printing support
-         #$@(if (%current-target-system)
-                ;; If true, gtkdoc-scangobj will try to execute a
-                ;; cross-compiled binary.
-                '("-Dgtk_doc=false")
-                '("-Dgtk_doc=true"))
+         "-Ddocumentation=true"
          "-Dman-pages=true")
       #:test-options #~(list "--setup=x11" ;defaults to wayland
                              ;; Use the same test options as upstream uses for
@@ -1180,6 +1176,7 @@ (define-public gtk
                              "--no-suite=flaky"
                              "--no-suite=headless" ; requires mutter…
                              "--no-suite=gsk-compare-broadway"
+                             "--no-suite=needs-udmabuf"
                              ;; These seem to fail on aarch64, and Debian has
                              ;; also disabled these, see:
                              ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050075
@@ -1219,29 +1216,14 @@ (define-public gtk
                 (("[ \t]*'empty-text.node',") "")
                 (("[ \t]*'testswitch.node',") "")
                 (("[ \t]*'widgetfactory.node',") "")
-                ;; The unaligned-offscreen test fails for unknown reasons, also
-                ;; on different distributions (see:
-                ;; https://gitlab.gnome.org/GNOME/gtk/-/issues/4889).
-                (("  'unaligned-offscreen',") "")
                 ;; This test, 'gtk:tools / validate', started failing for
                 ;; unknown reasons after updating mesa to 23.3.1 and xorgproto
                 ;; to 2023.2.
                 ((" 'validate',") "")
-                ;; XXX: These test failures come newly from 4.14.
-                ;; Not all of them are reported upstream yet, but the text nodes
-                ;; are mentioned in
-                ;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/6647>.
-                (("'glyph-subpixel-position',") "")
-                (("'subpixel-positioning',") "")
-                (("'subpixel-positioning-hidpi-nogl-nocairo',") "")
-                (("'text.*\\.node',") "")
-                (("'text-mixed-color-colrv1',") ""))
+                ;; XXX: Figure out why this fails and report upstream.
+                ((".*'memorytexture',.*") ""))
               (substitute* "testsuite/reftests/meson.build"
-                (("[ \t]*'label-wrap-justify.ui',") "")
-                ;; The inscription-markup.ui fails due to /etc/machine-id
-                ;; related warnings (see:
-                ;; https://gitlab.gnome.org/GNOME/gtk/-/issues/5169).
-                (("[ \t]*'inscription-markup.ui',") ""))
+                (("[ \t]*'label-wrap-justify.ui',") ""))
               ;; These tests fail on an Apple M1 (aarch64) with the following errors:
               ;; - MESA: error: ZINK: failed to choose pdev
               ;; - libEGL warning: egl: failed to create dri2 screen
@@ -1391,7 +1373,7 @@ (define-public gtk
            vulkan-headers
            vulkan-loader                ;for vulkan graphics API support
            wayland                      ;for wayland display-backend
-           wayland-protocols))
+           wayland-protocols-next))
     (native-search-paths
      (list
       (search-path-specification
-- 
2.46.0