gnu: gnote: Update to 42.1.
[jackhill/guix/guix.git] / gnu / packages / gnome.scm
index b7e297e..f8ba8fc 100644 (file)
@@ -1689,7 +1689,7 @@ to preview files on the GNOME desktop.")
 (define-public rygel
   (package
     (name "rygel")
-    (version "0.40.4")
+    (version "0.41.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -1697,7 +1697,7 @@ to preview files on the GNOME desktop.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "12rl1bgvwbdmnhva57b22q7d2pwqvi2rizygiyy6qpv1x3dqlvbk"))))
+                "0wivd60hn115ar3hsrsa595kpxzp8gwq30ksh32qlq8j9dhlq65i"))))
     (build-system meson-build-system)
     (arguments
      ;; Disable the tracker plugin.
@@ -4183,24 +4183,26 @@ controls using the Bonobo component framework.")
 (define-public libwnck
   (package
     (name "libwnck")
-    (version "3.32.0")
+    (version "40.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version) "/"
+                                  (version-major version) "/"
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
+                "04b63mh2i7kpq0iymx6fkyzdx8laymw3da2s0wsbwgzg2jhly4q3"))))
     (build-system meson-build-system)
     (native-inputs
-     (list pkg-config
-           `(,glib "bin") for glib-mkenums
-           gobject-introspection for g-ir-scanner
-           intltool))
+     (list gettext-minimal
+           `(,glib "bin")               ;for glib-mkenums
+           gobject-introspection        ;for g-ir-scanner
+           pkg-config))
     (propagated-inputs
-     (list gtk+ libxres startup-notification))
-    (home-page "https://developer.gnome.org/libwnck/")
+     (list gtk+
+           libxres
+           startup-notification))
+    (home-page "https://gitlab.gnome.org/GNOME/libwnck/")
     (synopsis "Window Navigator Construction Kit")
     (description
      "Libwnck is the Window Navigator Construction Kit, a library for use in
@@ -4351,7 +4353,7 @@ engineering.")
 (define-public drawing
   (package
     (name "drawing")
-    (version "0.8.3")
+    (version "1.0.1")
     (source
      (origin
        (method git-fetch)
@@ -4360,36 +4362,42 @@ engineering.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0wz9p47riyy3h8b0sqsb6bx416hc6d1a1wyzlfmsxkrqrkwcjcm8"))))
+        (base32 "12xb522i7dxshw2ig12ald750fynlxan1lwz6gsxfa9p4ap2qypn"))))
     (build-system meson-build-system)
     (arguments
-     `(#:glib-or-gtk? #t
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((prog (string-append (assoc-ref outputs "out")
-                                        "/bin/drawing"))
-                   (pylib (string-append (assoc-ref outputs "out")
-                                         "/lib/python"
-                                         ,(version-major+minor
-                                           (package-version python))
-                                         "/site-packages")))
-               (wrap-program prog
-                 `("PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib))
-                 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))))))))
+     (list
+      #:glib-or-gtk? #t
+      #:imported-modules `(,@%meson-build-system-modules
+                           (guix build python-build-system))
+      #:modules '((guix build meson-build-system)
+                  ((guix build python-build-system) #:prefix python:)
+                  (guix build utils))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'disable-postinstall-script
+            (lambda _
+              (setenv "DESTDIR" "/")))
+          (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (wrap-program (search-input-file outputs "bin/drawing")
+                `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH")
+                                       ,(python:site-packages inputs outputs)))
+                `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))
     (native-inputs
-     `(("desktop-file-utils" ,desktop-file-utils)
-       ("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("gtk+:bin" ,gtk+ "bin")
-       ("pkg-config" ,pkg-config)))
+     (list desktop-file-utils
+           gettext-minimal
+           `(,glib "bin")
+           gobject-introspection
+           itstool
+           pkg-config
+           python))
     (inputs
-     (list librsvg
+     (list bash-minimal
+           librsvg
            gsettings-desktop-schemas
            gtk+
            pango
+           python
            python-pycairo
            python-pygobject))
     (home-page "https://maoschanz.github.io/drawing/")
@@ -4401,7 +4409,7 @@ engineering.")
 (define-public seahorse
   (package
     (name "seahorse")
-    (version "41.0")
+    (version "42.0")
     (source
      (origin
        (method url-fetch)
@@ -4409,7 +4417,7 @@ engineering.")
                            (version-major version) "/" name "-"
                            version ".tar.xz"))
        (sha256
-        (base32 "1x99i7kdvd8hbxcs5rfrq7nw6r9bfzaw263zaigjjj04h6gc1vp6"))))
+        (base32 "0c6nafhn4gcjwd1xbs5bjq9785114fc0pbhxbwp7wynyz3msq365"))))
     (build-system meson-build-system)
     (arguments
      '(#:glib-or-gtk? #t
@@ -4419,32 +4427,31 @@ engineering.")
            ;; Don't create 'icon-theme.cache'.
            (lambda _
              (substitute* "build-aux/meson_post_install.py"
-               (("gtk-update-icon-cache") "true"))
-             #t))
+               (("gtk-update-icon-cache") "true"))))
          (add-before 'check 'pre-check
            (lambda _
              ;; Tests require a writable HOME.
              (setenv "HOME" (getcwd)))))))
     (inputs
-     `(("gtk+" ,gtk+)
-       ("gcr" ,gcr)
-       ("gnupg" ,gnupg)
-       ("gpgme" ,gpgme)
-       ("openldap" ,openldap)
-       ("openssh" ,openssh)
-       ("avahi" ,avahi)
-       ("libhandy" ,libhandy)
-       ("libpwquality" ,libpwquality)
-       ("libsecret" ,libsecret)
-       ("libsoup" ,libsoup-minimal-2)))
+     (list gtk+
+           gcr
+           gnupg
+           gpgme
+           openldap
+           openssh
+           avahi
+           libhandy
+           libpwquality
+           libsecret
+           libsoup-minimal-2))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin")
-       ("itstool" ,itstool)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python)
-       ("vala" ,vala)
-       ("xmllint" ,libxml2)))
+     (list gettext-minimal
+           `(,glib "bin")
+           itstool
+           pkg-config
+           python
+           vala
+           libxml2))
     (home-page "https://wiki.gnome.org/Apps/Seahorse")
     (synopsis "Manage encryption keys and passwords in the GNOME keyring")
     (description
@@ -4509,7 +4516,7 @@ targeting the GNOME stack simple.")
 (define-public vala-next
   (package
     (inherit vala)
-    (version "0.56.2")
+    (version "0.56.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/vala/"
@@ -4517,7 +4524,7 @@ targeting the GNOME stack simple.")
                                   "vala-" version ".tar.xz"))
               (sha256
                (base32
-                "0k0jj3xwjq222x0hbqqy5bykhgk1f1wsb85bqcdgsnbqn6dn3jb6"))))
+                "1gwrnr0d0bqkh6m4bgz39mh3pcswcj43hyijlwgwp2bvpwhn41p1"))))
     (arguments
      (list
       #:configure-flags #~(list "CC=gcc" "--enable-coverage")
@@ -4560,7 +4567,7 @@ targeting the GNOME stack simple.")
 (define-public vte
   (package
     (name "vte")
-    (version "0.68.0")
+    (version "0.69.99")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/vte/"
@@ -4568,7 +4575,7 @@ targeting the GNOME stack simple.")
                                   "vte-" version ".tar.xz"))
               (sha256
                (base32
-                "0j8pvn225ybzx9p33ill838bzp8kkdn28383h0vs65m2kiwd9rqk"))))
+                "1v3i38yrjhc48nvs1g333s3q709mq824qq0k2fnsmrrwv15c3cg9"))))
     (build-system meson-build-system)
     (arguments
      (list #:configure-flags #~(list "-Dvapi=true"
@@ -4599,7 +4606,7 @@ editors, IDEs, etc.")
   (package
     (inherit vte)
     (name "vte-ng")
-    (version "0.58.2.a")
+    (version "0.59.0")
     (home-page "https://github.com/thestinger/vte-ng")
     (source (origin
               (method git-fetch)
@@ -4607,7 +4614,7 @@ editors, IDEs, etc.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
+                "03ffhjc0fq9p25y1b2c0a51jn7y2bc0acxsgymhcb3pyijc8ykjm"))))
     (build-system meson-build-system)
     (arguments
      (list #:configure-flags #~(list "-Ddocs=false")))
@@ -5942,7 +5949,7 @@ which are easy to play with the aid of a mouse.")
 (define-public amtk
   (package
     (name "amtk")
-    (version "5.3.1")
+    (version "5.5.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/amtk/"
@@ -5950,7 +5957,7 @@ which are easy to play with the aid of a mouse.")
                                   "amtk-" version ".tar.xz"))
               (sha256
                (base32
-                "12v3nj1bb7507ndprjggq0hpz8k719b4bwvl8sm43p3ibmn27anm"))))
+                "176vplk3inf0pp0prma8478hp0yhziq0krp5a9l47hg22z86v2gc"))))
     (build-system meson-build-system)
     (native-inputs
      (list gobject-introspection
@@ -5969,7 +5976,7 @@ both a traditional UI or a modern UI with a GtkHeaderBar.")
 (define-public devhelp
   (package
     (name "devhelp")
-    (version "41.2")
+    (version "41.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -5977,7 +5984,7 @@ both a traditional UI or a modern UI with a GtkHeaderBar.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1lk0gycjvs6gibhy0zs3ffkrkzrkyl5nkp7n60hgpa6syjq91apc"))))
+                "1rxn6kciyfdhnjrcjyf02cn3rki2xgwb4wrg5plbzjvpqasq66ml"))))
     (build-system meson-build-system)
     (arguments
      `(#:glib-or-gtk? #t
@@ -5987,22 +5994,18 @@ both a traditional UI or a modern UI with a GtkHeaderBar.")
            ;; Don't create 'icon-theme.cache'.
            (lambda _
              (substitute* "build-aux/meson/meson_post_install.py"
-               (("gtk-update-icon-cache") "true"))))
-         (add-after 'unpack 'fix-devhelp-gir-inputs
-           ;; It still mentions webkitgtk 4.0
-           (lambda _
-             (substitute* "devhelp/meson.build"
-               (("'WebKit2-4.0'") "'WebKit2-4.1'")))))))
+               (("gtk-update-icon-cache") "true")))))))
     (propagated-inputs
      (list gsettings-desktop-schemas))
     (native-inputs
-     `(("intltool" ,intltool)
-       ("itstool" ,itstool)
-       ("gobject-introspection" ,gobject-introspection)
-       ("glib:bin" ,glib "bin") ; for glib-mkmenus
-       ("pkg-config" ,pkg-config)))
+     (list gettext-minimal
+           gobject-introspection
+           `(,glib "bin")               ; for glib-mkmenus
+           itstool
+           pkg-config))
     (inputs
-     (list amtk gsettings-desktop-schemas webkitgtk))
+     (list amtk
+           webkitgtk))
     (home-page "https://wiki.gnome.org/Apps/Devhelp")
     (synopsis "API documentation browser for GNOME")
     (description
@@ -6013,19 +6016,8 @@ throughout GNOME for API documentation).")
 
 (define-public devhelp-with-libsoup2
   (package/inherit devhelp
-    (arguments
-     (substitute-keyword-arguments (package-arguments devhelp)
-       ((#:phases phases '%standard-phases)
-        `(modify-phases %standard-phases
-           (add-after 'unpack 'skip-gtk-update-icon-cache
-             ;; Don't create 'icon-theme.cache'.
-             (lambda _
-               (substitute* "build-aux/meson/meson_post_install.py"
-                 (("gtk-update-icon-cache") "true"))))))))
-    (inputs
-     `(("amtk" ,amtk)
-       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
-       ("webkitgtk" ,webkitgtk-with-libsoup2)))))
+    (inputs (modify-inputs (package-inputs devhelp)
+              (replace "webkitgtk" webkitgtk-with-libsoup2)))))
 
 (define-public cogl
   (package
@@ -6255,7 +6247,7 @@ such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
 (define-public gom
   (package
     (name "gom")
-    (version "0.3.2")
+    (version "0.4")
     (source
      (origin
        (method url-fetch)
@@ -6264,14 +6256,29 @@ such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
                            "gom-" version ".tar.xz"))
        (sha256
         (base32
-         "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
-    (build-system gnu-build-system)
+         "17ca07hpg7dqxjn0jpqim3xqcmplk2a87wbwrrlq3dd3m8381l38"))))
+    (build-system meson-build-system)
+    (arguments
+     (list
+      #:imported-modules `(,@%meson-build-system-modules
+                           (guix build python-build-system))
+      #:modules '((guix build meson-build-system)
+                  ((guix build python-build-system) #:prefix python:)
+                  (guix build utils))
+      #:configure-flags
+      #~(list (string-append "-Dpygobject-override-dir="
+                             (python:site-packages %build-inputs %outputs)
+                             "/gi/overrides"))))
     (native-inputs
-     (list intltool pkg-config gobject-introspection))
+     (list gettext-minimal
+           gobject-introspection
+           pkg-config
+           python
+           python-pygobject))
     (inputs
-     (list glib gdk-pixbuf sqlite))
-    ;; XXX TODO: Figure out how to run the test suite.
-    (arguments `(#:tests? #f))
+     (list glib
+           gdk-pixbuf
+           sqlite))
     (home-page "https://wiki.gnome.org/Projects/Gom")
     (synopsis "Object mapper from GObjects to SQLite")
     (description
@@ -6283,30 +6290,30 @@ queries upon that data.")
 (define-public libgnome-games-support
   (package
     (name "libgnome-games-support")
-    (version "1.7.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
-                                  (version-major+minor version) "/"
-                                  "libgnome-games-support-" version ".tar.xz"))
-              (sha256
-               (base32
-                "11g1r3ppb9v8m3anks9gxf7fv1x38vmjiya3lr7zjjv328pb69d6"))))
+    (version "2.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
+                           (version-major+minor version) "/"
+                           "libgnome-games-support-" version ".tar.xz"))
+       (sha256
+        (base32
+         "196jaga70r16bzypv4z07mnwr0xcm93gc91kxygcpp9fwdpiz0jk"))))
     (build-system meson-build-system)
     (arguments
-      '(#:glib-or-gtk? #t
-        #:phases
-          (modify-phases %standard-phases
-            (add-before 'check 'pre-check
-              (lambda _
-                ;; Tests require a writable HOME.
-                (setenv "HOME" (getcwd))
-                #t)))))
+     '(#:glib-or-gtk? #t
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'pre-check
+           (lambda _
+             ;; Tests require a writable HOME.
+             (setenv "HOME" (getcwd)))))))
     (native-inputs
      (list intltool pkg-config vala))
     (propagated-inputs
      ;; Required by libgnome-games-support-1.0.pc
-     (list gtk+ libgee))
+     (list gtk libgee))
     (home-page "https://www.gnome.org/")
     (synopsis "Useful functionality shared among GNOME games")
     (description
@@ -6314,10 +6321,27 @@ queries upon that data.")
 GNOME Games, but it may be used by others.")
     (license license:lgpl3+)))
 
+(define-public libgnome-games-support-1
+  (package
+    (inherit libgnome-games-support)
+    (version "1.8.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
+                           (version-major+minor version) "/"
+                           "libgnome-games-support-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0zggsg7h9nlcwwjcqc13pdjza17iiww325r3q0d76f5hlw24chr8"))))
+    (propagated-inputs (modify-inputs (package-propagated-inputs
+                                       libgnome-games-support)
+                         (replace "gtk" gtk+)))))
+
 (define-public gnome-klotski
   (package
     (name "gnome-klotski")
-    (version "3.34.0")
+    (version "3.38.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -6325,7 +6349,7 @@ GNOME Games, but it may be used by others.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0sbx0bzy32lh2c9jp8v7gz788wn9y1la8mr5a7gf7370szsl4d4f"))))
+                "1qm01hdd5yp8chig62bj10912vclbdvywwczs84sfg4zci2phqwi"))))
     (build-system meson-build-system)
     (arguments
      '(#:glib-or-gtk? #t
@@ -6335,18 +6359,19 @@ GNOME Games, but it may be used by others.")
            ;; Don't create 'icon-theme.cache'.
            (lambda _
              (substitute* "build-aux/meson_post_install.py"
-               (("gtk-update-icon-cache") (which "true")))
-             #t)))))
+               (("gtk-update-icon-cache") (which "true"))))))))
     (native-inputs
-     `(("desktop-file-utils" ,desktop-file-utils)
-       ("glib:bin" ,glib "bin") ; for glib-compile-resources
-       ("intltool" ,intltool)
-       ("itstool" ,itstool)
-       ("pkg-config" ,pkg-config)
-       ("vala" ,vala)
-       ("xmllint" ,libxml2)))
+     (list desktop-file-utils
+           `(,glib "bin")               ; for glib-compile-resources
+           intltool
+           itstool
+           pkg-config
+           vala
+           libxml2))
     (inputs
-     (list gtk+ libgnome-games-support librsvg))
+     (list gtk+
+           libgnome-games-support-1
+           librsvg))
     (home-page "https://wiki.gnome.org/Apps/Klotski")
     (synopsis "Sliding block puzzles")
     (description
@@ -6359,7 +6384,7 @@ as possible!")
 (define-public grilo
   (package
     (name "grilo")
-    (version "0.3.13")
+    (version "0.3.15")
     (source
      (origin
        (method url-fetch)
@@ -6367,11 +6392,18 @@ as possible!")
                            (version-major+minor version) "/"
                            "grilo-" version ".tar.xz"))
        (sha256
-        (base32 "0ywjvh7xw4ql1q4fvl0q5n06n08pga1g1nc9l7c3x5214gr3fj6i"))))
+        (base32 "0bbvaxw2das8826663z23y0acbdmcvggwdh64ws9jrk56vvsqlpk"))))
     (build-system meson-build-system)
+    (arguments
+     (list #:phases #~(modify-phases %standard-phases
+                        (add-before 'unpack 'set-HOME
+                          (lambda _
+                            ;; Tests require write access to HOME.
+                            (setenv "HOME" "/tmp"))))))
     (native-inputs
      (list `(,glib "bin") ; for glib-mkenums and glib-genmarshal
-           intltool
+           gettext-minimal
+           gsettings-desktop-schemas
            pkg-config
            gobject-introspection
            gtk-doc/stable
@@ -6380,9 +6412,9 @@ as possible!")
      (list cyrus-sasl
            glib
            gtk+
-           libxml2
            liboauth
-           libsoup-minimal-2
+           libsoup
+           libxml2
            totem-pl-parser))
     (native-search-paths
      (list (search-path-specification
@@ -6399,7 +6431,7 @@ for application developers.")
 (define-public grilo-plugins
   (package
     (name "grilo-plugins")
-    (version "0.3.13")
+    (version "0.3.15")
     (source
      (origin
        (method url-fetch)
@@ -6407,33 +6439,31 @@ for application developers.")
                            (version-major+minor version) "/"
                            name "-" version ".tar.xz"))
        (sha256
-        (base32 "1y10nnd711qxwgpz6spzp1rnk50fyf11kk1n71a31ab4fgb0ahqw"))))
+        (base32 "0cxbxg7i9qd1pyfjj7c15x9lawvaw5608jk2apcrac7rakcw6645"))))
     (build-system meson-build-system)
     (native-inputs
-     `(("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin")
-       ("gtk+:bin" ,gtk+ "bin")
-       ("itstool" ,itstool)
-       ("pkg-config" ,pkg-config)))
-    ;; TODO: ahavi, gstreamer
+     (list gettext-minimal
+           ;; Gstreamer plugins are required for tests.
+           gst-plugins-good
+           gst-plugins-bad
+           `(,glib "bin")
+           itstool
+           pkg-config))
     (inputs
-     `(("grilo" ,grilo)
-       ;("gmime" ,gmime) ; unused
-       ("gnome-online-accounts" ,gnome-online-accounts)
-       ("gom" ,gom)
-       ;("gssdp" ,gssdp) ; unused
-       ;("gupnp" ,gupnp) ; unused
-       ;("gupnp-av" ,gupnp-av) ; unused
-       ("json-glib" ,json-glib)
-       ("avahi" ,avahi)
-       ("libgdata" ,libgdata)
-       ("libmediaart" ,libmediaart)
-       ;("librest" ,rest) ; unused
-       ("libsoup" ,libsoup)
-       ("python-pygobject" ,python-pygobject)
-       ("totam-pl-parser" ,totem-pl-parser)
-       ("tracker" ,tracker)
-       ("tracker-miners" ,tracker-miners)))
+     (list avahi
+           grilo
+           gnome-online-accounts
+           gom
+           gstreamer
+           json-glib
+           avahi
+           libgdata
+           libmediaart
+           libsoup
+           python-pygobject
+           totem-pl-parser
+           tracker
+           tracker-miners))
     (arguments
      `(#:glib-or-gtk? #t
        ;;Disable lua-factory as it needs missing dependencies
@@ -6553,148 +6583,146 @@ which can read a large number of file formats.")
     (license license:gpl2+)))
 
 (define-public rhythmbox
- (package
-   (name "rhythmbox")
-   (version "3.4.4")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/rhythmbox/"
-                                (version-major+minor version) "/"
-                                "rhythmbox-" version ".tar.xz"))
-            (sha256
-             (base32
-              "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf"))))
-   (build-system glib-or-gtk-build-system)
-   (arguments
-    `(#:configure-flags
-      (list "--enable-lirc"
-            "--enable-python"
-            "--enable-vala"
-            "--with-brasero"
-            "--with-gudev"
-            "--with-libsecret")
-      #:phases
-      (modify-phases %standard-phases
-        (add-after
-         'install 'wrap-rhythmbox
-         (lambda* (#:key inputs outputs #:allow-other-keys)
-           (let ((out               (assoc-ref outputs "out"))
-                 (gi-typelib-path   (getenv "GI_TYPELIB_PATH"))
-                 (gst-plugin-path   (getenv "GST_PLUGIN_SYSTEM_PATH"))
-                 (grl-plugin-path   (getenv "GRL_PLUGIN_PATH"))
-                 (python-path       (getenv "GUIX_PYTHONPATH")))
-             (wrap-program (string-append out "/bin/rhythmbox")
-               `("GI_TYPELIB_PATH"        ":" prefix (,gi-typelib-path))
-               `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
-               `("GRL_PLUGIN_PATH"        ":" prefix (,grl-plugin-path))
-               `("GUIX_PYTHONPATH"             ":" prefix (,python-path))))
-           #t)))))
-   (propagated-inputs
-    (list dconf))
-   (native-inputs
-    `(("itstool" ,itstool)
-      ("intltool" ,intltool)
-      ("glib" ,glib "bin")
-      ("gobject-introspection" ,gobject-introspection)
-      ("desktop-file-utils" ,desktop-file-utils)
-      ("pkg-config" ,pkg-config)
-      ("xmllint" ,libxml2)))
-   (inputs
-    `(("json-glib" ,json-glib)
-      ("tdb" ,tdb)
-      ("gnome-desktop" ,gnome-desktop)
-      ("python" ,python)
-      ("python-pygobject" ,python-pygobject)
-      ("vala" ,vala)
-      ("gmime" ,gmime)
-      ("adwaita-icon-theme" ,adwaita-icon-theme)
-      ("grilo" ,grilo)
-      ("grilo-plugins" ,grilo-plugins)
-      ("gstreamer" ,gstreamer)
-      ("gst-plugins-base" ,gst-plugins-base)
-      ("gst-plugins-good" ,gst-plugins-good)
-      ("totem-pl-parser" ,totem-pl-parser)
-      ("libgudev" ,libgudev)
-      ;;("libmtp" ,libmtp) FIXME: Not detected
-      ("libsecret" ,libsecret)
-      ("libsoup" ,libsoup)
-      ("libnotify" ,libnotify)
-      ("libpeas" ,libpeas)
-      ("libsoup" ,libsoup-minimal-2)
-      ("lirc" ,lirc)
-      ;; TODO: clutter* only used by visualizer plugin, which also requires mx
-      ;;("clutter" ,clutter)
-      ;;("clutter-gtk" ,clutter-gtk)
-      ;;("clutter-gst" ,clutter-gst)
-      ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
-      ("atk" ,atk)
-      ("pango" ,pango)
-      ("gtk+" ,gtk+)
-      ;; TODO:
-      ;;  * libgpod
-      ;;  * mx
-      ("brasero" ,brasero)))
-   (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
-   (synopsis "Music player for GNOME")
-   (description "Rhythmbox is a music playing application for GNOME.  It
-supports playlists, song ratings, and any codecs installed through gstreamer.")
-   (license license:gpl2+)))
-
-(define-public eog
   (package
-    (name "eog")
-    (version "42.2")
+    (name "rhythmbox")
+    (version "3.4.6")
     (source (origin
               (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major version) "/"
-                                  name "-" version ".tar.xz"))
+              (uri (string-append "mirror://gnome/sources/rhythmbox/"
+                                  (version-major+minor version) "/"
+                                  "rhythmbox-" version ".tar.xz"))
               (sha256
                (base32
-                "0ph4b05cjlkzbn8vil4hjkwvfr1cp819yi2qifp418p15rm4lk8f"))))
+                "0d5hbsdk2p8w567mfzy4kk8xn4d227hrbyy857li3r2mrq884mpr"))))
     (build-system meson-build-system)
     (arguments
      (list
       #:glib-or-gtk? #t
-      #:configure-flags
-      ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
-      #~(list (string-append "-Dc_link_args=-Wl,-rpath="
-                             #$output "/lib/eog"))
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'skip-gtk-update-icon-cache
-            ;; Don't create 'icon-theme.cache'.
             (lambda _
               (substitute* "meson.build"
                 (("gtk_update_icon_cache: true")
                  "gtk_update_icon_cache: false"))))
-          (add-after 'install 'wrap-eog
+          (add-after 'install 'wrap-rhythmbox
             (lambda* (#:key outputs #:allow-other-keys)
-              (let ((gi-typelib-path (getenv "GI_TYPELIB_PATH")))
-                (wrap-program (search-input-file outputs "bin/eog")
-                  `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))))))
+              (wrap-program (search-input-file outputs "bin/rhythmbox")
+                `("GI_TYPELIB_PATH"        ":" prefix
+                  (,(getenv "GI_TYPELIB_PATH")))
+                `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
+                  (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
+                `("GRL_PLUGIN_PATH"        ":" prefix
+                  (,(getenv "GRL_PLUGIN_PATH")))
+                `("GUIX_PYTHONPATH"             ":" prefix
+                  (,(getenv "GUIX_PYTHONPATH")))))))))
     (propagated-inputs
      (list dconf))
     (native-inputs
-     (list gettext-minimal
-           itstool
-           `(,glib "bin")
+     (list desktop-file-utils
+           gettext-minimal
            gobject-introspection
+           `(,glib "bin")
+           itstool
            pkg-config
-           libxml2))
+           vala))
     (inputs
-     (list gnome-desktop
-           shared-mime-info
-           adwaita-icon-theme
+     ;; TODO:
+     ;;  * libgpod
+     ;;  * mx
+     ;; TODO: clutter* only used by visualizer plugin, which also requires mx
+     ;;clutter
+     ;;clutter-gtk
+     ;;clutter-gst
+     (list adwaita-icon-theme
+           atk
+           bash-minimal
+           brasero
+           json-glib
+           gmime
+           gnome-desktop
+           grilo
+           grilo-plugins
+           gsettings-desktop-schemas
+           gst-plugins-base
+           gst-plugins-good
+           gstreamer
+           gtk+
+           libgudev
+           libnotify
+           libpeas
+           libsecret
+           libmtp
+           libsoup-minimal-2
+           libxml2
+           lirc
+           pango
+           python
+           python-pygobject
+           tdb
+           totem-pl-parser))
+    (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
+    (synopsis "Music player for GNOME")
+    (description "Rhythmbox is a music playing application for GNOME.  It
+supports playlists, song ratings, and any codecs installed through gstreamer.")
+    (license license:gpl2+)))
+
+(define-public eog
+  (package
+    (name "eog")
+    (version "42.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0fpl8wz1j10r59m20d61b7wmp8ga48dd7svqv1a2ip66ig1b7h9h"))))
+    (build-system meson-build-system)
+    (arguments
+     (list
+      #:glib-or-gtk? #t
+      #:configure-flags
+      ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
+      #~(list (string-append "-Dc_link_args=-Wl,-rpath="
+                             #$output "/lib/eog"))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'skip-gtk-update-icon-cache
+            ;; Don't create 'icon-theme.cache'.
+            (lambda _
+              (substitute* "meson.build"
+                (("gtk_update_icon_cache: true")
+                 "gtk_update_icon_cache: false"))))
+          (add-after 'install 'wrap-eog
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let ((gi-typelib-path (getenv "GI_TYPELIB_PATH")))
+                (wrap-program (search-input-file outputs "bin/eog")
+                  `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))))))
+    (propagated-inputs
+     (list dconf
+           libhandy))                   ;libhandy is required by eog.pc
+    (native-inputs
+     (list gettext-minimal
+           `(,glib "bin")
+           gobject-introspection
+           itstool
+           libxml2
+           pkg-config))
+    (inputs
+     (list adwaita-icon-theme
+           bash-minimal
            exempi
+           gnome-desktop
+           gtk
            lcms
            libexif
-           libhandy
+           libjpeg-turbo
            libpeas
            libportal
-           libjpeg-turbo
            librsvg
-           gtk))
+           shared-mime-info))
     (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
     (synopsis "GNOME image viewer")
     (description "Eye of GNOME is the GNOME image viewer.  It
@@ -6708,7 +6736,7 @@ supports image conversion, rotation, and slideshows.")
   ;; 'XDG_DATA_DIRS' appropriately set.
   (package
     (name "eog-plugins")
-    (version "3.26.8")
+    (version "42.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/eog-plugins/"
@@ -6716,30 +6744,22 @@ supports image conversion, rotation, and slideshows.")
                                   "eog-plugins-" version ".tar.xz"))
               (sha256
                (base32
-                "1dcxdjp7x092wn0iq7975f9b05ksb5kl5mxmyiqmydrja91ryw40"))))
-    (build-system gnu-build-system)
-    (arguments
-     '(#:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'fix-plugins-path
-           ;; XXX: EOG looks its plugins in "share/eog/plugins", not in
-           ;; "lib/eog/plugins".
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (plugins (string-append out "/share/eog/plugins")))
-               (mkdir (dirname plugins))
-               (symlink (string-append out "/lib/eog/plugins") plugins)))))))
+                "0prymlrfh66p03va5aj30wazshp7bn80gzcsj9dgsmss2k512wlb"))))
+    (build-system meson-build-system)
     (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
     (synopsis "Extensions for the Eye of GNOME image viewer")
     (native-inputs
-     (list pkg-config gettext-minimal))
+     (list gettext-minimal
+           pkg-config
+           python))
     (inputs
      (list eog
            glib
            gtk+
-           libpeas
+           libchamplain
            libexif
-           libchamplain))
+           libgdata
+           libpeas))
     (description
      "This package provides plugins for the Eye of GNOME (EOG) image viewer,
 notably:
@@ -7017,7 +7037,7 @@ a secret password store, an adblocker, and a modern UI.")
 (define-public epiphany
   (package
     (name "epiphany")
-    (version "42.2")
+    (version "42.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/epiphany/"
@@ -7025,7 +7045,7 @@ a secret password store, an adblocker, and a modern UI.")
                                   "epiphany-" version ".tar.xz"))
               (sha256
                (base32
-                "0b8rhns3b58f8dnp83mm1g933aqf88d8wrfyyp7jq3fihvw2rh4j"))))
+                "0q08ixzgp341g5pq6rfy5q75m9bvddvl8na3qa5v5vi056nkh29p"))))
     (build-system meson-build-system)
     (arguments
      (list
@@ -7053,33 +7073,37 @@ a secret password store, an adblocker, and a modern UI.")
       #:configure-flags
       ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
       #~(list (string-append "-Dc_link_args=-Wl,-rpath="
-                             #$output "/lib/epiphany"))))
+                             #$output "/lib/epiphany")
+              "-Dsoup2=disabled")))     ;use libsoup 3
     (propagated-inputs (list dconf))
