summary refs log tree commit diff
path: root/gnu/packages/gnome.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/gnome.scm')
-rw-r--r--gnu/packages/gnome.scm970
1 files changed, 403 insertions, 567 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index f651459631..9adc5af49a 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -73,6 +73,7 @@
 ;;; Copyright © 2022 Rene Saavedra <nanuui@protonmail.com>
 ;;; Copyright © 2022 Alexandros Theodotou <alex@zrythm.org>
 ;;; Copyright © 2022 Arjan Adriaanse <arjan@adriaan.se>
+;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -373,9 +374,7 @@ features to enable users to create their discs easily and quickly.")
                                "-Denable-gtk-doc=false"
                                "-Dvapigen=false")))
     (native-inputs
-     `(("glib:bin" ,glib "bin")
-       ("pkg-config" ,pkg-config)
-       ("vala" ,vala)))
+     (list `(,glib "bin") pkg-config vala))
     (inputs
      (list glib glib-networking))
     (synopsis "Cloudproviders Integration API")
@@ -1205,7 +1204,10 @@ as a \"boring window manager for the adult in you.\"")
                                   "mm-common-" version ".tar.xz"))
               (sha256
                (base32
-                "1x8yvjy0yg17qyhmqws8xh2k8dvzrhpwqz7j1cfwzalrb1i9c5g8"))))
+                "1x8yvjy0yg17qyhmqws8xh2k8dvzrhpwqz7j1cfwzalrb1i9c5g8"))
+              (patches
+               (search-patches
+                "mm-common-reproducible-tarball.patch"))))
     (build-system meson-build-system)
     (arguments
      `(#:phases
@@ -1647,44 +1649,35 @@ tour of all gnome components and allows the user to set them up.")
 
 (define-public gnome-user-share
   (package
-   (name "gnome-user-share")
-   (version "3.34.0")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version) "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "04r9ck9v4i0d31grbli1d4slw2d6dcsfkpaybkwbzi7wnj72l30x"))))
-   (build-system meson-build-system)
-   (arguments
-    `(#:glib-or-gtk? #t
-      #:meson ,meson-0.60
-      #:configure-flags
-       `("-Dsystemduserunitdir=/tmp/empty"
-         ;; Enable nautilus extension for file sharing.
-         "-Dnautilus_extension=true")))
-   (native-inputs
-    `(("gettext" ,gettext-minimal)
-      ("glib:bin" ,glib "bin")
-      ("gobject-introspection" ,gobject-introspection)
-      ("gtk+:bin" ,gtk+ "bin")
-      ("pkg-config" ,pkg-config)
-      ("yelp-tools" ,yelp-tools)))
-   (inputs
-    (list glib
-          gnome-bluetooth
-          gtk+
-          libcanberra
-          libnotify
-          nautilus))      ; For nautilus extension.
-   (synopsis "File sharing for GNOME desktop")
-   (description "GNOME User Share is a small package that binds together
+    (name "gnome-user-share")
+    (version "43.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1kiq2n39yz7szcf7wrs5vhd2hdn04zx1pxgp7qskycaq0nm0dwqd"))))
+    (build-system meson-build-system)
+    (arguments
+     (list #:glib-or-gtk? #t
+           #:configure-flags
+           #~(list "-Dsystemduserunitdir=/tmp/empty")))
+    (native-inputs
+     (list gettext-minimal
+           `(,glib "bin")
+           gobject-introspection
+           `(,gtk "bin")
+           pkg-config
+           yelp-tools))
+    (inputs (list glib gtk))
+    (synopsis "File sharing for GNOME desktop")
+    (description "GNOME User Share is a small package that binds together
 various free software projects to bring easy to use user-level file
 sharing to the masses.")
-   (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
-   (license license:gpl2+)))
+    (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
+    (license license:gpl2+)))
 
 (define-public sushi
   (package
@@ -2338,7 +2331,7 @@ The gnome-about program helps find which version of GNOME is installed.")
 (define-public gnome-disk-utility
   (package
     (name "gnome-disk-utility")
-    (version "42.0")
+    (version "44.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -2346,18 +2339,22 @@ The gnome-about program helps find which version of GNOME is installed.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "02q906gn420xbf1f0apazryzqfv5b1ammz1vrci66hk79m2n8r8v"))))
+                "1vx3wyvidjyzr4141p3zrvgx88rp7vwj6n3sf7c3gnvci6bi00q2"))))
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags '("-Dlogind=libelogind")
-       #:meson ,meson-0.60
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'skip-gtk-update-icon-cache
            ;; Don't create 'icon-theme.cache'.
            (lambda _
-             (substitute* "meson_post_install.py"
-               (("gtk-update-icon-cache") "true")))))))
+             (substitute* "meson.build"
+               (("gtk_update_icon_cache: true")
+                "gtk_update_icon_cache: false")
+               (("glib_compile_schemas: true")
+                "glib_compile_schemas: false")
+               (("update_desktop_database: true")
+                "update_desktop_database: false")))))))
     (native-inputs
      (list docbook-xml
            docbook-xsl
@@ -2379,7 +2376,7 @@ The gnome-about program helps find which version of GNOME is installed.")
            libpwquality
            libsecret
            udisks))
-    (home-page "https://git.gnome.org/browse/gnome-disk-utility")
+    (home-page "https://gitlab.gnome.org/GNOME/gnome-disk-utility")
     (synopsis "Disk management utility for GNOME")
     (description "Disk management utility for GNOME.")
     (license license:gpl2+)))
