summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-04-07 16:41:25 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-04-07 16:54:06 -0400
commit3c64b76d60f7630209a25fc29259957bfae4da85 (patch)
treeaa64c64f00428df4d8db3a978429b6e624873d09 /gnu/packages
parent5f118cc51cd1c454bac6f553df603a1a3342cc6c (diff)
downloadguix-3c64b76d60f7630209a25fc29259957bfae4da85.tar.gz
gnu: gtk+: Update to 3.24.30.
This fixes <https://gitlab.gnome.org/GNOME/adwaita-icon-theme/-/issues/184>,
which was visible for applications using legacy GTK+ icons such as Grsync.

* gnu/packages/gtk.scm (gtk+): Update to 3.24.30.
[outputs]: New field, removing inherited "doc" output.
[build-system]: Use meson-build-system.
[native-inputs]: Replace docbook-xml-4.1.2 with docbook-xml-4.3.  Add
docbook-xsl.  Remove perl.
[arguments]: Adjust #:imported-modules and #:modules according to build system
change.  Migrate #:configure-flags to Meson options.  Add #:test-options
argument.  Update disable-failing-tests phase.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/gtk.scm63
1 files changed, 29 insertions, 34 deletions
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 93dad032cd..ecb86eebea 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -24,7 +24,7 @@
 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
-;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
 ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
@@ -985,7 +985,7 @@ application suites.")
   (package
     (inherit gtk+-2)
     (name "gtk+")
-    (version "3.24.30")
+    (version "3.24.37")
     (source
      (origin
        (method url-fetch)
@@ -994,9 +994,13 @@ application suites.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "1a9vg840fjq1mmm403b67k624qrkxh9shaz9pv7z9l8a6bzvyxds"))
+         "0mvzzgjrzzir7nzx379yz3swzk3pn1s283hgzm8l2yakq2sg0ib7"))
        (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
                                 "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
+    ;; There is no "doc" output, because adding gtk-doc here would introduce a
+    ;; dependency cycle with itself.
+    (outputs '("out" "bin"))
+    (build-system meson-build-system)
     (propagated-inputs
      (list at-spi2-core
            cairo
@@ -1032,12 +1036,12 @@ application suites.")
            libxml2
            rest))
     (native-inputs
-     (list docbook-xml-4.1.2
+     (list docbook-xml-4.3
+           docbook-xsl
            gettext-minimal
            `(,glib "bin")
            gobject-introspection
            hicolor-icon-theme
-           perl
            pkg-config
            python-wrapper
            sassc
@@ -1048,43 +1052,34 @@ application suites.")
     (arguments
      (list
       #:imported-modules `((guix build glib-or-gtk-build-system)
-                           ,@%gnu-build-system-modules)
+                           ,@%meson-build-system-modules)
       #:modules '((guix build utils)
-                  (guix build gnu-build-system)
+                  (guix build meson-build-system)
                   ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:))
       #:disallowed-references (list xorg-server-for-tests)
-      ;; 47 MiB goes to "out" (24 of which is locale data!), and 26 MiB goes
-      ;; to "doc".
-      #:configure-flags #~(list (string-append "--with-html-dir="
-                                               #$output "/share/gtk-doc/html")
-                                "--enable-cloudproviders"
-                                ;; The header file <gdk/gdkwayland.h> is required
-                                ;; by gnome-control-center
-                                "--enable-wayland-backend"
-                                ;; This is necessary to build both backends.
-                                "--enable-x11-backend"
-                                ;; This enables the HTML5 websocket backend.
-                                "--enable-broadway-backend")
+      #:configure-flags
+      #~(list "-Dcloudproviders=true"   ;for cloud-providers support
+              "-Dcolord=yes"            ;for color printing support
+              "-Dbroadway_backend=true"
+              "-Dman=true")
+      ;; Use the same test options as upstream uses for their CI (see the
+      ;; .gitlab-ci/run-tests.sh file).
+      #:test-options '(list "--suite=gtk"
+                            "--no-suite=failing"
+                            "--no-suite=flaky"
+                            "--no-suite=gsk-compare-broadway")
       #:phases
       #~(modify-phases %standard-phases
+          (add-after 'unpack 'disable-failing-tests
+            (lambda _
+              ;; These tests fail only in the containerized environment, for
+              ;; unknown reasons.
+              (substitute* "testsuite/gtk/meson.build"
+                ((".*\\['defaultvalue'],.*") "")
+                ((".*\\['objects-finalize',.*") ""))))
           (add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
             (assoc-ref glib-or-gtk:%standard-phases
                        'generate-gdk-pixbuf-loaders-cache-file))
-          (add-after 'unpack 'disable-failing-tests
-            (lambda _
-              (substitute* "testsuite/gtk/Makefile.in"
-                (("builderparser cellarea check-icon-names check-cursor-names")
-                 "builderparser cellarea check-cursor-names")
-                (("notify no-gtk-init object objects-finalize papersize rbtree")
-                 "no-gtk-init papersize rbtree")
-                (("stylecontext templates textbuffer textiter treemodel treepath")
-                 "stylecontext textbuffer textiter treemodel treepath"))
-              (substitute* "testsuite/a11y/Makefile.in"
-                (("accessibility-dump tree-performance text children derive")
-                 "tree-performance text children derive"))
-              (substitute* "testsuite/reftests/Makefile.in"
-                (("TEST_PROGS = gtk-reftest")
-                 "TEST_PROGS = "))))
           (add-before 'check 'pre-check
             (lambda _
               ;; Tests require a running X server.