gnu: gtk: Update to 4.4.1.

* gnu/packages/patches/gtk-introspection-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/gtk.scm (gtk): Update to 4.4.1.
[origin]: Apply new patch.
[phases]{pre-check}: Set TZDIR.
[native-inputs]: Add graphene, python-pygobject and tzdata.
This commit is contained in:
Maxim Cournoyer 2021-12-19 23:37:26 -05:00
parent 8b1a6ee69d
commit b78f0cbff4
No known key found for this signature in database
GPG key ID: 1260E46482E63562
3 changed files with 37 additions and 7 deletions

View file

@ -1232,8 +1232,9 @@ dist_patch_DATA = \
%D%/packages/patches/gtk2-theme-paths.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
%D%/packages/patches/gtk-doc-respect-xml-catalog.patch \
%D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
%D%/packages/patches/gtk-doc-respect-xml-catalog.patch \
%D%/packages/patches/gtk-introspection-test.patch \
%D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
%D%/packages/patches/gzdoom-search-in-installed-share.patch \

View file

@ -1059,7 +1059,7 @@ (define-public gtk+
(define-public gtk
(package
(name "gtk")
(version "4.2.1")
(version "4.4.1")
(source
(origin
(method url-fetch)
@ -1067,9 +1067,10 @@ (define-public gtk
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32 "1rh9fd5axf79pmd93hb2fmmflic5swcvqvq6vqghlgz4bmvnjc82"))
(base32 "1x6xlc063nqp7cg6py4kq1kpw9pkq49ifk5kki0brc667ncdmahg"))
(patches
(search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"))))
(search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"
"gtk-introspection-test.patch"))))
(build-system meson-build-system)
(outputs '("out" "bin" "doc"))
(arguments
@ -1122,7 +1123,7 @@ (define-public gtk
(lambda _
(setenv "XDG_CACHE_HOME" (getcwd))))
(add-before 'check 'pre-check
(lambda _
(lambda* (#:key inputs #:allow-other-keys)
;; Tests require a running X server.
(system "Xvfb :1 +extension GLX &")
(setenv "DISPLAY" ":1")
@ -1131,7 +1132,10 @@ (define-public gtk
;; Tests look for those variables.
(setenv "XDG_RUNTIME_DIR" (getcwd))
;; For missing '/etc/machine-id'.
(setenv "DBUS_FATAL_WARNINGS" "0")))
(setenv "DBUS_FATAL_WARNINGS" "0")
;; Required for the calendar test.
(setenv "TZDIR" (search-input-directory inputs
"share/zoneinfo"))))
(add-after 'install 'move-files
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -1166,10 +1170,12 @@ (define-public gtk
("gettext-minimal" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection) ;for building introspection data
("graphene" ,graphene)
("gtk-doc" ,gtk-doc) ;for building documentation
("intltool" ,intltool)
("libxslt" ,libxslt) ;for building man-pages
("pkg-config" ,pkg-config)
("python-pygobject" ,python-pygobject)
;; These python modules are required for building documentation.
("python-jinja2" ,python-jinja2)
("python-markdown" ,python-markdown)
@ -1178,6 +1184,7 @@ (define-public gtk
("python-toml" ,python-toml)
("python-typogrify" ,python-typogrify)
("sassc" ,sassc) ;for building themes
("tzdata" ,tzdata-for-tests)
("vala" ,vala)
("xorg-server-for-tests" ,xorg-server-for-tests)))
(inputs

View file

@ -0,0 +1,22 @@
# Extend rather than stomp environment variables.
# Upstream status: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4268
diff --git a/testsuite/introspection/meson.build b/testsuite/introspection/meson.build
index 6202fb7446..b59191eb0f 100644
--- a/testsuite/introspection/meson.build
+++ b/testsuite/introspection/meson.build
@@ -1,9 +1,10 @@
+env = environment()
+env.prepend('GI_TYPELIB_PATH',
+ join_paths(project_build_root, 'gtk'),
+ gi_dep.get_pkgconfig_variable('typelibdir'))
+env.prepend('LD_PRELOAD', join_paths(project_build_root, 'gtk', 'libgtk-4.so'))
test('api',
find_program('api.py', dirs: meson.current_source_dir()),
suite: ['introspection'],
- env: [
- 'GI_TYPELIB_PATH=@0@/gtk:@1@'.format(project_build_root,
- gi_dep.get_pkgconfig_variable('typelibdir')),
- 'LD_PRELOAD=@0@/gtk/libgtk-4.so'.format(project_build_root),
- ])
+ env: env)