summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk5
-rw-r--r--gnu/packages/gtk.scm17
-rw-r--r--gnu/packages/patches/gtk-introspection-test.patch22
3 files changed, 37 insertions, 7 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index aa679ee6c7..86c1e57aa4 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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 \
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 77b348d18d..58e428c921 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1059,7 +1059,7 @@ application suites.")
(define-public gtk
(package
(name "gtk")
- (version "4.2.1")
+ (version "4.4.1")
(source
(origin
(method url-fetch)
@@ -1067,9 +1067,10 @@ application suites.")
(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 @@ application suites.")
(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 @@ application suites.")
;; 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 @@ application suites.")
("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 @@ application suites.")
("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
diff --git a/gnu/packages/patches/gtk-introspection-test.patch b/gnu/packages/patches/gtk-introspection-test.patch
new file mode 100644
index 0000000000..570ea806a9
--- /dev/null
+++ b/gnu/packages/patches/gtk-introspection-test.patch
@@ -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)