aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/gtk.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/gtk.scm')
-rw-r--r--gnu/packages/gtk.scm73
1 files changed, 41 insertions, 32 deletions
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 47d4c1808f..67611efaae 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -106,6 +106,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages sphinx)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
@@ -361,7 +362,7 @@ applications.")
(define-public pango
(package
(name "pango")
- (version "1.50.10")
+ (version "1.50.14")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/pango/"
@@ -370,7 +371,7 @@ applications.")
(patches (search-patches "pango-skip-libthai-test.patch"))
(sha256
(base32
- "0rj9sszflckk8gj47ppirpndpp3mzsx97l64lalj8kc580g2ypby"))))
+ "1s41sprfgkc944fva36zjmkmdpv8hn1bdpyg55xc4663pw2z4rqx"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
@@ -614,6 +615,11 @@ printing and other features typical of a source code editor.")
;; Tests require a running X server.
(system (string-append Xvfb " :1 &"))
(setenv "DISPLAY" ":1")
+ ;; Use an X11 setup to find the display.
+ (setenv "GDK_BACKEND" "x11")
+ ;; Avoid spawning (and failing to connect to) the accessiblity
+ ;; bus.
+ (setenv "GTK_A11Y" "none")
;; For the missing /etc/machine-id.
(setenv "DBUS_FATAL_WARNINGS" "0")))))))
(native-inputs
@@ -630,7 +636,7 @@ printing and other features typical of a source code editor.")
;; gtksourceview-5.pc refers to all these.
(list fontconfig
fribidi
- glib-next
+ glib
gtk
libxml2
pango
@@ -787,7 +793,7 @@ ever use this library.")
(hidden-package
(package
(name "at-spi2-core")
- (version "2.45.90")
+ (version "2.48.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -795,7 +801,7 @@ ever use this library.")
name "-" version ".tar.xz"))
(sha256
(base32
- "03dba3c6m3sfapkkbbgzvbi1qcmrrlppydxjjs1m8ds9qb9hl1g9"))))
+ "05d5azffbglnvqzwk8ngg61jksm3brrwhmfpymsrccz8j8lv3v19"))))
(build-system meson-build-system)
(arguments
(list
@@ -811,10 +817,15 @@ ever use this library.")
(lambda _
;; xfconfd requires a writable HOME
(setenv "HOME" (getenv "TMPDIR"))
- ;; Run test-suite under a dbus session.
- (setenv "XDG_DATA_DIRS" ;for finding org.xfce.Xfconf.service
- (string-append #$output "/share:"
- (getenv "XDG_DATA_DIRS")))
+ ;; dbus-run-session may crash if XDG_DATA_DIRS has too
+ ;; many entries, maybe related to
+ ;; https://gitlab.freedesktop.org/dbus/dbus/-/issues/481.
+ (setenv "XDG_DATA_DIRS"
+ (string-append
+ #$output "/share:"
+ #$(this-package-native-input
+ "gsettings-desktop-schemas")
+ "/share"))
;; Don't fail on missing '/etc/machine-id'.
(setenv "DBUS_FATAL_WARNINGS" "0")
(with-directory-excursion (string-append "../at-spi2-core-"
@@ -832,7 +843,8 @@ ever use this library.")
;; atspi-2.pc refers to all these.
(list dbus glib libx11 libxi libxtst))
(native-inputs
- (list gettext-minimal
+ (list findutils
+ gettext-minimal
`(,glib "bin")
gobject-introspection
gsettings-desktop-schemas
@@ -862,25 +874,13 @@ is part of the GNOME accessibility project.")
(add-after 'unpack 'set-documentation-path
(lambda _
;; Ensure that the cross-references point to the "doc" output.
- (substitute* "doc/libatspi/meson.build"
- (("docpath =.*")
- (string-append "docpath = '" #$output:doc
- "/share/gtk-doc/html'\n")))))
- (add-before 'install 'prepare-doc-directory
- (lambda _
- (mkdir-p (string-append #$output:doc "/share"))))
- #$@(if (%current-target-system)
- #~()
- #~((add-after 'install 'move-documentation
- (lambda _
- (copy-recursively
- (string-append #$output "/share/gtk-doc")
- (string-append #$output:doc "/share/gtk-doc"))
- (delete-file-recursively
- (string-append #$output "/share/gtk-doc"))))))))))
+ (substitute* "doc/meson.build"
+ (("docs_dir =.*")
+ (string-append "docs_dir = '" #$output:doc
+ "/share/doc'\n")))))))))
(native-inputs
(modify-inputs (package-native-inputs at-spi2-core)
- (append docbook-xml-4.3 gtk-doc/stable)))
+ (append gi-docgen python python-sphinx)))
(properties (alist-delete 'hidden?
(package-properties at-spi2-core)))))
@@ -904,6 +904,7 @@ is part of the GNOME accessibility project.")
"1nn6kks1zyvb5xikr9y2k7r9bwjy1g4b0m0s66532bclymbwfamc"))
(patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"
"gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch"
+ "gtk2-harden-list-store.patch"
"gtk2-theme-paths.patch"
"gtk2-fix-builder-test.patch"))))
(build-system gnu-build-system)
@@ -1113,7 +1114,7 @@ application suites.")
(define-public gtk
(package
(name "gtk")
- (version "4.8.1")
+ (version "4.12.3")
(source
(origin
(method url-fetch)
@@ -1121,9 +1122,10 @@ application suites.")
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
- (base32 "1za2nyqqs2lrbss61gfw17qba2f0w6a119m1xk4d0fx2k3gdis2w"))
+ (base32 "128ahzsj016vz8brd8kplhfkxg2q7wy7kndibx2qfr68yrif530l"))
(patches
- (search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"))))
+ (search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"))
+ (modules '((guix build utils)))))
(build-system meson-build-system)
(outputs '("out" "bin" "doc"))
(arguments
@@ -1147,6 +1149,9 @@ application suites.")
;; Use the same test options as upstream uses for
;; their CI.
"--suite=gtk"
+ "--no-suite=failing"
+ "--no-suite=flaky"
+ "--no-suite=headless" ; requires mutter…
"--no-suite=gsk-compare-broadway")
#:phases
#~(modify-phases %standard-phases
@@ -1169,6 +1174,9 @@ application suites.")
(substitute* "meson.build"
(("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false"))
+ (substitute* (find-files "testsuite/gsk/nodeparser/"
+ "^text-color.*\\.node$")
+ (("Noto Sans") "DejaVu Sans"))
;; Disable failing tests.
(substitute* (find-files "testsuite" "meson.build")
(("[ \t]*'empty-text.node',") "")
@@ -1253,6 +1261,7 @@ application suites.")
cups ;for CUPS print-backend
ffmpeg ;for ffmpeg media-backend
fribidi
+ gi-docgen
gstreamer ;for gstreamer media-backend
gst-plugins-bad ;provides gstreamer-player
gst-plugins-base ;provides gstreamer-gl
@@ -2938,11 +2947,11 @@ Unix desktop environment under X11 as well as Wayland.")
(substitute* "meson.build"
(("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false")))))))
- (native-inputs (list `(,glib-next "bin")
+ (native-inputs (list `(,glib "bin")
gobject-introspection
pkg-config
vala))
- (inputs (list glib-next gtk libadwaita))
+ (inputs (list glib gtk libadwaita))
(home-page "https://gitlab.gnome.org/GNOME/libpanel")
(synopsis "Dock and panel library for GTK 4")
(description "Libpanel provides a library to create IDE-like applications