-    (native-inputs (list desktop-file-utils ; for update-desktop-database
-                         `(,glib "bin") ; for glib-mkenums
-                         intltool
-                         itstool
-                         pkg-config
-                         libxml2
-                         xorg-server-for-tests))
-    (inputs (list avahi
-                  gcr
-                  librsvg ; for loading SVG files
-                  glib-networking
-                  gnome-desktop
-                  gsettings-desktop-schemas
-                  json-glib
-                  iso-codes
-                  libarchive
-                  libdazzle
-                  libhandy
-                  libnotify
-                  libportal
-                  libsecret
-                  libxslt
-                  nettle ; for hogweed
-                  sqlite
-                  webkitgtk-with-libsoup2))
+    (native-inputs
+     (list desktop-file-utils           ; for update-desktop-database
+           gettext-minimal
+           `(,glib "bin")               ; for glib-mkenums
+           itstool
+           pkg-config
+           libxml2
+           xorg-server-for-tests))
+    (inputs
+     (list avahi
+           gcr
+           glib-networking
+           gnome-desktop
+           gsettings-desktop-schemas
+           iso-codes
+           json-glib
+           libarchive
+           libdazzle
+           libhandy
+           libnotify
+           libportal
+           librsvg                      ; for loading SVG files
+           libsecret
+           libsoup
+           libxslt
+           nettle                       ; for hogweed
+           sqlite
+           webkitgtk))
     (home-page "https://wiki.gnome.org/Apps/Web")
     (synopsis "GNOME web browser")
     (description
@@ -7090,7 +7114,7 @@ principles are simplicity and standards compliance.")
 (define-public d-feet
   (package
     (name "d-feet")
-    (version "0.3.14")
+    (version "0.3.16")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -7098,47 +7122,39 @@ principles are simplicity and standards compliance.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
-    (build-system glib-or-gtk-build-system)
+                "1jqw5ndpgyb0zxh0g21ai1911lfrm56vz18xbccfqm4sk95wwcw7"))))
+    (build-system meson-build-system)
     (arguments
-     '(#:out-of-source? #f ; tests need to run in the source directory.
-       #:phases
-       (modify-phases %standard-phases
-         (add-before
-          'check 'pre-check
-          (lambda _
-            ;; The test suite requires a running X server.
-            (system "Xvfb :1 &")
-            (setenv "DISPLAY" ":1")
-            ;; Don't fail on missing '/etc/machine-id'.
-            (setenv "DBUS_FATAL_WARNINGS" "0")
-            ;; tests.py and window.py don't meet E402:
-            ;;   E402 module level import not at top of file
-            (substitute* "src/tests/Makefile"
-              (("--ignore=E123") "--ignore=E123,E402"))
-            #t))
-         (add-after
-          'install 'wrap-program
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((prog (string-append (assoc-ref outputs "out")
-                                       "/bin/d-feet")))
-              (wrap-program prog
+     (list
+      #:glib-or-gtk? #t
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'check 'pre-check
+            (lambda _
+              ;; The test suite requires a running X server.
+              (system "Xvfb :1 &")
+              (setenv "DISPLAY" ":1")))
+          (add-before 'install 'disable-gtk-update-icon-cache
+            (lambda _
+              (setenv "DESTDIR" "/")))
+          (add-after 'install 'wrap-program
+            (lambda* (#:key outputs #:allow-other-keys)
+              (wrap-program (search-input-file outputs "bin/d-feet")
                 `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH")))
-                `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
-              #t))))))
+                `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))
     (native-inputs
-     `(("intltool" ,intltool)
-       ("itstool" ,itstool)
-       ("pkg-config" ,pkg-config)
-       ("python-pep8" ,python-pep8)
-       ("xmllint" ,libxml2)
-       ("xorg-server" ,xorg-server-for-tests)))
+     (list `(,glib "bin")
+           intltool
+           itstool
+           libxml2
+           pkg-config
+           python-pep8
+           xorg-server-for-tests))
     (inputs
-     `(("gobject-introspection" ,gobject-introspection)
-       ("gtk+" ,gtk+)
-       ("python" ,python-wrapper)
-       ("hicolor-icon-theme" ,hicolor-icon-theme)
-       ("python-pygobject" ,python-pygobject)))
+     (list gobject-introspection
+           gtk+
+           python-wrapper
+           python-pygobject))
     (home-page "https://wiki.gnome.org/Apps/DFeet")
     (synopsis "D-Bus debugger")
     (description
@@ -7191,7 +7207,7 @@ jQuery.Syntax JavaScript libraries.")
 (define-public yelp
   (package
     (name "yelp")
-    (version "41.0")
+    (version "42.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -7199,15 +7215,22 @@ jQuery.Syntax JavaScript libraries.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "11shrqass8ak8m10nayqssa6sbrrxa13ffpamvqi1c0yzkxdk9r5"))))
+                "0h9vf4fx056imjf8ibmn03wg1c3hniipy1nsm2jqi62lp1m19c95"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      (list `(,glib "bin") ; for glib-genmarshal, etc.
-           intltool itstool pkg-config))
+           intltool
+           itstool
+           pkg-config))
     (propagated-inputs
      (list dconf))
     (inputs
-     (list gsettings-desktop-schemas libxslt sqlite webkitgtk yelp-xsl))
+     (list gsettings-desktop-schemas
+           libhandy
+           libxslt
+           sqlite
+           webkitgtk
+           yelp-xsl))
     (home-page "https://wiki.gnome.org/Apps/Yelp")
     (synopsis "GNOME help browser")
     (description
@@ -7251,7 +7274,7 @@ wraps things up in a developer-friendly way.")
 (define-public libgee
   (package
     (name "libgee")
-    (version "0.20.3")
+    (version "0.20.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/libgee/"
@@ -7259,19 +7282,19 @@ wraps things up in a developer-friendly way.")
                                   "libgee-" version ".tar.xz"))
               (sha256
                (base32
-                "1pm525wm11dhwz24m8bpcln9547lmrigl6cxf3qsbg4cr3pyvdfh"))))
+                "060mbj6ihca315a6wqj47mfzm2881azwm5bl0vwjg9ymay4km1ii"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-introspection-install-dir
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out")))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'fix-introspection-install-dir
+            (lambda _
               (substitute* "gee/Makefile.in"
                 (("@INTROSPECTION_GIRDIR@")
-                 (string-append out "/share/gir-1.0/"))
+                 (string-append #$output "/share/gir-1.0/"))
                 (("@INTROSPECTION_TYPELIBDIR@")
-                 (string-append out "/lib/girepository-1.0/")))))))))
+                 (string-append #$output "/lib/girepository-1.0/"))))))))
     (native-inputs
      (list `(,glib "bin") pkg-config))
     (inputs
@@ -7286,7 +7309,7 @@ classes for commonly used data structures.")
 (define-public gexiv2
   (package
     (name "gexiv2")
-    (version "0.12.2")
+    (version "0.14.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -7294,16 +7317,32 @@ classes for commonly used data structures.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0k4ljzzz5dwqndw8awvlw3ala8rh3b2rk9i4jzvywc53mi9ba8i3"))))
+                "17nnsslj2wpizpx742w5lxdzcz5mx6jmsqcrli7zddi0zyk7k0p5"))))
     (build-system meson-build-system)
+    (arguments
+     (list
+      #:imported-modules `(,@%meson-build-system-modules
+                           (guix build python-build-system))
+      #:modules '((guix build meson-build-system)
+                  ((guix build python-build-system) #:prefix python:)
+                  (guix build utils))
+      #:configure-flags
+      #~(list (string-append "-Dpython3_girdir="
+                             (python:site-packages %build-inputs %outputs)
+                             "/gi/overrides"))))
     (native-inputs
      (list gcr
-           `(,glib "bin") pkg-config vala))
+           `(,glib "bin")
+           pkg-config
+           python
+           python-pygobject
+           vala))
     (propagated-inputs
      ;; Listed in "Requires" section of gexiv2.pc
      (list exiv2))
     (inputs
-     (list glib gobject-introspection))
+     (list glib
+           gobject-introspection))
     (home-page "https://wiki.gnome.org/Projects/gexiv2")
     (synopsis "GObject wrapper around the Exiv2 photo metadata library")
     (description
@@ -7315,7 +7354,7 @@ metadata in photo and video files of various formats.")
 (define-public shotwell
   (package
     (name "shotwell")
-    (version "0.30.16")
+    (version "0.31.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/shotwell/"
@@ -7323,7 +7362,7 @@ metadata in photo and video files of various formats.")
                                   "shotwell-" version ".tar.xz"))
               (sha256
                (base32
-                "1yhqfmz49qkls4i6xaznm5ybwzv19jxsqjdic60wn0ykvbxjr269"))))
+                "06awlix23y1cd89n6v9vip48cg08fjq8v6zaw38k5clrrv38y11v"))))
     (build-system meson-build-system)
     (arguments
      '(#:glib-or-gtk? #t
@@ -7333,31 +7372,32 @@ metadata in photo and video files of various formats.")
            (lambda _
              (substitute* "build-aux/meson/postinstall.py"
                (("gtk-update-icon-cache") (which "true"))
-               (("update-desktop-database") (which "true")))
-             #t)))))
+               (("update-desktop-database") (which "true"))))))))
     (propagated-inputs
      (list dconf))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin")
