summary refs log tree commit diff
path: root/gnu/packages/glib.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/glib.scm')
-rw-r--r--gnu/packages/glib.scm448
1 files changed, 217 insertions, 231 deletions
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index f85d5e3225..3d8a25be9e 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -103,15 +103,15 @@
 (define dbus
   (package
     (name "dbus")
-    (version "1.12.20")
+    (version "1.14.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
                     "https://dbus.freedesktop.org/releases/dbus/dbus-"
-                    version ".tar.gz"))
+                    version ".tar.xz"))
               (sha256
                (base32
-                "1zp5gpx61v1cpqf2zwb1cidhp9xylvw49d3zydkxqk6b1qa20xpp"))
+                "1m7bibavml4gx9d67j403l0kzd1a4z8lhrpxb2as3q4nfpiwrmyc"))
               (patches (search-patches "dbus-helper-search-path.patch"))))
     (build-system gnu-build-system)
     (arguments
@@ -215,7 +215,7 @@ information, refer to the @samp{dbus-daemon(1)} man page.")))
 (define glib
   (package
     (name "glib")
-    (version "2.70.2")
+    (version "2.72.3")
     (source
      (origin
        (method url-fetch)
@@ -224,7 +224,7 @@ information, refer to the @samp{dbus-daemon(1)} man page.")))
                        name "/" (string-take version 4) "/"
                        name "-" version ".tar.xz"))
        (sha256
-        (base32 "0vw08p4jllavp9qmlqg1yl1zanmy53yid46wipas6gfdhnf4al85"))
+        (base32 "1w25sf2wxkkah2p2w189q58mza3zv8z1fh2q1m82sldq4kva4faa"))
        (patches
         (search-patches "glib-appinfo-watch.patch"
                         "glib-skip-failing-test.patch"))
@@ -239,127 +239,122 @@ information, refer to the @samp{dbus-daemon(1)} man page.")))
                "bin"                    ;executables; depends on Python
                "debug"))
     (arguments
-     `(#:disallowed-references
-       (,tzdata-for-tests
-        ;; Verify glib-mkenums, gtester, ... use the cross-compiled
-        ;; python.
-        ,@(if (%current-target-system)
-              (map (cut gexp-input <> #:native? #t)
-                   `(,(this-package-native-input "python")
-                     ,(this-package-native-input "python-wrapper")))
-              '()))
-       #:configure-flags ,#~(list "--default-library=both"
-                                  "-Dman=false"
-                                  "-Dselinux=disabled"
-                                  (string-append "--bindir="
-                                                 #$output:bin "/bin"))
-       #:phases
-       (modify-phases %standard-phases
-         ;; Needed to pass the test phase on slower ARM and i686 machines.
-         (add-after 'unpack 'increase-test-timeout
-           (lambda _
-             (substitute* "meson.build"
-               (("(test_timeout.*) = ([[:digit:]]+)" all first second)
-                (string-append first " = " second "0")))))
-         (add-after 'unpack 'disable-failing-tests
-           (lambda _
-             (substitute* "gio/tests/meson.build"
-               ((".*'testfilemonitor'.*") ;marked as flaky
-                ""))
-             (with-directory-excursion "glib/tests"
-               (substitute* '("unix.c" "utils.c")
-                 (("[ \t]*g_test_add_func.*;") "")))
-             (with-directory-excursion "gio/tests"
-               (substitute* '("contenttype.c" "gdbus-address-get-session.c"
-                              "gdbus-peer.c" "appinfo.c" "desktop-app-info.c")
-                 (("[ \t]*g_test_add_func.*;") "")))
+     (list
+      #:disallowed-references
+      (cons tzdata-for-tests
+            ;; Verify glib-mkenums, gtester, ... use the cross-compiled
+            ;; python.
+            (if (%current-target-system)
+                (map (cut gexp-input <> #:native? #t)
+                     `(,(this-package-native-input "python")
+                       ,(this-package-native-input "python-wrapper")))
+                '()))
+      #:configure-flags #~(list "--default-library=both"
+                                "-Dman=false"
+                                "-Dselinux=disabled"
+                                (string-append "--bindir="
+                                               #$output:bin "/bin"))
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; Needed to pass the test phase on slower ARM and i686 machines.
+          (add-after 'unpack 'increase-test-timeout
+            (lambda _
+              (substitute* "meson.build"
+                (("(test_timeout.*) = ([[:digit:]]+)" all first second)
+                 (string-append first " = " second "0")))))
+          (add-after 'unpack 'disable-failing-tests
+            (lambda _
+              (substitute* "gio/tests/meson.build"
+                ((".*'testfilemonitor'.*") ;marked as flaky
+                 ""))
+              (with-directory-excursion "glib/tests"
+                (substitute* '("unix.c" "utils.c")
+                  (("[ \t]*g_test_add_func.*;") "")))
+              (with-directory-excursion "gio/tests"
+                (substitute* '("contenttype.c" "gdbus-address-get-session.c"
+                               "gdbus-peer.c" "appinfo.c" "desktop-app-info.c")
+                  (("[ \t]*g_test_add_func.*;") "")))
 
-             ,@(if (target-x86-32?)
-                   ;; Comment out parts of timer.c that fail on i686 due to
-                   ;; excess precision when building with GCC 10:
-                   ;; <https://gitlab.gnome.org/GNOME/glib/-/issues/820>.
-                   '((substitute* "glib/tests/timer.c"
-                       (("^  g_assert_cmpuint \\(micros.*" all)
-                        (string-append "//" all "\n"))
-                       (("^  g_assert_cmpfloat \\(elapsed, ==.*" all)
-                        (string-append "//" all "\n"))))
-                   '())))
-         ;; Python references are not being patched in patch-phase of build,
-         ;; despite using python-wrapper as input. So we patch them manually.
-         ;;
-         ;; These python scripts are both used during build and installed,
-         ;; so at first, use a python from 'native-inputs', not 'inputs'. When
-         ;; cross-compiling, the 'patch-shebangs' phase will replace
-         ;; the native python with a python from 'inputs'.
-         (add-after 'unpack 'patch-python-references
-           (lambda* (#:key native-inputs inputs #:allow-other-keys)
-             (substitute* '("gio/gdbus-2.0/codegen/gdbus-codegen.in"
-                            "glib/gtester-report.in"
-                            "gobject/glib-genmarshal.in"
-                            "gobject/glib-mkenums.in")
-               (("@PYTHON@")
-                (search-input-file (or native-inputs inputs)
-                                   (string-append
-                                    "/bin/python"
-                                    ,(version-major+minor
-                                      (package-version python))))))))
-         (add-before 'check 'pre-check
-           (lambda* (#:key native-inputs inputs outputs #:allow-other-keys)
-             ;; For tests/gdatetime.c.
-             (setenv "TZDIR"
-                     (search-input-directory (or native-inputs inputs)
-                                             "share/zoneinfo"))
-             ;; Some tests want write access there.
-             (setenv "HOME" (getcwd))
-             (setenv "XDG_CACHE_HOME" (getcwd))))
-         (add-after 'install 'move-static-libraries
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (static (assoc-ref outputs "static")))
-               (mkdir-p (string-append static "/lib"))
-               (for-each (lambda (a)
-                           (rename-file a (string-append static "/lib/"
-                                                         (basename a))))
-                         (find-files out "\\.a$")))))
-         (add-after 'install 'patch-pkg-config-files
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               ;; Do not refer to "bindir", which points to "${prefix}/bin".
-               ;; We don't patch "bindir" to point to "$bin/bin", because that
-               ;; would create a reference cycle between the "out" and "bin"
-               ;; outputs.
-               (substitute*
-                   (list
-                    (string-append out "/lib/pkgconfig/gio-2.0.pc")
-                    (string-append out "/lib/pkgconfig/glib-2.0.pc"))
-                 (("^bindir=.*")
-                  "")
-                 (("=\\$\\{bindir\\}/")
-                  "="))))))))
+              #$@(if (target-x86-32?)
+                     ;; Comment out parts of timer.c that fail on i686 due to
+                     ;; excess precision when building with GCC 10:
+                     ;; <https://gitlab.gnome.org/GNOME/glib/-/issues/820>.
+                     '((substitute* "glib/tests/timer.c"
+                         (("^  g_assert_cmpuint \\(micros.*" all)
+                          (string-append "//" all "\n"))
+                         (("^  g_assert_cmpfloat \\(elapsed, ==.*" all)
+                          (string-append "//" all "\n"))))
+                     '())))
+          ;; Python references are not being patched in patch-phase of build,
+          ;; despite using python-wrapper as input. So we patch them manually.
+          ;;
+          ;; These python scripts are both used during build and installed,
+          ;; so at first, use a python from 'native-inputs', not 'inputs'. When
+          ;; cross-compiling, the 'patch-shebangs' phase will replace
+          ;; the native python with a python from 'inputs'.
+          (add-after 'unpack 'patch-python-references
+            (lambda* (#:key native-inputs inputs #:allow-other-keys)
+              (substitute* '("gio/gdbus-2.0/codegen/gdbus-codegen.in"
+                             "glib/gtester-report.in"
+                             "gobject/glib-genmarshal.in"
+                             "gobject/glib-mkenums.in")
+                (("@PYTHON@")
+                 (search-input-file (or native-inputs inputs)
+                                    (string-append
+                                     "/bin/python"
+                                     #$(version-major+minor
+                                        (package-version python))))))))
+          (add-before 'check 'pre-check
+            (lambda* (#:key native-inputs inputs outputs #:allow-other-keys)
+              ;; For tests/gdatetime.c.
+              (setenv "TZDIR"
+                      (search-input-directory (or native-inputs inputs)
+                                              "share/zoneinfo"))
+              ;; Some tests want write access there.
+              (setenv "HOME" (getcwd))
+              (setenv "XDG_CACHE_HOME" (getcwd))))
+          (add-after 'install 'move-static-libraries
+            (lambda _
+              (mkdir-p (string-append #$output:static "/lib"))
+              (for-each (lambda (a)
+                          (rename-file a (string-append #$output:static "/lib/"
+                                                        (basename a))))
+                        (find-files #$output "\\.a$"))))
+          (add-after 'install 'patch-pkg-config-files
+            (lambda* (#:key outputs #:allow-other-keys)
+              ;; Do not refer to "bindir", which points to "${prefix}/bin".
+              ;; We don't patch "bindir" to point to "$bin/bin", because that
+              ;; would create a reference cycle between the "out" and "bin"
+              ;; outputs.
+              (substitute*
+                  (list (search-input-file outputs "lib/pkgconfig/gio-2.0.pc")
+                        (search-input-file outputs "lib/pkgconfig/glib-2.0.pc"))
+                (("^bindir=.*")
+                 "")
+                (("=\\$\\{bindir\\}/")
+                 "=")))))))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
-       ("m4" ,m4)                       ; for installing m4 macros
-       ("perl" ,perl)                   ; needed by GIO tests
-       ("pkg-config" ,pkg-config)
-       ("python" ,python)               ; For 'patch-python-references
-       ("python-wrapper" ,python-wrapper)
-       ("tzdata" ,tzdata-for-tests)))   ; for tests/gdatetime.c
-    (inputs
-     (list bash-completion
-           ;; "python", "python-wrapper" and "bash-minimal"
-           ;; are for the 'patch-shebangs' phase, to make
-           ;; sure the installed scripts end up with a correct shebang
-           ;; when cross-compiling.
-           python
+     (list dbus
+           gettext-minimal
+           m4                           ;for installing m4 macros
+           perl                         ;needed by GIO tests
+           pkg-config
+           python                       ;for 'patch-python-references
            python-wrapper
-           bash-minimal
-           dbus
-           libelf))
+           tzdata-for-tests))           ;for tests/gdatetime.c
+    (inputs
+     (list ;; "python", "python-wrapper" and "bash-minimal"
+      ;; are for the 'patch-shebangs' phase, to make
+      ;; sure the installed scripts end up with a correct shebang
+      ;; when cross-compiling.
+      bash-minimal
+      python
+      python-wrapper))
     (propagated-inputs
-     (list libffi ; in the Requires.private field of gobject-2.0.pc
-           pcre ; in the Requires.private field of glib-2.0.pc
-           `(,util-linux "lib") ;for libmount
-           zlib))         ; in the Requires.private field of glib-2.0.pc
+     (list libffi             ;in the Requires.private field of gobject-2.0.pc
+           pcre               ;in the Requires.private field of glib-2.0.pc
+           `(,util-linux "lib")  ;for libmount
+           zlib))                ;in the Requires.private field of glib-2.0.pc
     (native-search-paths
      ;; This variable is not really "owned" by GLib, but several related
      ;; packages refer to it: gobject-introspection's tools use it as a search
@@ -405,35 +400,35 @@ functions for strings and common data structures.")
        ((#:test-options test-options ''())
         ;; Skip flaky or slow tests.
         `(cons* "--no-suite=slow" "--no-suite=flaky" ,test-options))
-       ((#:phases phases '%standard-phases)
-        `(modify-phases ,phases
-           (replace 'disable-failing-tests
-             (lambda _
-               (with-directory-excursion "glib/tests"
-                 (substitute* '("unix.c" "utils.c")
-                   (("[ \t]*g_test_add_func.*;") "")))
-               ;; The "glib:gio / file" test fails with the error "No
-               ;; application is registered as handling this file" (see:
-               ;; https://gitlab.gnome.org/GNOME/glib/-/issues/2742).
-               (with-directory-excursion "gio/tests"
-                 (substitute* '("appinfo.c"
-                                "contenttype.c"
-                                "desktop-app-info.c"
-                                "file.c"
-                                "gdbus-address-get-session.c"
-                                "gdbus-peer.c")
-                   (("[ \t]*g_test_add_func.*;") "")))
+       ((#:phases phases #~%standard-phases)
+        #~(modify-phases #$phases
+            (replace 'disable-failing-tests
+              (lambda _
+                (with-directory-excursion "glib/tests"
+                  (substitute* '("unix.c" "utils.c")
+                    (("[ \t]*g_test_add_func.*;") "")))
+                ;; The "glib:gio / file" test fails with the error "No
+                ;; application is registered as handling this file" (see:
+                ;; https://gitlab.gnome.org/GNOME/glib/-/issues/2742).
+                (with-directory-excursion "gio/tests"
+                  (substitute* '("appinfo.c"
+                                 "contenttype.c"
+                                 "desktop-app-info.c"
+                                 "file.c"
+                                 "gdbus-address-get-session.c"
+                                 "gdbus-peer.c")
+                    (("[ \t]*g_test_add_func.*;") "")))
 
-               ,@(if (target-x86-32?)
-                     ;; Comment out parts of timer.c that fail on i686 due to
-                     ;; excess precision when building with GCC 10:
-                     ;; <https://gitlab.gnome.org/GNOME/glib/-/issues/820>.
-                     '((substitute* "glib/tests/timer.c"
-                         (("^  g_assert_cmpuint \\(micros.*" all)
-                          (string-append "//" all "\n"))
-                         (("^  g_assert_cmpfloat \\(elapsed, ==.*" all)
-                          (string-append "//" all "\n"))))
-                     '())))))))
+                #$@(if (target-x86-32?)
+                       ;; Comment out parts of timer.c that fail on i686 due to
+                       ;; excess precision when building with GCC 10:
+                       ;; <https://gitlab.gnome.org/GNOME/glib/-/issues/820>.
+                       '((substitute* "glib/tests/timer.c"
+                           (("^  g_assert_cmpuint \\(micros.*" all)
+                            (string-append "//" all "\n"))
+                           (("^  g_assert_cmpfloat \\(elapsed, ==.*" all)
+                            (string-append "//" all "\n"))))
+                       '())))))))
     (native-inputs
      (modify-inputs (package-native-inputs glib)
        (append desktop-file-utils)))
@@ -444,44 +439,41 @@ functions for strings and common data structures.")
 (define-public glib-with-documentation
   ;; glib's doc must be built in a separate package since it requires gtk-doc,
   ;; which in turn depends on glib.
-  (let ((base glib-next))
-    (package/inherit base
-      (properties (alist-delete 'hidden? (package-properties base)))
-      (outputs (cons "doc" (package-outputs base))) ; 20 MiB of GTK-Doc reference
-      (native-inputs
-       `(("docbook-xml-4.2" ,docbook-xml-4.2)
-         ("docbook-xml-4.5" ,docbook-xml)
-         ("docbook-xsl" ,docbook-xsl)
-         ("gtk-doc" ,gtk-doc)
-         ("libxml2" ,libxml2)
-         ("xsltproc" ,libxslt)
-         ,@(package-native-inputs base)))
-      (arguments
-       (substitute-keyword-arguments (package-arguments base)
-         ((#:configure-flags flags ''())
-          #~(cons "-Dgtk_doc=true"
-                  (delete "-Dman=false" #$flags)))
-         ((#:phases phases)
-          `(modify-phases ,phases
-             (add-after 'unpack 'patch-docbook-xml
-               (lambda* (#:key inputs #:allow-other-keys)
-                 (with-directory-excursion "docs"
-                   (substitute* (find-files "." "\\.xml$")
-                     (("http://www.oasis-open.org/docbook/xml/4\\.5/")
-                      (string-append (assoc-ref inputs "docbook-xml-4.5")
-                                     "/xml/dtd/docbook/"))
-                     (("http://www.oasis-open.org/docbook/xml/4\\.2/")
-                      (string-append (assoc-ref inputs "docbook-xml-4.2")
-                                     "/xml/dtd/docbook/"))))))
-             (add-after 'install 'move-doc
-               (lambda* (#:key outputs #:allow-other-keys)
-                 (let* ((out (assoc-ref outputs "out"))
-                        (doc (assoc-ref outputs "doc"))
-                        (html (string-append "/share/gtk-doc")))
-                   (mkdir-p (string-append doc "/share"))
-                   (rename-file
-                    (string-append out html)
-                    (string-append doc html))))))))))))
+  (package/inherit glib
+    (properties (alist-delete 'hidden? (package-properties glib)))
+    (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
+    (native-inputs
+     `(("docbook-xml-4.2" ,docbook-xml-4.2)
+       ("docbook-xml-4.5" ,docbook-xml)
+       ("docbook-xsl" ,docbook-xsl)
+       ("gtk-doc" ,gtk-doc)
+       ("libxml2" ,libxml2)
+       ("xsltproc" ,libxslt)
+       ,@(package-native-inputs glib)))
+    (arguments
+     (substitute-keyword-arguments (package-arguments glib)
+       ((#:configure-flags flags ''())
+        #~(cons "-Dgtk_doc=true"
+                (delete "-Dman=false" #$flags)))
+       ((#:phases phases)
+        #~(modify-phases #$phases
+            (add-after 'unpack 'patch-docbook-xml
+              (lambda* (#:key inputs #:allow-other-keys)
+                (with-directory-excursion "docs"
+                  (substitute* (find-files "." "\\.xml$")
+                    (("http://www.oasis-open.org/docbook/xml/4\\.5/")
+                     (string-append (assoc-ref inputs "docbook-xml-4.5")
+                                    "/xml/dtd/docbook/"))
+                    (("http://www.oasis-open.org/docbook/xml/4\\.2/")
+                     (string-append (assoc-ref inputs "docbook-xml-4.2")
+                                    "/xml/dtd/docbook/"))))))
+            (add-after 'install 'move-doc
+              (lambda _
+                (let ((html "/share/gtk-doc"))
+                  (mkdir-p (string-append #$output:doc "/share"))
+                  (rename-file
+                   (string-append #$output html)
+                   (string-append #$output:doc html)))))))))))
 
 (define (python-extension-suffix python triplet)
   "Determine the suffix for C extensions for PYTHON when compiled
@@ -522,14 +514,14 @@ be used when cross-compiling."
 (define gobject-introspection
   (package
     (name "gobject-introspection")
-    (version "1.66.1")
+    (version "1.72.0")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnome/sources/"
                    "gobject-introspection/" (version-major+minor version)
                    "/gobject-introspection-" version ".tar.xz"))
              (sha256
-              (base32 "078n0q7b6z682mf4irclrksm73cyixq295mqnqifl9plwmgaai6x"))
+              (base32 "1g5aps3b20ck96ahy7fjl4nhp9nabkd9rlqd0s1qzn3111cqxzh2"))
              (patches (search-patches
                        "gobject-introspection-cc.patch"
                        "gobject-introspection-girepository.patch"
@@ -578,11 +570,7 @@ be used when cross-compiling."
        ("bison" ,bison)
        ("flex" ,flex)))
     (inputs
-     `(,@(if (%current-target-system)
-             `(("python" ,python))
-             `(("bison" ,bison)
-               ("flex" ,flex)
-               ("python" ,python-wrapper)))
+     `(("python" ,python)
        ("zlib" ,zlib)))
     (propagated-inputs
      (list glib
@@ -682,27 +670,25 @@ The intltool collection can be used to do these things:
 (define itstool
   (package
     (name "itstool")
-    (version "2.0.6")
+    (version "2.0.7")
     (source (origin
              (method url-fetch)
              (uri (string-append "http://files.itstool.org/itstool/itstool-"
                                  version ".tar.bz2"))
              (sha256
               (base32
-               "1acjgf8zlyk7qckdk19iqaca4jcmywd7vxjbcs1mm6kaf8icqcv2"))))
+               "1jl7gsr7aclb9nvqazr039m86y7f7ivfhl2pixcrbfqjkb97r6kb"))))
     (build-system gnu-build-system)
     (inputs
      (list libxml2 python-libxml2 python))
     (arguments
-     '(#:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'wrap-program
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((prog (string-append (assoc-ref outputs "out")
-                                        "/bin/itstool")))
-               (wrap-program prog
-                 `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH"))))
-               #t))))))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'install 'wrap-program
+            (lambda _
+              (wrap-program (string-append #$output "/bin/itstool")
+                `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH")))))))))
     (home-page "https://itstool.org")
     (synopsis "Tool to translate XML documents with PO files")
     (description
@@ -915,7 +901,7 @@ credentials and service-specific settings.")
 (define glibmm
   (package
     (name "glibmm")
-    (version "2.70.0")
+    (version "2.72.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/glibmm/"
@@ -923,31 +909,29 @@ credentials and service-specific settings.")
                                   "/glibmm-" version ".tar.xz"))
               (sha256
                (base32
-                "085mzpphz71sh5wh71ppikwnxsgn4pk3s4bzz6ingj6wxn5gs240"))))
+                "1n2w2pcpbxjbsxynmar3i5ibr7src6gnrdxb9nn57p5miai4jxia"))))
     (build-system meson-build-system)
     (outputs '("out" "doc"))
     (arguments
-     `(#:configure-flags
-       (list "-Dbuild-documentation=true")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'disable-failing-tests
-           (lambda _
-             (substitute* "tests/meson.build"
-               ;; This test uses /etc/fstab as an example file to read
-               ;; from; disable it.
-               (("[ \t]*.*giomm_simple.*$") "")
-               ;; This test does a DNS lookup, and then expects to be able
-               ;; to open a TLS session; just skip it.
-               (("[ \t]*.*giomm_tls_client.*$") ""))))
-         (add-after 'install 'move-doc
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (doc (assoc-ref outputs "doc")))
-               (mkdir-p (string-append doc "/share"))
-               (rename-file
-                (string-append out "/share/doc")
-                (string-append doc "/share/doc"))))))))
+     (list
+      #:configure-flags #~(list "-Dbuild-documentation=true")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'disable-failing-tests
+            (lambda _
+              (substitute* "tests/meson.build"
+                ;; This test uses /etc/fstab as an example file to read from;
+                ;; disable it.
+                (("[ \t]*.*giomm_simple.*$") "")
+                ;; This test does a DNS lookup, and then expects to be able to
+                ;; open a TLS session; just skip it.
+                (("[ \t]*.*giomm_tls_client.*$") ""))))
+          (add-after 'install 'move-doc
+            (lambda _
+              (mkdir-p (string-append #$output:doc "/share"))
+              (rename-file
+               (string-append #$output "/share/doc")
+               (string-append #$output:doc "/share/doc")))))))
     (native-inputs
      (list graphviz
            doxygen
@@ -987,7 +971,7 @@ useful for C++.")
 (define-public python-pygobject
   (package
     (name "python-pygobject")
-    (version "3.40.1")
+    (version "3.42.2")
     (source
      (origin
        (method url-fetch)
@@ -996,7 +980,7 @@ useful for C++.")
                            "/pygobject-" version ".tar.xz"))
        (sha256
         (base32
-         "0d80g5kgf2i9cginyhalvb7ibfk9g30yilqzmcsw6h6byj8xbih0"))
+         "0my95gjnps093inzznbipkhf25cffbc32v9is2fq8wvh59g6ks5d"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -1032,6 +1016,8 @@ useful for C++.")
     (synopsis "Python bindings for GObject")
     (description
      "Python bindings for GLib, GObject, and GIO.")
+    (properties
+     '((upstream-name . "pygobject")))
     (license license:lgpl2.1+)))
 
 (define-public perl-glib