Archived
1
0
Fork 0

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.
This commit is contained in:
Maxim Cournoyer 2023-04-07 16:41:25 -04:00
parent 5f118cc51c
commit 3c64b76d60
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -24,7 +24,7 @@
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; 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 Leo Famulari <leo@famulari.name>
;;; Copyright © 2021 Simon Streit <simon@netpanic.org> ;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
@ -985,7 +985,7 @@ application suites.")
(package (package
(inherit gtk+-2) (inherit gtk+-2)
(name "gtk+") (name "gtk+")
(version "3.24.30") (version "3.24.37")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -994,9 +994,13 @@ application suites.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1a9vg840fjq1mmm403b67k624qrkxh9shaz9pv7z9l8a6bzvyxds")) "0mvzzgjrzzir7nzx379yz3swzk3pn1s283hgzm8l2yakq2sg0ib7"))
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch" (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.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 (propagated-inputs
(list at-spi2-core (list at-spi2-core
cairo cairo
@ -1032,12 +1036,12 @@ application suites.")
libxml2 libxml2
rest)) rest))
(native-inputs (native-inputs
(list docbook-xml-4.1.2 (list docbook-xml-4.3
docbook-xsl
gettext-minimal gettext-minimal
`(,glib "bin") `(,glib "bin")
gobject-introspection gobject-introspection
hicolor-icon-theme hicolor-icon-theme
perl
pkg-config pkg-config
python-wrapper python-wrapper
sassc sassc
@ -1048,43 +1052,34 @@ application suites.")
(arguments (arguments
(list (list
#:imported-modules `((guix build glib-or-gtk-build-system) #:imported-modules `((guix build glib-or-gtk-build-system)
,@%gnu-build-system-modules) ,@%meson-build-system-modules)
#:modules '((guix build utils) #: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:)) ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:))
#:disallowed-references (list xorg-server-for-tests) #:disallowed-references (list xorg-server-for-tests)
;; 47 MiB goes to "out" (24 of which is locale data!), and 26 MiB goes #:configure-flags
;; to "doc". #~(list "-Dcloudproviders=true" ;for cloud-providers support
#:configure-flags #~(list (string-append "--with-html-dir=" "-Dcolord=yes" ;for color printing support
#$output "/share/gtk-doc/html") "-Dbroadway_backend=true"
"--enable-cloudproviders" "-Dman=true")
;; The header file <gdk/gdkwayland.h> is required ;; Use the same test options as upstream uses for their CI (see the
;; by gnome-control-center ;; .gitlab-ci/run-tests.sh file).
"--enable-wayland-backend" #:test-options '(list "--suite=gtk"
;; This is necessary to build both backends. "--no-suite=failing"
"--enable-x11-backend" "--no-suite=flaky"
;; This enables the HTML5 websocket backend. "--no-suite=gsk-compare-broadway")
"--enable-broadway-backend")
#:phases #:phases
#~(modify-phases %standard-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 (add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
(assoc-ref glib-or-gtk:%standard-phases (assoc-ref glib-or-gtk:%standard-phases
'generate-gdk-pixbuf-loaders-cache-file)) '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 (add-before 'check 'pre-check
(lambda _ (lambda _
;; Tests require a running X server. ;; Tests require a running X server.