@@ -2508,7 +2505,7 @@ GNOME Desktop.")
 (define-public gdl
   (package
     (name "gdl")
-    (version "3.34.0")
+    (version "3.40.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2520,7 +2517,7 @@ GNOME Desktop.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "154qcr0x6f68f4q526y87imv0rscmp34n47nk1pp82rsq52h2zna"))))
+                "11hp93gqk7m64h84q5hndzlwj4w6hl0cbmzrk2pkdn04ikm2zj4v"))))
     (build-system gnu-build-system)
     (native-inputs
      (list autoconf
@@ -2705,7 +2702,7 @@ update_desktop_database): true" _ tool)
            libgnome-keyring
            adwaita-icon-theme
            gdk-pixbuf
-           atk
+           at-spi2-core
            pango
            gtk+
            glib
@@ -2737,7 +2734,7 @@ on the GNOME Desktop with a single simple application.")
 (define-public gsettings-desktop-schemas
   (package
     (name "gsettings-desktop-schemas")
-    (version "41.0")
+    (version "42.0")
     (source
      (origin
        (method url-fetch)
@@ -2746,7 +2743,7 @@ on the GNOME Desktop with a single simple application.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "1v9jagk679m01nji0acirynxinziv036618c7xc49l4nwmr9ja3p"))))
+         "1li3fcqwnw20f4j0i21i88fygm0hli8gmzkn4apgf8ynkrd371k6"))))
     (build-system meson-build-system)
     (arguments
      `(#:phases (modify-phases %standard-phases
@@ -3300,7 +3297,8 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
           '())
       (list gtk+ libxml2)))
     (native-inputs
-     (list docbook-xml-4.2
+     (list at-spi2-core                          ;for tests
+           docbook-xml-4.2
            docbook-xsl
            gettext-minimal
            `(,glib "bin")
@@ -3559,7 +3557,7 @@ for dealing with different structured file formats.")
 (define-public librsvg
   (package
     (name "librsvg")
-    (version "2.50.7")
+    (version "2.54.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/librsvg/"
@@ -3567,154 +3565,127 @@ for dealing with different structured file formats.")
                                   "librsvg-" version ".tar.xz"))
               (sha256
                (base32
-                "1g3f8byg5w08fx1bka12mmpl59v6a4q2p827w6m2la6mijq63yzz"))
+                "0cs8qbn2khibb5w1r0f6cibfmkfb7zg713526vhc0hva7wj2l5ga"))
               (modules '((guix build utils)))
               (snippet
                '(begin (delete-file-recursively "vendor")))))
     (build-system cargo-build-system)
     (outputs '("out" "doc" "debug"))
     (arguments
-     `(#:install-source? #f
-       #:modules
-       ((guix build cargo-build-system)
+     (list
+      #:install-source? #f
+      #:modules
+      '((guix build cargo-build-system)
         (guix build utils)
         ((guix build gnu-build-system) #:prefix gnu:))
-       #:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags-1)
-        ("rust-cairo-rs" ,rust-cairo-rs-0.8)
-        ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
-        ("rust-cast" ,rust-cast-0.2)
-        ("rust-cssparser" ,rust-cssparser-0.27)
+      #:cargo-inputs
+      `(("rust-byteorder" ,rust-byteorder-1)
+        ("rust-cairo-rs" ,rust-cairo-rs-0.15)
+        ("rust-cast" ,rust-cast-0.3)
+        ("rust-chrono" ,rust-chrono-0.4)
+        ("rust-clap" ,rust-clap-2)
+        ("rust-cssparser" ,rust-cssparser-0.28)
         ("rust-data-url" ,rust-data-url-0.1)
         ("rust-encoding" ,rust-encoding-0.2)
-        ("rust-float-cmp" ,rust-float-cmp-0.8)
-        ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8)
-        ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
-        ("rust-gio" ,rust-gio-0.8)
-        ("rust-gio-sys" ,rust-gio-sys-0.9)
-        ("rust-glib" ,rust-glib-0.9)
-        ("rust-glib-sys" ,rust-glib-sys-0.9)
-        ("rust-gobject-sys" ,rust-gobject-sys-0.9)
-        ("rust-itertools" ,rust-itertools-0.9)
-        ("rust-language-tags" ,rust-language-tags-0.2)
+        ("rust-float-cmp" ,rust-float-cmp-0.9)
+        ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.15)
+        ("rust-gio" ,rust-gio-0.15)
+        ("rust-glib" ,rust-glib-0.15)
+        ("rust-itertools" ,rust-itertools-0.10)
+        ("rust-language-tags" ,rust-language-tags-0.3)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-locale-config" ,rust-locale-config-0.3)
         ("rust-markup5ever" ,rust-markup5ever-0.10)
-        ("rust-nalgebra" ,rust-nalgebra-0.21)
+        ("rust-nalgebra" ,rust-nalgebra-0.29)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-once-cell" ,rust-once-cell-1)
-        ("rust-pkg-config" ,rust-pkg-config-0.3)
-        ("rust-pango" ,rust-pango-0.8)
-        ("rust-pango-sys" ,rust-pango-sys-0.9)
-        ("rust-pangocairo" ,rust-pangocairo-0.9)
+        ("rust-pango" ,rust-pango-0.15)
+        ("rust-pangocairo" ,rust-pangocairo-0.15)
         ("rust-rayon" ,rust-rayon-1)
-        ("rust-rctree" ,rust-rctree-0.3)
+        ("rust-rctree" ,rust-rctree-0.4)
         ("rust-rgb" ,rust-rgb-0.8)
         ("rust-regex" ,rust-regex-1)
-        ("rust-selectors" ,rust-selectors-0.22)
+        ("rust-selectors" ,rust-selectors-0.23)
         ("rust-string-cache" ,rust-string-cache-0.8)
-        ("rust-tinyvec" ,rust-tinyvec-0.3)
+        ("rust-tinyvec" ,rust-tinyvec-1)
         ("rust-url" ,rust-url-2)
         ("rust-xml5ever" ,rust-xml5ever-0.16))
-       #:cargo-development-inputs
-       (("rust-assert-cmd" ,rust-assert-cmd-1)
-        ("rust-cairo-rs" ,rust-cairo-rs-0.8)
+      #:cargo-development-inputs
+      `(("rust-anyhow" ,rust-anyhow-1)
+        ("rust-assert-cmd" ,rust-assert-cmd-2)
+        ("rust-cairo-rs" ,rust-cairo-rs-0.15)
         ("rust-chrono" ,rust-chrono-0.4)
         ("rust-criterion" ,rust-criterion-0.3)
-        ("rust-float-cmp" ,rust-float-cmp-0.8)
+        ("rust-glib" ,rust-glib-0.15)
+        ("rust-libc" ,rust-libc-0.2)
         ("rust-lopdf" ,rust-lopdf-0.26)
-        ("rust-png" ,rust-png-0.16)
-        ("rust-predicates" ,rust-predicates-1)
-        ("rust-tempfile" ,rust-tempfile-3))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-docbook-xml
-           (lambda* (#:key inputs #:allow-other-keys)
-             (with-directory-excursion "doc"
-               (substitute* "rsvg-docs.xml"
-                 (("http://www.oasis-open.org/docbook/xml/4.3/")
-                  (string-append (assoc-ref inputs "docbook-xml")
-                                 "/xml/dtd/docbook/"))))))
-         (add-after 'unpack 'prepare-for-build
-           (lambda _
-             ;; In lieu of #:make-flags
-             (setenv "CC" ,(cc-for-target))
-             ;; Something about the build environment resists building
-             ;; successfully with the '--locked' flag.
-             (substitute* '("Makefile.am" "Makefile.in")
-               (("--locked") ""))))
-         (add-before 'configure 'pre-configure
-           (lambda* (#:key outputs #:allow-other-keys)
-             (substitute* "gdk-pixbuf-loader/Makefile.in"
-               ;; By default the gdk-pixbuf loader is installed under
-               ;; gdk-pixbuf's prefix.  Work around that.
-               (("gdk_pixbuf_moduledir = .*$")
-                (string-append "gdk_pixbuf_moduledir = "
-                               "$(prefix)/"
-                               ,(dirname %gdk-pixbuf-loaders-cache-file) "/"
-                               "loaders\n")))
-             (substitute* "configure"
-               (("gdk_pixbuf_cache_file=.*")
-                (string-append "gdk_pixbuf_cache_file="
-                               (assoc-ref outputs "out") "/"
-                               ,%gdk-pixbuf-loaders-cache-file "\n")))))
-         (add-after 'configure 'gnu-configure
-           (lambda* (#:key outputs #:allow-other-keys #:rest args)
-             (apply (assoc-ref gnu:%standard-phases 'configure)
-                    #:configure-flags
-                    (list "--disable-static"
-                          "--enable-vala"
-                          (string-append "--with-html-dir="
-                                         (assoc-ref outputs "doc")
-                                         "/share/gtk-doc/html"))
-                    args)))
-         (add-after 'configure 'dont-vendor-self
-           (lambda* (#:key vendor-dir #:allow-other-keys)
-             ;; Don't keep the whole tarball in the vendor directory
-             (delete-file-recursively
-              (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))))
-         (replace 'build
-           (assoc-ref gnu:%standard-phases 'build))
-         (add-before 'check 'ignore-failing-tests
-           ;; stderr=```/tmp/guix-build-.../librsvg-2.50.1/rsvg-convert: line 150: ls: command not found
-           (lambda _
-             (substitute* "tests/src/cmdline/rsvg_convert.rs"
-               (("fn background_color_option_invalid_color_yields_error" all)
-                (string-append "#[ignore] " all))
-               (("fn empty_input_yields_error" all)
-                (string-append "#[ignore] " all))
-               (("fn empty_svg_yields_error" all)
-                (string-append "#[ignore] " all))
-               (("fn env_source_data_epoch_empty" all)
-                (string-append "#[ignore] " all))
-               (("fn env_source_data_epoch_no_digits" all)
-                (string-append "#[ignore] " all))
-               (("fn env_source_data_epoch_trailing_garbage" all)
-                (string-append "#[ignore] " all))
-               (("fn export_id_option_error" all)
-                (string-append "#[ignore] " all))
-               (("fn huge_zoom_factor_yields_error" all)
-                (string-append "#[ignore] " all))
-               (("fn multiple_input_files_not_allowed_for_png_output" all)
-                (string-append "#[ignore] " all))
-               (("fn stylesheet_option_error" all)
-                (string-append "#[ignore] " all)))))
-         (replace 'check
-           (lambda* args
-             ((assoc-ref gnu:%standard-phases 'check)
-              #:test-target "check")))
-         (replace 'install
-           (assoc-ref gnu:%standard-phases 'install)))))
-    (native-inputs
-     (list docbook-xml-4.3
-           `(,glib "bin")
-           gobject-introspection
-           pkg-config
-           vala))
-    (inputs
-     (list freetype harfbuzz libxml2 pango))
-    (propagated-inputs
-     (list cairo gdk-pixbuf glib))
+        ("rust-matches" ,rust-matches-0.1)
+        ("rust-png" ,rust-png-0.17)
+        ("rust-predicates" ,rust-predicates-2)
+        ("rust-proptest" ,rust-proptest-1)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-tempfile" ,rust-tempfile-3)
+        ("rust-test-generator" ,rust-test-generator-0.3)
+        ("rust-yeslogic-fontconfig-sys" ,rust-yeslogic-fontconfig-sys-2))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-gdk-pixbuf-thumbnailer
+            (lambda* (#:key inputs #:allow-other-keys)
+              ;; The gdk-pixbuf-thumbnailer location is assumed to be relative
+              ;; to librsvg's own installation prefix (see:
+              ;; https://gitlab.gnome.org/GNOME/librsvg/-/issues/955).
+              (substitute* "gdk-pixbuf-loader/librsvg.thumbnailer.in"
+                (("@bindir@/gdk-pixbuf-thumbnailer")
+                 (search-input-file inputs "bin/gdk-pixbuf-thumbnailer")))))
+          (add-after 'unpack 'prepare-for-build
+            (lambda _
+              ;; In lieu of #:make-flags
+              (setenv "CC" #$(cc-for-target))
+              ;; Something about the build environment resists building
+              ;; successfully with the '--locked' flag.
+              (substitute* '("Makefile.am" "Makefile.in")
+                (("--locked") ""))))
+          (add-before 'configure 'pre-configure
+            (lambda* (#:key outputs #:allow-other-keys)
+              (substitute* "gdk-pixbuf-loader/Makefile.in"
+                ;; By default the gdk-pixbuf loader is installed under
+                ;; gdk-pixbuf's prefix.  Work around that.
+                (("gdk_pixbuf_moduledir = .*$")
+                 (string-append "gdk_pixbuf_moduledir = "
+                                "$(prefix)/"
+                                #$(dirname %gdk-pixbuf-loaders-cache-file) "/"
+                                "loaders\n")))
+              (substitute* "configure"
+                (("gdk_pixbuf_cache_file=.*")
+                 (string-append "gdk_pixbuf_cache_file="
+                                #$output "/"
+                                #$%gdk-pixbuf-loaders-cache-file "\n")))))
+          (add-after 'configure 'gnu-configure
+            (lambda* (#:key outputs #:allow-other-keys #:rest args)
+              (apply (assoc-ref gnu:%standard-phases 'configure)
+                     #:configure-flags
+                     (list "--disable-static"
+                           "--enable-vala"
+                           (string-append "--with-html-dir=" #$output
+                                          "/share/gtk-doc/html"))
+                     args)))
+          (add-after 'configure 'dont-vendor-self
+            (lambda* (#:key vendor-dir #:allow-other-keys)
+              ;; Don't keep the whole tarball in the vendor directory
+              (delete-file-recursively
+               (string-append vendor-dir "/" #$name "-" #$version ".tar.xz"))))
+          (replace 'build
+            (assoc-ref gnu:%standard-phases 'build))
+          (replace 'check
+            (lambda* args
+              ((assoc-ref gnu:%standard-phases 'check)
+               #:test-target "check")))
+          (replace 'install
+            (assoc-ref gnu:%standard-phases 'install)))))
+    (native-inputs (list `(,glib "bin") gobject-introspection pkg-config vala))
+    (inputs (list freetype harfbuzz libxml2 pango))
+    (propagated-inputs (list cairo gdk-pixbuf glib))
     (synopsis "SVG rendering library")
     (description "Librsvg is a library to render SVG images to Cairo surfaces.
 GNOME uses this to render SVG icons.  Outside of GNOME, other desktop
@@ -3723,34 +3694,6 @@ diagrams.")
     (home-page "https://wiki.gnome.org/LibRsvg")
     (license license:lgpl2.1+)))
 
-;; This copy of librsvg uses the bundled rust libraries. It is useful for
-;; packages which have too many dependencies to be rebuilt as frequently
-;; as the rust inputs are updated.
-;; TODO: Remove this package and use packaged rust libraries!
-(define-public librsvg-bootstrap
-  (package
-    (inherit librsvg)
-    (name "librsvg")
-    (version "2.50.7")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/librsvg/"
-                                  (version-major+minor version)  "/"
-                                  "librsvg-" version ".tar.xz"))
-              (sha256
-               (base32
-                "1g3f8byg5w08fx1bka12mmpl59v6a4q2p827w6m2la6mijq63yzz"))
-              (modules '((guix build utils)))
-              (snippet
-               '(begin
-                  (for-each delete-file (find-files "vendor" "\\.a$"))))))
-    (arguments
-     (substitute-keyword-arguments (package-arguments librsvg)
-       ((#:vendor-dir _ "vendor") "vendor")
-       ((#:cargo-inputs _) '())
-       ((#:cargo-development-inputs _) '())))
-    (properties '((hidden? . #t)))))
-
 (define-public librsvg-2.40
   ;; This is the last version implemented in C.
   (package
@@ -3782,6 +3725,12 @@ diagrams.")
                (("gdk_pixbuf_cache_file = .*$")
                 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
              #t))
+         (add-before 'check 'fix-test-with-pango-1.50
+           (lambda _
+	     ;; Changes between pango 1.48 and 1.50 caused the text to be one
+	     ;; pixel lower in the output image compared to the reference.
+             (substitute* "tests/fixtures/reftests/bugs/587721-text-transform.svg"
+	       (("660\\.9") "659.9"))))
          (add-before 'check 'remove-failing-tests
            (lambda _
              (with-directory-excursion "tests/fixtures/reftests"
@@ -4549,60 +4498,6 @@ passwords in the GNOME keyring.")
 (define-public vala
   (package
     (name "vala")
-    (version "0.54.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/vala/"
-                                  (version-major+minor version) "/"
-                                  "vala-" version ".tar.xz"))
-              (sha256
-               (base32
-                "048k5c6c6y7jyb961krnrb7m0kghr0yrkpnfx3j5ckbx652yfkc8"))))
-    (build-system glib-or-gtk-build-system)
-    (arguments
-     '(#:configure-flags '("--enable-coverage")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-docbook-xml
-           (lambda* (#:key inputs #:allow-other-keys)
-             (with-directory-excursion "doc/manual"
-               (substitute* '("manual.xml" "version.xml.in")
-                 (("http://www.oasis-open.org/docbook/xml/4.4/")
-                  (string-append (assoc-ref inputs "docbook-xml")
-                                 "/xml/dtd/docbook/"))))))
-         (add-before 'check 'pre-check
-           (lambda _
-             (setenv "CC" "gcc")
-             (substitute* "valadoc/tests/libvaladoc\
-/tests-extra-environment.sh"
-               (("export PKG_CONFIG_PATH=" m)
-                (string-append m "$PKG_CONFIG_PATH:"))))))))
-    (native-inputs
-     `(("bison" ,bison)
-       ("dbus" ,dbus)                   ; for dbus tests
-       ("docbook-xml" ,docbook-xml-4.4)
-       ("docbook-xsl" ,docbook-xsl)
-       ("flex" ,flex)
-       ("gobject-introspection" ,gobject-introspection) ; for gir tests
-       ("help2man" ,help2man)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("xsltproc" ,libxslt)))
-    (propagated-inputs
-     `(("glib" ,glib)                   ; required by libvala-0.40.pc
-       ("libgvc" ,graphviz)))
-    (home-page "https://wiki.gnome.org/Projects/Vala/")
-    (synopsis "Compiler using the GObject type system")
-    (description "Vala is a programming language using modern high level
-abstractions without imposing additional runtime requirements and without using
-a different ABI compared to applications and libraries written in C.  Vala uses
-the GObject type system and has additional code generation routines that make
-targeting the GNOME stack simple.")
-    (license license:lgpl2.1+)))
-
-(define-public vala-next
-  (package
-    (inherit vala)
     (version "0.56.3")
     (source (origin
               (method url-fetch)
@@ -4612,6 +4507,7 @@ targeting the GNOME stack simple.")
               (sha256
                (base32
                 "1gwrnr0d0bqkh6m4bgz39mh3pcswcj43hyijlwgwp2bvpwhn41p1"))))
+    (build-system glib-or-gtk-build-system)
     (arguments
      (list
       #:configure-flags #~(list "CC=gcc" "--enable-coverage")
@@ -4636,7 +4532,29 @@ targeting the GNOME stack simple.")
           ;; Wrapping the binaries breaks vala's behavior adaptations based on
           ;; the file name of the program executed (vala: compile and execute,
           ;; valac: compile into a binary).
-          (delete 'glib-or-gtk-wrap))))))
+          (delete 'glib-or-gtk-wrap))))
+    (native-inputs
+     (list bison
+           dbus                         ; for dbus tests
+           docbook-xml-4.4
+           docbook-xsl
+           flex
+           gobject-introspection        ; for gir tests
+           help2man
+           perl
+           pkg-config
+           libxslt))
+    (propagated-inputs
+     (list glib                         ; required by libvala-0.40.pc
+           graphviz))
+    (home-page "https://wiki.gnome.org/Projects/Vala/")
+    (synopsis "Compiler using the GObject type system")
+    (description "Vala is a programming language using modern high level
+abstractions without imposing additional runtime requirements and without using
+a different ABI compared to applications and libraries written in C.  Vala uses
+the GObject type system and has additional code generation routines that make
+targeting the GNOME stack simple.")
+    (license license:lgpl2.1+)))
 
 ;;; An older variant kept to build libsoup-minimal-2.
 (define-public vala-0.52
@@ -4987,7 +4905,7 @@ indicators etc).")
 (define-public glib-networking
   (package
     (name "glib-networking")
-    (version "2.70.0")
+    (version "2.72.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/glib-networking/"
@@ -4995,24 +4913,12 @@ indicators etc).")
                                   "glib-networking-" version ".tar.xz"))
               (sha256
                (base32
-                "0dbg1na239mbavn4hknkax5sns9q2dbdnqw9wcpmhv58mzkhid36"))
+                "0s42l6dkajciqc99zp6dc9l8yv9g8w7d8mgv97l7h7drgd60hand"))
               (patches
                (search-patches "glib-networking-gnutls-binding.patch"))))
     (build-system meson-build-system)
-    (arguments
-     (if (target-64bit?)
-         '()
-         (list #:phases
-               #~(modify-phases %standard-phases
-                   (add-after 'unpack 'work-around-32-bit-time-t
-                     (lambda _
-                       (invoke "patch" "--force" "-p1" "-i"
-                               #$(local-file
-                                  (search-patch
-                                   "glib-networking-32-bit-time.patch")))))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("gettext" ,gettext-minimal)))
+     (list pkg-config gettext-minimal))
     (inputs
      (list glib gnutls gsettings-desktop-schemas libproxy))
     (home-page "https://wiki.gnome.org/Projects/GLib")
@@ -5041,8 +4947,7 @@ from the GSettings schemas in gsettings-desktop-schemas.")
                 "0ll9220d6qf9m7wdi5xhq69p8h8whs7l5h5nzdhlbn99qh5388bz"))))
     (build-system meson-build-system)
     (arguments
-     (list #:meson meson-0.63
-           #:phases
+     (list #:phases
            #~(modify-phases %standard-phases
                (add-after 'unpack 'patch-paths
                  (lambda* (#:key inputs #:allow-other-keys)
@@ -5095,14 +5000,10 @@ files.")
        #:configure-flags
        '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
     (native-inputs
-     `(("glib-mkenums" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("pkg-config" ,pkg-config)))
+     (list `(,glib "bin") gobject-introspection pkg-config))
     (propagated-inputs
      ;; rest-0.7.pc refers to all these.
-     `(("glib"    ,glib)
-       ("libsoup" ,libsoup-minimal-2)
-       ("libxml2" ,libxml2)))
+     (list glib libsoup-minimal-2 libxml2))
     (home-page "https://www.gtk.org/")
     (synopsis "RESTful web api query library")
     (description
@@ -5151,7 +5052,7 @@ libxml to ease remote use of the RESTful API.")
     (inputs (list json-glib))
     (propagated-inputs
      (modify-inputs (package-propagated-inputs rest)
-       (replace "libsoup" libsoup)
+       (replace "libsoup-minimal" libsoup)
        (append json-glib)))))
 
 (define-public libshumate
@@ -5202,7 +5103,7 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.")
 (define-public libsoup-minimal
   (package
     (name "libsoup-minimal")
-    (version "3.0.4")
+    (version "3.0.7")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/libsoup/"
@@ -5210,7 +5111,7 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.")
                                   "libsoup-" version ".tar.xz"))
               (sha256
                (base32
-                "0ysnvvfd2f6w2z6g31spqqb8wgyamixc7mryzbbpyw0z15g8plsv"))))
+                "1j7p3cz6hwi9js9rp0pbas7cdln97yg9v2l1nv5imhcr6p7r1pzb"))))
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags '("-Dgtk_doc=false")
@@ -5235,7 +5136,6 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.")
     (native-inputs
      (list `(,glib "bin") ;for glib-mkenums
            gobject-introspection
-           intltool
            pkg-config
            python-wrapper
            vala
@@ -5264,8 +5164,9 @@ and the GLib main loop, to integrate well with GNOME applications.")
 
 ;;; An older variant kept to build the 'rest' package.
 (define-public libsoup-minimal-2
-  (package/inherit libsoup-minimal
-    (version "2.72.0")
+  (package
+    (inherit libsoup-minimal)
+    (version "2.74.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/libsoup/"
@@ -5273,7 +5174,7 @@ and the GLib main loop, to integrate well with GNOME applications.")
                                   "libsoup-" version ".tar.xz"))
               (sha256
                (base32
-                "11skbyw2pw32178q3h8pi7xqa41b2x4k6q4k9f75zxmh8s23y30p"))))
+                "0n8is108n0dn4dw7nm2wq9rydcm1vy47w40wywfrxqazdrjjg97h"))))
     (arguments
      (substitute-keyword-arguments (package-arguments libsoup-minimal)
        ((#:phases phases)
@@ -5725,65 +5626,66 @@ file.")
 (define-public colord-minimal
   (package
     (name "colord-minimal")
-    (version "1.4.5")
+    (version "1.4.6")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
                            "colord-" version ".tar.xz"))
        (sha256
-        (base32 "05sydi6qqqx1rrqwnga1vbg9srkf89wdcfw5w4p4m7r37m2flx5p"))))
+        (base32 "0vwfx06k1in8hci3kdxpc3c0bh81f1vl5bp7favd3rdz4wd661vl"))))
     (build-system meson-build-system)
     (arguments
-     '( ;; FIXME: One test fails:
-       ;; /colord/icc-store (in lib/colord/colord-self-test-private):
-       ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
-       ;; application/x-zerosize
-       #:tests? #f
-       #:glib-or-gtk? #t
-       #:configure-flags (list "-Dargyllcms_sensor=false" ;requires spotread
-                               "-Dbash_completion=false"
-                               "-Ddaemon_user=colord"
-                               "-Ddocs=false"
-                               "-Dlocalstatedir=/var"
-                               "-Dman=false"
-                               "-Dsane=true"
-                               "-Dsystemd=false") ;no systemd
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'configure 'patch-build-system
-           (lambda* (#:key outputs #:allow-other-keys)
-             (substitute* "rules/meson.build"
-               (("udev.get_pkgconfig_variable\\('udevdir'\\)")
-                (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))))
-         (add-before 'configure 'set-sqlite3-file-name
-           (lambda* (#:key inputs #:allow-other-keys)
-             ;; "colormgr dump" works by invoking the "sqlite3" command.
-             ;; Record its absolute file name.
-             (let ((sqlite (assoc-ref inputs "sqlite")))
-               (substitute* "client/cd-util.c"
-                 (("\"sqlite3\"")
-                  (string-append "\"" sqlite "/bin/sqlite3\"")))))))))
-    (native-inputs
-     `(("glib:bin" ,glib "bin")         ; for glib-compile-resources, etc.
-       ("gettext" ,gettext-minimal)
-       ("pkg-config" ,pkg-config)
-       ("vala" ,vala)))
+     (list
+      #:glib-or-gtk? #t
+      #:configure-flags #~(list "-Dargyllcms_sensor=false" ;requires spotread
+                                "-Dbash_completion=false"
+                                "-Ddaemon_user=colord"
+                                "-Ddocs=false"
+                                "-Dlocalstatedir=/var"
+                                "-Dman=false"
+                                "-Dsystemd=false") ;no systemd
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'disable-problematic-tests
+            (lambda _
+              ;; Skip the colord-test-private, which requires a *system* D-Bus
+              ;; session, which wants to run as root, among other requirements
+              ;; (see: https://github.com/hughsie/colord/issues/97).
+              (substitute* "lib/colord/meson.build"
+                ((".*test\\('colord-test-private'.*") ""))))
+          (add-before 'configure 'patch-build-system
+            (lambda _
+              (substitute* "rules/meson.build"
+                (("udev.get_pkgconfig_variable\\('udevdir'\\)")
+                 (string-append "'" #$output "/lib/udev'")))))
+          (add-before 'configure 'set-sqlite3-file-name
+            (lambda* (#:key inputs #:allow-other-keys)
+              ;; "colormgr dump" works by invoking the "sqlite3" command.
+              ;; Record its absolute file name.
+              (substitute* "client/cd-util.c"
+                (("\"sqlite3\"")
+                 (format #f "~s" (search-input-file inputs
+                                                    "bin/sqlite3")))))))))
+    (native-inputs
+     (list `(,glib "bin")               ; for glib-compile-resources, etc.
+           gettext-minimal
+           pkg-config
+           vala))
     (propagated-inputs
      ;; colord.pc refers to all these.
-     `(("glib" ,glib)
-       ("lcms" ,lcms)
-       ("udev" ,eudev)))
+     (list glib
+           lcms
+           eudev))
     (inputs
-     `(("dbus-glib" ,dbus-glib)
-       ("gobject-introspection" ,gobject-introspection)
-       ("gusb" ,gusb-minimal)
-       ("libgudev" ,libgudev)
-       ("libusb" ,libusb)
-       ("polkit" ,polkit)
-       ("python" ,python-wrapper)
-       ("sqlite" ,sqlite)
-       ("sane-backends" ,sane-backends)))
+     (list dbus-glib
+           gobject-introspection
+           gusb-minimal
+           libgudev
+           libusb
+           polkit
+           python-wrapper
+           sqlite))
     (home-page "https://www.freedesktop.org/software/colord/")
     (synopsis "Color management service")
     (description "Colord is a system service that makes it easy to manage,
@@ -5810,6 +5712,7 @@ output devices.")
             (append '("-Dbash_completion=true"
                       "-Ddocs=true"
                       "-Dman=true"
+                      "-Dsane=true"
                       "-Dvapi=true")
                     (fold delete #$flags '("-Dbash_completion=false"
                                            "-Ddocs=false"
@@ -5830,6 +5733,7 @@ output devices.")
                gtk-doc/stable
                libxml2                  ;for XML_CATALOG_FILES
                libxslt
+               sane-backends
                vala)))))                ;for VAPI, needed by simple-scan
 
 (define-public geoclue
@@ -6458,7 +6362,7 @@ without stepping on each others toes.")
            libxslt
            pkg-config))
     (propagated-inputs
-     (list atk
+     (list at-spi2-core
            cairo
            cogl
            glib
@@ -6845,7 +6749,7 @@ discovery protocols.")
     (inputs
      (list gtk+
            gdk-pixbuf
-           atk
+           at-spi2-core
            cairo
            dbus-glib
            xorgproto
@@ -6967,7 +6871,7 @@ which can read a large number of file formats.")
      ;;clutter-gtk
      ;;clutter-gst
      (list adwaita-icon-theme
-           atk
+           at-spi2-core
            bash-minimal
            brasero
            json-glib
@@ -7296,76 +7200,6 @@ supports any scanner for which a suitable SANE driver is available, which is
 almost all of them.")
     (license license:gpl3+)))
 
-(define-public eolie
-  (package
-    (name "eolie")
-    (version "0.9.101")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://adishatz.org/eolie/eolie-"
-                                  version ".tar.xz"))
-              (sha256
-               (base32
-                "1v8n21y75abdzsnx5idyd0q6yfb6cd0sqbknlbkwh5fdgvjzyvwn"))))
-    (build-system meson-build-system)
-    (arguments
-     `(#:glib-or-gtk? #t
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'skip-gtk-update-icon-cache
-           ;; Don't create 'icon-theme.cache'.
-           (lambda _
-             (substitute* "meson_post_install.py"
-               (("gtk-update-icon-cache") "true"))
-             #t))
-         (add-after 'wrap 'wrap-more
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out  (assoc-ref outputs "out"))
-                    ;; These libraries must be on LD_LIBRARY_PATH.
-                    (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
-                            "atk" "gtk+" "gsettings-desktop-schemas"
-                            "gobject-introspection"))
-                    (path (string-join
-                           (map (lambda (lib)
-                                  (string-append (assoc-ref inputs lib) "/lib"))
-                                libs)
-                           ":")))
-               (wrap-program (string-append out "/bin/eolie")
-                 `("LD_LIBRARY_PATH" ":" prefix (,path))
-                 `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))
-                 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
-             #t)))))
-    (native-inputs
-     `(("intltool" ,intltool)
-       ("itstool" ,itstool)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python)
-       ("glib:bin" ,glib "bin")))
-    (inputs
-     `(("gobject-introspection" ,gobject-introspection)
-       ("glib-networking" ,glib-networking)
-       ("cairo" ,cairo)
-       ("gtk+" ,gtk+)
-       ("atk" ,atk)    ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
-       ("python" ,python-wrapper)
-       ("python-dateutil" ,python-dateutil)
-       ("python-pyfxa" ,python-pyfxa)
-       ("python-pygobject" ,python-pygobject)
-       ("python-pycairo" ,python-pycairo)
-       ("python-pycrypto" ,python-pycrypto)
-       ("libhandy" ,libhandy)
-       ("libsecret" ,libsecret)
-       ("gtkspell3" ,gtkspell3)
-       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
-       ("gnome-settings-daemon" ,gnome-settings-daemon) ; desktop-schemas are not enough
-       ("webkitgtk" ,webkitgtk-with-libsoup2)))
-    (home-page "https://wiki.gnome.org/Apps/Eolie")
-    (synopsis "Web browser for GNOME")
-    (description
-     "Eolie is a new web browser for GNOME.  It features Firefox sync support,
-a secret password store, an adblocker, and a modern UI.")
-    (license license:gpl3+)))
-
 (define-public epiphany
   (package
     (name "epiphany")
@@ -7550,16 +7384,13 @@ environments.")
         (base32 "19d46rkajvr0f04560vlrzwvac88x5j8ilvzwkawbn5vjg069kf8"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:configure-flags
-       (list
-        "--enable-doc")))
+     '(#:configure-flags '("--enable-doc")))
     (native-inputs
-     `(("ducktype" ,mallard-ducktype)
-       ("gettext" ,gettext-minimal)
-       ("intltool" ,intltool)
-       ("itstool" ,itstool)
-       ("xmllint" ,libxml2)
-       ("xsltproc" ,libxslt)))
+     (list mallard-ducktype
+           gettext-minimal
+           itstool
+           libxml2
+           libxslt))
     (synopsis "XSL stylesheets for Yelp")
     (description "Yelp-XSL is a collection of programs and data files to help
 you build, maintain, and distribute documentation.  It provides XSLT stylesheets
@@ -7753,8 +7584,7 @@ metadata in photo and video files of various formats.")
            `(,glib "bin")
            itstool
            pkg-config
-           python
-           vala-next))
+           python))
     (inputs
      (list gcr
            gexiv2
@@ -7885,7 +7715,8 @@ configuration program to choose applications starting on login.")
 (define-public gjs
   (package
     (name "gjs")
-    (version "1.72.2")
+    ;; Note: We use a pre-release for compatibility with recent LibFFI.
+    (version "1.73.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -7893,7 +7724,7 @@ configuration program to choose applications starting on login.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0xrrv9lsi087yb9yf146a1aarf5yh6rf4jw9blx30zasvjdkgvnx"))
+                "0xfspsc1q4xm7p500lmy17b9csyaqps1kilylq8wjjd0fjqq8ayg"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -7924,7 +7755,7 @@ configuration program to choose applications starting on login.")
            xorg-server-for-tests))
     (propagated-inputs
      ;; These are all in the Requires.private field of gjs-1.0.pc.
-     (list cairo gobject-introspection mozjs-91))
+     (list cairo gobject-introspection mozjs))
     (inputs
      (list gtk+ readline))
     (synopsis "Javascript bindings for GNOME")
@@ -8067,10 +7898,12 @@ to display dialog boxes from the commandline and shell scripts.")
       #~(list
          ;; Otherwise, the RUNPATH will lack the final path component.
          (string-append "-Dc_link_args=-Wl,-rpath="
-                        #$output "/lib:"
-                        #$output "/lib/mutter-9")
+                        #$output "/lib,-rpath="
+                        #$output "/lib/mutter-10")
          ;; Disable systemd support.
          "-Dsystemd=false"
+         ;; Don't install tests.
+         "-Dinstalled_tests=false"
          ;; The following flags are needed for the bundled clutter
          (string-append "-Dxwayland_path="
                         (search-input-file %build-inputs "bin/Xwayland"))
@@ -8084,15 +7917,13 @@ to display dialog boxes from the commandline and shell scripts.")
       #:test-options '(list "--verbose")
       #:phases
       #~(modify-phases %standard-phases
-          (add-after 'unpack 'adjust-runpath-linker-directives
+          (add-after 'unpack 'use-RUNPATH-instead-of-RPATH
             (lambda _
-              ;; By default Mutter uses RPATH instead of RUNPATH, which our
-              ;; customized linker script makes use of.  Some libraries are
-              ;; also installed under lib/mutter-10 and need to be added to
-              ;; the RUNPATH.
+              ;; The build system disables RUNPATH in favor of RPATH to work
+              ;; around a peculiarity of their CI system.  Ignore that.
               (substitute* "meson.build"
-                (("'-Wl,--disable-new-dtags'")
-                 (string-append "'-Wl,-rpath=" #$output "/lib/mutter-10'")))))
+                (("disable-new-dtags")
+                 "enable-new-dtags"))))
           (add-after 'unpack 'patch-dlopen-calls
             (lambda* (#:key inputs #:allow-other-keys)
               (substitute* "src/wayland/meta-wayland-egl-stream.c"
@@ -8180,7 +8011,7 @@ to display dialog boxes from the commandline and shell scripts.")
            autoconf
            automake
            libtool
-           wayland-protocols-next
+           wayland-protocols
            ;; For tests.
            ;; Warnings are configured to be fatal during the tests; add an icon
            ;; theme to please libxcursor.
@@ -8195,7 +8026,7 @@ to display dialog boxes from the commandline and shell scripts.")
      (list gsettings-desktop-schemas-next ;required by libmutter.pc
            gtk+                           ;required by libmutter.pc
            ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
-           atk
+           at-spi2-core
            cairo
            eudev
            gdk-pixbuf
@@ -8401,7 +8232,6 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
            libphonenumber
            mit-krb5
            openldap
-           pango-next                   ;remove after it's the default
            webkitgtk))
     (synopsis "Store address books and calendars")
     (home-page "https://wiki.gnome.org/Apps/Evolution")
@@ -8709,8 +8539,7 @@ services.")
            libnma
            libsecret
            network-manager
-           openvpn
-           pango-next))                 ;remove after it's the default
+           openvpn))
     (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
     (synopsis "OpenVPN plug-in for NetworkManager")
     (description
@@ -8760,8 +8589,7 @@ to virtual private networks (VPNs) via OpenVPN.")
            vpnc
            network-manager
            libnma
-           libsecret
-           pango-next))                 ;TODO: remove after it's the default
+           libsecret))                 ;TODO: remove after it's the default
     (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
     (synopsis "VPNC plug-in for NetworkManager")
     (description
@@ -8813,8 +8641,7 @@ Compatible with Cisco VPN concentrators configured to use IPsec.")
            libxml2
            lz4
            network-manager
-           openconnect
-           pango-next))                 ;TODO: remove after it's the default
+           openconnect))
     (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
     (synopsis "OpenConnect plug-in for NetworkManager")
     (description
@@ -8877,7 +8704,6 @@ Cisco's AnyConnect SSL VPN.")
                   libsecret
                   network-manager
                   openfortivpn
-                  pango-next ;TODO: remove after it's the default
                   ppp))
     (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
     (synopsis "Fortinet SSLVPN plug-in for NetworkManager")
@@ -9304,8 +9130,6 @@ usage and information about running processes.")
      (list eudev
            gsound
            libnotify
-           ;; TODO: Delete pango-next after it's the default.
-           pango-next
            python-dbus
            upower))
     (synopsis "GNOME Bluetooth subsystem")
@@ -10018,10 +9842,9 @@ files.")
            python
            vala))
     (inputs
-     (list gtk libadwaita libhandy
-           ;; XXX: Ensure pango-next is used instead of the equally propagated
-           ;; 'pango'.
-           pango-next))
+     (list gtk
+           libadwaita
+           libhandy))
     (synopsis "Disk usage analyzer for GNOME")
     (description
      "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
@@ -10034,7 +9857,7 @@ is complete it provides a graphical representation of each selected folder.")
 (define-public gnome-backgrounds
   (package
     (name "gnome-backgrounds")
-    (version "41.0")
+    (version "42.0")
     (source
      (origin
        (method url-fetch)
@@ -10043,7 +9866,7 @@ is complete it provides a graphical representation of each selected folder.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "0i9id5z72dqddh94648zylyf41amqq5lhny8sbyg1v8v4q6sr88x"))))
+         "0p99q434c8qgj5wxcma9jj4dh1ff9x984ncs31vmz725kyhf2zsc"))))
     (build-system meson-build-system)
     (native-inputs (list gettext-minimal))
     (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
@@ -10059,73 +9882,81 @@ can add your own files to the collection.")
                    license:cc-by-sa3.0))))
 
 (define-public gnome-screenshot
-  (package
-    (name "gnome-screenshot")
-    (version "41.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://gnome/sources/" name "/"
-                           (version-major version) "/"
-                           name "-" version ".tar.xz"))
-       (sha256
-        (base32
-         "15wmikwk62cdi93gas77nqh4fbhlrxrncyfmcd1gfa34jbn7vnsa"))))
-    (build-system meson-build-system)
-    (arguments
-     `(#:meson ,meson-0.60
-       #:glib-or-gtk? #t
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'skip-gtk-update-icon-cache
-           ;; Don't create 'icon-theme.cache'.
-           (lambda _
-             (substitute* "build-aux/postinstall.py"
-               (("gtk-update-icon-cache") "true")))))))
-    (native-inputs
-     (list appstream-glib
-           desktop-file-utils           ; for update-desktop-database
-           gettext-minimal
-           `(,glib "bin")               ; for glib-compile-schemas, etc.
-           pkg-config
-           python))
-    (inputs
-     (list gtk+
-           libhandy
-           libx11
-           libxext))
-    (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
-    (synopsis "Take pictures of your screen")
-    (description
-     "GNOME Screenshot is a utility used for taking screenshots of the entire
+  ;; GNOME Screenshot hasn't had a release in a long time, and the last one
+  ;; (41) doesn't build with a recent Meson.
+  (let ((commit "9f067cf428b6bac78ffac31c1a17a20fb2c24843")
+        (revision "0"))
+    (package
+      (name "gnome-screenshot")
+      (version (git-version "41.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://gitlab.gnome.org/GNOME/gnome-screenshot")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "10a3yd9qmfhxiw984a9fyvgrfq6i3w2yxayac0n7qqjl9ysxwb31"))))
+      (build-system meson-build-system)
+      (arguments
+       `(#:glib-or-gtk? #t
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'skip-gtk-update-icon-cache
+             ;; Don't create 'icon-theme.cache'.
+             (lambda _
+               (substitute* "build-aux/postinstall.py"
+                 (("gtk-update-icon-cache") "true")))))))
+      (native-inputs
+       (list appstream-glib
+             desktop-file-utils           ; for update-desktop-database
+             gettext-minimal
+             `(,glib "bin")               ; for glib-compile-schemas, etc.
+             pkg-config
+             python))
+      (inputs
+       (list gtk+
+             libhandy
+             libx11
+             libxext))
+      (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
+      (synopsis "Take pictures of your screen")
+      (description
+       "GNOME Screenshot is a utility used for taking screenshots of the entire
 screen, a window or a user defined area of the screen, with optional
 beautifying border effects.")
-    (license license:gpl2+)))
+      (license license:gpl2+))))
 
 (define-public dconf-editor
   (package
     (name "dconf-editor")
-    (version "3.38.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://gnome/sources/" name "/"
-                           (version-major+minor version) "/"
-                           name "-" version ".tar.xz"))
-       (sha256
-        (base32
-         "1qvrxrk1h8bd75xwasxbvlkqrw6xkavjimvc7sslkw6lvb3z86jp"))))
+    (version "43.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0dli166qzfphqlyvdx4nncg13ys7756sbsdfslyakhkcswnkqnlk"))))
     (build-system meson-build-system)
     (arguments
-     (list #:meson meson-0.60))
+     (list #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'disable-gtk-update-icon-cache
+                          (lambda _
+                            (setenv "DESTDIR" "/"))))))
     (native-inputs
-     `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
-       ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
-       ("intltool" ,intltool)
-       ("pkg-config" ,pkg-config)
-       ("vala" ,vala)))
+     (list `(,glib "bin")               ;for glib-compile-schemas, gio-2.0
+           `(,gtk "bin")                ;for gtk-update-icon-cache
+           intltool
+           pkg-config
+           vala))
     (inputs
-     (list dconf gtk+ libxml2))
+     (list dconf
+           gtk+
+           libhandy
+           libxml2))
     (home-page "https://gitlab.gnome.org/GNOME/dconf-editor")
     (synopsis "Graphical editor for GNOME's dconf configuration system")
     (description
@@ -10344,7 +10175,7 @@ world.")
           ;; Packages not part of GNOME proper but that are needed for a good
           ;; experience.  See <https://bugs.gnu.org/39646>.
           ;; XXX: Find out exactly which ones are needed and why.
-          at-spi2-core-minimal
+          at-spi2-core
           dbus
           dconf
           desktop-file-utils
@@ -10431,23 +10262,26 @@ specified duration and save it as a GIF encoded animated image file.")
         (base32 "1c4r9rnrz5gazrfg0z2rcwax4nscs7z391bcjcl74k6ln3blwzpr"))))
     (build-system meson-build-system)
     (arguments
-     `(#:meson ,meson-0.59
-       #:glib-or-gtk? #t
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let ((prog (string-append (assoc-ref outputs "out")
-                                        "/bin/authenticator"))
-                   (pylib (string-append (assoc-ref outputs "out")
-                                         "/lib/python"
-                                         ,(version-major+minor
-                                           (package-version
-                                            (this-package-input "python")))
-                                         "/site-packages")))
-               (wrap-program prog
-                 `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib))
-                 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))))))))
+     (list
+      #:glib-or-gtk? #t
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-meson.build
+            (lambda _
+              (substitute* "data/meson.build"
+                (("^  'desktop',.*") "")
+                (("^  'appdata',.*") ""))))
+          (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let ((prog (search-input-file outputs "bin/authenticator"))
+                    (pylib (string-append #$output "/lib/python"
+                                          #$(version-major+minor
+                                             (package-version
+                                              (this-package-input "python")))
+                                          "/site-packages")))
+                (wrap-program prog
+                  `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib))
+                  `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))))))))
     (native-inputs
      (list desktop-file-utils
            gettext-minimal
@@ -10565,7 +10399,7 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.")
            `(,glib "bin")               ; for glib-compile-resources
            itstool
            pkg-config
-           vala-next))
+           vala))
     (inputs
      (list geoclue
            geocode-glib-with-libsoup2
@@ -10619,9 +10453,7 @@ desktop.  It supports world clock, stop watch, alarms, and count down timer.")
            gsettings-desktop-schemas
            libadwaita
            libdazzle
-           libgweather4-with-libsoup2
-           ;; Remove pango-next when it's the default.
-           pango-next))
+           libgweather4-with-libsoup2))
     (home-page "https://wiki.gnome.org/Apps/Calendar")
     (synopsis "GNOME's calendar application")
     (description
@@ -11839,7 +11671,7 @@ micro-pauses and rest breaks, and restricts you to your daily limit.")
            pkg-config
            yelp-tools))
     (inputs
-     (list atk
+     (list at-spi2-core
            gtk))
     (synopsis "GNOME hexadecimal editor")
     (description "The GHex program can view and edit files in two ways:
@@ -12331,39 +12163,44 @@ library which detects when a file or a directory has been modified.")
     (license license:gpl2+)))
 
 (define-public gnome-mahjongg
-  (package
-    (name "gnome-mahjongg")
-    (version "3.38.3")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version) "/" name "-"
-                                  version ".tar.xz"))
-              (sha256
-               (base32
-                "144ia3zn9rhwa1xbdkvsz6m0dsysl6mxvqw9bnrlh845hmyy9cfj"))))
-    (build-system meson-build-system)
-    (arguments
-     `(#:meson ,meson-0.59
-       #:glib-or-gtk? #t))
-    (native-inputs
-     `(("appstream-glib" ,appstream-glib)
-       ("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin") ;; For glib-compile-resources
-       ("gtk+" ,gtk+ "bin")     ;; For gtk-update-icon-cache
-       ("itstool" ,itstool)
-       ("pkg-config" ,pkg-config)
-       ("vala" ,vala)))
-    (propagated-inputs
-     (list dconf))
-    (inputs
-     (list glib gtk+))
-    (synopsis "Mahjongg tile-matching game")
-    (description "GNOME Mahjongg is a game based on the classic Chinese
+  ;; There hasn't been a GNOME Mahjongg release in a long time, and the last
+  ;; release doesn't build with a recent Meson, so use the latest commit.
+  (let ((commit "e9e73e5165e5968ff897e568f8eba10fc1eb207b")
+        (revision "0"))
+    (package
+      (name "gnome-mahjongg")
+      (version (git-version "3.38.3" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1cj0c076h7qfz77wpz8ypli60inj37fgw0cl9cc39b1kjfqcy3mb"))))
+      (build-system meson-build-system)
+      (arguments (list #:glib-or-gtk? #t))
+      (native-inputs
+       (list appstream-glib
+             gettext-minimal
+             `(,glib "bin")             ;for glib-compile-resources
+             `(,gtk "bin")              ;for gtk-update-icon-cache
+             itstool
+             pkg-config
+             vala))
+      (propagated-inputs
+       (list dconf))
+      (inputs
+       (list glib
+             gtk
+             libadwaita))
+      (synopsis "Mahjongg tile-matching game")
+      (description "GNOME Mahjongg is a game based on the classic Chinese
 tile-matching game Mahjongg.  It features multiple board layouts, tile themes,
 and a high score table.")
-    (home-page "https://wiki.gnome.org/Apps/Mahjongg")
-    (license license:gpl2+)))
+      (home-page "https://wiki.gnome.org/Apps/Mahjongg")
+      (license license:gpl2+))))
 
 (define-public gnome-themes-extra
   (package
@@ -12549,13 +12386,13 @@ integrate seamlessly with the GNOME desktop.")
            itstool
            pkg-config
            python
-           vala-next))
+           vala))
     (inputs
      (list glib-networking              ;for TLS support
            gsettings-desktop-schemas
            gtk
            gtk-vnc
-           gtksourceview
+           gtksourceview-4
            json-glib
            libarchive
            libgudev
@@ -13314,7 +13151,6 @@ profiler via Sysprof, debugging support, and more.")
     (arguments
      (list
       #:glib-or-gtk? #t
-      #:meson meson-0.63
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'patch-sources
@@ -13461,7 +13297,7 @@ your data.")
            libgda
            libhandy
            libsoup
-           pango-next))
+           pango))
     (propagated-inputs
      (list gtksourceview-4))              ; required for source view
     (home-page "https://wiki.gnome.org/Apps/Gtranslator")