summary refs log tree commit diff
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)