-       ("itstool" ,itstool)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python)
-       ("vala" ,vala)))
+     (list gettext-minimal
+           `(,glib "bin")
+           itstool
+           pkg-config
+           python
+           vala-next))
     (inputs
-     `(("gcr" ,gcr)
-       ("gexiv2" ,gexiv2)
-       ("gst-plugins-base" ,gst-plugins-base)
-       ("gstreamer" ,gstreamer)
-       ("json-glib" ,json-glib)
-       ("libgdata" ,libgdata)
-       ("libgee" ,libgee)
-       ("libgphoto2" ,libgphoto2)
-       ("libgudev" ,libgudev)
-       ("libraw" ,libraw)
-       ("libxml2" ,libxml2)
-       ("sqlite" ,sqlite)
-       ("webkitgtk" ,webkitgtk-with-libsoup2)))
+     (list gcr
+           gexiv2
+           gst-plugins-base
+           gstreamer
+           json-glib
+           libgdata
+           libgee
+           libgphoto2
+           libgudev
+           libraw
+           libsecret
+           libwebp
+           libxml2
+           sqlite
+           webkitgtk))
     (home-page "https://wiki.gnome.org/Apps/Shotwell")
     (synopsis "Photo manager for GNOME 3")
     (description
@@ -7370,7 +7410,7 @@ share them with others via social networking and more.")
 (define-public file-roller
   (package
     (name "file-roller")
-    (version "3.40.0")
+    (version "3.42.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/file-roller/"
@@ -7378,22 +7418,27 @@ share them with others via social networking and more.")
                                   "file-roller-" version ".tar.xz"))
               (sha256
                (base32
-                "039w1dcpa5ypmv6sm634alk9vbcdkyvy595vkh5gn032jsiqca2a"))))
+                "1iq24g2z7kf1a6kn9asp96lc59r8pxxjvcmm5r7zy47cadnqwhqw"))))
     (build-system meson-build-system)
