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.scm503
1 files changed, 200 insertions, 303 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 49089fefd6..cb255fc488 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -372,9 +372,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")
@@ -1155,7 +1153,10 @@ freedesktop.org desktop notification specification.")
                                   "mm-common-" version ".tar.xz"))
               (sha256
                (base32
-                "1x8yvjy0yg17qyhmqws8xh2k8dvzrhpwqz7j1cfwzalrb1i9c5g8"))))
+                "1x8yvjy0yg17qyhmqws8xh2k8dvzrhpwqz7j1cfwzalrb1i9c5g8"))
+              (patches
+               (search-patches
+                "mm-common-reproducible-tarball.patch"))))
     (build-system meson-build-system)
     (arguments
      `(#:phases
@@ -2449,7 +2450,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
@@ -2461,7 +2462,7 @@ GNOME Desktop.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "154qcr0x6f68f4q526y87imv0rscmp34n47nk1pp82rsq52h2zna"))))
+                "11hp93gqk7m64h84q5hndzlwj4w6hl0cbmzrk2pkdn04ikm2zj4v"))))
     (build-system gnu-build-system)
     (native-inputs
      (list autoconf
@@ -2671,7 +2672,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)
@@ -2680,7 +2681,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
@@ -3474,7 +3475,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/"
@@ -3482,7 +3483,7 @@ 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")))))
@@ -3495,61 +3496,57 @@ for dealing with different structured file formats.")
         (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)
+       (("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)
+       (("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))
+        ("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-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
@@ -3590,30 +3587,6 @@ for dealing with different structured file formats.")
               (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)
@@ -3621,8 +3594,7 @@ for dealing with different structured file formats.")
          (replace 'install
            (assoc-ref gnu:%standard-phases 'install)))))
     (native-inputs
-     (list docbook-xml-4.3
-           `(,glib "bin")
+     (list `(,glib "bin")
            gobject-introspection
            pkg-config
            vala))
@@ -3638,34 +3610,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
@@ -4462,7 +4406,7 @@ passwords in the GNOME keyring.")
 (define-public vala
   (package
     (name "vala")
-    (version "0.54.2")
+    (version "0.56.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/vala/"
@@ -4470,62 +4414,9 @@ passwords in the GNOME keyring.")
                                   "vala-" version ".tar.xz"))
               (sha256
                (base32
-                "048k5c6c6y7jyb961krnrb7m0kghr0yrkpnfx3j5ckbx652yfkc8"))))
+                "0k0jj3xwjq222x0hbqqy5bykhgk1f1wsb85bqcdgsnbqn6dn3jb6"))))
     (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)
-              (uri (string-append "mirror://gnome/sources/vala/"
-                                  (version-major+minor version) "/"
-                                  "vala-" version ".tar.xz"))
-              (sha256
-               (base32
-                "1gwrnr0d0bqkh6m4bgz39mh3pcswcj43hyijlwgwp2bvpwhn41p1"))))
-    (arguments
      (list
       #:configure-flags #~(list "CC=gcc" "--enable-coverage")
       #:phases
@@ -4549,7 +4440,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
@@ -4724,16 +4637,16 @@ and RDP protocols.")
     (inputs
      (list gtk+ dbus))
     (native-inputs
-     `(("bash-completion" ,bash-completion)
-       ("libxslt" ,libxslt)                     ;for xsltproc
-       ("libxml2" ,libxml2)                     ;for XML_CATALOG_FILES
-       ("docbook-xml" ,docbook-xml-4.2)
-       ("docbook-xsl" ,docbook-xsl)
-       ("glib:bin" ,glib "bin")
-       ("gtk-doc" ,gtk-doc/stable)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python)
-       ("vala" ,vala)))
+     (list bash-completion
+           libxslt                      ;for xsltproc
+           libxml2                      ;for XML_CATALOG_FILES
+           docbook-xml-4.2
+           docbook-xsl
+           `(,glib "bin")
+           gtk-doc/stable
+           pkg-config
+           python
+           vala))
     (arguments
      `(#:glib-or-gtk? #t
        #:configure-flags '("-Dgtk_doc=true")
@@ -4885,7 +4798,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/"
@@ -4893,7 +4806,7 @@ indicators etc).")
                                   "glib-networking-" version ".tar.xz"))
               (sha256
                (base32
-                "0dbg1na239mbavn4hknkax5sns9q2dbdnqw9wcpmhv58mzkhid36"))
+                "0s42l6dkajciqc99zp6dc9l8yv9g8w7d8mgv97l7h7drgd60hand"))
               (patches
                (search-patches "glib-networking-gnutls-binding.patch"))))
     (build-system meson-build-system)
