@@ -1101,7 +1101,7 @@ (define-public gtk+
(package
(inherit gtk+-2)
(name "gtk+")
- (version "3.24.30")
+ (version "3.24.37")
(source
(origin
(method url-fetch)
@@ -1110,7 +1110,7 @@ (define-public gtk+
name "-" version ".tar.xz"))
(sha256
(base32
- "1a9vg840fjq1mmm403b67k624qrkxh9shaz9pv7z9l8a6bzvyxds"))
+ "0mvzzgjrzzir7nzx379yz3swzk3pn1s283hgzm8l2yakq2sg0ib7"))
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
(propagated-inputs
@@ -1152,6 +1152,7 @@ (define-public gtk+
rest))
(native-inputs
(list docbook-xml-4.1.2
+ docbook-xsl
gettext-minimal
`(,glib "bin")
gobject-introspection
@@ -1164,47 +1165,29 @@ (define-public gtk+
;; of updating xorg-server directly on the master branch.
xorg-server-for-tests
libxslt))
+ (build-system meson-build-system)
(arguments
- `(#:imported-modules ((guix build glib-or-gtk-build-system)
- ,@%gnu-build-system-modules)
- #:modules ((guix build utils)
- (guix build gnu-build-system)
- ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:))
+ `(#:glib-or-gtk? #t
#:disallowed-references (,xorg-server-for-tests)
- ;; 47 MiB goes to "out" (24 of which is locale data!), and 26 MiB goes
- ;; to "doc".
- #:configure-flags (list (string-append "--with-html-dir="
- (assoc-ref %outputs "doc")
- "/share/gtk-doc/html")
- "--enable-cloudproviders"
+ #:configure-flags (list "-Dcloudproviders=true"
;; The header file <gdk/gdkwayland.h> is required
;; by gnome-control-center
- "--enable-wayland-backend"
+ "-Dwayland_backend=true"
;; This is necessary to build both backends.
- "--enable-x11-backend"
+ "-Dx11_backend=true"
;; This enables the HTML5 websocket backend.
- "--enable-broadway-backend")
+ "-Dbroadway_backend=true"
+ "-Dman=true")
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
- (assoc-ref glib-or-gtk:%standard-phases
- '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 = "))
- #t))
+ (substitute* "testsuite/gtk/meson.build"
+ (("\\['defaultvalue'\\],") "")
+ (("\\['objects-finalize', .*\\],") ""))
+ (substitute* "testsuite/reftests/meson.build"
+ (("'flipping-icons(\\.[^.]*)?\\.ui',") "")
+ (("'gtk-icontheme-sizing(\\.[^.]*)?\\.ui',") ""))))
(add-before 'check 'pre-check
(lambda _
;; Tests require a running X server.
@@ -1217,15 +1200,35 @@ (define-public gtk+
;; For missing '/etc/machine-id'.
(setenv "DBUS_FATAL_WARNINGS" "0")
#t))
- (add-after 'install 'move-desktop-files
- ;; Move desktop files into 'bin' to avoid cycle references.
+ (add-after 'install 'move-files
(lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (bin (assoc-ref outputs "bin")))
- (mkdir-p (string-append bin "/share"))
- (rename-file (string-append out "/share/applications")
- (string-append bin "/share/applications"))
- #t))))))
+ (define-values (out bin doc)
+ (values (assoc-ref outputs "out")
+ (assoc-ref outputs "bin")
+ (assoc-ref outputs "doc")))
+ (for-each mkdir-p
+ (list
+ (string-append bin "/bin")
+ (string-append bin "/share/applications")
+ (string-append bin "/share/icons")
+ (string-append bin "/share/man")
+ (string-append bin "/share/metainfo")
+ (string-append doc "/share/doc")))
+ ;; Move programs and related files to output 'bin'.
+ (for-each (lambda (dir)
+ (rename-file
+ (string-append out dir)
+ (string-append bin dir)))
+ (list
+ "/bin"
+ "/share/applications"
+ "/share/icons"
+ "/share/man"))
+ ;; Move HTML documentation to output 'doc'.
+ (when (file-exists? (string-append out "/share/doc"))
+ (rename-file
+ (string-append out "/share/doc")
+ (string-append doc "/share/doc"))))))))
(native-search-paths
(list (search-path-specification
(variable "GUIX_GTK3_PATH")