+    (arguments
+     (list #:glib-or-gtk? #t
+           #:phases #~(modify-phases %standard-phases
+                        (add-before 'install 'disable-gtk-update-icon-cache
+                          (lambda _
+                            (setenv "DESTDIR" "/"))))))
     (native-inputs
-     (list desktop-file-utils ; for update-desktop-database
-           intltool
+     (list desktop-file-utils
+           gettext-minimal
+           `(,glib "bin")
            itstool
            pkg-config
-           python
-           `(,gtk+ "bin") ; gtk-update-icon-cache
-           `(,glib "bin")))
+           python))
     ;; TODO: Add libnautilus.
     (inputs
      (list gtk+
-           gdk-pixbuf
            json-glib
            libarchive
+           libhandy
            libnotify
            nettle
            libxml2))
@@ -8050,7 +8095,7 @@ users.")
 (define-public network-manager
   (package
     (name "network-manager")
-    (version "1.40.0")
+    (version "1.41.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/NetworkManager/"
@@ -8060,7 +8105,7 @@ users.")
                                        "network-manager-meson.patch"))
               (sha256
                (base32
-                "00zwx7cvl8p8xv5h8yvlj2r5wycbvbqia7z4hjmmvjicpiby1rxf"))))
+                "0v5a5fw1zwa94ksz6d7hyj14wwdxzmswgm81ryhxmyn3nrcf1akg"))))
     (build-system meson-build-system)
     (outputs '("out"
                "doc"))                  ; 8 MiB of gtk-doc HTML
@@ -8148,47 +8193,47 @@ users.")
     (propagated-inputs
      (list glib))
     (native-inputs
-     (list `(,glib "bin")               ; for gdbus-codegen
-           gtk-doc/stable
-           gobject-introspection
-           docbook-xml
+     (list docbook-xml
            docbook-xsl
-           intltool
-           libxslt
+           gettext-minimal
+           `(,glib "bin")               ;for gdbus-codegen
+           gobject-introspection
+           gtk-doc/stable
            libxml2
+           libxslt
+           perl
            pkg-config
-           vala
-           ;; For testing.
-           python-wrapper
            python-dbus
-           python-pygobject))
+           python-pygobject
+           python-wrapper
+           vala))
     (inputs
-     (list curl
+     (list audit
+           curl
            cyrus-sasl
            dbus-glib
            dnsmasq
+           elogind
            eudev
            gnutls
            iptables
            isc-dhcp
-           iwd                 wpa_supplicant alternative
+           iwd                          ;wpa_supplicant alternative
            jansson
-           audit
            libgcrypt
            libgudev
            libndp
            libnl
+           libpsl
            libselinux
-           libsoup
            mobile-broadband-provider-info
            modem-manager
-           newt               ;for the 'nmtui' console interface
-           openresolv   alternative resolv.conf manager
+           newt                         ;for the 'nmtui' console interface
+           openresolv                   ;alternative resolv.conf manager
            polkit
            ppp
            readline
-           util-linux
-           elogind))
+           util-linux))
     (synopsis "Network connection manager")
     (home-page "https://wiki.gnome.org/Projects/NetworkManager")
     (description
@@ -8207,7 +8252,7 @@ services.")
 (define-public network-manager-openvpn
   (package
     (name "network-manager-openvpn")
-    (version "1.8.12")
+    (version "1.10.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -8216,35 +8261,42 @@ services.")
                     "/NetworkManager-openvpn-" version ".tar.xz"))
               (sha256
                (base32
-                "062kh4zj7jfbwy4zzcwpq2m457bzbpm3l18s0ysnw3mgia3siz8f"))))
+                "00fiyjbp42pdv5h2vdkzxd2rw32ikcinjgxrzdxak61kgw8d8iap"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'configure 'patch-path
-           (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
-             (let* ((ovpn (search-input-file inputs "/sbin/openvpn"))
-                    (modprobe (search-input-file inputs "/bin/modprobe"))
-                    (pretty-ovpn (string-append "\"" ovpn "\"")))
-               (for-each
-                (lambda (file)
-                  (substitute* file
-                    (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
-                    (("\"/usr/sbin/openvpn\"") pretty-ovpn)
-                    (("\"/sbin/openvpn\"") pretty-ovpn)
-                    (("/sbin/modprobe") modprobe)))
-                '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
-             #t)))))
+     (list
+      #:configure-flags #~(list "--enable-absolute-paths"
+                                "--localstatedir=/var"
+                                "--with-gtk4=yes")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'configure 'patch-path
+            (lambda* (#:key inputs #:allow-other-keys #:rest args)
+              (let* ((ovpn (search-input-file inputs "/sbin/openvpn"))
+                     (modprobe (search-input-file inputs "/bin/modprobe"))
+                     (pretty-ovpn (string-append "\"" ovpn "\"")))
+                (for-each
+                 (lambda (file)
+                   (substitute* file
+                     (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
+                     (("\"/usr/sbin/openvpn\"") pretty-ovpn)
+                     (("\"/sbin/openvpn\"") pretty-ovpn)
+                     (("/sbin/modprobe") modprobe)))
+                 '("src/nm-openvpn-service.c"
+                   "properties/nm-openvpn-editor.c"))))))))
     (native-inputs
-     (list pkg-config intltool))
+     (list intltool
+           `(,glib "bin")
+           pkg-config))
     (inputs
      (list gtk+
+           gtk
            kmod
-           openvpn
-           network-manager
            libnma
-           libsecret))
+           libsecret
+           network-manager
+           openvpn
+           pango-next))                 ;remove after it's the default
     (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
     (synopsis "OpenVPN plug-in for NetworkManager")
     (description
@@ -8256,7 +8308,7 @@ to virtual private networks (VPNs) via OpenVPN.")
 (define-public network-manager-vpnc
   (package
     (name "network-manager-vpnc")
-    (version "1.2.6")
+    (version "1.2.8")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -8265,14 +8317,12 @@ to virtual private networks (VPNs) via OpenVPN.")
                     "/NetworkManager-vpnc-" version ".tar.xz"))
               (sha256
                (base32
-                "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
+                "1k7vkalslzmz8zvfy76k7z10b9krm7da917gwzyw7zf8afm32pnn"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags '("--enable-absolute-paths"
                            "--localstatedir=/var"
-                           ;; libnm-glib has been removed from network-manager
-                           ;; 1de8383ad9fdfc8f552117e5d109bdfa7005634b
-                           "--with-libnm-glib=no")
+                           "--with-gtk4=yes")
        #:phases
        (modify-phases %standard-phases
          (add-after 'configure 'patch-path
@@ -8284,17 +8334,20 @@ to virtual private networks (VPNs) via OpenVPN.")
                     (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
                     (("\"/usr/sbin/vpnc\"") pretty-ovpn)
                     (("\"/sbin/vpnc\"") pretty-ovpn)
-                    (("/sbin/modprobe") modprobe)))
-             #t)))))
+                    (("/sbin/modprobe") modprobe))))))))
     (native-inputs
-     (list pkg-config intltool))
+     (list `(,glib "bin")
+           intltool
+           pkg-config))
     (inputs
      (list gtk+
+           gtk
            kmod
            vpnc
            network-manager
            libnma
-           libsecret))
+           libsecret
+           pango-next))                 ;TODO: remove after it's the default
     (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
     (synopsis "VPNC plug-in for NetworkManager")
     (description
@@ -8306,7 +8359,7 @@ Compatible with Cisco VPN concentrators configured to use IPsec.")
 (define-public network-manager-openconnect
   (package
     (name "network-manager-openconnect")
-    (version "1.2.6")
+    (version "1.2.8")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -8315,10 +8368,12 @@ Compatible with Cisco VPN concentrators configured to use IPsec.")
                     "/NetworkManager-openconnect-" version ".tar.xz"))
               (sha256
                (base32
-                "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
+                "1k6d6cv2c9v8gf0f2js6cklr3ijhaanbz0nhvlwy5n42bmwamvax"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
+     `(#:configure-flags '("--enable-absolute-paths"
+                           "--localstatedir=/var"
+                           "--with-gtk4=yes")
        #:phases
        (modify-phases %standard-phases
          (add-after 'configure 'patch-path
@@ -8329,19 +8384,23 @@ Compatible with Cisco VPN concentrators configured to use IPsec.")
                     (pretty-ovpn (string-append "\"" openconnect "\"")))
                (substitute* "src/nm-openconnect-service.c"
                  (("\"/usr(/local)?/s?bin/openconnect\"") pretty-ovpn)
-                 (("/sbin/modprobe") modprobe)))
-             #t)))))
+                 (("/sbin/modprobe") modprobe))))))))
     (native-inputs
-     (list intltool libnma pkg-config))
+     (list `(,glib "bin")
+           intltool
+           libnma
+           pkg-config))
     (inputs
      (list gcr
+           gtk
            gtk+
            kmod
            libsecret
            libxml2
            lz4
            network-manager
-           openconnect))
+           openconnect
+           pango-next))                 ;TODO: remove after it's the default
     (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
     (synopsis "OpenConnect plug-in for NetworkManager")
     (description
@@ -8359,7 +8418,7 @@ Cisco's AnyConnect SSL VPN.")
 (define-public mobile-broadband-provider-info
   (package
     (name "mobile-broadband-provider-info")
-    (version "20190116")
+    (version "20220725")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -8368,10 +8427,11 @@ Cisco's AnyConnect SSL VPN.")
                     "mobile-broadband-provider-info-" version ".tar.xz"))
               (sha256
                (base32
-                "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
+                "1k9acdnl4mr6aqh11xbklv2gyww82jddaqmw4aqdzwl7q80swia8"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f))                    ; no tests
+    (native-inputs (list libxslt))
     (home-page "https://wiki.gnome.org/Projects/NetworkManager")
     (synopsis "Database of broadband connection configuration")
     (description "Database of broadband connection configuration.")
@@ -8424,7 +8484,7 @@ the available networks and allows users to easily switch between them.")
 (define-public libxml++
   (package
     (name "libxml++")
-    (version "3.2.0")
+    (version "5.0.2")
     (source
      (origin
        (method git-fetch)
@@ -8433,37 +8493,41 @@ the available networks and allows users to easily switch between them.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0wjz591rjlgbah7dcq8i0yn0zw9d62b7g6r0pppx81ic0cx8n8ga"))))
+        (base32 "13jlhz57yjxapplflm8aarczxv6ll3d336y1446mr5n4ylkcc1xz"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-documentation
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
-                                          "/xml/dtd/docbook"))
-                   (xsldoc (string-append (assoc-ref inputs "docbook-xsl")
-                                          "/xml/xsl/docbook-xsl-"
-                                          ,(package-version docbook-xsl))))
-               (substitute* '("examples/dom_xpath/example.xml"
-                              "docs/manual/libxml++_without_code.xml")
-                 (("http://.*/docbookx\\.dtd")
-                  (string-append xmldoc "/docbookx.dtd")))
-               (setenv "SGML_CATALOG_FILES"
-                       (string-append xmldoc "/catalog.xml"))
-               (substitute* "docs/manual/docbook-customisation.xsl"
-                 (("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl")
-                  (string-append xsldoc "/html/chunk.xsl")))))))))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'fix-documentation
+            (lambda* (#:key native-inputs inputs #:allow-other-keys)
+              (let* ((xsl-version #$(package-version docbook-xsl))
+                     (xsldoc (string-append "xml/xsl/docbook-xsl-"
+                                            xsl-version)))
+                (substitute* '("examples/dom_xpath/example.xml"
+                               "docs/manual/libxml++_without_code.xml")
+                  (("http://.*/docbookx\\.dtd")
+                   (search-input-file (or native-inputs inputs)
+                                      "xml/dtd/docbook/docbookx.dtd")))
+                (setenv "SGML_CATALOG_FILES"
+                        (search-input-file (or native-inputs inputs)
+                                           (string-append
+                                            xsldoc "/catalog.xml")))
+                (substitute* "docs/manual/docbook-customisation.xsl"
+                  (("http://docbook.sourceforge.net/release/xsl\
+/current/html/chunk.xsl")
+                   (search-input-file (or native-inputs inputs)
+                                      (string-append xsldoc
+                                                     "/html/chunk.xsl"))))))))))
     (propagated-inputs
-     ;; libxml++-3.0.pc refers to all these.
-     (list glibmm-2.64 libxml2))
+     (list libxml2))                    ;required by .pc file
     (native-inputs
      (list autoconf
            automake
            doxygen
            docbook-xml
            docbook-xsl
-           graphviz for dot
+           graphviz                     ;for dot
            libtool
            libxslt
            mm-common
@@ -8482,7 +8546,7 @@ library.")
   (package
     (inherit libxml++)
     (name "libxml++")
-    (version "2.40.1")
+    (version "2.42.2")
     (source
      (origin
        (method git-fetch)
@@ -8491,7 +8555,9 @@ library.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0gbfi4l88w828gmyc9br11l003ylyi4vigp5d1kfgsn0k4cig3y9"))))))
+        (base32 "05slsbhc25z7kwlc28ydl3dfyp7rgbmz1fxj9z6gcvpg3hkghj2m"))))
+    (propagated-inputs (modify-inputs (package-propagated-inputs libxml++)
+                         (append glibmm-2.64)))))
 
 (define-public gdm
   (package
@@ -9056,7 +9122,7 @@ like switching to windows and launching applications.")
 (define-public gtk-vnc
   (package
     (name "gtk-vnc")
-    (version "1.2.0")
+    (version "1.3.1")
     (source
      (origin
        (method url-fetch)
@@ -9065,11 +9131,10 @@ like switching to windows and launching applications.")
                        (version-major+minor version) "/"
                        name "-" version ".tar.xz"))
        (sha256
-        (base32 "0jmr6igyzcj2wmx5v5ywaazvdz3hx6a6rys26yb4l4s71l281bvs"))))
+        (base32 "1kpih1gnp3hmsx4l6pig10zn7gd3s5fwm0k6icax0n859sn669si"))))
     (build-system meson-build-system)
     (arguments
-     `(#:meson ,meson-0.60
-       #:glib-or-gtk? #t))   ; To wrap binaries and/or compile schemas
+     `(#:glib-or-gtk? #t))   ; To wrap binaries and/or compile schemas
     (native-inputs
      (append
       ;; GJS depends on Rust, which is x86_64-only so far, so remove the GJS
@@ -9086,7 +9151,8 @@ like switching to windows and launching applications.")
              python-wrapper
              vala)))
     (inputs
-     (list cairo (librsvg-for-system)))
+     (list cairo
+           (librsvg-for-system)))
     (propagated-inputs
      ;; These are all in Requires or Requires.private of the .pc files.
      (list cyrus-sasl
@@ -9156,6 +9222,11 @@ easy, safe, and automatic.")
              "-Dsystemd_user_services=false")
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-paths
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "utils/trackertestutils/__main__.py"
+               (("/bin/bash")
+                (search-input-file inputs "bin/bash")))))
          (add-before 'configure 'set-shell
            (lambda _
              (setenv "SHELL" (which "bash"))))
@@ -9176,6 +9247,7 @@ easy, safe, and automatic.")
     (native-inputs
      (list gettext-minimal
            `(,glib "bin")
+           glibc-utf8-locales
            gobject-introspection
            docbook-xsl
            docbook-xml
@@ -9190,7 +9262,8 @@ easy, safe, and automatic.")
            python
            vala))
     (inputs
-     (list dbus
+     (list bash-minimal
+           dbus
            libsoup))
     (propagated-inputs
      ;; These are in Requires or Requires.private of tracker-sparql-3.0.pc.
@@ -9347,7 +9420,7 @@ shared object databases, search tools and indexing.")
 (define-public nautilus
   (package
     (name "nautilus")
-    (version "41.1")
+    (version "42.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -9355,28 +9428,27 @@ shared object databases, search tools and indexing.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0bsqh241m43x3qb3z0mjakjic610ncl95zhjdgls649phnc30qry"))
+                "1cncyiyh79w1id6a6s2f0rxmgwl65lp4ml4afa0z35jrnwp2s8cr"))
               (patches
-               ;; This patch is already upstream and can be removed next
-               ;; release.
-               (search-patches "nautilus-add-libportal-gtk3.patch"))))
+               (search-patches "nautilus-disable-tracker-tests.patch"))))
     (build-system meson-build-system)
     (arguments
-     `(#:glib-or-gtk? #t
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'make-extensible
-           (lambda _
-             (substitute* "src/nautilus-module.c"
-               (("static gboolean initialized = FALSE;" all)
-                (string-append all "
+     (list
+      #:glib-or-gtk? #t
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'make-extensible
+            (lambda _
+              (substitute* "src/nautilus-module.c"
+                (("static gboolean initialized = FALSE;" all)
+                 (string-append all "
 const char *extension_path;
 char **extension_dirs, **d;
 ")
-                )
-               (("load_module_dir \\(NAUTILUS_EXTENSIONDIR\\);" all)
-                (string-append all
-                               "
+                 )
+                (("load_module_dir \\(NAUTILUS_EXTENSIONDIR\\);" all)
+                 (string-append all
+                                "
 extension_path = g_getenv (\"NAUTILUS_EXTENSION_PATH\");
 if (extension_path)
 {
@@ -9386,21 +9458,28 @@ if (extension_path)
     g_strfreev(extension_dirs);
 }
 ")))))
-         (add-after 'unpack 'skip-gtk-update-icon-cache
-           ;; Don't create 'icon-theme.cache'.
-           (lambda _
-             (substitute* "build-aux/meson/postinstall.py"
-               (("gtk-update-icon-cache") "true")))))
-       ;; XXX: FAIL: check-nautilus
-       ;;   Settings schema 'org.gnome.nautilus.preferences' is not installed
-       #:tests? #f))
+          (add-after 'unpack 'skip-gtk-update-icon-cache
+            ;; Don't create 'icon-theme.cache'.
+            (lambda _
+              (substitute* "build-aux/meson/postinstall.py"
+                (("gtk-update-icon-cache") "true"))))
+          (delete 'check)
+          (add-after 'install 'check
+            (assoc-ref %standard-phases 'check))
+          (add-before 'check 'pre-check
+            (lambda _
+              (setenv "HOME" "/tmp")    ;some tests require a writable HOME
+              (setenv "XDG_DATA_DIRS"
+                      (string-append (getenv "XDG_DATA_DIRS")
+                                     ":" #$output "/share")))))))
     (native-inputs
-     (list desktop-file-utils     ; for update-desktop-database
-           `(,glib "bin")         ; for glib-mkenums, etc.
+     (list desktop-file-utils           ;for update-desktop-database
+           `(,glib "bin")               ;for glib-mkenums, etc.
+           gettext-minimal
            gobject-introspection
-           intltool
            pkg-config
-           python))
+           python
+           python-pygobject))
     (inputs
      (list dconf
            gexiv2
@@ -9414,7 +9493,6 @@ if (extension_path)
            libportal
            libseccomp
            libselinux
-           libsoup-minimal-2 ; to satisfy tracker dependencies
            tracker
            tracker-miners
            ;; XXX: gtk+ is required by libnautilus-extension.pc
@@ -9614,31 +9692,37 @@ associations for GNOME.")
 
 (define-public libgovirt
   (package
-   (name "libgovirt")
-   (version "0.3.8")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version) "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "1y0x1wyakj3ya33hgj0w1jkbcn50q21gmn2zyalxysqp55i1ij8x"))))
-   (build-system glib-or-gtk-build-system)
-   (native-inputs
-    (list gettext-minimal
-          `(,glib "bin")
-          gobject-introspection
-          gsettings-desktop-schemas
-          `(,gtk+ "bin")
-          pkg-config))
-   (inputs
-    (list glib-networking ; GIO plugin--for the tests
-          rest))
-   (synopsis "GoVirt Library")
-   (description "GoVirt is a GObject wrapper for the oVirt REST API.")
-   (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
-   (license license:gpl2+)))
+    (name "libgovirt")
+    (version "0.3.9")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0z118di7cg654f5zb8xn5w60ghgqngsc1p7izr1pw01dkxbw6bxi"))))
+    (build-system meson-build-system)
+    (arguments
+     (list #:glib-or-gtk? #t
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'set-home
+                          (lambda _
+                            ;; The tests require a writable HOME.
+                            (setenv "HOME" "/tmp"))))))
+    (native-inputs
+     (list gettext-minimal
+           `(,glib "bin")
+           glib-networking              ; GIO plugin--for the tests
+           gobject-introspection
+           gsettings-desktop-schemas
+           pkg-config))
+    (inputs
+     (list rest-next))
+    (synopsis "GoVirt Library")
+    (description "GoVirt is a GObject wrapper for the oVirt REST API.")
+    (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
+    (license license:gpl2+)))
 
 (define-public gnome-weather
   (package
@@ -10304,7 +10388,7 @@ compiled.")
 (define-public gfbgraph
   (package
     (name "gfbgraph")
-    (version "0.2.4")
+    (version "0.2.5")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -10313,26 +10397,18 @@ compiled.")
                     "gfbgraph-" version ".tar.xz"))
               (sha256
                (base32
-                "0yck7dwvjk16a52nafjpi0a39rxwmg0w833brj45acz76lgkjrb0"))))
+                "1qq3cryhby50xms8zh4s6fmw5p0i7dpg1wvsz5ni78cbyyrq3cww"))))
     (build-system glib-or-gtk-build-system)
     (arguments
-     `(#:tests? #f                      ; tests appear to require the network
-       #:configure-flags '("--disable-static"
-                           "--enable-gtk-doc"
-                           "--enable-introspection")))
+     `(#:configure-flags '("--disable-static")))
     (native-inputs
      (list gobject-introspection
            gtk-doc/stable
-           pkg-config
-           ;; The 0.2.4 â€˜release’ tarball isn't bootstrapped.
-           autoconf
-           automake
-           libtool
-           which))
+           pkg-config))
     (inputs
-     `(("json-glib" ,json-glib)
-       ("gnome-online-accounts" ,gnome-online-accounts)
-       ("rest" ,rest)))
+     (list gnome-online-accounts
+           json-glib
+           rest))
     (synopsis "GLib/GObject wrapper for the Facebook API")
     (description "This library allows you to use the Facebook API from
 GLib/GObject code.")
@@ -10342,7 +10418,7 @@ GLib/GObject code.")
 (define-public libgnomekbd
   (package
     (name "libgnomekbd")
-    (version "3.28.0")
+    (version "3.28.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/libgnomekbd/"
@@ -10350,7 +10426,7 @@ GLib/GObject code.")
                                   "libgnomekbd-" version ".tar.xz"))
               (sha256
                (base32
-                "1jarhq9crhq0wfnbcz7x3hgxbkan98ax3p2jwcgzj9jc7r27l1dk"))))
+                "0w78ix6f52xv0hw1h6fzqh47pk1fwr077agma19hdh3kdmb5kp12"))))
     (build-system gnu-build-system)
     (native-inputs
      (list autoconf
@@ -10664,7 +10740,7 @@ kill/reinice processes.")
 (define-public python-pyatspi
   (package
     (name "python-pyatspi")
-    (version "2.34.0")
+    (version "2.45.90")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -10673,7 +10749,7 @@ kill/reinice processes.")
                     "/pyatspi-" version ".tar.xz"))
               (sha256
                (base32
-                "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
+                "1fggihg4xmwia0xgjkcraiqk76jvyrj1pcsw99rjh4yn3kygisrh"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -10684,8 +10760,7 @@ kill/reinice processes.")
                (("from gi.repository import Atspi")
                 "gi.require_version('Gtk', '3.0')
 from gi.repository import Gtk
-from gi.repository import Atspi"))
-             #t)))))
+from gi.repository import Atspi")))))))
     (native-inputs
      (list pkg-config))
     (inputs
@@ -10704,7 +10779,7 @@ accessibility infrastructure.")
 (define-public orca
   (package
     (name "orca")
-    (version "41.0")
+    (version "42.3")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -10713,7 +10788,7 @@ accessibility infrastructure.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1gflnsv6d5qn5rh1f16yfa0q0yv8yvd0l5lbwrsdg7z18lafb5vn"))))
+                "097pyav3z5ssic8vwd7v1s7vynpycdpyfr324rr6c7mfzq5vmp7s"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      '(#:phases
@@ -10726,22 +10801,21 @@ accessibility infrastructure.")
                  (("'xkbcomp'") (format #f "'~a'" xkbcomp))))))
          (add-after 'install 'wrap-orca
            (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out  (assoc-ref outputs "out"))
-                    (prog (string-append out "/bin/orca")))
-               (wrap-program prog
-                 `("GI_TYPELIB_PATH" ":" prefix
-                   (,(getenv "GI_TYPELIB_PATH")))
-                 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
-                   (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
-                 `("GUIX_PYTHONPATH" ":" prefix
-                   (,(getenv "GUIX_PYTHONPATH"))))))))))
+             (wrap-program (search-input-file outputs "bin/orca")
+               `("GI_TYPELIB_PATH" ":" prefix
+                 (,(getenv "GI_TYPELIB_PATH")))
+               `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
+                 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
+               `("GUIX_PYTHONPATH" ":" prefix
+                 (,(getenv "GUIX_PYTHONPATH")))))))))
     (native-inputs
-     (list intltool
+     (list gettext-minimal
            itstool
            pkg-config
            libxml2))
     (inputs
      (list at-spi2-atk
+           bash-minimal
            gsettings-desktop-schemas
            gstreamer
            gst-plugins-base
@@ -10764,7 +10838,7 @@ that support the Assistive Technology Service Provider Interface (AT-SPI).")
 (define-public gspell
   (package
     (name "gspell")
-    (version "1.8.2")
+    (version "1.11.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -10772,13 +10846,18 @@ that support the Assistive Technology Service Provider Interface (AT-SPI).")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
-              (patches (search-patches "gspell-dash-test.patch"))))
+                "14h2w0yzqwaw5dykmhh21sy2c96g17waahg2lxc52xqiyzis8spg"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      '(#:configure-flags (list "--enable-vala")
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'disable-problematic-tests
+           (lambda _
+             (substitute* "testsuite/test-checker.c"
+               ;; This test is known to fail with Aspell, as a comment
+               ;; mentions it.  Disable it.
+               ((".*g_test_add_func.*test_dashes.*") ""))))
          (add-before 'check 'pre-check
            (lambda* (#:key inputs #:allow-other-keys)
              ;; Tests require a running X server.
@@ -10795,18 +10874,20 @@ that support the Assistive Technology Service Provider Interface (AT-SPI).")
     (inputs
      (list iso-codes))
     (native-inputs
-     `(("glib" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("pkg-config" ,pkg-config)
-       ("vala" ,vala)                             ;for VAPI, needed by Geary
-       ("xmllint" ,libxml2)
+     (list `(,glib "bin")
+           gobject-introspection
+           pkg-config
+           vala                         ;for VAPI, needed by Geary
+           libxml2
 
-       ;; For tests.
-       ("aspell-dict-en" ,aspell-dict-en)
-       ("xorg-server" ,xorg-server-for-tests)))
+           ;; For tests.
+           aspell-dict-en
+           xorg-server-for-tests))
     (propagated-inputs
      ;; Referred by .pc file.
-     (list enchant glib gtk+))
+     (list enchant
+           glib
+           gtk+))
     (home-page "https://wiki.gnome.org/Projects/gspell")
     (synopsis "GNOME's alternative spell checker")
     (description
@@ -10865,63 +10946,60 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
 (define-public lollypop
   (package
     (name "lollypop")
-    (version "1.4.24")
+    (version "1.4.35")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://adishatz.org/lollypop/"
                            "lollypop-" version ".tar.xz"))
        (sha256
-        (base32 "10cw3x75siibmnbh4zhfmf2vd08fqjs3lj3l4wpk6zj9h22ncfxw"))))
+        (base32 "0rvwj18x1gs7fgvniijzvlmgmzcgr7il22zclzsn5nkl8xbwgzk0"))))
     (build-system meson-build-system)
     (arguments
-     `(#:imported-modules
-       (,@%meson-build-system-modules
-        (guix build python-build-system))
-       #:modules
-       ((guix build meson-build-system)
-        ((guix build python-build-system) #:prefix python:)
-        (guix build utils))
+     `(#:imported-modules (,@%meson-build-system-modules
+                           (guix build python-build-system))
+       #:modules ((guix build meson-build-system)
+                  ((guix build python-build-system) #:prefix python:)
+                  (guix build utils))
        #:glib-or-gtk? #t
-       #:tests? #f                      ; no test suite
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'disable-gtk-update-icon-cache
+           (lambda _
+             (setenv "DESTDIR" "/")))
          (add-after 'install 'wrap-program
            (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out               (assoc-ref outputs "out"))
-                   (gi-typelib-path   (getenv "GI_TYPELIB_PATH")))
-               (wrap-program (string-append out "/bin/lollypop")
-                 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
-             #t))
+             (wrap-program (search-input-file outputs "bin/lollypop")
+               `("GI_TYPELIB_PATH" ":" prefix
+                 (,(getenv "GI_TYPELIB_PATH"))))))
          (add-after 'install 'wrap-python
            (assoc-ref python:%standard-phases 'wrap)))))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin")         ; For glib-compile-resources
-       ("gtk+:bin" ,gtk+ "bin")         ; For gtk-update-icon-cache
-       ("pkg-config" ,pkg-config)))
+     (list gettext-minimal
+           `(,glib "bin")               ; For glib-compile-resources
+           pkg-config))
     (inputs
-     `(("glib-networking" ,glib-networking)
-       ("gobject-introspection" ,gobject-introspection)
-       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
-       ("gst-plugins-base" ,gst-plugins-base)
-       ("libnotify" ,libnotify)
-       ("libsecret" ,libsecret)
-       ("libhandy" ,libhandy)
-       ("libsoup" ,libsoup-minimal-2)
-       ("python" ,python)
-       ("python-beautifulsoup4" ,python-beautifulsoup4)
-       ("python-gst" ,python-gst)
-       ("python-pil" ,python-pillow)
-       ("python-pycairo" ,python-pycairo)
-       ("python-pygobject" ,python-pygobject)
-       ("python-pylast" ,python-pylast)
-       ("totem-pl-parser" ,totem-pl-parser)
-       ("webkitgtk" ,webkitgtk)))
+     (list bash-minimal
+           glib-networking
+           gobject-introspection
+           gsettings-desktop-schemas
+           gst-plugins-base
+           libnotify
+           libsecret
+           libhandy
+           libsoup-minimal-2
+           python
+           python-beautifulsoup4
+           python-gst
+           python-pillow
+           python-pycairo
+           python-pygobject
+           python-pylast
+           totem-pl-parser
+           webkitgtk))
     (propagated-inputs
-     (list ;; gst-plugins-base is required to start Lollypop,
-           ;; the others are required to play streaming.
-           gst-plugins-good gst-plugins-ugly))
+     (list gst-plugins-good             ;required to start lollypop
+           gst-plugins-ugly))           ;required for streaming
     (home-page "https://wiki.gnome.org/Apps/Lollypop")
     (synopsis "GNOME music playing application")
     (description
@@ -10956,7 +11034,7 @@ photo-booth-like software, such as Cheese.")
 (define-public cheese
   (package
     (name "cheese")
-    (version "41.0")
+    (version "41.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -10964,33 +11042,28 @@ photo-booth-like software, such as Cheese.")
                                   version ".tar.xz"))
               (sha256
                (base32
-                "1y92glc0d6w323x2bdbc0gdh1jdffvkbv6cwlwm1rx0wgvv1svqh"))))
+                "0iz5cwndl65j13z5pmv0ansln2lyii0h82q775jgc3vk53560aaj"))))
     (arguments
      `(#:glib-or-gtk? #t
-       #:meson ,meson-0.60
-       ;; Tests require GDK.
-       #:tests? #f
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'skip-gtk-update-icon-cache
            (lambda _
              ;; Don't create 'icon-theme.cache'
              (substitute* "meson_post_install.py"
-               (("gtk-update-icon-cache") (which "true")))
-             #t))
+               (("gtk-update-icon-cache") (which "true")))))
          (add-after 'install 'wrap-cheese
            (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let ((out             (assoc-ref outputs "out"))
-                   (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
-               (wrap-program (string-append out "/bin/cheese")
-                 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
-             #t)))))
+             (wrap-program (search-input-file outputs "bin/cheese")
+               `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
+                 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))))))))
     (build-system meson-build-system)
     (native-inputs
      (list docbook-xsl
            docbook-xml-4.3
            gettext-minimal
            `(,glib "bin")
+           gobject-introspection
            gtk-doc/stable
            itstool
            libxml2
@@ -10998,7 +11071,8 @@ photo-booth-like software, such as Cheese.")
            pkg-config
            vala))
     (propagated-inputs
-     (list gnome-video-effects
+     (list bash-minimal
+           gnome-video-effects
            clutter
            clutter-gst
            clutter-gtk
@@ -11008,7 +11082,6 @@ photo-booth-like software, such as Cheese.")
            gstreamer))
     (inputs
      (list gnome-desktop
-           gobject-introspection
            gst-plugins-base
            gst-plugins-good
            gst-plugins-bad
@@ -11022,10 +11095,10 @@ photo-booth-like software, such as Cheese.")
 apply fancy special effects and lets you share the fun with others.")
     (license license:gpl2+)))
 
-(define-public passwordsafe
+(define-public secrets
   (package
-    (name "passwordsafe")
-    (version "5.1")
+    (name "secrets")
+    (version "6.5")
     (source
      (origin
        (method git-fetch)
@@ -11034,53 +11107,63 @@ apply fancy special effects and lets you share the fun with others.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0kd43j6i017wdsqj6d5gnxhfv4ijnh3xahlw7md2gh51i8p682j6"))))
+        (base32 "11jd9f0d3fyrs29p8cyzb6i2ib6mzhwwvjnznl55gkggrgnrcb8z"))))
     (build-system meson-build-system)
     (arguments
-     (list #:glib-or-gtk? #t
-           #:meson meson-0.59
-           #:phases
-           #~(modify-phases %standard-phases
-               (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
-                 (lambda* (#:key outputs #:allow-other-keys)
-                   (let ((prog (string-append #$output
-                                              "/bin/gnome-passwordsafe"))
-                         (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"))))))))))
+     (list
+      #:glib-or-gtk? #t
+      #:imported-modules `(,@%meson-build-system-modules
+                           (guix build python-build-system))
+      #:modules '((guix build meson-build-system)
+                  ((guix build python-build-system) #:prefix python:)
+                  (guix build utils))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'disable-postinstall-script
+            (lambda _
+              (substitute* "meson.build"
+                (("gtk_update_icon_cache: true")
+                 "gtk_update_icon_cache: false"))
+              (setenv "DESTDIR" "/")))
+          (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (wrap-program (search-input-file outputs "bin/secrets")
+                `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH")
+                                       ,(python:site-packages inputs outputs)))
+                `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))
     (native-inputs
      (list desktop-file-utils
            gettext-minimal
            `(,glib "bin")
            gobject-introspection
-           `(,gtk+ "bin")
            pkg-config))
     (inputs
-     (list glib
+     (list bash-minimal
+           glib
            gsettings-desktop-schemas
-           gtk+
+           gtk
+           libadwaita
            libhandy
            libpwquality
            python
            python-pygobject
-           python-pykeepass))
-    (home-page "https://gitlab.gnome.org/World/PasswordSafe")
+           python-pykeepass
+           python-pyotp))
+    (home-page "https://gitlab.gnome.org/World/secrets")
     (synopsis "Password manager for the GNOME desktop")
     (description
-     "Password Safe is a password manager which makes use of the KeePass v4
+     "Secrets is a password manager which makes use of the KeePass v4
 format.  It integrates perfectly with the GNOME desktop and provides an easy
 and uncluttered interface for the management of password databases.")
     (license license:gpl3+)))
 
+(define-public passwordsafe
+  (deprecated-package "passwordsafe" secrets))
+
 (define-public sound-juicer
   (package
     (name "sound-juicer")
-    (version "3.24.0")
+    (version "3.38.0")
     (source
      (origin
        (method url-fetch)
@@ -11089,18 +11172,31 @@ and uncluttered interface for the management of password databases.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
-    (build-system glib-or-gtk-build-system)
+         "08d5d81rz9sj3m5paw8fwbgxmhlbr7bcjdzpmzj832qvg8smydxf"))))
+    (build-system meson-build-system)
+    (arguments
+     (list
+      #:glib-or-gtk? #t
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'unpack 'disable-gtk-update-icon-cache
+                     (lambda _
+                       (setenv "DESTDIR" "/"))))))
     (native-inputs
-     (list desktop-file-utils intltool itstool pkg-config libxml2))
+     (list desktop-file-utils
+           gettext-minimal
+           `(,glib "bin")
+           itstool
+           libxml2
+           pkg-config
+           python))
     (inputs
-     (list gtk+
+     (list brasero
            gsettings-desktop-schemas
-           gstreamer
            gst-plugins-base
            gst-plugins-good
+           gstreamer
+           gtk+
            iso-codes
-           brasero
            libcanberra
            libdiscid
            libmusicbrainz
@@ -11216,15 +11312,15 @@ micro-pauses and rest breaks, and restricts you to your daily limit.")
 (define-public ghex
   (package
     (name "ghex")
-    (version "3.18.4")
+    (version "42.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/ghex/"
-                                  (version-major+minor version) "/"
+                                  (version-major version) "/"
                                   "ghex-" version ".tar.xz"))
               (sha256
                (base32
-                "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
+                "1vsd6l78pymdrsgdgj7xhxyrf09j4w08zrbvs8qdn8a9na50zm5d"))))
     (build-system meson-build-system)
     (arguments
      '(#:glib-or-gtk? #t
@@ -11233,20 +11329,19 @@ micro-pauses and rest breaks, and restricts you to your daily limit.")
          (add-after 'unpack 'skip-gtk-update-icon-cache
            ;; Don't create 'icon-theme.cache'.
            (lambda _
-             (substitute* "meson_post_install.py"
-               (("gtk-update-icon-cache") (which "true")))
-             #t)))))
+             (substitute* "meson.build"
+               (("gtk_update_icon_cache: true")
+                "gtk_update_icon_cache: false")))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("glib:bin" ,glib "bin") ; for glib-compile-schemas
-       ("gnome-common" ,gnome-common)
-       ("which" ,which)
-       ("intltool" ,intltool)
-       ("yelp-tools" ,yelp-tools)
-       ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
+     (list desktop-file-utils           ;for 'desktop-file-validate'
+           gettext-minimal
+           `(,glib "bin")               ;for glib-compile-schemas
+           gnome-common
+           pkg-config
+           yelp-tools))
     (inputs
-     `(("atk" ,atk)
-       ("gtk" ,gtk+)))
+     (list atk
+           gtk))
     (synopsis "GNOME hexadecimal editor")
     (description "The GHex program can view and edit files in two ways:
 hexadecimal or ASCII.  It is useful for editing binary files in general.")
@@ -11568,7 +11663,7 @@ for usage on small and big screens.")
 (define-public libgit2-glib
   (package
     (name "libgit2-glib")
-    (version "1.0.0.1")
+    (version "1.1.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -11576,7 +11671,7 @@ for usage on small and big screens.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0mrb21cgqmbhbxqxwx76yry1ifqj1k4vy6455n6s034m6rlms2j6"))))
+                "1wqypx0xv20vk0zfh20c474z6rdgbxbklcr2wkhl30dgbmbxg3f3"))))
     (build-system meson-build-system)
     (native-inputs
      (list `(,glib "bin") ;; For glib-mkenums
@@ -11586,10 +11681,9 @@ for usage on small and big screens.")
            python-wrapper
            vala))
     (inputs
-     (list glib libssh2))
+     (list libssh2))
     (propagated-inputs
-     (list ;; In Requires of libgit2-glib.pc.
-           libgit2))
+     (list glib libgit2)) ;; In Requires of libgit2-glib.pc.
     (synopsis "GLib wrapper around the libgit2 Git access library")
     (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
 access library.  It only implements the core plumbing functions, not really the
@@ -11810,7 +11904,7 @@ index files needed for Adwaita to be used outside of GNOME.")
 (define-public gnote
   (package
     (name "gnote")
-    (version "41.2")
+    (version "42.1")
     (source
      (origin
        (method url-fetch)
@@ -11818,7 +11912,7 @@ index files needed for Adwaita to be used outside of GNOME.")
                            (version-major version)  "/"
                            "gnote-" version ".tar.xz"))
        (sha256
-        (base32 "0gs2j988rwfrxckb8qxlkyxnvqsv30q32myqish6hssfa51yzc11"))))
+        (base32 "0fam3v9na4ndqdc63866bvhcxrzj478jsx34vsh0777d4ixw883c"))))
     (build-system meson-build-system)
     (arguments
      `(#:glib-or-gtk? #t
@@ -11830,9 +11924,9 @@ index files needed for Adwaita to be used outside of GNOME.")
                         (("gtk-update-icon-cache") "true")))))))
     (native-inputs
      (list desktop-file-utils
+           gettext-minimal
            `(,glib "bin")
            gobject-introspection
-           intltool
            itstool
            pkg-config
            python))
@@ -12692,18 +12786,15 @@ profiler via Sysprof, debugging support, and more.")
          (add-after 'unpack 'skip-gtk-update-icon-cache
            (lambda _
              (substitute* "meson_post_install.py"
-               (("gtk-update-icon-cache") (which "true")))
-             #t))
+               (("gtk-update-icon-cache") (which "true")))))
          (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
           (lambda* (#:key outputs #:allow-other-keys)
-            (let ((prog (string-append (assoc-ref outputs "out")
-                                       "/bin/komikku")))
-              (wrap-program prog
-                `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH")))
-                `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
-              #t))))))
+            (wrap-program (search-input-file outputs "bin/komikku")
+              `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH")))
+              `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))
     (inputs
-     (list gtk+
+     (list bash-minimal
+           gtk+
            libhandy
            libnotify
            libsecret