@@ -4909,8 +4822,7 @@ indicators etc).")
                                   (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")
@@ -4942,14 +4854,10 @@ from the GSettings schemas in gsettings-desktop-schemas.")
        #: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
@@ -4995,7 +4903,7 @@ libxml to ease remote use of the RESTful API.")
     (inputs (list gtksourceview json-glib libadwaita))
     (propagated-inputs
      (modify-inputs (package-propagated-inputs rest)
-       (replace "libsoup" libsoup)
+       (replace "libsoup-minimal" libsoup)
        (append json-glib)))))
 
 (define-public libshumate
@@ -5046,7 +4954,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/"
@@ -5054,7 +4962,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")
@@ -5079,7 +4987,6 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.")
     (native-inputs
      (list `(,glib "bin") ;for glib-mkenums
            gobject-introspection
-           intltool
            pkg-config
            python-wrapper
            vala
@@ -5108,8 +5015,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/"
@@ -5117,7 +5025,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)
@@ -5495,65 +5403,68 @@ keyboard shortcuts.")
 (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"
+                                "-Dsane=true"
+                                "-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
+           sane-backends))
     (home-page "https://www.freedesktop.org/software/colord/")
     (synopsis "Color management service")
     (description "Colord is a system service that makes it easy to manage,
@@ -5568,33 +5479,32 @@ output devices.")
      (substitute-keyword-arguments
          (package-arguments colord-minimal)
        ((#:configure-flags flags)
-        `(begin
-           (use-modules (srfi srfi-1))
-           (append '("-Dbash_completion=true"
-                     "-Ddocs=true"
-                     "-Dman=true"
-                     "-Dvapi=true")
-               (fold delete ,flags '("-Dbash_completion=false"
-                                     "-Ddocs=false"
-                                     "-Dman=false")))))
+        #~(begin
+            (use-modules (srfi srfi-1))
+            (append '("-Dbash_completion=true"
+                      "-Ddocs=true"
+                      "-Dman=true"
+                      "-Dvapi=true")
+                    (fold delete #$flags '("-Dbash_completion=false"
+                                           "-Ddocs=false"
+                                           "-Dman=false")))))
        ((#:phases phases)
-        `(modify-phases ,phases
-           (add-after 'unpack 'fix-bash-completion-dir
-             (lambda* (#:key outputs #:allow-other-keys)
-               (substitute* "data/meson.build"
-                 (("bash_completion.get_pkgconfig_variable\
+        #~(modify-phases #$phases
+            (add-after 'unpack 'fix-bash-completion-dir
+              (lambda* (#:key outputs #:allow-other-keys)
+                (substitute* "data/meson.build"
+                  (("bash_completion.get_pkgconfig_variable\
 \\('completionsdir'\\)")
-                  (string-append "'" (assoc-ref outputs "out")
-                                 "/etc/bash_completion.d'")))))))))
+                   (string-append "'" #$output
+                                  "/etc/bash_completion.d'")))))))))
     (native-inputs
-     (append
-         `(("bash-completion" ,bash-completion)
-           ("docbook-xsl-ns" ,docbook-xsl-ns)
-           ("gtk-doc" ,gtk-doc/stable)
-           ("libxml2" ,libxml2)         ;for XML_CATALOG_FILES
-           ("libxslt" ,libxslt)
-           ("vala" ,vala))              ;for VAPI, needed by simple-scan
-         (package-native-inputs colord-minimal)))))
+     (modify-inputs (package-native-inputs colord-minimal)
+       (append bash-completion
+               docbook-xsl-ns
+               gtk-doc/stable
+               libxml2                  ;for XML_CATALOG_FILES
+               libxslt
+               vala)))))                ;for VAPI, needed by simple-scan
 
 (define-public geoclue
   (package
@@ -7257,16 +7167,13 @@ of running programs and invoke methods on those interfaces.")
         (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
@@ -7460,8 +7367,7 @@ metadata in photo and video files of various formats.")
            `(,glib "bin")
            itstool
            pkg-config
-           python
-           vala-next))
+           python))
     (inputs
      (list gcr
            gexiv2
@@ -7592,7 +7498,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 "/"
@@ -7600,7 +7507,7 @@ configuration program to choose applications starting on login.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0xrrv9lsi087yb9yf146a1aarf5yh6rf4jw9blx30zasvjdkgvnx"))
+                "0xfspsc1q4xm7p500lmy17b9csyaqps1kilylq8wjjd0fjqq8ayg"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -7631,7 +7538,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")
@@ -7771,10 +7678,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"))
@@ -7788,15 +7697,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"
@@ -8105,7 +8012,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")
@@ -8404,8 +8310,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
@@ -8455,8 +8360,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
@@ -8508,8 +8412,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
@@ -8939,8 +8842,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")
@@ -9657,10 +9558,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
@@ -9673,7 +9573,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)
@@ -9682,7 +9582,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")
@@ -9981,7 +9881,7 @@ world.")
        ;; XXX: Find out exactly which ones are needed and why.
        ("font-abattis-cantarell"            ,font-abattis-cantarell)
        ("font-dejavu"               ,font-dejavu)
-       ("at-spi2-core"              ,at-spi2-core-minimal)
+       ("at-spi2-core"              ,at-spi2-core)
        ("dbus"                      ,dbus)
        ("dconf"                     ,dconf)
        ("desktop-file-utils"        ,desktop-file-utils)
@@ -10199,8 +10099,7 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.")
            gettext-minimal
            `(,glib "bin")               ; for glib-compile-resources
            itstool
-           pkg-config
-           vala-next))
+           pkg-config))
     (inputs
      (list geoclue
            geocode-glib-with-libsoup2
@@ -10254,9 +10153,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
@@ -10680,7 +10577,7 @@ is suitable as a default application in a Desktop environment.")
      (list autoconf automake
            `(,gtk+ "bin") intltool pkg-config))
     (inputs
-     (list gtksourceview libsm))
+     (list gtksourceview-4 libsm))
     (home-page "https://wiki.gnome.org/Apps/Xpad")
     (synopsis "Virtual sticky note")
     (description
@@ -11857,7 +11754,7 @@ higher level porcelain stuff.")
            gsettings-desktop-schemas
            gspell
            gtk+
-           gtksourceview
+           gtksourceview-4
            json-glib
            libdazzle
            libgee
@@ -12173,7 +12070,7 @@ integrate seamlessly with the GNOME desktop.")
            gsettings-desktop-schemas
            gtk+
            gtk-vnc
-           gtksourceview
+           gtksourceview-4
            json-glib
            libarchive
            libgudev
@@ -13064,7 +12961,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")