unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#42958] [PATCH core-updates 00/29] Big changes from wip-desktop.
@ 2020-08-20 15:09 Danny Milosavljevic
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                   ` (13 more replies)
  0 siblings, 14 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:09 UTC (permalink / raw)
  To: 42958; +Cc: Danny Milosavljevic

Some packages that were updated in wip-desktop have a lot of dependents:

#dependents package
6206 yelp-xsl
6205 yelp-tools
6188 glib
6057 gobject-introspection
6031 pixman
6025 openjpeg
6012 cairo
5908 pango
4535 texlive-bin
2625 gdk-pixbuf
2622 vala
2607 libgsf
2602 librsvg@2.40.21
2583 atk
2582 gdk-pixbuf+svg
2581 gtk+@2.24.32
2176 wayland
2169 wayland-protocols
1932 atkmm
1931 gtkmm@2.24.5
1912 gtk-doc
1271 json-glib
1262 at-spi2-core
1260 at-spi2-atk
1258 gtk+

Update them on core-updates.

Raghav Gururajan (29):
  gnu: yelp-xsl: Update package definition.
  gnu: yelp-tools: Update package definition.
  gnu: glib: Update package definition.
  gnu: glib-with-documentation: Update package definition.
  gnu: gobject-introspection: Update package definition.
  gnu: gobject-introspection: Propagate glib.
  gnu: gobject-introspection: Add patches back.
  gnu: pixman: Update package definition.
  gnu: openjpeg: Update package definition.
  gnu: cairo: Update package definition.
  gnu: pango: Update package definition.
  gnu: gdk-pixbuf: Update package definition.
  gnu: gdk-pixbuf: Disable failing tests.
  gnu: gdk-pixbuf+svg: Update package definition.
  gnu: vala: Update package definition.
  gnu: libgsf: Update package definition.
  gnu: librsvg@2.40.21: Update package definition.
  gnu: atk: Update to 2.36.0.
  gnu: gtk+-2: Update package definition.
  gnu: wayland: Update package definition.
  gnu: wayland-protocols: Update package definition.
  gnu: atkmm: Update package definition.
  gnu: gtk-doc: Update package definition.
  gnu: json-glib: Update package definition.
  gnu: at-spi2-core: Update package definition.
  gnu: at-spi2-atk: Update to 2.34.2.
  gnu: gtk+: Update package definition.
  gnu: gtk+: Propagate libcloudproviders.
  gnu: gtk+: Add missing input.

 gnu/local.mk                                  |    3 +-
 gnu/packages/freedesktop.scm                  |  115 +-
 gnu/packages/glib.scm                         |  417 +++---
 gnu/packages/gnome.scm                        |  401 ++++--
 gnu/packages/gtk.scm                          | 1174 ++++++++++-------
 gnu/packages/image.scm                        |   88 +-
 .../patches/glib-disable-failing-tests.patch  |   84 ++
 gnu/packages/patches/glib-tests-timer.patch   |   15 -
 .../patches/pango-skip-libthai-test.patch     |   23 -
 gnu/packages/xdisorg.scm                      |   42 +-
 10 files changed, 1337 insertions(+), 1025 deletions(-)
 create mode 100644 gnu/packages/patches/glib-disable-failing-tests.patch
 delete mode 100644 gnu/packages/patches/glib-tests-timer.patch
 delete mode 100644 gnu/packages/patches/pango-skip-libthai-test.patch





^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition.
  2020-08-20 15:09 [bug#42958] [PATCH core-updates 00/29] Big changes from wip-desktop Danny Milosavljevic
@ 2020-08-20 15:10 ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 02/29] gnu: yelp-tools: " Danny Milosavljevic
                     ` (27 more replies)
  2020-09-24 12:26 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Raghav Gururajan
                   ` (12 subsequent siblings)
  13 siblings, 28 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/gnome.scm (yelp-xsl) [version]: Update to 3.36.0.
[source]<origin>[sha256]: Modify base32.
[arguments]<#:configure-flag>[--enable-doc]: New flag.
[native-inputs]: Add mallard-ducktype, intltool and libxslt.
[description]: Modify.
[license]: Add lgpl2.1+ and expat.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gnome.scm | 50 ++++++++++++++++++++++++++++--------------
 1 file changed, 34 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 116f6d660f..5dda82d295 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5698,26 +5698,44 @@ of running programs and invoke methods on those interfaces.")
 (define-public yelp-xsl
   (package
     (name "yelp-xsl")
-    (version "3.34.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version) "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc"))))
+    (version "3.36.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1hsfj3q3a3kca0cf9i02xlq2qd4vy12qsjb89hh4r6mp6c11rrag"))))
     (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "--enable-doc")))
     (native-inputs
-     `(("gettext-minimal" ,gettext-minimal)
+     `(("ducktype" ,mallard-ducktype)
+       ("gettext" ,gettext-minimal)
+       ("intltool" ,intltool)
        ("itstool" ,itstool)
-       ("xmllint" ,libxml2)))
-    (home-page "https://wiki.gnome.org/Apps/Yelp")
+       ("xmllint" ,libxml2)
+       ("xsltproc" ,libxslt)))
     (synopsis "XSL stylesheets for Yelp")
-    (description
-     "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
-to format Docbook and Mallard documents.")
-    (license license:gpl2+)))
+    (description "Yelp-XSL is a collection of programs and data files to help
+you build, maintain, and distribute documentation.  It provides XSLT stylesheets
+that can be built upon for help viewers and publishing systems.  These
+stylesheets output JavaScript and CSS content, and reference images
+provided by yelp-xsl. It also redistributes copies of the jQuery and
+jQuery.Syntax JavaScript libraries.")
+    (home-page "https://wiki.gnome.org/Apps/Yelp")
+    (license
+     (list
+      ;; XSLT
+      license:gpl2+
+      ;; Images
+      license:lgpl2.1+
+      ;; JavaScript
+      license:expat))))
 
 (define-public yelp
   (package




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 02/29] gnu: yelp-tools: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-30 20:54     ` Ludovic Courtès
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 03/29] gnu: glib: " Danny Milosavljevic
                     ` (26 subsequent siblings)
  27 siblings, 1 reply; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/gnome.scm (yelp-tools): Update package definition.
[propagated-inputs]: Move itstool, libxml2 and libxslt to ...
[native-inputs]: ... here.
[synopsis]: Modify.
[description]: Modify.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gnome.scm | 30 +++++++++++++-----------------
 1 file changed, 13 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 5dda82d295..881cfa493d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5775,31 +5775,27 @@ freedesktop.org help system specification.")
   (package
     (name "yelp-tools")
     (version "3.32.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version) "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (propagated-inputs
-     ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
      `(("itstool" ,itstool)
+       ("pkg-config" ,pkg-config)
        ("xmllint" ,libxml2)
        ("xsltproc" ,libxslt)))
     (inputs
      `(("yelp-xsl" ,yelp-xsl)))
+    (synopsis "Tools for Yelp")
+    (description "Yelp-Tools contains small programs that help you create, edit,
+manage, and publish your Mallard or DocBook documentation.")
     (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
-    (synopsis "Yelp documentation tools")
-    (description
-     "Yelp-tools is a collection of scripts and build utilities to help create,
-manage, and publish documentation for Yelp and the web.  Most of the heavy
-lifting is done by packages like yelp-xsl and itstool.  This package just
-wraps things up in a developer-friendly way.")
     (license license:gpl2+)))
 
 (define-public libgee




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 03/29] gnu: glib: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 02/29] gnu: yelp-tools: " Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 04/29] gnu: glib-with-documentation: " Danny Milosavljevic
                     ` (25 subsequent siblings)
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/glib.scm (glib) [version]: Update to 2.64.3.
[source]<origin>[sha256]: Modify base32.
[patches]: Add glib-disable-failing-tests.patch.
Remove glib-tests-timer.patch.
[arguments]<#:disallowed-references>: Remove argument.
<#:phases>['patch-python-references]: New phase.
['pre-check]: New phase.
['move-bin]: New phase.
['patch-dbus-launch-path]: Remove phase.
['patch-gio-launch-desktop]: Remove phase.
['pre-build]: Remove phase.
['disable-failing-tests]: Remove phase.
['check]: Remove phase.
['move-executables]: Remove phase.
[native-inputs]: Add intltool, python, libxml2 and libxslt.
Remove dbus.
[inputs]: Add dbus and libelf.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Update to lgpl2.1+.
* gnu/packages/patches/glib-disable-failing-tests.patch: New file.
* gnu/packages/patches/glib-tests-timer.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/local.mk                                  |   2 +-
 gnu/packages/glib.scm                         | 316 ++++++------------
 .../patches/glib-disable-failing-tests.patch  |  84 +++++
 gnu/packages/patches/glib-tests-timer.patch   |  15 -
 4 files changed, 194 insertions(+), 223 deletions(-)
 create mode 100644 gnu/packages/patches/glib-disable-failing-tests.patch
 delete mode 100644 gnu/packages/patches/glib-tests-timer.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index edb4e69895..ae708248e8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1015,7 +1015,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/ghostscript-no-header-id.patch		\
   %D%/packages/patches/ghostscript-no-header-uuid.patch		\
   %D%/packages/patches/ghostscript-no-header-creationdate.patch \
-  %D%/packages/patches/glib-tests-timer.patch			\
+  %D%/packages/patches/glib-disable-failing-tests.patch		\
   %D%/packages/patches/glibc-CVE-2015-5180.patch		\
   %D%/packages/patches/glibc-CVE-2015-7547.patch		\
   %D%/packages/patches/glibc-CVE-2016-3075.patch		\
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 9f0721b8c2..057b90eaa1 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -38,6 +38,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages elf)
   #:use-module (gnu packages enlightenment)
   #:use-module (gnu packages file)
   #:use-module (gnu packages flex)
@@ -176,213 +177,114 @@ shared NFS home directories.")
 
 (define glib
   (package
-   (name "glib")
-   (version "2.62.6")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/"
-                                name "/" (string-take version 4) "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
-            (patches (search-patches "glib-tests-timer.patch"))
-            (modules '((guix build utils)))
-            (snippet
-             '(begin
-                (substitute* "tests/spawn-test.c"
-                  (("/bin/sh") "sh"))
-                #t))))
-   (build-system meson-build-system)
-   (outputs '("out"           ; everything
-              "bin"))         ; glib-mkenums, gtester, etc.; depends on Python
-   (propagated-inputs
-    `(("pcre" ,pcre)  ; in the Requires.private field of glib-2.0.pc
-      ("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
-      ;; These are in the Requires.private field of gio-2.0.pc
-      ("util-linux" ,util-linux "lib")  ;for libmount
-      ("libselinux" ,libselinux)
-      ("zlib" ,zlib)))
-   (native-inputs
-    `(("gettext" ,gettext-minimal)
-      ("m4" ,m4) ; for installing m4 macros
-      ("dbus" ,dbus)                              ; for GDBus tests
-      ("pkg-config" ,pkg-config)
-      ("python" ,python-wrapper)
-      ("perl" ,perl)                              ; needed by GIO tests
-      ("tzdata" ,tzdata-for-tests)))                  ; for tests/gdatetime.c
-   (arguments
-    `(#:disallowed-references (,tzdata-for-tests)
-      #:phases
-      (modify-phases %standard-phases
-        (add-after 'unpack 'patch-dbus-launch-path
-          (lambda* (#:key inputs #:allow-other-keys)
-            (let ((dbus (assoc-ref inputs "dbus")))
-              (substitute* "gio/gdbusaddress.c"
-                (("command_line = g_strdup_printf \\(\"dbus-launch")
-                 (string-append "command_line = g_strdup_printf (\""
-                                dbus "/bin/dbus-launch")))
-              #t)))
-        (add-after 'unpack 'patch-gio-launch-desktop
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out")))
-              ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
-              ;; for another future fix.
-              (substitute* "gio/gdesktopappinfo.c"
-               (("gio-launch-desktop")
-                (string-append out "/libexec/gio-launch-desktop")))
-              #t)))
-        (add-before 'build 'pre-build
-          (lambda* (#:key inputs outputs #:allow-other-keys)
-            ;; For tests/gdatetime.c.
-            (setenv "TZDIR"
-                    (string-append (assoc-ref inputs "tzdata")
-                                   "/share/zoneinfo"))
-
-            ;; Some tests want write access there.
-            (setenv "HOME" (getcwd))
-            (setenv "XDG_CACHE_HOME" (getcwd))
-            #t))
-        (add-after 'unpack 'disable-failing-tests
-          (lambda _
-            (let ((disable
-                   (lambda (test-file test-paths)
-                     (define pattern+procs
-                       (map (lambda (test-path)
-                              (cons
-                               ;; XXX: only works for single line statements.
-                               (format #f "g_test_add_func.*\"~a\".*" test-path)
-                               (const "")))
-                            test-paths))
-                     (substitute test-file pattern+procs)))
-                  (failing-tests
-                   '(("glib/tests/thread.c"
-                      (;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
-                       ;; as found on hydra.gnu.org, and strace(1) doesn't
-                       ;; recognize it.
-                       "/thread/thread4"))
-
-                     ;; This tries to find programs in FHS directories.
-                     ("glib/tests/utils.c"
-                      ("/utils/find-program"))
-
-                     ;; This fails because "glib/tests/echo-script" cannot be
-                     ;; found.
-                     ("glib/tests/spawn-singlethread.c"
-                      ("/gthread/spawn-script"))
-
-                     ("glib/tests/timer.c"
-                      (;; fails if compiler optimizations are enabled, which they
-                       ;; are by default.
-                       "/timer/stop"))
-
-                     ("gio/tests/gapplication.c"
-                      (;; XXX: proven to be unreliable.  See:
-                       ;;  <https://bugs.debian.org/756273>
-                       ;;  <http://bugs.gnu.org/18445>
-                       "/gapplication/quit"
-
-                       ;; XXX: fails randomly for unknown reason. See:
-                       ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
-                       "/gapplication/local-actions"))
-
-                     ("gio/tests/contenttype.c"
-                      (;; XXX: requires shared-mime-info.
-                       "/contenttype/guess"
-                       "/contenttype/guess_svg_from_data"
-                       "/contenttype/subtype"
-                       "/contenttype/list"
-                       "/contenttype/icon"
-                       "/contenttype/symbolic-icon"
-                       "/contenttype/tree"))
-
-                     ("gio/tests/appinfo.c"
-                      (;; XXX: requires update-desktop-database.
-                       "/appinfo/associations"))
-
-                     ("gio/tests/desktop-app-info.c"
-                      (;; XXX: requires update-desktop-database.
-                       "/desktop-app-info/delete"
-                       "/desktop-app-info/default"
-                       "/desktop-app-info/fallback"
-                       "/desktop-app-info/lastused"
-                       "/desktop-app-info/search"))
-
-                     ("gio/tests/gdbus-peer.c"
-                      (;; Requires /etc/machine-id.
-                       "/gdbus/codegen-peer-to-peer"))
-
-                     ("gio/tests/gdbus-address-get-session.c"
-                      (;; Requires /etc/machine-id.
-                       "/gdbus/x11-autolaunch"))
-
-                     ("gio/tests/gsocketclient-slow.c"
-                      (;; These tests tries to resolve "localhost", and fails.
-                       "/socket-client/happy-eyeballs/slow"
-                       "/socket-client/happy-eyeballs/cancellation/delayed"))
-
-                     )))
-              (for-each (lambda (x) (apply disable x)) failing-tests)
-              #t)))
-        (replace 'check
-          (lambda _
-            (setenv "MESON_TESTTHREADS"
-                    (number->string (parallel-job-count)))
-            ;; Do not run tests marked as "flaky".
-            (invoke "meson" "test" "--no-suite" "flaky")))
-        ;; TODO: meson does not permit the bindir to be outside of prefix.
-        ;; See https://github.com/mesonbuild/meson/issues/2561
-        ;; We can remove this once meson is patched.
-        (add-after 'install 'move-executables
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out"))
-                  (bin (assoc-ref outputs "bin")))
-              (mkdir-p bin)
-              (rename-file (string-append out "/bin")
-                           (string-append bin "/bin"))
-              ;; This one is an implementation detail of glib.
-              ;; It is wrong that that's in "/bin" in the first place,
-              ;; but that's what upstream is doing right now.
-              ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
-              (mkdir (string-append out "/libexec"))
-              (rename-file (string-append bin "/bin/gio-launch-desktop")
-                           (string-append out "/libexec/gio-launch-desktop"))
-              ;; 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=\\$\\{prefix\\}/bin") "")
-                (("=\\$\\{bindir\\}/") "="))
-              #t))))))
-      ;; TODO: see above for explanation.
-      ;; #:configure-flags (list (string-append "--bindir="
-      ;;                                        (assoc-ref %outputs "bin")
-      ;;                                        "/bin"))
-
-   (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
-    ;; path for .gir files, and it's also a search path for schemas produced
-    ;; by 'glib-compile-schemas'.
-    (list (search-path-specification
-           (variable "XDG_DATA_DIRS")
-           (files '("share")))
-          ;; To load extra gio modules from glib-networking, etc.
-          (search-path-specification
-           (variable "GIO_EXTRA_MODULES")
-           (files '("lib/gio/modules")))))
-   (search-paths native-search-paths)
-   (properties '((hidden? . #t)))
-
-   (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
-   (description
-    "GLib provides data structure handling for C, portability wrappers,
-and interfaces for such runtime functionality as an event loop, threads,
-dynamic loading, and an object system.")
-   (home-page "https://developer.gnome.org/glib/")
-   (license license:lgpl2.1+)))
+    (name "glib")
+    (version "2.64.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/"
+                       name "/" (string-take version 4) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "08pbgiv5m3rica4ydvwvpq5mrxbyswx7l1jzjc2ch52xjabvr77y"))
+       (patches
+        (search-patches "glib-disable-failing-tests.patch"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (substitute* "tests/spawn-test.c"
+             (("/bin/sh") "sh"))
+           #t))))
+    (build-system meson-build-system)
+    (outputs '("out" "bin"))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         ;; Python references are not being patched in patch-phase of build,
+         ;; despite using python-wrapper as input. So we patch them manually.
+         (add-after 'unpack 'patch-python-references
+           (lambda* (#:key 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@")
+                (string-append (assoc-ref inputs "python")
+                               "/bin/python"
+                               ,(version-major+minor
+                                 (package-version python)))))
+             #t))
+         (add-before 'check 'pre-check
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             ;; For tests/gdatetime.c.
+             (setenv "TZDIR"
+                     (string-append (assoc-ref inputs "tzdata")
+                                    "/share/zoneinfo"))
+             ;; Some tests want write access there.
+             (setenv "HOME" (getcwd))
+             (setenv "XDG_CACHE_HOME" (getcwd))
+             #t))
+         ;; Meson does not permit the bindir to be outside of prefix.
+         (add-after 'install 'move-bin
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (assoc-ref outputs "bin")))
+               (mkdir-p bin)
+               (rename-file
+                (string-append out "/bin")
+                (string-append bin "/bin"))
+               ;; 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=\\$\\{prefix\\}/bin") "")
+                 (("=\\$\\{bindir\\}/") "="))
+               #t))))))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("libintl" ,intltool)
+       ("m4" ,m4)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python-wrapper" ,python-wrapper)
+       ("python" ,python)               ; For 'patch-python-references
+       ("tzdata" ,tzdata-for-tests)
+       ("xmllint" ,libxml2)
+       ("xsltproc" ,libxslt)))
+    (inputs
+     `(("dbus" ,dbus)
+       ("libelf" ,libelf)))
+    (propagated-inputs
+     `(("libffi" ,libffi)
+       ("libselinux" ,libselinux)
+       ("pcre" ,pcre)
+       ("util-linux" ,util-linux "lib")
+       ("zlib" ,zlib)))
+    (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
+     ;; path for .gir files, and it's also a search path for schemas produced
+     ;; by 'glib-compile-schemas'.
+     (list
+      (search-path-specification
+       (variable "XDG_DATA_DIRS")
+       (files '("share")))
+      ;; To load extra gio modules from glib-networking, etc.
+      (search-path-specification
+       (variable "GIO_EXTRA_MODULES")
+       (files '("lib/gio/modules")))))
+    (search-paths native-search-paths)
+    (synopsis "Low-level core library for GNOME projects")
+    (description "GLib provides data structure handling for C, portability
+wrappers, and interfaces for such runtime functionality as an event loop,
+threads, dynamic loading, and an object system.")
+    (home-page "https://wiki.gnome.org/Projects/GLib")
+    (license license:lgpl2.1+)))
 
 (define-public glib-with-documentation
   ;; glib's doc must be built in a separate package since it requires gtk-doc,
diff --git a/gnu/packages/patches/glib-disable-failing-tests.patch b/gnu/packages/patches/glib-disable-failing-tests.patch
new file mode 100644
index 0000000000..3601c42030
--- /dev/null
+++ b/gnu/packages/patches/glib-disable-failing-tests.patch
@@ -0,0 +1,84 @@
+From a2e6783f2278ed32b1e552691ec5d67d6940757e Mon Sep 17 00:00:00 2001
+From: Raghav Gururajan <raghavgururajan@disroot.org>
+Date: Tue, 9 Jun 2020 05:17:53 -0400
+Subject: [PATCH] PATCH: Disable failing tests.
+
+---
+ gio/tests/meson.build  | 19 -------------------
+ glib/tests/meson.build |  2 --
+ 2 files changed, 21 deletions(-)
+
+diff --git a/gio/tests/meson.build b/gio/tests/meson.build
+index c7c3e3035..6e38eb39e 100644
+--- a/gio/tests/meson.build
++++ b/gio/tests/meson.build
+@@ -34,7 +34,6 @@ gio_tests = {
+   'buffered-output-stream' : {},
+   'cancellable' : {},
+   'contexts' : {},
+-  'contenttype' : {},
+   'converter-stream' : {},
+   'credentials' : {},
+   'data-input-stream' : {},
+@@ -78,7 +77,6 @@ gio_tests = {
+   'tls-certificate' : {'extra_sources' : ['gtesttlsbackend.c']},
+   'tls-interaction' : {'extra_sources' : ['gtesttlsbackend.c']},
+   'tls-database' : {'extra_sources' : ['gtesttlsbackend.c']},
+-  'gdbus-address-get-session' : {},
+   'win32-appinfo' : {},
+ }
+ 
+@@ -135,10 +133,6 @@ endif
+ if host_machine.system() != 'windows'
+   gio_tests += {
+     'file' : {},
+-    'gdbus-peer' : {
+-      'dependencies' : [libgdbus_example_objectmanager_dep],
+-      'install_rpath' : installed_tests_execdir
+-    },
+     'gdbus-peer-object-manager' : {},
+     'live-g-file' : {},
+     'socket-address' : {},
+@@ -173,19 +167,6 @@ if host_machine.system() != 'windows'
+     }
+   endif
+ 
+-  # Uninstalled because of the check-for-executable logic in DesktopAppInfo
+-  # unable to find the installed executable
+-  if not glib_have_cocoa
+-    gio_tests += {
+-      'appinfo' : {
+-        'install' : false,
+-      },
+-      'desktop-app-info' : {
+-        'install' : false,
+-      },
+-    }
+-  endif
+-
+   test_extra_programs += {
+     'basic-application' : {},
+     'dbus-launch' : {},
+diff --git a/glib/tests/meson.build b/glib/tests/meson.build
+index 8da477d19..9fa24dd49 100644
+--- a/glib/tests/meson.build
++++ b/glib/tests/meson.build
+@@ -103,7 +103,6 @@ glib_tests = {
+   'utf8-pointer' : {},
+   'utf8-validate' : {},
+   'utf8-misc' : {},
+-  'utils' : {},
+   'unicode' : {},
+   'uri' : {},
+   '1bit-mutex' : {},
+@@ -151,7 +150,6 @@ if host_machine.system() == 'windows'
+ else
+   glib_tests += {
+     'include' : {},
+-    'unix' : {},
+   }
+   if have_rtld_next
+     glib_tests += {
+-- 
+2.26.2
+
diff --git a/gnu/packages/patches/glib-tests-timer.patch b/gnu/packages/patches/glib-tests-timer.patch
deleted file mode 100644
index e37425c0c8..0000000000
--- a/gnu/packages/patches/glib-tests-timer.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-* On i686 floating-point roundoff errors could sometimes cause this check to
-  fail depending on the elapsed microseconds.  Improve rounding by adding a
-  fractional bit.
-
---- glib-2.40.0/glib/tests/timer.c	2014-03-05 08:05:42.000000000 -0600
-+++ glib-2.40.0/glib/tests/timer.c	2014-07-10 16:33:12.746862822 -0500
-@@ -35,7 +35,7 @@
-   elapsed = g_timer_elapsed (timer, &micros);
- 
-   g_assert_cmpfloat (elapsed, <, 1.0);
--  g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6)) % 1000000);
-+  g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6 + 0.5)) % 1000000);
- 
-   g_timer_destroy (timer);
- }




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 04/29] gnu: glib-with-documentation: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 02/29] gnu: yelp-tools: " Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 03/29] gnu: glib: " Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 05/29] gnu: gobject-introspection: " Danny Milosavljevic
                     ` (24 subsequent siblings)
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/glib.scm (glib-with-documentation): Update package
definition.
[properties]: Remove field.
[native-inputs]: Remove libxml2.
[arguments]<#:phases>['patch-docbook-xml]: New phase.
['move-doc]: Modify phase.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/glib.scm | 29 +++++++++++++++++++++--------
 1 file changed, 21 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 057b90eaa1..55ffdf724e 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -291,27 +291,40 @@ threads, dynamic loading, and an object system.")
   ;; which in turn depends on glib.
   (package
     (inherit glib)
-    (properties (alist-delete 'hidden? (package-properties glib)))
-    (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
     (native-inputs
-     `(("gtk-doc" ,gtk-doc)             ; for the doc
-       ("docbook-xml" ,docbook-xml)
-       ("libxml2" ,libxml2)
+     `(("gtk-doc" ,gtk-doc)
+       ("docbook-xml-4.2" ,docbook-xml-4.2)
+       ("docbook-xml-4.5" ,docbook-xml)
        ,@(package-native-inputs glib)))
+    (outputs (cons "doc" (package-outputs glib)))
     (arguments
      (substitute-keyword-arguments (package-arguments glib)
        ((#:configure-flags flags ''())
         `(cons "-Dgtk_doc=true" ,flags))
        ((#:phases phases)
         `(modify-phases ,phases
+           (add-after 'unpack 'patch-docbook-xml
+             (lambda* (#:key inputs #:allow-other-keys)
+               (with-directory-excursion "docs/reference"
+                 (substitute* '("gio/gdbus-object-manager-example/.*\\.xml"
+                                "gio/.*\\.xml" "glib/.*\\.xml" "gobject/.*\\.xml")
+                   (("http://www.oasis-open.org/docbook/xml/4.5/")
+                    (string-append (assoc-ref inputs "docbook-xml-4.5")
+                                   "/xml/dtd/docbook/")))
+                 (substitute* "gio/gio.xml"
+                   (("http://www.oasis-open.org/docbook/xml/4.2/")
+                    (string-append (assoc-ref inputs "docbook-xml-4.2")
+                                   "/xml/dtd/docbook/"))))
+               #t))
            (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")))
-                 (copy-recursively (string-append out html)
-                                   (string-append doc html))
-                 (delete-file-recursively (string-append out html))
+                 (mkdir-p (string-append doc "/share"))
+                 (rename-file
+                  (string-append out html)
+                  (string-append doc html))
                  #t)))))))))
 
 (define gobject-introspection




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 05/29] gnu: gobject-introspection: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (2 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 04/29] gnu: glib-with-documentation: " Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-09-23 13:40     ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 06/29] gnu: gobject-introspection: Propagate glib Danny Milosavljevic
                     ` (23 subsequent siblings)
  27 siblings, 1 reply; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/glib.scm (gobject-introspection) [version]: Update
to 1.64.1.
[patches]: Remove all patches.
[arguments]<#:glib-or-gtk?>: New argument.
<#:phases>: Remove all phases.
[native-inputs]: Add bison and flex.
[inputs]: Remove bison, flex and zlib.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Modify.
* gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch: Delete file.
* gnu/packages/patches/gobject-introspection-cc.patch: Delete file.
* gnu/packages/patches/gobject-introspection-girepository.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove them.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/local.mk                                  |   3 -
 gnu/packages/glib.scm                         |  69 ++++----
 ...ct-introspection-absolute-shlib-path.patch | 166 ------------------
 .../patches/gobject-introspection-cc.patch    |  14 --
 .../gobject-introspection-girepository.patch  |  25 ---
 5 files changed, 30 insertions(+), 247 deletions(-)
 delete mode 100644 gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch
 delete mode 100644 gnu/packages/patches/gobject-introspection-cc.patch
 delete mode 100644 gnu/packages/patches/gobject-introspection-girepository.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index ae708248e8..278879334c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1065,9 +1065,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/gnupg-default-pinentry.patch		\
   %D%/packages/patches/gnutls-skip-trust-store-test.patch	\
   %D%/packages/patches/gnutls-cross.patch			\
-  %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
-  %D%/packages/patches/gobject-introspection-cc.patch		\
-  %D%/packages/patches/gobject-introspection-girepository.patch	\
   %D%/packages/patches/go-skip-gc-test.patch			\
   %D%/packages/patches/gpm-glibc-2.26.patch			\
   %D%/packages/patches/gpsbabel-minizip.patch     		\
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 55ffdf724e..c4bf47512b 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -330,56 +330,47 @@ threads, dynamic loading, and an object system.")
 (define gobject-introspection
   (package
     (name "gobject-introspection")
-    (version "1.62.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 "18lhglg9v6y83lhqzyifc1z0wrlawzrhzzxx0a3h1g7xaz97xvmi"))
-             (patches (search-patches
-                       "gobject-introspection-cc.patch"
-                       "gobject-introspection-girepository.patch"
-                       "gobject-introspection-absolute-shlib-path.patch"))))
+    (version "1.64.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/"
+                       name "/" (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "19vz7vp10h0zj3f491yk72dp89bix6rgkzxg4qcm4d6151ksxgl0"))))
     (build-system meson-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'do-not-use-/usr/bin/env
-           (lambda _
-             (substitute* "tools/g-ir-tool-template.in"
-               (("#!@PYTHON_CMD@")
-                (string-append "#!" (which "python3"))))
-             #t)))))
-    (inputs
+     `(#:glib-or-gtk? #t))   ; To wrap binaries and/or compile schemas
+    (native-inputs
      `(("bison" ,bison)
        ("flex" ,flex)
-       ("glib" ,glib)
-       ("python" ,python-wrapper)
-       ("zlib" ,zlib)))
-    (native-inputs
-     `(("glib" ,glib "bin")
+       ("glib" ,glib "bin")
        ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("glib" ,glib)
+       ("python" ,python-wrapper)))
     (propagated-inputs
-     `(;; In practice, GIR users will need libffi when using
-       ;; gobject-introspection.
-       ("libffi" ,libffi)))
+     `(("libffi" ,libffi)))
     (native-search-paths
      (list (search-path-specification
             (variable "GI_TYPELIB_PATH")
             (files '("lib/girepository-1.0")))))
     (search-paths native-search-paths)
-    (home-page "https://wiki.gnome.org/GObjectIntrospection")
-    (synopsis "Generate interface introspection data for GObject libraries")
-    (description
-     "GObject introspection is a middleware layer between C libraries (using
-GObject) and language bindings.  The C library can be scanned at compile time
-and generate a metadata file, in addition to the actual native C library.  Then
-at runtime, language bindings can read this metadata and automatically provide
-bindings to call into the C library.")
-    ; Some bits are distributed under the LGPL2+, others under the GPL2+
-    (license license:gpl2+)))
+    (synopsis "GObject introspection tools and libraries")
+    (description "GObject introspection is a middleware layer between
+C libraries (using GObject) and language bindings.  The C library can be scanned
+at compile time and generate metadata files, in addition to the actual native
+C library.  Then language bindings can read this metadata and automatically
+provide bindings to call into the C library.")
+    (home-page "https://wiki.gnome.org/Projects/GObjectIntrospection")
+    (license
+     (list
+      ;; For library.
+      license:lgpl2.0+
+      ;; For tools.
+      license:gpl2+))))
 
 (define intltool
   (package
diff --git a/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch b/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch
deleted file mode 100644
index 956fa617c3..0000000000
--- a/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-# Names of libraries included in typelib files are opened by dlopen.  Here we 
-# add the full path.
-#
-# This patch was provided by Luca Bruno <lucabru@src.gnome.org>  for 
-# 'gobject-introspection' 1.40.0 in Nix.
-#
-# It has since been updated to work with newer versions of
-# gobject-introspection.
---- a/giscanner/scannermain.py
-+++ b/giscanner/scannermain.py
-@@ -95,6 +95,39 @@ def get_windows_option_group(parser):
-     return group
- 
- 
-+def _get_default_fallback_libpath():
-+    # Newer multiple-output-optimized stdenv has an environment variable
-+    # $outputLib which in turn specifies another variable which then is used as
-+    # the destination for the library contents (${!outputLib}/lib).
-+    store_path = os.environ.get(os.environ.get("outputLib")) if "outputLib" in os.environ else None
-+    if store_path is None:
-+        outputs = os.environ.get("outputs", "out").split()
-+        if "lib" in outputs:
-+            # For multiple output derivations let's try whether there is a $lib
-+            # environment variable and use that as the base store path.
-+            store_path = os.environ.get("lib")
-+        elif "out" in outputs:
-+            # Otherwise we have a single output derivation, so the libraries
-+            # most certainly will end up in "$out/lib".
-+            store_path = os.environ.get("out")
-+
-+    if store_path is not None:
-+        # Even if we have a $lib as output, there still should be a $lib/lib
-+        # directory.
-+        return os.path.join(store_path, 'lib')
-+    else:
-+        # If we haven't found a possible scenario, let's return an empty string
-+        # so that the shared library won't be prepended with a path.
-+        #
-+        # Note that this doesn't mean that all hope is lost, because after all
-+        # we can still use --fallback-library-path to set one.
-+        #
-+        # Also, we're not returning None, because that would make it very
-+        # difficult to disable adding fallback paths altogether using something
-+        # like: --fallback-library-path=""
-+        return ""
-+
-+
- def _get_option_parser():
-     parser = optparse.OptionParser('%prog [options] sources',
-                                    version='%prog ' + giscanner.__version__)
-@@ -205,6 +238,10 @@ match the namespace prefix.""")
-     parser.add_option("", "--filelist",
-                       action="store", dest="filelist", default=[],
-                       help="file containing headers and sources to be scanned")
-+    parser.add_option("", "--fallback-library-path",
-+                      action="store", dest="fallback_libpath",
-+                      default=_get_default_fallback_libpath(),
-+                      help="Path to prepend to unknown shared libraries")
- 
-     group = get_preprocessor_option_group(parser)
-     parser.add_option_group(group)
---- a/giscanner/shlibs.py
-+++ b/giscanner/shlibs.py
-@@ -57,6 +57,14 @@ def _ldd_library_pattern(library_name):
-     $""" % re.escape(library_name), re.VERBOSE)
- 
- 
-+def _ldd_library_guix_pattern(library_name):
-+    store_dir = re.escape(
-+      os.environ.get("NIX_STORE", default="/gnu/store")
-+    )
-+    pattern = r'(%s(?:/[^/]*)+lib%s[^A-Za-z0-9_-][^\s\(\)]*)'
-+    return re.compile(pattern % (store_dir, re.escape(library_name)))
-+
-+
- # This is a what we do for non-la files. We assume that we are on an
- # ELF-like system where ldd exists and the soname extracted with ldd is
- # a filename that can be opened with dlopen().
-@@ -106,7 +112,8 @@ def _resolve_non_libtool(options, binary, libraries):
-             output = output.decode("utf-8", "replace")
- 
-         shlibs = resolve_from_ldd_output(libraries, output)
--        return list(map(sanitize_shlib_path, shlibs))
-+        fallback_libpath = options.fallback_libpath or "";
-+        return list(map(lambda p: os.path.join(fallback_libpath, p), map(sanitize_shlib_path, shlibs)))
- 
- 
- def sanitize_shlib_path(lib):
-@@ -115,19 +122,18 @@ def sanitize_shlib_path(lib):
-     # In case we get relative paths on macOS (like @rpath) then we fall
-     # back to the basename as well:
-     # https://gitlab.gnome.org/GNOME/gobject-introspection/issues/222
--    if sys.platform == "darwin":
--        if not os.path.isabs(lib):
--            return os.path.basename(lib)
--        return lib
--    else:
-+
-+    # Always use absolute paths if available
-+    if not os.path.isabs(lib):
-         return os.path.basename(lib)
-+    return lib
- 
- 
- def resolve_from_ldd_output(libraries, output):
-     patterns = {}
-     for library in libraries:
-         if not os.path.isfile(library):
--            patterns[library] = _ldd_library_pattern(library)
-+            patterns[library] = (_ldd_library_pattern(library), _ldd_library_guix_pattern(library))
-     if len(patterns) == 0:
-         return []
- 
-@@ -139,8 +145,12 @@ def resolve_from_ldd_output(libraries, output):
-         if line.endswith(':'):
-             continue
-         for word in line.split():
--            for library, pattern in patterns.items():
--                m = pattern.match(word)
-+            for library, (pattern, guix_pattern) in patterns.items():
-+                store_dir = os.environ.get("NIX_STORE", default="/gnu/store")
-+                if line.find(store_dir) != -1:
-+                    m = guix_pattern.match(word)
-+                else:
-+                    m = pattern.match(word)
-                 if m:
-                     del patterns[library]
-                     shlibs.append(m.group())
-
---- a/giscanner/utils.py
-+++ b/giscanner/utils.py
-@@ -111,17 +111,11 @@ def extract_libtool_shlib(la_file):
-     if dlname is None:
-         return None
- 
--    # Darwin uses absolute paths where possible; since the libtool files never
--    # contain absolute paths, use the libdir field
--    if platform.system() == 'Darwin':
--        dlbasename = os.path.basename(dlname)
--        libdir = _extract_libdir_field(la_file)
--        if libdir is None:
--            return dlbasename
--        return libdir + '/' + dlbasename
--    # From the comments in extract_libtool(), older libtools had
--    # a path rather than the raw dlname
--    return os.path.basename(dlname)
-+    dlbasename = os.path.basename(dlname)
-+    libdir = _extract_libdir_field(la_file)
-+    if libdir is None:
-+        return dlbasename
-+    return libdir + '/' + dlbasename
- 
- 
- def extract_libtool(la_file):
---- a/tests/scanner/test_shlibs.py
-+++ b/tests/scanner/test_shlibs.py
-@@ -40,6 +64,7 @@ class TestLddParser(unittest.TestCase):
- 
-         self.assertEqual(
-             sanitize_shlib_path('/foo/bar'),
--            '/foo/bar' if sys.platform == 'darwin' else 'bar')
-+            # Always use an absolute filename for Guix
-+            '/foo/bar')
- 
-     def test_unresolved_library(self):
-output = ''
diff --git a/gnu/packages/patches/gobject-introspection-cc.patch b/gnu/packages/patches/gobject-introspection-cc.patch
deleted file mode 100644
index 6a86b56b44..0000000000
--- a/gnu/packages/patches/gobject-introspection-cc.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Use gcc as the default C compiler if CC is not set.
-
-diff -ru gobject-introspection-1.58.1.orig/giscanner/__init__.py gobject-introspection-1.58.1/giscanner/__init__.py
---- gobject-introspection-1.58.1.orig/giscanner/__init__.py	1970-01-01 01:00:00.000000000 +0100
-+++ gobject-introspection-1.58.1/giscanner/__init__.py	2018-12-03 13:33:28.788971299 +0100
-@@ -22,6 +22,8 @@
- builddir = os.environ.get('UNINSTALLED_INTROSPECTION_BUILDDIR')
- if builddir is not None:
-     __path__.append(os.path.join(builddir, 'giscanner'))
-+if not 'CC' in os.environ:
-+    os.environ['CC'] = 'gcc'
- try:
-     from ._version import __version__
- except ImportError:
diff --git a/gnu/packages/patches/gobject-introspection-girepository.patch b/gnu/packages/patches/gobject-introspection-girepository.patch
deleted file mode 100644
index 380617f27f..0000000000
--- a/gnu/packages/patches/gobject-introspection-girepository.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/girepository/gitypelib.c.orig
-+++ b/girepository/gitypelib.c
-@@ -2296,7 +2296,22 @@ _g_typelib_do_dlopen (GITypelib *typelib)
-         {
-           GModule *module;
- 
-+          /* 'gobject-introspection' doesn't store the path of shared
-+             libraries into '.typelib' and '.gir' files.  Shared
-+             libraries are searched for in the dynamic linker search
-+             path.  In Guix we patch 'gobject-introspection' such that
-+             it stores the absolute path of shared libraries in
-+             '.typelib' and '.gir' files.  Here, in order to minimize
-+             side effects, we make sure that if the library is not
-+             found at the indicated path location, we try with just
-+             the basename and the system dynamic library
-+             infrastructure, as per default behaviour of the
-+             library. */
-           module = load_one_shared_library (shlibs[i]);
-+          if (module == NULL && g_path_is_absolute (shlibs[i]))
-+            {
-+              module = load_one_shared_library (g_basename(shlibs[i]));
-+            }
- 
-           if (module == NULL)
-             {




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 06/29] gnu: gobject-introspection: Propagate glib.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (3 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 05/29] gnu: gobject-introspection: " Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 07/29] gnu: gobject-introspection: Add patches back Danny Milosavljevic
                     ` (22 subsequent siblings)
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/glib.scm (gobject-introspection) [inputs]: Move glib
to ...
[propagated-inputs]: ... here.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/glib.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index c4bf47512b..1221612fbb 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -349,10 +349,10 @@ threads, dynamic loading, and an object system.")
        ("glib" ,glib "bin")
        ("pkg-config" ,pkg-config)))
     (inputs
-     `(("glib" ,glib)
-       ("python" ,python-wrapper)))
+     `(("python" ,python-wrapper)))
     (propagated-inputs
-     `(("libffi" ,libffi)))
+     `(("glib" ,glib)
+       ("libffi" ,libffi)))
     (native-search-paths
      (list (search-path-specification
             (variable "GI_TYPELIB_PATH")




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 07/29] gnu: gobject-introspection: Add patches back.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (4 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 06/29] gnu: gobject-introspection: Propagate glib Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 08/29] gnu: pixman: Update package definition Danny Milosavljevic
                     ` (21 subsequent siblings)
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/glib.scm (gobject-introspection): Add patches back.
[source]<origin>[patches]: Add gobject-introspection-cc.patch,
gobject-introspection-girepository.patch and
gobject-introspection-absolute-shlib-path.patch.
* gnu/packages/patches/gobject-introspection-cc.patch: New file.
* gnu/packages/patches/gobject-introspection-girepository.patch: New file.
* gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add them.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/local.mk                                  |   3 +
 gnu/packages/glib.scm                         |   7 +-
 ...ct-introspection-absolute-shlib-path.patch | 166 ++++++++++++++++++
 .../patches/gobject-introspection-cc.patch    |  14 ++
 .../gobject-introspection-girepository.patch  |  25 +++
 5 files changed, 214 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch
 create mode 100644 gnu/packages/patches/gobject-introspection-cc.patch
 create mode 100644 gnu/packages/patches/gobject-introspection-girepository.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 278879334c..ae708248e8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1065,6 +1065,9 @@ dist_patch_DATA =						\
   %D%/packages/patches/gnupg-default-pinentry.patch		\
   %D%/packages/patches/gnutls-skip-trust-store-test.patch	\
   %D%/packages/patches/gnutls-cross.patch			\
+  %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
+  %D%/packages/patches/gobject-introspection-cc.patch		\
+  %D%/packages/patches/gobject-introspection-girepository.patch	\
   %D%/packages/patches/go-skip-gc-test.patch			\
   %D%/packages/patches/gpm-glibc-2.26.patch			\
   %D%/packages/patches/gpsbabel-minizip.patch     		\
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 1221612fbb..b5a37bb0cd 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -339,7 +339,12 @@ threads, dynamic loading, and an object system.")
                        name "/" (version-major+minor version) "/"
                        name "-" version ".tar.xz"))
        (sha256
-        (base32 "19vz7vp10h0zj3f491yk72dp89bix6rgkzxg4qcm4d6151ksxgl0"))))
+        (base32 "19vz7vp10h0zj3f491yk72dp89bix6rgkzxg4qcm4d6151ksxgl0"))
+       (patches
+        (search-patches
+         "gobject-introspection-cc.patch"
+         "gobject-introspection-girepository.patch"
+         "gobject-introspection-absolute-shlib-path.patch"))))
     (build-system meson-build-system)
     (arguments
      `(#:glib-or-gtk? #t))   ; To wrap binaries and/or compile schemas
diff --git a/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch b/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch
new file mode 100644
index 0000000000..956fa617c3
--- /dev/null
+++ b/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch
@@ -0,0 +1,166 @@
+# Names of libraries included in typelib files are opened by dlopen.  Here we 
+# add the full path.
+#
+# This patch was provided by Luca Bruno <lucabru@src.gnome.org>  for 
+# 'gobject-introspection' 1.40.0 in Nix.
+#
+# It has since been updated to work with newer versions of
+# gobject-introspection.
+--- a/giscanner/scannermain.py
++++ b/giscanner/scannermain.py
+@@ -95,6 +95,39 @@ def get_windows_option_group(parser):
+     return group
+ 
+ 
++def _get_default_fallback_libpath():
++    # Newer multiple-output-optimized stdenv has an environment variable
++    # $outputLib which in turn specifies another variable which then is used as
++    # the destination for the library contents (${!outputLib}/lib).
++    store_path = os.environ.get(os.environ.get("outputLib")) if "outputLib" in os.environ else None
++    if store_path is None:
++        outputs = os.environ.get("outputs", "out").split()
++        if "lib" in outputs:
++            # For multiple output derivations let's try whether there is a $lib
++            # environment variable and use that as the base store path.
++            store_path = os.environ.get("lib")
++        elif "out" in outputs:
++            # Otherwise we have a single output derivation, so the libraries
++            # most certainly will end up in "$out/lib".
++            store_path = os.environ.get("out")
++
++    if store_path is not None:
++        # Even if we have a $lib as output, there still should be a $lib/lib
++        # directory.
++        return os.path.join(store_path, 'lib')
++    else:
++        # If we haven't found a possible scenario, let's return an empty string
++        # so that the shared library won't be prepended with a path.
++        #
++        # Note that this doesn't mean that all hope is lost, because after all
++        # we can still use --fallback-library-path to set one.
++        #
++        # Also, we're not returning None, because that would make it very
++        # difficult to disable adding fallback paths altogether using something
++        # like: --fallback-library-path=""
++        return ""
++
++
+ def _get_option_parser():
+     parser = optparse.OptionParser('%prog [options] sources',
+                                    version='%prog ' + giscanner.__version__)
+@@ -205,6 +238,10 @@ match the namespace prefix.""")
+     parser.add_option("", "--filelist",
+                       action="store", dest="filelist", default=[],
+                       help="file containing headers and sources to be scanned")
++    parser.add_option("", "--fallback-library-path",
++                      action="store", dest="fallback_libpath",
++                      default=_get_default_fallback_libpath(),
++                      help="Path to prepend to unknown shared libraries")
+ 
+     group = get_preprocessor_option_group(parser)
+     parser.add_option_group(group)
+--- a/giscanner/shlibs.py
++++ b/giscanner/shlibs.py
+@@ -57,6 +57,14 @@ def _ldd_library_pattern(library_name):
+     $""" % re.escape(library_name), re.VERBOSE)
+ 
+ 
++def _ldd_library_guix_pattern(library_name):
++    store_dir = re.escape(
++      os.environ.get("NIX_STORE", default="/gnu/store")
++    )
++    pattern = r'(%s(?:/[^/]*)+lib%s[^A-Za-z0-9_-][^\s\(\)]*)'
++    return re.compile(pattern % (store_dir, re.escape(library_name)))
++
++
+ # This is a what we do for non-la files. We assume that we are on an
+ # ELF-like system where ldd exists and the soname extracted with ldd is
+ # a filename that can be opened with dlopen().
+@@ -106,7 +112,8 @@ def _resolve_non_libtool(options, binary, libraries):
+             output = output.decode("utf-8", "replace")
+ 
+         shlibs = resolve_from_ldd_output(libraries, output)
+-        return list(map(sanitize_shlib_path, shlibs))
++        fallback_libpath = options.fallback_libpath or "";
++        return list(map(lambda p: os.path.join(fallback_libpath, p), map(sanitize_shlib_path, shlibs)))
+ 
+ 
+ def sanitize_shlib_path(lib):
+@@ -115,19 +122,18 @@ def sanitize_shlib_path(lib):
+     # In case we get relative paths on macOS (like @rpath) then we fall
+     # back to the basename as well:
+     # https://gitlab.gnome.org/GNOME/gobject-introspection/issues/222
+-    if sys.platform == "darwin":
+-        if not os.path.isabs(lib):
+-            return os.path.basename(lib)
+-        return lib
+-    else:
++
++    # Always use absolute paths if available
++    if not os.path.isabs(lib):
+         return os.path.basename(lib)
++    return lib
+ 
+ 
+ def resolve_from_ldd_output(libraries, output):
+     patterns = {}
+     for library in libraries:
+         if not os.path.isfile(library):
+-            patterns[library] = _ldd_library_pattern(library)
++            patterns[library] = (_ldd_library_pattern(library), _ldd_library_guix_pattern(library))
+     if len(patterns) == 0:
+         return []
+ 
+@@ -139,8 +145,12 @@ def resolve_from_ldd_output(libraries, output):
+         if line.endswith(':'):
+             continue
+         for word in line.split():
+-            for library, pattern in patterns.items():
+-                m = pattern.match(word)
++            for library, (pattern, guix_pattern) in patterns.items():
++                store_dir = os.environ.get("NIX_STORE", default="/gnu/store")
++                if line.find(store_dir) != -1:
++                    m = guix_pattern.match(word)
++                else:
++                    m = pattern.match(word)
+                 if m:
+                     del patterns[library]
+                     shlibs.append(m.group())
+
+--- a/giscanner/utils.py
++++ b/giscanner/utils.py
+@@ -111,17 +111,11 @@ def extract_libtool_shlib(la_file):
+     if dlname is None:
+         return None
+ 
+-    # Darwin uses absolute paths where possible; since the libtool files never
+-    # contain absolute paths, use the libdir field
+-    if platform.system() == 'Darwin':
+-        dlbasename = os.path.basename(dlname)
+-        libdir = _extract_libdir_field(la_file)
+-        if libdir is None:
+-            return dlbasename
+-        return libdir + '/' + dlbasename
+-    # From the comments in extract_libtool(), older libtools had
+-    # a path rather than the raw dlname
+-    return os.path.basename(dlname)
++    dlbasename = os.path.basename(dlname)
++    libdir = _extract_libdir_field(la_file)
++    if libdir is None:
++        return dlbasename
++    return libdir + '/' + dlbasename
+ 
+ 
+ def extract_libtool(la_file):
+--- a/tests/scanner/test_shlibs.py
++++ b/tests/scanner/test_shlibs.py
+@@ -40,6 +64,7 @@ class TestLddParser(unittest.TestCase):
+ 
+         self.assertEqual(
+             sanitize_shlib_path('/foo/bar'),
+-            '/foo/bar' if sys.platform == 'darwin' else 'bar')
++            # Always use an absolute filename for Guix
++            '/foo/bar')
+ 
+     def test_unresolved_library(self):
+output = ''
diff --git a/gnu/packages/patches/gobject-introspection-cc.patch b/gnu/packages/patches/gobject-introspection-cc.patch
new file mode 100644
index 0000000000..6a86b56b44
--- /dev/null
+++ b/gnu/packages/patches/gobject-introspection-cc.patch
@@ -0,0 +1,14 @@
+Use gcc as the default C compiler if CC is not set.
+
+diff -ru gobject-introspection-1.58.1.orig/giscanner/__init__.py gobject-introspection-1.58.1/giscanner/__init__.py
+--- gobject-introspection-1.58.1.orig/giscanner/__init__.py	1970-01-01 01:00:00.000000000 +0100
++++ gobject-introspection-1.58.1/giscanner/__init__.py	2018-12-03 13:33:28.788971299 +0100
+@@ -22,6 +22,8 @@
+ builddir = os.environ.get('UNINSTALLED_INTROSPECTION_BUILDDIR')
+ if builddir is not None:
+     __path__.append(os.path.join(builddir, 'giscanner'))
++if not 'CC' in os.environ:
++    os.environ['CC'] = 'gcc'
+ try:
+     from ._version import __version__
+ except ImportError:
diff --git a/gnu/packages/patches/gobject-introspection-girepository.patch b/gnu/packages/patches/gobject-introspection-girepository.patch
new file mode 100644
index 0000000000..380617f27f
--- /dev/null
+++ b/gnu/packages/patches/gobject-introspection-girepository.patch
@@ -0,0 +1,25 @@
+--- a/girepository/gitypelib.c.orig
++++ b/girepository/gitypelib.c
+@@ -2296,7 +2296,22 @@ _g_typelib_do_dlopen (GITypelib *typelib)
+         {
+           GModule *module;
+ 
++          /* 'gobject-introspection' doesn't store the path of shared
++             libraries into '.typelib' and '.gir' files.  Shared
++             libraries are searched for in the dynamic linker search
++             path.  In Guix we patch 'gobject-introspection' such that
++             it stores the absolute path of shared libraries in
++             '.typelib' and '.gir' files.  Here, in order to minimize
++             side effects, we make sure that if the library is not
++             found at the indicated path location, we try with just
++             the basename and the system dynamic library
++             infrastructure, as per default behaviour of the
++             library. */
+           module = load_one_shared_library (shlibs[i]);
++          if (module == NULL && g_path_is_absolute (shlibs[i]))
++            {
++              module = load_one_shared_library (g_basename(shlibs[i]));
++            }
+ 
+           if (module == NULL)
+             {




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 08/29] gnu: pixman: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (5 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 07/29] gnu: gobject-introspection: Add patches back Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 09/29] gnu: openjpeg: " Danny Milosavljevic
                     ` (20 subsequent siblings)
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/xdisorg.scm (pixman) [version]: Update to 0.40.0.
[source]<origin>[sha256]: Modify base32.
[arguments]<#:configure-flags>[--enable-timers]: New flag.
[--enable-gnuplot]: New flag.
[synopsis]: Modify.
[description]: Modify.
[license]: Change from X11 to expat.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/xdisorg.scm | 42 ++++++++++++++++++++++------------------
 1 file changed, 23 insertions(+), 19 deletions(-)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 20702c3a4f..1765edafcd 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -469,30 +469,34 @@ following the mouse.")
 (define-public pixman
   (package
     (name "pixman")
-    (version "0.38.4")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://www.cairographics.org/releases/pixman-"
-                    version ".tar.gz"))
-              (sha256
-               (base32
-                "1ryxzdf048x7wsx4dlvrr1p00gzwfs7lybnhgc7ygbj0dvyxcrns"))
-              (patches (search-patches "pixman-CVE-2016-5296.patch"))))
+    (version "0.40.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append
+         "https://www.cairographics.org/releases/pixman-"
+         version ".tar.gz"))
+       (sha256
+        (base32 "1z13n96m7x91j25qq9wlkxsbq04wfwjhw66ir17frna06zn0s83d"))
+       (patches
+        (search-patches "pixman-CVE-2016-5296.patch"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags '("--disable-static")))
-    (inputs
-     `(("libpng" ,libpng)
-       ("zlib" ,zlib)))
+     `(#:configure-flags
+       (list
+        "--disable-static"
+        "--enable-timers"
+        "--enable-gnuplot")))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libpng" ,libpng)))
+    (synopsis "Image processing and manipulation library")
+    (description "Pixman is a library that provides low-level pixel manipulation
+features such as image compositing and trapezoid rasterization.")
     (home-page "http://www.pixman.org/")
-    (synopsis "Low-level pixel manipulation library")
-    (description "Pixman is a low-level software library for pixel
-manipulation, providing features such as image compositing and trapezoid
-rasterisation.")
-    (license license:x11)))
+    (license license:expat)))
 
 (define-public libdrm
   (package




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 09/29] gnu: openjpeg: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (6 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 08/29] gnu: pixman: Update package definition Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 16:45     ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 10/29] gnu: cairo: " Danny Milosavljevic
                     ` (19 subsequent siblings)
  27 siblings, 1 reply; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/image.scm (openjpeg): Update package definition.
[outputs]: New output "doc".
[arguments]<#:tests?>: Remove argument.
<#:configure-flags>[-DBUILD_DOC]: New flag.
[-DBUILD_LUTS_GENERATOR]: New flag.
[-DBUILD_UNIT_TESTS]: New flag.
[-DBUILD_MJ2]: New flag.
[-DBUILD_JPWL]: New flag.
[-DBUILD_JP3D]: New flag.
[-DBUILD_TESTING]: New flag.
[-DOPJ_DATA_ROOT]: New flag.
<#:phases>['disable-failing-tests]: New phase.
['move-docs]: New phase.
[native-inputs]: Add doxygen, openjpeg-data and python-wrapper.
[inputs]: Add curl and fcgi.
[synopsis]: Modify.
[description]: Modify.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/image.scm | 88 +++++++++++++++++++++++++++++-------------
 1 file changed, 62 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 3fdc6db8a1..5a4425e993 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -763,35 +763,71 @@ images of initially unknown height.")
   (package
     (name "openjpeg")
     (version "2.3.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/uclouvain/openjpeg")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name "openjpeg" version))
-              (sha256
-               (base32
-                "1dn98d2dfa1lqyxxmab6rrcv52dyhjr4g7i4xf2w54fqsx14ynrb"))))
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/uclouvain/openjpeg.git")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1dn98d2dfa1lqyxxmab6rrcv52dyhjr4g7i4xf2w54fqsx14ynrb"))))
     (build-system cmake-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     '(#:tests? #f                   ;TODO: requires a 1.1 GiB data repository
-       #:configure-flags '("-DBUILD_STATIC_LIBS=OFF")))
+     '(#:configure-flags
+       (list
+        "-DBUILD_DOC=ON"
+        "-DBUILD_STATIC_LIBS=OFF"
+        "-DBUILD_LUTS_GENERATOR=ON"
+        "-DBUILD_UNIT_TESTS=ON"
+        "-DBUILD_MJ2=ON"
+        "-DBUILD_JPWL=ON"
+        ;; To be enabled after Java becomes reproducible.
+        ;; "-DBUILD_JPIP=ON"
+        ;; "-DBUILD_JPIP_SERVER=ON"
+        ;; "-DBUILD_JAVA=ON"
+        "-DBUILD_JP3D=ON"
+        "-DBUILD_TESTING=ON"
+        (string-append "-DOPJ_DATA_ROOT="
+                       (assoc-ref %build-inputs "openjpeg-data")))
+       #:phases
+       (modify-phases %standard-phases
+         ;; To be re-enabled after upstream fixes the bug,
+         ;; https://github.com/uclouvain/openjpeg/issues/1264
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "tests/CMakeLists.txt"
+               (("add_subdirectory\\(nonregression\\)")
+                ""))
+             #t))
+         (add-after 'install 'move-docs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share/doc"))
+               (rename-file
+                (string-append out "/share/doc/html")
+                (string-append doc "/share/doc/html"))
+               #t))))))
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("openjpeg-data" ,openjpeg-data) ; Files for test-suite
+       ("python" ,python-wrapper)))
     (inputs
-      `(("lcms" ,lcms)
-        ("libpng" ,libpng)
-        ("libtiff" ,libtiff)
-        ("zlib" ,zlib)))
-    (synopsis "JPEG 2000 codec")
-    (description
-      "The OpenJPEG library is a JPEG 2000 codec written in C.  It has
-been developed in order to promote the use of JPEG 2000, the new
-still-image compression standard from the Joint Photographic Experts
-Group (JPEG).
-
-In addition to the basic codec, various other features are under
-development, among them the JP2 and MJ2 (Motion JPEG 2000) file formats,
-an indexing tool useful for the JPIP protocol, JPWL-tools for
-error-resilience, a Java-viewer for j2k-images, ...")
+     `(("curl" ,curl)
+       ("fcgi" ,fcgi)
+       ("lcms" ,lcms)
+       ("libpng" ,libpng)
+       ("libtiff" ,libtiff)
+       ("zlib" ,zlib)))
+    (synopsis "OPENJPEG Library and Applications")
+    (description "OpenJPEG is an implementation of JPEG 2000 codec written in C
+language.  It has been developed in order to promote the use of JPEG 2000, a
+still-image compression standard from the Joint Photographic Experts Group
+(JPEG).  Since April 2015, it is officially recognized by ISO/IEC and ITU-T as a
+JPEG 2000 Reference Software.")
     (home-page "https://github.com/uclouvain/openjpeg")
     (license license:bsd-2)))
 




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 10/29] gnu: cairo: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (7 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 09/29] gnu: openjpeg: " Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 11/29] gnu: pango: " Danny Milosavljevic
                     ` (18 subsequent siblings)
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/gtk.scm (cairo): Update package definition.
[build-system]: Change from gnu to glib-or-gtk.
[outputs]: New output "doc".
[arguments]<#:configure-flags>[--with-html-dir]: New flag.
[native-inputs]: Add gobject-introspection.
[inputs]: Add libdrm. Remove xorgproto and zlib.
[propagated-inputs]: Add libxcb.
[synopsis]: Modify.
[description]: Modify.
[license]: Modify.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gtk.scm | 114 ++++++++++++++++++++++++-------------------
 1 file changed, 64 insertions(+), 50 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index e3c097943f..2f939ff0bd 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -119,57 +119,71 @@ tools have full access to view and control running applications.")
 
 (define-public cairo
   (package
-   (name "cairo")
-   (version "1.16.0")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "https://cairographics.org/releases/cairo-"
-                                version ".tar.xz"))
-            (sha256
-             (base32
-              "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
-   (build-system gnu-build-system)
-   (propagated-inputs
-    `(("fontconfig" ,fontconfig)
-      ("freetype" ,freetype)
-      ("glib" ,glib)
-      ("libpng" ,libpng)
-      ("libx11" ,libx11)
-      ("libxext" ,libxext)
-      ("libxrender" ,libxrender)
-      ("pixman" ,pixman)))
-   (inputs
-    `(("ghostscript" ,ghostscript)
-      ("libspectre" ,libspectre)
-      ("poppler" ,poppler)
-      ("xorgproto" ,xorgproto)
-      ("zlib" ,zlib)))
-   (native-inputs
-     `(("pkg-config" ,pkg-config)
-      ("python" ,python-wrapper)))
+    (name "cairo")
+    (version "1.16.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://cairographics.org/releases/cairo-"
+                       version ".tar.xz"))
+       (sha256
+        (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:tests? #f  ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
-       #:configure-flags '("--enable-tee"      ;needed for GNU Icecat
-                           "--enable-xml"      ;for cairo-xml support
-                           "--disable-static")))
-   (synopsis "2D graphics library")
-   (description
-    "Cairo is a 2D graphics library with support for multiple output devices.
-Currently supported output targets include the X Window System (via both
-Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
-output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
-
-Cairo is designed to produce consistent output on all output media while
-taking advantage of display hardware acceleration when available
-eg. through the X Render Extension).
-
-The cairo API provides operations similar to the drawing operators of
-PostScript and PDF.  Operations in cairo including stroking and filling cubic
-Bézier splines, transforming and compositing translucent images, and
-antialiased text rendering.  All drawing operations can be transformed by any
-affine transformation (scale, rotation, shear, etc.).")
-   (license license:lgpl2.1) ; or Mozilla Public License 1.1
-   (home-page "https://cairographics.org/")))
+     `(#:tests? #f ; See http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
+       #:configure-flags
+       (list
+        "--disable-static"
+        ;; XXX: To be enabled.
+        ;; "--enable-gallium=yes"
+        ;; "--enable-gl=yes"
+        ;; " --enable-glesv2=yes"
+        ;; "--enable-glesv3=yes"
+        ;; "--enable-cogl=yes"
+        ;; "--enable-directfb=yes"
+        ;; "--enable-vg=yes"
+        "--enable-tee=yes"
+        "--enable-xml=yes"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))))
+    (native-inputs
+     `(("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("drm" ,libdrm)
+       ("ghostscript" ,ghostscript)
+       ("libspectre" ,libspectre)
+       ("poppler" ,poppler)))
+    (propagated-inputs
+     `(;; ("cogl" ,cogl)
+       ;; ("directfb" ,directfb)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("glib" ,glib)
+       ;; ("gtk+" ,gtk+)
+       ("libpng" ,libpng)
+       ;; ("librsvg" ,librsvg)
+       ;; ("opengl" ,mesa)
+       ("pixman" ,pixman)
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xext" ,libxext)
+       ("xrender" ,libxrender)))
+    (synopsis "Multi-platform 2D graphics library")
+    (description "Cairo is a 2D graphics library with support for multiple output
+devices.  Currently supported output targets include the X Window System (via
+both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
+output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
+    (home-page "https://cairographics.org/")
+    (license
+     ;; This project is dual-licensed.
+     (list
+      license:lgpl2.1+
+      license:mpl1.1))))
 
 (define-public cairo-xcb
   (package




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 11/29] gnu: pango: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (8 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 10/29] gnu: cairo: " Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 16:27     ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 12/29] gnu: gdk-pixbuf: " Danny Milosavljevic
                     ` (17 subsequent siblings)
  27 siblings, 1 reply; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/gtk.scm (pango): Update package definition.
[arguments]<#:glib-or-gtk?>: New argument.
[native-inputs]: Add help2man, perl and python-wrapper.
[propagated-inputs]: Add libthai and libxrender.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
* gnu/packages/patches/pango-skip-libthai-test.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/local.mk                                  |  1 -
 gnu/packages/gtk.scm                          | 99 ++++++++++---------
 .../patches/pango-skip-libthai-test.patch     | 23 -----
 3 files changed, 51 insertions(+), 72 deletions(-)
 delete mode 100644 gnu/packages/patches/pango-skip-libthai-test.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index ae708248e8..3732e56acc 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1378,7 +1378,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/p7zip-remove-unused-code.patch		\
   %D%/packages/patches/pam-krb5-CVE-2020-10595.patch		\
   %D%/packages/patches/pam-mount-luks2-support.patch		\
-  %D%/packages/patches/pango-skip-libthai-test.patch		\
   %D%/packages/patches/pciutils-hurd-configure.patch		\
   %D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch		\
   %D%/packages/patches/sdl-pango-api_additions.patch		\
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 2f939ff0bd..c7bc9cf1a4 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -74,6 +74,7 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -240,54 +241,56 @@ output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
 
 (define-public pango
   (package
-   (name "pango")
-   (version "1.44.7")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/pango/"
-                                (version-major+minor version) "/"
-                                name "-" version ".tar.xz"))
-            (patches (search-patches "pango-skip-libthai-test.patch"))
-            (sha256
-             (base32
-              "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"))))
-   (build-system meson-build-system)
-   (arguments
-    '(#:phases (modify-phases %standard-phases
-                 (add-after 'unpack 'disable-cantarell-tests
-                   (lambda _
-                     (substitute* "tests/meson.build"
-                       ;; XXX FIXME: These tests require "font-cantarell", but
-                       ;; adding it here would introduce a circular dependency.
-                       (("\\[ 'test-harfbuzz'.*") "")
-                       (("\\[ 'test-itemize'.*") "")
-                       (("\\[ 'test-layout'.*") ""))
-                     #t)))))
-   (propagated-inputs
-    ;; These are all in Requires or Requires.private of the '.pc' files.
-    `(("cairo" ,cairo)
-      ("fribidi" ,fribidi)
-      ("fontconfig" ,fontconfig)
-      ("freetype" ,freetype)
-      ("glib" ,glib)
-      ("harfbuzz" ,harfbuzz)
-
-      ;; Some packages, such as Openbox, expect Pango to be built with the
-      ;; optional libxft support.
-      ("libxft" ,libxft)))
-   (inputs
-    `(("zlib" ,zlib)))
-   (native-inputs
-    `(("pkg-config" ,pkg-config)
-      ("glib" ,glib "bin")                               ; glib-mkenums, etc.
-      ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
-   (synopsis "GNOME text and font handling library")
-   (description
-    "Pango is the core text and font handling library used in GNOME
-applications.  It has extensive support for the different writing systems
-used throughout the world.")
-   (license license:lgpl2.0+)
-   (home-page "https://developer.gnome.org/pango/")))
+    (name "pango")
+    (version "1.44.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/pango/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "tests/meson.build"
+               (("\\[ 'test-harfbuzz'.*") "")
+               (("\\[ 'test-itemize'.*") "")
+               (("\\[ 'test-layout'.*") ""))
+             #t)))))
+    (native-inputs
+     `(("glib" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("help2man" ,help2man)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("zlib" ,zlib)))
+    (propagated-inputs
+     `(("cairo" ,cairo)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("fribidi" ,fribidi)
+       ("glib" ,glib)
+       ("harfbuzz" ,harfbuzz)
+       ("libthai" ,libthai)
+       ("libxft" ,libxft)
+       ("libxrender" ,libxrender)))
+    (synopsis "Text and font handling library")
+    (description "Pango is a library for laying out and rendering of text, with
+an emphasis on internationalization.  Pango can be used anywhere that text
+layout is needed, though most of the work on Pango so far has been done in the
+context of the GTK+ widget toolkit.  Pango forms the core of text and font
+handling for GTK+-2.x.")
+    (home-page "https://pango.gnome.org/")
+    (license license:lgpl2.0+)))
 
 (define-public pango-1.42
   (package
diff --git a/gnu/packages/patches/pango-skip-libthai-test.patch b/gnu/packages/patches/pango-skip-libthai-test.patch
deleted file mode 100644
index 98732b5391..0000000000
--- a/gnu/packages/patches/pango-skip-libthai-test.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Skip Thai character test when libthai is unavailable.
-
-Taken from upstream bug tracker:
-https://gitlab.gnome.org/GNOME/pango/merge_requests/161
-https://gitlab.gnome.org/GNOME/pango/commit/b73284747ac937e31dc9191f84ed6e24284c88ee
-
-diff --git a/tests/test-break.c b/tests/test-break.c
-index 8549b678bba69360d07dce3af21d915412f20d51..47fa3009165e19a331aa04a0df4351ae2323933b 100644
---- a/tests/test-break.c
-+++ b/tests/test-break.c
-@@ -305,6 +305,12 @@ main (int argc, char *argv[])
-       if (!strstr (name, "break"))
-         continue;
- 
-+#ifndef HAVE_LIBTHAI
-+      /* four.break involves Thai, so only test it when we have libthai */
-+      if (strstr (name, "four.break"))
-+        continue;
-+#endif
-+
-       path = g_strdup_printf ("/break/%s", name);
-       g_test_add_data_func_full (path, g_test_build_filename (G_TEST_DIST, "breaks", name, NULL),
-                                  test_break, g_free);




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 12/29] gnu: gdk-pixbuf: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (9 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 11/29] gnu: pango: " Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-24  0:19     ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 13/29] gnu: gdk-pixbuf: Disable failing tests Danny Milosavljevic
                     ` (16 subsequent siblings)
  27 siblings, 1 reply; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/gtk.scm (gdk-pixbuf): Update package definition.
[arguments]<#:glib-or-gtk?>: New argument.
<#:configure-flags>[-Djasper]: New flag.
<#:phases>['patch-docbook]: New phase.
['disable-failing-tests]: Remove phase.
[native-inputs]: Add docbook-xml, docbook-xsl, perl and libxslt.
[inputs]: Add jasper and libpng. Remove libx11.
[propagated-inputs]: Add libx11. Remove libpng.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Update to lgpl2.1+.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gtk.scm | 114 ++++++++++++++++++++++---------------------
 1 file changed, 58 insertions(+), 56 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index c7bc9cf1a4..9af6e73e8a 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -491,63 +491,65 @@ highlighting and other features typical of a source code editor.")
 
 (define-public gdk-pixbuf
   (package
-   (name "gdk-pixbuf")
-   (version "2.40.0")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "1rnlx9yfw970maxi2x6niaxmih5la11q1ilr7gzshz2kk585k0hm"))))
-   (build-system meson-build-system)
-   (arguments
-    `(#:configure-flags '("-Dinstalled_tests=false")
-      #:phases
-      (modify-phases %standard-phases
-        (add-after
-         'unpack 'disable-failing-tests
-         (lambda _
-           (substitute* "tests/meson.build"
-             ;; XXX FIXME: This test fails on armhf machines with:
-             ;; SKIP Not enough memory to load bitmap image
-             ;; ERROR: cve-2015-4491 - too few tests run (expected 4, got 2)
-             ((".*'cve-2015-4491'.*") "")
-             ;; XXX FIXME: This test fails with:
-             ;; ERROR:pixbuf-jpeg.c:74:test_type9_rotation_exif_tag:
-             ;; assertion failed (error == NULL): Data differ
-             ;; (gdk-pixbuf-error-quark, 0)
-             ((".*'pixbuf-jpeg'.*") ""))
-           #t))
-        ;; The slow tests take longer than the specified timeout.
-        ,@(if (any (cute string=? <> (%current-system))
-                   '("armhf-linux" "aarch64-linux"))
-            '((replace 'check
-              (lambda _
-                (invoke "meson" "test" "--timeout-multiplier" "5"))))
-            '()))))
-   (propagated-inputs
-    `(;; Required by gdk-pixbuf-2.0.pc
-      ("glib" ,glib)
-      ("libpng" ,libpng)
-      ;; Used for testing and required at runtime.
-      ("shared-mime-info" ,shared-mime-info)))
-   (inputs
-    `(("libjpeg" ,libjpeg-turbo)
-      ("libtiff" ,libtiff)
-      ("libx11"  ,libx11)))
-   (native-inputs
-     `(("pkg-config" ,pkg-config)
+    (name "gdk-pixbuf")
+    (version "2.40.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1rnlx9yfw970maxi2x6niaxmih5la11q1ilr7gzshz2kk585k0hm"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Djasper=true"
+        "-Dinstalled_tests=false")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "meson.build"
+                 (("http://docbook.sourceforge.net/release/xsl/current/")
+                  (string-append (assoc-ref inputs "docbook-xsl")
+                                 "/xml/xsl/docbook-xsl-1.79.1/")))
+               (substitute* '("gdk-pixbuf-csource.xml"
+                              "gdk-pixbuf-from-drawables.xml"
+                              "gdk-pixbuf-query-loaders.xml"
+                              "gdk-pixbuf-rendering.xml" "gdk-pixbuf.xml")
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t)))))
+    (native-inputs
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("docbook-xsl" ,docbook-xsl)
        ("gettext" ,gettext-minimal)
-       ("glib" ,glib "bin")                               ; glib-mkenums, etc.
-       ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
-   (synopsis "GNOME image loading and manipulation library")
-   (description
-    "GdkPixbuf is a library for image loading and manipulation developed
-in the GNOME project.")
-   (license license:lgpl2.0+)
-   (home-page "https://developer.gnome.org/gdk-pixbuf/")))
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
+    (inputs
+     `(("jasper" ,jasper)
+       ("libjpeg" ,libjpeg-turbo)
+       ("libpng" ,libpng)
+       ("libtiff" ,libtiff)))
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("libx11"  ,libx11)
+       ("shared-mime-info" ,shared-mime-info)))
+    (synopsis "Image loading library")
+    (description "GdkPixbuf is a library that loads image data in various
+formats and stores it as linear buffers in memory.  The buffers can then be
+scaled, composited, modified, saved, or rendered.")
+    (home-page "https://wiki.gnome.org/Projects/GdkPixbuf")
+    (license license:lgpl2.1+)))
 
 ;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg depends
 ;; on gdk-pixbuf, so this new varibale.  Also, librsvg adds 90MiB to the




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 13/29] gnu: gdk-pixbuf: Disable failing tests.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (10 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 12/29] gnu: gdk-pixbuf: " Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 14/29] gnu: gdk-pixbuf+svg: Update package definition Danny Milosavljevic
                     ` (15 subsequent siblings)
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/gtk.scm (gdk-pixbuf): Disable failing tests.
[arguments]<#:phases>['disable-failing-tests]: New phase.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gtk.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 9af6e73e8a..4e1145002e 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -525,7 +525,14 @@ highlighting and other features typical of a source code editor.")
                  (("http://www.oasis-open.org/docbook/xml/4.3/")
                   (string-append (assoc-ref inputs "docbook-xml")
                                  "/xml/dtd/docbook/"))))
-             #t)))))
+             #t))
+         (add-before 'configure 'disable-failing-tests
+           (lambda _
+             (substitute* "tests/meson.build"
+               (("\\[ 'pixbuf-fail', \\['conform', 'slow'\\], \\],")
+                ""))
+             #t))
+         )))
     (native-inputs
      `(("docbook-xml" ,docbook-xml-4.3)
        ("docbook-xsl" ,docbook-xsl)




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 14/29] gnu: gdk-pixbuf+svg: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (11 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 13/29] gnu: gdk-pixbuf: Disable failing tests Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 15/29] gnu: vala: " Danny Milosavljevic
                     ` (14 subsequent siblings)
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/gtk.scm (gdk-pixbuf+svg): Update package definition.
[arguments]: Modify.
[synopsis]: Modify.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gtk.scm | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 4e1145002e..113ee44ad1 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -568,10 +568,9 @@ scaled, composited, modified, saved, or rendered.")
      `(("librsvg" ,librsvg)
        ,@(package-inputs gdk-pixbuf)))
     (arguments
-     '(#:configure-flags '("-Dinstalled-tests=false")
-       #:tests? #f ; tested by the gdk-pixbuf package already
-       #:phases
-       (modify-phases %standard-phases
+     (substitute-keyword-arguments (package-arguments gdk-pixbuf)
+        ((#:phases phases)
+          `(modify-phases ,phases
          (add-after 'install 'register-svg-loader
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out     (assoc-ref outputs "out"))
@@ -585,9 +584,8 @@ scaled, composited, modified, saved, or rendered.")
                (apply invoke
                       gdk-pixbuf-query-loaders
                       "--update-cache"
-                      loaders)))))))
-    (synopsis
-     "GNOME image loading and manipulation library, with SVG support")))
+                      loaders))))))))
+    (synopsis "Image loading library, with SVG support")))
 
 (define-public at-spi2-core
   (package




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 15/29] gnu: vala: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (12 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 14/29] gnu: gdk-pixbuf+svg: Update package definition Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 16/29] gnu: libgsf: " Danny Milosavljevic
                     ` (13 subsequent siblings)
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/gnome.scm (vala) [version]: Update to 0.48.7.
[source]<origin>[sha256]: Modify base32.
[build-system]: Change from gnu to glib-or-gtk.
[arguments]<#:configure-flags>["--enable-coverage]: New flag.
<#:phases>['patch-docbook-xml]: New phase.
[native-inputs]: Add docbook-xml, docbook-xsl, help2man and perl.
[inputs]: Remove graphviz.
[propagated-inputs]: Add libgvc.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gnome.scm | 84 +++++++++++++++++++++++++-----------------
 1 file changed, 50 insertions(+), 34 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 881cfa493d..7e3032022f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -131,6 +131,7 @@
   #:use-module (gnu packages lirc)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages mail)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages music)
@@ -3256,46 +3257,61 @@ passwords in the GNOME keyring.")
 (define-public vala
   (package
     (name "vala")
-    (version "0.46.5")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version) "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s"))))
-    (build-system gnu-build-system)
+    (version "0.48.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0lswkb7gj0chas9n3l3dbrm9l71hs77adhvm2v600id2ipi37pi8"))))
+    (build-system glib-or-gtk-build-system)
     (arguments
-     '(#:phases
+     `(#:configure-flags
+       (list
+        "--enable-coverage")
+       #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc/manual"
+               (substitute* '("manual.xml" "version.xml.in")
+                 (("http://www.oasis-open.org/docbook/xml/4.4/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
          (add-before 'check 'pre-check
-                     (lambda _
-                       (setenv "CC" "gcc")
-                       (substitute* "valadoc/tests/testrunner.sh"
-                         (("export PKG_CONFIG_PATH=" m)
-                          (string-append m "$PKG_CONFIG_PATH:")))
-                       ;; For missing '/etc/machine-id'.
-                       (setenv "DBUS_FATAL_WARNINGS" "0")
-                       #t)))))
+           (lambda _
+             (setenv "CC" "gcc")
+             (substitute* "valadoc/tests/testrunner.sh"
+               (("export PKG_CONFIG_PATH=" m)
+                (string-append m "$PKG_CONFIG_PATH:")))
+             ;; For missing '/etc/machine-id'.
+             (setenv "DBUS_FATAL_WARNINGS" "0")
+             #t)))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("bison" ,bison)
+       ("dbus" ,dbus)
+       ("docbook-xml" ,docbook-xml-4.4)
+       ("docbook-xsl" ,docbook-xsl)
        ("flex" ,flex)
-       ("bison" ,bison)
-       ("xsltproc" ,libxslt)
-       ("dbus" ,dbus)                                     ; for dbus tests
-       ("gobject-introspection" ,gobject-introspection))) ; for gir tests
-    (inputs
-     `(("graphviz" ,graphviz)))
+       ("gobject-introspection" ,gobject-introspection)
+       ("help2man" ,help2man)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
-     `(("glib" ,glib))) ; required by libvala-0.40.pc
-    (home-page "https://live.gnome.org/Vala/")
-    (synopsis "Compiler for the GObject type system")
-    (description
-     "Vala is a programming language that aims to bring modern programming
-language features to GNOME developers without imposing any additional runtime
-requirements and without using a different ABI compared to applications and
-libraries written in C.")
+     `(("glib" ,glib)
+       ("libgvc" ,graphviz)))
+    (synopsis "Compiler using the GObject type system")
+    (description "Vala is a programming language using modern high level
+abstractions without imposing additional runtime requirements and without using
+a different ABI compared to applications and libraries written in C.  Vala uses
+the GObject type system and has additional code generation routines that make
+targeting the GNOME stack simple.")
+    (home-page "https://wiki.gnome.org/Projects/Vala/")
     (license license:lgpl2.1+)))
 
 (define-public vala-0.48




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 16/29] gnu: libgsf: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (13 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 15/29] gnu: vala: " Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 17/29] gnu: librsvg@2.40.21: " Danny Milosavljevic
                     ` (12 subsequent siblings)
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/gnome.scm (libgsf): Update package definition.
[build-system]: Change from gnu to glib-or-gtk.
[outputs]: New outputs "bin" and "doc".
[arguments]<#:configure-flags>[--enable-introspection]: New flag.
[--with-gir-dir=]: New flag.
[--with-typelib-dir=]: New flag.
[--with-html-dir]: New flag.
[--with-zlib]: New flag.
[--with-bz2]: New flag.
<#:phases>['patch-docbook-xml]: New phase.
[native-inputs]: Add docbook-xml, gobject-introspection and
python-wrapper.
[inputs]: Add gdk-pixbuf.
[propagated-inputs]: Remove gdk-pixbuf.
[synopsis]: Modify.
[home-page]: Modify.
[license]: Modify.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gnome.scm | 87 +++++++++++++++++++++++++++++-------------
 1 file changed, 61 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 7e3032022f..2bc70ec9c3 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2247,39 +2247,74 @@ XML/CSS rendering engine.")
   (package
     (name "libgsf")
     (version "1.14.47")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version)  "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
-    (build-system gnu-build-system)
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "bin" "doc"))
     (arguments
-     '(#:configure-flags '("--disable-static")))
+     `(#:configure-flags
+       (list
+        "--disable-static"
+        "--enable-introspection"
+        (string-append "--with-gir-dir="
+                       (assoc-ref %outputs "out")
+                       "/share/gir-"
+                       ,(version-major
+                         (package-version gobject-introspection))
+                       ".0")
+        (string-append "--with-typelib-dir="
+                       (assoc-ref %outputs "out")
+                       "/lib/girepository-"
+                       ,(version-major
+                         (package-version gobject-introspection))
+                       ".0")
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html")
+        "--with-zlib"
+        "--with-bz2")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* "gsf-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.5/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t)))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("docbook-xml" ,docbook-xml)
        ("gettext" ,gettext-minimal)
-
-       ;; For tests.
+       ("gobject-introspection" ,gobject-introspection)
        ("perl" ,perl)
-       ("perl-xml-parser" ,perl-xml-parser)))
+       ("perl-xml-parser" ,perl-xml-parser)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
     (inputs
-     `(("zlib" ,zlib)
-       ("bzip2" ,bzip2)))
+     `(("bzip2" ,bzip2)
+       ("gdk-pixbuf" ,gdk-pixbuf)
+       ("zlib" ,zlib)))
     (propagated-inputs
-     `(("gdk-pixbuf" ,gdk-pixbuf)
-       ("glib" ,glib)
+     `(("glib" ,glib)
        ("libxml2" ,libxml2)))
-    (home-page "https://www.gnome.org/projects/libgsf")
-    (synopsis "GNOME's Structured File Library")
-    (description
-     "Libgsf aims to provide an efficient extensible I/O abstraction for
-dealing with different structured file formats.")
-
-    ;; LGPLv2.1-only.
-    (license license:lgpl2.1)))
+    (synopsis "G Structured File Library")
+    (description "Libgsf aims to provide an efficient extensible I/O abstraction
+for dealing with different structured file formats.")
+    (home-page "https://gitlab.gnome.org/GNOME/libgsf")
+    (license
+     (list
+      ;; Library
+      license:lgpl2.1+
+      ;; Others
+      license:lgpl2.0+))))
 
 (define-public librsvg
   (package




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 17/29] gnu: librsvg@2.40.21: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (14 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 16/29] gnu: libgsf: " Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 18/29] gnu: atk: Update to 2.36.0 Danny Milosavljevic
                     ` (11 subsequent siblings)
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/gnome.scm (librsvg): Update package definition.
[build-system]: Change from gnu to glib-or-gtk.
[outputs]: New output "doc".
[arguments]<#:configure-flags>[--with-html-dir]: New flag.
<#:phases>['patch-docbook]: New phase.
['remove-failing-tests]: Modify phase.
[native-inputs]: Add docbook-xml and python-wrapper.
[inputs]: Add fontconfig, freetype and  harfbuzz.
[synopsis]: Modify.
[description]: Modify.
[license]: Update to lgpl2.1+.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gnome.scm | 79 +++++++++++++++++++++++++-----------------
 1 file changed, 47 insertions(+), 32 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 2bc70ec9c3..5c5b67a808 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2320,21 +2320,35 @@ for dealing with different structured file formats.")
   (package
     (name "librsvg")
     (version "2.40.21")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version)  "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))
-    (build-system gnu-build-system)
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
     (arguments
      `(#:configure-flags
-       (list "--disable-static"
-             "--enable-vala") ; needed for e.g. gnome-mines
+       (list
+        "--disable-static"
+        "--enable-vala"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* "rsvg-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
          (add-before 'configure 'pre-configure
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "gdk-pixbuf-loader/Makefile.in"
@@ -2343,7 +2357,7 @@ for dealing with different structured file formats.")
                (("gdk_pixbuf_moduledir = .*$")
                 (string-append "gdk_pixbuf_moduledir = "
                                "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
-                                "loaders\n"))
+                               "loaders\n"))
                ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
                (("gdk_pixbuf_cache_file = .*$")
                 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
@@ -2352,37 +2366,38 @@ for dealing with different structured file formats.")
            (lambda _
              (with-directory-excursion "tests/fixtures/reftests"
                (for-each delete-file
-                         '(;; This test fails on i686:
-                           "svg1.1/masking-path-04-b.svg"
-                           ;; This test fails on armhf:
-                           "svg1.1/masking-mask-01-b.svg"
-                           ;; This test fails on aarch64:
+                         '("bugs/340047.svg"
+                           "bugs/587721-text-transform.svg"
+                           "bugs/749415.svg"
                            "bugs/777834-empty-text-children.svg")))
              #t)))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("vala" ,vala)
-       ("glib" ,glib "bin")                               ; glib-mkenums, etc.
-       ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("glib" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("vala" ,vala)))
     (inputs
-     `(;; XXX: 1.44 causes some test failures, so we stick with 1.42 for
-       ;; this ancient version of librsvg.
-       ("pango" ,pango-1.42)
+     `(("bzip2" ,bzip2)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("harfbuzz" ,harfbuzz)
        ("libcroco" ,libcroco)
-       ("bzip2" ,bzip2)
        ("libgsf" ,libgsf)
-       ("libxml2" ,libxml2)))
+       ("libxml2" ,libxml2)
+       ("pango" ,pango)))
     (propagated-inputs
-     ;; librsvg-2.0.pc refers to all of that.
      `(("cairo" ,cairo)
        ("gdk-pixbuf" ,gdk-pixbuf)
        ("glib" ,glib)))
+    (synopsis "SVG rendering library")
+    (description "Librsvg is a library to render SVG images to Cairo surfaces.
+GNOME uses this to render SVG icons.  Outside of GNOME, other desktop
+environments use it for similar purposes.  Wikimedia uses it for Wikipedia's SVG
+diagrams.")
     (home-page "https://wiki.gnome.org/LibRsvg")
-    (synopsis "Render SVG files using Cairo")
-    (description
-     "Librsvg is a C library to render SVG files using the Cairo 2D graphics
-library.")
-    (license license:lgpl2.0+)))
+    (license license:lgpl2.1+)))
 
 (define-public librsvg-next
   (package




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 18/29] gnu: atk: Update to 2.36.0.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (15 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 17/29] gnu: librsvg@2.40.21: " Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 19/29] gnu: gtk+-2: Update package definition Danny Milosavljevic
                     ` (10 subsequent siblings)
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/gtk.scm (atk): Update to 2.36.0.
[version]: Update to 2.36.0.
[arguments]<#:glib-or-gtk?>: New argument.
[home-page]: Modify.
[license]: Update to lgpl2.1+.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gtk.scm | 51 +++++++++++++++++++++++---------------------
 1 file changed, 27 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 113ee44ad1..bc450a33f6 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -93,30 +93,33 @@
 
 (define-public atk
   (package
-   (name "atk")
-   (version "2.34.1")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "1jwp16r6p5z66k4b2v8zlzhyshhwlmyi27ippkrgqr8jsary7w6l"))))
-   (build-system meson-build-system)
-   (propagated-inputs `(("glib" ,glib))) ; required by atk.pc
-   (native-inputs
-    `(("pkg-config" ,pkg-config)
-      ("gettext" ,gettext-minimal)
-      ("glib" ,glib "bin")                               ; glib-mkenums, etc.
-      ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
-   (synopsis "GNOME accessibility toolkit")
-   (description
-    "ATK provides the set of accessibility interfaces that are implemented
-by other toolkits and applications.  Using the ATK interfaces, accessibility
-tools have full access to view and control running applications.")
-   (license license:lgpl2.0+)
-   (home-page "https://developer.gnome.org/atk/")))
+    (name "atk")
+    (version "2.36.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1217cmmykjgkkim0zr1lv5j13733m4w5vipmy4ivw0ll6rz28xpv"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t))  ; To wrap binaries and/or compile schemas.
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("glib" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "GNOME accessibility toolkit")
+    (description "ATK provides the set of accessibility interfaces that are
+implemented by other toolkits and applications.  Using the ATK interfaces,
+accessibility tools have full access to view and control running applications.")
+    (home-page "https://wiki.gnome.org/Accessibility")
+    (license license:lgpl2.1+)))
 
 (define-public cairo
   (package




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 19/29] gnu: gtk+-2: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (16 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 18/29] gnu: atk: Update to 2.36.0 Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 20/29] gnu: wayland: " Danny Milosavljevic
                     ` (9 subsequent siblings)
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/gtk.scm (gtk+-2): Update package definition.
[arguments]<#:phases>['disable-tests]: Remove phase.
['disable-failing-tests]: New phase.
['pre-check]: New phase.
[native-inputs]: Add intltool and xorg-server-for-tests.
[inputs]: Add libx11, libxext, libxkbcommon, libxrender and
libxshmfence.
[propagated-inputs]: Add cairo and glib.
[search-paths]: New field.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gtk.scm | 155 +++++++++++++++++++++++++------------------
 1 file changed, 92 insertions(+), 63 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index bc450a33f6..e8ba76694c 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -70,6 +70,7 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages graphics)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
   #:use-module (gnu packages libffi)
@@ -718,72 +719,100 @@ is part of the GNOME accessibility project.")
 
 (define-public gtk+-2
   (package
-   (name "gtk+")
-   (version "2.24.32")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "0bjq7ja9gwcv6n5q4qkvdjjx40wsdiikksz1zqxvxsm5vlyskj5n"))
-            (patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"
-                                     "gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch"
-                                     "gtk2-theme-paths.patch"))))
-   (build-system gnu-build-system)
-   (outputs '("out" "bin" "doc"))
-   (propagated-inputs
-    `(("atk" ,atk)
-      ("gdk-pixbuf" ,gdk-pixbuf+svg)
-      ("pango" ,pango)))
-   (inputs
-    `(("cups" ,cups)
-      ("libxcomposite" ,libxcomposite)
-      ("libxcursor" ,libxcursor)
-      ("libxdamage" ,libxdamage)
-      ("libxi" ,libxi)
-      ("libxinerama" ,libxinerama)
-      ("libxrandr" ,libxrandr)))
-   (native-inputs
-    `(("perl" ,perl)
-      ("gettext" ,gettext-minimal)
-      ("glib" ,glib "bin")
-      ("gobject-introspection" ,gobject-introspection)
-      ("pkg-config" ,pkg-config)
-      ("python-wrapper" ,python-wrapper)))
-   (arguments
-    `(#:configure-flags
-      (list "--with-xinput=yes"
-            (string-append "--with-html-dir="
-                           (assoc-ref %outputs "doc")
-                           "/share/gtk-doc/html"))
-      #:phases
-      (modify-phases %standard-phases
-        (add-before 'configure 'disable-tests
-          (lambda _
-            ;; FIXME: re-enable tests requiring an X server
-            (substitute* "gtk/Makefile.in"
-              (("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits ."))
-            #t))
-        (add-after 'install 'remove-cache
-          (lambda* (#:key outputs #:allow-other-keys)
-	    (for-each
-	      delete-file
-	      (find-files (assoc-ref outputs "out") "immodules.cache"))
-            #t)))))
-   (native-search-paths
-    (list (search-path-specification
-           (variable "GUIX_GTK2_PATH")
-           (files '("lib/gtk-2.0")))))
-   (synopsis "Cross-platform toolkit for creating graphical user interfaces")
-   (description
-    "GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating
+    (name "gtk+")
+    (version "2.24.32")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0bjq7ja9gwcv6n5q4qkvdjjx40wsdiikksz1zqxvxsm5vlyskj5n"))
+       (patches
+        (search-patches
+         "gtk2-respect-GUIX_GTK2_PATH.patch"
+         "gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch"
+         "gtk2-theme-paths.patch"))))
+    (build-system gnu-build-system)
+    (outputs '("out" "bin" "doc"))
+    (arguments
+     `(#:configure-flags
+       (list
+        "--with-xinput=yes"
+        (string-append "--with-html-dir=" (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "gtk/tests/recentmanager.c"
+               (("g_test_add_func \\(\"/recent-manager/add-many\", recent_manager_add_many\\);")
+                ""))
+             (substitute* "gtk/tests/defaultvalue.c"
+               (("return g_test_run\\(\\);")
+                ""))
+             #t))
+         (add-before 'check 'pre-check
+           (lambda _
+             ;; Tests require a running X server.
+             (system "Xvfb :1 +extension GLX &")
+             (setenv "DISPLAY" ":1")
+             ;; Tests write to $HOME.
+             (setenv "HOME" (getcwd))
+             ;; Tests look for $XDG_RUNTIME_DIR.
+             (setenv "XDG_RUNTIME_DIR" (getcwd))
+             ;; For missing '/etc/machine-id'.
+             (setenv "DBUS_FATAL_WARNINGS" "0")
+             #t))
+         (add-after 'install 'remove-cache
+           (lambda* (#:key outputs #:allow-other-keys)
+             (for-each
+              delete-file
+              (find-files (assoc-ref outputs "out") "immodules.cache"))
+             #t)))))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("glib" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("intltool" ,intltool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python-wrapper" ,python-wrapper)
+       ("xorg-server" ,xorg-server-for-tests)))
+    (inputs
+     `(("cups" ,cups)
+       ("libx11" ,libx11)
+       ("libxcomposite" ,libxcomposite)
+       ("libxcursor" ,libxcursor)
+       ("libxext" ,libxext)
+       ("libxdamage" ,libxdamage)
+       ("libxi" ,libxi)
+       ("libxinerama" ,libxinerama)
+       ("libxkbcommon" ,libxkbcommon)
+       ("libxrandr" ,libxrandr)
+       ("libxrender" ,libxrender)
+       ("libxshmfence" ,libxshmfence)))
+    (propagated-inputs
+     `(("atk" ,atk)
+       ("cairo" ,cairo)
+       ("gdk-pixbuf" ,gdk-pixbuf+svg)
+       ("glib" ,glib)
+       ("pango" ,pango)))
+    (native-search-paths
+     (list
+      (search-path-specification
+       (variable "GUIX_GTK2_PATH")
+       (files '("lib/gtk-2.0")))))
+    (search-paths native-search-paths)
+    (synopsis "Cross-platform toolkit for creating graphical user interfaces")
+    (description "GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating
 graphical user interfaces.  Offering a complete set of widgets, GTK+ is
 suitable for projects ranging from small one-off tools to complete
 application suites.")
-   (license license:lgpl2.0+)
-   (home-page "https://www.gtk.org/")))
+    (home-page "https://www.gtk.org/")
+    (license license:lgpl2.0+)))
 
 (define-public gtk+
   (package (inherit gtk+-2)




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 20/29] gnu: wayland: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (17 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 19/29] gnu: gtk+-2: Update package definition Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 21/29] gnu: wayland-protocols: " Danny Milosavljevic
                     ` (8 subsequent siblings)
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/freedesktop.scm (wayland) [version]: Update to 1.18.0.
[source]<origin>[sha256]: Modify base32.
[build-system]: Change from gnu to meson.
[outputs]: New output "doc".
[arguments]<#:parallel-tests?>: Remove argument.
<#:phases>['patch-docbook-xml]: New phase.
['move-doc]: New phase.
[native-inputs]: Move here docbook-xml and docbook-xsl from ...
[inputs]: ... here. Move libffi to ...
[propagated-inputs]: ... here.
[synopsis]: Modify.
[description]: Modify.
[license]: Change from x11 to expat.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/freedesktop.scm | 87 +++++++++++++++++++++++++-----------
 1 file changed, 62 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 23cd1aabf9..880c006e15 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -637,38 +637,75 @@ Python.")
 (define-public wayland
   (package
     (name "wayland")
-    (version "1.17.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://wayland.freedesktop.org/releases/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "194ibzwpdcn6fvk4xngr4bf5axpciwg2bj82fdvz88kfmjw13akj"))))
-    (build-system gnu-build-system)
+    (version "1.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://wayland.freedesktop.org/releases/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0k995rn96xkplrapz5k648j651wc43kq817xk1x8280h16gsfxa6"))))
+    (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:parallel-tests? #f))
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* '("man/wl_display_connect.xml"
+                              "publican/sources/Architecture.xml"
+                              "publican/sources/Author_Group.xml"
+                              "publican/sources/Book_Info.xml"
+                              "publican/sources/Client.xml"
+                              "publican/sources/Compositors.xml"
+                              "publican/sources/Foreword.xml"
+                              "publican/sources/Introduction.xml"
+                              "publican/sources/Preface.xml"
+                              "publican/sources/Protocol.xml"
+                              "publican/sources/Server.xml"
+                              "publican/sources/Wayland.xml"
+                              "publican/sources/Xwayland.xml")
+                 (("http://www.oasis-open.org/docbook/xml/4.5/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))
+                 (("http://www.oasis-open.org/docbook/xml/4.2/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.2")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (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"))
+               #t))))))
     (native-inputs
-     `(("doxygen" ,doxygen)
-       ("graphviz" ,graphviz)
+     `(("docbook-xml-4.2" ,docbook-xml-4.2)
+       ("docbook-xml" ,docbook-xml)
+       ("docbook-xsl" ,docbook-xsl)
+       ("dot" ,graphviz)
+       ("doxygen" ,doxygen)
        ("pkg-config" ,pkg-config)
        ("xmlto" ,xmlto)
        ("xsltproc" ,libxslt)))
     (inputs
-     `(("docbook-xml" ,docbook-xml)
-       ("docbook-xsl" ,docbook-xsl)
-       ("expat" ,expat)
-       ("libffi" ,libffi)
-       ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
+     `(("expat" ,expat)
+       ("libxml2" ,libxml2)))
+    (propagated-inputs
+     `(("libffi" ,libffi)))
+    (synopsis "Core Wayland window system code and protocol")
+    (description "Wayland is a project to define a protocol for a compositor to
+talk to its clients as well as a library implementation of the protocol.  The
+compositor can be a standalone display server running on Linux kernel
+modesetting and evdev input devices, an X application, or a wayland client
+itself.  The clients can be traditional applications, X servers (rootless or
+fullscreen) or other display servers.")
     (home-page "https://wayland.freedesktop.org/")
-    (synopsis "Display server protocol")
-    (description
-     "Wayland is a protocol for a compositor to talk to its clients as well as
-a C library implementation of that protocol.  The compositor can be a standalone
-display server running on Linux kernel modesetting and evdev input devices, an X
-application, or a wayland client itself.  The clients can be traditional
-applications, X servers (rootless or fullscreen) or other display servers.")
-    (license license:x11)))
+    (license license:expat)))
 
 (define-public wayland-protocols
   (package




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 21/29] gnu: wayland-protocols: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (18 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 20/29] gnu: wayland: " Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 22/29] gnu: atkmm: " Danny Milosavljevic
                     ` (7 subsequent siblings)
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/freedesktop.scm (wayland-protocols) [version]: Update
to 1.20.
[source]<origin>[sha256]: Modify base32.
[description]: Modify.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/freedesktop.scm | 28 ++++++++++++++++------------
 1 file changed, 16 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 880c006e15..8a2dcfbab7 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -710,22 +710,26 @@ fullscreen) or other display servers.")
 (define-public wayland-protocols
   (package
     (name "wayland-protocols")
-    (version "1.18")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://wayland.freedesktop.org/releases/"
-                    "wayland-protocols-" version ".tar.xz"))
-              (sha256
-               (base32
-                "1cvl93h83ymbfhb567jv5gzyq08181w7c46rsw4xqqqpcvkvfwrx"))))
+    (version "1.20")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append
+         "https://wayland.freedesktop.org/releases/"
+         "wayland-protocols-" version ".tar.xz"))
+       (sha256
+        (base32 "1rsdgvkkvxs3cjhpl6agvbkm53vm7k8rg127j9y2vn33m2hvg0lp"))))
     (build-system gnu-build-system)
-    (inputs
-     `(("wayland" ,wayland)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("wayland" ,wayland)))
     (synopsis "Wayland protocols")
-    (description "This package contains XML definitions of the Wayland protocols.")
+    (description "Wayland-Protocols contains Wayland protocols that add
+functionality not available in the Wayland core protocol.  Such protocols either
+add completely new functionality, or extend the functionality of some other
+protocol either in Wayland core, or some other protocol in wayland-protocols.")
     (home-page "https://wayland.freedesktop.org")
     (license license:expat)))
 




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 22/29] gnu: atkmm: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (19 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 21/29] gnu: wayland-protocols: " Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 16:45     ` Danny Milosavljevic
  2020-08-20 16:48     ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 23/29] gnu: gtk-doc: " Danny Milosavljevic
                     ` (6 subsequent siblings)
  27 siblings, 2 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/gtk.scm (atkmm): Update package definition.
[build-system]: Change from gnu to glib-or-gtk.
[outputs]: Add new output "doc".
[arguments]<#:phases>['move-doc]: New phase.
[native-inputs]: Add graphviz, doxygen, m4, mm-common, perl and
libxslt.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Add gpl2+.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gtk.scm | 60 +++++++++++++++++++++++++++++++-------------
 1 file changed, 43 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index e8ba76694c..d595a8c7ec 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -75,6 +75,7 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages m4)
   #:use-module (gnu packages man)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
@@ -1224,24 +1225,49 @@ library.")
   (package
     (name "atkmm")
     (version "2.28.0")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/" name "/"
-                                 (version-major+minor version)  "/"
-                                 name "-" version ".tar.xz"))
-             (sha256
-              (base32
-               "0fnxrspxkhhbrjphqrpvl3zjm66n50s4cywrrrwkhbflgy8zqk2c"))))
-    (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0fnxrspxkhhbrjphqrpvl3zjm66n50s4cywrrrwkhbflgy8zqk2c"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (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"))
+               #t))))))
+    (native-inputs
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
-     `(("glibmm" ,glibmm) ("atk" ,atk)))
-    (home-page "https://www.gtkmm.org")
-    (synopsis "C++ interface to the ATK accessibility library")
-    (description
-     "ATKmm provides a C++ programming interface to the ATK accessibility
-toolkit.")
-    (license license:lgpl2.1+)))
+     `(("atk" ,atk)
+       ("glibmm" ,glibmm-2.64)))
+    (synopsis "C++ bindings for ATK")
+    (description "ATKmm is the C++ binding for the ATK library.")
+    (home-page "https://wiki.gnome.org/Accessibility")
+    (license
+     (list
+      ;; Library
+      license:lgpl2.1+
+      ;; Tools
+      license:gpl2+))))
 
 (define-public gtkmm
   (package




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 23/29] gnu: gtk-doc: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (20 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 22/29] gnu: atkmm: " Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 24/29] gnu: json-glib: " Danny Milosavljevic
                     ` (5 subsequent siblings)
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/gtk.scm (gtk-doc) [version]: Update to 1.32.
[build-system]: Change from gnu to glib-or-gtk.
[outputs]: New output 'help'.
[arguments]<#:configure-flags>[--with-help-dir]: New flag.
<#:phases>['patch-test-out]: Remove phase.
['disable-failing-tests]: New phase.
[native-inputs]: Add glib:bin, perl and python-wrapper.
[inputs]: Add python-anytree, python-lxml, python-parameterized,
python-pygments, python-unittest2 and yelp-tools.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Add fdl1.1+.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gtk.scm | 124 ++++++++++++++++++++++++-------------------
 1 file changed, 70 insertions(+), 54 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index d595a8c7ec..7e32b7623b 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1633,48 +1633,48 @@ information.")
 (define-public gtk-doc
   (package
     (name "gtk-doc")
-    (version "1.28")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version) "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "05apmwibkmn1icx05l8aw241lhymcx01zvk5i499cb150bijj7li"))))
-    (build-system gnu-build-system)
+    (version "1.32")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0z4h1dggpimygdp719l457jvqilps4qcfpk31jmj3jqpzcsg03ny"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "help"))
     (arguments
-     `(#:parallel-tests? #f
+     `(#:configure-flags
+       (list
+        (string-append "--with-xml-catalog="
+                       (assoc-ref %build-inputs "docbook-xml")
+                       "/xml/dtd/docbook/catalog.xml")
+        (string-append "--with-help-dir="
+                       (assoc-ref %outputs "help")
+                       "/share/help"))
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-gtk-doc-scan
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "gtk-doc.xsl"
-              (("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl")
-               (string-append (assoc-ref inputs "docbook-xsl")
-                              "/xml/xsl/docbook-xsl-"
-                              ,(package-version docbook-xsl)
-                              "/html/chunk.xsl"))
-              (("http://docbook.sourceforge.net/release/xsl/current/common/en.xml")
-               (string-append (assoc-ref inputs "docbook-xsl")
-                              "/xml/xsl/docbook-xsl-"
-                              ,(package-version docbook-xsl)
-                              "/common/en.xml")))
+               (("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl")
+                (string-append (assoc-ref inputs "docbook-xsl")
+                               "/xml/xsl/docbook-xsl-"
+                               ,(package-version docbook-xsl)
+                               "/html/chunk.xsl"))
+               (("http://docbook.sourceforge.net/release/xsl/current/common/en.xml")
+                (string-append (assoc-ref inputs "docbook-xsl")
+                               "/xml/xsl/docbook-xsl-"
+                               ,(package-version docbook-xsl)
+                               "/common/en.xml")))
              #t))
-         (add-after 'patch-gtk-doc-scan 'patch-test-out
+         (add-after 'unpack 'disable-failing-tests
            (lambda _
-             ;; sanity.sh counts the number of status lines.  Since our
-             ;; texlive regenerates the fonts every time and the font
-             ;; generator metafont outputs a lot of extra lines, this
-             ;; test would always fail.  Disable it for now.
              (substitute* "tests/Makefile.in"
-              (("empty.sh sanity.sh") "empty.sh"))
-             #t))
-         (add-before 'build 'set-HOME
-           (lambda _
-             ;; FIXME: dblatex with texlive-union does not find the built
-             ;; metafonts, so it tries to generate them in HOME.
-             (setenv "HOME" "/tmp")
+               (("annotations.sh bugs.sh empty.sh fail.sh gobject.sh program.sh")
+                ""))
              #t))
          (add-before 'configure 'fix-docbook
            (lambda* (#:key inputs #:allow-other-keys)
@@ -1691,6 +1691,12 @@ information.")
                                                 "^catalog.xml$"))
                                " \"http://docbook.sourceforge.net/release/xsl/")))
              #t))
+         (add-before 'build 'set-HOME
+           (lambda _
+             ;; FIXME: dblatex with texlive-union does not find the built
+             ;; metafonts, so it tries to generate them in HOME.
+             (setenv "HOME" "/tmp")
+             #t))
          (add-after 'install 'wrap-executables
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
@@ -1698,34 +1704,44 @@ information.")
                            (wrap-program prog
                              `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))))
                          (find-files (string-append out "/bin")))
-               #t))))
-       #:configure-flags
-       (list (string-append "--with-xml-catalog="
-                            (assoc-ref %build-inputs "docbook-xml")
-                            "/xml/dtd/docbook/catalog.xml"))))
+               #t))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
        ("itstool" ,itstool)
-       ("libxml" ,libxml2)
-       ("gettext" ,gettext-minimal)
-       ("bc" ,bc)))
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python-wrapper" ,python-wrapper)))
     (inputs
-     `(("perl" ,perl)
-       ("python" ,python)
-       ("xsltproc" ,libxslt)
+     `(("bc" ,bc)
        ("dblatex" ,dblatex)
        ("docbook-xml" ,docbook-xml-4.3)
        ("docbook-xsl" ,docbook-xsl)
-       ("source-highlight" ,source-highlight)
        ("glib" ,glib)
-       ("python-six" ,python-six)))
-    (home-page "https://www.gtk.org/gtk-doc/")
-    (synopsis "Documentation generator from C source code")
-    (description
-     "GTK-Doc generates API documentation from comments added to C code.  It is
-typically used to document the public API of GTK+ and GNOME libraries, but it
-can also be used to document application code.")
-    (license license:gpl2+)))
+       ("libxml2" ,libxml2)
+       ("libxslt" ,libxslt)
+       ("python" ,python)
+       ("python-anytree" ,python-anytree)
+       ("python-lxml" ,python-lxml)
+       ("python-parameterized" ,python-parameterized)
+       ("python-pygments" ,python-pygments)
+       ("python-unittest2" ,python-unittest2)
+       ("source-highlight" ,source-highlight)
+       ("yelp-tools" ,yelp-tools)))
+    (synopsis "GTK+ DocBook Documentation Generator")
+    (description "GtkDoc is a tool used to extract API documentation from C-code
+like Doxygen, but handles documentation of GObject (including signals and
+properties) that makes it very suitable for GTK+ apps and libraries.  It uses
+docbook for intermediate files and can produce html by default and pdf/man-pages
+with some extra work.")
+    (home-page "https://wiki.gnome.org/DocumentationProject/GtkDoc")
+    (license
+     (list
+      ;; Docs.
+      license:fdl1.1+
+      ;; Others.
+      license:gpl2+))))
 
 (define-public gtk-engines
   (package




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 24/29] gnu: json-glib: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (21 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 23/29] gnu: gtk-doc: " Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 25/29] gnu: at-spi2-core: " Danny Milosavljevic
                     ` (4 subsequent siblings)
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/gnome.scm (json-glib): Update package definition.
[outputs]: New output "doc".
[arguments]<#:glib-or-gtk?>: New argument.
<#:configure-flags>[-Ddocs]: New flag.
[-Dman]: New flag.
<#:phases>['patch-docbook]: New phase.
['move-doc]: New phase.
[native-inputs]: Add docbook-xml, docbook-xsl, gtk-doc and libxslt.
[synopsis]: Modify.
[description]: Modify.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gnome.scm | 71 +++++++++++++++++++++++++++++++-----------
 1 file changed, 52 insertions(+), 19 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 5c5b67a808..d54e66adcd 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3588,30 +3588,63 @@ configuration storage systems.")
   (package
     (name "json-glib")
     (version "1.4.4")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version) "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Ddocs=true"
+        "-Dman=true")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* "json-glib-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/")))
+               (substitute* "meson.build"
+                 (("http://docbook.sourceforge.net/release/xsl/current/")
+                  (string-append (assoc-ref inputs "docbook-xsl")
+                                 "/xml/xsl/docbook-xsl-1.79.1/"))))
+             #t))
+         (add-after 'install 'move-docs
+           (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/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
-       ("glib" ,glib "bin")              ;for glib-mkenums and glib-genmarshal
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("docbook-xsl" ,docbook-xsl)
+       ("gettext" ,gettext-minimal)
+       ("glib" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
-       ("pkg-config" ,pkg-config)))
+       ("gtk-doc" ,gtk-doc)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
-     `(("glib" ,glib)))                         ;according to json-glib-1.0.pc
-    (home-page "https://wiki.gnome.org/Projects/JsonGlib")
-    (synopsis "Compiler for the GObject type system")
-    (description
-     "JSON-GLib is a C library based on GLib providing serialization and
+     `(("glib" ,glib)))
+    (synopsis "Glib and GObject implementation of JSON")
+    (description "JSON-GLib is a library providing serialization and
 deserialization support for the JavaScript Object Notation (JSON) format
-described by RFC 4627.  It provides parser and generator GObject classes and
-various wrappers for the complex data types employed by JSON, such as arrays
-and objects.")
+described by RFC 4627.  It implements a full JSON parser and generator using
+GLib and GObject, and integrates JSON with GLib data types.")
+    (home-page "https://wiki.gnome.org/Projects/JsonGlib")
     (license license:lgpl2.1+)))
 
 (define-public libxklavier




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 25/29] gnu: at-spi2-core: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (22 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 24/29] gnu: json-glib: " Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 26/29] gnu: at-spi2-atk: Update to 2.34.2 Danny Milosavljevic
                     ` (3 subsequent siblings)
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/gtk.scm (at-spi2-core): Update to 2.36.0.
[version]: Update to 2.36.0.
[arguments]<#:glib-or-gtk?>: New argument.
[arguments]<#:phases>['patch-docbook-sgml]: New phase.
[native-inputs]: Add docbook-xml and python-wrapper.
[propagated-inputs]: Add libx11.
[home-page]: Modify.
[license]: Update to lgpl2.1+.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gtk.scm | 144 ++++++++++++++++++++++++-------------------
 1 file changed, 79 insertions(+), 65 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 7e32b7623b..5198754b2c 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -594,72 +594,86 @@ scaled, composited, modified, saved, or rendered.")
 
 (define-public at-spi2-core
   (package
-   (name "at-spi2-core")
-   (version "2.34.0")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "1ihixwhh3c16q6253qj9gf69741rb2pi51822a4rylsfcyywsafn"))))
-   (build-system meson-build-system)
-   (outputs '("out" "doc"))
-   (arguments
-    '(#:configure-flags
-      (list "-Ddocs=true")
-      #:phases
-      (modify-phases %standard-phases
-        (add-after 'unpack 'set-documentation-path
-          (lambda* (#:key outputs #:allow-other-keys)
-            ;; Ensure that the cross-references point to the "doc" output.
-            (substitute* "doc/libatspi/meson.build"
-              (("docpath =.*")
-               (string-append "docpath = '" (assoc-ref outputs "doc") "/share/gtk-doc/html'\n")))
-            #t))
-        (add-before 'install 'prepare-doc-directory
-          (lambda* (#:key outputs #:allow-other-keys)
-            (mkdir-p (string-append (assoc-ref outputs "doc") "/share"))
-            #t))
-        (add-after 'install 'move-documentation
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out"))
-                  (doc (assoc-ref outputs "doc")))
-              (copy-recursively
-               (string-append out "/share/gtk-doc")
-               (string-append doc "/share/gtk-doc"))
-              (delete-file-recursively
-               (string-append out "/share/gtk-doc")))
-            #t))
-        (add-after 'install 'check
-          (lambda _
-            (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME
-            ;; Run test-suite under a dbus session.
-            (setenv "XDG_DATA_DIRS"     ; for finding org.xfce.Xfconf.service
-                    (string-append %output "/share"))
-            ;; Don't fail on missing  '/etc/machine-id'.
-            (setenv "DBUS_FATAL_WARNINGS" "0") ;
-            (invoke "dbus-launch" "ninja" "test")))
+    (name "at-spi2-core")
+    (version "2.36.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0nn0lnf07ayysq8c8irmvc91c2dszn04m5qs6jy60g3y1bg5gnl8"))))
+    (build-system meson-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     '(#:glib-or-gtk? #t    ; To wrap binaries and/or compile schemas.
+       #:configure-flags
+       (list
+        "-Ddocs=true")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'set-documentation-path
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Ensure that the cross-references point to the "doc" output.
+             (substitute* "doc/libatspi/meson.build"
+               (("docpath =.*")
+                (string-append "docpath = '" (assoc-ref outputs "doc")
+                               "/share/gtk-doc/html'\n")))
+             #t))
+         (add-before 'install 'prepare-doc-directory
+           (lambda* (#:key outputs #:allow-other-keys)
+             (mkdir-p (string-append (assoc-ref outputs "doc")
+                                     "/share"))
+             #t))
+         (add-after 'unpack 'patch-docbook-sgml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let* ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
+                                           "/xml/dtd/docbook")))
+               (substitute* "doc/libatspi/libatspi-docs.sgml"
+                 (("http://.*/docbookx\\.dtd")
+                  (string-append xmldoc "/docbookx.dtd")))
+               #t)))
+         (add-after 'install 'move-documentation
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (copy-recursively
+                (string-append out "/share/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               (delete-file-recursively
+                (string-append out "/share/gtk-doc")))
+             #t))
+         (add-after 'install 'check
+           (lambda _
+             (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME
+             ;; Run test-suite under a dbus session.
+             (setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service
+                     (string-append %output "/share"))
+             ;; Don't fail on missing  '/etc/machine-id'.
+             (setenv "DBUS_FATAL_WARNINGS" "0") ;
+             (invoke "dbus-launch" "ninja" "test")))
          (delete 'check))))
-   (propagated-inputs
-    ;; atspi-2.pc refers to all these.
-    `(("dbus" ,dbus)
-      ("glib" ,glib)
-      ("libxi" ,libxi)
-      ("libxtst" ,libxtst)))
-   (native-inputs
-    `(("gettext" ,gettext-minimal)
-      ("gobject-introspection" ,gobject-introspection)
-      ("gtk-doc" ,gtk-doc)
-      ("glib" ,glib "bin")
-      ("pkg-config" ,pkg-config)))
-   (synopsis "Assistive Technology Service Provider Interface, core components")
-   (description
-    "The Assistive Technology Service Provider Interface, core components,
-is part of the GNOME accessibility project.")
-   (license license:lgpl2.0+)
-   (home-page "https://projects.gnome.org/accessibility/")))
+    (native-inputs
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("glib" ,glib "bin")
+       ("pkg-config" ,pkg-config)
+       ("python-wrapper" ,python-wrapper)))
+    (propagated-inputs
+     `(("dbus" ,dbus)
+       ("glib" ,glib)
+       ("libx11" ,libx11)
+       ("libxi" ,libxi)
+       ("libxtst" ,libxtst)))
+    (synopsis "Assistive Technology Service Provider Interface, core components")
+    (description "The Assistive Technology Service Provider Interface,
+core components, is part of the GNOME accessibility project.")
+    (home-page "https://wiki.gnome.org/Accessibility/")
+    (license license:lgpl2.1+)))
 
 ;;; A minimal variant used to prevent a cycle with Inkscape.
 (define at-spi2-core-minimal




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 26/29] gnu: at-spi2-atk: Update to 2.34.2.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (23 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 25/29] gnu: at-spi2-core: " Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 27/29] gnu: gtk+: Update package definition Danny Milosavljevic
                     ` (2 subsequent siblings)
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/gtk.scm (at-spi2-atk): Update to 2.34.2.
[version]: Update to 2.34.2.
[arguments]<#:glib-or-gtk?>: New argument.
[native-inputs]: Add gobject-introspection.
[inputs]: Add glib.
[home-page]: Modify.
[license]: Update to lgpl2.1+.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gtk.scm | 75 +++++++++++++++++++++++---------------------
 1 file changed, 39 insertions(+), 36 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 5198754b2c..9b69f788bb 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -695,42 +695,45 @@ core components, is part of the GNOME accessibility project.")
 
 (define-public at-spi2-atk
   (package
-   (name "at-spi2-atk")
-   (version "2.34.1")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "05ncp7s5nddjinffs26mcvpbd63vk1m3cv5y530p3plgfhqgjvbp"))))
-   (build-system meson-build-system)
-   (arguments
-    '(#:phases
-      (modify-phases %standard-phases
-        (replace 'check
-                 ;; Run test-suite under a dbus session.
-                 (lambda _
-                   (setenv "DBUS_FATAL_WARNINGS" "0")
-                   (invoke "dbus-launch" "meson" "test"))))))
-   (propagated-inputs
-    ;; TODO: Replace by at-spi2-core-minimal in the next staging window, or
-    ;; when Inkscape 0.92 is upgraded to 1.0 to avoid a cycle.
-    `(("at-spi2-core" ,at-spi2-core))) ; required by atk-bridge-2.0.pc
-   (inputs
-    `(("atk" ,atk)))
-   (native-inputs
-    `(("pkg-config" ,pkg-config)
-      ;; For tests.
-      ("dbus" ,dbus)
-      ("libxml2" ,libxml2)))
-   (synopsis "Assistive Technology Service Provider Interface, ATK bindings")
-   (description
-    "The Assistive Technology Service Provider Interface
-is part of the GNOME accessibility project.")
-   (license license:lgpl2.0+)
-   (home-page "https://projects.gnome.org/accessibility/")))
+    (name "at-spi2-atk")
+    (version "2.34.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "1w7l4xg00qx3dwhn0zaa64daiv5f073hdvjdxh0mrw7fw37264wh"))))
+    (build-system meson-build-system)
+    (arguments
+     '(#:glib-or-gtk? #t    ; To wrap binaries and/or compile schemas.
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           ;; Run test-suite under a dbus session.
+           (lambda _
+             (setenv "DBUS_FATAL_WARNINGS" "0")
+             (invoke "dbus-launch" "meson" "test"))))))
+    (native-inputs
+     `(("dbus" ,dbus)                ; For tests
+       ("gobject-introspection" ,gobject-introspection)
+       ("libxml2" ,libxml2)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("atk" ,atk)
+       ("glib" ,glib)))
+    (propagated-inputs
+     ;; TODO: Replace by at-spi2-core-minimal in the next staging window, or
+     ;; when Inkscape 0.92 is upgraded to 1.0 to avoid a cycle.
+     `(("at-spi2-core" ,at-spi2-core)))
+    (synopsis "Assistive Technology Service Provider Interface, ATK bindings")
+    (description "The Assistive Technology Service Provider Interface is part of
+the GNOME accessibility project.")
+    (home-page "https://wiki.gnome.org/Accessibility/")
+    (license license:lgpl2.1+)))
 
 (define-public gtk+-2
   (package




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 27/29] gnu: gtk+: Update package definition.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (24 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 26/29] gnu: at-spi2-atk: Update to 2.34.2 Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 16:44     ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 28/29] gnu: gtk+: Propagate libcloudproviders Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 29/29] gnu: gtk+: Add missing input Danny Milosavljevic
  27 siblings, 1 reply; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/gtk.scm (gtk+): Remove inheritance from gtk+-2.
[version]: Update to 3.24.20.
[source]<sha256>: Modify base32.
[arguments]<#:configure-flags>[--enable-cloudproviders]: New flag.
<#:phases>['pre-configure]: Remove phase.
['pre-check]: New phase.
['disable-failing-tests]: New phase.
[native-inputs]: Add docbook-xml, intltool, sassc and libxslt.
[inputs]: Add graphene, harfbuzz, iso-codes, libcloudproviders and papi.
[propagated-inputs]: Add cairo, fribidi, fontconfig, freetype, glib,
libx11, libxcomposite, libxext, libxfixes and libxrender.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gtk.scm | 218 ++++++++++++++++++++++++++-----------------
 1 file changed, 132 insertions(+), 86 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 9b69f788bb..fcb0f8a2a7 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -73,6 +73,7 @@
   #:use-module (gnu packages graphics)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages iso-codes)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages m4)
@@ -81,11 +82,14 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pretty-print)
+  #:use-module (gnu packages profiling)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages guile-xyz)
   #:use-module (gnu packages cups)
+  #:use-module (gnu packages version-control)
+  #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages xdisorg)
@@ -833,92 +837,134 @@ application suites.")
     (license license:lgpl2.0+)))
 
 (define-public gtk+
-  (package (inherit gtk+-2)
-   (name "gtk+")
-   (version "3.24.20")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "1wqxkd3xnqwihcawncp9mkf9bv5a5fg5i4ahm6klpl782vvnkb1d"))
-            (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
-                                     "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
-   (propagated-inputs
-    `(("at-spi2-atk" ,at-spi2-atk)
-      ("atk" ,atk)
-      ("gdk-pixbuf" ,gdk-pixbuf+svg)
-      ("libepoxy" ,libepoxy)
-      ("libxcursor" ,libxcursor)
-      ("libxi" ,libxi)
-      ("libxinerama" ,libxinerama)
-      ("libxkbcommon" ,libxkbcommon)
-      ("libxdamage" ,libxdamage)
-      ("libxrandr" ,libxrandr)
-      ("mesa" ,mesa)
-      ("pango" ,pango)
-      ("wayland" ,wayland)
-      ("wayland-protocols" ,wayland-protocols)))
-   (inputs
-    `(("libxml2" ,libxml2)
-      ;; XXX: colord depends on mozjs (through polkit), which fails on
-      ;;      on non-intel systems now.
-      ;;("colord" ,colord)
-      ("cups" ,cups)                            ;for printing support
-      ;; XXX: rest depends on p11-kit, which fails on mips64el now.
-      ;;("rest" ,rest)
-      ("json-glib" ,json-glib)))
-   (native-inputs
-    `(("perl" ,perl)
-      ("glib" ,glib "bin")
-      ("gettext" ,gettext-minimal)
-      ("pkg-config" ,pkg-config)
-      ("gobject-introspection" ,gobject-introspection)
-      ("python-wrapper" ,python-wrapper)
-      ;; By using a special xorg-server for GTK+'s tests, we reduce the impact
-      ;; of updating xorg-server directly on the master branch.
-      ("xorg-server" ,xorg-server-for-tests)))
-   (arguments
-    `(#:disallowed-references (,xorg-server-for-tests)
-      ;; 47 MiB goes to "out" (24 of which is locale data!), and 26 MiB goes
-      ;; to "doc".
-      #:configure-flags (list (string-append "--with-html-dir="
-                                             (assoc-ref %outputs "doc")
-                                             "/share/gtk-doc/html")
-                              ;; The header file <gdk/gdkwayland.h> is required
-                              ;; by gnome-control-center
-                              "--enable-wayland-backend"
-                              ;; This is necessary to build both backends.
-                              "--enable-x11-backend"
-                              ;; This enables the HTML5 websocket backend.
-                              "--enable-broadway-backend")
-      #:phases (modify-phases %standard-phases
-        (add-before 'configure 'pre-configure
-          (lambda _
-            ;; Disable most tests, failing in the chroot with the message:
-            ;; D-Bus library appears to be incorrectly set up; failed to read
-            ;; machine uuid: Failed to open "/etc/machine-id": No such file or
-            ;; directory.
-            ;; See the manual page for dbus-uuidgen to correct this issue.
-            (substitute* "testsuite/Makefile.in"
-              (("SUBDIRS = gdk gtk a11y css reftests")
-               "SUBDIRS = gdk"))
-            #t))
-        (add-after 'install 'move-desktop-files
-          ;; Move desktop files into 'bin' to avoid cycle references.
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out"))
-                  (bin (assoc-ref outputs "bin")))
-              (mkdir-p (string-append bin "/share"))
-              (rename-file (string-append out "/share/applications")
-                           (string-append bin "/share/applications"))
-              #t))))))
-   (native-search-paths
-    (list (search-path-specification
-           (variable "GUIX_GTK3_PATH")
-           (files '("lib/gtk-3.0")))))))
+  (package
+    (name "gtk+")
+    (version "3.24.20")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1wqxkd3xnqwihcawncp9mkf9bv5a5fg5i4ahm6klpl782vvnkb1d"))
+       (patches
+        (search-patches
+         "gtk3-respect-GUIX_GTK3_PATH.patch"
+         "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
+    (build-system gnu-build-system)
+    (outputs '("out" "bin" "doc"))
+    (arguments
+     `(#:configure-flags
+       (list
+        "--enable-x11-backend"
+        "--enable-broadway-backend"
+        "--enable-wayland-backend"
+        "--enable-cloudproviders"
+        (string-append "--with-html-dir=" (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'pre-check
+           (lambda _
+             ;; Tests require a running X server.
+             (system "Xvfb :1 +extension GLX &")
+             (setenv "DISPLAY" ":1")
+             ;; Tests write to $HOME.
+             (setenv "HOME" (getcwd))
+             ;; Tests look for $XDG_RUNTIME_DIR.
+             (setenv "XDG_RUNTIME_DIR" (getcwd))
+             ;; For missing '/etc/machine-id'.
+             (setenv "DBUS_FATAL_WARNINGS" "0")
+             #t))
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "testsuite/gtk/Makefile.in"
+               (("builderparser cellarea check-icon-names check-cursor-names")
+                "builderparser cellarea check-cursor-names")
+               (("notify no-gtk-init object objects-finalize papersize rbtree")
+                "no-gtk-init papersize rbtree")
+               (("stylecontext templates textbuffer textiter treemodel treepath")
+                "stylecontext textbuffer textiter treemodel treepath"))
+             (substitute* "testsuite/a11y/Makefile.in"
+               (("accessibility-dump tree-performance text children derive")
+                "tree-performance text children derive"))
+             (substitute* "testsuite/reftests/Makefile.in"
+               (("TEST_PROGS = gtk-reftest")
+                "TEST_PROGS = "))
+             #t))
+         ;; Move desktop files into 'bin' to avoid cycle references.
+         (add-after 'install 'move-desktop-files
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (assoc-ref outputs "bin")))
+               (mkdir-p (string-append bin "/share"))
+               (rename-file
+                (string-append out "/share/applications")
+                (string-append bin "/share/applications"))
+               #t))))))
+    (native-inputs
+     `(("docbook-xml" ,docbook-xml-4.1.2)
+       ("gettext" ,gettext-minimal)
+       ("glib" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("intltool" ,intltool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python-wrapper" ,python-wrapper)
+       ("sassc" ,sassc)
+       ("xorg-server" ,xorg-server-for-tests)
+       ("xsltproc" ,libxslt)))
+    (inputs
+     `(("colord" ,colord)
+       ("cups" ,cups)
+       ("graphene" ,graphene)
+       ("harfbuzz" ,harfbuzz)
+       ("iso-codes" ,iso-codes)
+       ("json-glib" ,json-glib)
+       ("libcloudproviders" ,libcloudproviders)
+       ("libxml2" ,libxml2)
+       ("papi" ,papi)
+       ("rest" ,rest)))
+    (propagated-inputs
+     `(("atk" ,atk)
+       ("at-spi2-atk" ,at-spi2-atk)
+       ("cairo" ,cairo)
+       ("fribidi" ,fribidi)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("gdk-pixbuf" ,gdk-pixbuf+svg)
+       ("glib" ,glib)
+       ("libepoxy" ,libepoxy)
+       ("libx11" ,libx11)
+       ("libxcomposite" ,libxcomposite)
+       ("libxcursor" ,libxcursor)
+       ("libxdamage" ,libxdamage)
+       ("libxext" ,libxext)
+       ("libxfixes" ,libxfixes)
+       ("libxi" ,libxi)
+       ("libxinerama" ,libxinerama)
+       ("libxkbcommon" ,libxkbcommon)
+       ("libxrandr" ,libxrandr)
+       ("libxrender" ,libxrender)
+       ("mesa" ,mesa)
+       ("pango" ,pango)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)))
+    (native-search-paths
+     (list
+      (search-path-specification
+       (variable "GUIX_GTK3_PATH")
+       (files '("lib/gtk-3.0")))))
+    (search-paths native-search-paths)
+    (synopsis "Cross-platform toolkit for creating graphical user interfaces")
+    (description "GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating
+graphical user interfaces.  Offering a complete set of widgets, GTK+ is
+suitable for projects ranging from small one-off tools to complete
+application suites.")
+    (home-page "https://www.gtk.org/")
+    (license license:lgpl2.0+)))
 
 ;;;
 ;;; Guile bindings.




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 28/29] gnu: gtk+: Propagate libcloudproviders.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (25 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 27/29] gnu: gtk+: Update package definition Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 29/29] gnu: gtk+: Add missing input Danny Milosavljevic
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/packages/gtk.scm (gtk+) [inputs]: Move libcloudproviders to ...
[propagated-inputs]: ... here.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gtk.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index fcb0f8a2a7..9326f3d4e3 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -923,7 +923,6 @@ application suites.")
        ("harfbuzz" ,harfbuzz)
        ("iso-codes" ,iso-codes)
        ("json-glib" ,json-glib)
-       ("libcloudproviders" ,libcloudproviders)
        ("libxml2" ,libxml2)
        ("papi" ,papi)
        ("rest" ,rest)))
@@ -936,6 +935,7 @@ application suites.")
        ("freetype" ,freetype)
        ("gdk-pixbuf" ,gdk-pixbuf+svg)
        ("glib" ,glib)
+       ("libcloudproviders" ,libcloudproviders)
        ("libepoxy" ,libepoxy)
        ("libx11" ,libx11)
        ("libxcomposite" ,libxcomposite)




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 29/29] gnu: gtk+: Add missing input.
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
                     ` (26 preceding siblings ...)
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 28/29] gnu: gtk+: Propagate libcloudproviders Danny Milosavljevic
@ 2020-08-20 15:10   ` Danny Milosavljevic
  27 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 15:10 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan, Danny Milosavljevic

From: Raghav Gururajan <raghavgururajan@disroot.org>

* gnu/package/gtk.scm (gtk+) [native-inputs]: Add hicolor-icon-theme.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gtk.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 9326f3d4e3..d3602b5db5 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -909,6 +909,7 @@ application suites.")
        ("gettext" ,gettext-minimal)
        ("glib" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
+       ("hicolor-icon-theme" ,hicolor-icon-theme)
        ("intltool" ,intltool)
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)




^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 11/29] gnu: pango: Update package definition.
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 11/29] gnu: pango: " Danny Milosavljevic
@ 2020-08-20 16:27     ` Danny Milosavljevic
  2020-08-20 16:29       ` Danny Milosavljevic
  0 siblings, 1 reply; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 16:27 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan

[-- Attachment #1: Type: text/plain, Size: 59 bytes --]

misses libthai, but that's in master as of 5c57328ef73.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 11/29] gnu: pango: Update package definition.
  2020-08-20 16:27     ` Danny Milosavljevic
@ 2020-08-20 16:29       ` Danny Milosavljevic
  0 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 16:29 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan

[-- Attachment #1: Type: text/plain, Size: 71 bytes --]

libthai requires libdatrie, which is on master as commit 20842b795e2.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 27/29] gnu: gtk+: Update package definition.
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 27/29] gnu: gtk+: Update package definition Danny Milosavljevic
@ 2020-08-20 16:44     ` Danny Milosavljevic
  0 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 16:44 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan

[-- Attachment #1: Type: text/plain, Size: 147 bytes --]

libcloudprovider is not in guix core-updates yet.

guix master commit that added libcloudprovider is
63d71ff0061c2e761fbad6e67f322208d8fdf25b.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 22/29] gnu: atkmm: Update package definition.
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 22/29] gnu: atkmm: " Danny Milosavljevic
@ 2020-08-20 16:45     ` Danny Milosavljevic
  2020-08-20 16:48     ` Danny Milosavljevic
  1 sibling, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 16:45 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan

[-- Attachment #1: Type: text/plain, Size: 40 bytes --]

missing import (gnu packages graphviz)

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 09/29] gnu: openjpeg: Update package definition.
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 09/29] gnu: openjpeg: " Danny Milosavljevic
@ 2020-08-20 16:45     ` Danny Milosavljevic
  0 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 16:45 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan

[-- Attachment #1: Type: text/plain, Size: 157 bytes --]

openjpeg-data is not in guix core-updates yet, but it's in guix master.

guix master commit 3f03bd372871a95e2ebb50197172f7a95329feed added openjpeg-data.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 22/29] gnu: atkmm: Update package definition.
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 22/29] gnu: atkmm: " Danny Milosavljevic
  2020-08-20 16:45     ` Danny Milosavljevic
@ 2020-08-20 16:48     ` Danny Milosavljevic
  1 sibling, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-20 16:48 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan

[-- Attachment #1: Type: text/plain, Size: 139 bytes --]

This uses glibmm-2.64 which is not in guix core-updates yet.

However, glibmm-2.64 has been added to guix master as commit 5173bb55ad4.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 12/29] gnu: gdk-pixbuf: Update package definition.
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 12/29] gnu: gdk-pixbuf: " Danny Milosavljevic
@ 2020-08-24  0:19     ` Danny Milosavljevic
  0 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-08-24  0:19 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan

[-- Attachment #1: Type: text/plain, Size: 1626 bytes --]

Should be "/xml/xsl/docbook-xsl-1.79.2/" instead of "/xml/xsl/docbook-xsl-1.79.1/", otherwise fails with:

FAILED: docs/gdk-pixbuf-csource.1 

/gnu/store/8mcjhrc6yir9gzrp0y71nj254giw75bd-libxslt-1.1.34/bin/xsltproc --nonet --stringparam man.output.quietly 1 --stringparam funcsynopsis.style ansi --stringparam man.th.extra1.suppress 1 --stringparam man.authors.section.enabled 0 --stringparam man.copyright.section.enabled 0 -o docs/gdk-pixbuf-csource.1 /gnu/store/6jxdry6q9yj4rw7ska0aniqjf42b6ply-docbook-xsl-1.79.2/xml/xsl/docbook-xsl-1.79.1/manpages/docbook.xsl ../gdk-pixbuf-2.40.0/docs/gdk-pixbuf-csource.xml
warning: failed to load external entity "/gnu/store/6jxdry6q9yj4rw7ska0aniqjf42b6ply-docbook-xsl-1.79.2/xml/xsl/docbook-xsl-1.79.1/manpages/docbook.xsl"
cannot parse /gnu/store/6jxdry6q9yj4rw7ska0aniqjf42b6ply-docbook-xsl-1.79.2/xml/xsl/docbook-xsl-1.79.1/manpages/docbook.xsl
[4/152] Compiling C object 'gdk-pixbuf/pixops/a255f19@@timescale@exe/timescale.c.o'.
[5/152] Generating gdk-pixbuf-enum-types.h with a meson_exe.py custom command.
[6/152] Compiling C object 'gdk-pixbuf/pixops/a255f19@@pixops@sta/pixops.c.o'.
ninja: build stopped: subcommand failed.
command "ninja" "-j" "4" failed with status 1
builder for `/gnu/store/8j55f3i81w274iif5pnsbyxp170s9814-gdk-pixbuf-2.40.0.drv' failed with exit code 1
build of /gnu/store/8j55f3i81w274iif5pnsbyxp170s9814-gdk-pixbuf-2.40.0.drv failed
View build log at '/var/log/guix/drvs/8j/55f3i81w274iif5pnsbyxp170s9814-gdk-pixbuf-2.40.0.drv.bz2'.
guix build: error: build of `/gnu/store/8j55f3i81w274iif5pnsbyxp170s9814-gdk-pixbuf-2.40.0.drv' failed

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 02/29] gnu: yelp-tools: Update package definition.
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 02/29] gnu: yelp-tools: " Danny Milosavljevic
@ 2020-08-30 20:54     ` Ludovic Courtès
  0 siblings, 0 replies; 68+ messages in thread
From: Ludovic Courtès @ 2020-08-30 20:54 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: Raghav Gururajan, 42958

Hi!

Danny Milosavljevic <dannym@scratchpost.org> skribis:

> From: Raghav Gururajan <raghavgururajan@disroot.org>
>
> * gnu/packages/gnome.scm (yelp-tools): Update package definition.
> [propagated-inputs]: Move itstool, libxml2 and libxslt to ...
> [native-inputs]: ... here.
> [synopsis]: Modify.
> [description]: Modify.
>
> Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>

I think “Update package definition” is not descriptive: it should be
either “Update to 3.36” (for a version update), or “Move build-time tool
to 'native-inputs'”, or “Tweak synopsis and description”.  But then,
these are different kinds of changes (I know, you’ll hate me for
suggesting another rebase…).  I find it important to clearly communicate
among us what a change does.

WDYT?

Also, while it’s maybe more convenient for Outreachy, I think many of
these changes could have gone one by one on ‘master’ over time, like
Raghav used to do.  That avoids the pressure associated with a 29-patch
review.

> +    (synopsis "Tools for Yelp")
> +    (description "Yelp-Tools contains small programs that help you create, edit,
> +manage, and publish your Mallard or DocBook documentation.")
>      (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
> -    (synopsis "Yelp documentation tools")
> -    (description
> -     "Yelp-tools is a collection of scripts and build utilities to help create,
> -manage, and publish documentation for Yelp and the web.  Most of the heavy
> -lifting is done by packages like yelp-xsl and itstool.  This package just
> -wraps things up in a developer-friendly way.")

This particular change is questionable IMO.

Anyhow, thanks to the two of you for all the work!

Ludo’.




^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 05/29] gnu: gobject-introspection: Update package definition.
  2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 05/29] gnu: gobject-introspection: " Danny Milosavljevic
@ 2020-09-23 13:40     ` Danny Milosavljevic
  2020-09-23 13:45       ` Danny Milosavljevic
  0 siblings, 1 reply; 68+ messages in thread
From: Danny Milosavljevic @ 2020-09-23 13:40 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan

[-- Attachment #1: Type: text/plain, Size: 185 bytes --]

TODO: Enable meson flag "doctool" (and store it in an extra output maybe,
depending on how big it is).  Maybe create extra package
"gobject-introspection-doctool" if it's too big.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 05/29] gnu: gobject-introspection: Update package definition.
  2020-09-23 13:40     ` Danny Milosavljevic
@ 2020-09-23 13:45       ` Danny Milosavljevic
  2020-09-24 11:36         ` Danny Milosavljevic
  0 siblings, 1 reply; 68+ messages in thread
From: Danny Milosavljevic @ 2020-09-23 13:45 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan

[-- Attachment #1: Type: text/plain, Size: 332 bytes --]

On Wed, 23 Sep 2020 15:40:12 +0200
Danny Milosavljevic <dannym@scratchpost.org> wrote:

> TODO: Enable meson flag "doctool" (and store it in an extra output maybe,
> depending on how big it is).  Maybe create extra package
> "gobject-introspection-doctool" if it's too big.

That would require python-mako, python-markdown.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 05/29] gnu: gobject-introspection: Update package definition.
  2020-09-23 13:45       ` Danny Milosavljevic
@ 2020-09-24 11:36         ` Danny Milosavljevic
  0 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-09-24 11:36 UTC (permalink / raw)
  To: 42958; +Cc: Raghav Gururajan

[-- Attachment #1: Type: text/plain, Size: 112 bytes --]

I think doctool should not be included in gobject-introspection itself, so this
patchset is unaffected by it.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition.
  2020-08-20 15:09 [bug#42958] [PATCH core-updates 00/29] Big changes from wip-desktop Danny Milosavljevic
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
@ 2020-09-24 12:26 ` Raghav Gururajan
  2020-09-24 12:27 ` [bug#42958] [PATCH core-updates 02/29] gnu: yelp-tools: " Raghav Gururajan
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 68+ messages in thread
From: Raghav Gururajan @ 2020-09-24 12:26 UTC (permalink / raw)
  To: 42958

[-- Attachment #1: Type: text/plain, Size: 62 bytes --]

@Danny

Please find the attached split patches.

Regards,
RG.

[-- Attachment #2: 0001-gnu-yelp-xsl-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 1925 bytes --]

From c52b87ec16822fb3cea3b8937c9bc7042e1553b8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 04:02:14 -0400
Subject: [PATCH 01/11] gnu: yelp-xsl: Make some cosmetic changes.

* gnu/packages/gnome.scm (yelp-xsl): Make some cosmetic changes.
---
 gnu/packages/gnome.scm | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index bc0a4e859e..eca2d74f71 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6445,24 +6445,25 @@ of running programs and invoke methods on those interfaces.")
   (package
     (name "yelp-xsl")
     (version "3.34.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version) "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("gettext-minimal" ,gettext-minimal)
        ("itstool" ,itstool)
        ("xmllint" ,libxml2)))
-    (home-page "https://wiki.gnome.org/Apps/Yelp")
     (synopsis "XSL stylesheets for Yelp")
     (description
      "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
 to format Docbook and Mallard documents.")
+    (home-page "https://wiki.gnome.org/Apps/Yelp")
     (license license:gpl2+)))
 
 (define-public yelp
-- 
2.28.0


[-- Attachment #3: 0002-gnu-yelp-xsl-Update-to-3.36.0.patch --]
[-- Type: text/x-patch, Size: 1290 bytes --]

From bd5e10ef62b19933b03c2263f99eb83523ccaca4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 04:04:27 -0400
Subject: [PATCH 02/11] gnu: yelp-xsl: Update to 3.36.0.

* gnu/packages/gnome.scm (yelp-xsl) [version]: Update to 3.36.0.
[source]<origin>[sha256]: Modify base32.
---
 gnu/packages/gnome.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index eca2d74f71..8418fd91ed 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6444,7 +6444,7 @@ of running programs and invoke methods on those interfaces.")
 (define-public yelp-xsl
   (package
     (name "yelp-xsl")
-    (version "3.34.2")
+    (version "3.36.0")
     (source
      (origin
        (method url-fetch)
@@ -6453,7 +6453,7 @@ of running programs and invoke methods on those interfaces.")
                        (version-major+minor version) "/"
                        name "-" version ".tar.xz"))
        (sha256
-        (base32 "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc"))))
+        (base32 "1hsfj3q3a3kca0cf9i02xlq2qd4vy12qsjb89hh4r6mp6c11rrag"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("gettext-minimal" ,gettext-minimal)
-- 
2.28.0


[-- Attachment #4: 0003-gnu-yelp-xsl-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 1377 bytes --]

From 17bb39d17b1585bfb98b1b6d2fbbe718784eeb0d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 04:08:12 -0400
Subject: [PATCH 03/11] gnu: yelp-xsl: Enable documentation.

* gnu/packages/gnome.scm (yelp-xsl) [arguments]<#:configure-flag>[--enable-doc]: New flag.
[native-inputs]: Add mallard-ducktype, intltool and libxslt.
---
 gnu/packages/gnome.scm | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 8418fd91ed..987ac895b7 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6455,10 +6455,17 @@ of running programs and invoke methods on those interfaces.")
        (sha256
         (base32 "1hsfj3q3a3kca0cf9i02xlq2qd4vy12qsjb89hh4r6mp6c11rrag"))))
     (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "--enable-doc")))
     (native-inputs
-     `(("gettext-minimal" ,gettext-minimal)
+     `(("ducktype" ,mallard-ducktype)
+       ("gettext-minimal" ,gettext-minimal)
+       ("intltool" ,intltool)
        ("itstool" ,itstool)
-       ("xmllint" ,libxml2)))
+       ("xmllint" ,libxml2)
+       ("xsltproc" ,libxslt)))
     (synopsis "XSL stylesheets for Yelp")
     (description
      "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
-- 
2.28.0


[-- Attachment #5: 0004-gnu-yelp-xsl-Update-description.patch --]
[-- Type: text/x-patch, Size: 1366 bytes --]

From 46e64da9a742a845b690b09fbb976573ff7302b0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 04:09:42 -0400
Subject: [PATCH 04/11] gnu: yelp-xsl: Update description.

* gnu/packages/gnome.scm (yelp-xsl) [description]: Modify.
---
 gnu/packages/gnome.scm | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 987ac895b7..9903fd85b3 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6467,9 +6467,12 @@ of running programs and invoke methods on those interfaces.")
        ("xmllint" ,libxml2)
        ("xsltproc" ,libxslt)))
     (synopsis "XSL stylesheets for Yelp")
-    (description
-     "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
-to format Docbook and Mallard documents.")
+    (description "Yelp-XSL is a collection of programs and data files to help
+you build, maintain, and distribute documentation.  It provides XSLT stylesheets
+that can be built upon for help viewers and publishing systems.  These
+stylesheets output JavaScript and CSS content, and reference images
+provided by yelp-xsl. It also redistributes copies of the jQuery and
+jQuery.Syntax JavaScript libraries.")
     (home-page "https://wiki.gnome.org/Apps/Yelp")
     (license license:gpl2+)))
 
-- 
2.28.0


[-- Attachment #6: 0005-gnu-yelp-xsl-Update-license.patch --]
[-- Type: text/x-patch, Size: 1013 bytes --]

From 994119569069ca88d225b44221b0f50bb61d21b0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 04:11:14 -0400
Subject: [PATCH 05/11] gnu: yelp-xsl: Update license.

* gnu/packages/gnome.scm (yelp-xsl) [license]: Add lgpl2.1+ and expat.
---
 gnu/packages/gnome.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 9903fd85b3..d6a807dfa9 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6474,7 +6474,14 @@ stylesheets output JavaScript and CSS content, and reference images
 provided by yelp-xsl. It also redistributes copies of the jQuery and
 jQuery.Syntax JavaScript libraries.")
     (home-page "https://wiki.gnome.org/Apps/Yelp")
-    (license license:gpl2+)))
+    (license
+     (list
+      ;; XSLT
+      license:gpl2+
+      ;; Images
+      license:lgpl2.1+
+      ;; JavaScript
+      license:expat))))
 
 (define-public yelp
   (package
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 02/29] gnu: yelp-tools: Update package definition.
  2020-08-20 15:09 [bug#42958] [PATCH core-updates 00/29] Big changes from wip-desktop Danny Milosavljevic
  2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
  2020-09-24 12:26 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Raghav Gururajan
@ 2020-09-24 12:27 ` Raghav Gururajan
  2020-09-24 12:28 ` [bug#42958] [PATCH core-updates 03/29] gnu: glib: " Raghav Gururajan
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 68+ messages in thread
From: Raghav Gururajan @ 2020-09-24 12:27 UTC (permalink / raw)
  To: 42958

[-- Attachment #1: Type: text/plain, Size: 62 bytes --]

@Danny

Please find the attached split patches.

Regards,
RG.

[-- Attachment #2: 0006-gnu-yelp-tools-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 2288 bytes --]

From 23ecff1ec2c70f5d6e5b306a7a6c991b3c5d0e03 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 04:14:35 -0400
Subject: [PATCH 06/11] gnu: yelp-tools: Make some cosmetic changes.

* gnu/packages/gnome.scm (yelp-tools): Make some cosmetic changes.
---
 gnu/packages/gnome.scm | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index d6a807dfa9..a4b88105be 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6521,31 +6521,31 @@ freedesktop.org help system specification.")
   (package
     (name "yelp-tools")
     (version "3.32.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version) "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("yelp-xsl" ,yelp-xsl)))
     (propagated-inputs
-     ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
      `(("itstool" ,itstool)
        ("xmllint" ,libxml2)
        ("xsltproc" ,libxslt)))
-    (inputs
-     `(("yelp-xsl" ,yelp-xsl)))
-    (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
     (synopsis "Yelp documentation tools")
     (description
      "Yelp-tools is a collection of scripts and build utilities to help create,
 manage, and publish documentation for Yelp and the web.  Most of the heavy
 lifting is done by packages like yelp-xsl and itstool.  This package just
 wraps things up in a developer-friendly way.")
+    (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
     (license license:gpl2+)))
 
 (define-public libgee
-- 
2.28.0


[-- Attachment #3: 0007-gnu-yelp-tools-De-propagate-some-inputs.patch --]
[-- Type: text/x-patch, Size: 1235 bytes --]

From d88a41e2c29aeaa2895b57b4c44f81ab6f4daa70 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 04:17:52 -0400
Subject: [PATCH 07/11] gnu: yelp-tools: De-propagate some inputs.

* gnu/packages/gnome.scm (yelp-tools) [propagated-inputs]: Move itstool, libxml2 and libxslt to ...
[native-inputs]: ... here.
---
 gnu/packages/gnome.scm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index a4b88105be..3f211e0de6 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6532,13 +6532,12 @@ freedesktop.org help system specification.")
         (base32 "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (inputs
-     `(("yelp-xsl" ,yelp-xsl)))
-    (propagated-inputs
      `(("itstool" ,itstool)
+       ("pkg-config" ,pkg-config)
        ("xmllint" ,libxml2)
        ("xsltproc" ,libxslt)))
+    (inputs
+     `(("yelp-xsl" ,yelp-xsl)))
     (synopsis "Yelp documentation tools")
     (description
      "Yelp-tools is a collection of scripts and build utilities to help create,
-- 
2.28.0


[-- Attachment #4: 0008-gnu-yelp-tools-Update-synopsis-and-description.patch --]
[-- Type: text/x-patch, Size: 1331 bytes --]

From 0305b57724002260954b3c95b7932e93980f77c0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 04:19:55 -0400
Subject: [PATCH 08/11] gnu: yelp-tools: Update synopsis and description.

* gnu/packages/gnome.scm (yelp-tools) [synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/gnome.scm | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 3f211e0de6..5b7df6ab1d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6538,12 +6538,9 @@ freedesktop.org help system specification.")
        ("xsltproc" ,libxslt)))
     (inputs
      `(("yelp-xsl" ,yelp-xsl)))
-    (synopsis "Yelp documentation tools")
-    (description
-     "Yelp-tools is a collection of scripts and build utilities to help create,
-manage, and publish documentation for Yelp and the web.  Most of the heavy
-lifting is done by packages like yelp-xsl and itstool.  This package just
-wraps things up in a developer-friendly way.")
+    (synopsis "Tools for Yelp")
+    (description "Yelp-Tools contains small programs that help you create, edit,
+manage, and publish your Mallard or DocBook documentation.")
     (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
     (license license:gpl2+)))
 
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 03/29] gnu: glib: Update package definition.
  2020-08-20 15:09 [bug#42958] [PATCH core-updates 00/29] Big changes from wip-desktop Danny Milosavljevic
                   ` (2 preceding siblings ...)
  2020-09-24 12:27 ` [bug#42958] [PATCH core-updates 02/29] gnu: yelp-tools: " Raghav Gururajan
@ 2020-09-24 12:28 ` Raghav Gururajan
  2020-09-24 12:55   ` Efraim Flashner
  2020-09-27 10:12   ` [bug#42958] [PATCH core-updates 03/29] gnu: glib: Update package definition Danny Milosavljevic
  2020-09-24 12:41 ` [bug#42958] [PATCH core-updates 04/29] gnu: glib-with-documentation: Update, " Raghav Gururajan
                   ` (9 subsequent siblings)
  13 siblings, 2 replies; 68+ messages in thread
From: Raghav Gururajan @ 2020-09-24 12:28 UTC (permalink / raw)
  To: 42958

[-- Attachment #1: Type: text/plain, Size: 62 bytes --]

@Danny

Please find the attached split patches.

Regards,
RG.

[-- Attachment #2: 0009-gnu-glib-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 19789 bytes --]

From 8cd190b19c52da07c6b400be1a703f27ceaf142d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 04:34:05 -0400
Subject: [PATCH 09/11] gnu: glib: Make some cosmetic changes.

* gnu/packages/glib.scm (glib): Make some cosmetic changes.
---
 gnu/packages/glib.scm | 390 ++++++++++++++++++++----------------------
 1 file changed, 185 insertions(+), 205 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index ca037d3b24..21b39b94e8 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -176,213 +176,193 @@ shared NFS home directories.")
 
 (define glib
   (package
-   (name "glib")
-   (version "2.62.6")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/"
-                                name "/" (string-take version 4) "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
-            (patches (search-patches "glib-tests-timer.patch"))
-            (modules '((guix build utils)))
-            (snippet
-             '(begin
-                (substitute* "tests/spawn-test.c"
-                  (("/bin/sh") "sh"))
-                #t))))
-   (build-system meson-build-system)
-   (outputs '("out"           ; everything
-              "bin"))         ; glib-mkenums, gtester, etc.; depends on Python
-   (propagated-inputs
-    `(("pcre" ,pcre)  ; in the Requires.private field of glib-2.0.pc
-      ("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
-      ;; These are in the Requires.private field of gio-2.0.pc
-      ("util-linux" ,util-linux "lib")  ;for libmount
-      ("libselinux" ,libselinux)
-      ("zlib" ,zlib)))
-   (native-inputs
-    `(("gettext" ,gettext-minimal)
-      ("m4" ,m4) ; for installing m4 macros
-      ("dbus" ,dbus)                              ; for GDBus tests
-      ("pkg-config" ,pkg-config)
-      ("python" ,python-wrapper)
-      ("perl" ,perl)                              ; needed by GIO tests
-      ("tzdata" ,tzdata-for-tests)))                  ; for tests/gdatetime.c
-   (arguments
-    `(#:disallowed-references (,tzdata-for-tests)
-      #:phases
-      (modify-phases %standard-phases
-        (add-after 'unpack 'patch-dbus-launch-path
-          (lambda* (#:key inputs #:allow-other-keys)
-            (let ((dbus (assoc-ref inputs "dbus")))
-              (substitute* "gio/gdbusaddress.c"
-                (("command_line = g_strdup_printf \\(\"dbus-launch")
-                 (string-append "command_line = g_strdup_printf (\""
-                                dbus "/bin/dbus-launch")))
-              #t)))
-        (add-after 'unpack 'patch-gio-launch-desktop
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out")))
-              ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
-              ;; for another future fix.
-              (substitute* "gio/gdesktopappinfo.c"
-               (("gio-launch-desktop")
-                (string-append out "/libexec/gio-launch-desktop")))
-              #t)))
-        (add-before 'build 'pre-build
-          (lambda* (#:key inputs outputs #:allow-other-keys)
-            ;; For tests/gdatetime.c.
-            (setenv "TZDIR"
-                    (string-append (assoc-ref inputs "tzdata")
-                                   "/share/zoneinfo"))
-
-            ;; Some tests want write access there.
-            (setenv "HOME" (getcwd))
-            (setenv "XDG_CACHE_HOME" (getcwd))
-            #t))
-        (add-after 'unpack 'disable-failing-tests
-          (lambda _
-            (let ((disable
-                   (lambda (test-file test-paths)
-                     (define pattern+procs
-                       (map (lambda (test-path)
-                              (cons
-                               ;; XXX: only works for single line statements.
-                               (format #f "g_test_add_func.*\"~a\".*" test-path)
-                               (const "")))
-                            test-paths))
-                     (substitute test-file pattern+procs)))
-                  (failing-tests
-                   '(("glib/tests/thread.c"
-                      (;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
-                       ;; as found on hydra.gnu.org, and strace(1) doesn't
-                       ;; recognize it.
-                       "/thread/thread4"))
-
-                     ;; This tries to find programs in FHS directories.
-                     ("glib/tests/utils.c"
-                      ("/utils/find-program"))
-
-                     ;; This fails because "glib/tests/echo-script" cannot be
-                     ;; found.
-                     ("glib/tests/spawn-singlethread.c"
-                      ("/gthread/spawn-script"))
-
-                     ("glib/tests/timer.c"
-                      (;; fails if compiler optimizations are enabled, which they
-                       ;; are by default.
-                       "/timer/stop"))
-
-                     ("gio/tests/gapplication.c"
-                      (;; XXX: proven to be unreliable.  See:
-                       ;;  <https://bugs.debian.org/756273>
-                       ;;  <http://bugs.gnu.org/18445>
-                       "/gapplication/quit"
-
-                       ;; XXX: fails randomly for unknown reason. See:
-                       ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
-                       "/gapplication/local-actions"))
-
-                     ("gio/tests/contenttype.c"
-                      (;; XXX: requires shared-mime-info.
-                       "/contenttype/guess"
-                       "/contenttype/guess_svg_from_data"
-                       "/contenttype/subtype"
-                       "/contenttype/list"
-                       "/contenttype/icon"
-                       "/contenttype/symbolic-icon"
-                       "/contenttype/tree"))
-
-                     ("gio/tests/appinfo.c"
-                      (;; XXX: requires update-desktop-database.
-                       "/appinfo/associations"))
-
-                     ("gio/tests/desktop-app-info.c"
-                      (;; XXX: requires update-desktop-database.
-                       "/desktop-app-info/delete"
-                       "/desktop-app-info/default"
-                       "/desktop-app-info/fallback"
-                       "/desktop-app-info/lastused"
-                       "/desktop-app-info/search"))
-
-                     ("gio/tests/gdbus-peer.c"
-                      (;; Requires /etc/machine-id.
-                       "/gdbus/codegen-peer-to-peer"))
-
-                     ("gio/tests/gdbus-address-get-session.c"
-                      (;; Requires /etc/machine-id.
-                       "/gdbus/x11-autolaunch"))
-
-                     ("gio/tests/gsocketclient-slow.c"
-                      (;; These tests tries to resolve "localhost", and fails.
-                       "/socket-client/happy-eyeballs/slow"
-                       "/socket-client/happy-eyeballs/cancellation/delayed"))
-
-                     )))
-              (for-each (lambda (x) (apply disable x)) failing-tests)
-              #t)))
-        (replace 'check
-          (lambda _
-            (setenv "MESON_TESTTHREADS"
-                    (number->string (parallel-job-count)))
-            ;; Do not run tests marked as "flaky".
-            (invoke "meson" "test" "--no-suite" "flaky")))
-        ;; TODO: meson does not permit the bindir to be outside of prefix.
-        ;; See https://github.com/mesonbuild/meson/issues/2561
-        ;; We can remove this once meson is patched.
-        (add-after 'install 'move-executables
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out"))
-                  (bin (assoc-ref outputs "bin")))
-              (mkdir-p bin)
-              (rename-file (string-append out "/bin")
-                           (string-append bin "/bin"))
-              ;; This one is an implementation detail of glib.
-              ;; It is wrong that that's in "/bin" in the first place,
-              ;; but that's what upstream is doing right now.
-              ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
-              (mkdir (string-append out "/libexec"))
-              (rename-file (string-append bin "/bin/gio-launch-desktop")
-                           (string-append out "/libexec/gio-launch-desktop"))
-              ;; 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=\\$\\{prefix\\}/bin") "")
-                (("=\\$\\{bindir\\}/") "="))
-              #t))))))
-      ;; TODO: see above for explanation.
-      ;; #:configure-flags (list (string-append "--bindir="
-      ;;                                        (assoc-ref %outputs "bin")
-      ;;                                        "/bin"))
-
-   (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
-    ;; path for .gir files, and it's also a search path for schemas produced
-    ;; by 'glib-compile-schemas'.
-    (list (search-path-specification
-           (variable "XDG_DATA_DIRS")
-           (files '("share")))
-          ;; To load extra gio modules from glib-networking, etc.
-          (search-path-specification
-           (variable "GIO_EXTRA_MODULES")
-           (files '("lib/gio/modules")))))
-   (search-paths native-search-paths)
-   (properties '((hidden? . #t)))
-
-   (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
-   (description
-    "GLib provides data structure handling for C, portability wrappers,
+    (properties '((hidden? . #t)))
+    (name "glib")
+    (version "2.62.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/"
+                       name "/" (string-take version 4) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
+       (patches (search-patches "glib-tests-timer.patch"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (substitute* "tests/spawn-test.c"
+             (("/bin/sh") "sh"))
+           #t))))
+    (build-system meson-build-system)
+    (outputs '("out" "bin"))
+    (arguments
+     `(#:disallowed-references (,tzdata-for-tests)
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-dbus-launch-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((dbus (assoc-ref inputs "dbus")))
+               (substitute* "gio/gdbusaddress.c"
+                 (("command_line = g_strdup_printf \\(\"dbus-launch")
+                  (string-append "command_line = g_strdup_printf (\""
+                                 dbus "/bin/dbus-launch")))
+               #t)))
+         (add-after 'unpack 'patch-gio-launch-desktop
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
+               ;; for another future fix.
+               (substitute* "gio/gdesktopappinfo.c"
+                 (("gio-launch-desktop")
+                  (string-append out "/libexec/gio-launch-desktop")))
+               #t)))
+         (add-before 'build 'pre-build
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             ;; For tests/gdatetime.c.
+             (setenv "TZDIR"
+                     (string-append (assoc-ref inputs "tzdata")
+                                    "/share/zoneinfo"))
+             ;; Some tests want write access there.
+             (setenv "HOME" (getcwd))
+             (setenv "XDG_CACHE_HOME" (getcwd))
+             #t))
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (let ((disable
+                    (lambda (test-file test-paths)
+                      (define pattern+procs
+                        (map (lambda (test-path)
+                               (cons
+                                ;; XXX: only works for single line statements.
+                                (format #f "g_test_add_func.*\"~a\".*" test-path)
+                                (const "")))
+                             test-paths))
+                      (substitute test-file pattern+procs)))
+                   (failing-tests
+                    '(("glib/tests/thread.c"
+                       ( ;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
+                        ;; as found on hydra.gnu.org, and strace(1) doesn't
+                        ;; recognize it.
+                        "/thread/thread4"))
+                      ;; This tries to find programs in FHS directories.
+                      ("glib/tests/utils.c"
+                       ("/utils/find-program"))
+                      ;; This fails because "glib/tests/echo-script" cannot be
+                      ;; found.
+                      ("glib/tests/spawn-singlethread.c"
+                       ("/gthread/spawn-script"))
+                      ("glib/tests/timer.c"
+                       ( ;; fails if compiler optimizations are enabled, which they
+                        ;; are by default.
+                        "/timer/stop"))
+                      ("gio/tests/gapplication.c"
+                       ( ;; XXX: proven to be unreliable.  See:
+                        ;;  <https://bugs.debian.org/756273>
+                        ;;  <http://bugs.gnu.org/18445>
+                        "/gapplication/quit"
+                        ;; XXX: fails randomly for unknown reason. See:
+                        ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
+                        "/gapplication/local-actions"))
+                      ("gio/tests/contenttype.c"
+                       ( ;; XXX: requires shared-mime-info.
+                        "/contenttype/guess"
+                        "/contenttype/guess_svg_from_data"
+                        "/contenttype/subtype"
+                        "/contenttype/list"
+                        "/contenttype/icon"
+                        "/contenttype/symbolic-icon"
+                        "/contenttype/tree"))
+                      ("gio/tests/appinfo.c"
+                       ( ;; XXX: requires update-desktop-database.
+                        "/appinfo/associations"))
+                      ("gio/tests/desktop-app-info.c"
+                       ( ;; XXX: requires update-desktop-database.
+                        "/desktop-app-info/delete"
+                        "/desktop-app-info/default"
+                        "/desktop-app-info/fallback"
+                        "/desktop-app-info/lastused"
+                        "/desktop-app-info/search"))
+                      ("gio/tests/gdbus-peer.c"
+                       ( ;; Requires /etc/machine-id.
+                        "/gdbus/codegen-peer-to-peer"))
+                      ("gio/tests/gdbus-address-get-session.c"
+                       ( ;; Requires /etc/machine-id.
+                        "/gdbus/x11-autolaunch"))
+                      ("gio/tests/gsocketclient-slow.c"
+                       ( ;; These tests tries to resolve "localhost", and fails.
+                        "/socket-client/happy-eyeballs/slow"
+                        "/socket-client/happy-eyeballs/cancellation/delayed"))
+                      )))
+               (for-each (lambda (x) (apply disable x)) failing-tests)
+               #t)))
+         (replace 'check
+           (lambda _
+             (setenv "MESON_TESTTHREADS"
+                     (number->string (parallel-job-count)))
+             ;; Do not run tests marked as "flaky".
+             (invoke "meson" "test" "--no-suite" "flaky")))
+         ;; TODO: meson does not permit the bindir to be outside of prefix.
+         ;; See https://github.com/mesonbuild/meson/issues/2561
+         ;; We can remove this once meson is patched.
+         (add-after 'install 'move-executables
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (bin (assoc-ref outputs "bin")))
+               (mkdir-p bin)
+               (rename-file (string-append out "/bin")
+                            (string-append bin "/bin"))
+               ;; This one is an implementation detail of glib.
+               ;; It is wrong that that's in "/bin" in the first place,
+               ;; but that's what upstream is doing right now.
+               ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
+               (mkdir (string-append out "/libexec"))
+               (rename-file (string-append bin "/bin/gio-launch-desktop")
+                            (string-append out "/libexec/gio-launch-desktop"))
+               ;; 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=\\$\\{prefix\\}/bin") "")
+                 (("=\\$\\{bindir\\}/") "="))
+               #t))))))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("m4" ,m4)
+       ("dbus" ,dbus)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("perl" ,perl)
+       ("tzdata" ,tzdata-for-tests)))
+    (propagated-inputs
+     `(("pcre" ,pcre)
+       ("libffi" ,libffi)
+       ("util-linux" ,util-linux "lib")
+       ("libselinux" ,libselinux)
+       ("zlib" ,zlib)))
+    (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
+     ;; path for .gir files, and it's also a search path for schemas produced
+     ;; by 'glib-compile-schemas'.
+     (list (search-path-specification
+            (variable "XDG_DATA_DIRS")
+            (files '("share")))
+           ;; To load extra gio modules from glib-networking, etc.
+           (search-path-specification
+            (variable "GIO_EXTRA_MODULES")
+            (files '("lib/gio/modules")))))
+    (search-paths native-search-paths)
+    (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
+    (description
+     "GLib provides data structure handling for C, portability wrappers,
 and interfaces for such runtime functionality as an event loop, threads,
 dynamic loading, and an object system.")
-   (home-page "https://developer.gnome.org/glib/")
-   (license license:lgpl2.1+)))
+    (home-page "https://developer.gnome.org/glib/")
+    (license license:lgpl2.1+)))
 
 (define-public glib-with-documentation
   ;; glib's doc must be built in a separate package since it requires gtk-doc,
-- 
2.28.0


[-- Attachment #3: 0010-gnu-glib-Update-to-2.64.3.patch --]
[-- Type: text/x-patch, Size: 16842 bytes --]

From 67bad944e2b775ebe2bd0101220b78b2a07c8bdf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 04:44:59 -0400
Subject: [PATCH 10/11] gnu: glib: Update to 2.64.3.

* gnu/packages/glib.scm (glib) [version]: Update to 2.64.3.
[source]<origin>[sha256]: Modify base32.
[patches]: Add glib-disable-failing-tests.patch.
Remove glib-tests-timer.patch.
[arguments]<#:disallowed-references>: Remove argument.
<#:phases>['patch-python-references]: New phase.
['pre-check]: New phase.
['move-bin]: New phase.
['patch-dbus-launch-path]: Remove phase.
['patch-gio-launch-desktop]: Remove phase.
['pre-build]: Remove phase.
['disable-failing-tests]: Remove phase.
['check]: Remove phase.
['move-executables]: Remove phase.
[native-inputs]: Add intltool, python, libxml2 and libxslt.
Remove dbus.
[inputs]: Add dbus and libelf.
* gnu/packages/patches/glib-disable-failing-tests.patch: New file.
* gnu/packages/patches/glib-tests-timer.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust.
---
 gnu/local.mk                                  |   2 +-
 gnu/packages/glib.scm                         | 179 +++++-------------
 .../patches/glib-disable-failing-tests.patch  |  84 ++++++++
 gnu/packages/patches/glib-tests-timer.patch   |  15 --
 4 files changed, 136 insertions(+), 144 deletions(-)
 create mode 100644 gnu/packages/patches/glib-disable-failing-tests.patch
 delete mode 100644 gnu/packages/patches/glib-tests-timer.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index f3b5b17e84..2fc47ca2ec 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1034,7 +1034,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/ghostscript-no-header-id.patch		\
   %D%/packages/patches/ghostscript-no-header-uuid.patch		\
   %D%/packages/patches/ghostscript-no-header-creationdate.patch \
-  %D%/packages/patches/glib-tests-timer.patch			\
+  %D%/packages/patches/glib-disable-failing-tests.patch		\
   %D%/packages/patches/glibc-CVE-2018-11236.patch		\
   %D%/packages/patches/glibc-CVE-2018-11237.patch		\
   %D%/packages/patches/glibc-CVE-2019-7309.patch		\
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 21b39b94e8..be5d45596d 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -178,7 +178,7 @@ shared NFS home directories.")
   (package
     (properties '((hidden? . #t)))
     (name "glib")
-    (version "2.62.6")
+    (version "2.64.3")
     (source
      (origin
        (method url-fetch)
@@ -187,8 +187,9 @@ shared NFS home directories.")
                        name "/" (string-take version 4) "/"
                        name "-" version ".tar.xz"))
        (sha256
-        (base32 "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
-       (patches (search-patches "glib-tests-timer.patch"))
+        (base32 "08pbgiv5m3rica4ydvwvpq5mrxbyswx7l1jzjc2ch52xjabvr77y"))
+       (patches
+        (search-patches "glib-disable-failing-tests.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -198,27 +199,23 @@ shared NFS home directories.")
     (build-system meson-build-system)
     (outputs '("out" "bin"))
     (arguments
-     `(#:disallowed-references (,tzdata-for-tests)
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'patch-dbus-launch-path
+         ;; Python references are not being patched in patch-phase of build,
+         ;; despite using python-wrapper as input. So we patch them manually.
+         (add-after 'unpack 'patch-python-references
            (lambda* (#:key inputs #:allow-other-keys)
-             (let ((dbus (assoc-ref inputs "dbus")))
-               (substitute* "gio/gdbusaddress.c"
-                 (("command_line = g_strdup_printf \\(\"dbus-launch")
-                  (string-append "command_line = g_strdup_printf (\""
-                                 dbus "/bin/dbus-launch")))
-               #t)))
-         (add-after 'unpack 'patch-gio-launch-desktop
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
-               ;; for another future fix.
-               (substitute* "gio/gdesktopappinfo.c"
-                 (("gio-launch-desktop")
-                  (string-append out "/libexec/gio-launch-desktop")))
-               #t)))
-         (add-before 'build 'pre-build
+             (substitute* '("gio/gdbus-2.0/codegen/gdbus-codegen.in"
+                            "glib/gtester-report.in"
+                            "gobject/glib-genmarshal.in"
+                            "gobject/glib-mkenums.in")
+               (("@PYTHON@")
+                (string-append (assoc-ref inputs "python")
+                               "/bin/python"
+                               ,(version-major+minor
+                                 (package-version python)))))
+             #t))
+         (add-before 'check 'pre-check
            (lambda* (#:key inputs outputs #:allow-other-keys)
              ;; For tests/gdatetime.c.
              (setenv "TZDIR"
@@ -228,133 +225,59 @@ shared NFS home directories.")
              (setenv "HOME" (getcwd))
              (setenv "XDG_CACHE_HOME" (getcwd))
              #t))
-         (add-after 'unpack 'disable-failing-tests
-           (lambda _
-             (let ((disable
-                    (lambda (test-file test-paths)
-                      (define pattern+procs
-                        (map (lambda (test-path)
-                               (cons
-                                ;; XXX: only works for single line statements.
-                                (format #f "g_test_add_func.*\"~a\".*" test-path)
-                                (const "")))
-                             test-paths))
-                      (substitute test-file pattern+procs)))
-                   (failing-tests
-                    '(("glib/tests/thread.c"
-                       ( ;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
-                        ;; as found on hydra.gnu.org, and strace(1) doesn't
-                        ;; recognize it.
-                        "/thread/thread4"))
-                      ;; This tries to find programs in FHS directories.
-                      ("glib/tests/utils.c"
-                       ("/utils/find-program"))
-                      ;; This fails because "glib/tests/echo-script" cannot be
-                      ;; found.
-                      ("glib/tests/spawn-singlethread.c"
-                       ("/gthread/spawn-script"))
-                      ("glib/tests/timer.c"
-                       ( ;; fails if compiler optimizations are enabled, which they
-                        ;; are by default.
-                        "/timer/stop"))
-                      ("gio/tests/gapplication.c"
-                       ( ;; XXX: proven to be unreliable.  See:
-                        ;;  <https://bugs.debian.org/756273>
-                        ;;  <http://bugs.gnu.org/18445>
-                        "/gapplication/quit"
-                        ;; XXX: fails randomly for unknown reason. See:
-                        ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
-                        "/gapplication/local-actions"))
-                      ("gio/tests/contenttype.c"
-                       ( ;; XXX: requires shared-mime-info.
-                        "/contenttype/guess"
-                        "/contenttype/guess_svg_from_data"
-                        "/contenttype/subtype"
-                        "/contenttype/list"
-                        "/contenttype/icon"
-                        "/contenttype/symbolic-icon"
-                        "/contenttype/tree"))
-                      ("gio/tests/appinfo.c"
-                       ( ;; XXX: requires update-desktop-database.
-                        "/appinfo/associations"))
-                      ("gio/tests/desktop-app-info.c"
-                       ( ;; XXX: requires update-desktop-database.
-                        "/desktop-app-info/delete"
-                        "/desktop-app-info/default"
-                        "/desktop-app-info/fallback"
-                        "/desktop-app-info/lastused"
-                        "/desktop-app-info/search"))
-                      ("gio/tests/gdbus-peer.c"
-                       ( ;; Requires /etc/machine-id.
-                        "/gdbus/codegen-peer-to-peer"))
-                      ("gio/tests/gdbus-address-get-session.c"
-                       ( ;; Requires /etc/machine-id.
-                        "/gdbus/x11-autolaunch"))
-                      ("gio/tests/gsocketclient-slow.c"
-                       ( ;; These tests tries to resolve "localhost", and fails.
-                        "/socket-client/happy-eyeballs/slow"
-                        "/socket-client/happy-eyeballs/cancellation/delayed"))
-                      )))
-               (for-each (lambda (x) (apply disable x)) failing-tests)
-               #t)))
-         (replace 'check
-           (lambda _
-             (setenv "MESON_TESTTHREADS"
-                     (number->string (parallel-job-count)))
-             ;; Do not run tests marked as "flaky".
-             (invoke "meson" "test" "--no-suite" "flaky")))
-         ;; TODO: meson does not permit the bindir to be outside of prefix.
-         ;; See https://github.com/mesonbuild/meson/issues/2561
-         ;; We can remove this once meson is patched.
-         (add-after 'install 'move-executables
+         ;; Meson does not permit the bindir to be outside of prefix.
+         (add-after 'install 'move-bin
            (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (bin (assoc-ref outputs "bin")))
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (assoc-ref outputs "bin")))
                (mkdir-p bin)
-               (rename-file (string-append out "/bin")
-                            (string-append bin "/bin"))
-               ;; This one is an implementation detail of glib.
-               ;; It is wrong that that's in "/bin" in the first place,
-               ;; but that's what upstream is doing right now.
-               ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
-               (mkdir (string-append out "/libexec"))
-               (rename-file (string-append bin "/bin/gio-launch-desktop")
-                            (string-append out "/libexec/gio-launch-desktop"))
+               (rename-file
+                (string-append out "/bin")
+                (string-append bin "/bin"))
                ;; 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"))
+               (substitute*
+                   (list
+                    (string-append out "/lib/pkgconfig/gio-2.0.pc")
+                    (string-append out "/lib/pkgconfig/glib-2.0.pc"))
                  (("bindir=\\$\\{prefix\\}/bin") "")
                  (("=\\$\\{bindir\\}/") "="))
                #t))))))
     (native-inputs
      `(("gettext" ,gettext-minimal)
+       ("libintl" ,intltool)
        ("m4" ,m4)
-       ("dbus" ,dbus)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
        ("perl" ,perl)
-       ("tzdata" ,tzdata-for-tests)))
+       ("pkg-config" ,pkg-config)
+       ("python-wrapper" ,python-wrapper)
+       ("python" ,python)               ; For 'patch-python-references
+       ("tzdata" ,tzdata-for-tests)
+       ("xmllint" ,libxml2)
+       ("xsltproc" ,libxslt)))
+    (inputs
+     `(("dbus" ,dbus)
+       ("libelf" ,libelf)))
     (propagated-inputs
-     `(("pcre" ,pcre)
-       ("libffi" ,libffi)
-       ("util-linux" ,util-linux "lib")
+     `(("libffi" ,libffi)
        ("libselinux" ,libselinux)
+       ("pcre" ,pcre)
+       ("util-linux" ,util-linux "lib")
        ("zlib" ,zlib)))
     (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
      ;; path for .gir files, and it's also a search path for schemas produced
      ;; by 'glib-compile-schemas'.
-     (list (search-path-specification
-            (variable "XDG_DATA_DIRS")
-            (files '("share")))
-           ;; To load extra gio modules from glib-networking, etc.
-           (search-path-specification
-            (variable "GIO_EXTRA_MODULES")
-            (files '("lib/gio/modules")))))
+     (list
+      (search-path-specification
+       (variable "XDG_DATA_DIRS")
+       (files '("share")))
+      ;; To load extra gio modules from glib-networking, etc.
+      (search-path-specification
+       (variable "GIO_EXTRA_MODULES")
+       (files '("lib/gio/modules")))))
     (search-paths native-search-paths)
     (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
     (description
diff --git a/gnu/packages/patches/glib-disable-failing-tests.patch b/gnu/packages/patches/glib-disable-failing-tests.patch
new file mode 100644
index 0000000000..3601c42030
--- /dev/null
+++ b/gnu/packages/patches/glib-disable-failing-tests.patch
@@ -0,0 +1,84 @@
+From a2e6783f2278ed32b1e552691ec5d67d6940757e Mon Sep 17 00:00:00 2001
+From: Raghav Gururajan <raghavgururajan@disroot.org>
+Date: Tue, 9 Jun 2020 05:17:53 -0400
+Subject: [PATCH] PATCH: Disable failing tests.
+
+---
+ gio/tests/meson.build  | 19 -------------------
+ glib/tests/meson.build |  2 --
+ 2 files changed, 21 deletions(-)
+
+diff --git a/gio/tests/meson.build b/gio/tests/meson.build
+index c7c3e3035..6e38eb39e 100644
+--- a/gio/tests/meson.build
++++ b/gio/tests/meson.build
+@@ -34,7 +34,6 @@ gio_tests = {
+   'buffered-output-stream' : {},
+   'cancellable' : {},
+   'contexts' : {},
+-  'contenttype' : {},
+   'converter-stream' : {},
+   'credentials' : {},
+   'data-input-stream' : {},
+@@ -78,7 +77,6 @@ gio_tests = {
+   'tls-certificate' : {'extra_sources' : ['gtesttlsbackend.c']},
+   'tls-interaction' : {'extra_sources' : ['gtesttlsbackend.c']},
+   'tls-database' : {'extra_sources' : ['gtesttlsbackend.c']},
+-  'gdbus-address-get-session' : {},
+   'win32-appinfo' : {},
+ }
+ 
+@@ -135,10 +133,6 @@ endif
+ if host_machine.system() != 'windows'
+   gio_tests += {
+     'file' : {},
+-    'gdbus-peer' : {
+-      'dependencies' : [libgdbus_example_objectmanager_dep],
+-      'install_rpath' : installed_tests_execdir
+-    },
+     'gdbus-peer-object-manager' : {},
+     'live-g-file' : {},
+     'socket-address' : {},
+@@ -173,19 +167,6 @@ if host_machine.system() != 'windows'
+     }
+   endif
+ 
+-  # Uninstalled because of the check-for-executable logic in DesktopAppInfo
+-  # unable to find the installed executable
+-  if not glib_have_cocoa
+-    gio_tests += {
+-      'appinfo' : {
+-        'install' : false,
+-      },
+-      'desktop-app-info' : {
+-        'install' : false,
+-      },
+-    }
+-  endif
+-
+   test_extra_programs += {
+     'basic-application' : {},
+     'dbus-launch' : {},
+diff --git a/glib/tests/meson.build b/glib/tests/meson.build
+index 8da477d19..9fa24dd49 100644
+--- a/glib/tests/meson.build
++++ b/glib/tests/meson.build
+@@ -103,7 +103,6 @@ glib_tests = {
+   'utf8-pointer' : {},
+   'utf8-validate' : {},
+   'utf8-misc' : {},
+-  'utils' : {},
+   'unicode' : {},
+   'uri' : {},
+   '1bit-mutex' : {},
+@@ -151,7 +150,6 @@ if host_machine.system() == 'windows'
+ else
+   glib_tests += {
+     'include' : {},
+-    'unix' : {},
+   }
+   if have_rtld_next
+     glib_tests += {
+-- 
+2.26.2
+
diff --git a/gnu/packages/patches/glib-tests-timer.patch b/gnu/packages/patches/glib-tests-timer.patch
deleted file mode 100644
index e37425c0c8..0000000000
--- a/gnu/packages/patches/glib-tests-timer.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-* On i686 floating-point roundoff errors could sometimes cause this check to
-  fail depending on the elapsed microseconds.  Improve rounding by adding a
-  fractional bit.
-
---- glib-2.40.0/glib/tests/timer.c	2014-03-05 08:05:42.000000000 -0600
-+++ glib-2.40.0/glib/tests/timer.c	2014-07-10 16:33:12.746862822 -0500
-@@ -35,7 +35,7 @@
-   elapsed = g_timer_elapsed (timer, &micros);
- 
-   g_assert_cmpfloat (elapsed, <, 1.0);
--  g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6)) % 1000000);
-+  g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6 + 0.5)) % 1000000);
- 
-   g_timer_destroy (timer);
- }
-- 
2.28.0


[-- Attachment #4: 0011-gnu-glib-Update-synopsis-and-description.patch --]
[-- Type: text/x-patch, Size: 1467 bytes --]

From 2976c0ac467b692da996332f719df3abf90c2a9e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 08:16:48 -0400
Subject: [PATCH 11/11] gnu: glib: Update synopsis and description.

* gnu/packages/glib.scm (glib) [synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/glib.scm | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index be5d45596d..2cda6cd000 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -279,12 +279,11 @@ shared NFS home directories.")
        (variable "GIO_EXTRA_MODULES")
        (files '("lib/gio/modules")))))
     (search-paths native-search-paths)
-    (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
-    (description
-     "GLib provides data structure handling for C, portability wrappers,
-and interfaces for such runtime functionality as an event loop, threads,
-dynamic loading, and an object system.")
-    (home-page "https://developer.gnome.org/glib/")
+    (synopsis "Low-level core library for GNOME projects")
+    (description "GLib provides data structure handling for C, portability
+wrappers, and interfaces for such runtime functionality as an event loop,
+threads, dynamic loading, and an object system.")
+    (home-page "https://wiki.gnome.org/Projects/GLib")
     (license license:lgpl2.1+)))
 
 (define-public glib-with-documentation
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 04/29] gnu: glib-with-documentation: Update, package definition.
  2020-08-20 15:09 [bug#42958] [PATCH core-updates 00/29] Big changes from wip-desktop Danny Milosavljevic
                   ` (3 preceding siblings ...)
  2020-09-24 12:28 ` [bug#42958] [PATCH core-updates 03/29] gnu: glib: " Raghav Gururajan
@ 2020-09-24 12:41 ` Raghav Gururajan
  2020-09-24 12:50   ` Efraim Flashner
  2020-09-24 13:14 ` [bug#42958] [PATCH core-updates 05/29] gnu: gobject-introspection: Update package, definition Raghav Gururajan
                   ` (8 subsequent siblings)
  13 siblings, 1 reply; 68+ messages in thread
From: Raghav Gururajan @ 2020-09-24 12:41 UTC (permalink / raw)
  To: 42958

[-- Attachment #1: Type: text/plain, Size: 62 bytes --]

@Danny

Please find the attached split patches.

Regards,
RG.

[-- Attachment #2: 0012-gnu-glib-with-documentation-Make-some-cosmetic-chang.patch --]
[-- Type: text/x-patch, Size: 1710 bytes --]

From 0ce2e68413bf0e43081552f52692eb0fc4facf24 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 08:35:29 -0400
Subject: [PATCH 12/13] gnu: glib-with-documentation: Make some cosmetic
 changes.

* gnu/packages/glib.scm (glib-with-documentation): Make some cosmetic changes.
---
 gnu/packages/glib.scm | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 2cda6cd000..9aebfb7e63 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -292,12 +292,7 @@ threads, dynamic loading, and an object system.")
   (package
     (inherit glib)
     (properties (alist-delete 'hidden? (package-properties glib)))
-    (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
-    (native-inputs
-     `(("gtk-doc" ,gtk-doc)             ; for the doc
-       ("docbook-xml" ,docbook-xml)
-       ("libxml2" ,libxml2)
-       ,@(package-native-inputs glib)))
+    (outputs (cons "doc" (package-outputs glib)))
     (arguments
      (substitute-keyword-arguments (package-arguments glib)
        ((#:configure-flags flags ''())
@@ -312,7 +307,12 @@ threads, dynamic loading, and an object system.")
                  (copy-recursively (string-append out html)
                                    (string-append doc html))
                  (delete-file-recursively (string-append out html))
-                 #t)))))))))
+                 #t)))))))
+    (native-inputs
+     `(("docbook-xml" ,docbook-xml)
+       ("gtk-doc" ,gtk-doc)
+       ("libxml2" ,libxml2)
+       ,@(package-native-inputs glib)))))
 
 (define gobject-introspection
   (package
-- 
2.28.0


[-- Attachment #3: 0013-gnu-glib-with-documentation-Fix-documentation.patch --]
[-- Type: text/x-patch, Size: 2506 bytes --]

From 160c6a756386e0464938e6784f579c156d6e2c2e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 08:39:00 -0400
Subject: [PATCH 13/13] gnu: glib-with-documentation: Fix documentation.

* gnu/packages/glib.scm (glib-with-documentation) [arguments]<#:phases>['patch-docbook-xml]: New phase.
['move-doc]: Modify phase.
---
 gnu/packages/glib.scm | 26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 9aebfb7e63..b15c75a740 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -299,14 +299,28 @@ threads, dynamic loading, and an object system.")
         `(cons "-Dgtk_doc=true" ,flags))
        ((#:phases phases)
         `(modify-phases ,phases
+           (add-after 'unpack 'patch-docbook-xml
+             (lambda* (#:key inputs #:allow-other-keys)
+               (with-directory-excursion "docs/reference"
+                 (substitute* '("gio/gdbus-object-manager-example/.*\\.xml"
+                                "gio/.*\\.xml" "glib/.*\\.xml" "gobject/.*\\.xml")
+                   (("http://www.oasis-open.org/docbook/xml/4.5/")
+                    (string-append (assoc-ref inputs "docbook-xml-4.5")
+                                   "/xml/dtd/docbook/")))
+                 (substitute* "gio/gio.xml"
+                   (("http://www.oasis-open.org/docbook/xml/4.2/")
+                    (string-append (assoc-ref inputs "docbook-xml-4.2")
+                                   "/xml/dtd/docbook/"))))
+               #t))
            (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")))
-                 (copy-recursively (string-append out html)
-                                   (string-append doc html))
-                 (delete-file-recursively (string-append out html))
+               (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))
                  #t)))))))
     (native-inputs
      `(("docbook-xml" ,docbook-xml)
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 04/29] gnu: glib-with-documentation: Update, package definition.
  2020-09-24 12:41 ` [bug#42958] [PATCH core-updates 04/29] gnu: glib-with-documentation: Update, " Raghav Gururajan
@ 2020-09-24 12:50   ` Efraim Flashner
  0 siblings, 0 replies; 68+ messages in thread
From: Efraim Flashner @ 2020-09-24 12:50 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 42958

[-- Attachment #1: Type: text/plain, Size: 5340 bytes --]

On Thu, Sep 24, 2020 at 08:41:50AM -0400, Raghav Gururajan wrote:
> @Danny
> 
> Please find the attached split patches.
> 
> Regards,
> RG.

> From 0ce2e68413bf0e43081552f52692eb0fc4facf24 Mon Sep 17 00:00:00 2001
> From: Raghav Gururajan <raghavgururajan@disroot.org>
> Date: Thu, 24 Sep 2020 08:35:29 -0400
> Subject: [PATCH 12/13] gnu: glib-with-documentation: Make some cosmetic
>  changes.
> 
> * gnu/packages/glib.scm (glib-with-documentation): Make some cosmetic changes.
> ---
>  gnu/packages/glib.scm | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
> index 2cda6cd000..9aebfb7e63 100644
> --- a/gnu/packages/glib.scm
> +++ b/gnu/packages/glib.scm
> @@ -292,12 +292,7 @@ threads, dynamic loading, and an object system.")
>    (package
>      (inherit glib)
>      (properties (alist-delete 'hidden? (package-properties glib)))
> -    (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
> -    (native-inputs
> -     `(("gtk-doc" ,gtk-doc)             ; for the doc
> -       ("docbook-xml" ,docbook-xml)
> -       ("libxml2" ,libxml2)
> -       ,@(package-native-inputs glib)))
> +    (outputs (cons "doc" (package-outputs glib)))
>      (arguments
>       (substitute-keyword-arguments (package-arguments glib)
>         ((#:configure-flags flags ''())
> @@ -312,7 +307,12 @@ threads, dynamic loading, and an object system.")
>                   (copy-recursively (string-append out html)
>                                     (string-append doc html))
>                   (delete-file-recursively (string-append out html))
> -                 #t)))))))))
> +                 #t)))))))
> +    (native-inputs
> +     `(("docbook-xml" ,docbook-xml)
> +       ("gtk-doc" ,gtk-doc)
> +       ("libxml2" ,libxml2)
> +       ,@(package-native-inputs glib)))))
>  
>  (define gobject-introspection
>    (package
> -- 
> 2.28.0
> 

> From 160c6a756386e0464938e6784f579c156d6e2c2e Mon Sep 17 00:00:00 2001
> From: Raghav Gururajan <raghavgururajan@disroot.org>
> Date: Thu, 24 Sep 2020 08:39:00 -0400
> Subject: [PATCH 13/13] gnu: glib-with-documentation: Fix documentation.
> 
> * gnu/packages/glib.scm (glib-with-documentation) [arguments]<#:phases>['patch-docbook-xml]: New phase.
> ['move-doc]: Modify phase.
> ---
>  gnu/packages/glib.scm | 26 ++++++++++++++++++++------
>  1 file changed, 20 insertions(+), 6 deletions(-)
> 
> diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
> index 9aebfb7e63..b15c75a740 100644
> --- a/gnu/packages/glib.scm
> +++ b/gnu/packages/glib.scm
> @@ -299,14 +299,28 @@ threads, dynamic loading, and an object system.")
>          `(cons "-Dgtk_doc=true" ,flags))
>         ((#:phases phases)
>          `(modify-phases ,phases
> +           (add-after 'unpack 'patch-docbook-xml
> +             (lambda* (#:key inputs #:allow-other-keys)
> +               (with-directory-excursion "docs/reference"
> +                 (substitute* '("gio/gdbus-object-manager-example/.*\\.xml"
> +                                "gio/.*\\.xml" "glib/.*\\.xml" "gobject/.*\\.xml")

Does that regex actually work? Yes or no, the following is much cleaner:
                    (substitute* (find-files "." "\\.xml$")
If it does have to be those directories specifically then I'd go with:
(append (find-files "gio/gdbus-object-manager-example" "\\.xml")
        (find-files "(gio|glib|gobject)" "\\.xml$"))

> +                   (("http://www.oasis-open.org/docbook/xml/4.5/")
> +                    (string-append (assoc-ref inputs "docbook-xml-4.5")
> +                                   "/xml/dtd/docbook/")))
> +                 (substitute* "gio/gio.xml"
> +                   (("http://www.oasis-open.org/docbook/xml/4.2/")
> +                    (string-append (assoc-ref inputs "docbook-xml-4.2")
> +                                   "/xml/dtd/docbook/"))))
> +               #t))
>             (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")))
> -                 (copy-recursively (string-append out html)
> -                                   (string-append doc html))
> -                 (delete-file-recursively (string-append out html))
> +               (let* ((out (assoc-ref outputs "out"))
> +                      (doc (assoc-ref outputs "doc"))
> +                      (html (string-append "/share/gtk-doc")))

This doesn't need to be let*, let should do it. Also, html doesn't need
string-append, it's not being joined to anything :)

> +                 (mkdir-p (string-append doc "/share"))
> +                 (rename-file
> +                  (string-append out html)
> +                  (string-append doc html))
>                   #t)))))))
>      (native-inputs
>       `(("docbook-xml" ,docbook-xml)
> -- 
> 2.28.0
> 


-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 03/29] gnu: glib: Update package definition.
  2020-09-24 12:28 ` [bug#42958] [PATCH core-updates 03/29] gnu: glib: " Raghav Gururajan
@ 2020-09-24 12:55   ` Efraim Flashner
  2020-11-29 12:21     ` Danny Milosavljevic
  2020-12-04  6:08     ` [bug#42958] Raghav Gururajan via Guix-patches via
  2020-09-27 10:12   ` [bug#42958] [PATCH core-updates 03/29] gnu: glib: Update package definition Danny Milosavljevic
  1 sibling, 2 replies; 68+ messages in thread
From: Efraim Flashner @ 2020-09-24 12:55 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 42958

[-- Attachment #1: Type: text/plain, Size: 18516 bytes --]

On Thu, Sep 24, 2020 at 08:28:45AM -0400, Raghav Gururajan wrote:
> From 67bad944e2b775ebe2bd0101220b78b2a07c8bdf Mon Sep 17 00:00:00 2001
> From: Raghav Gururajan <raghavgururajan@disroot.org>
> Date: Thu, 24 Sep 2020 04:44:59 -0400
> Subject: [PATCH 10/11] gnu: glib: Update to 2.64.3.
> 
> * gnu/packages/glib.scm (glib) [version]: Update to 2.64.3.
> [source]<origin>[sha256]: Modify base32.
> [patches]: Add glib-disable-failing-tests.patch.
> Remove glib-tests-timer.patch.
> [arguments]<#:disallowed-references>: Remove argument.
> <#:phases>['patch-python-references]: New phase.
> ['pre-check]: New phase.
> ['move-bin]: New phase.
> ['patch-dbus-launch-path]: Remove phase.
> ['patch-gio-launch-desktop]: Remove phase.
> ['pre-build]: Remove phase.
> ['disable-failing-tests]: Remove phase.
> ['check]: Remove phase.
> ['move-executables]: Remove phase.
> [native-inputs]: Add intltool, python, libxml2 and libxslt.
> Remove dbus.
> [inputs]: Add dbus and libelf.
> * gnu/packages/patches/glib-disable-failing-tests.patch: New file.
> * gnu/packages/patches/glib-tests-timer.patch: Delete file.
> * gnu/local.mk (dist_patch_DATA): Adjust.
> ---
>  gnu/local.mk                                  |   2 +-
>  gnu/packages/glib.scm                         | 179 +++++-------------
>  .../patches/glib-disable-failing-tests.patch  |  84 ++++++++
>  gnu/packages/patches/glib-tests-timer.patch   |  15 --
>  4 files changed, 136 insertions(+), 144 deletions(-)
>  create mode 100644 gnu/packages/patches/glib-disable-failing-tests.patch
>  delete mode 100644 gnu/packages/patches/glib-tests-timer.patch
> 
> diff --git a/gnu/local.mk b/gnu/local.mk
> index f3b5b17e84..2fc47ca2ec 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -1034,7 +1034,7 @@ dist_patch_DATA =						\
>    %D%/packages/patches/ghostscript-no-header-id.patch		\
>    %D%/packages/patches/ghostscript-no-header-uuid.patch		\
>    %D%/packages/patches/ghostscript-no-header-creationdate.patch \
> -  %D%/packages/patches/glib-tests-timer.patch			\
> +  %D%/packages/patches/glib-disable-failing-tests.patch		\
>    %D%/packages/patches/glibc-CVE-2018-11236.patch		\
>    %D%/packages/patches/glibc-CVE-2018-11237.patch		\
>    %D%/packages/patches/glibc-CVE-2019-7309.patch		\
> diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
> index 21b39b94e8..be5d45596d 100644
> --- a/gnu/packages/glib.scm
> +++ b/gnu/packages/glib.scm
> @@ -178,7 +178,7 @@ shared NFS home directories.")
>    (package
>      (properties '((hidden? . #t)))
>      (name "glib")
> -    (version "2.62.6")
> +    (version "2.64.3")
>      (source
>       (origin
>         (method url-fetch)
> @@ -187,8 +187,9 @@ shared NFS home directories.")
>                         name "/" (string-take version 4) "/"
>                         name "-" version ".tar.xz"))
>         (sha256
> -        (base32 "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
> -       (patches (search-patches "glib-tests-timer.patch"))
> +        (base32 "08pbgiv5m3rica4ydvwvpq5mrxbyswx7l1jzjc2ch52xjabvr77y"))
> +       (patches
> +        (search-patches "glib-disable-failing-tests.patch"))
>         (modules '((guix build utils)))
>         (snippet
>          '(begin
> @@ -198,27 +199,23 @@ shared NFS home directories.")
>      (build-system meson-build-system)
>      (outputs '("out" "bin"))
>      (arguments
> -     `(#:disallowed-references (,tzdata-for-tests)
> -       #:phases
> +     `(#:phases
>         (modify-phases %standard-phases
> -         (add-after 'unpack 'patch-dbus-launch-path
> +         ;; Python references are not being patched in patch-phase of build,
> +         ;; despite using python-wrapper as input. So we patch them manually.
> +         (add-after 'unpack 'patch-python-references
>             (lambda* (#:key inputs #:allow-other-keys)
> -             (let ((dbus (assoc-ref inputs "dbus")))
> -               (substitute* "gio/gdbusaddress.c"
> -                 (("command_line = g_strdup_printf \\(\"dbus-launch")
> -                  (string-append "command_line = g_strdup_printf (\""
> -                                 dbus "/bin/dbus-launch")))
> -               #t)))
> -         (add-after 'unpack 'patch-gio-launch-desktop
> -           (lambda* (#:key outputs #:allow-other-keys)
> -             (let ((out (assoc-ref outputs "out")))
> -               ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
> -               ;; for another future fix.
> -               (substitute* "gio/gdesktopappinfo.c"
> -                 (("gio-launch-desktop")
> -                  (string-append out "/libexec/gio-launch-desktop")))
> -               #t)))
> -         (add-before 'build 'pre-build
> +             (substitute* '("gio/gdbus-2.0/codegen/gdbus-codegen.in"
> +                            "glib/gtester-report.in"
> +                            "gobject/glib-genmarshal.in"
> +                            "gobject/glib-mkenums.in")
> +               (("@PYTHON@")
> +                (string-append (assoc-ref inputs "python")
> +                               "/bin/python"
> +                               ,(version-major+minor
> +                                 (package-version python)))))

If you substitute it with (which "python") then you don't need to work
out the python version, and it looks like you don't need to add python
as an input (and you can keep using just python-wrapper).

> +             #t))
> +         (add-before 'check 'pre-check
>             (lambda* (#:key inputs outputs #:allow-other-keys)
>               ;; For tests/gdatetime.c.
>               (setenv "TZDIR"
> @@ -228,133 +225,59 @@ shared NFS home directories.")
>               (setenv "HOME" (getcwd))
>               (setenv "XDG_CACHE_HOME" (getcwd))
>               #t))
> -         (add-after 'unpack 'disable-failing-tests
> -           (lambda _
> -             (let ((disable
> -                    (lambda (test-file test-paths)
> -                      (define pattern+procs
> -                        (map (lambda (test-path)
> -                               (cons
> -                                ;; XXX: only works for single line statements.
> -                                (format #f "g_test_add_func.*\"~a\".*" test-path)
> -                                (const "")))
> -                             test-paths))
> -                      (substitute test-file pattern+procs)))
> -                   (failing-tests
> -                    '(("glib/tests/thread.c"
> -                       ( ;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
> -                        ;; as found on hydra.gnu.org, and strace(1) doesn't
> -                        ;; recognize it.
> -                        "/thread/thread4"))
> -                      ;; This tries to find programs in FHS directories.
> -                      ("glib/tests/utils.c"
> -                       ("/utils/find-program"))
> -                      ;; This fails because "glib/tests/echo-script" cannot be
> -                      ;; found.
> -                      ("glib/tests/spawn-singlethread.c"
> -                       ("/gthread/spawn-script"))
> -                      ("glib/tests/timer.c"
> -                       ( ;; fails if compiler optimizations are enabled, which they
> -                        ;; are by default.
> -                        "/timer/stop"))
> -                      ("gio/tests/gapplication.c"
> -                       ( ;; XXX: proven to be unreliable.  See:
> -                        ;;  <https://bugs.debian.org/756273>
> -                        ;;  <http://bugs.gnu.org/18445>
> -                        "/gapplication/quit"
> -                        ;; XXX: fails randomly for unknown reason. See:
> -                        ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
> -                        "/gapplication/local-actions"))
> -                      ("gio/tests/contenttype.c"
> -                       ( ;; XXX: requires shared-mime-info.
> -                        "/contenttype/guess"
> -                        "/contenttype/guess_svg_from_data"
> -                        "/contenttype/subtype"
> -                        "/contenttype/list"
> -                        "/contenttype/icon"
> -                        "/contenttype/symbolic-icon"
> -                        "/contenttype/tree"))
> -                      ("gio/tests/appinfo.c"
> -                       ( ;; XXX: requires update-desktop-database.
> -                        "/appinfo/associations"))
> -                      ("gio/tests/desktop-app-info.c"
> -                       ( ;; XXX: requires update-desktop-database.
> -                        "/desktop-app-info/delete"
> -                        "/desktop-app-info/default"
> -                        "/desktop-app-info/fallback"
> -                        "/desktop-app-info/lastused"
> -                        "/desktop-app-info/search"))
> -                      ("gio/tests/gdbus-peer.c"
> -                       ( ;; Requires /etc/machine-id.
> -                        "/gdbus/codegen-peer-to-peer"))
> -                      ("gio/tests/gdbus-address-get-session.c"
> -                       ( ;; Requires /etc/machine-id.
> -                        "/gdbus/x11-autolaunch"))
> -                      ("gio/tests/gsocketclient-slow.c"
> -                       ( ;; These tests tries to resolve "localhost", and fails.
> -                        "/socket-client/happy-eyeballs/slow"
> -                        "/socket-client/happy-eyeballs/cancellation/delayed"))
> -                      )))
> -               (for-each (lambda (x) (apply disable x)) failing-tests)
> -               #t)))
> -         (replace 'check
> -           (lambda _
> -             (setenv "MESON_TESTTHREADS"
> -                     (number->string (parallel-job-count)))
> -             ;; Do not run tests marked as "flaky".
> -             (invoke "meson" "test" "--no-suite" "flaky")))
> -         ;; TODO: meson does not permit the bindir to be outside of prefix.
> -         ;; See https://github.com/mesonbuild/meson/issues/2561
> -         ;; We can remove this once meson is patched.
> -         (add-after 'install 'move-executables
> +         ;; Meson does not permit the bindir to be outside of prefix.
> +         (add-after 'install 'move-bin
>             (lambda* (#:key outputs #:allow-other-keys)
> -             (let ((out (assoc-ref outputs "out"))
> -                   (bin (assoc-ref outputs "bin")))
> +             (let* ((out (assoc-ref outputs "out"))
> +                    (bin (assoc-ref outputs "bin")))
>                 (mkdir-p bin)
> -               (rename-file (string-append out "/bin")
> -                            (string-append bin "/bin"))
> -               ;; This one is an implementation detail of glib.
> -               ;; It is wrong that that's in "/bin" in the first place,
> -               ;; but that's what upstream is doing right now.
> -               ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
> -               (mkdir (string-append out "/libexec"))
> -               (rename-file (string-append bin "/bin/gio-launch-desktop")
> -                            (string-append out "/libexec/gio-launch-desktop"))
> +               (rename-file
> +                (string-append out "/bin")
> +                (string-append bin "/bin"))
>                 ;; 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"))
> +               (substitute*
> +                   (list
> +                    (string-append out "/lib/pkgconfig/gio-2.0.pc")
> +                    (string-append out "/lib/pkgconfig/glib-2.0.pc"))
>                   (("bindir=\\$\\{prefix\\}/bin") "")
>                   (("=\\$\\{bindir\\}/") "="))
>                 #t))))))
>      (native-inputs
>       `(("gettext" ,gettext-minimal)
> +       ("libintl" ,intltool)
>         ("m4" ,m4)
> -       ("dbus" ,dbus)
> -       ("pkg-config" ,pkg-config)
> -       ("python" ,python-wrapper)
>         ("perl" ,perl)
> -       ("tzdata" ,tzdata-for-tests)))
> +       ("pkg-config" ,pkg-config)
> +       ("python-wrapper" ,python-wrapper)
> +       ("python" ,python)               ; For 'patch-python-references
> +       ("tzdata" ,tzdata-for-tests)
> +       ("xmllint" ,libxml2)
> +       ("xsltproc" ,libxslt)))
> +    (inputs
> +     `(("dbus" ,dbus)
> +       ("libelf" ,libelf)))
>      (propagated-inputs
> -     `(("pcre" ,pcre)
> -       ("libffi" ,libffi)
> -       ("util-linux" ,util-linux "lib")
> +     `(("libffi" ,libffi)
>         ("libselinux" ,libselinux)
> +       ("pcre" ,pcre)
> +       ("util-linux" ,util-linux "lib")
>         ("zlib" ,zlib)))
>      (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
>       ;; path for .gir files, and it's also a search path for schemas produced
>       ;; by 'glib-compile-schemas'.
> -     (list (search-path-specification
> -            (variable "XDG_DATA_DIRS")
> -            (files '("share")))
> -           ;; To load extra gio modules from glib-networking, etc.
> -           (search-path-specification
> -            (variable "GIO_EXTRA_MODULES")
> -            (files '("lib/gio/modules")))))
> +     (list
> +      (search-path-specification
> +       (variable "XDG_DATA_DIRS")
> +       (files '("share")))
> +      ;; To load extra gio modules from glib-networking, etc.
> +      (search-path-specification
> +       (variable "GIO_EXTRA_MODULES")
> +       (files '("lib/gio/modules")))))
>      (search-paths native-search-paths)
>      (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
>      (description
> diff --git a/gnu/packages/patches/glib-disable-failing-tests.patch b/gnu/packages/patches/glib-disable-failing-tests.patch
> new file mode 100644
> index 0000000000..3601c42030
> --- /dev/null
> +++ b/gnu/packages/patches/glib-disable-failing-tests.patch
> @@ -0,0 +1,84 @@
> +From a2e6783f2278ed32b1e552691ec5d67d6940757e Mon Sep 17 00:00:00 2001
> +From: Raghav Gururajan <raghavgururajan@disroot.org>
> +Date: Tue, 9 Jun 2020 05:17:53 -0400
> +Subject: [PATCH] PATCH: Disable failing tests.
> +
> +---
> + gio/tests/meson.build  | 19 -------------------
> + glib/tests/meson.build |  2 --
> + 2 files changed, 21 deletions(-)
> +
> +diff --git a/gio/tests/meson.build b/gio/tests/meson.build
> +index c7c3e3035..6e38eb39e 100644
> +--- a/gio/tests/meson.build
> ++++ b/gio/tests/meson.build
> +@@ -34,7 +34,6 @@ gio_tests = {
> +   'buffered-output-stream' : {},
> +   'cancellable' : {},
> +   'contexts' : {},
> +-  'contenttype' : {},
> +   'converter-stream' : {},
> +   'credentials' : {},
> +   'data-input-stream' : {},
> +@@ -78,7 +77,6 @@ gio_tests = {
> +   'tls-certificate' : {'extra_sources' : ['gtesttlsbackend.c']},
> +   'tls-interaction' : {'extra_sources' : ['gtesttlsbackend.c']},
> +   'tls-database' : {'extra_sources' : ['gtesttlsbackend.c']},
> +-  'gdbus-address-get-session' : {},
> +   'win32-appinfo' : {},
> + }
> + 
> +@@ -135,10 +133,6 @@ endif
> + if host_machine.system() != 'windows'
> +   gio_tests += {
> +     'file' : {},
> +-    'gdbus-peer' : {
> +-      'dependencies' : [libgdbus_example_objectmanager_dep],
> +-      'install_rpath' : installed_tests_execdir
> +-    },
> +     'gdbus-peer-object-manager' : {},
> +     'live-g-file' : {},
> +     'socket-address' : {},
> +@@ -173,19 +167,6 @@ if host_machine.system() != 'windows'
> +     }
> +   endif
> + 
> +-  # Uninstalled because of the check-for-executable logic in DesktopAppInfo
> +-  # unable to find the installed executable
> +-  if not glib_have_cocoa
> +-    gio_tests += {
> +-      'appinfo' : {
> +-        'install' : false,
> +-      },
> +-      'desktop-app-info' : {
> +-        'install' : false,
> +-      },
> +-    }
> +-  endif
> +-
> +   test_extra_programs += {
> +     'basic-application' : {},
> +     'dbus-launch' : {},
> +diff --git a/glib/tests/meson.build b/glib/tests/meson.build
> +index 8da477d19..9fa24dd49 100644
> +--- a/glib/tests/meson.build
> ++++ b/glib/tests/meson.build
> +@@ -103,7 +103,6 @@ glib_tests = {
> +   'utf8-pointer' : {},
> +   'utf8-validate' : {},
> +   'utf8-misc' : {},
> +-  'utils' : {},
> +   'unicode' : {},
> +   'uri' : {},
> +   '1bit-mutex' : {},
> +@@ -151,7 +150,6 @@ if host_machine.system() == 'windows'
> + else
> +   glib_tests += {
> +     'include' : {},
> +-    'unix' : {},
> +   }
> +   if have_rtld_next
> +     glib_tests += {
> +-- 
> +2.26.2
> +
> diff --git a/gnu/packages/patches/glib-tests-timer.patch b/gnu/packages/patches/glib-tests-timer.patch
> deleted file mode 100644
> index e37425c0c8..0000000000
> --- a/gnu/packages/patches/glib-tests-timer.patch
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -* On i686 floating-point roundoff errors could sometimes cause this check to
> -  fail depending on the elapsed microseconds.  Improve rounding by adding a
> -  fractional bit.
> -
> ---- glib-2.40.0/glib/tests/timer.c	2014-03-05 08:05:42.000000000 -0600
> -+++ glib-2.40.0/glib/tests/timer.c	2014-07-10 16:33:12.746862822 -0500
> -@@ -35,7 +35,7 @@
> -   elapsed = g_timer_elapsed (timer, &micros);
> - 
> -   g_assert_cmpfloat (elapsed, <, 1.0);
> --  g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6)) % 1000000);
> -+  g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6 + 0.5)) % 1000000);
> - 
> -   g_timer_destroy (timer);
> - }
> -- 
> 2.28.0
> 


-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 05/29] gnu: gobject-introspection: Update package, definition.
  2020-08-20 15:09 [bug#42958] [PATCH core-updates 00/29] Big changes from wip-desktop Danny Milosavljevic
                   ` (4 preceding siblings ...)
  2020-09-24 12:41 ` [bug#42958] [PATCH core-updates 04/29] gnu: glib-with-documentation: Update, " Raghav Gururajan
@ 2020-09-24 13:14 ` Raghav Gururajan
  2020-09-24 13:32   ` Raghav Gururajan
  2020-09-24 13:52   ` Danny Milosavljevic
  2020-09-24 13:20 ` [bug#42958] [PATCH core-updates 06/29] gnu: gobject-introspection: Propagate glib Raghav Gururajan
                   ` (7 subsequent siblings)
  13 siblings, 2 replies; 68+ messages in thread
From: Raghav Gururajan @ 2020-09-24 13:14 UTC (permalink / raw)
  To: 42958

[-- Attachment #1: Type: text/plain, Size: 62 bytes --]

@Danny

Please find the attached split patches.

Regards,
RG.

[-- Attachment #2: 0014-gnu-gobject-introspection-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 3713 bytes --]

From ddef11acfd31b50a7dfaf81a0890ae6c76fb2ee8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 08:58:26 -0400
Subject: [PATCH 14/16] gnu: gobject-introspection: Make some cosmetic changes.

* gnu/packages/glib.scm (gobject-introspection): Make some cosmetic changes.
---
 gnu/packages/glib.scm | 45 ++++++++++++++++++++++---------------------
 1 file changed, 23 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index b15c75a740..549145e799 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -332,17 +332,20 @@ threads, dynamic loading, and an object system.")
   (package
     (name "gobject-introspection")
     (version "1.62.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 "18lhglg9v6y83lhqzyifc1z0wrlawzrhzzxx0a3h1g7xaz97xvmi"))
-             (patches (search-patches
-                       "gobject-introspection-cc.patch"
-                       "gobject-introspection-girepository.patch"
-                       "gobject-introspection-absolute-shlib-path.patch"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/"
+                       "gobject-introspection/" (version-major+minor version)
+                       "/gobject-introspection-" version ".tar.xz"))
+       (sha256
+        (base32 "18lhglg9v6y83lhqzyifc1z0wrlawzrhzzxx0a3h1g7xaz97xvmi"))
+       (patches
+        (search-patches
+         "gobject-introspection-cc.patch"
+         "gobject-introspection-girepository.patch"
+         "gobject-introspection-absolute-shlib-path.patch"))))
     (build-system meson-build-system)
     (arguments
      `(#:phases
@@ -353,25 +356,23 @@ threads, dynamic loading, and an object system.")
                (("#!@PYTHON_CMD@")
                 (string-append "#!" (which "python3"))))
              #t)))))
+    (native-inputs
+     `(("glib" ,glib "bin")
+       ("pkg-config" ,pkg-config)))
     (inputs
      `(("bison" ,bison)
        ("flex" ,flex)
        ("glib" ,glib)
        ("python" ,python-wrapper)
        ("zlib" ,zlib)))
-    (native-inputs
-     `(("glib" ,glib "bin")
-       ("pkg-config" ,pkg-config)))
     (propagated-inputs
-     `(;; In practice, GIR users will need libffi when using
-       ;; gobject-introspection.
-       ("libffi" ,libffi)))
+     `(("libffi" ,libffi)))
     (native-search-paths
-     (list (search-path-specification
-            (variable "GI_TYPELIB_PATH")
-            (files '("lib/girepository-1.0")))))
+     (list
+      (search-path-specification
+       (variable "GI_TYPELIB_PATH")
+       (files '("lib/girepository-1.0")))))
     (search-paths native-search-paths)
-    (home-page "https://wiki.gnome.org/GObjectIntrospection")
     (synopsis "Generate interface introspection data for GObject libraries")
     (description
      "GObject introspection is a middleware layer between C libraries (using
@@ -379,7 +380,7 @@ GObject) and language bindings.  The C library can be scanned at compile time
 and generate a metadata file, in addition to the actual native C library.  Then
 at runtime, language bindings can read this metadata and automatically provide
 bindings to call into the C library.")
-    ; Some bits are distributed under the LGPL2+, others under the GPL2+
+    (home-page "https://wiki.gnome.org/GObjectIntrospection")
     (license license:gpl2+)))
 
 (define intltool
-- 
2.28.0


[-- Attachment #3: 0015-gnu-gobject-introspection-Update-to-1.64.1.patch --]
[-- Type: text/x-patch, Size: 12062 bytes --]

From 387b7bcdbcbdd873a9352f4f36d56296133d9861 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 09:06:12 -0400
Subject: [PATCH 15/16] gnu: gobject-introspection: Update to 1.64.1.

* gnu/packages/glib.scm (gobject-introspection) [version]: Update to 1.64.1.
[source]<origin>[sha256]: Modify base32.
[patches]: Remove gobject-introspection-absolute-shlib-path.patch
and gobject-introspection-cc.patch.
[arguments]<#:glib-or-gtk?>: New argument.
<#:phases>['do-not-use-/usr/bin/env]: Remove phase.
[native-inputs]: Add bison and flex.
[inputs]: Remove bison, flex and zlib.
* gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch: Delete file.
* gnu/packages/patches/gobject-introspection-cc.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove them.
---
 gnu/local.mk                                  |   2 -
 gnu/packages/glib.scm                         |  30 ++--
 ...ct-introspection-absolute-shlib-path.patch | 166 ------------------
 .../patches/gobject-introspection-cc.patch    |  14 --
 4 files changed, 10 insertions(+), 202 deletions(-)
 delete mode 100644 gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch
 delete mode 100644 gnu/packages/patches/gobject-introspection-cc.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 2fc47ca2ec..ae2064b5fa 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1075,8 +1075,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/gnupg-default-pinentry.patch		\
   %D%/packages/patches/gnutls-skip-trust-store-test.patch	\
   %D%/packages/patches/gnutls-cross.patch			\
-  %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
-  %D%/packages/patches/gobject-introspection-cc.patch		\
   %D%/packages/patches/gobject-introspection-girepository.patch	\
   %D%/packages/patches/go-skip-gc-test.patch			\
   %D%/packages/patches/gpm-glibc-2.26.patch			\
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 549145e799..fa43bc06a8 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -331,7 +331,7 @@ threads, dynamic loading, and an object system.")
 (define gobject-introspection
   (package
     (name "gobject-introspection")
-    (version "1.62.0")
+    (version "1.64.1")
     (source
      (origin
        (method url-fetch)
@@ -340,33 +340,23 @@ threads, dynamic loading, and an object system.")
                        "gobject-introspection/" (version-major+minor version)
                        "/gobject-introspection-" version ".tar.xz"))
        (sha256
-        (base32 "18lhglg9v6y83lhqzyifc1z0wrlawzrhzzxx0a3h1g7xaz97xvmi"))
+        (base32 "19vz7vp10h0zj3f491yk72dp89bix6rgkzxg4qcm4d6151ksxgl0"))
        (patches
         (search-patches
-         "gobject-introspection-cc.patch"
-         "gobject-introspection-girepository.patch"
-         "gobject-introspection-absolute-shlib-path.patch"))))
+         "gobject-introspection-girepository.patch"))))
     (build-system meson-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'do-not-use-/usr/bin/env
-           (lambda _
-             (substitute* "tools/g-ir-tool-template.in"
-               (("#!@PYTHON_CMD@")
-                (string-append "#!" (which "python3"))))
-             #t)))))
+     `(#:glib-or-gtk? #t))   ; To wrap binaries and/or compile schemas
     (native-inputs
-     `(("glib" ,glib "bin")
-       ("pkg-config" ,pkg-config)))
-    (inputs
      `(("bison" ,bison)
        ("flex" ,flex)
-       ("glib" ,glib)
-       ("python" ,python-wrapper)
-       ("zlib" ,zlib)))
+       ("glib" ,glib "bin")
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("python" ,python-wrapper)))
     (propagated-inputs
-     `(("libffi" ,libffi)))
+     `(("glib" ,glib)
+       ("libffi" ,libffi)))
     (native-search-paths
      (list
       (search-path-specification
diff --git a/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch b/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch
deleted file mode 100644
index 956fa617c3..0000000000
--- a/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-# Names of libraries included in typelib files are opened by dlopen.  Here we 
-# add the full path.
-#
-# This patch was provided by Luca Bruno <lucabru@src.gnome.org>  for 
-# 'gobject-introspection' 1.40.0 in Nix.
-#
-# It has since been updated to work with newer versions of
-# gobject-introspection.
---- a/giscanner/scannermain.py
-+++ b/giscanner/scannermain.py
-@@ -95,6 +95,39 @@ def get_windows_option_group(parser):
-     return group
- 
- 
-+def _get_default_fallback_libpath():
-+    # Newer multiple-output-optimized stdenv has an environment variable
-+    # $outputLib which in turn specifies another variable which then is used as
-+    # the destination for the library contents (${!outputLib}/lib).
-+    store_path = os.environ.get(os.environ.get("outputLib")) if "outputLib" in os.environ else None
-+    if store_path is None:
-+        outputs = os.environ.get("outputs", "out").split()
-+        if "lib" in outputs:
-+            # For multiple output derivations let's try whether there is a $lib
-+            # environment variable and use that as the base store path.
-+            store_path = os.environ.get("lib")
-+        elif "out" in outputs:
-+            # Otherwise we have a single output derivation, so the libraries
-+            # most certainly will end up in "$out/lib".
-+            store_path = os.environ.get("out")
-+
-+    if store_path is not None:
-+        # Even if we have a $lib as output, there still should be a $lib/lib
-+        # directory.
-+        return os.path.join(store_path, 'lib')
-+    else:
-+        # If we haven't found a possible scenario, let's return an empty string
-+        # so that the shared library won't be prepended with a path.
-+        #
-+        # Note that this doesn't mean that all hope is lost, because after all
-+        # we can still use --fallback-library-path to set one.
-+        #
-+        # Also, we're not returning None, because that would make it very
-+        # difficult to disable adding fallback paths altogether using something
-+        # like: --fallback-library-path=""
-+        return ""
-+
-+
- def _get_option_parser():
-     parser = optparse.OptionParser('%prog [options] sources',
-                                    version='%prog ' + giscanner.__version__)
-@@ -205,6 +238,10 @@ match the namespace prefix.""")
-     parser.add_option("", "--filelist",
-                       action="store", dest="filelist", default=[],
-                       help="file containing headers and sources to be scanned")
-+    parser.add_option("", "--fallback-library-path",
-+                      action="store", dest="fallback_libpath",
-+                      default=_get_default_fallback_libpath(),
-+                      help="Path to prepend to unknown shared libraries")
- 
-     group = get_preprocessor_option_group(parser)
-     parser.add_option_group(group)
---- a/giscanner/shlibs.py
-+++ b/giscanner/shlibs.py
-@@ -57,6 +57,14 @@ def _ldd_library_pattern(library_name):
-     $""" % re.escape(library_name), re.VERBOSE)
- 
- 
-+def _ldd_library_guix_pattern(library_name):
-+    store_dir = re.escape(
-+      os.environ.get("NIX_STORE", default="/gnu/store")
-+    )
-+    pattern = r'(%s(?:/[^/]*)+lib%s[^A-Za-z0-9_-][^\s\(\)]*)'
-+    return re.compile(pattern % (store_dir, re.escape(library_name)))
-+
-+
- # This is a what we do for non-la files. We assume that we are on an
- # ELF-like system where ldd exists and the soname extracted with ldd is
- # a filename that can be opened with dlopen().
-@@ -106,7 +112,8 @@ def _resolve_non_libtool(options, binary, libraries):
-             output = output.decode("utf-8", "replace")
- 
-         shlibs = resolve_from_ldd_output(libraries, output)
--        return list(map(sanitize_shlib_path, shlibs))
-+        fallback_libpath = options.fallback_libpath or "";
-+        return list(map(lambda p: os.path.join(fallback_libpath, p), map(sanitize_shlib_path, shlibs)))
- 
- 
- def sanitize_shlib_path(lib):
-@@ -115,19 +122,18 @@ def sanitize_shlib_path(lib):
-     # In case we get relative paths on macOS (like @rpath) then we fall
-     # back to the basename as well:
-     # https://gitlab.gnome.org/GNOME/gobject-introspection/issues/222
--    if sys.platform == "darwin":
--        if not os.path.isabs(lib):
--            return os.path.basename(lib)
--        return lib
--    else:
-+
-+    # Always use absolute paths if available
-+    if not os.path.isabs(lib):
-         return os.path.basename(lib)
-+    return lib
- 
- 
- def resolve_from_ldd_output(libraries, output):
-     patterns = {}
-     for library in libraries:
-         if not os.path.isfile(library):
--            patterns[library] = _ldd_library_pattern(library)
-+            patterns[library] = (_ldd_library_pattern(library), _ldd_library_guix_pattern(library))
-     if len(patterns) == 0:
-         return []
- 
-@@ -139,8 +145,12 @@ def resolve_from_ldd_output(libraries, output):
-         if line.endswith(':'):
-             continue
-         for word in line.split():
--            for library, pattern in patterns.items():
--                m = pattern.match(word)
-+            for library, (pattern, guix_pattern) in patterns.items():
-+                store_dir = os.environ.get("NIX_STORE", default="/gnu/store")
-+                if line.find(store_dir) != -1:
-+                    m = guix_pattern.match(word)
-+                else:
-+                    m = pattern.match(word)
-                 if m:
-                     del patterns[library]
-                     shlibs.append(m.group())
-
---- a/giscanner/utils.py
-+++ b/giscanner/utils.py
-@@ -111,17 +111,11 @@ def extract_libtool_shlib(la_file):
-     if dlname is None:
-         return None
- 
--    # Darwin uses absolute paths where possible; since the libtool files never
--    # contain absolute paths, use the libdir field
--    if platform.system() == 'Darwin':
--        dlbasename = os.path.basename(dlname)
--        libdir = _extract_libdir_field(la_file)
--        if libdir is None:
--            return dlbasename
--        return libdir + '/' + dlbasename
--    # From the comments in extract_libtool(), older libtools had
--    # a path rather than the raw dlname
--    return os.path.basename(dlname)
-+    dlbasename = os.path.basename(dlname)
-+    libdir = _extract_libdir_field(la_file)
-+    if libdir is None:
-+        return dlbasename
-+    return libdir + '/' + dlbasename
- 
- 
- def extract_libtool(la_file):
---- a/tests/scanner/test_shlibs.py
-+++ b/tests/scanner/test_shlibs.py
-@@ -40,6 +64,7 @@ class TestLddParser(unittest.TestCase):
- 
-         self.assertEqual(
-             sanitize_shlib_path('/foo/bar'),
--            '/foo/bar' if sys.platform == 'darwin' else 'bar')
-+            # Always use an absolute filename for Guix
-+            '/foo/bar')
- 
-     def test_unresolved_library(self):
-output = ''
diff --git a/gnu/packages/patches/gobject-introspection-cc.patch b/gnu/packages/patches/gobject-introspection-cc.patch
deleted file mode 100644
index 6a86b56b44..0000000000
--- a/gnu/packages/patches/gobject-introspection-cc.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Use gcc as the default C compiler if CC is not set.
-
-diff -ru gobject-introspection-1.58.1.orig/giscanner/__init__.py gobject-introspection-1.58.1/giscanner/__init__.py
---- gobject-introspection-1.58.1.orig/giscanner/__init__.py	1970-01-01 01:00:00.000000000 +0100
-+++ gobject-introspection-1.58.1/giscanner/__init__.py	2018-12-03 13:33:28.788971299 +0100
-@@ -22,6 +22,8 @@
- builddir = os.environ.get('UNINSTALLED_INTROSPECTION_BUILDDIR')
- if builddir is not None:
-     __path__.append(os.path.join(builddir, 'giscanner'))
-+if not 'CC' in os.environ:
-+    os.environ['CC'] = 'gcc'
- try:
-     from ._version import __version__
- except ImportError:
-- 
2.28.0


[-- Attachment #4: 0016-gnu-gobject-introspection-Update-synopsis-descriptio.patch --]
[-- Type: text/x-patch, Size: 2050 bytes --]

From 7e1d0b398fe428f5ce3fb62382d8261787c84029 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 09:11:30 -0400
Subject: [PATCH 16/16] gnu: gobject-introspection: Update synopsis,
 description, home-page and license.

* gnu/packages/glib.scm (gobject-introspection) [synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Modify.
---
 gnu/packages/glib.scm | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index fa43bc06a8..23ef233bd6 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -363,15 +363,19 @@ threads, dynamic loading, and an object system.")
        (variable "GI_TYPELIB_PATH")
        (files '("lib/girepository-1.0")))))
     (search-paths native-search-paths)
-    (synopsis "Generate interface introspection data for GObject libraries")
-    (description
-     "GObject introspection is a middleware layer between C libraries (using
-GObject) and language bindings.  The C library can be scanned at compile time
-and generate a metadata file, in addition to the actual native C library.  Then
-at runtime, language bindings can read this metadata and automatically provide
-bindings to call into the C library.")
-    (home-page "https://wiki.gnome.org/GObjectIntrospection")
-    (license license:gpl2+)))
+    (synopsis "GObject introspection tools and libraries")
+    (description "GObject introspection is a middleware layer between
+C libraries (using GObject) and language bindings.  The C library can be scanned
+at compile time and generate metadata files, in addition to the actual native
+C library.  Then language bindings can read this metadata and automatically
+provide bindings to call into the C library.")
+    (home-page "https://wiki.gnome.org/Projects/GObjectIntrospection")
+    (license
+     (list
+      ;; For library.
+      license:lgpl2.0+
+      ;; For tools.
+      license:gpl2+))))
 
 (define intltool
   (package
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 06/29] gnu: gobject-introspection: Propagate glib.
  2020-08-20 15:09 [bug#42958] [PATCH core-updates 00/29] Big changes from wip-desktop Danny Milosavljevic
                   ` (5 preceding siblings ...)
  2020-09-24 13:14 ` [bug#42958] [PATCH core-updates 05/29] gnu: gobject-introspection: Update package, definition Raghav Gururajan
@ 2020-09-24 13:20 ` Raghav Gururajan
  2020-09-24 13:33 ` [bug#42958] [PATCH core-updates 07/29] gnu: gobject-introspection: Add patches, back Raghav Gururajan
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 68+ messages in thread
From: Raghav Gururajan @ 2020-09-24 13:20 UTC (permalink / raw)
  To: 42958

@Danny

This patch is no longer required, as the change has been made to the 
patch 05/29.

Regards,
RG.




^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 05/29] gnu: gobject-introspection: Update package, definition.
  2020-09-24 13:14 ` [bug#42958] [PATCH core-updates 05/29] gnu: gobject-introspection: Update package, definition Raghav Gururajan
@ 2020-09-24 13:32   ` Raghav Gururajan
  2020-09-24 13:52   ` Danny Milosavljevic
  1 sibling, 0 replies; 68+ messages in thread
From: Raghav Gururajan @ 2020-09-24 13:32 UTC (permalink / raw)
  To: 42958

[-- Attachment #1: Type: text/plain, Size: 70 bytes --]

@Danny

Please find the attached revised split patches.

Regards,
RG.

[-- Attachment #2: 0014-gnu-gobject-introspection-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 3713 bytes --]

From ddef11acfd31b50a7dfaf81a0890ae6c76fb2ee8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 08:58:26 -0400
Subject: [PATCH 14/16] gnu: gobject-introspection: Make some cosmetic changes.

* gnu/packages/glib.scm (gobject-introspection): Make some cosmetic changes.
---
 gnu/packages/glib.scm | 45 ++++++++++++++++++++++---------------------
 1 file changed, 23 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index b15c75a740..549145e799 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -332,17 +332,20 @@ threads, dynamic loading, and an object system.")
   (package
     (name "gobject-introspection")
     (version "1.62.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 "18lhglg9v6y83lhqzyifc1z0wrlawzrhzzxx0a3h1g7xaz97xvmi"))
-             (patches (search-patches
-                       "gobject-introspection-cc.patch"
-                       "gobject-introspection-girepository.patch"
-                       "gobject-introspection-absolute-shlib-path.patch"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/"
+                       "gobject-introspection/" (version-major+minor version)
+                       "/gobject-introspection-" version ".tar.xz"))
+       (sha256
+        (base32 "18lhglg9v6y83lhqzyifc1z0wrlawzrhzzxx0a3h1g7xaz97xvmi"))
+       (patches
+        (search-patches
+         "gobject-introspection-cc.patch"
+         "gobject-introspection-girepository.patch"
+         "gobject-introspection-absolute-shlib-path.patch"))))
     (build-system meson-build-system)
     (arguments
      `(#:phases
@@ -353,25 +356,23 @@ threads, dynamic loading, and an object system.")
                (("#!@PYTHON_CMD@")
                 (string-append "#!" (which "python3"))))
              #t)))))
+    (native-inputs
+     `(("glib" ,glib "bin")
+       ("pkg-config" ,pkg-config)))
     (inputs
      `(("bison" ,bison)
        ("flex" ,flex)
        ("glib" ,glib)
        ("python" ,python-wrapper)
        ("zlib" ,zlib)))
-    (native-inputs
-     `(("glib" ,glib "bin")
-       ("pkg-config" ,pkg-config)))
     (propagated-inputs
-     `(;; In practice, GIR users will need libffi when using
-       ;; gobject-introspection.
-       ("libffi" ,libffi)))
+     `(("libffi" ,libffi)))
     (native-search-paths
-     (list (search-path-specification
-            (variable "GI_TYPELIB_PATH")
-            (files '("lib/girepository-1.0")))))
+     (list
+      (search-path-specification
+       (variable "GI_TYPELIB_PATH")
+       (files '("lib/girepository-1.0")))))
     (search-paths native-search-paths)
-    (home-page "https://wiki.gnome.org/GObjectIntrospection")
     (synopsis "Generate interface introspection data for GObject libraries")
     (description
      "GObject introspection is a middleware layer between C libraries (using
@@ -379,7 +380,7 @@ GObject) and language bindings.  The C library can be scanned at compile time
 and generate a metadata file, in addition to the actual native C library.  Then
 at runtime, language bindings can read this metadata and automatically provide
 bindings to call into the C library.")
-    ; Some bits are distributed under the LGPL2+, others under the GPL2+
+    (home-page "https://wiki.gnome.org/GObjectIntrospection")
     (license license:gpl2+)))
 
 (define intltool
-- 
2.28.0


[-- Attachment #3: 0015-gnu-gobject-introspection-Update-to-1.64.1.patch --]
[-- Type: text/x-patch, Size: 2580 bytes --]

From d3fe71f442d71dc4e4ee1479a62043e86d8e2084 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 09:27:48 -0400
Subject: [PATCH 15/16] gnu: gobject-introspection: Update to 1.64.1.

* gnu/packages/glib.scm (gobject-introspection) [version]: Update to 1.64.1.
[arguments]<#:glib-or-gtk?>: New argument.
<#:phases>: Remove all phases.
[native-inputs]: Add bison and flex.
[inputs]: Remove bison, flex, glib and zlib.
[propagated-inputs]: Add glib.
---
 gnu/packages/glib.scm | 26 +++++++++-----------------
 1 file changed, 9 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 549145e799..cda8a97d5f 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -331,7 +331,7 @@ threads, dynamic loading, and an object system.")
 (define gobject-introspection
   (package
     (name "gobject-introspection")
-    (version "1.62.0")
+    (version "1.64.1")
     (source
      (origin
        (method url-fetch)
@@ -340,7 +340,7 @@ threads, dynamic loading, and an object system.")
                        "gobject-introspection/" (version-major+minor version)
                        "/gobject-introspection-" version ".tar.xz"))
        (sha256
-        (base32 "18lhglg9v6y83lhqzyifc1z0wrlawzrhzzxx0a3h1g7xaz97xvmi"))
+        (base32 "19vz7vp10h0zj3f491yk72dp89bix6rgkzxg4qcm4d6151ksxgl0"))
        (patches
         (search-patches
          "gobject-introspection-cc.patch"
@@ -348,25 +348,17 @@ threads, dynamic loading, and an object system.")
          "gobject-introspection-absolute-shlib-path.patch"))))
     (build-system meson-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'do-not-use-/usr/bin/env
-           (lambda _
-             (substitute* "tools/g-ir-tool-template.in"
-               (("#!@PYTHON_CMD@")
-                (string-append "#!" (which "python3"))))
-             #t)))))
+     `(#:glib-or-gtk? #t))   ; To wrap binaries and/or compile schemas
     (native-inputs
-     `(("glib" ,glib "bin")
-       ("pkg-config" ,pkg-config)))
-    (inputs
      `(("bison" ,bison)
        ("flex" ,flex)
-       ("glib" ,glib)
-       ("python" ,python-wrapper)
-       ("zlib" ,zlib)))
+       ("glib" ,glib "bin")
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("python" ,python-wrapper)))
     (propagated-inputs
-     `(("libffi" ,libffi)))
+     `(("glib" ,glib)
+       ("libffi" ,libffi)))
     (native-search-paths
      (list
       (search-path-specification
-- 
2.28.0


[-- Attachment #4: 0016-gnu-gobject-introspection-Update-synopsis-descriptio.patch --]
[-- Type: text/x-patch, Size: 2050 bytes --]

From a6268885731b9e66e834cd241e52920690196e73 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 09:30:21 -0400
Subject: [PATCH 16/16] gnu: gobject-introspection: Update synopsis,
 description, home-page and license.

* gnu/packages/glib.scm (gobject-introspection) [synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Modify.
---
 gnu/packages/glib.scm | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index cda8a97d5f..f7a3a866bf 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -365,15 +365,19 @@ threads, dynamic loading, and an object system.")
        (variable "GI_TYPELIB_PATH")
        (files '("lib/girepository-1.0")))))
     (search-paths native-search-paths)
-    (synopsis "Generate interface introspection data for GObject libraries")
-    (description
-     "GObject introspection is a middleware layer between C libraries (using
-GObject) and language bindings.  The C library can be scanned at compile time
-and generate a metadata file, in addition to the actual native C library.  Then
-at runtime, language bindings can read this metadata and automatically provide
-bindings to call into the C library.")
-    (home-page "https://wiki.gnome.org/GObjectIntrospection")
-    (license license:gpl2+)))
+    (synopsis "GObject introspection tools and libraries")
+    (description "GObject introspection is a middleware layer between
+C libraries (using GObject) and language bindings.  The C library can be scanned
+at compile time and generate metadata files, in addition to the actual native
+C library.  Then language bindings can read this metadata and automatically
+provide bindings to call into the C library.")
+    (home-page "https://wiki.gnome.org/Projects/GObjectIntrospection")
+    (license
+     (list
+      ;; For library.
+      license:lgpl2.0+
+      ;; For tools.
+      license:gpl2+))))
 
 (define intltool
   (package
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 07/29] gnu: gobject-introspection: Add patches, back.
  2020-08-20 15:09 [bug#42958] [PATCH core-updates 00/29] Big changes from wip-desktop Danny Milosavljevic
                   ` (6 preceding siblings ...)
  2020-09-24 13:20 ` [bug#42958] [PATCH core-updates 06/29] gnu: gobject-introspection: Propagate glib Raghav Gururajan
@ 2020-09-24 13:33 ` Raghav Gururajan
  2020-09-24 14:33 ` [bug#42958] [PATCH core-updates 08/29] gnu: pixman: Update package definition Raghav Gururajan
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 68+ messages in thread
From: Raghav Gururajan @ 2020-09-24 13:33 UTC (permalink / raw)
  To: 42958

@Danny

This patch is no longer required, as the change has been made in the 
patch 05/29.

Regards,
RG.




^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 05/29] gnu: gobject-introspection: Update package, definition.
  2020-09-24 13:14 ` [bug#42958] [PATCH core-updates 05/29] gnu: gobject-introspection: Update package, definition Raghav Gururajan
  2020-09-24 13:32   ` Raghav Gururajan
@ 2020-09-24 13:52   ` Danny Milosavljevic
  2020-09-24 14:17     ` Raghav Gururajan
  1 sibling, 1 reply; 68+ messages in thread
From: Danny Milosavljevic @ 2020-09-24 13:52 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 42958

[-- Attachment #1: Type: text/plain, Size: 625 bytes --]

Hi,

for Patch 14 in your attachment,

>-;; In practice, GIR users will need libffi when using
>-;; gobject-introspection.

Why was this comment removed?  Is it not true anymore?

>-    ; Some bits are distributed under the LGPL2+, others under the GPL2+

Why was this comment removed?  Is it now under GPL2+ entirely?

For patch 15, was zlib always unnecessary?
Or has upstream removed functionality?
Or do we remove functionality?

Otherwise looks good.

Heads-up to everyone: If this patchset is reviewed, it will go to MASTER, as
was discussed here in this thread.  Btw: It has over 6000 dependents.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 05/29] gnu: gobject-introspection: Update package, definition.
  2020-09-24 13:52   ` Danny Milosavljevic
@ 2020-09-24 14:17     ` Raghav Gururajan
  0 siblings, 0 replies; 68+ messages in thread
From: Raghav Gururajan @ 2020-09-24 14:17 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 42958

Hi Danny!

>> -;; In practice, GIR users will need libffi when using
>> -;; gobject-introspection.
> 
> Why was this comment removed?  Is it not true anymore?

The libffi is required to use gobject-introspection. I thought separate 
comment is not needed to say that something is a dependency or 
requirement, as it is trivial to presume so. :-)

>> -    ; Some bits are distributed under the LGPL2+, others under the GPL2+
> 
> Why was this comment removed?  Is it now under GPL2+ entirely?

The next patch updates the license field.

> For patch 15, was zlib always unnecessary?
> Or has upstream removed functionality?
> Or do we remove functionality?

Upstream removed zlib as a dependency.

> Otherwise looks good.

Thanks!

Regards,
RG.




^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 08/29] gnu: pixman: Update package definition.
  2020-08-20 15:09 [bug#42958] [PATCH core-updates 00/29] Big changes from wip-desktop Danny Milosavljevic
                   ` (7 preceding siblings ...)
  2020-09-24 13:33 ` [bug#42958] [PATCH core-updates 07/29] gnu: gobject-introspection: Add patches, back Raghav Gururajan
@ 2020-09-24 14:33 ` Raghav Gururajan
  2020-09-24 15:03 ` [bug#42958] [PATCH core-updates 09/29] gnu: openjpeg: " Raghav Gururajan
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 68+ messages in thread
From: Raghav Gururajan @ 2020-09-24 14:33 UTC (permalink / raw)
  To: 42958

[-- Attachment #1: Type: text/plain, Size: 62 bytes --]

@Danny

Please find the attached split patches.

Regards,
RG.

[-- Attachment #2: 0017-gnu-pixman-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 2069 bytes --]

From 4d2b26892bcb2be8aaea78e860ed64a06dc533d6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 10:25:06 -0400
Subject: [PATCH 17/20] gnu: pixman: Make some cosmetic changes.

* gnu/packages/xdisorg.org (pixman): Make some cosmetic changes.
---
 gnu/packages/xdisorg.scm | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 44f903ccb0..fdb92f9b4c 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -471,28 +471,31 @@ following the mouse.")
   (package
     (name "pixman")
     (version "0.38.4")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://www.cairographics.org/releases/pixman-"
-                    version ".tar.gz"))
-              (sha256
-               (base32
-                "1ryxzdf048x7wsx4dlvrr1p00gzwfs7lybnhgc7ygbj0dvyxcrns"))
-              (patches (search-patches "pixman-CVE-2016-5296.patch"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append
+         "https://www.cairographics.org/releases/pixman-"
+         version ".tar.gz"))
+       (sha256
+        (base32 "1ryxzdf048x7wsx4dlvrr1p00gzwfs7lybnhgc7ygbj0dvyxcrns"))
+       (patches
+        (search-patches
+         "pixman-CVE-2016-5296.patch"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--disable-static")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
     (inputs
      `(("libpng" ,libpng)
        ("zlib" ,zlib)))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (home-page "http://www.pixman.org/")
     (synopsis "Low-level pixel manipulation library")
     (description "Pixman is a low-level software library for pixel
 manipulation, providing features such as image compositing and trapezoid
 rasterisation.")
+    (home-page "http://www.pixman.org/")
     (license license:x11)))
 
 (define-public libdrm
-- 
2.28.0


[-- Attachment #3: 0018-gnu-pixman-Update-to-0.40.0.patch --]
[-- Type: text/x-patch, Size: 1099 bytes --]

From 0cbf6f42497baca4e799199362ff0fdfed908d95 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 10:26:59 -0400
Subject: [PATCH 18/20] gnu: pixman: Update to 0.40.0.

* gnu/packages/xdisorg.scm (pixman) [version]: Update to 0.40.0.
[source]<origin>[sha256]: Modify base32.
[license]: Change from X11 to expat.
---
 gnu/packages/xdisorg.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index fdb92f9b4c..337c787ad0 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -470,7 +470,7 @@ following the mouse.")
 (define-public pixman
   (package
     (name "pixman")
-    (version "0.38.4")
+    (version "0.40.0")
     (source
      (origin
        (method url-fetch)
@@ -496,7 +496,7 @@ following the mouse.")
 manipulation, providing features such as image compositing and trapezoid
 rasterisation.")
     (home-page "http://www.pixman.org/")
-    (license license:x11)))
+    (license license:expat)))
 
 (define-public libdrm
   (package
-- 
2.28.0


[-- Attachment #4: 0019-gnu-pixman-Enable-some-features.patch --]
[-- Type: text/x-patch, Size: 1718 bytes --]

From 71095ce9261ebfbe90fcfaf22d5e24b54a9ec758 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 10:29:13 -0400
Subject: [PATCH 19/20] gnu: pixman: Enable some features.

* gnu/packages/xdisorg.scm (pixman) [arguments]<#:configure-flags>[--enable-timers]: New flag.
[--enable-gnuplot]: New flag.
---
 gnu/packages/xdisorg.scm | 25 ++++++++++++++-----------
 1 file changed, 14 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 337c787ad0..2dc999d19a 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -484,19 +484,22 @@ following the mouse.")
         (search-patches
          "pixman-CVE-2016-5296.patch"))))
     (build-system gnu-build-system)
-    (arguments
-     '(#:configure-flags '("--disable-static")))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (inputs
-     `(("libpng" ,libpng)
-       ("zlib" ,zlib)))
-    (synopsis "Low-level pixel manipulation library")
-    (description "Pixman is a low-level software library for pixel
+    `(#:configure-flags
+      (list
+       "--disable-static"
+       "--enable-timers"
+       "--enable-gnuplot")))
+  (native-inputs
+   `(("pkg-config" ,pkg-config)))
+  (inputs
+   `(("libpng" ,libpng)
+     ("zlib" ,zlib)))
+  (synopsis "Low-level pixel manipulation library")
+  (description "Pixman is a low-level software library for pixel
 manipulation, providing features such as image compositing and trapezoid
 rasterisation.")
-    (home-page "http://www.pixman.org/")
-    (license license:expat)))
+  (home-page "http://www.pixman.org/")
+  (license license:expat)))
 
 (define-public libdrm
   (package
-- 
2.28.0


[-- Attachment #5: 0020-gnu-pixman-Update-synopsis-and-description.patch --]
[-- Type: text/x-patch, Size: 1168 bytes --]

From e6064f2f4bb116b893869d8813548b87f77bec95 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 10:31:34 -0400
Subject: [PATCH 20/20] gnu: pixman: Update synopsis and description.

* gnu/packages/xdisorg.scm (pixman) [synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/xdisorg.scm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 2dc999d19a..09bd4428bf 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -494,10 +494,9 @@ following the mouse.")
   (inputs
    `(("libpng" ,libpng)
      ("zlib" ,zlib)))
-  (synopsis "Low-level pixel manipulation library")
-  (description "Pixman is a low-level software library for pixel
-manipulation, providing features such as image compositing and trapezoid
-rasterisation.")
+  (synopsis "Image processing and manipulation library")
+  (description "Pixman is a library that provides low-level pixel manipulation
+features such as image compositing and trapezoid rasterization.")
   (home-page "http://www.pixman.org/")
   (license license:expat)))
 
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 09/29] gnu: openjpeg: Update package definition.
  2020-08-20 15:09 [bug#42958] [PATCH core-updates 00/29] Big changes from wip-desktop Danny Milosavljevic
                   ` (8 preceding siblings ...)
  2020-09-24 14:33 ` [bug#42958] [PATCH core-updates 08/29] gnu: pixman: Update package definition Raghav Gururajan
@ 2020-09-24 15:03 ` Raghav Gururajan
  2020-09-24 15:35 ` [bug#42958] [PATCH core-updates 10/29] gnu: cairo: " Raghav Gururajan
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 68+ messages in thread
From: Raghav Gururajan @ 2020-09-24 15:03 UTC (permalink / raw)
  To: 42958

[-- Attachment #1: Type: text/plain, Size: 62 bytes --]

@Danny

Please find the attached split patches.

Regards,
RG.

[-- Attachment #2: 0021-gnu-openjpeg-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 2545 bytes --]

From c644a020006d314d27414be5bd901b9774ca53f8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 10:39:25 -0400
Subject: [PATCH 21/25] gnu: openjpeg: Make some cosmetic changes.

* gnu/packages/images.scm (openjpeg): Make some cosmetic changes.
---
 gnu/packages/image.scm | 34 ++++++++++++++++++----------------
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index ff434bb6c9..e6b5fd6bda 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -807,31 +807,33 @@ test suite, including conformance tests (following Rec. ITU-T T.803 | ISO/IEC
   (package
     (name "openjpeg")
     (version "2.3.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/uclouvain/openjpeg")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name "openjpeg" version))
-              (sha256
-               (base32
-                "1dn98d2dfa1lqyxxmab6rrcv52dyhjr4g7i4xf2w54fqsx14ynrb"))))
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/uclouvain/openjpeg")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name "openjpeg" version))
+       (sha256
+        (base32 "1dn98d2dfa1lqyxxmab6rrcv52dyhjr4g7i4xf2w54fqsx14ynrb"))))
     (build-system cmake-build-system)
     (arguments
-     '(#:tests? #f                   ;TODO: requires a 1.1 GiB data repository
+     '(#:tests? #f           ;TODO: requires a 1.1 GiB data repository
        #:configure-flags '("-DBUILD_STATIC_LIBS=OFF")))
     (inputs
-      `(("lcms" ,lcms)
-        ("libpng" ,libpng)
-        ("libtiff" ,libtiff)
-        ("zlib" ,zlib)))
+     `(("lcms" ,lcms)
+       ("libpng" ,libpng)
+       ("libtiff" ,libtiff)
+       ("zlib" ,zlib)))
     (synopsis "JPEG 2000 codec")
     (description
-      "The OpenJPEG library is a JPEG 2000 codec written in C.  It has
+     "The OpenJPEG library is a JPEG 2000 codec written in C.  It has
 been developed in order to promote the use of JPEG 2000, the new
 still-image compression standard from the Joint Photographic Experts
 Group (JPEG).
-
 In addition to the basic codec, various other features are under
 development, among them the JP2 and MJ2 (Motion JPEG 2000) file formats,
 an indexing tool useful for the JPIP protocol, JPWL-tools for
-- 
2.28.0


[-- Attachment #3: 0022-gnu-openjpeg-Enable-tests.patch --]
[-- Type: text/x-patch, Size: 1919 bytes --]

From 162e90e9df45096a0bd6324ba039da69aa4e0492 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 10:48:08 -0400
Subject: [PATCH 22/25] gnu: openjpeg: Enable tests.

* gnu/packages/image.scm (openjpeg) [arguments]<#:tests?>: Remove argument.
<#:configure-flags>[-DBUILD_UNIT_TESTS]: New flag.
[-DBUILD_TESTING]: New flag.
[-DOPJ_DATA_ROOT]: New flag.
<#:phases>['disable-failing-tests]: New phase.
[native-inputs]: Add openjpeg-data.
---
 gnu/packages/image.scm | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index e6b5fd6bda..2e97f04f8a 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -821,8 +821,25 @@ test suite, including conformance tests (following Rec. ITU-T T.803 | ISO/IEC
         (base32 "1dn98d2dfa1lqyxxmab6rrcv52dyhjr4g7i4xf2w54fqsx14ynrb"))))
     (build-system cmake-build-system)
     (arguments
-     '(#:tests? #f           ;TODO: requires a 1.1 GiB data repository
-       #:configure-flags '("-DBUILD_STATIC_LIBS=OFF")))
+     `(#:configure-flags 
+       (list
+        "-DBUILD_STATIC_LIBS=OFF"
+        "-DBUILD_UNIT_TESTS=ON"
+        "-DBUILD_TESTING=ON"
+        (string-append "-DOPJ_DATA_ROOT="
+                       (assoc-ref %build-inputs "openjpeg-data")))
+       #:phases
+       (modify-phases %standard-phases
+         ;; To be re-enabled after upstream fixes the bug,
+         ;; https://github.com/uclouvain/openjpeg/issues/1264
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "tests/CMakeLists.txt"
+               (("add_subdirectory\\(nonregression\\)")
+                ""))
+             #t)))))
+    (native-inputs
+     `(("openjpeg-data" ,openjpeg-data))) ; Files for test-suite
     (inputs
      `(("lcms" ,lcms)
        ("libpng" ,libpng)
-- 
2.28.0


[-- Attachment #4: 0023-gnu-openjpeg-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 2058 bytes --]

From 03e33cb0d15508c5644451345a112c19e18552cf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 10:53:00 -0400
Subject: [PATCH 23/25] gnu: openjpeg: Enable documentation.

* gnu/packages/image.scm (openjpeg) [outputs]: New output "doc".
[arguments]<#:configure-flags>[-DBUILD_DOC]: New flag.
<#:phases>['move-docs]: New phase.
[native-inputs]: Add doxygen.
---
 gnu/packages/image.scm | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 2e97f04f8a..26ed0d7616 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -820,9 +820,11 @@ test suite, including conformance tests (following Rec. ITU-T T.803 | ISO/IEC
        (sha256
         (base32 "1dn98d2dfa1lqyxxmab6rrcv52dyhjr4g7i4xf2w54fqsx14ynrb"))))
     (build-system cmake-build-system)
+    (outputs '("out" "doc"))
     (arguments
      `(#:configure-flags 
        (list
+        "-DBUILD_DOC=ON"
         "-DBUILD_STATIC_LIBS=OFF"
         "-DBUILD_UNIT_TESTS=ON"
         "-DBUILD_TESTING=ON"
@@ -837,9 +839,19 @@ test suite, including conformance tests (following Rec. ITU-T T.803 | ISO/IEC
              (substitute* "tests/CMakeLists.txt"
                (("add_subdirectory\\(nonregression\\)")
                 ""))
-             #t)))))
+             #t))
+         (add-after 'install 'move-docs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share/doc"))
+               (rename-file
+                (string-append out "/share/doc/html")
+                (string-append doc "/share/doc/html"))
+               #t))))))
     (native-inputs
-     `(("openjpeg-data" ,openjpeg-data))) ; Files for test-suite
+     `(("doxygen" ,doxygen)
+       ("openjpeg-data" ,openjpeg-data))) ; Files for test-suite
     (inputs
      `(("lcms" ,lcms)
        ("libpng" ,libpng)
-- 
2.28.0


[-- Attachment #5: 0024-gnu-openjpeg-Enable-some-features.patch --]
[-- Type: text/x-patch, Size: 1871 bytes --]

From 26bdc80f2da072437e58fe305feb038f8b9c722e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 10:57:23 -0400
Subject: [PATCH 24/25] gnu: openjpeg: Enable some features.

* gnu/packages/image.scm (openjpeg) <#:configure-flags>[-DBUILD_LUTS_GENERATOR]: New flag.
[-DBUILD_MJ2]: New flag.
[-DBUILD_JPWL]: New flag.
[-DBUILD_JP3D]: New flag.
[native-inputs]: Add python-wrapper.
[inputs]: Add curl and fcgi.
---
 gnu/packages/image.scm | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 26ed0d7616..3c2718bc3b 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -826,7 +826,15 @@ test suite, including conformance tests (following Rec. ITU-T T.803 | ISO/IEC
        (list
         "-DBUILD_DOC=ON"
         "-DBUILD_STATIC_LIBS=OFF"
+        "-DBUILD_LUTS_GENERATOR=ON"
         "-DBUILD_UNIT_TESTS=ON"
+        "-DBUILD_MJ2=ON"
+        "-DBUILD_JPWL=ON"
+        ;; To be enabled after Java becomes reproducible.
+        ;; "-DBUILD_JPIP=ON"
+        ;; "-DBUILD_JPIP_SERVER=ON"
+        ;; "-DBUILD_JAVA=ON"
+        "-DBUILD_JP3D=ON"
         "-DBUILD_TESTING=ON"
         (string-append "-DOPJ_DATA_ROOT="
                        (assoc-ref %build-inputs "openjpeg-data")))
@@ -851,9 +859,12 @@ test suite, including conformance tests (following Rec. ITU-T T.803 | ISO/IEC
                #t))))))
     (native-inputs
      `(("doxygen" ,doxygen)
-       ("openjpeg-data" ,openjpeg-data))) ; Files for test-suite
+       ("openjpeg-data" ,openjpeg-data) ; Files for test-suite
+       ("python" ,python-wrapper)))
     (inputs
-     `(("lcms" ,lcms)
+     `(("curl" ,curl)
+       ("fcgi" ,fcgi)
+       ("lcms" ,lcms)
        ("libpng" ,libpng)
        ("libtiff" ,libtiff)
        ("zlib" ,zlib)))
-- 
2.28.0


[-- Attachment #6: 0025-gnu-openjpeg-Update-synopsis-and-description.patch --]
[-- Type: text/x-patch, Size: 1786 bytes --]

From c48f3fa4344b5ee13b1fc2ca873587e4a9a46a6a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 10:59:47 -0400
Subject: [PATCH 25/25] gnu: openjpeg: Update synopsis and description.

* gnu/packages/image.scm (openjpeg) [synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/image.scm | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 3c2718bc3b..7a03cdcd46 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -868,16 +868,12 @@ test suite, including conformance tests (following Rec. ITU-T T.803 | ISO/IEC
        ("libpng" ,libpng)
        ("libtiff" ,libtiff)
        ("zlib" ,zlib)))
-    (synopsis "JPEG 2000 codec")
-    (description
-     "The OpenJPEG library is a JPEG 2000 codec written in C.  It has
-been developed in order to promote the use of JPEG 2000, the new
-still-image compression standard from the Joint Photographic Experts
-Group (JPEG).
-In addition to the basic codec, various other features are under
-development, among them the JP2 and MJ2 (Motion JPEG 2000) file formats,
-an indexing tool useful for the JPIP protocol, JPWL-tools for
-error-resilience, a Java-viewer for j2k-images, ...")
+    (synopsis "OPENJPEG Library and Applications")
+    (description "OpenJPEG is an implementation of JPEG 2000 codec written in C
+language.  It has been developed in order to promote the use of JPEG 2000, a
+still-image compression standard from the Joint Photographic Experts Group
+(JPEG).  Since April 2015, it is officially recognized by ISO/IEC and ITU-T as a
+JPEG 2000 Reference Software.")
     (home-page "https://github.com/uclouvain/openjpeg")
     (license license:bsd-2)))
 
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 10/29] gnu: cairo: Update package definition.
  2020-08-20 15:09 [bug#42958] [PATCH core-updates 00/29] Big changes from wip-desktop Danny Milosavljevic
                   ` (9 preceding siblings ...)
  2020-09-24 15:03 ` [bug#42958] [PATCH core-updates 09/29] gnu: openjpeg: " Raghav Gururajan
@ 2020-09-24 15:35 ` Raghav Gururajan
       [not found] ` <handler.42958.B.159793618623098.ack@debbugs.gnu.org>
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 68+ messages in thread
From: Raghav Gururajan @ 2020-09-24 15:35 UTC (permalink / raw)
  To: 42958

[-- Attachment #1: Type: text/plain, Size: 62 bytes --]

@Danny

Please find the attached split patches.

Regards,
RG.

[-- Attachment #2: 0026-gnu-cairo-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 4229 bytes --]

From 4e13823ff058adfed4422b3208ee1547bb7e3cc2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 11:18:50 -0400
Subject: [PATCH 26/30] gnu: cairo: Make some cosmetic changes.

* gnu/packages/gtk.scm (cairo): Make some cosmetic changes.
---
 gnu/packages/gtk.scm | 78 ++++++++++++++++++++++----------------------
 1 file changed, 39 insertions(+), 39 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index ff8547d00b..ea4ca684bf 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -121,57 +121,57 @@ tools have full access to view and control running applications.")
 
 (define-public cairo
   (package
-   (name "cairo")
-   (version "1.16.0")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "https://cairographics.org/releases/cairo-"
-                                version ".tar.xz"))
-            (sha256
-             (base32
-              "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
-   (build-system gnu-build-system)
-   (propagated-inputs
-    `(("fontconfig" ,fontconfig)
-      ("freetype" ,freetype)
-      ("glib" ,glib)
-      ("libpng" ,libpng)
-      ("libx11" ,libx11)
-      ("libxext" ,libxext)
-      ("libxrender" ,libxrender)
-      ("pixman" ,pixman)))
-   (inputs
-    `(("ghostscript" ,ghostscript)
-      ("libspectre" ,libspectre)
-      ("poppler" ,poppler)
-      ("xorgproto" ,xorgproto)
-      ("zlib" ,zlib)))
-   (native-inputs
-     `(("pkg-config" ,pkg-config)
-      ("python" ,python-wrapper)))
+    (name "cairo")
+    (version "1.16.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://cairographics.org/releases/cairo-"
+                       version ".tar.xz"))
+       (sha256
+        (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
+    (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f  ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
-       #:configure-flags '("--enable-tee"      ;needed for GNU Icecat
-                           "--enable-xml"      ;for cairo-xml support
-                           "--disable-static")))
-   (synopsis "2D graphics library")
-   (description
-    "Cairo is a 2D graphics library with support for multiple output devices.
+     `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
+       #:configure-flags
+       (list "--enable-tee"
+             "--enable-xml"
+             "--disable-static")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("ghostscript" ,ghostscript)
+       ("libspectre" ,libspectre)
+       ("poppler" ,poppler)
+       ("xorgproto" ,xorgproto)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("glib" ,glib)
+       ("libpng" ,libpng)
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
+       ("libxrender" ,libxrender)
+       ("pixman" ,pixman)))
+    (synopsis "2D graphics library")
+    (description
+     "Cairo is a 2D graphics library with support for multiple output devices.
 Currently supported output targets include the X Window System (via both
 Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
 output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
-
 Cairo is designed to produce consistent output on all output media while
 taking advantage of display hardware acceleration when available
 eg. through the X Render Extension).
-
 The cairo API provides operations similar to the drawing operators of
 PostScript and PDF.  Operations in cairo including stroking and filling cubic
 Bézier splines, transforming and compositing translucent images, and
 antialiased text rendering.  All drawing operations can be transformed by any
 affine transformation (scale, rotation, shear, etc.).")
-   (license license:lgpl2.1) ; or Mozilla Public License 1.1
-   (home-page "https://cairographics.org/")))
+    (home-page "https://cairographics.org/")
+    (license license:lgpl2.1)))
 
 (define-public cairo-xcb
   (package
-- 
2.28.0


[-- Attachment #3: 0027-gnu-cairo-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 976 bytes --]

From 6639868a35a88667ea103c965d12138bebacb12c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 11:20:07 -0400
Subject: [PATCH 27/30] gnu: cairo: Change build-system.

* gnu/packages/gtk.scm (cairo) [build-system]: Change from gnu to glib-or-gtk.
---
 gnu/packages/gtk.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index ea4ca684bf..fea6695821 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -131,7 +131,7 @@ tools have full access to view and control running applications.")
                        version ".tar.xz"))
        (sha256
         (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
        #:configure-flags
-- 
2.28.0


[-- Attachment #4: 0028-gnu-cairo-Move-documentation-to-separate-output.patch --]
[-- Type: text/x-patch, Size: 1417 bytes --]

From 82afad9ea3ca75e07c5c43c77daa7af5ff99e49c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 11:24:36 -0400
Subject: [PATCH 28/30] gnu: cairo: Move documentation to separate output.

* gnu/packages/gtk.scm (cairo) [outputs]: New output "doc".
[arguments]<#:configure-flags>[--with-html-dir]: New flag.
---
 gnu/packages/gtk.scm | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index fea6695821..eb76b11e91 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -132,12 +132,17 @@ tools have full access to view and control running applications.")
        (sha256
         (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
     (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
     (arguments
      `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
        #:configure-flags
-       (list "--enable-tee"
-             "--enable-xml"
-             "--disable-static")))
+       (list
+        "--enable-tee"
+        "--enable-xml"
+        "--disable-static"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)))
-- 
2.28.0


[-- Attachment #5: 0029-gnu-cairo-Enable-some-features.patch --]
[-- Type: text/x-patch, Size: 2579 bytes --]

From a3ad002396f7b112bb9117d5c4879bf720c40fd4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 11:27:34 -0400
Subject: [PATCH 29/30] gnu: cairo: Enable some features.

* gnu/packages/gtk.scm (cairo) [native-inputs]: Add gobject-introspection.
[inputs]: Add libdrm. Remove xorgproto and zlib.
[propagated-inputs]: Add libxcb.
---
 gnu/packages/gtk.scm | 38 ++++++++++++++++++++++++++------------
 1 file changed, 26 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index eb76b11e91..f7184acb23 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -137,30 +137,44 @@ tools have full access to view and control running applications.")
      `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
        #:configure-flags
        (list
-        "--enable-tee"
-        "--enable-xml"
         "--disable-static"
+        ;; XXX: To be enabled.
+        ;; "--enable-gallium=yes"
+        ;; "--enable-gl=yes"
+        ;; " --enable-glesv2=yes"
+        ;; "--enable-glesv3=yes"
+        ;; "--enable-cogl=yes"
+        ;; "--enable-directfb=yes"
+        ;; "--enable-vg=yes"
+        "--enable-tee=yes"
+        "--enable-xml=yes"
         (string-append "--with-html-dir="
                        (assoc-ref %outputs "doc")
                        "/share/gtk-doc/html"))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)))
     (inputs
-     `(("ghostscript" ,ghostscript)
+     `(("drm" ,libdrm)
+       ("ghostscript" ,ghostscript)
        ("libspectre" ,libspectre)
-       ("poppler" ,poppler)
-       ("xorgproto" ,xorgproto)
-       ("zlib" ,zlib)))
+       ("poppler" ,poppler)))
     (propagated-inputs
-     `(("fontconfig" ,fontconfig)
+     `( ;; ("cogl" ,cogl)
+       ;; ("directfb" ,directfb)
+       ("fontconfig" ,fontconfig)
        ("freetype" ,freetype)
        ("glib" ,glib)
+       ;; ("gtk+" ,gtk+)
        ("libpng" ,libpng)
-       ("libx11" ,libx11)
-       ("libxext" ,libxext)
-       ("libxrender" ,libxrender)
-       ("pixman" ,pixman)))
+       ;; ("librsvg" ,librsvg)
+       ;; ("opengl" ,mesa)
+       ("pixman" ,pixman)
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xext" ,libxext)
+       ("xrender" ,libxrender)))
     (synopsis "2D graphics library")
     (description
      "Cairo is a 2D graphics library with support for multiple output devices.
-- 
2.28.0


[-- Attachment #6: 0030-gnu-cairo-Update-synopsis-description-and-license.patch --]
[-- Type: text/x-patch, Size: 2276 bytes --]

From 97ed550e5a5c56184722fc14b8795c9030998cfd Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 24 Sep 2020 11:31:47 -0400
Subject: [PATCH 30/30] gnu: cairo: Update synopsis, description and license.

* gnu/packages/gtk.scm (cairo) [synopsis]: Modify.
[description]: Modify.
[license]: Modify.
---
 gnu/packages/gtk.scm | 25 ++++++++++---------------
 1 file changed, 10 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index f7184acb23..2afd3489d7 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -175,22 +175,17 @@ tools have full access to view and control running applications.")
        ("xcb" ,libxcb)
        ("xext" ,libxext)
        ("xrender" ,libxrender)))
-    (synopsis "2D graphics library")
-    (description
-     "Cairo is a 2D graphics library with support for multiple output devices.
-Currently supported output targets include the X Window System (via both
-Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
-output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
-Cairo is designed to produce consistent output on all output media while
-taking advantage of display hardware acceleration when available
-eg. through the X Render Extension).
-The cairo API provides operations similar to the drawing operators of
-PostScript and PDF.  Operations in cairo including stroking and filling cubic
-Bézier splines, transforming and compositing translucent images, and
-antialiased text rendering.  All drawing operations can be transformed by any
-affine transformation (scale, rotation, shear, etc.).")
+    (synopsis "Multi-platform 2D graphics library")
+    (description "Cairo is a 2D graphics library with support for multiple output
+devices.  Currently supported output targets include the X Window System (via
+both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
+output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
     (home-page "https://cairographics.org/")
-    (license license:lgpl2.1)))
+    (license
+     ;; This project is dual-licensed.
+     (list
+      license:lgpl2.1+
+      license:mpl1.1))))
 
 (define-public cairo-xcb
   (package
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 03/29] gnu: glib: Update package definition.
  2020-09-24 12:28 ` [bug#42958] [PATCH core-updates 03/29] gnu: glib: " Raghav Gururajan
  2020-09-24 12:55   ` Efraim Flashner
@ 2020-09-27 10:12   ` Danny Milosavljevic
  1 sibling, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-09-27 10:12 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 42958

[-- Attachment #1: Type: text/plain, Size: 161 bytes --]

What about those failed tests?  Can we fix those?

If not, please add a comment in the embedded patch (where it disables the test)
why the test is disabled.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] [PATCH core-updates 03/29] gnu: glib: Update package definition.
  2020-09-24 12:55   ` Efraim Flashner
@ 2020-11-29 12:21     ` Danny Milosavljevic
  2020-12-04  6:08     ` [bug#42958] Raghav Gururajan via Guix-patches via
  1 sibling, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-11-29 12:21 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 42958, Efraim Flashner

[-- Attachment #1: Type: text/plain, Size: 99 bytes --]

Hi Raghav,

could you consider updating the patch to incorporate Efraim's changes,
if desired?

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958] ([PATCH core-updates 00/29] Big changes from wip-desktop.)
       [not found] ` <handler.42958.B.159793618623098.ack@debbugs.gnu.org>
@ 2020-12-01 21:07   ` Danny Milosavljevic
  0 siblings, 0 replies; 68+ messages in thread
From: Danny Milosavljevic @ 2020-12-01 21:07 UTC (permalink / raw)
  Cc: 42958

[-- Attachment #1: Type: text/plain, Size: 939 bytes --]

Pushed all these changes to guix master, except for:

0009-gnu-glib-Make-some-cosmetic-changes.patch
0010-gnu-glib-Update-to-2.64.3.patch
0011-gnu-glib-Update-synopsis-and-description.patch
0012-gnu-glib-with-documentation-Make-some-cosmetic-chang.patch
0013-gnu-glib-with-documentation-Fix-documentation.patch
0023-gnu-openjpeg-Enable-documentation.patch
0024-gnu-openjpeg-Enable-some-features.patch
0026-gnu-cairo-Make-some-cosmetic-changes.patch
0027-gnu-cairo-Change-build-system.patch
0028-gnu-cairo-Move-documentation-to-separate-output.patch
0029-gnu-cairo-Enable-some-features.patch
0030-gnu-cairo-Update-synopsis-description-and-license.patch
*-gnu-pixman-Update-synopsis-and-description.patch

Mostly because these did not apply to master cleanly, and I've only tested the
set that did apply cleanly.

Note: first uninvolved past commit on guix master is now
commit af1225a3663e73458bf8941d8373c68f9ad6bae2.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 68+ messages in thread

* [bug#42958]
  2020-09-24 12:55   ` Efraim Flashner
  2020-11-29 12:21     ` Danny Milosavljevic
@ 2020-12-04  6:08     ` Raghav Gururajan via Guix-patches via
  1 sibling, 0 replies; 68+ messages in thread
From: Raghav Gururajan via Guix-patches via @ 2020-12-04  6:08 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 42958, Efraim Flashner

[-- Attachment #1: Type: text/plain, Size: 181 bytes --]

@Danny

> could you consider updating the patch to incorporate Efraim's changes,
> if desired?

Please find the revised patches attached, for glib and cairo.

Regards,
RG.

[-- Attachment #2: 0001-gnu-glib-Make-some-cosmetic-changes.patch --]
[-- Type: application/octet-stream, Size: 20568 bytes --]

From 107c649ff6c1db6e325217a2a7f8341b5526e1b5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 1 Dec 2020 18:52:09 -0500
Subject: [PATCH 01/11] gnu: glib: Make some cosmetic changes.

* gnu/packages/glib.scm (glib): Make some cosmetic changes.
---
 gnu/packages/glib.scm | 401 ++++++++++++++++++++----------------------
 1 file changed, 193 insertions(+), 208 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 43523e516d..5ef0a4e515 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -179,214 +179,199 @@ shared NFS home directories.")
 
 (define glib
   (package
-   (name "glib")
-   (version "2.62.6")
-   (replacement glib-with-gio-patch)
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/"
-                                name "/" (string-take version 4) "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
-            (patches (search-patches "glib-tests-timer.patch"))
-            (modules '((guix build utils)))
-            (snippet
-             '(begin
-                (substitute* "tests/spawn-test.c"
-                  (("/bin/sh") "sh"))
-                #t))))
-   (build-system meson-build-system)
-   (outputs '("out"           ; everything
-              "bin"))         ; glib-mkenums, gtester, etc.; depends on Python
-   (propagated-inputs
-    `(("pcre" ,pcre)  ; in the Requires.private field of glib-2.0.pc
-      ("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
-      ;; These are in the Requires.private field of gio-2.0.pc
-      ("util-linux" ,util-linux "lib")  ;for libmount
-      ("libselinux" ,libselinux)
-      ("zlib" ,zlib)))
-   (native-inputs
-    `(("gettext" ,gettext-minimal)
-      ("m4" ,m4) ; for installing m4 macros
-      ("dbus" ,dbus)                              ; for GDBus tests
-      ("pkg-config" ,pkg-config)
-      ("python" ,python-wrapper)
-      ("perl" ,perl)                              ; needed by GIO tests
-      ("tzdata" ,tzdata-for-tests)))                  ; for tests/gdatetime.c
-   (arguments
-    `(#:disallowed-references (,tzdata-for-tests)
-      #:phases
-      (modify-phases %standard-phases
-        (add-after 'unpack 'patch-dbus-launch-path
-          (lambda* (#:key inputs #:allow-other-keys)
-            (let ((dbus (assoc-ref inputs "dbus")))
-              (substitute* "gio/gdbusaddress.c"
-                (("command_line = g_strdup_printf \\(\"dbus-launch")
-                 (string-append "command_line = g_strdup_printf (\""
-                                dbus "/bin/dbus-launch")))
-              #t)))
-        (add-after 'unpack 'patch-gio-launch-desktop
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out")))
-              ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
-              ;; for another future fix.
-              (substitute* "gio/gdesktopappinfo.c"
-               (("gio-launch-desktop")
-                (string-append out "/libexec/gio-launch-desktop")))
-              #t)))
-        (add-before 'build 'pre-build
-          (lambda* (#:key inputs outputs #:allow-other-keys)
-            ;; For tests/gdatetime.c.
-            (setenv "TZDIR"
-                    (string-append (assoc-ref inputs "tzdata")
-                                   "/share/zoneinfo"))
-
-            ;; Some tests want write access there.
-            (setenv "HOME" (getcwd))
-            (setenv "XDG_CACHE_HOME" (getcwd))
-            #t))
-        (add-after 'unpack 'disable-failing-tests
-          (lambda _
-            (let ((disable
-                   (lambda (test-file test-paths)
-                     (define pattern+procs
-                       (map (lambda (test-path)
-                              (cons
-                               ;; XXX: only works for single line statements.
-                               (format #f "g_test_add_func.*\"~a\".*" test-path)
-                               (const "")))
-                            test-paths))
-                     (substitute test-file pattern+procs)))
-                  (failing-tests
-                   '(("glib/tests/thread.c"
-                      (;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
-                       ;; as found on hydra.gnu.org, and strace(1) doesn't
-                       ;; recognize it.
-                       "/thread/thread4"))
-
-                     ;; This tries to find programs in FHS directories.
-                     ("glib/tests/utils.c"
-                      ("/utils/find-program"))
-
-                     ;; This fails because "glib/tests/echo-script" cannot be
-                     ;; found.
-                     ("glib/tests/spawn-singlethread.c"
-                      ("/gthread/spawn-script"))
-
-                     ("glib/tests/timer.c"
-                      (;; fails if compiler optimizations are enabled, which they
-                       ;; are by default.
-                       "/timer/stop"))
-
-                     ("gio/tests/gapplication.c"
-                      (;; XXX: proven to be unreliable.  See:
-                       ;;  <https://bugs.debian.org/756273>
-                       ;;  <http://bugs.gnu.org/18445>
-                       "/gapplication/quit"
-
-                       ;; XXX: fails randomly for unknown reason. See:
-                       ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
-                       "/gapplication/local-actions"))
-
-                     ("gio/tests/contenttype.c"
-                      (;; XXX: requires shared-mime-info.
-                       "/contenttype/guess"
-                       "/contenttype/guess_svg_from_data"
-                       "/contenttype/subtype"
-                       "/contenttype/list"
-                       "/contenttype/icon"
-                       "/contenttype/symbolic-icon"
-                       "/contenttype/tree"))
-
-                     ("gio/tests/appinfo.c"
-                      (;; XXX: requires update-desktop-database.
-                       "/appinfo/associations"))
-
-                     ("gio/tests/desktop-app-info.c"
-                      (;; XXX: requires update-desktop-database.
-                       "/desktop-app-info/delete"
-                       "/desktop-app-info/default"
-                       "/desktop-app-info/fallback"
-                       "/desktop-app-info/lastused"
-                       "/desktop-app-info/search"))
-
-                     ("gio/tests/gdbus-peer.c"
-                      (;; Requires /etc/machine-id.
-                       "/gdbus/codegen-peer-to-peer"))
-
-                     ("gio/tests/gdbus-address-get-session.c"
-                      (;; Requires /etc/machine-id.
-                       "/gdbus/x11-autolaunch"))
-
-                     ("gio/tests/gsocketclient-slow.c"
-                      (;; These tests tries to resolve "localhost", and fails.
-                       "/socket-client/happy-eyeballs/slow"
-                       "/socket-client/happy-eyeballs/cancellation/delayed"))
-
-                     )))
-              (for-each (lambda (x) (apply disable x)) failing-tests)
-              #t)))
-        (replace 'check
-          (lambda _
-            (setenv "MESON_TESTTHREADS"
-                    (number->string (parallel-job-count)))
-            ;; Do not run tests marked as "flaky".
-            (invoke "meson" "test" "--no-suite" "flaky")))
-        ;; TODO: meson does not permit the bindir to be outside of prefix.
-        ;; See https://github.com/mesonbuild/meson/issues/2561
-        ;; We can remove this once meson is patched.
-        (add-after 'install 'move-executables
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out"))
-                  (bin (assoc-ref outputs "bin")))
-              (mkdir-p bin)
-              (rename-file (string-append out "/bin")
-                           (string-append bin "/bin"))
-              ;; This one is an implementation detail of glib.
-              ;; It is wrong that that's in "/bin" in the first place,
-              ;; but that's what upstream is doing right now.
-              ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
-              (mkdir (string-append out "/libexec"))
-              (rename-file (string-append bin "/bin/gio-launch-desktop")
-                           (string-append out "/libexec/gio-launch-desktop"))
-              ;; 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=\\$\\{prefix\\}/bin") "")
-                (("=\\$\\{bindir\\}/") "="))
-              #t))))))
-      ;; TODO: see above for explanation.
-      ;; #:configure-flags (list (string-append "--bindir="
-      ;;                                        (assoc-ref %outputs "bin")
-      ;;                                        "/bin"))
-
-   (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
-    ;; path for .gir files, and it's also a search path for schemas produced
-    ;; by 'glib-compile-schemas'.
-    (list (search-path-specification
-           (variable "XDG_DATA_DIRS")
-           (files '("share")))
-          ;; To load extra gio modules from glib-networking, etc.
-          (search-path-specification
-           (variable "GIO_EXTRA_MODULES")
-           (files '("lib/gio/modules")))))
-   (search-paths native-search-paths)
-   (properties '((hidden? . #t)))
-
-   (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
-   (description
-    "GLib provides data structure handling for C, portability wrappers,
-and interfaces for such runtime functionality as an event loop, threads,
-dynamic loading, and an object system.")
-   (home-page "https://developer.gnome.org/glib/")
-   (license license:lgpl2.1+)))
+    (name "glib")
+    (version "2.62.6")
+    (properties '((hidden? . #t)))
+    (replacement glib-with-gio-patch)
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/"
+                       name "/" (string-take version 4) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
+       (patches
+        (search-patches "glib-tests-timer.patch"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (substitute* "tests/spawn-test.c"
+             (("/bin/sh") "sh"))
+           #t))))
+    (build-system meson-build-system)
+    (outputs '("out"  ; everything
+               "bin")) ; glib-mkenums, gtester, etc.; depends on Python
+    (arguments
+     `(#:disallowed-references (,tzdata-for-tests)
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-dbus-launch-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((dbus (assoc-ref inputs "dbus")))
+               (substitute* "gio/gdbusaddress.c"
+                 (("command_line = g_strdup_printf \\(\"dbus-launch")
+                  (string-append "command_line = g_strdup_printf (\""
+                                 dbus "/bin/dbus-launch")))
+               #t)))
+         (add-after 'unpack 'patch-gio-launch-desktop
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
+               ;; for another future fix.
+               (substitute* "gio/gdesktopappinfo.c"
+                 (("gio-launch-desktop")
+                  (string-append out "/libexec/gio-launch-desktop")))
+               #t)))
+         (add-before 'build 'pre-build
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             ;; For tests/gdatetime.c.
+             (setenv "TZDIR"
+                     (string-append (assoc-ref inputs "tzdata")
+                                    "/share/zoneinfo"))
+             ;; Some tests want write access there.
+             (setenv "HOME" (getcwd))
+             (setenv "XDG_CACHE_HOME" (getcwd))
+             #t))
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (let ((disable
+                    (lambda (test-file test-paths)
+                      (define pattern+procs
+                        (map (lambda (test-path)
+                               (cons
+                                ;; XXX: only works for single line statements.
+                                (format #f "g_test_add_func.*\"~a\".*" test-path)
+                                (const "")))
+                             test-paths))
+                      (substitute test-file pattern+procs)))
+                   (failing-tests
+                    '(("glib/tests/thread.c"
+                       ( ;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
+                        ;; as found on hydra.gnu.org, and strace(1) doesn't
+                        ;; recognize it.
+                        "/thread/thread4"))
+                      ;; This tries to find programs in FHS directories.
+                      ("glib/tests/utils.c"
+                       ("/utils/find-program"))
+                      ;; This fails because "glib/tests/echo-script" cannot be
+                      ;; found.
+                      ("glib/tests/spawn-singlethread.c"
+                       ("/gthread/spawn-script"))
+                      ("glib/tests/timer.c"
+                       ( ;; fails if compiler optimizations are enabled, which they
+                        ;; are by default.
+                        "/timer/stop"))
+                      ("gio/tests/gapplication.c"
+                       ( ;; XXX: proven to be unreliable.  See:
+                        ;;  <https://bugs.debian.org/756273>
+                        ;;  <http://bugs.gnu.org/18445>
+                        "/gapplication/quit"
+                        ;; XXX: fails randomly for unknown reason. See:
+                        ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
+                        "/gapplication/local-actions"))
+                      ("gio/tests/contenttype.c"
+                       ( ;; XXX: requires shared-mime-info.
+                        "/contenttype/guess"
+                        "/contenttype/guess_svg_from_data"
+                        "/contenttype/subtype"
+                        "/contenttype/list"
+                        "/contenttype/icon"
+                        "/contenttype/symbolic-icon"
+                        "/contenttype/tree"))
+                      ("gio/tests/appinfo.c"
+                       ( ;; XXX: requires update-desktop-database.
+                        "/appinfo/associations"))
+                      ("gio/tests/desktop-app-info.c"
+                       ( ;; XXX: requires update-desktop-database.
+                        "/desktop-app-info/delete"
+                        "/desktop-app-info/default"
+                        "/desktop-app-info/fallback"
+                        "/desktop-app-info/lastused"
+                        "/desktop-app-info/search"))
+                      ("gio/tests/gdbus-peer.c"
+                       ( ;; Requires /etc/machine-id.
+                        "/gdbus/codegen-peer-to-peer"))
+                      ("gio/tests/gdbus-address-get-session.c"
+                       ( ;; Requires /etc/machine-id.
+                        "/gdbus/x11-autolaunch"))
+                      ("gio/tests/gsocketclient-slow.c"
+                       ( ;; These tests tries to resolve "localhost", and fails.
+                        "/socket-client/happy-eyeballs/slow"
+                        "/socket-client/happy-eyeballs/cancellation/delayed")))))
+               (for-each (lambda (x) (apply disable x)) failing-tests)
+               #t)))
+         (replace 'check
+           (lambda _
+             (setenv "MESON_TESTTHREADS"
+                     (number->string (parallel-job-count)))
+             ;; Do not run tests marked as "flaky".
+             (invoke "meson" "test" "--no-suite" "flaky")))
+         ;; TODO: meson does not permit the bindir to be outside of prefix.
+         ;; See https://github.com/mesonbuild/meson/issues/2561
+         ;; We can remove this once meson is patched.
+         (add-after 'install 'move-executables
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (bin (assoc-ref outputs "bin")))
+               (mkdir-p bin)
+               (rename-file (string-append out "/bin")
+                            (string-append bin "/bin"))
+               ;; This one is an implementation detail of glib.
+               ;; It is wrong that that's in "/bin" in the first place,
+               ;; but that's what upstream is doing right now.
+               ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
+               (mkdir (string-append out "/libexec"))
+               (rename-file (string-append bin "/bin/gio-launch-desktop")
+                            (string-append out "/libexec/gio-launch-desktop"))
+               ;; 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=\\$\\{prefix\\}/bin") "")
+                 (("=\\$\\{bindir\\}/") "="))
+               #t))))))
+    ;; TODO: see above for explanation.
+    ;; #:configure-flags (list (string-append "--bindir="
+    ;;                                        (assoc-ref %outputs "bin")
+    ;;                                        "/bin"))
+    (native-inputs
+     `(("dbus" ,dbus)                   ; for GDBus tests
+       ("gettext" ,gettext-minimal)
+       ("m4" ,m4)                       ; for installing m4 macros
+       ("perl" ,perl)                   ; needed by GIO tests
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("tzdata" ,tzdata-for-tests)))   ; for tests/gdatetime.c
+    (propagated-inputs
+     `(("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
+       ("libselinux" ,libselinux) ; in the Requires.private field of gio-2.0.pc
+       ("pcre" ,pcre)   ; in the Requires.private field of glib-2.0.pc
+       ("util-linux" ,util-linux "lib") ;for libmount
+       ("zlib" ,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
+     ;; path for .gir files, and it's also a search path for schemas produced
+     ;; by 'glib-compile-schemas'.
+     (list
+      (search-path-specification
+       (variable "XDG_DATA_DIRS")
+       (files '("share")))
+      ;; To load extra gio modules from glib-networking, etc.
+      (search-path-specification
+       (variable "GIO_EXTRA_MODULES")
+       (files '("lib/gio/modules")))))
+    (search-paths native-search-paths)
+    (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
+    (description "GLib provides data structure handling for C, portability
+wrappers, and interfaces for such runtime functionality as an event loop,
+threads, dynamic loading, and an object system.")
+    (home-page "https://developer.gnome.org/glib/")
+    (license license:lgpl2.1+)))
 
 (define glib-with-gio-patch
   ;; GLib with a fix for <https://bugs.gnu.org/35594>.
-- 
2.29.2


[-- Attachment #3: 0002-gnu-glib-Update-to-2.64.3.patch --]
[-- Type: application/octet-stream, Size: 17123 bytes --]

From ed6500a8bed1b364e530593dae4e46b19d9fa6d0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 3 Dec 2020 23:43:36 -0500
Subject: [PATCH 02/11] gnu: glib: Update to 2.64.3.

* gnu/packages/glib.scm (glib) [version]: Update to 2.64.3.
[source]<origin>[sha256]: Modify base32.
[patches]: Add glib-disable-failing-tests.patch.
Remove glib-tests-timer.patch.
[arguments]<#:disallowed-references>: Remove argument.
<#:phases>['patch-python-references]: New phase.
['pre-check]: New phase.
['move-bin]: New phase.
['patch-dbus-launch-path]: Remove phase.
['patch-gio-launch-desktop]: Remove phase.
['pre-build]: Remove phase.
['disable-failing-tests]: Remove phase.
['check]: Remove phase.
['move-executables]: Remove phase.
[native-inputs]: Add intltool, python, libxml2 and libxslt.
Remove dbus.
[inputs]: Add dbus and libelf.
* gnu/packages/patches/glib-disable-failing-tests.patch: New file.
* gnu/packages/patches/glib-tests-timer.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust.
---
 gnu/local.mk                                  |   2 +-
 gnu/packages/glib.scm                         | 174 +++++-------------
 .../patches/glib-disable-failing-tests.patch  |  84 +++++++++
 gnu/packages/patches/glib-tests-timer.patch   |  15 --
 4 files changed, 132 insertions(+), 143 deletions(-)
 create mode 100644 gnu/packages/patches/glib-disable-failing-tests.patch
 delete mode 100644 gnu/packages/patches/glib-tests-timer.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 45a396368f..06dc6ba9ac 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1057,7 +1057,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/ghostscript-no-header-uuid.patch		\
   %D%/packages/patches/ghostscript-no-header-creationdate.patch \
   %D%/packages/patches/glib-appinfo-watch.patch			\
-  %D%/packages/patches/glib-tests-timer.patch			\
+  %D%/packages/patches/glib-disable-failing-tests.patch             \
   %D%/packages/patches/glibc-CVE-2018-11236.patch		\
   %D%/packages/patches/glibc-CVE-2018-11237.patch		\
   %D%/packages/patches/glibc-CVE-2019-7309.patch		\
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 5ef0a4e515..df355d50b7 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -39,6 +39,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages elf)
   #:use-module (gnu packages enlightenment)
   #:use-module (gnu packages file)
   #:use-module (gnu packages flex)
@@ -180,7 +181,7 @@ shared NFS home directories.")
 (define glib
   (package
     (name "glib")
-    (version "2.62.6")
+    (version "2.64.3")
     (properties '((hidden? . #t)))
     (replacement glib-with-gio-patch)
     (source
@@ -191,9 +192,9 @@ shared NFS home directories.")
                        name "/" (string-take version 4) "/"
                        name "-" version ".tar.xz"))
        (sha256
-        (base32 "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
+        (base32 "08pbgiv5m3rica4ydvwvpq5mrxbyswx7l1jzjc2ch52xjabvr77y"))
        (patches
-        (search-patches "glib-tests-timer.patch"))
+        (search-patches "glib-disable-failing-tests.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -201,30 +202,27 @@ shared NFS home directories.")
              (("/bin/sh") "sh"))
            #t))))
     (build-system meson-build-system)
-    (outputs '("out"  ; everything
+    (outputs '("out"   ; everything
                "bin")) ; glib-mkenums, gtester, etc.; depends on Python
     (arguments
      `(#:disallowed-references (,tzdata-for-tests)
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'patch-dbus-launch-path
+         ;; Python references are not being patched in patch-phase of build,
+         ;; despite using python-wrapper as input. So we patch them manually.
+         (add-after 'unpack 'patch-python-references
            (lambda* (#:key inputs #:allow-other-keys)
-             (let ((dbus (assoc-ref inputs "dbus")))
-               (substitute* "gio/gdbusaddress.c"
-                 (("command_line = g_strdup_printf \\(\"dbus-launch")
-                  (string-append "command_line = g_strdup_printf (\""
-                                 dbus "/bin/dbus-launch")))
-               #t)))
-         (add-after 'unpack 'patch-gio-launch-desktop
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
-               ;; for another future fix.
-               (substitute* "gio/gdesktopappinfo.c"
-                 (("gio-launch-desktop")
-                  (string-append out "/libexec/gio-launch-desktop")))
-               #t)))
-         (add-before 'build 'pre-build
+             (substitute* '("gio/gdbus-2.0/codegen/gdbus-codegen.in"
+                            "glib/gtester-report.in"
+                            "gobject/glib-genmarshal.in"
+                            "gobject/glib-mkenums.in")
+               (("@PYTHON@")
+                (string-append (assoc-ref inputs "python")
+                               "/bin/python"
+                               ,(version-major+minor
+                                 (package-version python)))))
+             #t))
+         (add-before 'check 'pre-check
            (lambda* (#:key inputs outputs #:allow-other-keys)
              ;; For tests/gdatetime.c.
              (setenv "TZDIR"
@@ -234,124 +232,46 @@ shared NFS home directories.")
              (setenv "HOME" (getcwd))
              (setenv "XDG_CACHE_HOME" (getcwd))
              #t))
-         (add-after 'unpack 'disable-failing-tests
-           (lambda _
-             (let ((disable
-                    (lambda (test-file test-paths)
-                      (define pattern+procs
-                        (map (lambda (test-path)
-                               (cons
-                                ;; XXX: only works for single line statements.
-                                (format #f "g_test_add_func.*\"~a\".*" test-path)
-                                (const "")))
-                             test-paths))
-                      (substitute test-file pattern+procs)))
-                   (failing-tests
-                    '(("glib/tests/thread.c"
-                       ( ;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
-                        ;; as found on hydra.gnu.org, and strace(1) doesn't
-                        ;; recognize it.
-                        "/thread/thread4"))
-                      ;; This tries to find programs in FHS directories.
-                      ("glib/tests/utils.c"
-                       ("/utils/find-program"))
-                      ;; This fails because "glib/tests/echo-script" cannot be
-                      ;; found.
-                      ("glib/tests/spawn-singlethread.c"
-                       ("/gthread/spawn-script"))
-                      ("glib/tests/timer.c"
-                       ( ;; fails if compiler optimizations are enabled, which they
-                        ;; are by default.
-                        "/timer/stop"))
-                      ("gio/tests/gapplication.c"
-                       ( ;; XXX: proven to be unreliable.  See:
-                        ;;  <https://bugs.debian.org/756273>
-                        ;;  <http://bugs.gnu.org/18445>
-                        "/gapplication/quit"
-                        ;; XXX: fails randomly for unknown reason. See:
-                        ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
-                        "/gapplication/local-actions"))
-                      ("gio/tests/contenttype.c"
-                       ( ;; XXX: requires shared-mime-info.
-                        "/contenttype/guess"
-                        "/contenttype/guess_svg_from_data"
-                        "/contenttype/subtype"
-                        "/contenttype/list"
-                        "/contenttype/icon"
-                        "/contenttype/symbolic-icon"
-                        "/contenttype/tree"))
-                      ("gio/tests/appinfo.c"
-                       ( ;; XXX: requires update-desktop-database.
-                        "/appinfo/associations"))
-                      ("gio/tests/desktop-app-info.c"
-                       ( ;; XXX: requires update-desktop-database.
-                        "/desktop-app-info/delete"
-                        "/desktop-app-info/default"
-                        "/desktop-app-info/fallback"
-                        "/desktop-app-info/lastused"
-                        "/desktop-app-info/search"))
-                      ("gio/tests/gdbus-peer.c"
-                       ( ;; Requires /etc/machine-id.
-                        "/gdbus/codegen-peer-to-peer"))
-                      ("gio/tests/gdbus-address-get-session.c"
-                       ( ;; Requires /etc/machine-id.
-                        "/gdbus/x11-autolaunch"))
-                      ("gio/tests/gsocketclient-slow.c"
-                       ( ;; These tests tries to resolve "localhost", and fails.
-                        "/socket-client/happy-eyeballs/slow"
-                        "/socket-client/happy-eyeballs/cancellation/delayed")))))
-               (for-each (lambda (x) (apply disable x)) failing-tests)
-               #t)))
-         (replace 'check
-           (lambda _
-             (setenv "MESON_TESTTHREADS"
-                     (number->string (parallel-job-count)))
-             ;; Do not run tests marked as "flaky".
-             (invoke "meson" "test" "--no-suite" "flaky")))
-         ;; TODO: meson does not permit the bindir to be outside of prefix.
-         ;; See https://github.com/mesonbuild/meson/issues/2561
-         ;; We can remove this once meson is patched.
-         (add-after 'install 'move-executables
+         ;; Meson does not permit the bindir to be outside of prefix.
+         (add-after 'install 'move-bin
            (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (bin (assoc-ref outputs "bin")))
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (assoc-ref outputs "bin")))
                (mkdir-p bin)
-               (rename-file (string-append out "/bin")
-                            (string-append bin "/bin"))
-               ;; This one is an implementation detail of glib.
-               ;; It is wrong that that's in "/bin" in the first place,
-               ;; but that's what upstream is doing right now.
-               ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
-               (mkdir (string-append out "/libexec"))
-               (rename-file (string-append bin "/bin/gio-launch-desktop")
-                            (string-append out "/libexec/gio-launch-desktop"))
+               (rename-file
+                (string-append out "/bin")
+                (string-append bin "/bin"))
                ;; 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"))
+               (substitute*
+                   (list
+                    (string-append out "/lib/pkgconfig/gio-2.0.pc")
+                    (string-append out "/lib/pkgconfig/glib-2.0.pc"))
                  (("bindir=\\$\\{prefix\\}/bin") "")
                  (("=\\$\\{bindir\\}/") "="))
                #t))))))
-    ;; TODO: see above for explanation.
-    ;; #:configure-flags (list (string-append "--bindir="
-    ;;                                        (assoc-ref %outputs "bin")
-    ;;                                        "/bin"))
     (native-inputs
-     `(("dbus" ,dbus)                   ; for GDBus tests
-       ("gettext" ,gettext-minimal)
-       ("m4" ,m4)                       ; for installing m4 macros
-       ("perl" ,perl)                   ; needed by GIO tests
+     `(("gettext" ,gettext-minimal)
+       ("libintl" ,intltool)
+       ("m4" ,m4)
+       ("perl" ,perl)
        ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("tzdata" ,tzdata-for-tests)))   ; for tests/gdatetime.c
+       ("python-wrapper" ,python-wrapper)
+       ("python" ,python)               ; For 'patch-python-references
+       ("tzdata" ,tzdata-for-tests)
+       ("xmllint" ,libxml2)
+       ("xsltproc" ,libxslt)))
+    (inputs
+     `(("dbus" ,dbus)
+       ("libelf" ,libelf)))
     (propagated-inputs
-     `(("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
-       ("libselinux" ,libselinux) ; in the Requires.private field of gio-2.0.pc
-       ("pcre" ,pcre)   ; in the Requires.private field of glib-2.0.pc
-       ("util-linux" ,util-linux "lib") ;for libmount
-       ("zlib" ,zlib))) ; in the Requires.private field of glib-2.0.pc
+     `(("libffi" ,libffi)
+       ("libselinux" ,libselinux)
+       ("pcre" ,pcre)
+       ("util-linux" ,util-linux "lib")
+       ("zlib" ,zlib)))
     (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
diff --git a/gnu/packages/patches/glib-disable-failing-tests.patch b/gnu/packages/patches/glib-disable-failing-tests.patch
new file mode 100644
index 0000000000..3601c42030
--- /dev/null
+++ b/gnu/packages/patches/glib-disable-failing-tests.patch
@@ -0,0 +1,84 @@
+From a2e6783f2278ed32b1e552691ec5d67d6940757e Mon Sep 17 00:00:00 2001
+From: Raghav Gururajan <raghavgururajan@disroot.org>
+Date: Tue, 9 Jun 2020 05:17:53 -0400
+Subject: [PATCH] PATCH: Disable failing tests.
+
+---
+ gio/tests/meson.build  | 19 -------------------
+ glib/tests/meson.build |  2 --
+ 2 files changed, 21 deletions(-)
+
+diff --git a/gio/tests/meson.build b/gio/tests/meson.build
+index c7c3e3035..6e38eb39e 100644
+--- a/gio/tests/meson.build
++++ b/gio/tests/meson.build
+@@ -34,7 +34,6 @@ gio_tests = {
+   'buffered-output-stream' : {},
+   'cancellable' : {},
+   'contexts' : {},
+-  'contenttype' : {},
+   'converter-stream' : {},
+   'credentials' : {},
+   'data-input-stream' : {},
+@@ -78,7 +77,6 @@ gio_tests = {
+   'tls-certificate' : {'extra_sources' : ['gtesttlsbackend.c']},
+   'tls-interaction' : {'extra_sources' : ['gtesttlsbackend.c']},
+   'tls-database' : {'extra_sources' : ['gtesttlsbackend.c']},
+-  'gdbus-address-get-session' : {},
+   'win32-appinfo' : {},
+ }
+ 
+@@ -135,10 +133,6 @@ endif
+ if host_machine.system() != 'windows'
+   gio_tests += {
+     'file' : {},
+-    'gdbus-peer' : {
+-      'dependencies' : [libgdbus_example_objectmanager_dep],
+-      'install_rpath' : installed_tests_execdir
+-    },
+     'gdbus-peer-object-manager' : {},
+     'live-g-file' : {},
+     'socket-address' : {},
+@@ -173,19 +167,6 @@ if host_machine.system() != 'windows'
+     }
+   endif
+ 
+-  # Uninstalled because of the check-for-executable logic in DesktopAppInfo
+-  # unable to find the installed executable
+-  if not glib_have_cocoa
+-    gio_tests += {
+-      'appinfo' : {
+-        'install' : false,
+-      },
+-      'desktop-app-info' : {
+-        'install' : false,
+-      },
+-    }
+-  endif
+-
+   test_extra_programs += {
+     'basic-application' : {},
+     'dbus-launch' : {},
+diff --git a/glib/tests/meson.build b/glib/tests/meson.build
+index 8da477d19..9fa24dd49 100644
+--- a/glib/tests/meson.build
++++ b/glib/tests/meson.build
+@@ -103,7 +103,6 @@ glib_tests = {
+   'utf8-pointer' : {},
+   'utf8-validate' : {},
+   'utf8-misc' : {},
+-  'utils' : {},
+   'unicode' : {},
+   'uri' : {},
+   '1bit-mutex' : {},
+@@ -151,7 +150,6 @@ if host_machine.system() == 'windows'
+ else
+   glib_tests += {
+     'include' : {},
+-    'unix' : {},
+   }
+   if have_rtld_next
+     glib_tests += {
+-- 
+2.26.2
+
diff --git a/gnu/packages/patches/glib-tests-timer.patch b/gnu/packages/patches/glib-tests-timer.patch
deleted file mode 100644
index e37425c0c8..0000000000
--- a/gnu/packages/patches/glib-tests-timer.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-* On i686 floating-point roundoff errors could sometimes cause this check to
-  fail depending on the elapsed microseconds.  Improve rounding by adding a
-  fractional bit.
-
---- glib-2.40.0/glib/tests/timer.c	2014-03-05 08:05:42.000000000 -0600
-+++ glib-2.40.0/glib/tests/timer.c	2014-07-10 16:33:12.746862822 -0500
-@@ -35,7 +35,7 @@
-   elapsed = g_timer_elapsed (timer, &micros);
- 
-   g_assert_cmpfloat (elapsed, <, 1.0);
--  g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6)) % 1000000);
-+  g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6 + 0.5)) % 1000000);
- 
-   g_timer_destroy (timer);
- }
-- 
2.29.2


[-- Attachment #4: 0003-gnu-glib-Update-synopsis-description-and-home-page.patch --]
[-- Type: application/octet-stream, Size: 1271 bytes --]

From 0b76a46ee68c0cd816470af4370adc734d1a2188 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 3 Dec 2020 23:48:25 -0500
Subject: [PATCH 03/11] gnu: glib: Update synopsis, description and home-page.

* gnu/packages/glib.scm (glib) [synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
---
 gnu/packages/glib.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index df355d50b7..9ecf91ec81 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -286,11 +286,11 @@ shared NFS home directories.")
        (variable "GIO_EXTRA_MODULES")
        (files '("lib/gio/modules")))))
     (search-paths native-search-paths)
-    (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
+    (synopsis "Low-level core library for GNOME projects")
     (description "GLib provides data structure handling for C, portability
 wrappers, and interfaces for such runtime functionality as an event loop,
 threads, dynamic loading, and an object system.")
-    (home-page "https://developer.gnome.org/glib/")
+    (home-page "https://wiki.gnome.org/Projects/GLib")
     (license license:lgpl2.1+)))
 
 (define glib-with-gio-patch
-- 
2.29.2


[-- Attachment #5: 0004-gnu-glib-with-gio-patch-Make-some-cosmetic-changes.patch --]
[-- Type: application/octet-stream, Size: 1302 bytes --]

From b1128db7b5f8b0c1ce139c984169fa2eec70a71e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 3 Dec 2020 23:52:54 -0500
Subject: [PATCH 04/11] gnu: glib-with-gio-patch: Make some cosmetic changes.

* gnu/packages/glib.scm (glib-with-gio-patch): Make some cosmetic changes.
---
 gnu/packages/glib.scm | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 9ecf91ec81..b9e8fe96f5 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -298,10 +298,15 @@ threads, dynamic loading, and an object system.")
   ;; TODO: Fold into 'glib' above in the next rebuild cycle.
   (package
     (inherit glib)
-    (source (origin
-              (inherit (package-source glib))
-              (patches (cons (search-patch "glib-appinfo-watch.patch")
-                             (origin-patches (package-source glib))))))))
+    (source
+     (origin
+       (inherit
+        (package-source glib))
+       (patches
+        (cons
+         (search-patch "glib-appinfo-watch.patch")
+         (origin-patches
+          (package-source glib))))))))
 
 (define-public glib-with-documentation
   ;; glib's doc must be built in a separate package since it requires gtk-doc,
-- 
2.29.2


[-- Attachment #6: 0005-gnu-glib-with-documentation-Make-some-cosmetic-chang.patch --]
[-- Type: application/octet-stream, Size: 2615 bytes --]

From cbf980670c8551fd14bc3b58a4893353f2ebff4b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 00:07:45 -0500
Subject: [PATCH 05/11] gnu: glib-with-documentation: Make some cosmetic
 changes.

* gnu/packages/glib.scm (glib-with-documentation): Make some cosmetic changes.
---
 gnu/packages/glib.scm | 31 +++++++++++++++++++------------
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index b9e8fe96f5..c06e1c78e0 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -311,28 +311,35 @@ threads, dynamic loading, and an object system.")
 (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.
-  (package/inherit glib
-    (properties (alist-delete 'hidden? (package-properties glib)))
-    (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
+  (package
+    (inherit glib)
+    (properties
+     (alist-delete 'hidden?
+                   (package-properties glib)))
     (native-inputs
-     `(("gtk-doc" ,gtk-doc)             ; for the doc
-       ("docbook-xml" ,docbook-xml)
+     `(("docbook-xml" ,docbook-xml)
+       ("gtk-doc" ,gtk-doc)
        ("libxml2" ,libxml2)
        ,@(package-native-inputs glib)))
+    (outputs
+     (cons "doc"
+           (package-outputs glib)))
     (arguments
-     (substitute-keyword-arguments (package-arguments glib)
+     (substitute-keyword-arguments
+         (package-arguments glib)
        ((#:configure-flags flags ''())
         `(cons "-Dgtk_doc=true" ,flags))
        ((#:phases phases)
         `(modify-phases ,phases
            (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")))
-                 (copy-recursively (string-append out html)
-                                   (string-append doc html))
-                 (delete-file-recursively (string-append out html))
+               (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))
                  #t)))))))))
 
 (define gobject-introspection
-- 
2.29.2


[-- Attachment #7: 0006-gnu-glib-with-documentation-Fix-documentation-build.patch --]
[-- Type: application/octet-stream, Size: 2201 bytes --]

From a7d5d6c720c10e12ffb2df95be3ae7b9115ddcdc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 00:10:22 -0500
Subject: [PATCH 06/11] gnu: glib-with-documentation: Fix documentation build.

* gnu/packages/glib.scm (glib-with-documentation) [native-inputs]:
Add docbook-4.2. Remove libxml2.
[arguments]<#:phases>['patch-docbook-xml]: New phase.
---
 gnu/packages/glib.scm | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index c06e1c78e0..759be7194e 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -317,9 +317,9 @@ threads, dynamic loading, and an object system.")
      (alist-delete 'hidden?
                    (package-properties glib)))
     (native-inputs
-     `(("docbook-xml" ,docbook-xml)
+     `(("docbook-xml-4.2" ,docbook-xml-4.2)
+       ("docbook-xml-4.5" ,docbook-xml)
        ("gtk-doc" ,gtk-doc)
-       ("libxml2" ,libxml2)
        ,@(package-native-inputs glib)))
     (outputs
      (cons "doc"
@@ -331,6 +331,19 @@ threads, dynamic loading, and an object system.")
         `(cons "-Dgtk_doc=true" ,flags))
        ((#:phases phases)
         `(modify-phases ,phases
+           (add-after 'unpack 'patch-docbook-xml
+             (lambda* (#:key inputs #:allow-other-keys)
+               (with-directory-excursion "docs/reference"
+                 (substitute* '("gio/gdbus-object-manager-example/.*\\.xml"
+                                "gio/.*\\.xml" "glib/.*\\.xml" "gobject/.*\\.xml")
+                   (("http://www.oasis-open.org/docbook/xml/4.5/")
+                    (string-append (assoc-ref inputs "docbook-xml-4.5")
+                                   "/xml/dtd/docbook/")))
+                 (substitute* "gio/gio.xml"
+                   (("http://www.oasis-open.org/docbook/xml/4.2/")
+                    (string-append (assoc-ref inputs "docbook-xml-4.2")
+                                   "/xml/dtd/docbook/"))))
+               #t))
            (add-after 'install 'move-doc
              (lambda* (#:key outputs #:allow-other-keys)
                (let* ((out (assoc-ref outputs "out"))
-- 
2.29.2


[-- Attachment #8: 0007-gnu-cairo-Make-some-cosmetic-changes.patch --]
[-- Type: application/octet-stream, Size: 4561 bytes --]

From b56d0004177465a18d82b0131c54a53885bc6ae7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 00:49:10 -0500
Subject: [PATCH 07/11] gnu: cairo: Make some cosmetic changes.

* gnu/packages/gtk.scm (cairo): Make some cosmetic changes.
---
 gnu/packages/gtk.scm | 82 ++++++++++++++++++++++----------------------
 1 file changed, 41 insertions(+), 41 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 4e58c65ead..94fc52b7d0 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -121,57 +121,57 @@ tools have full access to view and control running applications.")
 
 (define-public cairo
   (package
-   (name "cairo")
-   (version "1.16.0")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "https://cairographics.org/releases/cairo-"
-                                version ".tar.xz"))
-            (sha256
-             (base32
-              "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
-   (build-system gnu-build-system)
-   (propagated-inputs
-    `(("fontconfig" ,fontconfig)
-      ("freetype" ,freetype)
-      ("glib" ,glib)
-      ("libpng" ,libpng)
-      ("libx11" ,libx11)
-      ("libxext" ,libxext)
-      ("libxrender" ,libxrender)
-      ("pixman" ,pixman)))
-   (inputs
-    `(("ghostscript" ,ghostscript)
-      ("libspectre" ,libspectre)
-      ("poppler" ,poppler)
-      ("xorgproto" ,xorgproto)
-      ("zlib" ,zlib)))
-   (native-inputs
-     `(("pkg-config" ,pkg-config)
-      ("python" ,python-wrapper)))
+    (name "cairo")
+    (version "1.16.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://cairographics.org/releases/cairo-"
+                       version ".tar.xz"))
+       (sha256
+        (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
+    (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f  ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
-       #:configure-flags '("--enable-tee"      ;needed for GNU Icecat
-                           "--enable-xml"      ;for cairo-xml support
-                           "--disable-static")))
-   (synopsis "2D graphics library")
-   (description
-    "Cairo is a 2D graphics library with support for multiple output devices.
-Currently supported output targets include the X Window System (via both
-Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
+     `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
+       #:configure-flags
+       (list
+        "--enable-tee"                    ;needed for GNU Icecat
+        "--enable-xml"                    ;for cairo-xml support
+        "--disable-static")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("ghostscript" ,ghostscript)
+       ("libspectre" ,libspectre)
+       ("poppler" ,poppler)
+       ("xorgproto" ,xorgproto)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("glib" ,glib)
+       ("libpng" ,libpng)
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
+       ("libxrender" ,libxrender)
+       ("pixman" ,pixman)))
+    (synopsis "2D graphics library")
+    (description "Cairo is a 2D graphics library with support for multiple output
+devices.  Currently supported output targets include the X Window System (via
+both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
 output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
-
 Cairo is designed to produce consistent output on all output media while
 taking advantage of display hardware acceleration when available
 eg. through the X Render Extension).
-
 The cairo API provides operations similar to the drawing operators of
 PostScript and PDF.  Operations in cairo including stroking and filling cubic
 Bézier splines, transforming and compositing translucent images, and
 antialiased text rendering.  All drawing operations can be transformed by any
 affine transformation (scale, rotation, shear, etc.).")
-   (license license:lgpl2.1) ; or Mozilla Public License 1.1
-   (home-page "https://cairographics.org/")))
+    (home-page "https://cairographics.org/")
+    (license license:lgpl2.1))) ; or Mozilla Public License 1.1
 
 (define-public cairo-sans-poppler
   ;; Variant used to break the dependency cycle between Poppler and Cairo.
-- 
2.29.2


[-- Attachment #9: 0008-gnu-cairo-Change-build-system.patch --]
[-- Type: application/octet-stream, Size: 975 bytes --]

From 4ad9203253f820ee8e251126c2052ec4e7696f86 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 00:51:10 -0500
Subject: [PATCH 08/11] gnu: cairo: Change build-system.

* gnu/packages/gtk.scm (cairo) [build-system]: Change from gnu to glib-or-gtk.
---
 gnu/packages/gtk.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 94fc52b7d0..a09a81184c 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -131,7 +131,7 @@ tools have full access to view and control running applications.")
                        version ".tar.xz"))
        (sha256
         (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
        #:configure-flags
-- 
2.29.2


[-- Attachment #10: 0009-gnu-cairo-Move-documentation-to-separate-output.patch --]
[-- Type: application/octet-stream, Size: 1564 bytes --]

From abf4160f4c68bd8c42d372b2ff103868ea88693c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 00:53:16 -0500
Subject: [PATCH 09/11] gnu: cairo: Move documentation to separate output.

* gnu/packages/gtk.scm (cairo) [outputs]: New output "doc".
[arguments]<#:configure-flags>[--with-html-dir]: New flag.
---
 gnu/packages/gtk.scm | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index a09a81184c..6371d71471 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -132,13 +132,17 @@ tools have full access to view and control running applications.")
        (sha256
         (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
     (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
     (arguments
      `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
        #:configure-flags
        (list
-        "--enable-tee"                    ;needed for GNU Icecat
-        "--enable-xml"                    ;for cairo-xml support
-        "--disable-static")))
+        "--enable-tee"                  ;needed for GNU Icecat
+        "--enable-xml"                  ;for cairo-xml support
+        "--disable-static"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)))
-- 
2.29.2


[-- Attachment #11: 0010-gnu-cairo-Enable-some-features.patch --]
[-- Type: application/octet-stream, Size: 2758 bytes --]

From 98b4c6b936d323ddfbce426b04267d65fd9e5722 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 01:02:00 -0500
Subject: [PATCH 10/11] gnu: cairo: Enable some features.

* gnu/packages/gtk.scm (cairo) [native-inputs]: Add gobject-introspection.
[inputs]: Add libdrm. Remove xorgproto and zlib.
[propagated-inputs]: Add libxcb.
---
 gnu/packages/gtk.scm | 39 +++++++++++++++++++++++++++------------
 1 file changed, 27 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 6371d71471..4f40672127 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -137,30 +137,45 @@ tools have full access to view and control running applications.")
      `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
        #:configure-flags
        (list
-        "--enable-tee"                  ;needed for GNU Icecat
-        "--enable-xml"                  ;for cairo-xml support
         "--disable-static"
+        ;; XXX: To be enabled.
+        ;; "--enable-gallium=yes"
+        ;; "--enable-gl=yes"
+        ;; " --enable-glesv2=yes"
+        ;; "--enable-glesv3=yes"
+        ;; "--enable-cogl=yes"
+        ;; "--enable-directfb=yes"
+        ;; "--enable-vg=yes"
+        "--enable-tee=yes"
+        "--enable-xml=yes"
         (string-append "--with-html-dir="
                        (assoc-ref %outputs "doc")
                        "/share/gtk-doc/html"))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)))
     (inputs
-     `(("ghostscript" ,ghostscript)
+     `(("drm" ,libdrm)
+       ("ghostscript" ,ghostscript)
        ("libspectre" ,libspectre)
-       ("poppler" ,poppler)
-       ("xorgproto" ,xorgproto)
-       ("zlib" ,zlib)))
+       ("poppler" ,poppler)))
     (propagated-inputs
-     `(("fontconfig" ,fontconfig)
+     `( ;; ("cogl" ,cogl)
+       ;; ("directfb" ,directfb)
+       ("fontconfig" ,fontconfig)
+       ("fontconfig" ,fontconfig)
        ("freetype" ,freetype)
        ("glib" ,glib)
+       ;; ("gtk+" ,gtk+)
        ("libpng" ,libpng)
-       ("libx11" ,libx11)
-       ("libxext" ,libxext)
-       ("libxrender" ,libxrender)
-       ("pixman" ,pixman)))
+       ;; ("librsvg" ,librsvg)
+       ;; ("opengl" ,mesa)
+       ("pixman" ,pixman)
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xext" ,libxext)
+       ("xrender" ,libxrender)))
     (synopsis "2D graphics library")
     (description "Cairo is a 2D graphics library with support for multiple output
 devices.  Currently supported output targets include the X Window System (via
-- 
2.29.2


[-- Attachment #12: 0011-gnu-cairo-Update-synopsis-description-and-license.patch --]
[-- Type: application/octet-stream, Size: 2124 bytes --]

From df853bd7c74ee3d73fff19decb1a8cd2e8e42c47 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 01:04:37 -0500
Subject: [PATCH 11/11] gnu: cairo: Update synopsis, description and license.

* gnu/packages/gtk.scm (cairo) [synopsis]: Modify.
[description]: Modify.
[license]: Modify.
---
 gnu/packages/gtk.scm | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 4f40672127..6d040ff2e1 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -176,21 +176,17 @@ tools have full access to view and control running applications.")
        ("xcb" ,libxcb)
        ("xext" ,libxext)
        ("xrender" ,libxrender)))
-    (synopsis "2D graphics library")
+    (synopsis "Multi-platform 2D graphics library")
     (description "Cairo is a 2D graphics library with support for multiple output
 devices.  Currently supported output targets include the X Window System (via
 both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
-output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
-Cairo is designed to produce consistent output on all output media while
-taking advantage of display hardware acceleration when available
-eg. through the X Render Extension).
-The cairo API provides operations similar to the drawing operators of
-PostScript and PDF.  Operations in cairo including stroking and filling cubic
-Bézier splines, transforming and compositing translucent images, and
-antialiased text rendering.  All drawing operations can be transformed by any
-affine transformation (scale, rotation, shear, etc.).")
+output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
     (home-page "https://cairographics.org/")
-    (license license:lgpl2.1))) ; or Mozilla Public License 1.1
+    (license
+     ;; This project is dual-licensed.
+     (list
+      license:lgpl2.1+
+      license:mpl1.1))))
 
 (define-public cairo-sans-poppler
   ;; Variant used to break the dependency cycle between Poppler and Cairo.
-- 
2.29.2


^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958]
  2020-08-20 15:09 [bug#42958] [PATCH core-updates 00/29] Big changes from wip-desktop Danny Milosavljevic
                   ` (11 preceding siblings ...)
       [not found] ` <handler.42958.B.159793618623098.ack@debbugs.gnu.org>
@ 2021-03-11 14:45 ` Raghav Gururajan via Guix-patches via
  2021-03-12 16:37 ` [bug#42958] Big changes from wip-desktop Raghav Gururajan via Guix-patches via
  13 siblings, 0 replies; 68+ messages in thread
From: Raghav Gururajan via Guix-patches via @ 2021-03-11 14:45 UTC (permalink / raw)
  To: 42958, Danny Milosavljevic


[-- Attachment #1.1.1: Type: text/plain, Size: 145 bytes --]

Hi Danny!

Please find the attached patches for glib and cairo, which I re-prepared 
to be applied on current core-updates.

Regards,
RG.

[-- Attachment #1.1.2: 0001-gnu-yelp-xsl-Update-to-3.36.0.patch --]
[-- Type: text/x-patch, Size: 1280 bytes --]

From 55c6e5d2a152645a8bc2de3bbfdd0ff16cb4f63f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 05:50:46 -0500
Subject: [PATCH 01/11] gnu: yelp-xsl: Update to 3.36.0.

* gnu/packages/gnome.scm (yelp-xsl) [version]: Update to 3.36.0.
---
 gnu/packages/gnome.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 36e3346499..eaea4c6cb6 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6701,7 +6701,7 @@ of running programs and invoke methods on those interfaces.")
 (define-public yelp-xsl
   (package
     (name "yelp-xsl")
-    (version "3.34.2")
+    (version "3.36.0")
     (source
      (origin
        (method url-fetch)
@@ -6710,7 +6710,7 @@ of running programs and invoke methods on those interfaces.")
                        (version-major+minor version) "/"
                        name "-" version ".tar.xz"))
        (sha256
-        (base32 "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc"))))
+        (base32 "1hsfj3q3a3kca0cf9i02xlq2qd4vy12qsjb89hh4r6mp6c11rrag"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("gettext-minimal" ,gettext-minimal)
-- 
2.30.1


[-- Attachment #1.1.3: 0002-gnu-glib-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 22207 bytes --]

From 4c405fac02e07558461c7dff67df5403ba21a74d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 06:39:29 -0500
Subject: [PATCH 02/11] gnu: glib: Make some cosmetic changes.

* gnu/packages/glib.scm (glib): Make some cosmetic changes.
---
 gnu/packages/glib.scm | 424 ++++++++++++++++++++----------------------
 1 file changed, 201 insertions(+), 223 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index fdbe6d0cdf..e5372c6f28 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -170,229 +170,207 @@ shared NFS home directories.")
 
 (define glib
   (package
-   (name "glib")
-   (version "2.62.6")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/"
-                                name "/" (string-take version 4) "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
-            (patches (search-patches "glib-appinfo-watch.patch"
-                                     "glib-tests-timer.patch"))
-            (modules '((guix build utils)))
-            (snippet
-             '(begin
-                (substitute* "tests/spawn-test.c"
-                  (("/bin/sh") "sh"))
-                #t))))
-   (build-system meson-build-system)
-   (outputs '("out"           ; everything
-              "bin"           ; glib-mkenums, gtester, etc.; depends on Python
-              "debug"))
-   (propagated-inputs
-    `(("pcre" ,pcre)  ; in the Requires.private field of glib-2.0.pc
-      ("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
-      ;; These are in the Requires.private field of gio-2.0.pc
-      ("util-linux" ,util-linux "lib")  ;for libmount
-      ("zlib" ,zlib)))
-   (native-inputs
-    `(("gettext" ,gettext-minimal)
-      ("m4" ,m4) ; for installing m4 macros
-      ("dbus" ,dbus)                              ; for GDBus tests
-      ("pkg-config" ,pkg-config)
-      ("python" ,python-minimal-wrapper)
-      ("perl" ,perl)                              ; needed by GIO tests
-      ("tzdata" ,tzdata-for-tests)))                  ; for tests/gdatetime.c
-   (arguments
-    `(#:disallowed-references (,tzdata-for-tests)
-      #:configure-flags '("-Dselinux=disabled")
-      #:phases
-      (modify-phases %standard-phases
-        (add-after 'unpack 'patch-dbus-launch-path
-          (lambda* (#:key inputs #:allow-other-keys)
-            (let ((dbus (assoc-ref inputs "dbus")))
-              (substitute* "gio/gdbusaddress.c"
-                (("command_line = g_strdup_printf \\(\"dbus-launch")
-                 (string-append "command_line = g_strdup_printf (\""
-                                dbus "/bin/dbus-launch")))
-              #t)))
-        (add-after 'unpack 'patch-gio-launch-desktop
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out")))
-              ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
-              ;; for another future fix.
-              (substitute* "gio/gdesktopappinfo.c"
-               (("gio-launch-desktop")
-                (string-append out "/libexec/gio-launch-desktop")))
-              #t)))
-        ;; TODO: Remove the conditional in the next core-updates cycle.
-        ;; Needed to build glib on slower ARM nodes.
-        ,@(if (string-prefix? "arm" (%current-system))
-              `((add-after 'unpack 'increase-test-timeout
-                  (lambda _
-                    (substitute* "meson.build"
-                      (("test_timeout = 60")
-                       "test_timeout = 90")
-                      (("test_timeout_slow = 120")
-                       "test_timeout_slow = 180")))))
-              '())
-        (add-before 'build 'pre-build
-          (lambda* (#:key inputs outputs #:allow-other-keys)
-            ;; For tests/gdatetime.c.
-            (setenv "TZDIR"
-                    (string-append (assoc-ref inputs "tzdata")
-                                   "/share/zoneinfo"))
-
-            ;; Some tests want write access there.
-            (setenv "HOME" (getcwd))
-            (setenv "XDG_CACHE_HOME" (getcwd))
-            #t))
-        (add-after 'unpack 'disable-failing-tests
-          (lambda _
-            (let ((disable
-                   (lambda (test-file test-paths)
-                     (define pattern+procs
-                       (map (lambda (test-path)
-                              (cons
-                               ;; XXX: only works for single line statements.
-                               (format #f "g_test_add_func.*\"~a\".*" test-path)
-                               (const "")))
-                            test-paths))
-                     (substitute test-file pattern+procs)))
-                  (failing-tests
-                   '(("glib/tests/thread.c"
-                      (;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
-                       ;; as found on hydra.gnu.org, and strace(1) doesn't
-                       ;; recognize it.
-                       "/thread/thread4"))
-
-                     ;; This tries to find programs in FHS directories.
-                     ("glib/tests/utils.c"
-                      ("/utils/find-program"))
-
-                     ;; This fails because "glib/tests/echo-script" cannot be
-                     ;; found.
-                     ("glib/tests/spawn-singlethread.c"
-                      ("/gthread/spawn-script"))
-
-                     ("glib/tests/timer.c"
-                      (;; fails if compiler optimizations are enabled, which they
-                       ;; are by default.
-                       "/timer/stop"))
-
-                     ("gio/tests/gapplication.c"
-                      (;; XXX: proven to be unreliable.  See:
-                       ;;  <https://bugs.debian.org/756273>
-                       ;;  <http://bugs.gnu.org/18445>
-                       "/gapplication/quit"
-
-                       ;; XXX: fails randomly for unknown reason. See:
-                       ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
-                       "/gapplication/local-actions"))
-
-                     ("gio/tests/contenttype.c"
-                      (;; XXX: requires shared-mime-info.
-                       "/contenttype/guess"
-                       "/contenttype/guess_svg_from_data"
-                       "/contenttype/subtype"
-                       "/contenttype/list"
-                       "/contenttype/icon"
-                       "/contenttype/symbolic-icon"
-                       "/contenttype/tree"))
-
-                     ("gio/tests/appinfo.c"
-                      (;; XXX: requires update-desktop-database.
-                       "/appinfo/associations"))
-
-                     ("gio/tests/desktop-app-info.c"
-                      (;; XXX: requires update-desktop-database.
-                       "/desktop-app-info/delete"
-                       "/desktop-app-info/default"
-                       "/desktop-app-info/fallback"
-                       "/desktop-app-info/lastused"
-                       "/desktop-app-info/search"))
-
-                     ("gio/tests/gdbus-peer.c"
-                      (;; Requires /etc/machine-id.
-                       "/gdbus/codegen-peer-to-peer"))
-
-                     ("gio/tests/gdbus-address-get-session.c"
-                      (;; Requires /etc/machine-id.
-                       "/gdbus/x11-autolaunch"))
-
-                     ("gio/tests/gsocketclient-slow.c"
-                      (;; These tests tries to resolve "localhost", and fails.
-                       "/socket-client/happy-eyeballs/slow"
-                       "/socket-client/happy-eyeballs/cancellation/delayed"))
-
-                     )))
-              (for-each (lambda (x) (apply disable x)) failing-tests)
-              #t)))
-        (replace 'check
-          (lambda* (#:key tests? #:allow-other-keys)
-            (if tests?
-                (begin
-                  (setenv "MESON_TESTTHREADS"
-                          (number->string (parallel-job-count)))
-                  ;; Do not run tests marked as "flaky".
-                  (invoke "meson" "test" "--no-suite" "flaky"))
-                #t)))
-        ;; TODO: meson does not permit the bindir to be outside of prefix.
-        ;; See https://github.com/mesonbuild/meson/issues/2561
-        ;; We can remove this once meson is patched.
-        (add-after 'install 'move-executables
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out"))
-                  (bin (assoc-ref outputs "bin")))
-              (mkdir-p bin)
-              (rename-file (string-append out "/bin")
-                           (string-append bin "/bin"))
-              ;; This one is an implementation detail of glib.
-              ;; It is wrong that that's in "/bin" in the first place,
-              ;; but that's what upstream is doing right now.
-              ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
-              (mkdir (string-append out "/libexec"))
-              (rename-file (string-append bin "/bin/gio-launch-desktop")
-                           (string-append out "/libexec/gio-launch-desktop"))
-              ;; 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=\\$\\{prefix\\}/bin") "")
-                (("=\\$\\{bindir\\}/") "="))
-              #t))))))
-      ;; TODO: see above for explanation.
-      ;; #:configure-flags (list (string-append "--bindir="
-      ;;                                        (assoc-ref %outputs "bin")
-      ;;                                        "/bin"))
-
-   (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
-    ;; path for .gir files, and it's also a search path for schemas produced
-    ;; by 'glib-compile-schemas'.
-    (list (search-path-specification
-           (variable "XDG_DATA_DIRS")
-           (files '("share")))
-          ;; To load extra gio modules from glib-networking, etc.
-          (search-path-specification
-           (variable "GIO_EXTRA_MODULES")
-           (files '("lib/gio/modules")))))
-   (search-paths native-search-paths)
-   (properties '((hidden? . #t)))
-
-   (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
-   (description
-    "GLib provides data structure handling for C, portability wrappers,
-and interfaces for such runtime functionality as an event loop, threads,
-dynamic loading, and an object system.")
-   (home-page "https://developer.gnome.org/glib/")
-   (license license:lgpl2.1+)))
+    (name "glib")
+    (version "2.62.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/"
+                       name "/" (string-take version 4) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
+       (patches
+        (search-patches "glib-tests-timer.patch" "glib-appinfo-watch.patch"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (substitute* "tests/spawn-test.c"
+             (("/bin/sh") "sh"))
+           #t))))
+    (build-system meson-build-system)
+    (outputs '("out"   ; everything
+               "bin")) ; glib-mkenums, gtester, etc.; depends on Python
+    (arguments
+     `(#:disallowed-references (,tzdata-for-tests)
+       #:phases
+       (modify-phases %standard-phases
+         ;; TODO: Remove the conditional in the next core-updates cycle.
+         ;; Needed to build glib on slower ARM nodes.
+         ,@(if (string-prefix? "arm" (%current-system))
+               `((add-after 'unpack 'increase-test-timeout
+                   (lambda _
+                     (substitute* "meson.build"
+                       (("test_timeout = 60")
+                        "test_timeout = 90")
+                       (("test_timeout_slow = 120")
+                        "test_timeout_slow = 180")))))
+               '())
+         (add-after 'unpack 'patch-dbus-launch-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((dbus (assoc-ref inputs "dbus")))
+               (substitute* "gio/gdbusaddress.c"
+                 (("command_line = g_strdup_printf \\(\"dbus-launch")
+                  (string-append "command_line = g_strdup_printf (\""
+                                 dbus "/bin/dbus-launch")))
+               #t)))
+         (add-after 'unpack 'patch-gio-launch-desktop
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
+               ;; for another future fix.
+               (substitute* "gio/gdesktopappinfo.c"
+                 (("gio-launch-desktop")
+                  (string-append out "/libexec/gio-launch-desktop")))
+               #t)))
+         (add-before 'build 'pre-build
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             ;; For tests/gdatetime.c.
+             (setenv "TZDIR"
+                     (string-append (assoc-ref inputs "tzdata")
+                                    "/share/zoneinfo"))
+             ;; Some tests want write access there.
+             (setenv "HOME" (getcwd))
+             (setenv "XDG_CACHE_HOME" (getcwd))
+             #t))
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (let ((disable
+                    (lambda (test-file test-paths)
+                      (define pattern+procs
+                        (map (lambda (test-path)
+                               (cons
+                                ;; XXX: only works for single line statements.
+                                (format #f "g_test_add_func.*\"~a\".*" test-path)
+                                (const "")))
+                             test-paths))
+                      (substitute test-file pattern+procs)))
+                   (failing-tests
+                    '(("glib/tests/thread.c"
+                       ( ;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
+                        ;; as found on hydra.gnu.org, and strace(1) doesn't
+                        ;; recognize it.
+                        "/thread/thread4"))
+                      ;; This tries to find programs in FHS directories.
+                      ("glib/tests/utils.c"
+                       ("/utils/find-program"))
+                      ;; This fails because "glib/tests/echo-script" cannot be
+                      ;; found.
+                      ("glib/tests/spawn-singlethread.c"
+                       ("/gthread/spawn-script"))
+                      ("glib/tests/timer.c"
+                       ( ;; fails if compiler optimizations are enabled, which they
+                        ;; are by default.
+                        "/timer/stop"))
+                      ("gio/tests/gapplication.c"
+                       ( ;; XXX: proven to be unreliable.  See:
+                        ;;  <https://bugs.debian.org/756273>
+                        ;;  <http://bugs.gnu.org/18445>
+                        "/gapplication/quit"
+                        ;; XXX: fails randomly for unknown reason. See:
+                        ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
+                        "/gapplication/local-actions"))
+                      ("gio/tests/contenttype.c"
+                       ( ;; XXX: requires shared-mime-info.
+                        "/contenttype/guess"
+                        "/contenttype/guess_svg_from_data"
+                        "/contenttype/subtype"
+                        "/contenttype/list"
+                        "/contenttype/icon"
+                        "/contenttype/symbolic-icon"
+                        "/contenttype/tree"))
+                      ("gio/tests/appinfo.c"
+                       ( ;; XXX: requires update-desktop-database.
+                        "/appinfo/associations"))
+                      ("gio/tests/desktop-app-info.c"
+                       ( ;; XXX: requires update-desktop-database.
+                        "/desktop-app-info/delete"
+                        "/desktop-app-info/default"
+                        "/desktop-app-info/fallback"
+                        "/desktop-app-info/lastused"
+                        "/desktop-app-info/search"))
+                      ("gio/tests/gdbus-peer.c"
+                       ( ;; Requires /etc/machine-id.
+                        "/gdbus/codegen-peer-to-peer"))
+                      ("gio/tests/gdbus-address-get-session.c"
+                       ( ;; Requires /etc/machine-id.
+                        "/gdbus/x11-autolaunch"))
+                      ("gio/tests/gsocketclient-slow.c"
+                       ( ;; These tests tries to resolve "localhost", and fails.
+                        "/socket-client/happy-eyeballs/slow"
+                        "/socket-client/happy-eyeballs/cancellation/delayed")))))
+               (for-each (lambda (x) (apply disable x)) failing-tests)
+               #t)))
+         (replace 'check
+           (lambda _
+             (setenv "MESON_TESTTHREADS"
+                     (number->string (parallel-job-count)))
+             ;; Do not run tests marked as "flaky".
+             (invoke "meson" "test" "--no-suite" "flaky")))
+         ;; TODO: meson does not permit the bindir to be outside of prefix.
+         ;; See https://github.com/mesonbuild/meson/issues/2561
+         ;; We can remove this once meson is patched.
+         (add-after 'install 'move-executables
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (bin (assoc-ref outputs "bin")))
+               (mkdir-p bin)
+               (rename-file (string-append out "/bin")
+                            (string-append bin "/bin"))
+               ;; This one is an implementation detail of glib.
+               ;; It is wrong that that's in "/bin" in the first place,
+               ;; but that's what upstream is doing right now.
+               ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
+               (mkdir (string-append out "/libexec"))
+               (rename-file (string-append bin "/bin/gio-launch-desktop")
+                            (string-append out "/libexec/gio-launch-desktop"))
+               ;; 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=\\$\\{prefix\\}/bin") "")
+                 (("=\\$\\{bindir\\}/") "="))
+               #t))))))
+    ;; TODO: see above for explanation.
+    ;; #:configure-flags (list (string-append "--bindir="
+    ;;                                        (assoc-ref %outputs "bin")
+    ;;                                        "/bin"))
+    (native-inputs
+     `(("dbus" ,dbus)                   ; for GDBus tests
+       ("gettext" ,gettext-minimal)
+       ("m4" ,m4)                       ; for installing m4 macros
+       ("perl" ,perl)                   ; needed by GIO tests
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("tzdata" ,tzdata-for-tests)))   ; for tests/gdatetime.c
+    (propagated-inputs
+     `(("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
+       ("pcre" ,pcre)   ; in the Requires.private field of glib-2.0.pc
+       ("util-linux" ,util-linux "lib") ;for libmount
+       ("zlib" ,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
+     ;; path for .gir files, and it's also a search path for schemas produced
+     ;; by 'glib-compile-schemas'.
+     (list
+      (search-path-specification
+       (variable "XDG_DATA_DIRS")
+       (files '("share")))
+      ;; To load extra gio modules from glib-networking, etc.
+      (search-path-specification
+       (variable "GIO_EXTRA_MODULES")
+       (files '("lib/gio/modules")))))
+    (search-paths native-search-paths)
+    (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
+    (description "GLib provides data structure handling for C, portability
+wrappers, and interfaces for such runtime functionality as an event loop,
+threads, dynamic loading, and an object system.")
+    (home-page "https://developer.gnome.org/glib/")
+    (license license:lgpl2.1+)))
 
 (define-public glib-with-documentation
   ;; glib's doc must be built in a separate package since it requires gtk-doc,
-- 
2.30.1


[-- Attachment #1.1.4: 0003-gnu-glib-Update-to-2.64.3.patch --]
[-- Type: text/x-patch, Size: 17162 bytes --]

From a36581713c963b0e96401ad160b042cfd4e86b9c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 07:22:07 -0500
Subject: [PATCH 03/11] gnu: glib: Update to 2.64.3.

* gnu/packages/glib.scm (glib) [version]: Update to 2.64.3.
[patches]: Add glib-disable-failing-tests.patch.
Remove glib-tests-timer.patch.
[arguments]<#:phases>['patch-python-references]: New phase.
['pre-check]: New phase.
['move-bin]: New phase.
['patch-dbus-launch-path]: Remove phase.
['patch-gio-launch-desktop]: Remove phase.
['pre-build]: Remove phase.
['disable-failing-tests]: Remove phase.
['check]: Remove phase.
['move-executables]: Remove phase.
[native-inputs]: Add intltool, python, libxml2 and libxslt.
Remove dbus.
[inputs]: Add dbus and libelf.
[propagated-inputs]: Add libselinux.
* gnu/packages/patches/glib-disable-failing-tests.patch: New file.
* gnu/packages/patches/glib-tests-timer.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust.
---
 gnu/local.mk                                  |   2 +-
 gnu/packages/glib.scm                         | 157 +++++-------------
 .../patches/glib-disable-failing-tests.patch  |  84 ++++++++++
 gnu/packages/patches/glib-tests-timer.patch   |  15 --
 4 files changed, 127 insertions(+), 131 deletions(-)
 create mode 100644 gnu/packages/patches/glib-disable-failing-tests.patch
 delete mode 100644 gnu/packages/patches/glib-tests-timer.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 6c6d1ba47b..da6af367a2 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1068,7 +1068,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/ghostscript-no-header-uuid.patch		\
   %D%/packages/patches/ghostscript-no-header-creationdate.patch \
   %D%/packages/patches/glib-appinfo-watch.patch			\
-  %D%/packages/patches/glib-tests-timer.patch			\
+  %D%/packages/patches/glib-disable-failing-tests.patch             \
   %D%/packages/patches/glibc-CVE-2018-11236.patch		\
   %D%/packages/patches/glibc-CVE-2018-11237.patch		\
   %D%/packages/patches/glibc-CVE-2019-7309.patch		\
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index e5372c6f28..f0548ff71c 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -41,6 +41,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages elf)
   #:use-module (gnu packages enlightenment)
   #:use-module (gnu packages file)
   #:use-module (gnu packages flex)
@@ -60,6 +61,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages selinux)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
@@ -171,7 +173,7 @@ shared NFS home directories.")
 (define glib
   (package
     (name "glib")
-    (version "2.62.6")
+    (version "2.64.3")
     (source
      (origin
        (method url-fetch)
@@ -180,9 +182,10 @@ shared NFS home directories.")
                        name "/" (string-take version 4) "/"
                        name "-" version ".tar.xz"))
        (sha256
-        (base32 "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
+        (base32 "08pbgiv5m3rica4ydvwvpq5mrxbyswx7l1jzjc2ch52xjabvr77y"))
        (patches
-        (search-patches "glib-tests-timer.patch" "glib-appinfo-watch.patch"))
+        (search-patches "glib-disable-failing-tests.patch"
+                        "glib-appinfo-watch.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -207,24 +210,21 @@ shared NFS home directories.")
                        (("test_timeout_slow = 120")
                         "test_timeout_slow = 180")))))
                '())
-         (add-after 'unpack 'patch-dbus-launch-path
+         ;; Python references are not being patched in patch-phase of build,
+         ;; despite using python-wrapper as input. So we patch them manually.
+         (add-after 'unpack 'patch-python-references
            (lambda* (#:key inputs #:allow-other-keys)
-             (let ((dbus (assoc-ref inputs "dbus")))
-               (substitute* "gio/gdbusaddress.c"
-                 (("command_line = g_strdup_printf \\(\"dbus-launch")
-                  (string-append "command_line = g_strdup_printf (\""
-                                 dbus "/bin/dbus-launch")))
-               #t)))
-         (add-after 'unpack 'patch-gio-launch-desktop
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
-               ;; for another future fix.
-               (substitute* "gio/gdesktopappinfo.c"
-                 (("gio-launch-desktop")
-                  (string-append out "/libexec/gio-launch-desktop")))
-               #t)))
-         (add-before 'build 'pre-build
+             (substitute* '("gio/gdbus-2.0/codegen/gdbus-codegen.in"
+                            "glib/gtester-report.in"
+                            "gobject/glib-genmarshal.in"
+                            "gobject/glib-mkenums.in")
+               (("@PYTHON@")
+                (string-append (assoc-ref inputs "python")
+                               "/bin/python"
+                               ,(version-major+minor
+                                 (package-version python)))))
+             #t))
+         (add-before 'check 'pre-check
            (lambda* (#:key inputs outputs #:allow-other-keys)
              ;; For tests/gdatetime.c.
              (setenv "TZDIR"
@@ -234,103 +234,23 @@ shared NFS home directories.")
              (setenv "HOME" (getcwd))
              (setenv "XDG_CACHE_HOME" (getcwd))
              #t))
-         (add-after 'unpack 'disable-failing-tests
-           (lambda _
-             (let ((disable
-                    (lambda (test-file test-paths)
-                      (define pattern+procs
-                        (map (lambda (test-path)
-                               (cons
-                                ;; XXX: only works for single line statements.
-                                (format #f "g_test_add_func.*\"~a\".*" test-path)
-                                (const "")))
-                             test-paths))
-                      (substitute test-file pattern+procs)))
-                   (failing-tests
-                    '(("glib/tests/thread.c"
-                       ( ;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
-                        ;; as found on hydra.gnu.org, and strace(1) doesn't
-                        ;; recognize it.
-                        "/thread/thread4"))
-                      ;; This tries to find programs in FHS directories.
-                      ("glib/tests/utils.c"
-                       ("/utils/find-program"))
-                      ;; This fails because "glib/tests/echo-script" cannot be
-                      ;; found.
-                      ("glib/tests/spawn-singlethread.c"
-                       ("/gthread/spawn-script"))
-                      ("glib/tests/timer.c"
-                       ( ;; fails if compiler optimizations are enabled, which they
-                        ;; are by default.
-                        "/timer/stop"))
-                      ("gio/tests/gapplication.c"
-                       ( ;; XXX: proven to be unreliable.  See:
-                        ;;  <https://bugs.debian.org/756273>
-                        ;;  <http://bugs.gnu.org/18445>
-                        "/gapplication/quit"
-                        ;; XXX: fails randomly for unknown reason. See:
-                        ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
-                        "/gapplication/local-actions"))
-                      ("gio/tests/contenttype.c"
-                       ( ;; XXX: requires shared-mime-info.
-                        "/contenttype/guess"
-                        "/contenttype/guess_svg_from_data"
-                        "/contenttype/subtype"
-                        "/contenttype/list"
-                        "/contenttype/icon"
-                        "/contenttype/symbolic-icon"
-                        "/contenttype/tree"))
-                      ("gio/tests/appinfo.c"
-                       ( ;; XXX: requires update-desktop-database.
-                        "/appinfo/associations"))
-                      ("gio/tests/desktop-app-info.c"
-                       ( ;; XXX: requires update-desktop-database.
-                        "/desktop-app-info/delete"
-                        "/desktop-app-info/default"
-                        "/desktop-app-info/fallback"
-                        "/desktop-app-info/lastused"
-                        "/desktop-app-info/search"))
-                      ("gio/tests/gdbus-peer.c"
-                       ( ;; Requires /etc/machine-id.
-                        "/gdbus/codegen-peer-to-peer"))
-                      ("gio/tests/gdbus-address-get-session.c"
-                       ( ;; Requires /etc/machine-id.
-                        "/gdbus/x11-autolaunch"))
-                      ("gio/tests/gsocketclient-slow.c"
-                       ( ;; These tests tries to resolve "localhost", and fails.
-                        "/socket-client/happy-eyeballs/slow"
-                        "/socket-client/happy-eyeballs/cancellation/delayed")))))
-               (for-each (lambda (x) (apply disable x)) failing-tests)
-               #t)))
-         (replace 'check
-           (lambda _
-             (setenv "MESON_TESTTHREADS"
-                     (number->string (parallel-job-count)))
-             ;; Do not run tests marked as "flaky".
-             (invoke "meson" "test" "--no-suite" "flaky")))
-         ;; TODO: meson does not permit the bindir to be outside of prefix.
-         ;; See https://github.com/mesonbuild/meson/issues/2561
-         ;; We can remove this once meson is patched.
-         (add-after 'install 'move-executables
+         ;; Meson does not permit the bindir to be outside of prefix.
+         (add-after 'install 'move-bin
            (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (bin (assoc-ref outputs "bin")))
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (assoc-ref outputs "bin")))
                (mkdir-p bin)
-               (rename-file (string-append out "/bin")
-                            (string-append bin "/bin"))
-               ;; This one is an implementation detail of glib.
-               ;; It is wrong that that's in "/bin" in the first place,
-               ;; but that's what upstream is doing right now.
-               ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
-               (mkdir (string-append out "/libexec"))
-               (rename-file (string-append bin "/bin/gio-launch-desktop")
-                            (string-append out "/libexec/gio-launch-desktop"))
+               (rename-file
+                (string-append out "/bin")
+                (string-append bin "/bin"))
                ;; 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"))
+               (substitute*
+                   (list
+                    (string-append out "/lib/pkgconfig/gio-2.0.pc")
+                    (string-append out "/lib/pkgconfig/glib-2.0.pc"))
                  (("bindir=\\$\\{prefix\\}/bin") "")
                  (("=\\$\\{bindir\\}/") "="))
                #t))))))
@@ -339,15 +259,22 @@ shared NFS home directories.")
     ;;                                        (assoc-ref %outputs "bin")
     ;;                                        "/bin"))
     (native-inputs
-     `(("dbus" ,dbus)                   ; for GDBus tests
-       ("gettext" ,gettext-minimal)
+     `(("gettext" ,gettext-minimal)
+       ("libintl" ,intltool)
        ("m4" ,m4)                       ; for installing m4 macros
        ("perl" ,perl)                   ; needed by GIO tests
        ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("tzdata" ,tzdata-for-tests)))   ; for tests/gdatetime.c
+       ("python" ,python)               ; For 'patch-python-references
+       ("python-wrapper" ,python-wrapper)
+       ("tzdata" ,tzdata-for-tests)     ; for tests/gdatetime.c
+       ("xmllint" ,libxml2)
+       ("xsltproc" ,libxslt)))
+    (inputs
+     `(("dbus" ,dbus)
+       ("libelf" ,libelf)))
     (propagated-inputs
      `(("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
+       ("libselinux" ,libselinux) ; in the Requires.private field of gio-2.0.pc
        ("pcre" ,pcre)   ; in the Requires.private field of glib-2.0.pc
        ("util-linux" ,util-linux "lib") ;for libmount
        ("zlib" ,zlib))) ; in the Requires.private field of glib-2.0.pc
diff --git a/gnu/packages/patches/glib-disable-failing-tests.patch b/gnu/packages/patches/glib-disable-failing-tests.patch
new file mode 100644
index 0000000000..3601c42030
--- /dev/null
+++ b/gnu/packages/patches/glib-disable-failing-tests.patch
@@ -0,0 +1,84 @@
+From a2e6783f2278ed32b1e552691ec5d67d6940757e Mon Sep 17 00:00:00 2001
+From: Raghav Gururajan <raghavgururajan@disroot.org>
+Date: Tue, 9 Jun 2020 05:17:53 -0400
+Subject: [PATCH] PATCH: Disable failing tests.
+
+---
+ gio/tests/meson.build  | 19 -------------------
+ glib/tests/meson.build |  2 --
+ 2 files changed, 21 deletions(-)
+
+diff --git a/gio/tests/meson.build b/gio/tests/meson.build
+index c7c3e3035..6e38eb39e 100644
+--- a/gio/tests/meson.build
++++ b/gio/tests/meson.build
+@@ -34,7 +34,6 @@ gio_tests = {
+   'buffered-output-stream' : {},
+   'cancellable' : {},
+   'contexts' : {},
+-  'contenttype' : {},
+   'converter-stream' : {},
+   'credentials' : {},
+   'data-input-stream' : {},
+@@ -78,7 +77,6 @@ gio_tests = {
+   'tls-certificate' : {'extra_sources' : ['gtesttlsbackend.c']},
+   'tls-interaction' : {'extra_sources' : ['gtesttlsbackend.c']},
+   'tls-database' : {'extra_sources' : ['gtesttlsbackend.c']},
+-  'gdbus-address-get-session' : {},
+   'win32-appinfo' : {},
+ }
+ 
+@@ -135,10 +133,6 @@ endif
+ if host_machine.system() != 'windows'
+   gio_tests += {
+     'file' : {},
+-    'gdbus-peer' : {
+-      'dependencies' : [libgdbus_example_objectmanager_dep],
+-      'install_rpath' : installed_tests_execdir
+-    },
+     'gdbus-peer-object-manager' : {},
+     'live-g-file' : {},
+     'socket-address' : {},
+@@ -173,19 +167,6 @@ if host_machine.system() != 'windows'
+     }
+   endif
+ 
+-  # Uninstalled because of the check-for-executable logic in DesktopAppInfo
+-  # unable to find the installed executable
+-  if not glib_have_cocoa
+-    gio_tests += {
+-      'appinfo' : {
+-        'install' : false,
+-      },
+-      'desktop-app-info' : {
+-        'install' : false,
+-      },
+-    }
+-  endif
+-
+   test_extra_programs += {
+     'basic-application' : {},
+     'dbus-launch' : {},
+diff --git a/glib/tests/meson.build b/glib/tests/meson.build
+index 8da477d19..9fa24dd49 100644
+--- a/glib/tests/meson.build
++++ b/glib/tests/meson.build
+@@ -103,7 +103,6 @@ glib_tests = {
+   'utf8-pointer' : {},
+   'utf8-validate' : {},
+   'utf8-misc' : {},
+-  'utils' : {},
+   'unicode' : {},
+   'uri' : {},
+   '1bit-mutex' : {},
+@@ -151,7 +150,6 @@ if host_machine.system() == 'windows'
+ else
+   glib_tests += {
+     'include' : {},
+-    'unix' : {},
+   }
+   if have_rtld_next
+     glib_tests += {
+-- 
+2.26.2
+
diff --git a/gnu/packages/patches/glib-tests-timer.patch b/gnu/packages/patches/glib-tests-timer.patch
deleted file mode 100644
index e37425c0c8..0000000000
--- a/gnu/packages/patches/glib-tests-timer.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-* On i686 floating-point roundoff errors could sometimes cause this check to
-  fail depending on the elapsed microseconds.  Improve rounding by adding a
-  fractional bit.
-
---- glib-2.40.0/glib/tests/timer.c	2014-03-05 08:05:42.000000000 -0600
-+++ glib-2.40.0/glib/tests/timer.c	2014-07-10 16:33:12.746862822 -0500
-@@ -35,7 +35,7 @@
-   elapsed = g_timer_elapsed (timer, &micros);
- 
-   g_assert_cmpfloat (elapsed, <, 1.0);
--  g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6)) % 1000000);
-+  g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6 + 0.5)) % 1000000);
- 
-   g_timer_destroy (timer);
- }
-- 
2.30.1


[-- Attachment #1.1.5: 0004-gnu-glib-Update-synopsis-description-and-home-page.patch --]
[-- Type: text/x-patch, Size: 1602 bytes --]

From 8a337d499afb066d7323e207ae31b828359894fe Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 07:45:50 -0500
Subject: [PATCH 04/11] gnu: glib: Update synopsis, description and home-page.

* gnu/packages/glib.scm (glib) [synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
---
 gnu/packages/glib.scm | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index f0548ff71c..5f4c5b4f73 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -292,11 +292,12 @@ shared NFS home directories.")
        (variable "GIO_EXTRA_MODULES")
        (files '("lib/gio/modules")))))
     (search-paths native-search-paths)
-    (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
-    (description "GLib provides data structure handling for C, portability
-wrappers, and interfaces for such runtime functionality as an event loop,
-threads, dynamic loading, and an object system.")
-    (home-page "https://developer.gnome.org/glib/")
+    (synopsis "Low-level core library for GNOME projects")
+    (description "GLib provides the core application building blocks for
+libraries and applications written in C.  It provides the core object system
+used in GNOME, the main loop implementation, and a large set of utility
+functions for strings and common data structures.")
+    (home-page "https://wiki.gnome.org/Projects/GLib")
     (license license:lgpl2.1+)))
 
 (define-public glib-with-documentation
-- 
2.30.1


[-- Attachment #1.1.6: 0005-gnu-glib-with-documentation-Make-some-cosmetic-chang.patch --]
[-- Type: text/x-patch, Size: 2127 bytes --]

From 438b5d21587a10bd48d4430bc6860c9d21f44b49 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 09:37:00 -0500
Subject: [PATCH 05/11] gnu: glib-with-documentation: Make some cosmetic
 changes.

* gnu/packages/glib.scm (glib-with-documentation): Make some cosmetic changes.
---
 gnu/packages/glib.scm | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 5f4c5b4f73..f8d23e5802 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -307,8 +307,8 @@ functions for strings and common data structures.")
     (properties (alist-delete 'hidden? (package-properties glib)))
     (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
     (native-inputs
-     `(("gtk-doc" ,gtk-doc)             ; for the doc
-       ("docbook-xml" ,docbook-xml)
+     `(("docbook-xml" ,docbook-xml)
+       ("gtk-doc" ,gtk-doc)             ; for the doc
        ("libxml2" ,libxml2)
        ,@(package-native-inputs glib)))
     (arguments
@@ -319,12 +319,13 @@ functions for strings and common data structures.")
         `(modify-phases ,phases
            (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")))
-                 (copy-recursively (string-append out html)
-                                   (string-append doc html))
-                 (delete-file-recursively (string-append out html))
+               (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))
                  #t)))))))))
 
 (define gobject-introspection
-- 
2.30.1


[-- Attachment #1.1.7: 0006-gnu-glib-with-documentation-Fix-documentation-build.patch --]
[-- Type: text/x-patch, Size: 2315 bytes --]

From a4ee35143ba9e8a9c84d4649a18503a473779f22 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 09:39:52 -0500
Subject: [PATCH 06/11] gnu: glib-with-documentation: Fix documentation build.

* gnu/packages/glib.scm (glib-with-documentation) [native-inputs]:
Add docbook-4.2. Remove libxml2.
[arguments]<#:phases>['patch-docbook-xml]: New phase.
---
 gnu/packages/glib.scm | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index f8d23e5802..07e65e49f5 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -307,7 +307,8 @@ functions for strings and common data structures.")
     (properties (alist-delete 'hidden? (package-properties glib)))
     (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
     (native-inputs
-     `(("docbook-xml" ,docbook-xml)
+     `(("docbook-xml-4.2" ,docbook-xml-4.2)
+       ("docbook-xml-4.5" ,docbook-xml)
        ("gtk-doc" ,gtk-doc)             ; for the doc
        ("libxml2" ,libxml2)
        ,@(package-native-inputs glib)))
@@ -317,6 +318,19 @@ functions for strings and common data structures.")
         `(cons "-Dgtk_doc=true" ,flags))
        ((#:phases phases)
         `(modify-phases ,phases
+           (add-after 'unpack 'patch-docbook-xml
+             (lambda* (#:key inputs #:allow-other-keys)
+               (with-directory-excursion "docs/reference"
+                 (substitute* '("gio/gdbus-object-manager-example/.*\\.xml"
+                                "gio/.*\\.xml" "glib/.*\\.xml" "gobject/.*\\.xml")
+                   (("http://www.oasis-open.org/docbook/xml/4.5/")
+                    (string-append (assoc-ref inputs "docbook-xml-4.5")
+                                   "/xml/dtd/docbook/")))
+                 (substitute* "gio/gio.xml"
+                   (("http://www.oasis-open.org/docbook/xml/4.2/")
+                    (string-append (assoc-ref inputs "docbook-xml-4.2")
+                                   "/xml/dtd/docbook/"))))
+               #t))
            (add-after 'install 'move-doc
              (lambda* (#:key outputs #:allow-other-keys)
                (let* ((out (assoc-ref outputs "out"))
-- 
2.30.1


[-- Attachment #1.1.8: 0007-gnu-cairo-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 4677 bytes --]

From 4ea541c4ca694e602dc79ee8b0ef5cccaf987d4f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 00:49:10 -0500
Subject: [PATCH 07/11] gnu: cairo: Make some cosmetic changes.

* gnu/packages/gtk.scm (cairo): Make some cosmetic changes.
---
 gnu/packages/gtk.scm | 82 ++++++++++++++++++++++----------------------
 1 file changed, 41 insertions(+), 41 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index fbaacc11e4..b82a0aed8f 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -123,57 +123,57 @@ tools have full access to view and control running applications.")
 
 (define-public cairo
   (package
-   (name "cairo")
-   (version "1.16.0")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "https://cairographics.org/releases/cairo-"
-                                version ".tar.xz"))
-            (sha256
-             (base32
-              "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
-   (build-system gnu-build-system)
-   (propagated-inputs
-    `(("fontconfig" ,fontconfig)
-      ("freetype" ,freetype)
-      ("glib" ,glib)
-      ("libpng" ,libpng)
-      ("libx11" ,libx11)
-      ("libxext" ,libxext)
-      ("libxrender" ,libxrender)
-      ("pixman" ,pixman)))
-   (inputs
-    `(("ghostscript" ,ghostscript)
-      ("libspectre" ,libspectre)
-      ("poppler" ,poppler)
-      ("xorgproto" ,xorgproto)
-      ("zlib" ,zlib)))
-   (native-inputs
-     `(("pkg-config" ,pkg-config)
-      ("python" ,python-wrapper)))
+    (name "cairo")
+    (version "1.16.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://cairographics.org/releases/cairo-"
+                       version ".tar.xz"))
+       (sha256
+        (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
+    (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f  ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
-       #:configure-flags '("--enable-tee"      ;needed for GNU Icecat
-                           "--enable-xml"      ;for cairo-xml support
-                           "--disable-static")))
-   (synopsis "2D graphics library")
-   (description
-    "Cairo is a 2D graphics library with support for multiple output devices.
-Currently supported output targets include the X Window System (via both
-Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
+     `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
+       #:configure-flags
+       (list
+        "--enable-tee"                    ;needed for GNU Icecat
+        "--enable-xml"                    ;for cairo-xml support
+        "--disable-static")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("ghostscript" ,ghostscript)
+       ("libspectre" ,libspectre)
+       ("poppler" ,poppler)
+       ("xorgproto" ,xorgproto)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("glib" ,glib)
+       ("libpng" ,libpng)
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
+       ("libxrender" ,libxrender)
+       ("pixman" ,pixman)))
+    (synopsis "2D graphics library")
+    (description "Cairo is a 2D graphics library with support for multiple output
+devices.  Currently supported output targets include the X Window System (via
+both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
 output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
-
 Cairo is designed to produce consistent output on all output media while
 taking advantage of display hardware acceleration when available
 eg. through the X Render Extension).
-
 The cairo API provides operations similar to the drawing operators of
 PostScript and PDF.  Operations in cairo including stroking and filling cubic
 Bézier splines, transforming and compositing translucent images, and
 antialiased text rendering.  All drawing operations can be transformed by any
 affine transformation (scale, rotation, shear, etc.).")
-   (license license:lgpl2.1) ; or Mozilla Public License 1.1
-   (home-page "https://cairographics.org/")))
+    (home-page "https://cairographics.org/")
+    (license license:lgpl2.1))) ; or Mozilla Public License 1.1
 
 (define-public cairo-sans-poppler
   ;; Variant used to break the dependency cycle between Poppler and Cairo.
-- 
2.30.1


[-- Attachment #1.1.9: 0008-gnu-cairo-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 1001 bytes --]

From 2637f9545716cf3165fba1366993b73eb7230fd6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 00:51:10 -0500
Subject: [PATCH 08/11] gnu: cairo: Change build-system.

* gnu/packages/gtk.scm (cairo) [build-system]: Change from gnu to glib-or-gtk.
---
 gnu/packages/gtk.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index b82a0aed8f..a94eca6a12 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -133,7 +133,7 @@ tools have full access to view and control running applications.")
                        version ".tar.xz"))
        (sha256
         (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
        #:configure-flags
-- 
2.30.1


[-- Attachment #1.1.10: 0009-gnu-cairo-Move-documentation-to-separate-output.patch --]
[-- Type: text/x-patch, Size: 1603 bytes --]

From 338a129c19230480833dbdaa5b195062c99aa4a1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 00:53:16 -0500
Subject: [PATCH 09/11] gnu: cairo: Move documentation to separate output.

* gnu/packages/gtk.scm (cairo) [outputs]: New output "doc".
[arguments]<#:configure-flags>[--with-html-dir]: New flag.
---
 gnu/packages/gtk.scm | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index a94eca6a12..36d39104f8 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -134,13 +134,17 @@ tools have full access to view and control running applications.")
        (sha256
         (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
     (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
     (arguments
      `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
        #:configure-flags
        (list
-        "--enable-tee"                    ;needed for GNU Icecat
-        "--enable-xml"                    ;for cairo-xml support
-        "--disable-static")))
+        "--enable-tee"                  ;needed for GNU Icecat
+        "--enable-xml"                  ;for cairo-xml support
+        "--disable-static"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)))
-- 
2.30.1


[-- Attachment #1.1.11: 0010-gnu-cairo-Enable-some-features.patch --]
[-- Type: text/x-patch, Size: 2835 bytes --]

From a674da82de3f404cbae263d76b83bcc96e0cf8a9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 01:02:00 -0500
Subject: [PATCH 10/11] gnu: cairo: Enable some features.

* gnu/packages/gtk.scm (cairo) [native-inputs]: Add gobject-introspection.
[inputs]: Add libdrm. Remove xorgproto and zlib.
[propagated-inputs]: Add libxcb.
---
 gnu/packages/gtk.scm | 39 +++++++++++++++++++++++++++------------
 1 file changed, 27 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 36d39104f8..2032568a91 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -139,30 +139,45 @@ tools have full access to view and control running applications.")
      `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
        #:configure-flags
        (list
-        "--enable-tee"                  ;needed for GNU Icecat
-        "--enable-xml"                  ;for cairo-xml support
         "--disable-static"
+        ;; XXX: To be enabled.
+        ;; "--enable-gallium=yes"
+        ;; "--enable-gl=yes"
+        ;; " --enable-glesv2=yes"
+        ;; "--enable-glesv3=yes"
+        ;; "--enable-cogl=yes"
+        ;; "--enable-directfb=yes"
+        ;; "--enable-vg=yes"
+        "--enable-tee=yes"
+        "--enable-xml=yes"
         (string-append "--with-html-dir="
                        (assoc-ref %outputs "doc")
                        "/share/gtk-doc/html"))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)))
     (inputs
-     `(("ghostscript" ,ghostscript)
+     `(("drm" ,libdrm)
+       ("ghostscript" ,ghostscript)
        ("libspectre" ,libspectre)
-       ("poppler" ,poppler)
-       ("xorgproto" ,xorgproto)
-       ("zlib" ,zlib)))
+       ("poppler" ,poppler)))
     (propagated-inputs
-     `(("fontconfig" ,fontconfig)
+     `( ;; ("cogl" ,cogl)
+       ;; ("directfb" ,directfb)
+       ("fontconfig" ,fontconfig)
+       ("fontconfig" ,fontconfig)
        ("freetype" ,freetype)
        ("glib" ,glib)
+       ;; ("gtk+" ,gtk+)
        ("libpng" ,libpng)
-       ("libx11" ,libx11)
-       ("libxext" ,libxext)
-       ("libxrender" ,libxrender)
-       ("pixman" ,pixman)))
+       ;; ("librsvg" ,librsvg)
+       ;; ("opengl" ,mesa)
+       ("pixman" ,pixman)
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xext" ,libxext)
+       ("xrender" ,libxrender)))
     (synopsis "2D graphics library")
     (description "Cairo is a 2D graphics library with support for multiple output
 devices.  Currently supported output targets include the X Window System (via
-- 
2.30.1


[-- Attachment #1.1.12: 0011-gnu-cairo-Update-synopsis-description-and-license.patch --]
[-- Type: text/x-patch, Size: 2172 bytes --]

From b7d65f96c1937258daeac97049d4601c213bc12c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 01:04:37 -0500
Subject: [PATCH 11/11] gnu: cairo: Update synopsis, description and license.

* gnu/packages/gtk.scm (cairo) [synopsis]: Modify.
[description]: Modify.
[license]: Modify.
---
 gnu/packages/gtk.scm | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 2032568a91..111171f65a 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -178,21 +178,17 @@ tools have full access to view and control running applications.")
        ("xcb" ,libxcb)
        ("xext" ,libxext)
        ("xrender" ,libxrender)))
-    (synopsis "2D graphics library")
+    (synopsis "Multi-platform 2D graphics library")
     (description "Cairo is a 2D graphics library with support for multiple output
 devices.  Currently supported output targets include the X Window System (via
 both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
-output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
-Cairo is designed to produce consistent output on all output media while
-taking advantage of display hardware acceleration when available
-eg. through the X Render Extension).
-The cairo API provides operations similar to the drawing operators of
-PostScript and PDF.  Operations in cairo including stroking and filling cubic
-Bézier splines, transforming and compositing translucent images, and
-antialiased text rendering.  All drawing operations can be transformed by any
-affine transformation (scale, rotation, shear, etc.).")
+output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
     (home-page "https://cairographics.org/")
-    (license license:lgpl2.1))) ; or Mozilla Public License 1.1
+    (license
+     ;; This project is dual-licensed.
+     (list
+      license:lgpl2.1+
+      license:mpl1.1))))
 
 (define-public cairo-sans-poppler
   ;; Variant used to break the dependency cycle between Poppler and Cairo.
-- 
2.30.1


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] Big changes from wip-desktop.
  2020-08-20 15:09 [bug#42958] [PATCH core-updates 00/29] Big changes from wip-desktop Danny Milosavljevic
                   ` (12 preceding siblings ...)
  2021-03-11 14:45 ` [bug#42958] Raghav Gururajan via Guix-patches via
@ 2021-03-12 16:37 ` Raghav Gururajan via Guix-patches via
  2021-03-12 17:19   ` Raghav Gururajan via Guix-patches via
  13 siblings, 1 reply; 68+ messages in thread
From: Raghav Gururajan via Guix-patches via @ 2021-03-12 16:37 UTC (permalink / raw)
  To: 42958, Danny Milosavljevic


[-- Attachment #1.1.1: Type: text/plain, Size: 131 bytes --]

Hi Danny!

I have split and re-worked remaining patches for current core-updates. 
Please find them attached.

Regards,
RG.

[-- Attachment #1.1.2: 0001-gnu-gobject-introspection-Modify-arguments-and-input.patch --]
[-- Type: text/x-patch, Size: 1588 bytes --]

From 47a7641d83784fcf60f5b07aa1385791cab06474 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 09:59:44 -0500
Subject: [PATCH 01/68] gnu: gobject-introspection: Modify arguments and
 inputs.

* gnu/packages/glib.scm (gobject-introspection) [arguments]
<#:glib-or-gtk?>: New argument.
[inputs]: Move glib to ...
[propagated-inputs]: ... here.
---
 gnu/packages/glib.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 07e65e49f5..974315f642 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -359,7 +359,8 @@ functions for strings and common data structures.")
                        "gobject-introspection-absolute-shlib-path.patch"))))
     (build-system meson-build-system)
     (arguments
-     `(#:phases
+     `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+       #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'do-not-use-/usr/bin/env
            (lambda _
@@ -373,11 +374,11 @@ functions for strings and common data structures.")
     (inputs
      `(("bison" ,bison)
        ("flex" ,flex)
-       ("glib" ,glib)
        ("python" ,python-wrapper)
        ("zlib" ,zlib)))
     (propagated-inputs
-     `(;; In practice, GIR users will need libffi when using
+     `(("glib" ,glib)
+       ;; In practice, GIR users will need libffi when using
        ;; gobject-introspection.
        ("libffi" ,libffi)))
     (native-search-paths
-- 
2.30.1


[-- Attachment #1.1.3: 0002-gnu-pango-Add-missing-arguments.patch --]
[-- Type: text/x-patch, Size: 1030 bytes --]

From 989da48d12be90ca3af152141cd5091fd8d76cd7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:11:10 -0500
Subject: [PATCH 02/68] gnu: pango: Add missing arguments.

* gnu/packages/gtk.scm (pango) [arguments]<#:glib-or-gtk?>: New argument.
---
 gnu/packages/gtk.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 111171f65a..ce5a0b7520 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -325,7 +325,8 @@ applications.")
               "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"))))
    (build-system meson-build-system)
    (arguments
-    '(#:phases (modify-phases %standard-phases
+    '(#:glib-or-gtk? ; To wrap binaries and/or compile schemas
+      #:phases (modify-phases %standard-phases
                  (add-after 'unpack 'disable-cantarell-tests
                    (lambda _
                      (substitute* "tests/meson.build"
-- 
2.30.1


[-- Attachment #1.1.4: 0003-gnu-pango-Re-arrange-inputs-in-alphabetical-order.patch --]
[-- Type: text/x-patch, Size: 2279 bytes --]

From 25008dfaf167760cd2c7c795833fc18251c8d58b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:17:09 -0500
Subject: [PATCH 03/68] gnu: pango: Re-arrange inputs in alphabetical order.

* gnu/packages/gtk.scm (pango) [propagated-inputs]: Modify.
[native-inputs]: Modify.
---
 gnu/packages/gtk.scm | 35 +++++++++++++++++------------------
 1 file changed, 17 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index ce5a0b7520..5a07d133b4 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -336,24 +336,23 @@ applications.")
                        (("\\[ 'test-itemize'.*") "")
                        (("\\[ 'test-layout'.*") ""))
                      #t)))))
-   (propagated-inputs
-    ;; These are all in Requires or Requires.private of the '.pc' files.
-    `(("cairo" ,cairo)
-      ("fribidi" ,fribidi)
-      ("fontconfig" ,fontconfig)
-      ("freetype" ,freetype)
-      ("glib" ,glib)
-      ("harfbuzz" ,harfbuzz)
-
-      ;; Some packages, such as Openbox, expect Pango to be built with the
-      ;; optional libxft support.
-      ("libxft" ,libxft)))
-   (inputs
-    `(("zlib" ,zlib)))
-   (native-inputs
-    `(("pkg-config" ,pkg-config)
-      ("glib" ,glib "bin")                               ; glib-mkenums, etc.
-      ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
+    (propagated-inputs
+     ;; These are all in Requires or Requires.private of the '.pc' files.
+     `(("cairo" ,cairo)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("fribidi" ,fribidi)
+       ("glib" ,glib)
+       ("harfbuzz" ,harfbuzz)
+       ;; Some packages, such as Openbox, expect Pango to be built with the
+       ;; optional libxft support.
+       ("libxft" ,libxft)))
+    (inputs
+     `(("zlib" ,zlib)))
+    (native-inputs
+     `(("glib" ,glib "bin")             ; glib-mkenums, etc.
+       ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
+       ("pkg-config" ,pkg-config)))
    (synopsis "GNOME text and font handling library")
    (description
     "Pango is the core text and font handling library used in GNOME
-- 
2.30.1


[-- Attachment #1.1.5: 0004-gnu-pango-Fix-indentation.patch --]
[-- Type: text/x-patch, Size: 3980 bytes --]

From 1b82fe58c040735560fca0d461abcfcac2f64719 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:18:37 -0500
Subject: [PATCH 04/68] gnu: pango: Fix indentation.

* gnu/packages/gtk.scm (pango): Fix indentation.
---
 gnu/packages/gtk.scm | 58 ++++++++++++++++++++++----------------------
 1 file changed, 29 insertions(+), 29 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 5a07d133b4..97d9ef6fd3 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -312,30 +312,30 @@ applications.")
 
 (define-public pango
   (package
-   (name "pango")
-   (version "1.44.7")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/pango/"
-                                (version-major+minor version) "/"
-                                name "-" version ".tar.xz"))
-            (patches (search-patches "pango-skip-libthai-test.patch"))
-            (sha256
-             (base32
-              "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"))))
-   (build-system meson-build-system)
-   (arguments
-    '(#:glib-or-gtk? ; To wrap binaries and/or compile schemas
-      #:phases (modify-phases %standard-phases
-                 (add-after 'unpack 'disable-cantarell-tests
-                   (lambda _
-                     (substitute* "tests/meson.build"
-                       ;; XXX FIXME: These tests require "font-cantarell", but
-                       ;; adding it here would introduce a circular dependency.
-                       (("\\[ 'test-harfbuzz'.*") "")
-                       (("\\[ 'test-itemize'.*") "")
-                       (("\\[ 'test-layout'.*") ""))
-                     #t)))))
+    (name "pango")
+    (version "1.44.7")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/pango/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (patches (search-patches "pango-skip-libthai-test.patch"))
+              (sha256
+               (base32
+                "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"))))
+    (build-system meson-build-system)
+    (arguments
+     '(#:glib-or-gtk?        ; To wrap binaries and/or compile schemas
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'disable-cantarell-tests
+                    (lambda _
+                      (substitute* "tests/meson.build"
+                        ;; XXX FIXME: These tests require "font-cantarell", but
+                        ;; adding it here would introduce a circular dependency.
+                        (("\\[ 'test-harfbuzz'.*") "")
+                        (("\\[ 'test-itemize'.*") "")
+                        (("\\[ 'test-layout'.*") ""))
+                      #t)))))
     (propagated-inputs
      ;; These are all in Requires or Requires.private of the '.pc' files.
      `(("cairo" ,cairo)
@@ -353,13 +353,13 @@ applications.")
      `(("glib" ,glib "bin")             ; glib-mkenums, etc.
        ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
        ("pkg-config" ,pkg-config)))
-   (synopsis "GNOME text and font handling library")
-   (description
-    "Pango is the core text and font handling library used in GNOME
+    (synopsis "GNOME text and font handling library")
+    (description
+     "Pango is the core text and font handling library used in GNOME
 applications.  It has extensive support for the different writing systems
 used throughout the world.")
-   (license license:lgpl2.0+)
-   (home-page "https://developer.gnome.org/pango/")))
+    (license license:lgpl2.0+)
+    (home-page "https://developer.gnome.org/pango/")))
 
 (define-public pango-1.42
   (package
-- 
2.30.1


[-- Attachment #1.1.6: 0005-gnu-pango-Add-missing-inputs.patch --]
[-- Type: text/x-patch, Size: 1502 bytes --]

From 8f1d1541b946dba83413cad33c719d8f2163b464 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:21:03 -0500
Subject: [PATCH 05/68] gnu: pango: Add missing inputs.

* gnu/packages/gtk.scm (pango) [propagated-inputs]: Add libthai
and libxrender.
[native-inputs]: Add help2man, perl and python-wrapper.
---
 gnu/packages/gtk.scm | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 97d9ef6fd3..f5e1634e87 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -344,15 +344,20 @@ applications.")
        ("fribidi" ,fribidi)
        ("glib" ,glib)
        ("harfbuzz" ,harfbuzz)
+       ("libthai" ,libthai)
        ;; Some packages, such as Openbox, expect Pango to be built with the
        ;; optional libxft support.
-       ("libxft" ,libxft)))
+       ("libxft" ,libxft)
+       ("libxrender" ,libxrender)))
     (inputs
      `(("zlib" ,zlib)))
     (native-inputs
      `(("glib" ,glib "bin")             ; glib-mkenums, etc.
        ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
-       ("pkg-config" ,pkg-config)))
+       ("help2man" ,help2man)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
     (synopsis "GNOME text and font handling library")
     (description
      "Pango is the core text and font handling library used in GNOME
-- 
2.30.1


[-- Attachment #1.1.7: 0006-gnu-pango-Update-synopsis-description-and-home-page.patch --]
[-- Type: text/x-patch, Size: 1606 bytes --]

From 71428da03a71d2a3f531f772b423b892f654d286 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:24:42 -0500
Subject: [PATCH 06/68] gnu: pango: Update synopsis, description and home-page.

* gnu/packages/gtk.scm (pango) [synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
---
 gnu/packages/gtk.scm | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index f5e1634e87..548e46f191 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -358,13 +358,14 @@ applications.")
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)))
-    (synopsis "GNOME text and font handling library")
-    (description
-     "Pango is the core text and font handling library used in GNOME
-applications.  It has extensive support for the different writing systems
-used throughout the world.")
-    (license license:lgpl2.0+)
-    (home-page "https://developer.gnome.org/pango/")))
+    (synopsis "Text and font handling library")
+    (description "Pango is a library for laying out and rendering of text, with
+an emphasis on internationalization.  Pango can be used anywhere that text
+layout is needed, though most of the work on Pango so far has been done in the
+context of the GTK+ widget toolkit.  Pango forms the core of text and font
+handling for GTK+-2.x.")
+    (home-page "https://pango.gnome.org/")
+    (license license:lgpl2.0+)))
 
 (define-public pango-1.42
   (package
-- 
2.30.1


[-- Attachment #1.1.8: 0007-gnu-gdk-pixbuf-Fix-indentation.patch --]
[-- Type: text/x-patch, Size: 4341 bytes --]

From 444a2be133a2e52e54645ba03aa88df1c87ca835 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:29:02 -0500
Subject: [PATCH 07/68] gnu: gdk-pixbuf: Fix indentation.

* gnu/packages/gtk.scm (gdk-pixbuf): Fix indentation.
---
 gnu/packages/gtk.scm | 80 ++++++++++++++++++++++----------------------
 1 file changed, 40 insertions(+), 40 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 548e46f191..b744837cbe 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -577,50 +577,50 @@ highlighting and other features typical of a source code editor.")
 
 (define-public gdk-pixbuf
   (package
-   (name "gdk-pixbuf")
-   (version "2.42.2")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "05ggmzwvrxq9w4zcvmrnnd6qplsmb4n95lj4q607c7arzlf6mil3"))))
-   (build-system meson-build-system)
-   (arguments
-    `(#:meson ,meson-0.55
-      #:configure-flags '("-Dinstalled_tests=false")
-      #:phases
-      (modify-phases %standard-phases
-        ;; The slow tests take longer than the specified timeout.
-        ,@(if (any (cute string=? <> (%current-system))
-                   '("armhf-linux" "aarch64-linux"))
-            '((replace 'check
-              (lambda _
-                (invoke "meson" "test" "--timeout-multiplier" "5"))))
-            '()))))
-   (propagated-inputs
-    `(;; Required by gdk-pixbuf-2.0.pc
-      ("glib" ,glib)
-      ("libpng" ,libpng)
-      ;; Used for testing and required at runtime.
-      ("shared-mime-info" ,shared-mime-info)))
-   (inputs
-    `(("libjpeg" ,libjpeg-turbo)
-      ("libtiff" ,libtiff)
-      ("libx11"  ,libx11)))
-   (native-inputs
+    (name "gdk-pixbuf")
+    (version "2.42.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "05ggmzwvrxq9w4zcvmrnnd6qplsmb4n95lj4q607c7arzlf6mil3"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:meson ,meson-0.55
+       #:configure-flags '("-Dinstalled_tests=false")
+       #:phases
+       (modify-phases %standard-phases
+         ;; The slow tests take longer than the specified timeout.
+         ,@(if (any (cute string=? <> (%current-system))
+                    '("armhf-linux" "aarch64-linux"))
+               '((replace 'check
+                   (lambda _
+                     (invoke "meson" "test" "--timeout-multiplier" "5"))))
+               '()))))
+    (propagated-inputs
+     `( ;; Required by gdk-pixbuf-2.0.pc
+       ("glib" ,glib)
+       ("libpng" ,libpng)
+       ;; Used for testing and required at runtime.
+       ("shared-mime-info" ,shared-mime-info)))
+    (inputs
+     `(("libjpeg" ,libjpeg-turbo)
+       ("libtiff" ,libtiff)
+       ("libx11"  ,libx11)))
+    (native-inputs
      `(("pkg-config" ,pkg-config)
        ("gettext" ,gettext-minimal)
-       ("glib" ,glib "bin")                               ; glib-mkenums, etc.
+       ("glib" ,glib "bin")             ; glib-mkenums, etc.
        ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
-   (synopsis "GNOME image loading and manipulation library")
-   (description
-    "GdkPixbuf is a library for image loading and manipulation developed
+    (synopsis "GNOME image loading and manipulation library")
+    (description
+     "GdkPixbuf is a library for image loading and manipulation developed
 in the GNOME project.")
-   (license license:lgpl2.0+)
-   (home-page "https://developer.gnome.org/gdk-pixbuf/")))
+    (license license:lgpl2.0+)
+    (home-page "https://developer.gnome.org/gdk-pixbuf/")))
 
 ;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg depends
 ;; on gdk-pixbuf, so this new varibale.  Also, librsvg adds 90MiB to the
-- 
2.30.1


[-- Attachment #1.1.9: 0008-gnu-gdk-pixbuf-Add-missing-arguments.patch --]
[-- Type: text/x-patch, Size: 900 bytes --]

From d39e7470248a026c2aee9e6c1b52ec4f40c204b5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:31:32 -0500
Subject: [PATCH 08/68] gnu: gdk-pixbuf: Add missing arguments.

* gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:glib-or-gtk?>: New argument.
---
 gnu/packages/gtk.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index b744837cbe..11f05cf6fa 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -590,6 +590,7 @@ highlighting and other features typical of a source code editor.")
     (build-system meson-build-system)
     (arguments
      `(#:meson ,meson-0.55
+       #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
        #:configure-flags '("-Dinstalled_tests=false")
        #:phases
        (modify-phases %standard-phases
-- 
2.30.1


[-- Attachment #1.1.10: 0009-gnu-gdk-pixbuf-Correct-inputs.patch --]
[-- Type: text/x-patch, Size: 1258 bytes --]

From 6ae5ea1284a241076a6e9fa60c3189527405beec Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:35:56 -0500
Subject: [PATCH 09/68] gnu: gdk-pixbuf: Correct inputs.

* gnu/packages/gtk.scm (gdk-pixbuf) [propagated-inputs]: Add libx11.
Remove libpng.
[inputs]: Add libpng. Remove libx11.
---
 gnu/packages/gtk.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 11f05cf6fa..63ee17d7b4 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -604,13 +604,14 @@ highlighting and other features typical of a source code editor.")
     (propagated-inputs
      `( ;; Required by gdk-pixbuf-2.0.pc
        ("glib" ,glib)
-       ("libpng" ,libpng)
+       ;; Required by gdk-pixbuf-xlib-2.0.pc
+       ("libx11" ,libx11)
        ;; Used for testing and required at runtime.
        ("shared-mime-info" ,shared-mime-info)))
     (inputs
      `(("libjpeg" ,libjpeg-turbo)
-       ("libtiff" ,libtiff)
-       ("libx11"  ,libx11)))
+       ("libpng"  ,libpng)
+       ("libtiff" ,libtiff)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("gettext" ,gettext-minimal)
-- 
2.30.1


[-- Attachment #1.1.11: 0010-gnu-gdk-pixbuf-Enable-jasper-support.patch --]
[-- Type: text/x-patch, Size: 1442 bytes --]

From 274ea76c5a3e36380037b26a7a6975189f0391f2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:41:10 -0500
Subject: [PATCH 10/68] gnu: gdk-pixbuf: Enable jasper support.

* gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:configure-flags>[-Djasper]: New flag.
[inputs]: Add jasper.
---
 gnu/packages/gtk.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 63ee17d7b4..192a5b60f5 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -591,7 +591,7 @@ highlighting and other features typical of a source code editor.")
     (arguments
      `(#:meson ,meson-0.55
        #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
-       #:configure-flags '("-Dinstalled_tests=false")
+       #:configure-flags '("-Dinstalled_tests=false" "-Djasper=true")
        #:phases
        (modify-phases %standard-phases
          ;; The slow tests take longer than the specified timeout.
@@ -609,7 +609,8 @@ highlighting and other features typical of a source code editor.")
        ;; Used for testing and required at runtime.
        ("shared-mime-info" ,shared-mime-info)))
     (inputs
-     `(("libjpeg" ,libjpeg-turbo)
+     `(("jasper" ,jasper)
+       ("libjpeg" ,libjpeg-turbo)
        ("libpng"  ,libpng)
        ("libtiff" ,libtiff)))
     (native-inputs
-- 
2.30.1


[-- Attachment #1.1.12: 0011-gnu-gdk-pixbuf-Fix-documentation.patch --]
[-- Type: text/x-patch, Size: 2899 bytes --]

From ebfd8acd539a73871a63c4bc54f97dc35f2d242d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:50:46 -0500
Subject: [PATCH 11/68] gnu: gdk-pixbuf: Fix documentation.

* gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:phases>['patch-docbook]: New phase.
[native-inputs]: Add docbook-xml and docbook-xsl.
---
 gnu/packages/gtk.scm | 23 ++++++++++++++++++++---
 1 file changed, 20 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 192a5b60f5..5bc160be5e 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -590,10 +590,25 @@ highlighting and other features typical of a source code editor.")
     (build-system meson-build-system)
     (arguments
      `(#:meson ,meson-0.55
-       #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+       #:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
        #:configure-flags '("-Dinstalled_tests=false" "-Djasper=true")
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "meson.build"
+                 (("http://docbook.sourceforge.net/release/xsl/current/")
+                  (string-append (assoc-ref inputs "docbook-xsl")
+                                 "/xml/xsl/docbook-xsl-1.79.2/")))
+               (substitute* '("gdk-pixbuf-csource.xml"
+                              "gdk-pixbuf-from-drawables.xml"
+                              "gdk-pixbuf-query-loaders.xml"
+                              "gdk-pixbuf-rendering.xml" "gdk-pixbuf.xml")
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
          ;; The slow tests take longer than the specified timeout.
          ,@(if (any (cute string=? <> (%current-system))
                     '("armhf-linux" "aarch64-linux"))
@@ -614,10 +629,12 @@ highlighting and other features typical of a source code editor.")
        ("libpng"  ,libpng)
        ("libtiff" ,libtiff)))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("docbook-xsl" ,docbook-xsl)
        ("gettext" ,gettext-minimal)
        ("glib" ,glib "bin")             ; glib-mkenums, etc.
-       ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
+       ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
+       ("pkg-config" ,pkg-config)))
     (synopsis "GNOME image loading and manipulation library")
     (description
      "GdkPixbuf is a library for image loading and manipulation developed
-- 
2.30.1


[-- Attachment #1.1.13: 0012-gnu-gdk-pixbuf-Add-missing-inputs.patch --]
[-- Type: text/x-patch, Size: 1113 bytes --]

From 9f50f7baaf0f69b9d017321a936c33c3c84cabfd Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:53:43 -0500
Subject: [PATCH 12/68] gnu: gdk-pixbuf: Add missing inputs.

* gnu/packages/gtk.scm (gdk-pixbuf) [native-inputs]: Add perl and libxslt.
---
 gnu/packages/gtk.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 5bc160be5e..d9509763d2 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -634,7 +634,9 @@ highlighting and other features typical of a source code editor.")
        ("gettext" ,gettext-minimal)
        ("glib" ,glib "bin")             ; glib-mkenums, etc.
        ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
-       ("pkg-config" ,pkg-config)))
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (synopsis "GNOME image loading and manipulation library")
     (description
      "GdkPixbuf is a library for image loading and manipulation developed
-- 
2.30.1


[-- Attachment #1.1.14: 0013-gnu-gdk-pixbuf-Update-synopsis-description-home-page.patch --]
[-- Type: text/x-patch, Size: 1625 bytes --]

From 1d90af0cb85b5c048956ef67f9f6ed34444a8c5b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:56:29 -0500
Subject: [PATCH 13/68] gnu: gdk-pixbuf: Update synopsis, description,
 home-page and license.

* gnu/packages/gtk.scm (gdk-pixbuf) [synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Update to lgpl2.1+.
---
 gnu/packages/gtk.scm | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index d9509763d2..ff7289e78d 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -637,12 +637,12 @@ highlighting and other features typical of a source code editor.")
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
        ("xsltproc" ,libxslt)))
-    (synopsis "GNOME image loading and manipulation library")
-    (description
-     "GdkPixbuf is a library for image loading and manipulation developed
-in the GNOME project.")
-    (license license:lgpl2.0+)
-    (home-page "https://developer.gnome.org/gdk-pixbuf/")))
+    (synopsis "Image loading library")
+    (description "GdkPixbuf is a library that loads image data in various
+formats and stores it as linear buffers in memory.  The buffers can then be
+scaled, composited, modified, saved, or rendered.")
+    (home-page "https://wiki.gnome.org/Projects/GdkPixbuf")
+    (license license:lgpl2.1+)))
 
 ;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg depends
 ;; on gdk-pixbuf, so this new varibale.  Also, librsvg adds 90MiB to the
-- 
2.30.1


[-- Attachment #1.1.15: 0014-gnu-gdk-pixbuf-Disable-failing-tests.patch --]
[-- Type: text/x-patch, Size: 1225 bytes --]

From a1e1ab7564d947e6d3aac72f403382f383c8211e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:00:10 -0500
Subject: [PATCH 14/68] gnu: gdk-pixbuf: Disable failing tests.

* gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:phases>['disable-failing-tests]: New phase.
---
 gnu/packages/gtk.scm | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index ff7289e78d..c3a007ab23 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -609,6 +609,12 @@ highlighting and other features typical of a source code editor.")
                   (string-append (assoc-ref inputs "docbook-xml")
                                  "/xml/dtd/docbook/"))))
              #t))
+         (add-before 'configure 'disable-failing-tests
+           (lambda _
+             (substitute* "tests/meson.build"
+               (("\\[ 'pixbuf-fail', \\['conform', 'slow'\\], \\],")
+                ""))
+             #t))
          ;; The slow tests take longer than the specified timeout.
          ,@(if (any (cute string=? <> (%current-system))
                     '("armhf-linux" "aarch64-linux"))
-- 
2.30.1


[-- Attachment #1.1.16: 0015-gnu-gdk-pixbuf-svg-Correct-package-definition-to-inc.patch --]
[-- Type: text/x-patch, Size: 1739 bytes --]

From 8066818b81d68ba749abcb0a3d122c70d9d6a984 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:08:24 -0500
Subject: [PATCH 15/68] gnu: gdk-pixbuf+svg: Correct package definition to
 include changes from gdk-pixbuf.

* gnu/packages/gtk.scm (gdk-pixbuf+svg) [arguments]: Modify.
[synopsis]: Modify.
---
 gnu/packages/gtk.scm | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index c3a007ab23..b34d758f4a 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -660,10 +660,9 @@ scaled, composited, modified, saved, or rendered.")
      `(("librsvg" ,librsvg)
        ,@(package-inputs gdk-pixbuf)))
     (arguments
-     '(#:configure-flags '("-Dinstalled-tests=false")
-       #:tests? #f ; tested by the gdk-pixbuf package already
-       #:phases
-       (modify-phases %standard-phases
+     (substitute-keyword-arguments (package-arguments gdk-pixbuf)
+        ((#:phases phases)
+          `(modify-phases ,phases
          (add-after 'install 'register-svg-loader
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out     (assoc-ref outputs "out"))
@@ -677,9 +676,8 @@ scaled, composited, modified, saved, or rendered.")
                (apply invoke
                       gdk-pixbuf-query-loaders
                       "--update-cache"
-                      loaders)))))))
-    (synopsis
-     "GNOME image loading and manipulation library, with SVG support")))
+                      loaders))))))))
+    (synopsis "Image loading library, with SVG support")))
 
 (define-public at-spi2-core
   (package
-- 
2.30.1


[-- Attachment #1.1.17: 0016-gnu-vala-Fix-indentation.patch --]
[-- Type: text/x-patch, Size: 1914 bytes --]

From 6e06abc97a300d46d73698f348b5a68ca4c45fc1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:20:37 -0500
Subject: [PATCH 16/68] gnu: vala: Fix indentation.

* gnu/packages/gnome.scm (vala): Fix indentation.
---
 gnu/packages/gnome.scm | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index eaea4c6cb6..01a86a193a 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4267,23 +4267,23 @@ passwords in the GNOME keyring.")
      '(#:phases
        (modify-phases %standard-phases
          (add-before 'check 'pre-check
-                     (lambda _
-                       (setenv "CC" "gcc")
-                       (substitute* "valadoc/tests/libvaladoc\
+           (lambda _
+             (setenv "CC" "gcc")
+             (substitute* "valadoc/tests/libvaladoc\
 /tests-extra-environment.sh"
-                         (("export PKG_CONFIG_PATH=" m)
-                          (string-append m "$PKG_CONFIG_PATH:"))))))))
+               (("export PKG_CONFIG_PATH=" m)
+                (string-append m "$PKG_CONFIG_PATH:"))))))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("flex" ,flex)
        ("bison" ,bison)
        ("xsltproc" ,libxslt)
-       ("dbus" ,dbus)                                     ; for dbus tests
+       ("dbus" ,dbus)                   ; for dbus tests
        ("gobject-introspection" ,gobject-introspection))) ; for gir tests
     (inputs
      `(("graphviz" ,graphviz)))
     (propagated-inputs
-     `(("glib" ,glib))) ; required by libvala-0.40.pc
+     `(("glib" ,glib)))                 ; required by libvala-0.40.pc
     (home-page "https://wiki.gnome.org/Projects/Vala/")
     (synopsis "Compiler for the GObject type system")
     (description
-- 
2.30.1


[-- Attachment #1.1.18: 0017-gnu-vala-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 904 bytes --]

From f9dcc88185226a83b6d63f610962121a83ce80cf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:21:35 -0500
Subject: [PATCH 17/68] gnu: vala: Change build-system.

* gnu/packages/gnome.scm (vala) [build-system]: Change from gnu to glib-or-gtk.
---
 gnu/packages/gnome.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 01a86a193a..6e2d9165e9 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4262,7 +4262,7 @@ passwords in the GNOME keyring.")
               (sha256
                (base32
                 "1nx5xjarpkl9hgy0qbqfczx7d7clh5g1r8xr5xp8b97c5fsc2rb1"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      '(#:phases
        (modify-phases %standard-phases
-- 
2.30.1


[-- Attachment #1.1.19: 0018-gnu-vala-Enable-coverage-support.patch --]
[-- Type: text/x-patch, Size: 970 bytes --]

From 8a42fb2902f92602e8c4a452e2cf620806e0fa96 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:23:56 -0500
Subject: [PATCH 18/68] gnu: vala: Enable coverage support.

* gnu/packages/gnome.scm (vala) [arguments]<#:configure-flags>
[--enable-coverage]: New flag.
---
 gnu/packages/gnome.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 6e2d9165e9..d8b8fdb3e8 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4264,7 +4264,8 @@ passwords in the GNOME keyring.")
                 "1nx5xjarpkl9hgy0qbqfczx7d7clh5g1r8xr5xp8b97c5fsc2rb1"))))
     (build-system glib-or-gtk-build-system)
     (arguments
-     '(#:phases
+     '(#:configure-flags '("--enable-coverage")
+       #:phases
        (modify-phases %standard-phases
          (add-before 'check 'pre-check
            (lambda _
-- 
2.30.1


[-- Attachment #1.1.20: 0019-gnu-vala-Fix-documentation.patch --]
[-- Type: text/x-patch, Size: 1652 bytes --]

From 49aa1c38fd457c01fb82a13bf13a8c9afed24ac6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:30:26 -0500
Subject: [PATCH 19/68] gnu: vala: Fix documentation.

* gnu/packages/gnome.scm (vala) [arguments]<#:phases>['patch-docbook-xml]: New phase.
[native-inputs]: Add docbook-xml and docbook-xsl.
---
 gnu/packages/gnome.scm | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index d8b8fdb3e8..733d2ac1e3 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4267,6 +4267,14 @@ passwords in the GNOME keyring.")
      '(#:configure-flags '("--enable-coverage")
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc/manual"
+               (substitute* '("manual.xml" "version.xml.in")
+                 (("http://www.oasis-open.org/docbook/xml/4.4/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
          (add-before 'check 'pre-check
            (lambda _
              (setenv "CC" "gcc")
@@ -4276,6 +4284,8 @@ passwords in the GNOME keyring.")
                 (string-append m "$PKG_CONFIG_PATH:"))))))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
+       ("docbook-xml" ,docbook-xml-4.4)
+       ("docbook-xsl" ,docbook-xsl)
        ("flex" ,flex)
        ("bison" ,bison)
        ("xsltproc" ,libxslt)
-- 
2.30.1


[-- Attachment #1.1.21: 0020-gnu-vala-Add-missing-inputs-and-propagate-libgvc.patch --]
[-- Type: text/x-patch, Size: 1844 bytes --]

From 9b657b9ae9db9262d88c28910b88f18f59bc2ffa Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:34:48 -0500
Subject: [PATCH 20/68] gnu: vala: Add missing inputs and propagate libgvc.

* gnu/packages/gnome.scm (vala) [native-inputs]: Add help2man and perl.
[inputs]: Move graphviz to ...
[propagated-inputs]: ... here.
---
 gnu/packages/gnome.scm | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 733d2ac1e3..db014f9b34 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4283,18 +4283,19 @@ passwords in the GNOME keyring.")
                (("export PKG_CONFIG_PATH=" m)
                 (string-append m "$PKG_CONFIG_PATH:"))))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("bison" ,bison)
+       ("dbus" ,dbus)                   ; for dbus tests
        ("docbook-xml" ,docbook-xml-4.4)
        ("docbook-xsl" ,docbook-xsl)
        ("flex" ,flex)
-       ("bison" ,bison)
-       ("xsltproc" ,libxslt)
-       ("dbus" ,dbus)                   ; for dbus tests
-       ("gobject-introspection" ,gobject-introspection))) ; for gir tests
-    (inputs
-     `(("graphviz" ,graphviz)))
+       ("gobject-introspection" ,gobject-introspection) ; for gir tests
+       ("help2man" ,help2man)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
-     `(("glib" ,glib)))                 ; required by libvala-0.40.pc
+     `(("glib" ,glib)                   ; required by libvala-0.40.pc
+       ("libgvc" ,graphviz)))
     (home-page "https://wiki.gnome.org/Projects/Vala/")
     (synopsis "Compiler for the GObject type system")
     (description
-- 
2.30.1


[-- Attachment #1.1.22: 0021-gnu-vala-Update-synopsis-and-description.patch --]
[-- Type: text/x-patch, Size: 1615 bytes --]

From 4680aceb9d240b1e261d98d4a3735562dad5dc4d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:38:26 -0500
Subject: [PATCH 21/68] gnu: vala: Update synopsis and description.

* gnu/packages/gnome.scm (vala) [synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/gnome.scm | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index db014f9b34..d02a7c5591 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4297,12 +4297,12 @@ passwords in the GNOME keyring.")
      `(("glib" ,glib)                   ; required by libvala-0.40.pc
        ("libgvc" ,graphviz)))
     (home-page "https://wiki.gnome.org/Projects/Vala/")
-    (synopsis "Compiler for the GObject type system")
-    (description
-     "Vala is a programming language that aims to bring modern programming
-language features to GNOME developers without imposing any additional runtime
-requirements and without using a different ABI compared to applications and
-libraries written in C.")
+    (synopsis "Compiler using the GObject type system")
+    (description "Vala is a programming language using modern high level
+abstractions without imposing additional runtime requirements and without using
+a different ABI compared to applications and libraries written in C.  Vala uses
+the GObject type system and has additional code generation routines that make
+targeting the GNOME stack simple.")
     (license license:lgpl2.1+)))
 
 (define-public vte
-- 
2.30.1


[-- Attachment #1.1.23: 0022-gnu-libgsf-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 915 bytes --]

From f32446d337046c1b9534d8971ac5b38302178cba Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:53:42 -0500
Subject: [PATCH 22/68] gnu: libgsf: Change build-system.

* gnu/packages/gnome.scm (libgsf) [build-system]: Change from gnu to glib-or-gtk.
---
 gnu/packages/gnome.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index d02a7c5591..3d9e98d0c9 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3257,7 +3257,7 @@ XML/CSS rendering engine.")
               (sha256
                (base32
                 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      '(#:configure-flags '("--disable-static")))
     (native-inputs
-- 
2.30.1


[-- Attachment #1.1.24: 0023-gnu-libgsf-Make-separate-output-for-binaries.patch --]
[-- Type: text/x-patch, Size: 863 bytes --]

From f18792280f1f267f3639ec893144f040ee66d96d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:56:04 -0500
Subject: [PATCH 23/68] gnu: libgsf: Make separate output for binaries.

* gnu/packages/gnome.scm (libgsf) [outputs]: New output "bin".
---
 gnu/packages/gnome.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 3d9e98d0c9..384535412f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3258,6 +3258,7 @@ XML/CSS rendering engine.")
                (base32
                 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
     (build-system glib-or-gtk-build-system)
+    (outputs '("out" "bin"))
     (arguments
      '(#:configure-flags '("--disable-static")))
     (native-inputs
-- 
2.30.1


[-- Attachment #1.1.25: 0024-gnu-libgsf-Re-arrange-inputs-in-alphabetical-order.patch --]
[-- Type: text/x-patch, Size: 1233 bytes --]

From 10b20548acc1978077761acf5ec2a7f9e989ef51 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:02:14 -0500
Subject: [PATCH 24/68] gnu: libgsf: Re-arrange inputs in alphabetical order.

* gnu/packages/gnome.scm (libgsf) [native-inputs]: Modify.
[inputs]: Modify.
---
 gnu/packages/gnome.scm | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 384535412f..ea37d4a7ca 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3262,15 +3262,13 @@ XML/CSS rendering engine.")
     (arguments
      '(#:configure-flags '("--disable-static")))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("gettext" ,gettext-minimal)
-
-       ;; For tests.
+     `(("gettext" ,gettext-minimal)
        ("perl" ,perl)
-       ("perl-xml-parser" ,perl-xml-parser)))
+       ("perl-xml-parser" ,perl-xml-parser)
+       ("pkg-config" ,pkg-config)))
     (inputs
-     `(("zlib" ,zlib)
-       ("bzip2" ,bzip2)))
+     `(("bzip2" ,bzip2)
+       ("zlib" ,zlib)))
     (propagated-inputs
      `(("gdk-pixbuf" ,gdk-pixbuf)
        ("glib" ,glib)
-- 
2.30.1


[-- Attachment #1.1.26: 0025-gnu-libgsf-Enable-missing-features.patch --]
[-- Type: text/x-patch, Size: 1904 bytes --]

From 7df7e488def2c6b70ada87fd2c1fdeb66888f020 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:08:10 -0500
Subject: [PATCH 25/68] gnu: libgsf: Enable missing features.

* gnu/packages/gnome.scm (libgsf) [arguments]<#:configure-flag>[--enable-introspection]: New flag.
[--with-gir-dir=]: New flag.
[--with-typelib-dir=]: New flag.
[--with-zlib]: New flag.
[--with-bz2]: New flag.
[native-inputs]: Add gobject-introspection.
---
 gnu/packages/gnome.scm | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index ea37d4a7ca..d4c20de8b0 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3260,9 +3260,27 @@ XML/CSS rendering engine.")
     (build-system glib-or-gtk-build-system)
     (outputs '("out" "bin"))
     (arguments
-     '(#:configure-flags '("--disable-static")))
+     `(#:configure-flags
+       (list
+        "--disable-static"
+        "--enable-introspection"
+        (string-append "--with-gir-dir="
+                       (assoc-ref %outputs "out")
+                       "/share/gir-"
+                       ,(version-major
+                         (package-version gobject-introspection))
+                       ".0")
+        (string-append "--with-typelib-dir="
+                       (assoc-ref %outputs "out")
+                       "/lib/girepository-"
+                       ,(version-major
+                         (package-version gobject-introspection))
+                       ".0")
+        "--with-zlib"
+        "--with-bz2")))
     (native-inputs
      `(("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
        ("perl" ,perl)
        ("perl-xml-parser" ,perl-xml-parser)
        ("pkg-config" ,pkg-config)))
-- 
2.30.1


[-- Attachment #1.1.27: 0026-gnu-libgsf-Correct-inputs.patch --]
[-- Type: text/x-patch, Size: 1267 bytes --]

From 34317800dd1d0016ea787b7cfcb58680935064c7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:11:02 -0500
Subject: [PATCH 26/68] gnu: libgsf: Correct inputs.

* gnu/packages/gnome.scm (libgsf) [native-inputs]: Add python-wrapper.
[propagated-inputs]: Move gdk-pixbuf to ...
[inputs]: ... here.
---
 gnu/packages/gnome.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index d4c20de8b0..5cd1396d6c 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3283,13 +3283,14 @@ XML/CSS rendering engine.")
        ("gobject-introspection" ,gobject-introspection)
        ("perl" ,perl)
        ("perl-xml-parser" ,perl-xml-parser)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
     (inputs
      `(("bzip2" ,bzip2)
+       ("gdk-pixbuf" ,gdk-pixbuf)
        ("zlib" ,zlib)))
     (propagated-inputs
-     `(("gdk-pixbuf" ,gdk-pixbuf)
-       ("glib" ,glib)
+     `(("glib" ,glib)
        ("libxml2" ,libxml2)))
     (home-page "https://www.gnome.org/projects/libgsf")
     (synopsis "GNOME's Structured File Library")
-- 
2.30.1


[-- Attachment #1.1.28: 0027-gnu-libgsf-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 2137 bytes --]

From c0eda744064e6ed69f75803b87ca66100bd58fa9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:20:52 -0500
Subject: [PATCH 27/68] gnu: libgsf: Enable documentation.

* gnu/packages/gnome.scm (libgsf) [outputs]: New output "doc".
[arguments]<#:configure-flags>[--with-html-dir]: New flag.
[native-inputs]: Add docbook-xml.
---
 gnu/packages/gnome.scm | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 5cd1396d6c..8965365855 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3258,7 +3258,7 @@ XML/CSS rendering engine.")
                (base32
                 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
     (build-system glib-or-gtk-build-system)
-    (outputs '("out" "bin"))
+    (outputs '("out" "bin" "doc"))
     (arguments
      `(#:configure-flags
        (list
@@ -3276,10 +3276,24 @@ XML/CSS rendering engine.")
                        ,(version-major
                          (package-version gobject-introspection))
                        ".0")
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html")
         "--with-zlib"
-        "--with-bz2")))
+        "--with-bz2")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* "gsf-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.5/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t)))))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
+     `(("docbook-xml" ,docbook-xml)
+       ("gettext" ,gettext-minimal)
        ("gobject-introspection" ,gobject-introspection)
        ("perl" ,perl)
        ("perl-xml-parser" ,perl-xml-parser)
-- 
2.30.1


[-- Attachment #1.1.29: 0028-gnu-libgsf-Update-synopsis-description-home-page-and.patch --]
[-- Type: text/x-patch, Size: 1509 bytes --]

From d7472bbaa3b07fce0e2dbb11948b21b03c3cea4a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:22:54 -0500
Subject: [PATCH 28/68] gnu: libgsf: Update synopsis, description, home-page
 and license.

* gnu/packages/gnome.scm (libgsf) [synopsis]: Modify.
[home-page]: Modify.
[description]: Modify.
[license]: Modify.
---
 gnu/packages/gnome.scm | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 8965365855..cbda2a93a7 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3306,14 +3306,16 @@ XML/CSS rendering engine.")
     (propagated-inputs
      `(("glib" ,glib)
        ("libxml2" ,libxml2)))
-    (home-page "https://www.gnome.org/projects/libgsf")
-    (synopsis "GNOME's Structured File Library")
-    (description
-     "Libgsf aims to provide an efficient extensible I/O abstraction for
-dealing with different structured file formats.")
-
-    ;; LGPLv2.1-only.
-    (license license:lgpl2.1)))
+    (synopsis "G Structured File Library")
+    (description "Libgsf aims to provide an efficient extensible I/O abstraction
+for dealing with different structured file formats.")
+    (home-page "https://gitlab.gnome.org/GNOME/libgsf")
+    (license
+     (list
+      ;; Library
+      license:lgpl2.1+
+      ;; Others
+      license:lgpl2.0+))))
 
 (define-public librsvg
   (package
-- 
2.30.1


[-- Attachment #1.1.30: 0029-gnu-atk-Fix-indentation.patch --]
[-- Type: text/x-patch, Size: 2816 bytes --]

From 7175184691380f747db8517988e1e859c022303b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:39:47 -0500
Subject: [PATCH 29/68] gnu: atk: Fix indentation.

* gnu/packages/gtk.scm (atk): Fix indentation.
---
 gnu/packages/gtk.scm | 44 ++++++++++++++++++++++----------------------
 1 file changed, 22 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index b34d758f4a..9e2759bd06 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -96,30 +96,30 @@
 
 (define-public atk
   (package
-   (name "atk")
-   (version "2.34.1")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "1jwp16r6p5z66k4b2v8zlzhyshhwlmyi27ippkrgqr8jsary7w6l"))))
-   (build-system meson-build-system)
-   (propagated-inputs `(("glib" ,glib))) ; required by atk.pc
-   (native-inputs
-    `(("pkg-config" ,pkg-config)
-      ("gettext" ,gettext-minimal)
-      ("glib" ,glib "bin")                               ; glib-mkenums, etc.
-      ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
-   (synopsis "GNOME accessibility toolkit")
-   (description
-    "ATK provides the set of accessibility interfaces that are implemented
+    (name "atk")
+    (version "2.34.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1jwp16r6p5z66k4b2v8zlzhyshhwlmyi27ippkrgqr8jsary7w6l"))))
+    (build-system meson-build-system)
+    (propagated-inputs `(("glib" ,glib))) ; required by atk.pc
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("gettext" ,gettext-minimal)
+       ("glib" ,glib "bin")             ; glib-mkenums, etc.
+       ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
+    (synopsis "GNOME accessibility toolkit")
+    (description
+     "ATK provides the set of accessibility interfaces that are implemented
 by other toolkits and applications.  Using the ATK interfaces, accessibility
 tools have full access to view and control running applications.")
-   (license license:lgpl2.0+)
-   (home-page "https://developer.gnome.org/atk/")))
+    (license license:lgpl2.0+)
+    (home-page "https://developer.gnome.org/atk/")))
 
 (define-public cairo
   (package
-- 
2.30.1


[-- Attachment #1.1.31: 0030-gnu-atk-Re-arrange-inputs-in-alphabetical-order.patch --]
[-- Type: text/x-patch, Size: 1218 bytes --]

From c427a68ec7a2a596c7991f1bfac7ddb313b41ec2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:41:46 -0500
Subject: [PATCH 30/68] gnu: atk: Re-arrange inputs in alphabetical order.

* gnu/packages/gtk.scm (atk) [native-inputs]: Modify.
---
 gnu/packages/gtk.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 9e2759bd06..3d1c32b952 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -109,10 +109,10 @@
     (build-system meson-build-system)
     (propagated-inputs `(("glib" ,glib))) ; required by atk.pc
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("gettext" ,gettext-minimal)
+     `(("gettext" ,gettext-minimal)
        ("glib" ,glib "bin")             ; glib-mkenums, etc.
-       ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
+       ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
+       ("pkg-config" ,pkg-config)))
     (synopsis "GNOME accessibility toolkit")
     (description
      "ATK provides the set of accessibility interfaces that are implemented
-- 
2.30.1


[-- Attachment #1.1.32: 0031-gnu-atk-Update-to-2.36.0.patch --]
[-- Type: text/x-patch, Size: 1368 bytes --]

From 1e4cfea7d94f75a6e346af0929305985a815f98a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:44:36 -0500
Subject: [PATCH 31/68] gnu: atk: Update to 2.36.0.

* gnu/packages/gtk.scm (atk) [version]: Update to 2.36.0.
[arguments]<#:glib-or-gtk?>: New argument.
---
 gnu/packages/gtk.scm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 3d1c32b952..5cfe5bf8a4 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -97,7 +97,7 @@
 (define-public atk
   (package
     (name "atk")
-    (version "2.34.1")
+    (version "2.36.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -105,8 +105,10 @@
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1jwp16r6p5z66k4b2v8zlzhyshhwlmyi27ippkrgqr8jsary7w6l"))))
+                "1217cmmykjgkkim0zr1lv5j13733m4w5vipmy4ivw0ll6rz28xpv"))))
     (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t))  ; To wrap binaries and/or compile schemas
     (propagated-inputs `(("glib" ,glib))) ; required by atk.pc
     (native-inputs
      `(("gettext" ,gettext-minimal)
-- 
2.30.1


[-- Attachment #1.1.33: 0032-gnu-atk-Update-home-page-and-license.patch --]
[-- Type: text/x-patch, Size: 1031 bytes --]

From 7dea981e3d214181618aba96bc95cfe31fe7e4c5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:46:00 -0500
Subject: [PATCH 32/68] gnu: atk: Update home-page and license.

* gnu/packages/gtk.scm (atk) [home-page]: Modify.
[license]: Update to lgpl2.1+.
---
 gnu/packages/gtk.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 5cfe5bf8a4..e12049a109 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -120,8 +120,8 @@
      "ATK provides the set of accessibility interfaces that are implemented
 by other toolkits and applications.  Using the ATK interfaces, accessibility
 tools have full access to view and control running applications.")
-    (license license:lgpl2.0+)
-    (home-page "https://developer.gnome.org/atk/")))
+    (license license:lgpl2.1+)
+    (home-page "https://wiki.gnome.org/Accessibility")))
 
 (define-public cairo
   (package
-- 
2.30.1


[-- Attachment #1.1.34: 0033-gnu-atkmm-Fix-indentation.patch --]
[-- Type: text/x-patch, Size: 1480 bytes --]

From 9e2ed951e36cfcf26f9593602cb6de7071941756 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:50:53 -0500
Subject: [PATCH 33/68] gnu: atkmm: Fix indentation.

* gnu/packages/gtk.scm (atkmm): Fix indentation.
---
 gnu/packages/gtk.scm | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index e12049a109..9cfeb69889 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1381,13 +1381,13 @@ library.")
     (name "atkmm")
     (version "2.28.0")
     (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/" name "/"
-                                 (version-major+minor version)  "/"
-                                 name "-" version ".tar.xz"))
-             (sha256
-              (base32
-               "0fnxrspxkhhbrjphqrpvl3zjm66n50s4cywrrrwkhbflgy8zqk2c"))))
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0fnxrspxkhhbrjphqrpvl3zjm66n50s4cywrrrwkhbflgy8zqk2c"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)))
     (propagated-inputs
-- 
2.30.1


[-- Attachment #1.1.35: 0034-gnu-atkmm-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 915 bytes --]

From 0f229b440be5837ec30f996891593969518f9248 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:52:35 -0500
Subject: [PATCH 34/68] gnu: atkmm: Change build-system.

* gnu/packages/gtk.scm (atkmm) [build-system]: Change from gnu to glib-or-gtk.
---
 gnu/packages/gtk.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 9cfeb69889..1d3e7542ed 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1388,7 +1388,7 @@ library.")
               (sha256
                (base32
                 "0fnxrspxkhhbrjphqrpvl3zjm66n50s4cywrrrwkhbflgy8zqk2c"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)))
     (propagated-inputs
      `(("glibmm" ,glibmm) ("atk" ,atk)))
-- 
2.30.1


[-- Attachment #1.1.36: 0035-gnu-atkmm-Add-missing-inputs.patch --]
[-- Type: text/x-patch, Size: 1362 bytes --]

From 79430041366d67e81b614bfa531aa949ff146db8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:55:27 -0500
Subject: [PATCH 35/68] gnu: atkmm: Add missing inputs.

* gnu/packages/gtk.scm (atkmm) [native-inputs]: Add m4, mm-common,
perl and libxslt.
---
 gnu/packages/gtk.scm | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 1d3e7542ed..894757f2df 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -77,6 +77,7 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages m4)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -1389,7 +1390,12 @@ library.")
                (base32
                 "0fnxrspxkhhbrjphqrpvl3zjm66n50s4cywrrrwkhbflgy8zqk2c"))))
     (build-system glib-or-gtk-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs
+     `(("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("glibmm" ,glibmm) ("atk" ,atk)))
     (home-page "https://www.gtkmm.org")
-- 
2.30.1


[-- Attachment #1.1.37: 0036-gnu-atkmm-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 1566 bytes --]

From 6ee34e17aba042ba4d51ae818065e97f945811ca Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:59:21 -0500
Subject: [PATCH 36/68] gnu: atkmm: Enable documentation.

* gnu/packages/gtk.scm (atkmm) [outputs]: Add new output "doc".
[arguments]<#:phases>['move-doc]: New phase.
[native-inputs]: Add graphviz, doxygen.
---
 gnu/packages/gtk.scm | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 894757f2df..611b0736aa 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1390,8 +1390,23 @@ library.")
                (base32
                 "0fnxrspxkhhbrjphqrpvl3zjm66n50s4cywrrrwkhbflgy8zqk2c"))))
     (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (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"))
+               #t))))))
     (native-inputs
-     `(("m4" ,m4)
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("m4" ,m4)
        ("mm-common" ,mm-common)
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
-- 
2.30.1


[-- Attachment #1.1.38: 0037-gnu-atkmm-Update-synopsis-description-home-page-and-.patch --]
[-- Type: text/x-patch, Size: 1349 bytes --]

From 093687871537d1be22ccc741b5513339211a565b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 13:01:19 -0500
Subject: [PATCH 37/68] gnu: atkmm: Update synopsis, description, home-page and
 license.

* gnu/packages/gtk.scm (atkmm) [synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Add gpl2+.
---
 gnu/packages/gtk.scm | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 611b0736aa..c8eab2c0aa 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1413,12 +1413,15 @@ library.")
        ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("glibmm" ,glibmm) ("atk" ,atk)))
-    (home-page "https://www.gtkmm.org")
-    (synopsis "C++ interface to the ATK accessibility library")
-    (description
-     "ATKmm provides a C++ programming interface to the ATK accessibility
-toolkit.")
-    (license license:lgpl2.1+)))
+    (synopsis "C++ bindings for ATK")
+    (description "ATKmm is the C++ binding for the ATK library.")
+    (home-page "https://wiki.gnome.org/Accessibility")
+    (license
+     (list
+      ;; Library
+      license:lgpl2.1+
+      ;; Tools
+      license:gpl2+))))
 
 (define-public gtkmm
   (package
-- 
2.30.1


[-- Attachment #1.1.39: 0038-gnu-at-spi2-core-Update-to-2.36.0.patch --]
[-- Type: text/x-patch, Size: 1535 bytes --]

From b9c89edebe1c3db923fe6cc8354a79d1d1c37ab3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 13:17:35 -0500
Subject: [PATCH 38/68] gnu: at-spi2-core: Update to 2.36.0.

* gnu/packages/gtk.scm (at-spi2-core) [version]: Update to 2.36.0.
[arguments]<#:glib-or-gtk?>: New argument.
---
 gnu/packages/gtk.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index c8eab2c0aa..f3038ea02c 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -685,7 +685,7 @@ scaled, composited, modified, saved, or rendered.")
 (define-public at-spi2-core
   (package
    (name "at-spi2-core")
-   (version "2.34.0")
+   (version "2.36.0")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnome/sources/" name "/"
@@ -693,11 +693,12 @@ scaled, composited, modified, saved, or rendered.")
                                 name "-" version ".tar.xz"))
             (sha256
              (base32
-              "1ihixwhh3c16q6253qj9gf69741rb2pi51822a4rylsfcyywsafn"))))
+              "0nn0lnf07ayysq8c8irmvc91c2dszn04m5qs6jy60g3y1bg5gnl8"))))
    (build-system meson-build-system)
    (outputs '("out" "doc"))
    (arguments
-    '(#:configure-flags
+    '(#:glib-or-gtk? #t    ; To wrap binaries and/or compile schemas
+      #:configure-flags
       (list "-Ddocs=true")
       #:phases
       (modify-phases %standard-phases
-- 
2.30.1


[-- Attachment #1.1.40: 0039-gnu-at-spi2-core-Add-missing-inputs.patch --]
[-- Type: text/x-patch, Size: 1326 bytes --]

From 19f6684abd8128ef5668b5dde50ed74fe88c0ddb Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 13:20:37 -0500
Subject: [PATCH 39/68] gnu: at-spi2-core: Add missing inputs.

* gnu/packages/gtk.scm (at-spi2-core) [native-inputs]: Add python-wrapper.
[propagated-inputs]: Add libx11.
---
 gnu/packages/gtk.scm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index f3038ea02c..ad0d1144fc 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -737,14 +737,16 @@ scaled, composited, modified, saved, or rendered.")
     ;; atspi-2.pc refers to all these.
     `(("dbus" ,dbus)
       ("glib" ,glib)
+      ("libx11" ,libx11)
       ("libxi" ,libxi)
       ("libxtst" ,libxtst)))
    (native-inputs
     `(("gettext" ,gettext-minimal)
+      ("glib" ,glib "bin")
       ("gobject-introspection" ,gobject-introspection)
       ("gtk-doc" ,gtk-doc)
-      ("glib" ,glib "bin")
-      ("pkg-config" ,pkg-config)))
+      ("pkg-config" ,pkg-config)
+      ("python" ,python-wrapper)))
    (synopsis "Assistive Technology Service Provider Interface, core components")
    (description
     "The Assistive Technology Service Provider Interface, core components,
-- 
2.30.1


[-- Attachment #1.1.41: 0040-gnu-at-spi2-core-Fix-intendation.patch --]
[-- Type: text/x-patch, Size: 6879 bytes --]

From d080196e9354cc96162c023678c817aaa03ba740 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 13:22:41 -0500
Subject: [PATCH 40/68] gnu: at-spi2-core: Fix intendation.

* gnu/packages/gtk.scm (at-spi2-core): Fix indentation.
---
 gnu/packages/gtk.scm | 134 +++++++++++++++++++++----------------------
 1 file changed, 67 insertions(+), 67 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index ad0d1144fc..02cdc30911 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -684,75 +684,75 @@ scaled, composited, modified, saved, or rendered.")
 
 (define-public at-spi2-core
   (package
-   (name "at-spi2-core")
-   (version "2.36.0")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "0nn0lnf07ayysq8c8irmvc91c2dszn04m5qs6jy60g3y1bg5gnl8"))))
-   (build-system meson-build-system)
-   (outputs '("out" "doc"))
-   (arguments
-    '(#:glib-or-gtk? #t    ; To wrap binaries and/or compile schemas
-      #:configure-flags
-      (list "-Ddocs=true")
-      #:phases
-      (modify-phases %standard-phases
-        (add-after 'unpack 'set-documentation-path
-          (lambda* (#:key outputs #:allow-other-keys)
-            ;; Ensure that the cross-references point to the "doc" output.
-            (substitute* "doc/libatspi/meson.build"
-              (("docpath =.*")
-               (string-append "docpath = '" (assoc-ref outputs "doc") "/share/gtk-doc/html'\n")))
-            #t))
-        (add-before 'install 'prepare-doc-directory
-          (lambda* (#:key outputs #:allow-other-keys)
-            (mkdir-p (string-append (assoc-ref outputs "doc") "/share"))
-            #t))
-        (add-after 'install 'move-documentation
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out"))
-                  (doc (assoc-ref outputs "doc")))
-              (copy-recursively
-               (string-append out "/share/gtk-doc")
-               (string-append doc "/share/gtk-doc"))
-              (delete-file-recursively
-               (string-append out "/share/gtk-doc")))
-            #t))
-        (add-after 'install 'check
-          (lambda _
-            (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME
-            ;; Run test-suite under a dbus session.
-            (setenv "XDG_DATA_DIRS"     ; for finding org.xfce.Xfconf.service
-                    (string-append %output "/share"))
-            ;; Don't fail on missing  '/etc/machine-id'.
-            (setenv "DBUS_FATAL_WARNINGS" "0") ;
-            (invoke "dbus-launch" "ninja" "test")))
+    (name "at-spi2-core")
+    (version "2.36.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0nn0lnf07ayysq8c8irmvc91c2dszn04m5qs6jy60g3y1bg5gnl8"))))
+    (build-system meson-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     '(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list "-Ddocs=true")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'set-documentation-path
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Ensure that the cross-references point to the "doc" output.
+             (substitute* "doc/libatspi/meson.build"
+               (("docpath =.*")
+                (string-append "docpath = '" (assoc-ref outputs "doc") "/share/gtk-doc/html'\n")))
+             #t))
+         (add-before 'install 'prepare-doc-directory
+           (lambda* (#:key outputs #:allow-other-keys)
+             (mkdir-p (string-append (assoc-ref outputs "doc") "/share"))
+             #t))
+         (add-after 'install 'move-documentation
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (doc (assoc-ref outputs "doc")))
+               (copy-recursively
+                (string-append out "/share/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               (delete-file-recursively
+                (string-append out "/share/gtk-doc")))
+             #t))
+         (add-after 'install 'check
+           (lambda _
+             (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME
+             ;; Run test-suite under a dbus session.
+             (setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service
+                     (string-append %output "/share"))
+             ;; Don't fail on missing  '/etc/machine-id'.
+             (setenv "DBUS_FATAL_WARNINGS" "0") ;
+             (invoke "dbus-launch" "ninja" "test")))
          (delete 'check))))
-   (propagated-inputs
-    ;; atspi-2.pc refers to all these.
-    `(("dbus" ,dbus)
-      ("glib" ,glib)
-      ("libx11" ,libx11)
-      ("libxi" ,libxi)
-      ("libxtst" ,libxtst)))
-   (native-inputs
-    `(("gettext" ,gettext-minimal)
-      ("glib" ,glib "bin")
-      ("gobject-introspection" ,gobject-introspection)
-      ("gtk-doc" ,gtk-doc)
-      ("pkg-config" ,pkg-config)
-      ("python" ,python-wrapper)))
-   (synopsis "Assistive Technology Service Provider Interface, core components")
-   (description
-    "The Assistive Technology Service Provider Interface, core components,
+    (propagated-inputs
+     ;; atspi-2.pc refers to all these.
+     `(("dbus" ,dbus)
+       ("glib" ,glib)
+       ("libx11" ,libx11)
+       ("libxi" ,libxi)
+       ("libxtst" ,libxtst)))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("glib" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (synopsis "Assistive Technology Service Provider Interface, core components")
+    (description
+     "The Assistive Technology Service Provider Interface, core components,
 is part of the GNOME accessibility project.")
-   (license license:lgpl2.0+)
-   (home-page "https://projects.gnome.org/accessibility/")))
+    (license license:lgpl2.0+)
+    (home-page "https://projects.gnome.org/accessibility/")))
 
 ;;; A minimal variant used to prevent a cycle with Inkscape.
 (define at-spi2-core-minimal
-- 
2.30.1


[-- Attachment #1.1.42: 0041-gnu-at-spi2-core-Fix-documentation.patch --]
[-- Type: text/x-patch, Size: 1841 bytes --]

From 02dafcff4d4e7ecbd486cdd4dde153f14387427c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 13:24:57 -0500
Subject: [PATCH 41/68] gnu: at-spi2-core: Fix documentation.

* gnu/packages/gtk.scm (at-spi2-core) [arguments]<#:phases>['patch-docbook-sgml]: New phase.
[native-inputs]: Add docbook-xml.
---
 gnu/packages/gtk.scm | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 02cdc30911..1d1bd6ca42 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -713,6 +713,14 @@ scaled, composited, modified, saved, or rendered.")
            (lambda* (#:key outputs #:allow-other-keys)
              (mkdir-p (string-append (assoc-ref outputs "doc") "/share"))
              #t))
+         (add-after 'unpack 'patch-docbook-sgml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let* ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
+                                           "/xml/dtd/docbook")))
+               (substitute* "doc/libatspi/libatspi-docs.sgml"
+                 (("http://.*/docbookx\\.dtd")
+                  (string-append xmldoc "/docbookx.dtd")))
+               #t)))
          (add-after 'install 'move-documentation
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out"))
@@ -741,7 +749,8 @@ scaled, composited, modified, saved, or rendered.")
        ("libxi" ,libxi)
        ("libxtst" ,libxtst)))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("gettext" ,gettext-minimal)
        ("glib" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
        ("gtk-doc" ,gtk-doc)
-- 
2.30.1


[-- Attachment #1.1.43: 0042-gnu-at-spi2-core-Update-home-page-and-license.patch --]
[-- Type: text/x-patch, Size: 1088 bytes --]

From 9c268d642ad78b48bd332d6511ddac296cdf086f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 13:26:26 -0500
Subject: [PATCH 42/68] gnu: at-spi2-core: Update home-page and license.

* gnu/packages/gtk.scm (at-spi2-core) [home-page]: Modify.
[license]: Update to lgpl2.1+.
---
 gnu/packages/gtk.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 1d1bd6ca42..1d404e0ae7 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -760,8 +760,8 @@ scaled, composited, modified, saved, or rendered.")
     (description
      "The Assistive Technology Service Provider Interface, core components,
 is part of the GNOME accessibility project.")
-    (license license:lgpl2.0+)
-    (home-page "https://projects.gnome.org/accessibility/")))
+    (license license:lgpl2.1+)
+    (home-page "https://wiki.gnome.org/Accessibility/")))
 
 ;;; A minimal variant used to prevent a cycle with Inkscape.
 (define at-spi2-core-minimal
-- 
2.30.1


[-- Attachment #1.1.44: 0043-gnu-at-spi2-atk-Fix-indentation.patch --]
[-- Type: text/x-patch, Size: 3652 bytes --]

From f3b1ce08d80cfa81120b788502e77a05b19a7b14 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 13:29:52 -0500
Subject: [PATCH 43/68] gnu: at-spi2-atk: Fix indentation.

* gnu/packages/gtk.scm (at-spi2-atk): Fix indentation.
---
 gnu/packages/gtk.scm | 70 ++++++++++++++++++++++----------------------
 1 file changed, 35 insertions(+), 35 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 1d404e0ae7..5cd22bdd0c 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -783,42 +783,42 @@ is part of the GNOME accessibility project.")
 
 (define-public at-spi2-atk
   (package
-   (name "at-spi2-atk")
-   (version "2.34.1")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "05ncp7s5nddjinffs26mcvpbd63vk1m3cv5y530p3plgfhqgjvbp"))))
-   (build-system meson-build-system)
-   (arguments
-    '(#:phases
-      (modify-phases %standard-phases
-        (replace 'check
-                 ;; Run test-suite under a dbus session.
-                 (lambda _
-                   (setenv "DBUS_FATAL_WARNINGS" "0")
-                   (invoke "dbus-launch" "meson" "test"))))))
-   (propagated-inputs
-    ;; TODO: Replace by at-spi2-core-minimal in the next staging window, or
-    ;; when Inkscape 0.92 is upgraded to 1.0 to avoid a cycle.
-    `(("at-spi2-core" ,at-spi2-core))) ; required by atk-bridge-2.0.pc
-   (inputs
-    `(("atk" ,atk)))
-   (native-inputs
-    `(("pkg-config" ,pkg-config)
-      ;; For tests.
-      ("dbus" ,dbus)
-      ("libxml2" ,libxml2)))
-   (synopsis "Assistive Technology Service Provider Interface, ATK bindings")
-   (description
-    "The Assistive Technology Service Provider Interface
+    (name "at-spi2-atk")
+    (version "2.34.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "05ncp7s5nddjinffs26mcvpbd63vk1m3cv5y530p3plgfhqgjvbp"))))
+    (build-system meson-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           ;; Run test-suite under a dbus session.
+           (lambda _
+             (setenv "DBUS_FATAL_WARNINGS" "0")
+             (invoke "dbus-launch" "meson" "test"))))))
+    (propagated-inputs
+     ;; TODO: Replace by at-spi2-core-minimal in the next staging window, or
+     ;; when Inkscape 0.92 is upgraded to 1.0 to avoid a cycle.
+     `(("at-spi2-core" ,at-spi2-core))) ; required by atk-bridge-2.0.pc
+    (inputs
+     `(("atk" ,atk)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ;; For tests.
+       ("dbus" ,dbus)
+       ("libxml2" ,libxml2)))
+    (synopsis "Assistive Technology Service Provider Interface, ATK bindings")
+    (description
+     "The Assistive Technology Service Provider Interface
 is part of the GNOME accessibility project.")
-   (license license:lgpl2.0+)
-   (home-page "https://projects.gnome.org/accessibility/")))
+    (license license:lgpl2.0+)
+    (home-page "https://projects.gnome.org/accessibility/")))
 
 (define-public gtk+-2
   (package
-- 
2.30.1


[-- Attachment #1.1.45: 0044-gnu-at-spi2-atk-Update-to-2.34.2.patch --]
[-- Type: text/x-patch, Size: 2377 bytes --]

From e5bc0f107216fedac6ce6eb3e2769ecf9955885a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 13:33:47 -0500
Subject: [PATCH 44/68] gnu: at-spi2-atk: Update to 2.34.2.

* gnu/packages/gtk.scm (at-spi2-atk) [version]: Update to 2.34.2.
[arguments]<#:glib-or-gtk?>: New argument.
[native-inputs]: Add gobject-introspection.
[inputs]: Add glib.
---
 gnu/packages/gtk.scm | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 5cd22bdd0c..98c30cf4e5 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -784,7 +784,7 @@ is part of the GNOME accessibility project.")
 (define-public at-spi2-atk
   (package
     (name "at-spi2-atk")
-    (version "2.34.1")
+    (version "2.34.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -792,10 +792,11 @@ is part of the GNOME accessibility project.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "05ncp7s5nddjinffs26mcvpbd63vk1m3cv5y530p3plgfhqgjvbp"))))
+                "1w7l4xg00qx3dwhn0zaa64daiv5f073hdvjdxh0mrw7fw37264wh"))))
     (build-system meson-build-system)
     (arguments
-     '(#:phases
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:phases
        (modify-phases %standard-phases
          (replace 'check
            ;; Run test-suite under a dbus session.
@@ -807,12 +808,13 @@ is part of the GNOME accessibility project.")
      ;; when Inkscape 0.92 is upgraded to 1.0 to avoid a cycle.
      `(("at-spi2-core" ,at-spi2-core))) ; required by atk-bridge-2.0.pc
     (inputs
-     `(("atk" ,atk)))
+     `(("atk" ,atk)
+       ("glib" ,glib)))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ;; For tests.
-       ("dbus" ,dbus)
-       ("libxml2" ,libxml2)))
+     `(("dbus" ,dbus)                ; For tests
+       ("gobject-introspection" ,gobject-introspection)
+       ("libxml2" ,libxml2)
+       ("pkg-config" ,pkg-config)))
     (synopsis "Assistive Technology Service Provider Interface, ATK bindings")
     (description
      "The Assistive Technology Service Provider Interface
-- 
2.30.1


[-- Attachment #1.1.46: 0045-gnu-at-spi2-atk-Update-home-page-and-license.patch --]
[-- Type: text/x-patch, Size: 1005 bytes --]

From aca1f7f18725383d25166ec8e3d3a37450c81063 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 13:35:04 -0500
Subject: [PATCH 45/68] gnu: at-spi2-atk: Update home-page and license.

* gnu/packages/gtk.scm (at-spi2-atk) [home-page]: Modify.
[license]: Update to lgpl2.1+.
---
 gnu/packages/gtk.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 98c30cf4e5..c45bbb6d2f 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -819,8 +819,8 @@ is part of the GNOME accessibility project.")
     (description
      "The Assistive Technology Service Provider Interface
 is part of the GNOME accessibility project.")
-    (license license:lgpl2.0+)
-    (home-page "https://projects.gnome.org/accessibility/")))
+    (license license:lgpl2.1+)
+    (home-page "https://wiki.gnome.org/Accessibility/")))
 
 (define-public gtk+-2
   (package
-- 
2.30.1


[-- Attachment #1.1.47: 0046-gnu-gtk-2-Fix-indentation.patch --]
[-- Type: text/x-patch, Size: 6577 bytes --]

From 010b14081e7d1292ffc8affd105a74644cd9c43f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 07:54:08 -0500
Subject: [PATCH 46/68] gnu: gtk+-2: Fix indentation.

* gnu/packages/gtk.scm (gtk+-2): Fix indentation.
---
 gnu/packages/gtk.scm | 132 +++++++++++++++++++++----------------------
 1 file changed, 66 insertions(+), 66 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index c45bbb6d2f..84d20ecafb 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -824,77 +824,77 @@ is part of the GNOME accessibility project.")
 
 (define-public gtk+-2
   (package
-   (name "gtk+")
-   (version "2.24.32")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "0bjq7ja9gwcv6n5q4qkvdjjx40wsdiikksz1zqxvxsm5vlyskj5n"))
-            (patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"
-                                     "gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch"
-                                     "gtk2-theme-paths.patch"))))
-   (build-system gnu-build-system)
-   (outputs '("out" "bin" "doc"))
-   (propagated-inputs
-    `(("atk" ,atk)
-      ;; SVG support is optional and requires librsvg, which pulls in rust.
-      ;; Rust is not supported well on every architecture yet.
-      ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system)
-                                                      (%current-system)))
-                         gdk-pixbuf+svg
-                         gdk-pixbuf))
-      ("pango" ,pango)))
-   (inputs
-    `(("cups" ,cups)
-      ("libxcomposite" ,libxcomposite)
-      ("libxcursor" ,libxcursor)
-      ("libxdamage" ,libxdamage)
-      ("libxi" ,libxi)
-      ("libxinerama" ,libxinerama)
-      ("libxrandr" ,libxrandr)))
-   (native-inputs
-    `(("perl" ,perl)
-      ("gettext" ,gettext-minimal)
-      ("glib" ,glib "bin")
-      ("gobject-introspection" ,gobject-introspection)
-      ("pkg-config" ,pkg-config)
-      ("python-wrapper" ,python-wrapper)))
-   (arguments
-    `(#:configure-flags
-      (list "--with-xinput=yes"
-            (string-append "--with-html-dir="
-                           (assoc-ref %outputs "doc")
-                           "/share/gtk-doc/html"))
-      #:phases
-      (modify-phases %standard-phases
-        (add-before 'configure 'disable-tests
-          (lambda _
-            ;; FIXME: re-enable tests requiring an X server
-            (substitute* "gtk/Makefile.in"
-              (("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits ."))
-            #t))
-        (add-after 'install 'remove-cache
-          (lambda* (#:key outputs #:allow-other-keys)
-	    (for-each
+    (name "gtk+")
+    (version "2.24.32")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0bjq7ja9gwcv6n5q4qkvdjjx40wsdiikksz1zqxvxsm5vlyskj5n"))
+              (patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"
+                                       "gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch"
+                                       "gtk2-theme-paths.patch"))))
+    (build-system gnu-build-system)
+    (outputs '("out" "bin" "doc"))
+    (propagated-inputs
+     `(("atk" ,atk)
+       ;; SVG support is optional and requires librsvg, which pulls in rust.
+       ;; Rust is not supported well on every architecture yet.
+       ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system)
+                                                       (%current-system)))
+                          gdk-pixbuf+svg
+                          gdk-pixbuf))
+       ("pango" ,pango)))
+    (inputs
+     `(("cups" ,cups)
+       ("libxcomposite" ,libxcomposite)
+       ("libxcursor" ,libxcursor)
+       ("libxdamage" ,libxdamage)
+       ("libxi" ,libxi)
+       ("libxinerama" ,libxinerama)
+       ("libxrandr" ,libxrandr)))
+    (native-inputs
+     `(("perl" ,perl)
+       ("gettext" ,gettext-minimal)
+       ("glib" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)
+       ("python-wrapper" ,python-wrapper)))
+    (arguments
+     `(#:configure-flags
+       (list "--with-xinput=yes"
+             (string-append "--with-html-dir="
+                            (assoc-ref %outputs "doc")
+                            "/share/gtk-doc/html"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'disable-tests
+           (lambda _
+             ;; FIXME: re-enable tests requiring an X server
+             (substitute* "gtk/Makefile.in"
+               (("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits ."))
+             #t))
+         (add-after 'install 'remove-cache
+           (lambda* (#:key outputs #:allow-other-keys)
+	     (for-each
 	      delete-file
 	      (find-files (assoc-ref outputs "out") "immodules.cache"))
-            #t)))))
-   (native-search-paths
-    (list (search-path-specification
-           (variable "GUIX_GTK2_PATH")
-           (files '("lib/gtk-2.0")))))
-   (synopsis "Cross-platform toolkit for creating graphical user interfaces")
-   (description
-    "GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating
+             #t)))))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUIX_GTK2_PATH")
+            (files '("lib/gtk-2.0")))))
+    (synopsis "Cross-platform toolkit for creating graphical user interfaces")
+    (description
+     "GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating
 graphical user interfaces.  Offering a complete set of widgets, GTK+ is
 suitable for projects ranging from small one-off tools to complete
 application suites.")
-   (license license:lgpl2.0+)
-   (home-page "https://www.gtk.org/")))
+    (license license:lgpl2.0+)
+    (home-page "https://www.gtk.org/")))
 
 (define-public gtk+
   (package (inherit gtk+-2)
-- 
2.30.1


[-- Attachment #1.1.48: 0047-gnu-gtk-2-Enable-tests.patch --]
[-- Type: text/x-patch, Size: 2524 bytes --]

From 7ee4f778ed433feab8a07225b6c40d5ac77bfe66 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 07:58:04 -0500
Subject: [PATCH 47/68] gnu: gtk+-2: Enable tests.

* gnu/packages/gtk.scm (gtk+-2) [arguments]<#:phases>['disable-tests]: Remove phase.
['disable-failing-tests]: New phase.
['pre-check]: New phase.
[native-inputs]: Add xorg-server-for-tests.
---
 gnu/packages/gtk.scm | 26 +++++++++++++++++++++-----
 1 file changed, 21 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 84d20ecafb..227cdff7f4 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -862,7 +862,8 @@ is part of the GNOME accessibility project.")
        ("glib" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
        ("pkg-config" ,pkg-config)
-       ("python-wrapper" ,python-wrapper)))
+       ("python-wrapper" ,python-wrapper)
+       ("xorg-server" ,xorg-server-for-tests)))
     (arguments
      `(#:configure-flags
        (list "--with-xinput=yes"
@@ -871,11 +872,26 @@ is part of the GNOME accessibility project.")
                             "/share/gtk-doc/html"))
        #:phases
        (modify-phases %standard-phases
-         (add-before 'configure 'disable-tests
+         (add-after 'unpack 'disable-failing-tests
            (lambda _
-             ;; FIXME: re-enable tests requiring an X server
-             (substitute* "gtk/Makefile.in"
-               (("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits ."))
+             (substitute* "gtk/tests/recentmanager.c"
+               (("g_test_add_func \\(\"/recent-manager/add-many\", recent_manager_add_many\\);")
+                ""))
+             (substitute* "gtk/tests/defaultvalue.c"
+               (("return g_test_run\\(\\);")
+                ""))
+             #t))
+         (add-before 'check 'pre-check
+           (lambda _
+             ;; Tests require a running X server.
+             (system "Xvfb :1 +extension GLX &")
+             (setenv "DISPLAY" ":1")
+             ;; Tests write to $HOME.
+             (setenv "HOME" (getcwd))
+             ;; Tests look for $XDG_RUNTIME_DIR.
+             (setenv "XDG_RUNTIME_DIR" (getcwd))
+             ;; For missing '/etc/machine-id'.
+             (setenv "DBUS_FATAL_WARNINGS" "0")
              #t))
          (add-after 'install 'remove-cache
            (lambda* (#:key outputs #:allow-other-keys)
-- 
2.30.1


[-- Attachment #1.1.49: 0048-gnu-gtk-2-Add-missing-inputs-and-search-path.patch --]
[-- Type: text/x-patch, Size: 2597 bytes --]

From f6171cef8d4f758be1c8d307bf54ea7f4e208c83 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 08:05:28 -0500
Subject: [PATCH 48/68] gnu: gtk+-2: Add missing inputs and search-path.

* gnu/packages/gtk.scm (gtk+-2) [native-inputs]: Add intltool.
[inputs]: Add libx11, libxext, libxkbcommon, libxrender and libxshmfence.
[propagated-inputs]: Add cairo and glib.
[search-paths]: New field.
---
 gnu/packages/gtk.scm | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 227cdff7f4..77bb0d4656 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -841,26 +841,34 @@ is part of the GNOME accessibility project.")
     (outputs '("out" "bin" "doc"))
     (propagated-inputs
      `(("atk" ,atk)
+       ("cairo" ,cairo)
        ;; SVG support is optional and requires librsvg, which pulls in rust.
        ;; Rust is not supported well on every architecture yet.
        ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system)
                                                        (%current-system)))
                           gdk-pixbuf+svg
                           gdk-pixbuf))
+       ("glib" ,glib)
        ("pango" ,pango)))
     (inputs
      `(("cups" ,cups)
+       ("libx11" ,libx11)
        ("libxcomposite" ,libxcomposite)
        ("libxcursor" ,libxcursor)
+       ("libxext" ,libxext)
        ("libxdamage" ,libxdamage)
        ("libxi" ,libxi)
        ("libxinerama" ,libxinerama)
-       ("libxrandr" ,libxrandr)))
+       ("libxkbcommon" ,libxkbcommon)
+       ("libxrandr" ,libxrandr)
+       ("libxrender" ,libxrender)
+       ("libxshmfence" ,libxshmfence)))
     (native-inputs
-     `(("perl" ,perl)
-       ("gettext" ,gettext-minimal)
+     `(("gettext" ,gettext-minimal)
        ("glib" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
+       ("intltool" ,intltool)
+       ("perl" ,perl)
        ("pkg-config" ,pkg-config)
        ("python-wrapper" ,python-wrapper)
        ("xorg-server" ,xorg-server-for-tests)))
@@ -903,6 +911,7 @@ is part of the GNOME accessibility project.")
      (list (search-path-specification
             (variable "GUIX_GTK2_PATH")
             (files '("lib/gtk-2.0")))))
+    (search-paths native-search-paths)
     (synopsis "Cross-platform toolkit for creating graphical user interfaces")
     (description
      "GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating
-- 
2.30.1


[-- Attachment #1.1.50: 0049-gnu-gtk-Fix-indentation.patch --]
[-- Type: text/x-patch, Size: 9552 bytes --]

From eafeffe88843bed56671a108fa1e3e7d890d9533 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 08:15:52 -0500
Subject: [PATCH 49/68] gnu: gtk+: Fix indentation.

* gnu/packages/gtk.scm (gtk+): Fix indentation.
---
 gnu/packages/gtk.scm | 185 ++++++++++++++++++++++---------------------
 1 file changed, 94 insertions(+), 91 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 77bb0d4656..c288a0f1ce 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -922,97 +922,100 @@ application suites.")
     (home-page "https://www.gtk.org/")))
 
 (define-public gtk+
-  (package (inherit gtk+-2)
-   (name "gtk+")
-   (version "3.24.24")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "12ipk1d376bai9v820qzhxba93kkh5abi6mhyqr4hwjvqmkl77fc"))
-            (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
-                                     "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
-   (propagated-inputs
-    `(("at-spi2-atk" ,at-spi2-atk)
-      ("atk" ,atk)
-      ;; SVG support is optional and requires librsvg, which pulls in rust.
-      ;; Rust is not supported well on every architecture yet.
-      ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system)
-                                                      (%current-system)))
-                         gdk-pixbuf+svg
-                         gdk-pixbuf))
-      ("libepoxy" ,libepoxy)
-      ("libxcursor" ,libxcursor)
-      ("libxi" ,libxi)
-      ("libxinerama" ,libxinerama)
-      ("libxkbcommon" ,libxkbcommon)
-      ("libxdamage" ,libxdamage)
-      ("libxrandr" ,libxrandr)
-      ("mesa" ,mesa)
-      ("pango" ,pango)
-      ("wayland" ,wayland)
-      ("wayland-protocols" ,wayland-protocols)))
-   (inputs
-    `(("libxml2" ,libxml2)
-      ;; XXX: colord depends on mozjs (through polkit), which fails on
-      ;;      on non-intel systems now.
-      ;;("colord" ,colord)
-      ("cups" ,cups)                            ;for printing support
-      ;; XXX: rest depends on p11-kit, which fails on mips64el now.
-      ;;("rest" ,rest)
-      ("json-glib" ,json-glib)))
-   (native-inputs
-    `(("perl" ,perl)
-      ("glib" ,glib "bin")
-      ("gettext" ,gettext-minimal)
-      ("pkg-config" ,pkg-config)
-      ("gobject-introspection" ,gobject-introspection)
-      ("python-wrapper" ,python-wrapper)
-      ;; By using a special xorg-server for GTK+'s tests, we reduce the impact
-      ;; of updating xorg-server directly on the master branch.
-      ("xorg-server" ,xorg-server-for-tests)))
-   (arguments
-    `(#:disallowed-references (,xorg-server-for-tests)
-      ;; 47 MiB goes to "out" (24 of which is locale data!), and 26 MiB goes
-      ;; to "doc".
-      #:configure-flags (list (string-append "--with-html-dir="
-                                             (assoc-ref %outputs "doc")
-                                             "/share/gtk-doc/html")
-                              ;; The header file <gdk/gdkwayland.h> is required
-                              ;; by gnome-control-center
-                              "--enable-wayland-backend"
-                              ;; This is necessary to build both backends.
-                              "--enable-x11-backend"
-                              ;; This enables the HTML5 websocket backend.
-                              "--enable-broadway-backend")
-      #:phases (modify-phases %standard-phases
-        (add-before 'configure 'pre-configure
-          (lambda _
-            ;; Disable most tests, failing in the chroot with the message:
-            ;; D-Bus library appears to be incorrectly set up; failed to read
-            ;; machine uuid: Failed to open "/etc/machine-id": No such file or
-            ;; directory.
-            ;; See the manual page for dbus-uuidgen to correct this issue.
-            (substitute* "testsuite/Makefile.in"
-              (("SUBDIRS = gdk gtk a11y css reftests")
-               "SUBDIRS = gdk"))
-            #t))
-        (add-after 'install 'move-desktop-files
-          ;; Move desktop files into 'bin' to avoid cycle references.
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out"))
-                  (bin (assoc-ref outputs "bin")))
-              (mkdir-p (string-append bin "/share"))
-              (rename-file (string-append out "/share/applications")
-                           (string-append bin "/share/applications"))
-              #t))))))
-   (native-search-paths
-    (list (search-path-specification
-           (variable "GUIX_GTK3_PATH")
-           (files '("lib/gtk-3.0")))))))
+  (package
+    (inherit gtk+-2)
+    (name "gtk+")
+    (version "3.24.24")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://gnome/sources/" name "/"
+                           (version-major+minor version)  "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "12ipk1d376bai9v820qzhxba93kkh5abi6mhyqr4hwjvqmkl77fc"))
+       (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
+                                "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
+    (propagated-inputs
+     `(("at-spi2-atk" ,at-spi2-atk)
+       ("atk" ,atk)
+       ;; SVG support is optional and requires librsvg, which pulls in rust.
+       ;; Rust is not supported well on every architecture yet.
+       ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system)
+                                                       (%current-system)))
+                          gdk-pixbuf+svg
+                          gdk-pixbuf))
+       ("libepoxy" ,libepoxy)
+       ("libxcursor" ,libxcursor)
+       ("libxi" ,libxi)
+       ("libxinerama" ,libxinerama)
+       ("libxkbcommon" ,libxkbcommon)
+       ("libxdamage" ,libxdamage)
+       ("libxrandr" ,libxrandr)
+       ("mesa" ,mesa)
+       ("pango" ,pango)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)))
+    (inputs
+     `(("libxml2" ,libxml2)
+       ;; XXX: colord depends on mozjs (through polkit), which fails on
+       ;;      on non-intel systems now.
+       ;;("colord" ,colord)
+       ("cups" ,cups)                   ;for printing support
+       ;; XXX: rest depends on p11-kit, which fails on mips64el now.
+       ;;("rest" ,rest)
+       ("json-glib" ,json-glib)))
+    (native-inputs
+     `(("perl" ,perl)
+       ("glib" ,glib "bin")
+       ("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ("gobject-introspection" ,gobject-introspection)
+       ("python-wrapper" ,python-wrapper)
+       ;; By using a special xorg-server for GTK+'s tests, we reduce the impact
+       ;; of updating xorg-server directly on the master branch.
+       ("xorg-server" ,xorg-server-for-tests)))
+    (arguments
+     `(#:disallowed-references (,xorg-server-for-tests)
+       ;; 47 MiB goes to "out" (24 of which is locale data!), and 26 MiB goes
+       ;; to "doc".
+       #:configure-flags (list (string-append "--with-html-dir="
+                                              (assoc-ref %outputs "doc")
+                                              "/share/gtk-doc/html")
+                               ;; The header file <gdk/gdkwayland.h> is required
+                               ;; by gnome-control-center
+                               "--enable-wayland-backend"
+                               ;; This is necessary to build both backends.
+                               "--enable-x11-backend"
+                               ;; This enables the HTML5 websocket backend.
+                               "--enable-broadway-backend")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'pre-configure
+           (lambda _
+             ;; Disable most tests, failing in the chroot with the message:
+             ;; D-Bus library appears to be incorrectly set up; failed to read
+             ;; machine uuid: Failed to open "/etc/machine-id": No such file or
+             ;; directory.
+             ;; See the manual page for dbus-uuidgen to correct this issue.
+             (substitute* "testsuite/Makefile.in"
+               (("SUBDIRS = gdk gtk a11y css reftests")
+                "SUBDIRS = gdk"))
+             #t))
+         (add-after 'install 'move-desktop-files
+           ;; Move desktop files into 'bin' to avoid cycle references.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (bin (assoc-ref outputs "bin")))
+               (mkdir-p (string-append bin "/share"))
+               (rename-file (string-append out "/share/applications")
+                            (string-append bin "/share/applications"))
+               #t))))))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUIX_GTK3_PATH")
+            (files '("lib/gtk-3.0")))))))
 
 ;;;
 ;;; Guile bindings.
-- 
2.30.1


[-- Attachment #1.1.51: 0050-gnu-gtk-Enable-tests.patch --]
[-- Type: text/x-patch, Size: 2914 bytes --]

From 9a14228eec61f1bbc14b537044d3de4229bcaaa3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 08:24:01 -0500
Subject: [PATCH 50/68] gnu: gtk+: Enable tests.

* gnu/packages/gtk.scm (gtk+) [arguments]<#:phases>['pre-configure]: Remove phase.
['disable-failing-tests]: New phase.
['pre-check]: New phase.
---
 gnu/packages/gtk.scm | 35 ++++++++++++++++++++++++++---------
 1 file changed, 26 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index c288a0f1ce..6ee702de2a 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -992,16 +992,33 @@ application suites.")
                                "--enable-broadway-backend")
        #:phases
        (modify-phases %standard-phases
-         (add-before 'configure 'pre-configure
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "testsuite/gtk/Makefile.in"
+               (("builderparser cellarea check-icon-names check-cursor-names")
+                "builderparser cellarea check-cursor-names")
+               (("notify no-gtk-init object objects-finalize papersize rbtree")
+                "no-gtk-init papersize rbtree")
+               (("stylecontext templates textbuffer textiter treemodel treepath")
+                "stylecontext textbuffer textiter treemodel treepath"))
+             (substitute* "testsuite/a11y/Makefile.in"
+               (("accessibility-dump tree-performance text children derive")
+                "tree-performance text children derive"))
+             (substitute* "testsuite/reftests/Makefile.in"
+               (("TEST_PROGS = gtk-reftest")
+                "TEST_PROGS = "))
+             #t))
+         (add-before 'check 'pre-check
            (lambda _
-             ;; Disable most tests, failing in the chroot with the message:
-             ;; D-Bus library appears to be incorrectly set up; failed to read
-             ;; machine uuid: Failed to open "/etc/machine-id": No such file or
-             ;; directory.
-             ;; See the manual page for dbus-uuidgen to correct this issue.
-             (substitute* "testsuite/Makefile.in"
-               (("SUBDIRS = gdk gtk a11y css reftests")
-                "SUBDIRS = gdk"))
+             ;; Tests require a running X server.
+             (system "Xvfb :1 +extension GLX &")
+             (setenv "DISPLAY" ":1")
+             ;; Tests write to $HOME.
+             (setenv "HOME" (getcwd))
+             ;; Tests look for $XDG_RUNTIME_DIR.
+             (setenv "XDG_RUNTIME_DIR" (getcwd))
+             ;; For missing '/etc/machine-id'.
+             (setenv "DBUS_FATAL_WARNINGS" "0")
              #t))
          (add-after 'install 'move-desktop-files
            ;; Move desktop files into 'bin' to avoid cycle references.
-- 
2.30.1


[-- Attachment #1.1.52: 0051-gnu-gtk-Add-missing-inputs.patch --]
[-- Type: text/x-patch, Size: 3931 bytes --]

From fc595684db2197067f9c9c7912770f5c0d11e2b6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 08:32:10 -0500
Subject: [PATCH 51/68] gnu: gtk+: Add missing inputs.

* gnu/packages/gtk.scm (gtk+) [native-inputs]: Add docbook-xml,
hicolor-icon-theme, intltool, sassc and libxslt.
[inputs]: Add graphene, harfbuzz, iso-codes and papi.
[propagated-inputs]: Add cairo, fribidi, fontconfig, freetype, glib,
libx11, libxcomposite, libxext, libxfixes and libxrender.
---
 gnu/packages/gtk.scm | 45 +++++++++++++++++++++++++++++++-------------
 1 file changed, 32 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 6ee702de2a..aa11271756 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -938,44 +938,63 @@ application suites.")
        (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
                                 "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
     (propagated-inputs
-     `(("at-spi2-atk" ,at-spi2-atk)
-       ("atk" ,atk)
+     `(("atk" ,atk)
+       ("at-spi2-atk" ,at-spi2-atk)
+       ("cairo" ,cairo)
+       ("fribidi" ,fribidi)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
        ;; SVG support is optional and requires librsvg, which pulls in rust.
        ;; Rust is not supported well on every architecture yet.
        ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system)
                                                        (%current-system)))
                           gdk-pixbuf+svg
                           gdk-pixbuf))
+       ("glib" ,glib)
        ("libepoxy" ,libepoxy)
+       ("libx11" ,libx11)
+       ("libxcomposite" ,libxcomposite)
        ("libxcursor" ,libxcursor)
+       ("libxdamage" ,libxdamage)
+       ("libxext" ,libxext)
+       ("libxfixes" ,libxfixes)
        ("libxi" ,libxi)
        ("libxinerama" ,libxinerama)
        ("libxkbcommon" ,libxkbcommon)
-       ("libxdamage" ,libxdamage)
        ("libxrandr" ,libxrandr)
+       ("libxrender" ,libxrender)
        ("mesa" ,mesa)
        ("pango" ,pango)
        ("wayland" ,wayland)
        ("wayland-protocols" ,wayland-protocols)))
     (inputs
-     `(("libxml2" ,libxml2)
-       ;; XXX: colord depends on mozjs (through polkit), which fails on
+     `(;; XXX: colord depends on mozjs (through polkit), which fails on
        ;;      on non-intel systems now.
-       ;;("colord" ,colord)
-       ("cups" ,cups)                   ;for printing support
+       ("colord" ,colord)
+       ("cups" ,cups)
+       ("graphene" ,graphene)
+       ("harfbuzz" ,harfbuzz)
+       ("iso-codes" ,iso-codes)
+       ("json-glib" ,json-glib)
+       ("libxml2" ,libxml2)
+       ("papi" ,papi)
        ;; XXX: rest depends on p11-kit, which fails on mips64el now.
-       ;;("rest" ,rest)
-       ("json-glib" ,json-glib)))
+       ("rest" ,rest)))
     (native-inputs
-     `(("perl" ,perl)
-       ("glib" ,glib "bin")
+     `(("docbook-xml" ,docbook-xml-4.1.2)
        ("gettext" ,gettext-minimal)
-       ("pkg-config" ,pkg-config)
+       ("glib" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
+       ("hicolor-icon-theme" ,hicolor-icon-theme)
+       ("intltool" ,intltool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
        ("python-wrapper" ,python-wrapper)
+       ("sassc" ,sassc)
        ;; By using a special xorg-server for GTK+'s tests, we reduce the impact
        ;; of updating xorg-server directly on the master branch.
-       ("xorg-server" ,xorg-server-for-tests)))
+       ("xorg-server" ,xorg-server-for-tests)
+       ("xsltproc" ,libxslt)))
     (arguments
      `(#:disallowed-references (,xorg-server-for-tests)
        ;; 47 MiB goes to "out" (24 of which is locale data!), and 26 MiB goes
-- 
2.30.1


[-- Attachment #1.1.53: 0052-gnu-gtk-Enable-cloud-providers-support.patch --]
[-- Type: text/x-patch, Size: 1435 bytes --]

From 6c26205dd5b13471c5e4b2e9bd1ba55c2928ad38 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 08:36:52 -0500
Subject: [PATCH 52/68] gnu: gtk+: Enable cloud-providers support.

* gnu/packages/gtk.scm (gtk+) [arguments]<#:configure-flags>
[--enable-cloudproviders]: New flag.
[propagated-inputs]: Add libcloudproviders.
---
 gnu/packages/gtk.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index aa11271756..8aaf6dcf00 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -951,6 +951,7 @@ application suites.")
                           gdk-pixbuf+svg
                           gdk-pixbuf))
        ("glib" ,glib)
+       ("libcloudproviders" ,libcloudproviders)
        ("libepoxy" ,libepoxy)
        ("libx11" ,libx11)
        ("libxcomposite" ,libxcomposite)
@@ -1002,6 +1003,7 @@ application suites.")
        #:configure-flags (list (string-append "--with-html-dir="
                                               (assoc-ref %outputs "doc")
                                               "/share/gtk-doc/html")
+                               "--enable-cloudproviders"
                                ;; The header file <gdk/gdkwayland.h> is required
                                ;; by gnome-control-center
                                "--enable-wayland-backend"
-- 
2.30.1


[-- Attachment #1.1.54: 0053-gnu-gtk-doc-Fix-identation.patch --]
[-- Type: text/x-patch, Size: 2584 bytes --]

From 397d96d32dbb621826c745a06ddb07b932cb7b7e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 08:51:02 -0500
Subject: [PATCH 53/68] gnu: gtk-doc: Fix identation.

* gnu/packages/gtk.scm (gtk-doc): Fix identation.
---
 gnu/packages/gtk.scm | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 8aaf6dcf00..bed9765fa5 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1884,16 +1884,16 @@ information.")
          (add-after 'unpack 'patch-gtk-doc-scan
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "gtk-doc.xsl"
-              (("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl")
-               (string-append (assoc-ref inputs "docbook-xsl")
-                              "/xml/xsl/docbook-xsl-"
-                              ,(package-version docbook-xsl)
-                              "/html/chunk.xsl"))
-              (("http://docbook.sourceforge.net/release/xsl/current/common/en.xml")
-               (string-append (assoc-ref inputs "docbook-xsl")
-                              "/xml/xsl/docbook-xsl-"
-                              ,(package-version docbook-xsl)
-                              "/common/en.xml")))
+               (("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl")
+                (string-append (assoc-ref inputs "docbook-xsl")
+                               "/xml/xsl/docbook-xsl-"
+                               ,(package-version docbook-xsl)
+                               "/html/chunk.xsl"))
+               (("http://docbook.sourceforge.net/release/xsl/current/common/en.xml")
+                (string-append (assoc-ref inputs "docbook-xsl")
+                               "/xml/xsl/docbook-xsl-"
+                               ,(package-version docbook-xsl)
+                               "/common/en.xml")))
              #t))
          (add-after 'patch-gtk-doc-scan 'patch-test-out
            (lambda _
@@ -1902,7 +1902,7 @@ information.")
              ;; generator metafont outputs a lot of extra lines, this
              ;; test would always fail.  Disable it for now.
              (substitute* "tests/Makefile.in"
-              (("empty.sh sanity.sh") "empty.sh"))
+               (("empty.sh sanity.sh") "empty.sh"))
              #t))
          (add-before 'configure 'fix-docbook
            (lambda* (#:key inputs #:allow-other-keys)
-- 
2.30.1


[-- Attachment #1.1.55: 0054-gnu-gtk-doc-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 868 bytes --]

From 21210baba744cea8bc5ca53c538d4de3531e1af6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 08:52:07 -0500
Subject: [PATCH 54/68] gnu: gtk-doc: Change build-system.

* gnu/packages/gtk.scm (gtk-doc) [build-system]: Change from gnu to glib-or-gtk.
---
 gnu/packages/gtk.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index bed9765fa5..f041c8d6c9 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1876,7 +1876,7 @@ information.")
               (sha256
                (base32
                 "05apmwibkmn1icx05l8aw241lhymcx01zvk5i499cb150bijj7li"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      `(#:parallel-tests? #f
        #:phases
-- 
2.30.1


[-- Attachment #1.1.56: 0055-gnu-gtk-doc-Correct-inputs.patch --]
[-- Type: text/x-patch, Size: 2177 bytes --]

From f37a2e57d4c64cbe64d7b0338b7d2c2fe9867351 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 08:58:34 -0500
Subject: [PATCH 55/68] gnu: gtk-doc: Correct inputs.

* gnu/packages/gtk.scm (gtk-doc) [native-inputs]: Add glib:bin,
perl and python-wrapper.
[inputs]: Add python-anytree, python-lxml, python-parameterized,
python-pygments, python-unittest2 and yelp-tools. Remove perl.
---
 gnu/packages/gtk.scm | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index f041c8d6c9..62537d9578 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1932,21 +1932,29 @@ information.")
                             (assoc-ref %build-inputs "docbook-xml")
                             "/xml/dtd/docbook/catalog.xml"))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
        ("itstool" ,itstool)
-       ("libxml" ,libxml2)
-       ("gettext" ,gettext-minimal)
-       ("bc" ,bc)))
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python-wrapper" ,python-wrapper)))
     (inputs
-     `(("perl" ,perl)
-       ("python" ,python)
-       ("xsltproc" ,libxslt)
+     `(("bc" ,bc)
        ("dblatex" ,dblatex)
        ("docbook-xml" ,docbook-xml-4.3)
        ("docbook-xsl" ,docbook-xsl)
-       ("source-highlight" ,source-highlight)
        ("glib" ,glib)
-       ("python-six" ,python-six)))
+       ("libxml2" ,libxml2)
+       ("libxslt" ,libxslt)
+       ("python" ,python)
+       ("python-anytree" ,python-anytree)
+       ("python-lxml" ,python-lxml)
+       ("python-parameterized" ,python-parameterized)
+       ("python-pygments" ,python-pygments)
+       ("python-unittest2" ,python-unittest2)
+       ("source-highlight" ,source-highlight)
+       ("yelp-tools" ,yelp-tools)))
     (home-page "https://www.gtk.org/gtk-doc/")
     (synopsis "Documentation generator from C source code")
     (description
-- 
2.30.1


[-- Attachment #1.1.57: 0056-gnu-gtk-doc-Update-to-1.32.patch --]
[-- Type: text/x-patch, Size: 2900 bytes --]

From 90060d9701e0a47b58e066ef05059be3a85839f7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 09:08:32 -0500
Subject: [PATCH 56/68] gnu: gtk-doc: Update to 1.32.

* gnu/packages/gtk.scm (gtk-doc) [version]: Update to 1.32.
[arguments]<#:phases>['patch-test-out]: Remove phase.
['disable-failing-tests]: New phase.
['set-HOME]: New phase.
---
 gnu/packages/gtk.scm | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 62537d9578..389d54b29a 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1867,7 +1867,7 @@ information.")
 (define-public gtk-doc
   (package
     (name "gtk-doc")
-    (version "1.28")
+    (version "1.32")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -1875,7 +1875,7 @@ information.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "05apmwibkmn1icx05l8aw241lhymcx01zvk5i499cb150bijj7li"))))
+                "0z4h1dggpimygdp719l457jvqilps4qcfpk31jmj3jqpzcsg03ny"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:parallel-tests? #f
@@ -1895,14 +1895,11 @@ information.")
                                ,(package-version docbook-xsl)
                                "/common/en.xml")))
              #t))
-         (add-after 'patch-gtk-doc-scan 'patch-test-out
+         (add-after 'unpack 'disable-failing-tests
            (lambda _
-             ;; sanity.sh counts the number of status lines.  Since our
-             ;; texlive regenerates the fonts every time and the font
-             ;; generator metafont outputs a lot of extra lines, this
-             ;; test would always fail.  Disable it for now.
              (substitute* "tests/Makefile.in"
-               (("empty.sh sanity.sh") "empty.sh"))
+               (("annotations.sh bugs.sh empty.sh fail.sh gobject.sh program.sh")
+                ""))
              #t))
          (add-before 'configure 'fix-docbook
            (lambda* (#:key inputs #:allow-other-keys)
@@ -1919,6 +1916,12 @@ information.")
                                                 "^catalog.xml$"))
                                " \"http://docbook.sourceforge.net/release/xsl/")))
              #t))
+         (add-before 'build 'set-HOME
+           (lambda _
+             ;; FIXME: dblatex with texlive-union does not find the built
+             ;; metafonts, so it tries to generate them in HOME.
+             (setenv "HOME" "/tmp")
+             #t))
          (add-after 'install 'wrap-executables
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
-- 
2.30.1


[-- Attachment #1.1.58: 0057-gnu-gtk-doc-Enable-help.patch --]
[-- Type: text/x-patch, Size: 1440 bytes --]

From 19ec597cbc98364370c4989fc4c1ea23667df93b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 09:13:14 -0500
Subject: [PATCH 57/68] gnu: gtk-doc: Enable help.

* gnu/packages/gtk.scm (gtk-doc) [outputs]: New output 'help'.
[arguments]<#:configure-flags>[--with-help-dir]: New flag.
---
 gnu/packages/gtk.scm | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 389d54b29a..0ec65ff6cf 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1877,6 +1877,7 @@ information.")
                (base32
                 "0z4h1dggpimygdp719l457jvqilps4qcfpk31jmj3jqpzcsg03ny"))))
     (build-system glib-or-gtk-build-system)
+    (outputs '("out" "help"))
     (arguments
      `(#:parallel-tests? #f
        #:phases
@@ -1933,7 +1934,10 @@ information.")
        #:configure-flags
        (list (string-append "--with-xml-catalog="
                             (assoc-ref %build-inputs "docbook-xml")
-                            "/xml/dtd/docbook/catalog.xml"))))
+                            "/xml/dtd/docbook/catalog.xml")
+             (string-append "--with-help-dir="
+                            (assoc-ref %outputs "help")
+                            "/share/help"))))
     (native-inputs
      `(("gettext" ,gettext-minimal)
        ("glib:bin" ,glib "bin")
-- 
2.30.1


[-- Attachment #1.1.59: 0058-gnu-gtk-doc-Update-synopsis-description-home-page-an.patch --]
[-- Type: text/x-patch, Size: 1837 bytes --]

From 2f7ab0dd2d89f3332ee2951ed92bab93a4137d7d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 09:20:40 -0500
Subject: [PATCH 58/68] gnu: gtk-doc: Update synopsis, description, home-page
 and license.

* gnu/packages/gtk.scm (gtk-doc) [home-page]: Modify.
[synopsis]: Modify.
[description]: Modify.
[license]: Add fdl1.1+.
---
 gnu/packages/gtk.scm | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 0ec65ff6cf..2dbf8de452 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1962,13 +1962,19 @@ information.")
        ("python-unittest2" ,python-unittest2)
        ("source-highlight" ,source-highlight)
        ("yelp-tools" ,yelp-tools)))
-    (home-page "https://www.gtk.org/gtk-doc/")
-    (synopsis "Documentation generator from C source code")
-    (description
-     "GTK-Doc generates API documentation from comments added to C code.  It is
-typically used to document the public API of GTK+ and GNOME libraries, but it
-can also be used to document application code.")
-    (license license:gpl2+)))
+    (home-page "https://wiki.gnome.org/DocumentationProject/GtkDoc")
+    (synopsis "GTK+ DocBook Documentation Generator")
+    (description "GtkDoc is a tool used to extract API documentation from C-code
+like Doxygen, but handles documentation of GObject (including signals and
+properties) that makes it very suitable for GTK+ apps and libraries.  It uses
+docbook for intermediate files and can produce html by default and pdf/man-pages
+with some extra work.")
+    (license
+     (list
+      ;; Docs.
+      license:fdl1.1+
+      ;; Others.
+      license:gpl2+))))
 
 (define-public gtk-engines
   (package
-- 
2.30.1


[-- Attachment #1.1.60: 0059-gnu-json-glib-Add-missing-argument.patch --]
[-- Type: text/x-patch, Size: 1489 bytes --]

From 197ca1623229118223ad76f82c46f7f358174a3a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 10:46:18 -0500
Subject: [PATCH 59/68] gnu: json-glib: Add missing argument.

* gnu/packages/gnome.scm (json-glib) [arguments]<#:glib-or-gtk?>: New argument.
---
 gnu/packages/gnome.scm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index cbda2a93a7..d4b3f4aa14 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4544,13 +4544,15 @@ configuration storage systems.")
                (base32
                 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
     (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t))     ; To wrap binaries and/or compile schemas
     (native-inputs
      `(("gettext" ,gettext-minimal)
-       ("glib" ,glib "bin")              ;for glib-mkenums and glib-genmarshal
+       ("glib" ,glib "bin")      ;for glib-mkenums and glib-genmarshal
        ("gobject-introspection" ,gobject-introspection)
        ("pkg-config" ,pkg-config)))
     (propagated-inputs
-     `(("glib" ,glib)))                         ;according to json-glib-1.0.pc
+     `(("glib" ,glib)))                 ;according to json-glib-1.0.pc
     (home-page "https://wiki.gnome.org/Projects/JsonGlib")
     (synopsis "Compiler for the GObject type system")
     (description
-- 
2.30.1


[-- Attachment #1.1.61: 0060-gnu-json-glib-Enable-documentation-and-man-pages.patch --]
[-- Type: text/x-patch, Size: 3031 bytes --]

From dc7f28eac50cdf6c06d36dcdb51732e5aa5dfdf1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 10:51:35 -0500
Subject: [PATCH 60/68] gnu: json-glib: Enable documentation and man-pages.

* gnu/packages/gnome.scm (json-glib) [outputs]: New output "doc".
[arguments]<#:configure-flags>[-Ddocs]: New flag.
[-Dman]: New flag.
<#:phases>['patch-docbook]: New phase.
['move-doc]: New phase.
[native-inputs]: Add docbook-xml, docbook-xsl, gtk-doc and libxslt.
---
 gnu/packages/gnome.scm | 37 ++++++++++++++++++++++++++++++++++---
 1 file changed, 34 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index d4b3f4aa14..887f40f950 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4544,13 +4544,44 @@ configuration storage systems.")
                (base32
                 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:glib-or-gtk? #t))     ; To wrap binaries and/or compile schemas
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Ddocs=true"
+        "-Dman=true")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* "json-glib-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/")))
+               (substitute* "meson.build"
+                 (("http://docbook.sourceforge.net/release/xsl/current/")
+                  (string-append (assoc-ref inputs "docbook-xsl")
+                                 "/xml/xsl/docbook-xsl-1.79.1/"))))
+             #t))
+         (add-after 'install 'move-docs
+           (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/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("docbook-xsl" ,docbook-xsl)
+       ("gettext" ,gettext-minimal)
        ("glib" ,glib "bin")      ;for glib-mkenums and glib-genmarshal
        ("gobject-introspection" ,gobject-introspection)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("glib" ,glib)))                 ;according to json-glib-1.0.pc
     (home-page "https://wiki.gnome.org/Projects/JsonGlib")
-- 
2.30.1


[-- Attachment #1.1.62: 0061-gnu-json-glib-Update-synopsis-and-description.patch --]
[-- Type: text/x-patch, Size: 1548 bytes --]

From 6096b42e525b553b18421525cc68f3866a837b9c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 10:55:57 -0500
Subject: [PATCH 61/68] gnu: json-glib: Update synopsis and description.

* gnu/packages/gnome.scm (json-glib) [synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/gnome.scm | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 887f40f950..9ce07c21c3 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4585,13 +4585,10 @@ configuration storage systems.")
     (propagated-inputs
      `(("glib" ,glib)))                 ;according to json-glib-1.0.pc
     (home-page "https://wiki.gnome.org/Projects/JsonGlib")
-    (synopsis "Compiler for the GObject type system")
-    (description
-     "JSON-GLib is a C library based on GLib providing serialization and
-deserialization support for the JavaScript Object Notation (JSON) format
-described by RFC 4627.  It provides parser and generator GObject classes and
-various wrappers for the complex data types employed by JSON, such as arrays
-and objects.")
+    (synopsis "Glib and GObject implementation of JSON")
+    (description "JSON-GLib is a library providing serialization and
+described by RFC 4627.  It implements a full JSON parser and generator using
+GLib and GObject, and integrates JSON with GLib data types.")
     (license license:lgpl2.1+)))
 
 (define-public libxklavier
-- 
2.30.1


[-- Attachment #1.1.63: 0062-gnu-wayland-Fix-indentation.patch --]
[-- Type: text/x-patch, Size: 928 bytes --]

From f5fca8b4ec97f683461d7339b5605bee0e72fc25 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 11:05:02 -0500
Subject: [PATCH 62/68] gnu: wayland: Fix indentation.

* gnu/packages/freedesktop.scm (wayland): Fix identation.
---
 gnu/packages/freedesktop.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index e00454f7b3..4fcf663602 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -840,7 +840,7 @@ Python.")
        ("docbook-xsl" ,docbook-xsl)
        ("expat" ,expat)
        ("libffi" ,libffi)
-       ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
+       ("libxml2" ,libxml2)))           ; for XML_CATALOG_FILES
     (home-page "https://wayland.freedesktop.org/")
     (synopsis "Display server protocol")
     (description
-- 
2.30.1


[-- Attachment #1.1.64: 0063-gnu-wayland-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 902 bytes --]

From fbca49a82bbae3a2608879f79993a8ad1ee53ea9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 11:06:18 -0500
Subject: [PATCH 63/68] gnu: wayland: Change build-system.

* gnu/packages/freedesktop.scm (wayland) [build-system]: Change from gnu to meson.
---
 gnu/packages/freedesktop.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 4fcf663602..ea1324b9f6 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -826,7 +826,7 @@ Python.")
               (sha256
                (base32
                 "0k995rn96xkplrapz5k648j651wc43kq817xk1x8280h16gsfxa6"))))
-    (build-system gnu-build-system)
+    (build-system meson-build-system)
     (arguments
      `(#:parallel-tests? #f))
     (native-inputs
-- 
2.30.1


[-- Attachment #1.1.65: 0064-gnu-wayland-Correct-inputs.patch --]
[-- Type: text/x-patch, Size: 1547 bytes --]

From 24eace287aa5fefe796a2fe30924ad42cb5d8a47 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 11:09:46 -0500
Subject: [PATCH 64/68] gnu: wayland: Correct inputs.

* gnu/packages/freedesktop.scm (wayland) [native-inputs]: Move here
docbook-xml and docbook-xsl from ...
[inputs]: ... here. Move libffi to ...
[propagated-inputs]: ... here.
---
 gnu/packages/freedesktop.scm | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index ea1324b9f6..d12fdd46f5 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -830,17 +830,19 @@ Python.")
     (arguments
      `(#:parallel-tests? #f))
     (native-inputs
-     `(("doxygen" ,doxygen)
-       ("graphviz" ,graphviz)
+     `(("docbook-xml-4.2" ,docbook-xml-4.2)
+       ("docbook-xml" ,docbook-xml)
+       ("docbook-xsl" ,docbook-xsl)
+       ("dot" ,graphviz)
+       ("doxygen" ,doxygen)
        ("pkg-config" ,pkg-config)
        ("xmlto" ,xmlto)
        ("xsltproc" ,libxslt)))
     (inputs
-     `(("docbook-xml" ,docbook-xml)
-       ("docbook-xsl" ,docbook-xsl)
-       ("expat" ,expat)
-       ("libffi" ,libffi)
+     `(("expat" ,expat)
        ("libxml2" ,libxml2)))           ; for XML_CATALOG_FILES
+    (propagated-inputs
+     `(("libffi" ,libffi)))
     (home-page "https://wayland.freedesktop.org/")
     (synopsis "Display server protocol")
     (description
-- 
2.30.1


[-- Attachment #1.1.66: 0065-gnu-wayland-Fix-and-move-documentation.patch --]
[-- Type: text/x-patch, Size: 2981 bytes --]

From 108320c35f843874257021d6722ef82f938a23e7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 11:14:33 -0500
Subject: [PATCH 65/68] gnu: wayland: Fix and move documentation.

* gnu/packages/freedesktop.scm (wayland) [outputs]: New output "doc".
[arguments]<#:phases>['patch-docbook-xml]: New phase.
['move-doc]: New phase.
---
 gnu/packages/freedesktop.scm | 37 +++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index d12fdd46f5..9c293bd2fc 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -827,8 +827,43 @@ Python.")
                (base32
                 "0k995rn96xkplrapz5k648j651wc43kq817xk1x8280h16gsfxa6"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:parallel-tests? #f))
+     `(#:parallel-tests? #f
+        #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* '("man/wl_display_connect.xml"
+                              "publican/sources/Architecture.xml"
+                              "publican/sources/Author_Group.xml"
+                              "publican/sources/Book_Info.xml"
+                              "publican/sources/Client.xml"
+                              "publican/sources/Compositors.xml"
+                              "publican/sources/Foreword.xml"
+                              "publican/sources/Introduction.xml"
+                              "publican/sources/Preface.xml"
+                              "publican/sources/Protocol.xml"
+                              "publican/sources/Server.xml"
+                              "publican/sources/Wayland.xml"
+                              "publican/sources/Xwayland.xml")
+                 (("http://www.oasis-open.org/docbook/xml/4.5/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))
+                 (("http://www.oasis-open.org/docbook/xml/4.2/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.2")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (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"))
+               #t))))))
     (native-inputs
      `(("docbook-xml-4.2" ,docbook-xml-4.2)
        ("docbook-xml" ,docbook-xml)
-- 
2.30.1


[-- Attachment #1.1.67: 0066-gnu-wayland-Update-synopsis-description-and-license.patch --]
[-- Type: text/x-patch, Size: 1888 bytes --]

From 27cbf051513bc7d2c1d624f1e040d8720014343d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 11:18:19 -0500
Subject: [PATCH 66/68] gnu: wayland: Update synopsis, description and license.

* gnu/packages/freedesktop.scm (wayland) [synopsis]: Modify.
[description]: Modify.
[license]: Change from x11 to expat.
---
 gnu/packages/freedesktop.scm | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 9c293bd2fc..4e105ac384 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -879,14 +879,14 @@ Python.")
     (propagated-inputs
      `(("libffi" ,libffi)))
     (home-page "https://wayland.freedesktop.org/")
-    (synopsis "Display server protocol")
-    (description
-     "Wayland is a protocol for a compositor to talk to its clients as well as
-a C library implementation of that protocol.  The compositor can be a standalone
-display server running on Linux kernel modesetting and evdev input devices, an X
-application, or a wayland client itself.  The clients can be traditional
-applications, X servers (rootless or fullscreen) or other display servers.")
-    (license license:x11)))
+    (synopsis "Core Wayland window system code and protocol")
+    (description "Wayland is a project to define a protocol for a compositor to
+talk to its clients as well as a library implementation of the protocol.  The
+compositor can be a standalone display server running on Linux kernel
+modesetting and evdev input devices, an X application, or a wayland client
+itself.  The clients can be traditional applications, X servers (rootless or
+fullscreen) or other display servers.")
+    (license license:expat)))
 
 (define-public wayland-protocols
   (package
-- 
2.30.1


[-- Attachment #1.1.68: 0067-gnu-wayland-protocols-Update-description.patch --]
[-- Type: text/x-patch, Size: 1249 bytes --]

From 2143dbcbf5be6be9e60babf0f6a1ce5ff3c4854e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 11:22:54 -0500
Subject: [PATCH 67/68] gnu: wayland-protocols: Update description.

* gnu/packages/freedesktop.scm (wayland-protocols) [description]: Modify.
---
 gnu/packages/freedesktop.scm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 4e105ac384..7b06d21769 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -906,7 +906,10 @@ fullscreen) or other display servers.")
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (synopsis "Wayland protocols")
-    (description "This package contains XML definitions of the Wayland protocols.")
+    (description "Wayland-Protocols contains Wayland protocols that add
+functionality not available in the Wayland core protocol.  Such protocols either
+add completely new functionality, or extend the functionality of some other
+protocol either in Wayland core, or some other protocol in wayland-protocols.")
     (home-page "https://wayland.freedesktop.org")
     (license license:expat)))
 
-- 
2.30.1


[-- Attachment #1.1.69: 0068-gnu-yelp-xsl-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 1468 bytes --]

From 2d54e42cdced31ae84f4162753df3452a45cd535 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 11:30:38 -0500
Subject: [PATCH 68/68] gnu: yelp-xsl: Enable documentation.

* gnu/packages/gnome.scm (yelp-xsl) [arguments]<#:configure-flag>
[--enable-doc]: New flag.
[native-inputs]: Add mallard-ducktype, intltool and libxslt.
---
 gnu/packages/gnome.scm | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 9ce07c21c3..d9332d0add 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6788,10 +6788,17 @@ of running programs and invoke methods on those interfaces.")
        (sha256
         (base32 "1hsfj3q3a3kca0cf9i02xlq2qd4vy12qsjb89hh4r6mp6c11rrag"))))
     (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "--enable-doc")))
     (native-inputs
-     `(("gettext-minimal" ,gettext-minimal)
+     `(("ducktype" ,mallard-ducktype)
+       ("gettext" ,gettext-minimal)
+       ("intltool" ,intltool)
        ("itstool" ,itstool)
-       ("xmllint" ,libxml2)))
+       ("xmllint" ,libxml2)
+       ("xsltproc" ,libxslt)))
     (synopsis "XSL stylesheets for Yelp")
     (description "Yelp-XSL is a collection of programs and data files to help
 you build, maintain, and distribute documentation.  It provides XSLT stylesheets
-- 
2.30.1


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] Big changes from wip-desktop.
  2021-03-12 16:37 ` [bug#42958] Big changes from wip-desktop Raghav Gururajan via Guix-patches via
@ 2021-03-12 17:19   ` Raghav Gururajan via Guix-patches via
  2021-03-25 12:08     ` Raghav Gururajan via Guix-patches via
  0 siblings, 1 reply; 68+ messages in thread
From: Raghav Gururajan via Guix-patches via @ 2021-03-12 17:19 UTC (permalink / raw)
  To: 42958, Danny Milosavljevic


[-- Attachment #1.1.1: Type: text/plain, Size: 290 bytes --]

Hi Danny!

> I have split and re-worked remaining patches for current core-updates. 
> Please find them attached.

Since we are touching glib and gtk here, I think we can use this 
opportunity to update them further on minor versions. I have attached 
the patches.

Regards,
RG.

[-- Attachment #1.1.2: 0001-gnu-glib-Update-to-2.64.6.patch --]
[-- Type: text/x-patch, Size: 1211 bytes --]

From 6a5c5f57acfa9d8a630e9e53ebf9e934f890cbce Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 11:48:26 -0500
Subject: [PATCH 1/3] gnu: glib: Update to 2.64.6.

* gnu/packages/glib.scm (glib) [version]: Update to 2.64.6.
---
 gnu/packages/glib.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 974315f642..d0d0ddb371 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -173,7 +173,7 @@ shared NFS home directories.")
 (define glib
   (package
     (name "glib")
-    (version "2.64.3")
+    (version "2.64.6")
     (source
      (origin
        (method url-fetch)
@@ -182,7 +182,7 @@ shared NFS home directories.")
                        name "/" (string-take version 4) "/"
                        name "-" version ".tar.xz"))
        (sha256
-        (base32 "08pbgiv5m3rica4ydvwvpq5mrxbyswx7l1jzjc2ch52xjabvr77y"))
+        (base32 "1wakp3zl9hs7p86br415qhrq6dnnmjmfcvq18vq72k0nf1xf0vn3"))
        (patches
         (search-patches "glib-disable-failing-tests.patch"
                         "glib-appinfo-watch.patch"))
-- 
2.30.1


[-- Attachment #1.1.3: 0002-gnu-gtk-Update-to-3.24.27.patch --]
[-- Type: text/x-patch, Size: 1190 bytes --]

From 6f223b44a73ec144f0708bcc38ce35ad92e0d0d1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 12:01:02 -0500
Subject: [PATCH 2/3] gnu: gtk+: Update to 3.24.27.

* gnu/packages/gtk.scm (gtk+) [version]: Update to 3.24.27.
---
 gnu/packages/gtk.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 2dbf8de452..cb49e682a2 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -925,7 +925,7 @@ application suites.")
   (package
     (inherit gtk+-2)
     (name "gtk+")
-    (version "3.24.24")
+    (version "3.24.27")
     (source
      (origin
        (method url-fetch)
@@ -934,7 +934,7 @@ application suites.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "12ipk1d376bai9v820qzhxba93kkh5abi6mhyqr4hwjvqmkl77fc"))
+         "09ksflq5j257bf5zn8q2nnf2flicg9qqgfy7za79z7rkf1shc77p"))
        (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
                                 "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
     (propagated-inputs
-- 
2.30.1


[-- Attachment #1.1.4: 0003-gnu-gtk-2-Update-to-2.24.33.patch --]
[-- Type: text/x-patch, Size: 1404 bytes --]

From cd01788cc03864717513c7a8fbbdd5f8ba9e071e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 12:04:56 -0500
Subject: [PATCH 3/3] gnu: gtk+-2: Update to 2.24.33.

* gnu/packages/gtk.scm (gtk+-2) [version]: Update to 2.24.33.
---
 gnu/packages/gtk.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index cb49e682a2..05768c564b 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -825,7 +825,7 @@ is part of the GNOME accessibility project.")
 (define-public gtk+-2
   (package
     (name "gtk+")
-    (version "2.24.32")
+    (version "2.24.33")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -833,7 +833,7 @@ is part of the GNOME accessibility project.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0bjq7ja9gwcv6n5q4qkvdjjx40wsdiikksz1zqxvxsm5vlyskj5n"))
+                "1nn6kks1zyvb5xikr9y2k7r9bwjy1g4b0m0s66532bclymbwfamc"))
               (patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"
                                        "gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch"
                                        "gtk2-theme-paths.patch"))))
-- 
2.30.1


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] Big changes from wip-desktop.
  2021-03-12 17:19   ` Raghav Gururajan via Guix-patches via
@ 2021-03-25 12:08     ` Raghav Gururajan via Guix-patches via
  2021-03-26  1:00       ` Raghav Gururajan via Guix-patches via
  0 siblings, 1 reply; 68+ messages in thread
From: Raghav Gururajan via Guix-patches via @ 2021-03-25 12:08 UTC (permalink / raw)
  To: 42958, Danny Milosavljevic, Ricardo Wurmus, Léo Le Bouter


[-- Attachment #1.1.1: Type: text/plain, Size: 621 bytes --]

@(rekado|lle-bout|danny),

Could any of you please review and merge the attached patches to 
core-updates?

These patches has been successfully built on bayfront, from which you 
can obtain substitutes, if needed.

I will send some more patches for this #42958 by tomorrow.

It would be great if we could together finish-off this #42958 ASAP, so 
that I can bring remaining patches from wip-deskop.

P.S
Please pardon two cosmetic changes patches, which were done very long 
ago and had to use it to cleanly apply succeeding patches. Also, I must 
have used #t with lambda out of habit.

Regards,
RG.

[-- Attachment #1.1.2: 0001-gnu-glib-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 22244 bytes --]

From 2df41c9b1d7012f2eb3490280630f5324584eb9f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 06:39:29 -0500
Subject: [PATCH 01/56] gnu: glib: Make some cosmetic changes.

* gnu/packages/glib.scm (glib): Make some cosmetic changes.
---
 gnu/packages/glib.scm | 425 ++++++++++++++++++++----------------------
 1 file changed, 202 insertions(+), 223 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index fdbe6d0cdf..8e14aa8c5a 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -170,229 +170,208 @@ shared NFS home directories.")
 
 (define glib
   (package
-   (name "glib")
-   (version "2.62.6")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/"
-                                name "/" (string-take version 4) "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
-            (patches (search-patches "glib-appinfo-watch.patch"
-                                     "glib-tests-timer.patch"))
-            (modules '((guix build utils)))
-            (snippet
-             '(begin
-                (substitute* "tests/spawn-test.c"
-                  (("/bin/sh") "sh"))
-                #t))))
-   (build-system meson-build-system)
-   (outputs '("out"           ; everything
-              "bin"           ; glib-mkenums, gtester, etc.; depends on Python
-              "debug"))
-   (propagated-inputs
-    `(("pcre" ,pcre)  ; in the Requires.private field of glib-2.0.pc
-      ("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
-      ;; These are in the Requires.private field of gio-2.0.pc
-      ("util-linux" ,util-linux "lib")  ;for libmount
-      ("zlib" ,zlib)))
-   (native-inputs
-    `(("gettext" ,gettext-minimal)
-      ("m4" ,m4) ; for installing m4 macros
-      ("dbus" ,dbus)                              ; for GDBus tests
-      ("pkg-config" ,pkg-config)
-      ("python" ,python-minimal-wrapper)
-      ("perl" ,perl)                              ; needed by GIO tests
-      ("tzdata" ,tzdata-for-tests)))                  ; for tests/gdatetime.c
-   (arguments
-    `(#:disallowed-references (,tzdata-for-tests)
-      #:configure-flags '("-Dselinux=disabled")
-      #:phases
-      (modify-phases %standard-phases
-        (add-after 'unpack 'patch-dbus-launch-path
-          (lambda* (#:key inputs #:allow-other-keys)
-            (let ((dbus (assoc-ref inputs "dbus")))
-              (substitute* "gio/gdbusaddress.c"
-                (("command_line = g_strdup_printf \\(\"dbus-launch")
-                 (string-append "command_line = g_strdup_printf (\""
-                                dbus "/bin/dbus-launch")))
-              #t)))
-        (add-after 'unpack 'patch-gio-launch-desktop
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out")))
-              ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
-              ;; for another future fix.
-              (substitute* "gio/gdesktopappinfo.c"
-               (("gio-launch-desktop")
-                (string-append out "/libexec/gio-launch-desktop")))
-              #t)))
-        ;; TODO: Remove the conditional in the next core-updates cycle.
-        ;; Needed to build glib on slower ARM nodes.
-        ,@(if (string-prefix? "arm" (%current-system))
-              `((add-after 'unpack 'increase-test-timeout
-                  (lambda _
-                    (substitute* "meson.build"
-                      (("test_timeout = 60")
-                       "test_timeout = 90")
-                      (("test_timeout_slow = 120")
-                       "test_timeout_slow = 180")))))
-              '())
-        (add-before 'build 'pre-build
-          (lambda* (#:key inputs outputs #:allow-other-keys)
-            ;; For tests/gdatetime.c.
-            (setenv "TZDIR"
-                    (string-append (assoc-ref inputs "tzdata")
-                                   "/share/zoneinfo"))
-
-            ;; Some tests want write access there.
-            (setenv "HOME" (getcwd))
-            (setenv "XDG_CACHE_HOME" (getcwd))
-            #t))
-        (add-after 'unpack 'disable-failing-tests
-          (lambda _
-            (let ((disable
-                   (lambda (test-file test-paths)
-                     (define pattern+procs
-                       (map (lambda (test-path)
-                              (cons
-                               ;; XXX: only works for single line statements.
-                               (format #f "g_test_add_func.*\"~a\".*" test-path)
-                               (const "")))
-                            test-paths))
-                     (substitute test-file pattern+procs)))
-                  (failing-tests
-                   '(("glib/tests/thread.c"
-                      (;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
-                       ;; as found on hydra.gnu.org, and strace(1) doesn't
-                       ;; recognize it.
-                       "/thread/thread4"))
-
-                     ;; This tries to find programs in FHS directories.
-                     ("glib/tests/utils.c"
-                      ("/utils/find-program"))
-
-                     ;; This fails because "glib/tests/echo-script" cannot be
-                     ;; found.
-                     ("glib/tests/spawn-singlethread.c"
-                      ("/gthread/spawn-script"))
-
-                     ("glib/tests/timer.c"
-                      (;; fails if compiler optimizations are enabled, which they
-                       ;; are by default.
-                       "/timer/stop"))
-
-                     ("gio/tests/gapplication.c"
-                      (;; XXX: proven to be unreliable.  See:
-                       ;;  <https://bugs.debian.org/756273>
-                       ;;  <http://bugs.gnu.org/18445>
-                       "/gapplication/quit"
-
-                       ;; XXX: fails randomly for unknown reason. See:
-                       ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
-                       "/gapplication/local-actions"))
-
-                     ("gio/tests/contenttype.c"
-                      (;; XXX: requires shared-mime-info.
-                       "/contenttype/guess"
-                       "/contenttype/guess_svg_from_data"
-                       "/contenttype/subtype"
-                       "/contenttype/list"
-                       "/contenttype/icon"
-                       "/contenttype/symbolic-icon"
-                       "/contenttype/tree"))
-
-                     ("gio/tests/appinfo.c"
-                      (;; XXX: requires update-desktop-database.
-                       "/appinfo/associations"))
-
-                     ("gio/tests/desktop-app-info.c"
-                      (;; XXX: requires update-desktop-database.
-                       "/desktop-app-info/delete"
-                       "/desktop-app-info/default"
-                       "/desktop-app-info/fallback"
-                       "/desktop-app-info/lastused"
-                       "/desktop-app-info/search"))
-
-                     ("gio/tests/gdbus-peer.c"
-                      (;; Requires /etc/machine-id.
-                       "/gdbus/codegen-peer-to-peer"))
-
-                     ("gio/tests/gdbus-address-get-session.c"
-                      (;; Requires /etc/machine-id.
-                       "/gdbus/x11-autolaunch"))
-
-                     ("gio/tests/gsocketclient-slow.c"
-                      (;; These tests tries to resolve "localhost", and fails.
-                       "/socket-client/happy-eyeballs/slow"
-                       "/socket-client/happy-eyeballs/cancellation/delayed"))
-
-                     )))
-              (for-each (lambda (x) (apply disable x)) failing-tests)
-              #t)))
-        (replace 'check
-          (lambda* (#:key tests? #:allow-other-keys)
-            (if tests?
-                (begin
-                  (setenv "MESON_TESTTHREADS"
-                          (number->string (parallel-job-count)))
-                  ;; Do not run tests marked as "flaky".
-                  (invoke "meson" "test" "--no-suite" "flaky"))
-                #t)))
-        ;; TODO: meson does not permit the bindir to be outside of prefix.
-        ;; See https://github.com/mesonbuild/meson/issues/2561
-        ;; We can remove this once meson is patched.
-        (add-after 'install 'move-executables
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out"))
-                  (bin (assoc-ref outputs "bin")))
-              (mkdir-p bin)
-              (rename-file (string-append out "/bin")
-                           (string-append bin "/bin"))
-              ;; This one is an implementation detail of glib.
-              ;; It is wrong that that's in "/bin" in the first place,
-              ;; but that's what upstream is doing right now.
-              ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
-              (mkdir (string-append out "/libexec"))
-              (rename-file (string-append bin "/bin/gio-launch-desktop")
-                           (string-append out "/libexec/gio-launch-desktop"))
-              ;; 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=\\$\\{prefix\\}/bin") "")
-                (("=\\$\\{bindir\\}/") "="))
-              #t))))))
-      ;; TODO: see above for explanation.
-      ;; #:configure-flags (list (string-append "--bindir="
-      ;;                                        (assoc-ref %outputs "bin")
-      ;;                                        "/bin"))
-
-   (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
-    ;; path for .gir files, and it's also a search path for schemas produced
-    ;; by 'glib-compile-schemas'.
-    (list (search-path-specification
-           (variable "XDG_DATA_DIRS")
-           (files '("share")))
-          ;; To load extra gio modules from glib-networking, etc.
-          (search-path-specification
-           (variable "GIO_EXTRA_MODULES")
-           (files '("lib/gio/modules")))))
-   (search-paths native-search-paths)
-   (properties '((hidden? . #t)))
-
-   (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
-   (description
-    "GLib provides data structure handling for C, portability wrappers,
-and interfaces for such runtime functionality as an event loop, threads,
-dynamic loading, and an object system.")
-   (home-page "https://developer.gnome.org/glib/")
-   (license license:lgpl2.1+)))
+    (name "glib")
+    (version "2.62.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/"
+                       name "/" (string-take version 4) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
+       (patches
+        (search-patches "glib-tests-timer.patch" "glib-appinfo-watch.patch"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (substitute* "tests/spawn-test.c"
+             (("/bin/sh") "sh"))
+           #t))))
+    (properties '((hidden? . #t)))
+    (build-system meson-build-system)
+    (outputs '("out"   ; everything
+               "bin")) ; glib-mkenums, gtester, etc.; depends on Python
+    (arguments
+     `(#:disallowed-references (,tzdata-for-tests)
+       #:phases
+       (modify-phases %standard-phases
+         ;; TODO: Remove the conditional in the next core-updates cycle.
+         ;; Needed to build glib on slower ARM nodes.
+         ,@(if (string-prefix? "arm" (%current-system))
+               `((add-after 'unpack 'increase-test-timeout
+                   (lambda _
+                     (substitute* "meson.build"
+                       (("test_timeout = 60")
+                        "test_timeout = 90")
+                       (("test_timeout_slow = 120")
+                        "test_timeout_slow = 180")))))
+               '())
+         (add-after 'unpack 'patch-dbus-launch-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((dbus (assoc-ref inputs "dbus")))
+               (substitute* "gio/gdbusaddress.c"
+                 (("command_line = g_strdup_printf \\(\"dbus-launch")
+                  (string-append "command_line = g_strdup_printf (\""
+                                 dbus "/bin/dbus-launch")))
+               #t)))
+         (add-after 'unpack 'patch-gio-launch-desktop
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
+               ;; for another future fix.
+               (substitute* "gio/gdesktopappinfo.c"
+                 (("gio-launch-desktop")
+                  (string-append out "/libexec/gio-launch-desktop")))
+               #t)))
+         (add-before 'build 'pre-build
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             ;; For tests/gdatetime.c.
+             (setenv "TZDIR"
+                     (string-append (assoc-ref inputs "tzdata")
+                                    "/share/zoneinfo"))
+             ;; Some tests want write access there.
+             (setenv "HOME" (getcwd))
+             (setenv "XDG_CACHE_HOME" (getcwd))
+             #t))
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (let ((disable
+                    (lambda (test-file test-paths)
+                      (define pattern+procs
+                        (map (lambda (test-path)
+                               (cons
+                                ;; XXX: only works for single line statements.
+                                (format #f "g_test_add_func.*\"~a\".*" test-path)
+                                (const "")))
+                             test-paths))
+                      (substitute test-file pattern+procs)))
+                   (failing-tests
+                    '(("glib/tests/thread.c"
+                       ( ;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
+                        ;; as found on hydra.gnu.org, and strace(1) doesn't
+                        ;; recognize it.
+                        "/thread/thread4"))
+                      ;; This tries to find programs in FHS directories.
+                      ("glib/tests/utils.c"
+                       ("/utils/find-program"))
+                      ;; This fails because "glib/tests/echo-script" cannot be
+                      ;; found.
+                      ("glib/tests/spawn-singlethread.c"
+                       ("/gthread/spawn-script"))
+                      ("glib/tests/timer.c"
+                       ( ;; fails if compiler optimizations are enabled, which they
+                        ;; are by default.
+                        "/timer/stop"))
+                      ("gio/tests/gapplication.c"
+                       ( ;; XXX: proven to be unreliable.  See:
+                        ;;  <https://bugs.debian.org/756273>
+                        ;;  <http://bugs.gnu.org/18445>
+                        "/gapplication/quit"
+                        ;; XXX: fails randomly for unknown reason. See:
+                        ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
+                        "/gapplication/local-actions"))
+                      ("gio/tests/contenttype.c"
+                       ( ;; XXX: requires shared-mime-info.
+                        "/contenttype/guess"
+                        "/contenttype/guess_svg_from_data"
+                        "/contenttype/subtype"
+                        "/contenttype/list"
+                        "/contenttype/icon"
+                        "/contenttype/symbolic-icon"
+                        "/contenttype/tree"))
+                      ("gio/tests/appinfo.c"
+                       ( ;; XXX: requires update-desktop-database.
+                        "/appinfo/associations"))
+                      ("gio/tests/desktop-app-info.c"
+                       ( ;; XXX: requires update-desktop-database.
+                        "/desktop-app-info/delete"
+                        "/desktop-app-info/default"
+                        "/desktop-app-info/fallback"
+                        "/desktop-app-info/lastused"
+                        "/desktop-app-info/search"))
+                      ("gio/tests/gdbus-peer.c"
+                       ( ;; Requires /etc/machine-id.
+                        "/gdbus/codegen-peer-to-peer"))
+                      ("gio/tests/gdbus-address-get-session.c"
+                       ( ;; Requires /etc/machine-id.
+                        "/gdbus/x11-autolaunch"))
+                      ("gio/tests/gsocketclient-slow.c"
+                       ( ;; These tests tries to resolve "localhost", and fails.
+                        "/socket-client/happy-eyeballs/slow"
+                        "/socket-client/happy-eyeballs/cancellation/delayed")))))
+               (for-each (lambda (x) (apply disable x)) failing-tests)
+               #t)))
+         (replace 'check
+           (lambda _
+             (setenv "MESON_TESTTHREADS"
+                     (number->string (parallel-job-count)))
+             ;; Do not run tests marked as "flaky".
+             (invoke "meson" "test" "--no-suite" "flaky")))
+         ;; TODO: meson does not permit the bindir to be outside of prefix.
+         ;; See https://github.com/mesonbuild/meson/issues/2561
+         ;; We can remove this once meson is patched.
+         (add-after 'install 'move-executables
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (bin (assoc-ref outputs "bin")))
+               (mkdir-p bin)
+               (rename-file (string-append out "/bin")
+                            (string-append bin "/bin"))
+               ;; This one is an implementation detail of glib.
+               ;; It is wrong that that's in "/bin" in the first place,
+               ;; but that's what upstream is doing right now.
+               ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
+               (mkdir (string-append out "/libexec"))
+               (rename-file (string-append bin "/bin/gio-launch-desktop")
+                            (string-append out "/libexec/gio-launch-desktop"))
+               ;; 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=\\$\\{prefix\\}/bin") "")
+                 (("=\\$\\{bindir\\}/") "="))
+               #t))))))
+    ;; TODO: see above for explanation.
+    ;; #:configure-flags (list (string-append "--bindir="
+    ;;                                        (assoc-ref %outputs "bin")
+    ;;                                        "/bin"))
+    (native-inputs
+     `(("dbus" ,dbus)                   ; for GDBus tests
+       ("gettext" ,gettext-minimal)
+       ("m4" ,m4)                       ; for installing m4 macros
+       ("perl" ,perl)                   ; needed by GIO tests
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("tzdata" ,tzdata-for-tests)))   ; for tests/gdatetime.c
+    (propagated-inputs
+     `(("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
+       ("pcre" ,pcre)   ; in the Requires.private field of glib-2.0.pc
+       ("util-linux" ,util-linux "lib") ;for libmount
+       ("zlib" ,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
+     ;; path for .gir files, and it's also a search path for schemas produced
+     ;; by 'glib-compile-schemas'.
+     (list
+      (search-path-specification
+       (variable "XDG_DATA_DIRS")
+       (files '("share")))
+      ;; To load extra gio modules from glib-networking, etc.
+      (search-path-specification
+       (variable "GIO_EXTRA_MODULES")
+       (files '("lib/gio/modules")))))
+    (search-paths native-search-paths)
+    (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
+    (description "GLib provides data structure handling for C, portability
+wrappers, and interfaces for such runtime functionality as an event loop,
+threads, dynamic loading, and an object system.")
+    (home-page "https://developer.gnome.org/glib/")
+    (license license:lgpl2.1+)))
 
 (define-public glib-with-documentation
   ;; glib's doc must be built in a separate package since it requires gtk-doc,
-- 
2.31.0


[-- Attachment #1.1.3: 0002-gnu-glib-Update-to-2.68.0.patch --]
[-- Type: text/x-patch, Size: 14842 bytes --]

From 76fa7c146a5395cbc4ed36712eb7cc1ae71d378f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 07:22:07 -0500
Subject: [PATCH 02/56] gnu: glib: Update to 2.68.0.

* gnu/packages/glib.scm (glib) [version]: Update to 2.68.0.
[patches]: Remove glib-tests-timer.patch.
[arguments]<#:phases>['patch-python-references]: New phase.
['pre-check]: New phase.
['move-bin]: New phase.
['patch-dbus-launch-path]: Remove phase.
['patch-gio-launch-desktop]: Remove phase.
['pre-build]: Remove phase.
['disable-failing-tests]: Modify phase.
['check]: Remove phase.
['move-executables]: Remove phase.
[native-inputs]: Add intltool, python, libxml2 and libxslt.
Remove dbus.
[inputs]: Add bash-completion, dbus and libelf.
[propagated-inputs]: Add libselinux.
* gnu/packages/patches/glib-tests-timer.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust.
---
 gnu/local.mk                                |   1 -
 gnu/packages/glib.scm                       | 168 ++++++--------------
 gnu/packages/patches/glib-tests-timer.patch |  15 --
 3 files changed, 53 insertions(+), 131 deletions(-)
 delete mode 100644 gnu/packages/patches/glib-tests-timer.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 572f439cae..d070ab08a9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1068,7 +1068,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/ghostscript-no-header-uuid.patch		\
   %D%/packages/patches/ghostscript-no-header-creationdate.patch \
   %D%/packages/patches/glib-appinfo-watch.patch			\
-  %D%/packages/patches/glib-tests-timer.patch			\
   %D%/packages/patches/glibc-CVE-2018-11236.patch		\
   %D%/packages/patches/glibc-CVE-2018-11237.patch		\
   %D%/packages/patches/glibc-CVE-2019-7309.patch		\
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 8e14aa8c5a..6d9df5375a 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -36,11 +36,13 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages elf)
   #:use-module (gnu packages enlightenment)
   #:use-module (gnu packages file)
   #:use-module (gnu packages flex)
@@ -60,6 +62,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages selinux)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
@@ -171,7 +174,7 @@ shared NFS home directories.")
 (define glib
   (package
     (name "glib")
-    (version "2.62.6")
+    (version "2.68.0")
     (source
      (origin
        (method url-fetch)
@@ -180,9 +183,9 @@ shared NFS home directories.")
                        name "/" (string-take version 4) "/"
                        name "-" version ".tar.xz"))
        (sha256
-        (base32 "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
+        (base32 "1sh3h6b734cxhdd1qlzvhxq6rc7k73dsisap5y3s419s9xc4ywv7"))
        (patches
-        (search-patches "glib-tests-timer.patch" "glib-appinfo-watch.patch"))
+        (search-patches "glib-appinfo-watch.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -208,24 +211,31 @@ shared NFS home directories.")
                        (("test_timeout_slow = 120")
                         "test_timeout_slow = 180")))))
                '())
-         (add-after 'unpack 'patch-dbus-launch-path
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (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.*;") "")))
+             #t))
+         ;; Python references are not being patched in patch-phase of build,
+         ;; despite using python-wrapper as input. So we patch them manually.
+         (add-after 'unpack 'patch-python-references
            (lambda* (#:key inputs #:allow-other-keys)
-             (let ((dbus (assoc-ref inputs "dbus")))
-               (substitute* "gio/gdbusaddress.c"
-                 (("command_line = g_strdup_printf \\(\"dbus-launch")
-                  (string-append "command_line = g_strdup_printf (\""
-                                 dbus "/bin/dbus-launch")))
-               #t)))
-         (add-after 'unpack 'patch-gio-launch-desktop
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
-               ;; for another future fix.
-               (substitute* "gio/gdesktopappinfo.c"
-                 (("gio-launch-desktop")
-                  (string-append out "/libexec/gio-launch-desktop")))
-               #t)))
-         (add-before 'build 'pre-build
+             (substitute* '("gio/gdbus-2.0/codegen/gdbus-codegen.in"
+                            "glib/gtester-report.in"
+                            "gobject/glib-genmarshal.in"
+                            "gobject/glib-mkenums.in")
+               (("@PYTHON@")
+                (string-append (assoc-ref inputs "python")
+                               "/bin/python"
+                               ,(version-major+minor
+                                 (package-version python)))))
+             #t))
+         (add-before 'check 'pre-check
            (lambda* (#:key inputs outputs #:allow-other-keys)
              ;; For tests/gdatetime.c.
              (setenv "TZDIR"
@@ -235,103 +245,23 @@ shared NFS home directories.")
              (setenv "HOME" (getcwd))
              (setenv "XDG_CACHE_HOME" (getcwd))
              #t))
-         (add-after 'unpack 'disable-failing-tests
-           (lambda _
-             (let ((disable
-                    (lambda (test-file test-paths)
-                      (define pattern+procs
-                        (map (lambda (test-path)
-                               (cons
-                                ;; XXX: only works for single line statements.
-                                (format #f "g_test_add_func.*\"~a\".*" test-path)
-                                (const "")))
-                             test-paths))
-                      (substitute test-file pattern+procs)))
-                   (failing-tests
-                    '(("glib/tests/thread.c"
-                       ( ;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
-                        ;; as found on hydra.gnu.org, and strace(1) doesn't
-                        ;; recognize it.
-                        "/thread/thread4"))
-                      ;; This tries to find programs in FHS directories.
-                      ("glib/tests/utils.c"
-                       ("/utils/find-program"))
-                      ;; This fails because "glib/tests/echo-script" cannot be
-                      ;; found.
-                      ("glib/tests/spawn-singlethread.c"
-                       ("/gthread/spawn-script"))
-                      ("glib/tests/timer.c"
-                       ( ;; fails if compiler optimizations are enabled, which they
-                        ;; are by default.
-                        "/timer/stop"))
-                      ("gio/tests/gapplication.c"
-                       ( ;; XXX: proven to be unreliable.  See:
-                        ;;  <https://bugs.debian.org/756273>
-                        ;;  <http://bugs.gnu.org/18445>
-                        "/gapplication/quit"
-                        ;; XXX: fails randomly for unknown reason. See:
-                        ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
-                        "/gapplication/local-actions"))
-                      ("gio/tests/contenttype.c"
-                       ( ;; XXX: requires shared-mime-info.
-                        "/contenttype/guess"
-                        "/contenttype/guess_svg_from_data"
-                        "/contenttype/subtype"
-                        "/contenttype/list"
-                        "/contenttype/icon"
-                        "/contenttype/symbolic-icon"
-                        "/contenttype/tree"))
-                      ("gio/tests/appinfo.c"
-                       ( ;; XXX: requires update-desktop-database.
-                        "/appinfo/associations"))
-                      ("gio/tests/desktop-app-info.c"
-                       ( ;; XXX: requires update-desktop-database.
-                        "/desktop-app-info/delete"
-                        "/desktop-app-info/default"
-                        "/desktop-app-info/fallback"
-                        "/desktop-app-info/lastused"
-                        "/desktop-app-info/search"))
-                      ("gio/tests/gdbus-peer.c"
-                       ( ;; Requires /etc/machine-id.
-                        "/gdbus/codegen-peer-to-peer"))
-                      ("gio/tests/gdbus-address-get-session.c"
-                       ( ;; Requires /etc/machine-id.
-                        "/gdbus/x11-autolaunch"))
-                      ("gio/tests/gsocketclient-slow.c"
-                       ( ;; These tests tries to resolve "localhost", and fails.
-                        "/socket-client/happy-eyeballs/slow"
-                        "/socket-client/happy-eyeballs/cancellation/delayed")))))
-               (for-each (lambda (x) (apply disable x)) failing-tests)
-               #t)))
-         (replace 'check
-           (lambda _
-             (setenv "MESON_TESTTHREADS"
-                     (number->string (parallel-job-count)))
-             ;; Do not run tests marked as "flaky".
-             (invoke "meson" "test" "--no-suite" "flaky")))
-         ;; TODO: meson does not permit the bindir to be outside of prefix.
-         ;; See https://github.com/mesonbuild/meson/issues/2561
-         ;; We can remove this once meson is patched.
-         (add-after 'install 'move-executables
+         ;; Meson does not permit the bindir to be outside of prefix.
+         (add-after 'install 'move-bin
            (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (bin (assoc-ref outputs "bin")))
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (assoc-ref outputs "bin")))
                (mkdir-p bin)
-               (rename-file (string-append out "/bin")
-                            (string-append bin "/bin"))
-               ;; This one is an implementation detail of glib.
-               ;; It is wrong that that's in "/bin" in the first place,
-               ;; but that's what upstream is doing right now.
-               ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
-               (mkdir (string-append out "/libexec"))
-               (rename-file (string-append bin "/bin/gio-launch-desktop")
-                            (string-append out "/libexec/gio-launch-desktop"))
+               (rename-file
+                (string-append out "/bin")
+                (string-append bin "/bin"))
                ;; 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"))
+               (substitute*
+                   (list
+                    (string-append out "/lib/pkgconfig/gio-2.0.pc")
+                    (string-append out "/lib/pkgconfig/glib-2.0.pc"))
                  (("bindir=\\$\\{prefix\\}/bin") "")
                  (("=\\$\\{bindir\\}/") "="))
                #t))))))
@@ -340,15 +270,23 @@ shared NFS home directories.")
     ;;                                        (assoc-ref %outputs "bin")
     ;;                                        "/bin"))
     (native-inputs
-     `(("dbus" ,dbus)                   ; for GDBus tests
-       ("gettext" ,gettext-minimal)
+     `(("gettext" ,gettext-minimal)
+       ("libintl" ,intltool)
        ("m4" ,m4)                       ; for installing m4 macros
        ("perl" ,perl)                   ; needed by GIO tests
        ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("tzdata" ,tzdata-for-tests)))   ; for tests/gdatetime.c
+       ("python" ,python)               ; For 'patch-python-references
+       ("python-wrapper" ,python-wrapper)
+       ("tzdata" ,tzdata-for-tests)     ; for tests/gdatetime.c
+       ("xmllint" ,libxml2)
+       ("xsltproc" ,libxslt)))
+    (inputs
+     `(("bash-completion" ,bash-completion)
+       ("dbus" ,dbus)
+       ("libelf" ,libelf)))
     (propagated-inputs
      `(("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
+       ("libselinux" ,libselinux) ; in the Requires.private field of gio-2.0.pc
        ("pcre" ,pcre)   ; in the Requires.private field of glib-2.0.pc
        ("util-linux" ,util-linux "lib") ;for libmount
        ("zlib" ,zlib))) ; in the Requires.private field of glib-2.0.pc
diff --git a/gnu/packages/patches/glib-tests-timer.patch b/gnu/packages/patches/glib-tests-timer.patch
deleted file mode 100644
index e37425c0c8..0000000000
--- a/gnu/packages/patches/glib-tests-timer.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-* On i686 floating-point roundoff errors could sometimes cause this check to
-  fail depending on the elapsed microseconds.  Improve rounding by adding a
-  fractional bit.
-
---- glib-2.40.0/glib/tests/timer.c	2014-03-05 08:05:42.000000000 -0600
-+++ glib-2.40.0/glib/tests/timer.c	2014-07-10 16:33:12.746862822 -0500
-@@ -35,7 +35,7 @@
-   elapsed = g_timer_elapsed (timer, &micros);
- 
-   g_assert_cmpfloat (elapsed, <, 1.0);
--  g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6)) % 1000000);
-+  g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6 + 0.5)) % 1000000);
- 
-   g_timer_destroy (timer);
- }
-- 
2.31.0


[-- Attachment #1.1.4: 0003-gnu-glib-Enable-man-pages.patch --]
[-- Type: text/x-patch, Size: 1446 bytes --]

From 3b89c3da9ff7f444d4a9df5d01816e3bf35fb110 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 02:14:27 -0400
Subject: [PATCH 03/56] gnu: glib: Enable man pages.

* gnu/packages/glib.scm (glib)[arguments]<#:configure-flags>[-Dman]: New flag.
[native-inputs]: Add docbook-xsl.
---
 gnu/packages/glib.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 6d9df5375a..27c36d40bb 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -198,6 +198,7 @@ shared NFS home directories.")
                "bin")) ; glib-mkenums, gtester, etc.; depends on Python
     (arguments
      `(#:disallowed-references (,tzdata-for-tests)
+       #:configure-flags '("-Dman=true")
        #:phases
        (modify-phases %standard-phases
          ;; TODO: Remove the conditional in the next core-updates cycle.
@@ -270,7 +271,8 @@ shared NFS home directories.")
     ;;                                        (assoc-ref %outputs "bin")
     ;;                                        "/bin"))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
+     `(("docbook-xsl" ,docbook-xsl)
+       ("gettext" ,gettext-minimal)
        ("libintl" ,intltool)
        ("m4" ,m4)                       ; for installing m4 macros
        ("perl" ,perl)                   ; needed by GIO tests
-- 
2.31.0


[-- Attachment #1.1.5: 0004-gnu-glib-Update-synopsis-description-and-home-page.patch --]
[-- Type: text/x-patch, Size: 1602 bytes --]

From 9491a8b00f8e7a859fcc49e28ec45f39901ea10f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 07:45:50 -0500
Subject: [PATCH 04/56] gnu: glib: Update synopsis, description and home-page.

* gnu/packages/glib.scm (glib) [synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
---
 gnu/packages/glib.scm | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 27c36d40bb..72e9b7a91f 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -306,11 +306,12 @@ shared NFS home directories.")
        (variable "GIO_EXTRA_MODULES")
        (files '("lib/gio/modules")))))
     (search-paths native-search-paths)
-    (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
-    (description "GLib provides data structure handling for C, portability
-wrappers, and interfaces for such runtime functionality as an event loop,
-threads, dynamic loading, and an object system.")
-    (home-page "https://developer.gnome.org/glib/")
+    (synopsis "Low-level core library for GNOME projects")
+    (description "GLib provides the core application building blocks for
+libraries and applications written in C.  It provides the core object system
+used in GNOME, the main loop implementation, and a large set of utility
+functions for strings and common data structures.")
+    (home-page "https://wiki.gnome.org/Projects/GLib")
     (license license:lgpl2.1+)))
 
 (define-public glib-with-documentation
-- 
2.31.0


[-- Attachment #1.1.6: 0005-gnu-glib-with-documentation-Make-some-cosmetic-chang.patch --]
[-- Type: text/x-patch, Size: 2127 bytes --]

From f2723dc42ac7c5aafd2cc7ddab1d5e606e3a50c6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 09:37:00 -0500
Subject: [PATCH 05/56] gnu: glib-with-documentation: Make some cosmetic
 changes.

* gnu/packages/glib.scm (glib-with-documentation): Make some cosmetic changes.
---
 gnu/packages/glib.scm | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 72e9b7a91f..9ec1c3904d 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -321,8 +321,8 @@ functions for strings and common data structures.")
     (properties (alist-delete 'hidden? (package-properties glib)))
     (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
     (native-inputs
-     `(("gtk-doc" ,gtk-doc)             ; for the doc
-       ("docbook-xml" ,docbook-xml)
+     `(("docbook-xml" ,docbook-xml)
+       ("gtk-doc" ,gtk-doc)             ; for the doc
        ("libxml2" ,libxml2)
        ,@(package-native-inputs glib)))
     (arguments
@@ -333,12 +333,13 @@ functions for strings and common data structures.")
         `(modify-phases ,phases
            (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")))
-                 (copy-recursively (string-append out html)
-                                   (string-append doc html))
-                 (delete-file-recursively (string-append out html))
+               (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))
                  #t)))))))))
 
 (define gobject-introspection
-- 
2.31.0


[-- Attachment #1.1.7: 0006-gnu-glib-with-documentation-Fix-documentation-build.patch --]
[-- Type: text/x-patch, Size: 2156 bytes --]

From 1d9e2ffcae508465323edc4826a681d336a5aa87 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 09:39:52 -0500
Subject: [PATCH 06/56] gnu: glib-with-documentation: Fix documentation build.

* gnu/packages/glib.scm (glib-with-documentation) [native-inputs]:
Add docbook-4.2. Remove libxml2.
[arguments]<#:phases>['patch-docbook-xml]: New phase.
---
 gnu/packages/glib.scm | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 9ec1c3904d..9d9bad19bd 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -321,7 +321,8 @@ functions for strings and common data structures.")
     (properties (alist-delete 'hidden? (package-properties glib)))
     (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
     (native-inputs
-     `(("docbook-xml" ,docbook-xml)
+     `(("docbook-xml-4.2" ,docbook-xml-4.2)
+       ("docbook-xml-4.5" ,docbook-xml)
        ("gtk-doc" ,gtk-doc)             ; for the doc
        ("libxml2" ,libxml2)
        ,@(package-native-inputs glib)))
@@ -331,6 +332,17 @@ functions for strings and common data structures.")
         `(cons "-Dgtk_doc=true" ,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/"))))
+               #t))
            (add-after 'install 'move-doc
              (lambda* (#:key outputs #:allow-other-keys)
                (let* ((out (assoc-ref outputs "out"))
-- 
2.31.0


[-- Attachment #1.1.8: 0007-gnu-Temporarily-use-glib-without-documentation.patch --]
[-- Type: text/x-patch, Size: 1666 bytes --]

From 3f0aabff2c71bd3448614cf234bc2f449866dc38 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 24 Mar 2021 02:47:29 -0400
Subject: [PATCH 07/56] gnu: Temporarily use glib without documentation.

GLib v2.68.0 refers to gtk-doc v1.32.1 which is not released yet.
Therefore, hide glib-with-documentation and unhide glib.

* gnu/packages/glib.scm (glib) [properties]: Remove hidden.
(glib-with-documentation) [properties]: Add hidden.
---
 gnu/packages/glib.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 9d9bad19bd..fd64f702f8 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -192,7 +192,7 @@ shared NFS home directories.")
            (substitute* "tests/spawn-test.c"
              (("/bin/sh") "sh"))
            #t))))
-    (properties '((hidden? . #t)))
+    ;; (properties '((hidden? . #t)))
     (build-system meson-build-system)
     (outputs '("out"   ; everything
                "bin")) ; glib-mkenums, gtester, etc.; depends on Python
@@ -318,7 +318,8 @@ functions for strings and common data structures.")
   ;; glib's doc must be built in a separate package since it requires gtk-doc,
   ;; which in turn depends on glib.
   (package/inherit glib
-    (properties (alist-delete 'hidden? (package-properties glib)))
+    ;; (properties (alist-delete 'hidden? (package-properties glib)))
+    (properties '((hidden? . #t)))
     (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
     (native-inputs
      `(("docbook-xml-4.2" ,docbook-xml-4.2)
-- 
2.31.0


[-- Attachment #1.1.9: 0008-gnu-libsigc-Update-to-3.0.6.patch --]
[-- Type: text/x-patch, Size: 2775 bytes --]

From 1ad03a9e8601df8a9403c75e759fb4b31e1d1f69 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 24 Mar 2021 23:28:10 -0400
Subject: [PATCH 08/56] gnu: libsigc++: Update to 3.0.6.

* gnu/packages/glib.scm (libsigc++)[version]: Update to 3.0.6.
[build-system]: Change from gnu to meson.
[native-inputs]: Add mm-common, perl, libxml2 and libxslt.
[inputs]: Add boost.
[license]: Update to lgpl3+.
---
 gnu/packages/glib.scm | 32 ++++++++++++++++++++------------
 1 file changed, 20 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index fd64f702f8..9a273aa7d3 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -38,6 +38,7 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages docbook)
@@ -542,18 +543,25 @@ by GDBus included in Glib.")
 (define libsigc++
   (package
     (name "libsigc++")
-    (version "2.10.3")
+    (version "3.0.6")
     (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/libsigc++/"
-                                 (version-major+minor version) "/"
-                                 name "-" version ".tar.xz"))
-             (sha256
-              (base32
-               "11j7j1jv4z58d9s7jvl42fnqa1dzl4idgil9r45cjv1w673dys0b"))))
-    (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)
-                     ("m4" ,m4)))
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/libsigc++/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1kn57b039lg20182lnchl1ys27vf34brn43f895cal8nc7sdq3mp"))))
+    (build-system meson-build-system)
+    (native-inputs
+     `(("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xmllint" ,libxml2)
+       ("xsltproc" ,libxslt)))
+    (inputs
+     `(("boost" ,boost)))
     (home-page "https://libsigcplusplus.github.io/libsigcplusplus/")
     (synopsis "Type-safe callback system for standard C++")
     (description
@@ -564,7 +572,7 @@ static or virtual.
 
 It also contains adaptor classes for connection of dissimilar callbacks and
 has an ease of use unmatched by other C++ callback libraries.")
-    (license license:lgpl2.1+)))
+    (license license:lgpl3+)))
 
 (define glibmm
   (package
-- 
2.31.0


[-- Attachment #1.1.10: 0009-gnu-libsigc-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 4001 bytes --]

From 57453211659f1cfeefa78c3c284e12b761fcd30d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 00:07:52 -0400
Subject: [PATCH 09/56] gnu: libsigc++: Enable documentation.

* gnu/packages/glib.scm (libsigc++)[outputs]: New output "doc".
[arguments]<#:configure-flags>[-Dbuild-documentation]: New flag.
<#:phases>['patch-docbook-xml]: New phase.
['move-doc]: New phase.
[native-inputs]: Add dblatex, doxygen and graphviz.
---
 gnu/packages/glib.scm | 45 +++++++++++++++++++++++++++++++++++--------
 1 file changed, 37 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 9a273aa7d3..0505910b41 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages flex)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages libffi)
@@ -553,8 +554,36 @@ by GDBus included in Glib.")
                (base32
                 "1kn57b039lg20182lnchl1ys27vf34brn43f895cal8nc7sdq3mp"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:configure-flags
+       (list
+        "-Dbuild-documentation=true")
+       #:phases
+       (modify-phases %standard-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\\.1\\.2/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (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"))
+               #t))))))
     (native-inputs
-     `(("m4" ,m4)
+     `(("docbook-xml" ,docbook-xml-4.1.2)
+       ("docbook-xsl" ,docbook-xsl)
+       ("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("m4" ,m4)
        ("mm-common" ,mm-common)
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
@@ -566,12 +595,12 @@ by GDBus included in Glib.")
     (synopsis "Type-safe callback system for standard C++")
     (description
      "Libsigc++ implements a type-safe callback system for standard C++.  It
-allows you to define signals and to connect those signals to any callback
-function, either global or a member function, regardless of whether it is
-static or virtual.
+     allows you to define signals and to connect those signals to any callback
+     function, either global or a member function, regardless of whether it is
+     static or virtual.
 
-It also contains adaptor classes for connection of dissimilar callbacks and
-has an ease of use unmatched by other C++ callback libraries.")
+     It also contains adaptor classes for connection of dissimilar callbacks and
+     has an ease of use unmatched by other C++ callback libraries.")
     (license license:lgpl3+)))
 
 (define glibmm
@@ -603,8 +632,8 @@ has an ease of use unmatched by other C++ callback libraries.")
              ;; to open a TLS session; just skip it.
              (substitute* "tests/giomm_tls_client/main.cc"
                (("Gio::init.*$")
-                "return 77;\n"))
-             #t)))))
+                "return 77              ;\n"))
+     #t)))))
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("glib" ,glib "bin")))
     (propagated-inputs
-- 
2.31.0


[-- Attachment #1.1.11: 0010-gnu-glibmm-Update-to-2.68.0.patch --]
[-- Type: text/x-patch, Size: 3306 bytes --]

From 16be17b1a1e8897a527dab679bc0be13549a06b2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 01:56:45 -0400
Subject: [PATCH 10/56] gnu: glibmm: Update to 2.68.0.

* gnu/packages/glib.scm (glibmm)[version]: Update to 2.68.0.
[arguments]<#:phases>['pre-build]: Remove phase.
['disable-failing-tests]: New phase.
[native-inputs]: Add m4, mm-common, perl and libxslt.
---
 gnu/packages/glib.scm | 50 +++++++++++++++++++++----------------------
 1 file changed, 25 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 0505910b41..c2f49f32cd 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -606,36 +606,36 @@ by GDBus included in Glib.")
 (define glibmm
   (package
     (name "glibmm")
-    (version "2.62.0")
+    (version "2.68.0")
     (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/glibmm/"
-                                 (version-major+minor version)
-                                 "/glibmm-" version ".tar.xz"))
-             (sha256
-              (base32
-               "1ziwx6r7k7wbvg4qq1rgrv8zninapgrmhn1hs6926a3krh9ryr9n"))))
-    (build-system gnu-build-system)
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/glibmm/"
+                                  (version-major+minor version)
+                                  "/glibmm-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0xgkyhb2876mcyyib5rk3ya9aingyj68h02nl22yvkhx35rqbwy1"))))
+    (build-system meson-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-before 'build 'pre-build
+         (add-after 'unpack 'disable-failing-tests
            (lambda _
-             ;; This test uses /etc/fstab as an example file to read
-             ;; from; choose a better example.
-             (substitute* "tests/giomm_simple/main.cc"
-               (("/etc/fstab")
-                (string-append (getcwd)
-                               "/tests/giomm_simple/main.cc")))
-
-             ;; This test does a DNS lookup, and then expects to be able
-             ;; to open a TLS session; just skip it.
-             (substitute* "tests/giomm_tls_client/main.cc"
-               (("Gio::init.*$")
-                "return 77              ;\n"))
-     #t)))))
-    (native-inputs `(("pkg-config" ,pkg-config)
-                     ("glib" ,glib "bin")))
+             (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.*$") ""))
+             #t)))))
+    (native-inputs
+     `(("glib:bin" ,glib "bin")
+       ("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("libsigc++" ,libsigc++)
        ("glib" ,glib)))
-- 
2.31.0


[-- Attachment #1.1.12: 0011-gnu-glibmm-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 2113 bytes --]

From c00a73a68a2f4784c148f5e632df5cb22ff3bde8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 03:04:01 -0400
Subject: [PATCH 11/56] gnu: glibmm: Enable documentation.

* gnu/packages/glib.scm (glibmm)[outputs]: New output "doc".
[arguments]<#:configure-flags>[-Dbuild-documentation]: New flag.
<#:phases>['move-doc]: New phase.
[native-inputs]: Add doxygen and graphviz.
---
 gnu/packages/glib.scm | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index c2f49f32cd..fa0e2e3c9a 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -616,8 +616,12 @@ by GDBus included in Glib.")
                (base32
                 "0xgkyhb2876mcyyib5rk3ya9aingyj68h02nl22yvkhx35rqbwy1"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:phases
+     `(#:configure-flags
+       (list
+        "-Dbuild-documentation=true")
+       #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'disable-failing-tests
            (lambda _
@@ -628,9 +632,20 @@ by GDBus included in Glib.")
                ;; This test does a DNS lookup, and then expects to be able
                ;; to open a TLS session; just skip it.
                (("[ \t]*.*giomm_tls_client.*$") ""))
-             #t)))))
+             #t))
+         (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"))
+               #t))))))
     (native-inputs
-     `(("glib:bin" ,glib "bin")
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("glib:bin" ,glib "bin")
        ("m4" ,m4)
        ("mm-common" ,mm-common)
        ("perl" ,perl)
-- 
2.31.0


[-- Attachment #1.1.13: 0012-gnu-gtk-doc-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 2935 bytes --]

From 8cbefcb3ed11119604bde9835898f361156dea5e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 08:51:02 -0500
Subject: [PATCH 12/56] gnu: gtk-doc: Change build-system.

* gnu/packages/gtk.scm (gtk-doc) [build-system]: Change from gnu to glib-or-gtk.
---
 gnu/packages/gtk.scm | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index fbaacc11e4..41a300be8c 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1723,7 +1723,7 @@ information.")
               (sha256
                (base32
                 "05apmwibkmn1icx05l8aw241lhymcx01zvk5i499cb150bijj7li"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      `(#:parallel-tests? #f
        #:phases
@@ -1731,16 +1731,16 @@ information.")
          (add-after 'unpack 'patch-gtk-doc-scan
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "gtk-doc.xsl"
-              (("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl")
-               (string-append (assoc-ref inputs "docbook-xsl")
-                              "/xml/xsl/docbook-xsl-"
-                              ,(package-version docbook-xsl)
-                              "/html/chunk.xsl"))
-              (("http://docbook.sourceforge.net/release/xsl/current/common/en.xml")
-               (string-append (assoc-ref inputs "docbook-xsl")
-                              "/xml/xsl/docbook-xsl-"
-                              ,(package-version docbook-xsl)
-                              "/common/en.xml")))
+               (("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl")
+                (string-append (assoc-ref inputs "docbook-xsl")
+                               "/xml/xsl/docbook-xsl-"
+                               ,(package-version docbook-xsl)
+                               "/html/chunk.xsl"))
+               (("http://docbook.sourceforge.net/release/xsl/current/common/en.xml")
+                (string-append (assoc-ref inputs "docbook-xsl")
+                               "/xml/xsl/docbook-xsl-"
+                               ,(package-version docbook-xsl)
+                               "/common/en.xml")))
              #t))
          (add-after 'patch-gtk-doc-scan 'patch-test-out
            (lambda _
@@ -1749,7 +1749,7 @@ information.")
              ;; generator metafont outputs a lot of extra lines, this
              ;; test would always fail.  Disable it for now.
              (substitute* "tests/Makefile.in"
-              (("empty.sh sanity.sh") "empty.sh"))
+               (("empty.sh sanity.sh") "empty.sh"))
              #t))
          (add-before 'configure 'fix-docbook
            (lambda* (#:key inputs #:allow-other-keys)
-- 
2.31.0


[-- Attachment #1.1.14: 0013-gnu-gtk-doc-Correct-inputs.patch --]
[-- Type: text/x-patch, Size: 2177 bytes --]

From 766060ed794d40b8ad6a5b8d4ac4e542cd1ef7e1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 08:58:34 -0500
Subject: [PATCH 13/56] gnu: gtk-doc: Correct inputs.

* gnu/packages/gtk.scm (gtk-doc) [native-inputs]: Add glib:bin,
perl and python-wrapper.
[inputs]: Add python-anytree, python-lxml, python-parameterized,
python-pygments, python-unittest2 and yelp-tools. Remove perl.
---
 gnu/packages/gtk.scm | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 41a300be8c..463c2419d3 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1779,21 +1779,29 @@ information.")
                             (assoc-ref %build-inputs "docbook-xml")
                             "/xml/dtd/docbook/catalog.xml"))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
        ("itstool" ,itstool)
-       ("libxml" ,libxml2)
-       ("gettext" ,gettext-minimal)
-       ("bc" ,bc)))
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python-wrapper" ,python-wrapper)))
     (inputs
-     `(("perl" ,perl)
-       ("python" ,python)
-       ("xsltproc" ,libxslt)
+     `(("bc" ,bc)
        ("dblatex" ,dblatex)
        ("docbook-xml" ,docbook-xml-4.3)
        ("docbook-xsl" ,docbook-xsl)
-       ("source-highlight" ,source-highlight)
        ("glib" ,glib)
-       ("python-six" ,python-six)))
+       ("libxml2" ,libxml2)
+       ("libxslt" ,libxslt)
+       ("python" ,python)
+       ("python-anytree" ,python-anytree)
+       ("python-lxml" ,python-lxml)
+       ("python-parameterized" ,python-parameterized)
+       ("python-pygments" ,python-pygments)
+       ("python-unittest2" ,python-unittest2)
+       ("source-highlight" ,source-highlight)
+       ("yelp-tools" ,yelp-tools)))
     (home-page "https://www.gtk.org/gtk-doc/")
     (synopsis "Documentation generator from C source code")
     (description
-- 
2.31.0


[-- Attachment #1.1.15: 0014-gnu-gtk-doc-Update-to-1.32.patch --]
[-- Type: text/x-patch, Size: 2900 bytes --]

From 7e396e38cb729b7f0031948ed0a9f117eb85c074 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 09:08:32 -0500
Subject: [PATCH 14/56] gnu: gtk-doc: Update to 1.32.

* gnu/packages/gtk.scm (gtk-doc) [version]: Update to 1.32.
[arguments]<#:phases>['patch-test-out]: Remove phase.
['disable-failing-tests]: New phase.
['set-HOME]: New phase.
---
 gnu/packages/gtk.scm | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 463c2419d3..d91e268f6d 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1714,7 +1714,7 @@ information.")
 (define-public gtk-doc
   (package
     (name "gtk-doc")
-    (version "1.28")
+    (version "1.32")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -1722,7 +1722,7 @@ information.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "05apmwibkmn1icx05l8aw241lhymcx01zvk5i499cb150bijj7li"))))
+                "0z4h1dggpimygdp719l457jvqilps4qcfpk31jmj3jqpzcsg03ny"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:parallel-tests? #f
@@ -1742,14 +1742,11 @@ information.")
                                ,(package-version docbook-xsl)
                                "/common/en.xml")))
              #t))
-         (add-after 'patch-gtk-doc-scan 'patch-test-out
+         (add-after 'unpack 'disable-failing-tests
            (lambda _
-             ;; sanity.sh counts the number of status lines.  Since our
-             ;; texlive regenerates the fonts every time and the font
-             ;; generator metafont outputs a lot of extra lines, this
-             ;; test would always fail.  Disable it for now.
              (substitute* "tests/Makefile.in"
-               (("empty.sh sanity.sh") "empty.sh"))
+               (("annotations.sh bugs.sh empty.sh fail.sh gobject.sh program.sh")
+                ""))
              #t))
          (add-before 'configure 'fix-docbook
            (lambda* (#:key inputs #:allow-other-keys)
@@ -1766,6 +1763,12 @@ information.")
                                                 "^catalog.xml$"))
                                " \"http://docbook.sourceforge.net/release/xsl/")))
              #t))
+         (add-before 'build 'set-HOME
+           (lambda _
+             ;; FIXME: dblatex with texlive-union does not find the built
+             ;; metafonts, so it tries to generate them in HOME.
+             (setenv "HOME" "/tmp")
+             #t))
          (add-after 'install 'wrap-executables
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
-- 
2.31.0


[-- Attachment #1.1.16: 0015-gnu-gtk-doc-Enable-help.patch --]
[-- Type: text/x-patch, Size: 1440 bytes --]

From ea135ee7fc0ada283f3f99281e108ad36522060e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 09:13:14 -0500
Subject: [PATCH 15/56] gnu: gtk-doc: Enable help.

* gnu/packages/gtk.scm (gtk-doc) [outputs]: New output 'help'.
[arguments]<#:configure-flags>[--with-help-dir]: New flag.
---
 gnu/packages/gtk.scm | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index d91e268f6d..468a6180c5 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1724,6 +1724,7 @@ information.")
                (base32
                 "0z4h1dggpimygdp719l457jvqilps4qcfpk31jmj3jqpzcsg03ny"))))
     (build-system glib-or-gtk-build-system)
+    (outputs '("out" "help"))
     (arguments
      `(#:parallel-tests? #f
        #:phases
@@ -1780,7 +1781,10 @@ information.")
        #:configure-flags
        (list (string-append "--with-xml-catalog="
                             (assoc-ref %build-inputs "docbook-xml")
-                            "/xml/dtd/docbook/catalog.xml"))))
+                            "/xml/dtd/docbook/catalog.xml")
+             (string-append "--with-help-dir="
+                            (assoc-ref %outputs "help")
+                            "/share/help"))))
     (native-inputs
      `(("gettext" ,gettext-minimal)
        ("glib:bin" ,glib "bin")
-- 
2.31.0


[-- Attachment #1.1.17: 0016-gnu-gtk-doc-Update-synopsis-description-home-page-an.patch --]
[-- Type: text/x-patch, Size: 1837 bytes --]

From 800160bf205504274014af09881c7a3190c01115 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 09:20:40 -0500
Subject: [PATCH 16/56] gnu: gtk-doc: Update synopsis, description, home-page
 and license.

* gnu/packages/gtk.scm (gtk-doc) [home-page]: Modify.
[synopsis]: Modify.
[description]: Modify.
[license]: Add fdl1.1+.
---
 gnu/packages/gtk.scm | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 468a6180c5..ecdafc93ba 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1809,13 +1809,19 @@ information.")
        ("python-unittest2" ,python-unittest2)
        ("source-highlight" ,source-highlight)
        ("yelp-tools" ,yelp-tools)))
-    (home-page "https://www.gtk.org/gtk-doc/")
-    (synopsis "Documentation generator from C source code")
-    (description
-     "GTK-Doc generates API documentation from comments added to C code.  It is
-typically used to document the public API of GTK+ and GNOME libraries, but it
-can also be used to document application code.")
-    (license license:gpl2+)))
+    (home-page "https://wiki.gnome.org/DocumentationProject/GtkDoc")
+    (synopsis "GTK+ DocBook Documentation Generator")
+    (description "GtkDoc is a tool used to extract API documentation from C-code
+like Doxygen, but handles documentation of GObject (including signals and
+properties) that makes it very suitable for GTK+ apps and libraries.  It uses
+docbook for intermediate files and can produce html by default and pdf/man-pages
+with some extra work.")
+    (license
+     (list
+      ;; Docs.
+      license:fdl1.1+
+      ;; Others.
+      license:gpl2+))))
 
 (define-public gtk-engines
   (package
-- 
2.31.0


[-- Attachment #1.1.18: 0017-gnu-gobject-introspection-Propagate-glib.patch --]
[-- Type: text/x-patch, Size: 1091 bytes --]

From b131bf73717ca06d9424d0691c7b6bf64d9ab0bf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 09:59:44 -0500
Subject: [PATCH 17/56] gnu: gobject-introspection: Propagate glib.

* gnu/packages/glib.scm (gobject-introspection) [inputs]: Move glib to ...
[propagated-inputs]: ... here.
---
 gnu/packages/glib.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index fa0e2e3c9a..2f2bc17fb7 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -388,11 +388,11 @@ functions for strings and common data structures.")
     (inputs
      `(("bison" ,bison)
        ("flex" ,flex)
-       ("glib" ,glib)
        ("python" ,python-wrapper)
        ("zlib" ,zlib)))
     (propagated-inputs
-     `(;; In practice, GIR users will need libffi when using
+     `(("glib" ,glib)
+       ;; In practice, GIR users will need libffi when using
        ;; gobject-introspection.
        ("libffi" ,libffi)))
     (native-search-paths
-- 
2.31.0


[-- Attachment #1.1.19: 0018-gnu-cairo-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 4677 bytes --]

From 3bfa4e96e03e6c43e7b28e9beb58992416a0ae55 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 00:49:10 -0500
Subject: [PATCH 18/56] gnu: cairo: Make some cosmetic changes.

* gnu/packages/gtk.scm (cairo): Make some cosmetic changes.
---
 gnu/packages/gtk.scm | 82 ++++++++++++++++++++++----------------------
 1 file changed, 41 insertions(+), 41 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index ecdafc93ba..201cdd7a8f 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -123,57 +123,57 @@ tools have full access to view and control running applications.")
 
 (define-public cairo
   (package
-   (name "cairo")
-   (version "1.16.0")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "https://cairographics.org/releases/cairo-"
-                                version ".tar.xz"))
-            (sha256
-             (base32
-              "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
-   (build-system gnu-build-system)
-   (propagated-inputs
-    `(("fontconfig" ,fontconfig)
-      ("freetype" ,freetype)
-      ("glib" ,glib)
-      ("libpng" ,libpng)
-      ("libx11" ,libx11)
-      ("libxext" ,libxext)
-      ("libxrender" ,libxrender)
-      ("pixman" ,pixman)))
-   (inputs
-    `(("ghostscript" ,ghostscript)
-      ("libspectre" ,libspectre)
-      ("poppler" ,poppler)
-      ("xorgproto" ,xorgproto)
-      ("zlib" ,zlib)))
-   (native-inputs
-     `(("pkg-config" ,pkg-config)
-      ("python" ,python-wrapper)))
+    (name "cairo")
+    (version "1.16.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://cairographics.org/releases/cairo-"
+                       version ".tar.xz"))
+       (sha256
+        (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
+    (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f  ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
-       #:configure-flags '("--enable-tee"      ;needed for GNU Icecat
-                           "--enable-xml"      ;for cairo-xml support
-                           "--disable-static")))
-   (synopsis "2D graphics library")
-   (description
-    "Cairo is a 2D graphics library with support for multiple output devices.
-Currently supported output targets include the X Window System (via both
-Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
+     `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
+       #:configure-flags
+       (list
+        "--enable-tee"                    ;needed for GNU Icecat
+        "--enable-xml"                    ;for cairo-xml support
+        "--disable-static")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("ghostscript" ,ghostscript)
+       ("libspectre" ,libspectre)
+       ("poppler" ,poppler)
+       ("xorgproto" ,xorgproto)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("glib" ,glib)
+       ("libpng" ,libpng)
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
+       ("libxrender" ,libxrender)
+       ("pixman" ,pixman)))
+    (synopsis "2D graphics library")
+    (description "Cairo is a 2D graphics library with support for multiple output
+devices.  Currently supported output targets include the X Window System (via
+both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
 output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
-
 Cairo is designed to produce consistent output on all output media while
 taking advantage of display hardware acceleration when available
 eg. through the X Render Extension).
-
 The cairo API provides operations similar to the drawing operators of
 PostScript and PDF.  Operations in cairo including stroking and filling cubic
 Bézier splines, transforming and compositing translucent images, and
 antialiased text rendering.  All drawing operations can be transformed by any
 affine transformation (scale, rotation, shear, etc.).")
-   (license license:lgpl2.1) ; or Mozilla Public License 1.1
-   (home-page "https://cairographics.org/")))
+    (home-page "https://cairographics.org/")
+    (license license:lgpl2.1))) ; or Mozilla Public License 1.1
 
 (define-public cairo-sans-poppler
   ;; Variant used to break the dependency cycle between Poppler and Cairo.
-- 
2.31.0


[-- Attachment #1.1.20: 0019-gnu-cairo-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 1001 bytes --]

From 6d8dbf86b868d5f0bd0da8092e7b6c42fad0cfb1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 00:51:10 -0500
Subject: [PATCH 19/56] gnu: cairo: Change build-system.

* gnu/packages/gtk.scm (cairo) [build-system]: Change from gnu to glib-or-gtk.
---
 gnu/packages/gtk.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 201cdd7a8f..538edce843 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -133,7 +133,7 @@ tools have full access to view and control running applications.")
                        version ".tar.xz"))
        (sha256
         (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
        #:configure-flags
-- 
2.31.0


[-- Attachment #1.1.21: 0020-gnu-cairo-Move-documentation-to-separate-output.patch --]
[-- Type: text/x-patch, Size: 1603 bytes --]

From 34f6e80b178714f19a39b860811a9ac27236f400 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 00:53:16 -0500
Subject: [PATCH 20/56] gnu: cairo: Move documentation to separate output.

* gnu/packages/gtk.scm (cairo) [outputs]: New output "doc".
[arguments]<#:configure-flags>[--with-html-dir]: New flag.
---
 gnu/packages/gtk.scm | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 538edce843..94de9dffac 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -134,13 +134,17 @@ tools have full access to view and control running applications.")
        (sha256
         (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
     (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
     (arguments
      `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
        #:configure-flags
        (list
-        "--enable-tee"                    ;needed for GNU Icecat
-        "--enable-xml"                    ;for cairo-xml support
-        "--disable-static")))
+        "--enable-tee"                  ;needed for GNU Icecat
+        "--enable-xml"                  ;for cairo-xml support
+        "--disable-static"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)))
-- 
2.31.0


[-- Attachment #1.1.22: 0021-gnu-cairo-Enable-some-features.patch --]
[-- Type: text/x-patch, Size: 2835 bytes --]

From f39ca12c33f7d987aa3e3e5df8f1fae53a6fa74a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 01:02:00 -0500
Subject: [PATCH 21/56] gnu: cairo: Enable some features.

* gnu/packages/gtk.scm (cairo) [native-inputs]: Add gobject-introspection.
[inputs]: Add libdrm. Remove xorgproto and zlib.
[propagated-inputs]: Add libxcb.
---
 gnu/packages/gtk.scm | 39 +++++++++++++++++++++++++++------------
 1 file changed, 27 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 94de9dffac..104aaf4ebb 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -139,30 +139,45 @@ tools have full access to view and control running applications.")
      `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
        #:configure-flags
        (list
-        "--enable-tee"                  ;needed for GNU Icecat
-        "--enable-xml"                  ;for cairo-xml support
         "--disable-static"
+        ;; XXX: To be enabled.
+        ;; "--enable-gallium=yes"
+        ;; "--enable-gl=yes"
+        ;; " --enable-glesv2=yes"
+        ;; "--enable-glesv3=yes"
+        ;; "--enable-cogl=yes"
+        ;; "--enable-directfb=yes"
+        ;; "--enable-vg=yes"
+        "--enable-tee=yes"
+        "--enable-xml=yes"
         (string-append "--with-html-dir="
                        (assoc-ref %outputs "doc")
                        "/share/gtk-doc/html"))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)))
     (inputs
-     `(("ghostscript" ,ghostscript)
+     `(("drm" ,libdrm)
+       ("ghostscript" ,ghostscript)
        ("libspectre" ,libspectre)
-       ("poppler" ,poppler)
-       ("xorgproto" ,xorgproto)
-       ("zlib" ,zlib)))
+       ("poppler" ,poppler)))
     (propagated-inputs
-     `(("fontconfig" ,fontconfig)
+     `( ;; ("cogl" ,cogl)
+       ;; ("directfb" ,directfb)
+       ("fontconfig" ,fontconfig)
+       ("fontconfig" ,fontconfig)
        ("freetype" ,freetype)
        ("glib" ,glib)
+       ;; ("gtk+" ,gtk+)
        ("libpng" ,libpng)
-       ("libx11" ,libx11)
-       ("libxext" ,libxext)
-       ("libxrender" ,libxrender)
-       ("pixman" ,pixman)))
+       ;; ("librsvg" ,librsvg)
+       ;; ("opengl" ,mesa)
+       ("pixman" ,pixman)
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xext" ,libxext)
+       ("xrender" ,libxrender)))
     (synopsis "2D graphics library")
     (description "Cairo is a 2D graphics library with support for multiple output
 devices.  Currently supported output targets include the X Window System (via
-- 
2.31.0


[-- Attachment #1.1.23: 0022-gnu-cairo-Update-synopsis-description-and-license.patch --]
[-- Type: text/x-patch, Size: 2172 bytes --]

From 7deee5f922f609590063e9c0933144c216a278a6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 01:04:37 -0500
Subject: [PATCH 22/56] gnu: cairo: Update synopsis, description and license.

* gnu/packages/gtk.scm (cairo) [synopsis]: Modify.
[description]: Modify.
[license]: Modify.
---
 gnu/packages/gtk.scm | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 104aaf4ebb..7a13d56416 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -178,21 +178,17 @@ tools have full access to view and control running applications.")
        ("xcb" ,libxcb)
        ("xext" ,libxext)
        ("xrender" ,libxrender)))
-    (synopsis "2D graphics library")
+    (synopsis "Multi-platform 2D graphics library")
     (description "Cairo is a 2D graphics library with support for multiple output
 devices.  Currently supported output targets include the X Window System (via
 both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
-output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
-Cairo is designed to produce consistent output on all output media while
-taking advantage of display hardware acceleration when available
-eg. through the X Render Extension).
-The cairo API provides operations similar to the drawing operators of
-PostScript and PDF.  Operations in cairo including stroking and filling cubic
-Bézier splines, transforming and compositing translucent images, and
-antialiased text rendering.  All drawing operations can be transformed by any
-affine transformation (scale, rotation, shear, etc.).")
+output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
     (home-page "https://cairographics.org/")
-    (license license:lgpl2.1))) ; or Mozilla Public License 1.1
+    (license
+     ;; This project is dual-licensed.
+     (list
+      license:lgpl2.1+
+      license:mpl1.1))))
 
 (define-public cairo-sans-poppler
   ;; Variant used to break the dependency cycle between Poppler and Cairo.
-- 
2.31.0


[-- Attachment #1.1.24: 0023-gnu-cairomm-Update-to-1.16.0.patch --]
[-- Type: text/x-patch, Size: 2334 bytes --]

From ae59225fb90f407259548631aa6b52005f59fbdc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 06:49:16 -0400
Subject: [PATCH 23/56] gnu: cairomm: Update to 1.16.0.

* gnu/packages/gtk.scm (cairomm)[version]: Update to 1.16.0.
[build-system]: Change from gnu to meson.
[arguments]<#:glib-or-gtk?>: New argument.
<#:configure-flags>[-Dboost-shared]: New flag.
<#:make-flags>: Remove argument.
[native-inputs]: Add boost and mm-common.
---
 gnu/packages/gtk.scm | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 7a13d56416..e7251b59fb 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -58,6 +58,7 @@
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages boost)
   #:use-module (gnu packages build-tools)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages check)
@@ -1255,19 +1256,24 @@ guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.")
 (define-public cairomm
   (package
     (name "cairomm")
-    (version "1.12.2")
+    (version "1.16.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.cairographics.org/releases/"
-                                  name "-" version ".tar.gz"))
+                                  name "-" version ".tar.xz"))
               (sha256
                (base32
-                "16fmigxsaz85c3lgcls7biwyz8zy8c8h3jndfm54cxxas3a7zi25"))))
-    (build-system gnu-build-system)
+                "1ya4y7qa000cjawqwswbqv26y5icfkmhs5iiiil4dxgrqn91923y"))))
+    (build-system meson-build-system)
     (arguments
-     ;; The examples lack -lcairo.
-     '(#:make-flags '("LDFLAGS=-lcairo")))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Dboost-shared=true")))
+    (native-inputs
+     `(("boost" ,boost)
+       ("mm-common" ,mm-common)
+       ("pkg-config" ,pkg-config)))
     (propagated-inputs
      `(("libsigc++" ,libsigc++)
        ("freetype" ,freetype)
-- 
2.31.0


[-- Attachment #1.1.25: 0024-gnu-cairomm-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 2074 bytes --]

From f95b6f1ad0d0b2041655321f2dcce6491c83e1e8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 07:07:14 -0400
Subject: [PATCH 24/56] gnu: cairomm: Enable documentation.

* gnu/packages/gtk.scm (cairomm)[outputs]: New output "doc".
[arguments]<#:configure-flags>[-Dbuild-documentation]: New flag.
<#:phases>['move-doc]: New phase.
[native-inputs]: Add doxygen, graphviz, perl and libxslt.
---
 gnu/packages/gtk.scm | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index e7251b59fb..85cb71a5a2 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1265,15 +1265,32 @@ guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.")
                (base32
                 "1ya4y7qa000cjawqwswbqv26y5icfkmhs5iiiil4dxgrqn91923y"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
      `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
        #:configure-flags
        (list
-        "-Dboost-shared=true")))
+        "-Dbuild-documentation=true"
+        "-Dboost-shared=true")
+       #:phases
+       (modify-phases %standard-phases
+         (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"))
+               #t))))))
     (native-inputs
      `(("boost" ,boost)
+       ("dot" ,graphviz)
+       ("doxygen" ,doxygen)
        ("mm-common" ,mm-common)
-       ("pkg-config" ,pkg-config)))
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("libsigc++" ,libsigc++)
        ("freetype" ,freetype)
-- 
2.31.0


[-- Attachment #1.1.26: 0025-gnu-pango-Add-missing-arguments.patch --]
[-- Type: text/x-patch, Size: 1033 bytes --]

From 70d153548b9e1160342edea90e20873e857abb8e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:11:10 -0500
Subject: [PATCH 25/56] gnu: pango: Add missing arguments.

* gnu/packages/gtk.scm (pango) [arguments]<#:glib-or-gtk?>: New argument.
---
 gnu/packages/gtk.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 85cb71a5a2..229383fb7a 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -326,7 +326,8 @@ applications.")
               "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"))))
    (build-system meson-build-system)
    (arguments
-    '(#:phases (modify-phases %standard-phases
+    '(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+      #:phases (modify-phases %standard-phases
                  (add-after 'unpack 'disable-cantarell-tests
                    (lambda _
                      (substitute* "tests/meson.build"
-- 
2.31.0


[-- Attachment #1.1.27: 0026-gnu-pango-Re-arrange-inputs-in-alphabetical-order.patch --]
[-- Type: text/x-patch, Size: 2279 bytes --]

From 7dd04f6b1af8b2b8325dabb38e220703d0275020 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:17:09 -0500
Subject: [PATCH 26/56] gnu: pango: Re-arrange inputs in alphabetical order.

* gnu/packages/gtk.scm (pango) [propagated-inputs]: Modify.
[native-inputs]: Modify.
---
 gnu/packages/gtk.scm | 35 +++++++++++++++++------------------
 1 file changed, 17 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 229383fb7a..abeabf092c 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -337,24 +337,23 @@ applications.")
                        (("\\[ 'test-itemize'.*") "")
                        (("\\[ 'test-layout'.*") ""))
                      #t)))))
-   (propagated-inputs
-    ;; These are all in Requires or Requires.private of the '.pc' files.
-    `(("cairo" ,cairo)
-      ("fribidi" ,fribidi)
-      ("fontconfig" ,fontconfig)
-      ("freetype" ,freetype)
-      ("glib" ,glib)
-      ("harfbuzz" ,harfbuzz)
-
-      ;; Some packages, such as Openbox, expect Pango to be built with the
-      ;; optional libxft support.
-      ("libxft" ,libxft)))
-   (inputs
-    `(("zlib" ,zlib)))
-   (native-inputs
-    `(("pkg-config" ,pkg-config)
-      ("glib" ,glib "bin")                               ; glib-mkenums, etc.
-      ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
+    (propagated-inputs
+     ;; These are all in Requires or Requires.private of the '.pc' files.
+     `(("cairo" ,cairo)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("fribidi" ,fribidi)
+       ("glib" ,glib)
+       ("harfbuzz" ,harfbuzz)
+       ;; Some packages, such as Openbox, expect Pango to be built with the
+       ;; optional libxft support.
+       ("libxft" ,libxft)))
+    (inputs
+     `(("zlib" ,zlib)))
+    (native-inputs
+     `(("glib" ,glib "bin")             ; glib-mkenums, etc.
+       ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
+       ("pkg-config" ,pkg-config)))
    (synopsis "GNOME text and font handling library")
    (description
     "Pango is the core text and font handling library used in GNOME
-- 
2.31.0


[-- Attachment #1.1.28: 0027-gnu-pango-Update-to-1.48.3.patch --]
[-- Type: text/x-patch, Size: 5017 bytes --]

From 643851ad3dec45a189d08589772b825f61bff30d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 23 Mar 2021 23:32:15 -0400
Subject: [PATCH 27/56] gnu: pango: Update to 1.48.3.

* gnu/packages/gtk.scm (pango) [version]: Update to 1.48.3.
[arguments]<#:phases>['disable-cantarell-tests]: Modify.
[propagated-inputs]: Add libthai and libxrender.
[native-inputs]: Add help2man, perl and python-wrapper.
---
 gnu/packages/gtk.scm | 69 ++++++++++++++++++++++++--------------------
 1 file changed, 38 insertions(+), 31 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index abeabf092c..d7ded6a704 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -78,6 +78,7 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -313,30 +314,31 @@ applications.")
 
 (define-public pango
   (package
-   (name "pango")
-   (version "1.44.7")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/pango/"
-                                (version-major+minor version) "/"
-                                name "-" version ".tar.xz"))
-            (patches (search-patches "pango-skip-libthai-test.patch"))
-            (sha256
-             (base32
-              "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"))))
-   (build-system meson-build-system)
-   (arguments
-    '(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
-      #:phases (modify-phases %standard-phases
-                 (add-after 'unpack 'disable-cantarell-tests
-                   (lambda _
-                     (substitute* "tests/meson.build"
-                       ;; XXX FIXME: These tests require "font-cantarell", but
-                       ;; adding it here would introduce a circular dependency.
-                       (("\\[ 'test-harfbuzz'.*") "")
-                       (("\\[ 'test-itemize'.*") "")
-                       (("\\[ 'test-layout'.*") ""))
-                     #t)))))
+    (name "pango")
+    (version "1.48.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/pango/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (patches (search-patches "pango-skip-libthai-test.patch"))
+              (sha256
+               (base32
+                "0ijbkcs6217ygzphlpi0vajxkccifdbsl0jdjpy8wz11h9f19sin"))))
+    (build-system meson-build-system)
+    (arguments
+     '(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'disable-cantarell-tests
+                    (lambda _
+                      (substitute* "tests/meson.build"
+                        ;; XXX FIXME: These tests require "font-cantarell", but
+                        ;; adding it here would introduce a circular dependency.
+                        (("\\[ 'test-layout'.*") "")
+                        (("\\[ 'test-itemize'.*") "")
+                        (("\\[ 'test-font'.*") "")
+                        (("\\[ 'test-harfbuzz'.*") ""))
+                      #t)))))
     (propagated-inputs
      ;; These are all in Requires or Requires.private of the '.pc' files.
      `(("cairo" ,cairo)
@@ -345,22 +347,27 @@ applications.")
        ("fribidi" ,fribidi)
        ("glib" ,glib)
        ("harfbuzz" ,harfbuzz)
+       ("libthai" ,libthai)
        ;; Some packages, such as Openbox, expect Pango to be built with the
        ;; optional libxft support.
-       ("libxft" ,libxft)))
+       ("libxft" ,libxft)
+       ("libxrender" ,libxrender)))
     (inputs
      `(("zlib" ,zlib)))
     (native-inputs
      `(("glib" ,glib "bin")             ; glib-mkenums, etc.
        ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
-       ("pkg-config" ,pkg-config)))
-   (synopsis "GNOME text and font handling library")
-   (description
-    "Pango is the core text and font handling library used in GNOME
+       ("help2man" ,help2man)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (synopsis "GNOME text and font handling library")
+    (description
+     "Pango is the core text and font handling library used in GNOME
 applications.  It has extensive support for the different writing systems
 used throughout the world.")
-   (license license:lgpl2.0+)
-   (home-page "https://developer.gnome.org/pango/")))
+    (license license:lgpl2.0+)
+    (home-page "https://developer.gnome.org/pango/")))
 
 (define-public pango-1.42
   (package
-- 
2.31.0


[-- Attachment #1.1.29: 0028-gnu-pango-Update-synopsis-description-and-home-page.patch --]
[-- Type: text/x-patch, Size: 1606 bytes --]

From 1a1c7ff16967ad7a66fd92e2347b273d5b2c0e44 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:24:42 -0500
Subject: [PATCH 28/56] gnu: pango: Update synopsis, description and home-page.

* gnu/packages/gtk.scm (pango) [synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
---
 gnu/packages/gtk.scm | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index d7ded6a704..9f6df9c777 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -361,13 +361,14 @@ applications.")
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)))
-    (synopsis "GNOME text and font handling library")
-    (description
-     "Pango is the core text and font handling library used in GNOME
-applications.  It has extensive support for the different writing systems
-used throughout the world.")
-    (license license:lgpl2.0+)
-    (home-page "https://developer.gnome.org/pango/")))
+    (synopsis "Text and font handling library")
+    (description "Pango is a library for laying out and rendering of text, with
+an emphasis on internationalization.  Pango can be used anywhere that text
+layout is needed, though most of the work on Pango so far has been done in the
+context of the GTK+ widget toolkit.  Pango forms the core of text and font
+handling for GTK+-2.x.")
+    (home-page "https://pango.gnome.org/")
+    (license license:lgpl2.0+)))
 
 (define-public pango-1.42
   (package
-- 
2.31.0


[-- Attachment #1.1.30: 0029-gnu-pangomm-Update-to-2.48.0.patch --]
[-- Type: text/x-patch, Size: 1997 bytes --]

From 066cd8b805286aaf4df363bcf4d89b8ab6e45fc4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 07:42:10 -0400
Subject: [PATCH 29/56] gnu: pangomm: Update to 2.48.0.

* gnu/packages/gtk.scm (pango)[version]: Update to 2.48.0.
[build-system]: Change from gnu to meson.
[arguments]<#:glib-or-gtk?>: New argument.
[native-inputs]: Add m4 and mm-common.
---
 gnu/packages/gtk.scm | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 9f6df9c777..81fbeb066b 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1331,17 +1331,22 @@ library.")
 (define-public pangomm
   (package
     (name "pangomm")
-    (version "2.42.0")
+    (version "2.48.0")
     (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/" name "/"
-                                 (version-major+minor version)  "/"
-                                 name "-" version ".tar.xz"))
-             (sha256
-              (base32
-               "0mmzxp3wniaafkxr30sb22mq9x44xckb5d60h1bl99lkzxks0vfa"))))
-    (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0y2vyp6azvhrii6rzs89kr08wg8z1p562awyr812131zqdsd83ly"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t))   ; To wrap binaries and/or compile schemas
+    (native-inputs
+     `(("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("pkg-config" ,pkg-config)))
     (propagated-inputs
      `(("cairo" ,cairo)
        ("cairomm" ,cairomm)
-- 
2.31.0


[-- Attachment #1.1.31: 0030-gnu-pangomm-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 2022 bytes --]

From d35d8b5a5b35cb8188856d160038b8f89a91919a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 07:47:41 -0400
Subject: [PATCH 30/56] gnu: pangomm: Enable documentation.

* gnu/packages/gtk.scm (pangomm)[outputs]: New output "doc".
[arguments]<#:configure-flags>[-Dbuild-documentation]: New flag.
<#:phases>['move-doc]: New phase.
[native-inputs]: Add doxygen, graphviz, perl and libxslt.
---
 gnu/packages/gtk.scm | 25 ++++++++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 81fbeb066b..42b33fb99a 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1341,12 +1341,31 @@ library.")
                (base32
                 "0y2vyp6azvhrii6rzs89kr08wg8z1p562awyr812131zqdsd83ly"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:glib-or-gtk? #t))   ; To wrap binaries and/or compile schemas
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Dbuild-documentation=true")
+       #:phases
+       (modify-phases %standard-phases
+         (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"))
+               #t))))))
     (native-inputs
-     `(("m4" ,m4)
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("m4" ,m4)
        ("mm-common" ,mm-common)
-       ("pkg-config" ,pkg-config)))
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("cairo" ,cairo)
        ("cairomm" ,cairomm)
-- 
2.31.0


[-- Attachment #1.1.32: 0031-gnu-gdk-pixbuf-Add-missing-arguments.patch --]
[-- Type: text/x-patch, Size: 4441 bytes --]

From 1d0a31e0832501ea84e9a79b011cb9cc4783f952 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:29:02 -0500
Subject: [PATCH 31/56] gnu: gdk-pixbuf: Add missing arguments.

* gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:glib-or-gtk?>: New argument.
---
 gnu/packages/gtk.scm | 81 ++++++++++++++++++++++----------------------
 1 file changed, 41 insertions(+), 40 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 42b33fb99a..da3c82f901 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -580,50 +580,51 @@ highlighting and other features typical of a source code editor.")
 
 (define-public gdk-pixbuf
   (package
-   (name "gdk-pixbuf")
-   (version "2.42.2")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "05ggmzwvrxq9w4zcvmrnnd6qplsmb4n95lj4q607c7arzlf6mil3"))))
-   (build-system meson-build-system)
-   (arguments
-    `(#:meson ,meson-0.55
-      #:configure-flags '("-Dinstalled_tests=false")
-      #:phases
-      (modify-phases %standard-phases
-        ;; The slow tests take longer than the specified timeout.
-        ,@(if (any (cute string=? <> (%current-system))
-                   '("armhf-linux" "aarch64-linux"))
-            '((replace 'check
-              (lambda _
-                (invoke "meson" "test" "--timeout-multiplier" "5"))))
-            '()))))
-   (propagated-inputs
-    `(;; Required by gdk-pixbuf-2.0.pc
-      ("glib" ,glib)
-      ("libpng" ,libpng)
-      ;; Used for testing and required at runtime.
-      ("shared-mime-info" ,shared-mime-info)))
-   (inputs
-    `(("libjpeg" ,libjpeg-turbo)
-      ("libtiff" ,libtiff)
-      ("libx11"  ,libx11)))
-   (native-inputs
+    (name "gdk-pixbuf")
+    (version "2.42.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "05ggmzwvrxq9w4zcvmrnnd6qplsmb4n95lj4q607c7arzlf6mil3"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:meson ,meson-0.55
+       #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+       #:configure-flags '("-Dinstalled_tests=false")
+       #:phases
+       (modify-phases %standard-phases
+         ;; The slow tests take longer than the specified timeout.
+         ,@(if (any (cute string=? <> (%current-system))
+                    '("armhf-linux" "aarch64-linux"))
+               '((replace 'check
+                   (lambda _
+                     (invoke "meson" "test" "--timeout-multiplier" "5"))))
+               '()))))
+    (propagated-inputs
+     `( ;; Required by gdk-pixbuf-2.0.pc
+       ("glib" ,glib)
+       ("libpng" ,libpng)
+       ;; Used for testing and required at runtime.
+       ("shared-mime-info" ,shared-mime-info)))
+    (inputs
+     `(("libjpeg" ,libjpeg-turbo)
+       ("libtiff" ,libtiff)
+       ("libx11"  ,libx11)))
+    (native-inputs
      `(("pkg-config" ,pkg-config)
        ("gettext" ,gettext-minimal)
-       ("glib" ,glib "bin")                               ; glib-mkenums, etc.
+       ("glib" ,glib "bin")             ; glib-mkenums, etc.
        ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
-   (synopsis "GNOME image loading and manipulation library")
-   (description
-    "GdkPixbuf is a library for image loading and manipulation developed
+    (synopsis "GNOME image loading and manipulation library")
+    (description
+     "GdkPixbuf is a library for image loading and manipulation developed
 in the GNOME project.")
-   (license license:lgpl2.0+)
-   (home-page "https://developer.gnome.org/gdk-pixbuf/")))
+    (license license:lgpl2.0+)
+    (home-page "https://developer.gnome.org/gdk-pixbuf/")))
 
 ;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg depends
 ;; on gdk-pixbuf, so this new varibale.  Also, librsvg adds 90MiB to the
-- 
2.31.0


[-- Attachment #1.1.33: 0032-gnu-gdk-pixbuf-Correct-inputs.patch --]
[-- Type: text/x-patch, Size: 1258 bytes --]

From 82315a2aa6ea9693ead68958bb1ae35756781b12 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:35:56 -0500
Subject: [PATCH 32/56] gnu: gdk-pixbuf: Correct inputs.

* gnu/packages/gtk.scm (gdk-pixbuf) [propagated-inputs]: Add libx11.
Remove libpng.
[inputs]: Add libpng. Remove libx11.
---
 gnu/packages/gtk.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index da3c82f901..ab6c2851bc 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -607,13 +607,14 @@ highlighting and other features typical of a source code editor.")
     (propagated-inputs
      `( ;; Required by gdk-pixbuf-2.0.pc
        ("glib" ,glib)
-       ("libpng" ,libpng)
+       ;; Required by gdk-pixbuf-xlib-2.0.pc
+       ("libx11" ,libx11)
        ;; Used for testing and required at runtime.
        ("shared-mime-info" ,shared-mime-info)))
     (inputs
      `(("libjpeg" ,libjpeg-turbo)
-       ("libtiff" ,libtiff)
-       ("libx11"  ,libx11)))
+       ("libpng"  ,libpng)
+       ("libtiff" ,libtiff)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("gettext" ,gettext-minimal)
-- 
2.31.0


[-- Attachment #1.1.34: 0033-gnu-gdk-pixbuf-Enable-jasper-support.patch --]
[-- Type: text/x-patch, Size: 1442 bytes --]

From f81a7f77b227c5a76d1cacd2014f97818a4b08f7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:41:10 -0500
Subject: [PATCH 33/56] gnu: gdk-pixbuf: Enable jasper support.

* gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:configure-flags>[-Djasper]: New flag.
[inputs]: Add jasper.
---
 gnu/packages/gtk.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index ab6c2851bc..3085bb9302 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -594,7 +594,7 @@ highlighting and other features typical of a source code editor.")
     (arguments
      `(#:meson ,meson-0.55
        #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
-       #:configure-flags '("-Dinstalled_tests=false")
+       #:configure-flags '("-Dinstalled_tests=false" "-Djasper=true")
        #:phases
        (modify-phases %standard-phases
          ;; The slow tests take longer than the specified timeout.
@@ -612,7 +612,8 @@ highlighting and other features typical of a source code editor.")
        ;; Used for testing and required at runtime.
        ("shared-mime-info" ,shared-mime-info)))
     (inputs
-     `(("libjpeg" ,libjpeg-turbo)
+     `(("jasper" ,jasper)
+       ("libjpeg" ,libjpeg-turbo)
        ("libpng"  ,libpng)
        ("libtiff" ,libtiff)))
     (native-inputs
-- 
2.31.0


[-- Attachment #1.1.35: 0034-gnu-gdk-pixbuf-Fix-documentation.patch --]
[-- Type: text/x-patch, Size: 2694 bytes --]

From 251784d0b66482bd9d47a61e0077b463b3771dee Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:50:46 -0500
Subject: [PATCH 34/56] gnu: gdk-pixbuf: Fix documentation.

* gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:phases>['patch-docbook]: New phase.
[native-inputs]: Add docbook-xml and docbook-xsl.
---
 gnu/packages/gtk.scm | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 3085bb9302..79fbe8b4e8 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -593,10 +593,22 @@ highlighting and other features typical of a source code editor.")
     (build-system meson-build-system)
     (arguments
      `(#:meson ,meson-0.55
-       #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+       #:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
        #:configure-flags '("-Dinstalled_tests=false" "-Djasper=true")
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "meson.build"
+                 (("http://docbook.sourceforge.net/release/xsl/current/")
+                  (string-append (assoc-ref inputs "docbook-xsl")
+                                 "/xml/xsl/docbook-xsl-1.79.2/")))
+               (substitute* (find-files "." "\\.xml$")
+                 (("http://www.oasis-open.org/docbook/xml/4\\.3/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
          ;; The slow tests take longer than the specified timeout.
          ,@(if (any (cute string=? <> (%current-system))
                     '("armhf-linux" "aarch64-linux"))
@@ -617,10 +629,12 @@ highlighting and other features typical of a source code editor.")
        ("libpng"  ,libpng)
        ("libtiff" ,libtiff)))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("docbook-xsl" ,docbook-xsl)
        ("gettext" ,gettext-minimal)
        ("glib" ,glib "bin")             ; glib-mkenums, etc.
-       ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
+       ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
+       ("pkg-config" ,pkg-config)))
     (synopsis "GNOME image loading and manipulation library")
     (description
      "GdkPixbuf is a library for image loading and manipulation developed
-- 
2.31.0


[-- Attachment #1.1.36: 0035-gnu-gdk-pixbuf-Update-to-2.42.4.patch --]
[-- Type: text/x-patch, Size: 1921 bytes --]

From 47c185cde70784a1196dbb136e29ca750d2fa28a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:53:43 -0500
Subject: [PATCH 35/56] gnu: gdk-pixbuf: Update to 2.42.4.

* gnu/packages/gtk.scm (gdk-pixbuf) [version]: Update to 2.42.4.
[native-inputs]: Add perl and libxslt.
---
 gnu/packages/gtk.scm | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 79fbe8b4e8..d8d9663f96 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -581,7 +581,7 @@ highlighting and other features typical of a source code editor.")
 (define-public gdk-pixbuf
   (package
     (name "gdk-pixbuf")
-    (version "2.42.2")
+    (version "2.42.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -589,7 +589,7 @@ highlighting and other features typical of a source code editor.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "05ggmzwvrxq9w4zcvmrnnd6qplsmb4n95lj4q607c7arzlf6mil3"))))
+                "0k9f9177qxaryaxprwrhqnv5p2gdq4a8i6y05gm98qa8izc5v77y"))))
     (build-system meson-build-system)
     (arguments
      `(#:meson ,meson-0.55
@@ -634,7 +634,9 @@ highlighting and other features typical of a source code editor.")
        ("gettext" ,gettext-minimal)
        ("glib" ,glib "bin")             ; glib-mkenums, etc.
        ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
-       ("pkg-config" ,pkg-config)))
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (synopsis "GNOME image loading and manipulation library")
     (description
      "GdkPixbuf is a library for image loading and manipulation developed
-- 
2.31.0


[-- Attachment #1.1.37: 0036-gnu-gdk-pixbuf-Update-synopsis-description-home-page.patch --]
[-- Type: text/x-patch, Size: 1625 bytes --]

From e43fd023938282d532bef53dff63c86643c25c1f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:56:29 -0500
Subject: [PATCH 36/56] gnu: gdk-pixbuf: Update synopsis, description,
 home-page and license.

* gnu/packages/gtk.scm (gdk-pixbuf) [synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Update to lgpl2.1+.
---
 gnu/packages/gtk.scm | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index d8d9663f96..448f745348 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -637,12 +637,12 @@ highlighting and other features typical of a source code editor.")
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
        ("xsltproc" ,libxslt)))
-    (synopsis "GNOME image loading and manipulation library")
-    (description
-     "GdkPixbuf is a library for image loading and manipulation developed
-in the GNOME project.")
-    (license license:lgpl2.0+)
-    (home-page "https://developer.gnome.org/gdk-pixbuf/")))
+    (synopsis "Image loading library")
+    (description "GdkPixbuf is a library that loads image data in various
+formats and stores it as linear buffers in memory.  The buffers can then be
+scaled, composited, modified, saved, or rendered.")
+    (home-page "https://wiki.gnome.org/Projects/GdkPixbuf")
+    (license license:lgpl2.1+)))
 
 ;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg depends
 ;; on gdk-pixbuf, so this new varibale.  Also, librsvg adds 90MiB to the
-- 
2.31.0


[-- Attachment #1.1.38: 0037-gnu-gdk-pixbuf-Disable-failing-tests.patch --]
[-- Type: text/x-patch, Size: 1225 bytes --]

From 629222090d04d77320a96113e4d0ab8f36a557bc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:00:10 -0500
Subject: [PATCH 37/56] gnu: gdk-pixbuf: Disable failing tests.

* gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:phases>['disable-failing-tests]: New phase.
---
 gnu/packages/gtk.scm | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 448f745348..ffcd5b0a8b 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -609,6 +609,12 @@ highlighting and other features typical of a source code editor.")
                   (string-append (assoc-ref inputs "docbook-xml")
                                  "/xml/dtd/docbook/"))))
              #t))
+         (add-before 'configure 'disable-failing-tests
+           (lambda _
+             (substitute* "tests/meson.build"
+               (("\\[ 'pixbuf-fail', \\['conform', 'slow'\\], \\],")
+                ""))
+             #t))
          ;; The slow tests take longer than the specified timeout.
          ,@(if (any (cute string=? <> (%current-system))
                     '("armhf-linux" "aarch64-linux"))
-- 
2.31.0


[-- Attachment #1.1.39: 0038-gnu-gdk-pixbuf-svg-Correct-package-definition-to-inc.patch --]
[-- Type: text/x-patch, Size: 1739 bytes --]

From 64304d6df762d4f2eee457b325178fcd5ea6bcff Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:08:24 -0500
Subject: [PATCH 38/56] gnu: gdk-pixbuf+svg: Correct package definition to
 include changes from gdk-pixbuf.

* gnu/packages/gtk.scm (gdk-pixbuf+svg) [arguments]: Modify.
[synopsis]: Modify.
---
 gnu/packages/gtk.scm | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index ffcd5b0a8b..392ba0d492 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -660,10 +660,9 @@ scaled, composited, modified, saved, or rendered.")
      `(("librsvg" ,librsvg)
        ,@(package-inputs gdk-pixbuf)))
     (arguments
-     '(#:configure-flags '("-Dinstalled-tests=false")
-       #:tests? #f ; tested by the gdk-pixbuf package already
-       #:phases
-       (modify-phases %standard-phases
+     (substitute-keyword-arguments (package-arguments gdk-pixbuf)
+        ((#:phases phases)
+          `(modify-phases ,phases
          (add-after 'install 'register-svg-loader
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out     (assoc-ref outputs "out"))
@@ -677,9 +676,8 @@ scaled, composited, modified, saved, or rendered.")
                (apply invoke
                       gdk-pixbuf-query-loaders
                       "--update-cache"
-                      loaders)))))))
-    (synopsis
-     "GNOME image loading and manipulation library, with SVG support")))
+                      loaders))))))))
+    (synopsis "Image loading library, with SVG support")))
 
 (define-public at-spi2-core
   (package
-- 
2.31.0


[-- Attachment #1.1.40: 0039-gnu-vala-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 2177 bytes --]

From b1af4b828070993303cc32327e9877f1ab872dae Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:20:37 -0500
Subject: [PATCH 39/56] gnu: vala: Change build-system.

* gnu/packages/gnome.scm (vala) [build-system]: Change from gnu to glib-or-gtk.
---
 gnu/packages/gnome.scm | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 36e3346499..9c990c5512 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4262,28 +4262,28 @@ passwords in the GNOME keyring.")
               (sha256
                (base32
                 "1nx5xjarpkl9hgy0qbqfczx7d7clh5g1r8xr5xp8b97c5fsc2rb1"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      '(#:phases
        (modify-phases %standard-phases
          (add-before 'check 'pre-check
-                     (lambda _
-                       (setenv "CC" "gcc")
-                       (substitute* "valadoc/tests/libvaladoc\
+           (lambda _
+             (setenv "CC" "gcc")
+             (substitute* "valadoc/tests/libvaladoc\
 /tests-extra-environment.sh"
-                         (("export PKG_CONFIG_PATH=" m)
-                          (string-append m "$PKG_CONFIG_PATH:"))))))))
+               (("export PKG_CONFIG_PATH=" m)
+                (string-append m "$PKG_CONFIG_PATH:"))))))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("flex" ,flex)
        ("bison" ,bison)
        ("xsltproc" ,libxslt)
-       ("dbus" ,dbus)                                     ; for dbus tests
+       ("dbus" ,dbus)                   ; for dbus tests
        ("gobject-introspection" ,gobject-introspection))) ; for gir tests
     (inputs
      `(("graphviz" ,graphviz)))
     (propagated-inputs
-     `(("glib" ,glib))) ; required by libvala-0.40.pc
+     `(("glib" ,glib)))                 ; required by libvala-0.40.pc
     (home-page "https://wiki.gnome.org/Projects/Vala/")
     (synopsis "Compiler for the GObject type system")
     (description
-- 
2.31.0


[-- Attachment #1.1.41: 0040-gnu-vala-Enable-coverage-support.patch --]
[-- Type: text/x-patch, Size: 970 bytes --]

From bdc8b8a32f20c9695db3f2daf351b5933dd1007a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:23:56 -0500
Subject: [PATCH 40/56] gnu: vala: Enable coverage support.

* gnu/packages/gnome.scm (vala) [arguments]<#:configure-flags>
[--enable-coverage]: New flag.
---
 gnu/packages/gnome.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 9c990c5512..d5de60f5d1 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4264,7 +4264,8 @@ passwords in the GNOME keyring.")
                 "1nx5xjarpkl9hgy0qbqfczx7d7clh5g1r8xr5xp8b97c5fsc2rb1"))))
     (build-system glib-or-gtk-build-system)
     (arguments
-     '(#:phases
+     '(#:configure-flags '("--enable-coverage")
+       #:phases
        (modify-phases %standard-phases
          (add-before 'check 'pre-check
            (lambda _
-- 
2.31.0


[-- Attachment #1.1.42: 0041-gnu-vala-Fix-documentation.patch --]
[-- Type: text/x-patch, Size: 1652 bytes --]

From 4f1d955509fab0c9f4f2999e83f412d0bb7731d8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:30:26 -0500
Subject: [PATCH 41/56] gnu: vala: Fix documentation.

* gnu/packages/gnome.scm (vala) [arguments]<#:phases>['patch-docbook-xml]: New phase.
[native-inputs]: Add docbook-xml and docbook-xsl.
---
 gnu/packages/gnome.scm | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index d5de60f5d1..49fdfa9014 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4267,6 +4267,14 @@ passwords in the GNOME keyring.")
      '(#:configure-flags '("--enable-coverage")
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc/manual"
+               (substitute* '("manual.xml" "version.xml.in")
+                 (("http://www.oasis-open.org/docbook/xml/4.4/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
          (add-before 'check 'pre-check
            (lambda _
              (setenv "CC" "gcc")
@@ -4276,6 +4284,8 @@ passwords in the GNOME keyring.")
                 (string-append m "$PKG_CONFIG_PATH:"))))))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
+       ("docbook-xml" ,docbook-xml-4.4)
+       ("docbook-xsl" ,docbook-xsl)
        ("flex" ,flex)
        ("bison" ,bison)
        ("xsltproc" ,libxslt)
-- 
2.31.0


[-- Attachment #1.1.43: 0042-gnu-vala-Update-to-0.52.0.patch --]
[-- Type: text/x-patch, Size: 2869 bytes --]

From caa8ab0a04cd4ec54b53f2036cd72b97b03c1dfb Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:34:48 -0500
Subject: [PATCH 42/56] gnu: vala: Update to 0.52.0.

* gnu/packages/gnome.scm (vala) [version]: Update to 0.52.0.
[native-inputs]: Add help2man and perl.
[inputs]: Move graphviz to ...
[propagated-inputs]: ... here.
---
 gnu/packages/gnome.scm | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 49fdfa9014..821e4a00eb 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -141,6 +141,7 @@
   #:use-module (gnu packages lirc)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages mail)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages music)
@@ -4253,7 +4254,7 @@ passwords in the GNOME keyring.")
 (define-public vala
   (package
     (name "vala")
-    (version "0.50.3")
+    (version "0.52.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/vala/"
@@ -4261,7 +4262,7 @@ passwords in the GNOME keyring.")
                                   "vala-" version ".tar.xz"))
               (sha256
                (base32
-                "1nx5xjarpkl9hgy0qbqfczx7d7clh5g1r8xr5xp8b97c5fsc2rb1"))))
+                "12y6p8wdjp01vmfhxg2cgh32xnyqq6ivblvrar9clnj6vc867qhx"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      '(#:configure-flags '("--enable-coverage")
@@ -4283,18 +4284,19 @@ passwords in the GNOME keyring.")
                (("export PKG_CONFIG_PATH=" m)
                 (string-append m "$PKG_CONFIG_PATH:"))))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("bison" ,bison)
+       ("dbus" ,dbus)                   ; for dbus tests
        ("docbook-xml" ,docbook-xml-4.4)
        ("docbook-xsl" ,docbook-xsl)
        ("flex" ,flex)
-       ("bison" ,bison)
-       ("xsltproc" ,libxslt)
-       ("dbus" ,dbus)                   ; for dbus tests
-       ("gobject-introspection" ,gobject-introspection))) ; for gir tests
-    (inputs
-     `(("graphviz" ,graphviz)))
+       ("gobject-introspection" ,gobject-introspection) ; for gir tests
+       ("help2man" ,help2man)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
-     `(("glib" ,glib)))                 ; required by libvala-0.40.pc
+     `(("glib" ,glib)                   ; required by libvala-0.40.pc
+       ("libgvc" ,graphviz)))
     (home-page "https://wiki.gnome.org/Projects/Vala/")
     (synopsis "Compiler for the GObject type system")
     (description
-- 
2.31.0


[-- Attachment #1.1.44: 0043-gnu-vala-Update-synopsis-and-description.patch --]
[-- Type: text/x-patch, Size: 1615 bytes --]

From ac5a1ab6ebce5893f57ab4d59aa03ebb59eb2c5c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:38:26 -0500
Subject: [PATCH 43/56] gnu: vala: Update synopsis and description.

* gnu/packages/gnome.scm (vala) [synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/gnome.scm | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 821e4a00eb..c378bdb325 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4298,12 +4298,12 @@ passwords in the GNOME keyring.")
      `(("glib" ,glib)                   ; required by libvala-0.40.pc
        ("libgvc" ,graphviz)))
     (home-page "https://wiki.gnome.org/Projects/Vala/")
-    (synopsis "Compiler for the GObject type system")
-    (description
-     "Vala is a programming language that aims to bring modern programming
-language features to GNOME developers without imposing any additional runtime
-requirements and without using a different ABI compared to applications and
-libraries written in C.")
+    (synopsis "Compiler using the GObject type system")
+    (description "Vala is a programming language using modern high level
+abstractions without imposing additional runtime requirements and without using
+a different ABI compared to applications and libraries written in C.  Vala uses
+the GObject type system and has additional code generation routines that make
+targeting the GNOME stack simple.")
     (license license:lgpl2.1+)))
 
 (define-public vte
-- 
2.31.0


[-- Attachment #1.1.45: 0044-gnu-libgsf-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 915 bytes --]

From b3f83605e0fc2a2dc2084e344be645fe35f59df3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:53:42 -0500
Subject: [PATCH 44/56] gnu: libgsf: Change build-system.

* gnu/packages/gnome.scm (libgsf) [build-system]: Change from gnu to glib-or-gtk.
---
 gnu/packages/gnome.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index c378bdb325..3b98b50d3b 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3258,7 +3258,7 @@ XML/CSS rendering engine.")
               (sha256
                (base32
                 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      '(#:configure-flags '("--disable-static")))
     (native-inputs
-- 
2.31.0


[-- Attachment #1.1.46: 0045-gnu-libgsf-Make-separate-output-for-binaries.patch --]
[-- Type: text/x-patch, Size: 863 bytes --]

From 90b5c27933d42df54ffba2b4c0d6b3695c3f8021 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:56:04 -0500
Subject: [PATCH 45/56] gnu: libgsf: Make separate output for binaries.

* gnu/packages/gnome.scm (libgsf) [outputs]: New output "bin".
---
 gnu/packages/gnome.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 3b98b50d3b..6f8c00ca82 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3259,6 +3259,7 @@ XML/CSS rendering engine.")
                (base32
                 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
     (build-system glib-or-gtk-build-system)
+    (outputs '("out" "bin"))
     (arguments
      '(#:configure-flags '("--disable-static")))
     (native-inputs
-- 
2.31.0


[-- Attachment #1.1.47: 0046-gnu-libgsf-Re-arrange-inputs-in-alphabetical-order.patch --]
[-- Type: text/x-patch, Size: 1233 bytes --]

From 5c0558597c01fc51a67e1e4cf6fc681214e73241 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:02:14 -0500
Subject: [PATCH 46/56] gnu: libgsf: Re-arrange inputs in alphabetical order.

* gnu/packages/gnome.scm (libgsf) [native-inputs]: Modify.
[inputs]: Modify.
---
 gnu/packages/gnome.scm | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 6f8c00ca82..eebd5d1a1f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3263,15 +3263,13 @@ XML/CSS rendering engine.")
     (arguments
      '(#:configure-flags '("--disable-static")))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("gettext" ,gettext-minimal)
-
-       ;; For tests.
+     `(("gettext" ,gettext-minimal)
        ("perl" ,perl)
-       ("perl-xml-parser" ,perl-xml-parser)))
+       ("perl-xml-parser" ,perl-xml-parser)
+       ("pkg-config" ,pkg-config)))
     (inputs
-     `(("zlib" ,zlib)
-       ("bzip2" ,bzip2)))
+     `(("bzip2" ,bzip2)
+       ("zlib" ,zlib)))
     (propagated-inputs
      `(("gdk-pixbuf" ,gdk-pixbuf)
        ("glib" ,glib)
-- 
2.31.0


[-- Attachment #1.1.48: 0047-gnu-libgsf-Enable-missing-features.patch --]
[-- Type: text/x-patch, Size: 1904 bytes --]

From 296a65a95336f80399d71238f260b0cf7e3301fa Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:08:10 -0500
Subject: [PATCH 47/56] gnu: libgsf: Enable missing features.

* gnu/packages/gnome.scm (libgsf) [arguments]<#:configure-flag>[--enable-introspection]: New flag.
[--with-gir-dir=]: New flag.
[--with-typelib-dir=]: New flag.
[--with-zlib]: New flag.
[--with-bz2]: New flag.
[native-inputs]: Add gobject-introspection.
---
 gnu/packages/gnome.scm | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index eebd5d1a1f..7a729274f0 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3261,9 +3261,27 @@ XML/CSS rendering engine.")
     (build-system glib-or-gtk-build-system)
     (outputs '("out" "bin"))
     (arguments
-     '(#:configure-flags '("--disable-static")))
+     `(#:configure-flags
+       (list
+        "--disable-static"
+        "--enable-introspection"
+        (string-append "--with-gir-dir="
+                       (assoc-ref %outputs "out")
+                       "/share/gir-"
+                       ,(version-major
+                         (package-version gobject-introspection))
+                       ".0")
+        (string-append "--with-typelib-dir="
+                       (assoc-ref %outputs "out")
+                       "/lib/girepository-"
+                       ,(version-major
+                         (package-version gobject-introspection))
+                       ".0")
+        "--with-zlib"
+        "--with-bz2")))
     (native-inputs
      `(("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
        ("perl" ,perl)
        ("perl-xml-parser" ,perl-xml-parser)
        ("pkg-config" ,pkg-config)))
-- 
2.31.0


[-- Attachment #1.1.49: 0048-gnu-libgsf-Correct-inputs.patch --]
[-- Type: text/x-patch, Size: 1267 bytes --]

From ea43092958eea175b16ad6a91b7ec0b0cedf87a8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:11:02 -0500
Subject: [PATCH 48/56] gnu: libgsf: Correct inputs.

* gnu/packages/gnome.scm (libgsf) [native-inputs]: Add python-wrapper.
[propagated-inputs]: Move gdk-pixbuf to ...
[inputs]: ... here.
---
 gnu/packages/gnome.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 7a729274f0..790edba464 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3284,13 +3284,14 @@ XML/CSS rendering engine.")
        ("gobject-introspection" ,gobject-introspection)
        ("perl" ,perl)
        ("perl-xml-parser" ,perl-xml-parser)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
     (inputs
      `(("bzip2" ,bzip2)
+       ("gdk-pixbuf" ,gdk-pixbuf)
        ("zlib" ,zlib)))
     (propagated-inputs
-     `(("gdk-pixbuf" ,gdk-pixbuf)
-       ("glib" ,glib)
+     `(("glib" ,glib)
        ("libxml2" ,libxml2)))
     (home-page "https://www.gnome.org/projects/libgsf")
     (synopsis "GNOME's Structured File Library")
-- 
2.31.0


[-- Attachment #1.1.50: 0049-gnu-libgsf-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 2137 bytes --]

From e60375bca051acaa156ececa0075adb658015e44 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:20:52 -0500
Subject: [PATCH 49/56] gnu: libgsf: Enable documentation.

* gnu/packages/gnome.scm (libgsf) [outputs]: New output "doc".
[arguments]<#:configure-flags>[--with-html-dir]: New flag.
[native-inputs]: Add docbook-xml.
---
 gnu/packages/gnome.scm | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 790edba464..08db85917a 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3259,7 +3259,7 @@ XML/CSS rendering engine.")
                (base32
                 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
     (build-system glib-or-gtk-build-system)
-    (outputs '("out" "bin"))
+    (outputs '("out" "bin" "doc"))
     (arguments
      `(#:configure-flags
        (list
@@ -3277,10 +3277,24 @@ XML/CSS rendering engine.")
                        ,(version-major
                          (package-version gobject-introspection))
                        ".0")
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html")
         "--with-zlib"
-        "--with-bz2")))
+        "--with-bz2")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* "gsf-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.5/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t)))))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
+     `(("docbook-xml" ,docbook-xml)
+       ("gettext" ,gettext-minimal)
        ("gobject-introspection" ,gobject-introspection)
        ("perl" ,perl)
        ("perl-xml-parser" ,perl-xml-parser)
-- 
2.31.0


[-- Attachment #1.1.51: 0050-gnu-libgsf-Update-synopsis-description-home-page-and.patch --]
[-- Type: text/x-patch, Size: 1509 bytes --]

From e8559862320e1c8ed3eab5a81f889a05a8148419 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:22:54 -0500
Subject: [PATCH 50/56] gnu: libgsf: Update synopsis, description, home-page
 and license.

* gnu/packages/gnome.scm (libgsf) [synopsis]: Modify.
[home-page]: Modify.
[description]: Modify.
[license]: Modify.
---
 gnu/packages/gnome.scm | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 08db85917a..67f00539e7 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3307,14 +3307,16 @@ XML/CSS rendering engine.")
     (propagated-inputs
      `(("glib" ,glib)
        ("libxml2" ,libxml2)))
-    (home-page "https://www.gnome.org/projects/libgsf")
-    (synopsis "GNOME's Structured File Library")
-    (description
-     "Libgsf aims to provide an efficient extensible I/O abstraction for
-dealing with different structured file formats.")
-
-    ;; LGPLv2.1-only.
-    (license license:lgpl2.1)))
+    (synopsis "G Structured File Library")
+    (description "Libgsf aims to provide an efficient extensible I/O abstraction
+for dealing with different structured file formats.")
+    (home-page "https://gitlab.gnome.org/GNOME/libgsf")
+    (license
+     (list
+      ;; Library
+      license:lgpl2.1+
+      ;; Others
+      license:lgpl2.0+))))
 
 (define-public librsvg
   (package
-- 
2.31.0


[-- Attachment #1.1.52: 0051-gnu-atk-Re-arrange-inputs-in-alphabetical-order.patch --]
[-- Type: text/x-patch, Size: 2847 bytes --]

From 1ff140785d5154e540f27aaae421fa406dad59a0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:39:47 -0500
Subject: [PATCH 51/56] gnu: atk: Re-arrange inputs in alphabetical order.

* gnu/packages/gtk.scm (atk) [native-inputs]: Modify.
---
 gnu/packages/gtk.scm | 44 ++++++++++++++++++++++----------------------
 1 file changed, 22 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 392ba0d492..5b18a030dc 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -98,30 +98,30 @@
 
 (define-public atk
   (package
-   (name "atk")
-   (version "2.34.1")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "1jwp16r6p5z66k4b2v8zlzhyshhwlmyi27ippkrgqr8jsary7w6l"))))
-   (build-system meson-build-system)
-   (propagated-inputs `(("glib" ,glib))) ; required by atk.pc
-   (native-inputs
-    `(("pkg-config" ,pkg-config)
-      ("gettext" ,gettext-minimal)
-      ("glib" ,glib "bin")                               ; glib-mkenums, etc.
-      ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
-   (synopsis "GNOME accessibility toolkit")
-   (description
-    "ATK provides the set of accessibility interfaces that are implemented
+    (name "atk")
+    (version "2.34.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1jwp16r6p5z66k4b2v8zlzhyshhwlmyi27ippkrgqr8jsary7w6l"))))
+    (build-system meson-build-system)
+    (propagated-inputs `(("glib" ,glib))) ; required by atk.pc
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("glib" ,glib "bin")             ; glib-mkenums, etc.
+       ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
+       ("pkg-config" ,pkg-config)))
+    (synopsis "GNOME accessibility toolkit")
+    (description
+     "ATK provides the set of accessibility interfaces that are implemented
 by other toolkits and applications.  Using the ATK interfaces, accessibility
 tools have full access to view and control running applications.")
-   (license license:lgpl2.0+)
-   (home-page "https://developer.gnome.org/atk/")))
+    (license license:lgpl2.0+)
+    (home-page "https://developer.gnome.org/atk/")))
 
 (define-public cairo
   (package
-- 
2.31.0


[-- Attachment #1.1.53: 0052-gnu-atk-Update-to-2.36.0.patch --]
[-- Type: text/x-patch, Size: 1368 bytes --]

From c125c4207235c60507cd1541e22b5335246ba912 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:44:36 -0500
Subject: [PATCH 52/56] gnu: atk: Update to 2.36.0.

* gnu/packages/gtk.scm (atk) [version]: Update to 2.36.0.
[arguments]<#:glib-or-gtk?>: New argument.
---
 gnu/packages/gtk.scm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 5b18a030dc..dee979a012 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -99,7 +99,7 @@
 (define-public atk
   (package
     (name "atk")
-    (version "2.34.1")
+    (version "2.36.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -107,8 +107,10 @@
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1jwp16r6p5z66k4b2v8zlzhyshhwlmyi27ippkrgqr8jsary7w6l"))))
+                "1217cmmykjgkkim0zr1lv5j13733m4w5vipmy4ivw0ll6rz28xpv"))))
     (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t))  ; To wrap binaries and/or compile schemas
     (propagated-inputs `(("glib" ,glib))) ; required by atk.pc
     (native-inputs
      `(("gettext" ,gettext-minimal)
-- 
2.31.0


[-- Attachment #1.1.54: 0053-gnu-atk-Update-home-page-and-license.patch --]
[-- Type: text/x-patch, Size: 1031 bytes --]

From 080fd5731b57764dd02b3809e7ed438fe0a8d6e0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:46:00 -0500
Subject: [PATCH 53/56] gnu: atk: Update home-page and license.

* gnu/packages/gtk.scm (atk) [home-page]: Modify.
[license]: Update to lgpl2.1+.
---
 gnu/packages/gtk.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index dee979a012..92c628d3a1 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -122,8 +122,8 @@
      "ATK provides the set of accessibility interfaces that are implemented
 by other toolkits and applications.  Using the ATK interfaces, accessibility
 tools have full access to view and control running applications.")
-    (license license:lgpl2.0+)
-    (home-page "https://developer.gnome.org/atk/")))
+    (license license:lgpl2.1+)
+    (home-page "https://wiki.gnome.org/Accessibility")))
 
 (define-public cairo
   (package
-- 
2.31.0


[-- Attachment #1.1.55: 0054-gnu-atkmm-Update-to-2.36.0.patch --]
[-- Type: text/x-patch, Size: 2372 bytes --]

From c5c824f5103b3e48915195acd3615c18975d42e2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:50:53 -0500
Subject: [PATCH 54/56] gnu: atkmm: Update to 2.36.0.

* gnu/packages/gtk.scm (atkmm) [version]: Update to 2.36.0.
[build-system]: Change from gnu to meson.
[arguments]<#:glib-or-gtk?>: New argument.
[native-inputs]: Add m4, mm-common, perl and libxslt.
---
 gnu/packages/gtk.scm | 28 ++++++++++++++++++----------
 1 file changed, 18 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 92c628d3a1..b9878e68dd 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -78,6 +78,7 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages m4)
   #:use-module (gnu packages man)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
@@ -1425,17 +1426,24 @@ library.")
 (define-public atkmm
   (package
     (name "atkmm")
-    (version "2.28.0")
+    (version "2.36.0")
     (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/" name "/"
-                                 (version-major+minor version)  "/"
-                                 name "-" version ".tar.xz"))
-             (sha256
-              (base32
-               "0fnxrspxkhhbrjphqrpvl3zjm66n50s4cywrrrwkhbflgy8zqk2c"))))
-    (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0wwr0663jrqx2klsasffd9wpk3kqnwisj1y3ahdkjdk5hzrsjgy9"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t))   ; To wrap binaries and/or compile schemas
+    (native-inputs
+     `(("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("glibmm" ,glibmm) ("atk" ,atk)))
     (home-page "https://www.gtkmm.org")
-- 
2.31.0


[-- Attachment #1.1.56: 0055-gnu-atkmm-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 2147 bytes --]

From fe613e4f485fad11921b39890cd2e712333ed519 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 24 Mar 2021 22:46:44 -0400
Subject: [PATCH 55/56] gnu: atkmm: Enable documentation.

* gnu/packages/gtk.scm (atkmm) [outputs]: Add new output "doc".
[arguments]<#:configure-flags>[-Denable-documentation]: New flag.
[arguments]<#:phases>['move-doc]: New phase.
[native-inputs]: Add graphviz, doxygen.
---
 gnu/packages/gtk.scm | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index b9878e68dd..7c3e384f47 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -74,6 +74,7 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
   #:use-module (gnu packages libffi)
@@ -1436,10 +1437,27 @@ library.")
                (base32
                 "0wwr0663jrqx2klsasffd9wpk3kqnwisj1y3ahdkjdk5hzrsjgy9"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:glib-or-gtk? #t))   ; To wrap binaries and/or compile schemas
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Dbuild-documentation=true")
+       #:phases
+       (modify-phases %standard-phases
+         (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"))
+               #t))))))
     (native-inputs
-     `(("m4" ,m4)
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("m4" ,m4)
        ("mm-common" ,mm-common)
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
-- 
2.31.0


[-- Attachment #1.1.57: 0056-gnu-atkmm-Update-synopsis-description-home-page-and-.patch --]
[-- Type: text/x-patch, Size: 1349 bytes --]

From 634e43a0fd9dabe5387169086ec3142f00c99d1e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 13:01:19 -0500
Subject: [PATCH 56/56] gnu: atkmm: Update synopsis, description, home-page and
 license.

* gnu/packages/gtk.scm (atkmm) [synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Add gpl2+.
---
 gnu/packages/gtk.scm | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 7c3e384f47..9c5474393d 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1464,12 +1464,15 @@ library.")
        ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("glibmm" ,glibmm) ("atk" ,atk)))
-    (home-page "https://www.gtkmm.org")
-    (synopsis "C++ interface to the ATK accessibility library")
-    (description
-     "ATKmm provides a C++ programming interface to the ATK accessibility
-toolkit.")
-    (license license:lgpl2.1+)))
+    (synopsis "C++ bindings for ATK")
+    (description "ATKmm is the C++ binding for the ATK library.")
+    (home-page "https://wiki.gnome.org/Accessibility")
+    (license
+     (list
+      ;; Library
+      license:lgpl2.1+
+      ;; Tools
+      license:gpl2+))))
 
 (define-public gtkmm
   (package
-- 
2.31.0


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] Big changes from wip-desktop.
  2021-03-25 12:08     ` Raghav Gururajan via Guix-patches via
@ 2021-03-26  1:00       ` Raghav Gururajan via Guix-patches via
  2021-03-26 20:12         ` Raghav Gururajan via Guix-patches via
  0 siblings, 1 reply; 68+ messages in thread
From: Raghav Gururajan via Guix-patches via @ 2021-03-26  1:00 UTC (permalink / raw)
  To: 42958, Danny Milosavljevic, Ricardo Wurmus, Léo Le Bouter


[-- Attachment #1.1.1: Type: text/plain, Size: 767 bytes --]

@(rekado|lle-bout|danny)

> Could any of you please review and merge the attached patches to 
> core-updates?
> 
> These patches has been successfully built on bayfront, from which you 
> can obtain substitutes, if needed.
> 
> I will send some more patches for this #42958 by tomorrow.
> 
> It would be great if we could together finish-off this #42958 ASAP, so 
> that I can bring remaining patches from wip-deskop.
> 
> P.S
> Please pardon two cosmetic changes patches, which were done very long 
> ago and had to use it to cleanly apply succeeding patches. Also, I must 
> have used #t with lambda out of habit.

Since there was master <--> core-updates merge, here I have attached 
rebased patches. Thanks to Léo Le Bouter.

Regards,
RG.

[-- Attachment #1.1.2: 0001-gnu-glib-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 121015 bytes --]

From 8d8b0bd7f2178d8c0abe1eb27317acbca6dee262 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 06:39:29 -0500
Subject: [PATCH 01/56] gnu: glib: Make some cosmetic changes.

* gnu/packages/patches/glib-CVE-2021-27218.patch
gnu/packages/patches/glib-CVE-2021-27219-01.patch
gnu/packages/patches/glib-CVE-2021-27219-02.patch
gnu/packages/patches/glib-CVE-2021-27219-03.patch
gnu/packages/patches/glib-CVE-2021-27219-04.patch
gnu/packages/patches/glib-CVE-2021-27219-05.patch
gnu/packages/patches/glib-CVE-2021-27219-06.patch
gnu/packages/patches/glib-CVE-2021-27219-07.patch
gnu/packages/patches/glib-CVE-2021-27219-08.patch
gnu/packages/patches/glib-CVE-2021-27219-09.patch
gnu/packages/patches/glib-CVE-2021-27219-10.patch
gnu/packages/patches/glib-CVE-2021-27219-11.patch
gnu/packages/patches/glib-CVE-2021-27219-12.patch
gnu/packages/patches/glib-CVE-2021-27219-13.patch
gnu/packages/patches/glib-CVE-2021-27219-14.patch
gnu/packages/patches/glib-CVE-2021-27219-15.patch
gnu/packages/patches/glib-CVE-2021-27219-16.patch
gnu/packages/patches/glib-CVE-2021-27219-17.patch
gnu/packages/patches/glib-CVE-2021-27219-18.patch
gnu/packages/patches/glib-CVE-2021-28153.patch: Remove patches.
* gnu/local.mk (dist_patch_DATA): Unregister them.
* gnu/packages/glib.scm (glib): Make some cosmetic changes.
[replacement]: Remove.
(glib/fixed): Remove.
---
 gnu/local.mk                                  |  20 -
 gnu/packages/glib.scm                         | 454 ++++++++----------
 .../patches/glib-CVE-2021-27218.patch         | 132 -----
 .../patches/glib-CVE-2021-27219-01.patch      | 176 -------
 .../patches/glib-CVE-2021-27219-02.patch      | 264 ----------
 .../patches/glib-CVE-2021-27219-03.patch      | 136 ------
 .../patches/glib-CVE-2021-27219-04.patch      | 308 ------------
 .../patches/glib-CVE-2021-27219-05.patch      |  47 --
 .../patches/glib-CVE-2021-27219-06.patch      |  94 ----
 .../patches/glib-CVE-2021-27219-07.patch      | 118 -----
 .../patches/glib-CVE-2021-27219-08.patch      |  94 ----
 .../patches/glib-CVE-2021-27219-09.patch      |  98 ----
 .../patches/glib-CVE-2021-27219-10.patch      |  52 --
 .../patches/glib-CVE-2021-27219-11.patch      |  57 ---
 .../patches/glib-CVE-2021-27219-12.patch      |  30 --
 .../patches/glib-CVE-2021-27219-13.patch      |  32 --
 .../patches/glib-CVE-2021-27219-14.patch      |  32 --
 .../patches/glib-CVE-2021-27219-15.patch      |  95 ----
 .../patches/glib-CVE-2021-27219-16.patch      |  43 --
 .../patches/glib-CVE-2021-27219-17.patch      |  37 --
 .../patches/glib-CVE-2021-27219-18.patch      | 232 ---------
 .../patches/glib-CVE-2021-28153.patch         | 283 -----------
 22 files changed, 202 insertions(+), 2632 deletions(-)
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27218.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-01.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-02.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-03.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-04.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-05.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-06.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-07.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-08.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-09.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-10.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-11.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-12.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-13.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-14.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-15.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-16.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-17.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-18.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-28153.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index ce0a79fb4d..d924b20bcf 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1082,26 +1082,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/ghostscript-no-header-creationdate.patch \
   %D%/packages/patches/glib-appinfo-watch.patch			\
   %D%/packages/patches/glib-tests-timer.patch			\
-  %D%/packages/patches/glib-CVE-2021-27218.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-01.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-02.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-03.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-04.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-05.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-06.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-07.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-08.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-09.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-10.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-11.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-12.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-13.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-14.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-15.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-16.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-17.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-18.patch		\
-  %D%/packages/patches/glib-CVE-2021-28153.patch		\
   %D%/packages/patches/glibc-CVE-2018-11236.patch		\
   %D%/packages/patches/glibc-CVE-2018-11237.patch		\
   %D%/packages/patches/glibc-CVE-2019-7309.patch		\
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 0ddaf4d0b9..a446ce1ace 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -170,258 +170,208 @@ shared NFS home directories.")
 
 (define glib
   (package
-   (name "glib")
-   (version "2.62.6")
-   (replacement glib/fixed)
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/"
-                                name "/" (string-take version 4) "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
-            (patches (search-patches "glib-appinfo-watch.patch"
-                                     "glib-tests-timer.patch"))
-            (modules '((guix build utils)))
-            (snippet
-             '(begin
-                (substitute* "tests/spawn-test.c"
-                  (("/bin/sh") "sh"))
-                #t))))
-   (build-system meson-build-system)
-   (outputs '("out"           ; everything
-              "bin"           ; glib-mkenums, gtester, etc.; depends on Python
-              "debug"))
-   (propagated-inputs
-    `(("pcre" ,pcre)  ; in the Requires.private field of glib-2.0.pc
-      ("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
-      ;; These are in the Requires.private field of gio-2.0.pc
-      ("util-linux" ,util-linux "lib")  ;for libmount
-      ("zlib" ,zlib)))
-   (native-inputs
-    `(("gettext" ,gettext-minimal)
-      ("m4" ,m4) ; for installing m4 macros
-      ("dbus" ,dbus)                              ; for GDBus tests
-      ("pkg-config" ,pkg-config)
-      ("python" ,python-minimal-wrapper)
-      ("perl" ,perl)                              ; needed by GIO tests
-      ("tzdata" ,tzdata-for-tests)))                  ; for tests/gdatetime.c
-   (arguments
-    `(#:disallowed-references (,tzdata-for-tests)
-      #:configure-flags '("-Dselinux=disabled")
-      #:phases
-      (modify-phases %standard-phases
-        (add-after 'unpack 'patch-dbus-launch-path
-          (lambda* (#:key inputs #:allow-other-keys)
-            (let ((dbus (assoc-ref inputs "dbus")))
-              (substitute* "gio/gdbusaddress.c"
-                (("command_line = g_strdup_printf \\(\"dbus-launch")
-                 (string-append "command_line = g_strdup_printf (\""
-                                dbus "/bin/dbus-launch")))
-              #t)))
-        (add-after 'unpack 'patch-gio-launch-desktop
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out")))
-              ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
-              ;; for another future fix.
-              (substitute* "gio/gdesktopappinfo.c"
-               (("gio-launch-desktop")
-                (string-append out "/libexec/gio-launch-desktop")))
-              #t)))
-        ;; TODO: Remove the conditional in the next core-updates cycle.
-        ;; Needed to build glib on slower ARM nodes.
-        ,@(if (string-prefix? "arm" (%current-system))
-              `((add-after 'unpack 'increase-test-timeout
-                  (lambda _
-                    (substitute* "meson.build"
-                      (("test_timeout = 60")
-                       "test_timeout = 120")
-                      (("test_timeout_slow = 120")
-                       "test_timeout_slow = 180")))))
-              '())
-        (add-before 'build 'pre-build
-          (lambda* (#:key inputs outputs #:allow-other-keys)
-            ;; For tests/gdatetime.c.
-            (setenv "TZDIR"
-                    (string-append (assoc-ref inputs "tzdata")
-                                   "/share/zoneinfo"))
-
-            ;; Some tests want write access there.
-            (setenv "HOME" (getcwd))
-            (setenv "XDG_CACHE_HOME" (getcwd))
-            #t))
-        (add-after 'unpack 'disable-failing-tests
-          (lambda _
-            (let ((disable
-                   (lambda (test-file test-paths)
-                     (define pattern+procs
-                       (map (lambda (test-path)
-                              (cons
-                               ;; XXX: only works for single line statements.
-                               (format #f "g_test_add_func.*\"~a\".*" test-path)
-                               (const "")))
-                            test-paths))
-                     (substitute test-file pattern+procs)))
-                  (failing-tests
-                   '(("glib/tests/thread.c"
-                      (;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
-                       ;; as found on hydra.gnu.org, and strace(1) doesn't
-                       ;; recognize it.
-                       "/thread/thread4"))
-
-                     ;; This tries to find programs in FHS directories.
-                     ("glib/tests/utils.c"
-                      ("/utils/find-program"))
-
-                     ;; This fails because "glib/tests/echo-script" cannot be
-                     ;; found.
-                     ("glib/tests/spawn-singlethread.c"
-                      ("/gthread/spawn-script"))
-
-                     ("glib/tests/timer.c"
-                      (;; fails if compiler optimizations are enabled, which they
-                       ;; are by default.
-                       "/timer/stop"))
-
-                     ("gio/tests/gapplication.c"
-                      (;; XXX: proven to be unreliable.  See:
-                       ;;  <https://bugs.debian.org/756273>
-                       ;;  <http://bugs.gnu.org/18445>
-                       "/gapplication/quit"
-
-                       ;; XXX: fails randomly for unknown reason. See:
-                       ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
-                       "/gapplication/local-actions"))
-
-                     ("gio/tests/contenttype.c"
-                      (;; XXX: requires shared-mime-info.
-                       "/contenttype/guess"
-                       "/contenttype/guess_svg_from_data"
-                       "/contenttype/subtype"
-                       "/contenttype/list"
-                       "/contenttype/icon"
-                       "/contenttype/symbolic-icon"
-                       "/contenttype/tree"))
-
-                     ("gio/tests/appinfo.c"
-                      (;; XXX: requires update-desktop-database.
-                       "/appinfo/associations"))
-
-                     ("gio/tests/desktop-app-info.c"
-                      (;; XXX: requires update-desktop-database.
-                       "/desktop-app-info/delete"
-                       "/desktop-app-info/default"
-                       "/desktop-app-info/fallback"
-                       "/desktop-app-info/lastused"
-                       "/desktop-app-info/search"))
-
-                     ("gio/tests/gdbus-peer.c"
-                      (;; Requires /etc/machine-id.
-                       "/gdbus/codegen-peer-to-peer"))
-
-                     ("gio/tests/gdbus-address-get-session.c"
-                      (;; Requires /etc/machine-id.
-                       "/gdbus/x11-autolaunch"))
-
-                     ("gio/tests/gsocketclient-slow.c"
-                      (;; These tests tries to resolve "localhost", and fails.
-                       "/socket-client/happy-eyeballs/slow"
-                       "/socket-client/happy-eyeballs/cancellation/delayed"))
-
-                     )))
-              (for-each (lambda (x) (apply disable x)) failing-tests)
-              #t)))
-        (replace 'check
-          (lambda* (#:key tests? #:allow-other-keys)
-            (if tests?
-                (begin
-                  (setenv "MESON_TESTTHREADS"
-                          (number->string (parallel-job-count)))
-                  ;; Do not run tests marked as "flaky".
-                  (invoke "meson" "test" "--no-suite" "flaky"))
-                #t)))
-        ;; TODO: meson does not permit the bindir to be outside of prefix.
-        ;; See https://github.com/mesonbuild/meson/issues/2561
-        ;; We can remove this once meson is patched.
-        (add-after 'install 'move-executables
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out"))
-                  (bin (assoc-ref outputs "bin")))
-              (mkdir-p bin)
-              (rename-file (string-append out "/bin")
-                           (string-append bin "/bin"))
-              ;; This one is an implementation detail of glib.
-              ;; It is wrong that that's in "/bin" in the first place,
-              ;; but that's what upstream is doing right now.
-              ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
-              (mkdir (string-append out "/libexec"))
-              (rename-file (string-append bin "/bin/gio-launch-desktop")
-                           (string-append out "/libexec/gio-launch-desktop"))
-              ;; 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=\\$\\{prefix\\}/bin") "")
-                (("=\\$\\{bindir\\}/") "="))
-              #t))))))
-      ;; TODO: see above for explanation.
-      ;; #:configure-flags (list (string-append "--bindir="
-      ;;                                        (assoc-ref %outputs "bin")
-      ;;                                        "/bin"))
-
-   (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
-    ;; path for .gir files, and it's also a search path for schemas produced
-    ;; by 'glib-compile-schemas'.
-    (list (search-path-specification
-           (variable "XDG_DATA_DIRS")
-           (files '("share")))
-          ;; To load extra gio modules from glib-networking, etc.
-          (search-path-specification
-           (variable "GIO_EXTRA_MODULES")
-           (files '("lib/gio/modules")))))
-   (search-paths native-search-paths)
-   (properties '((hidden? . #t)))
-
-   (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
-   (description
-    "GLib provides data structure handling for C, portability wrappers,
-and interfaces for such runtime functionality as an event loop, threads,
-dynamic loading, and an object system.")
-   (home-page "https://developer.gnome.org/glib/")
-   (license license:lgpl2.1+)))
-
-(define glib/fixed
-  (package
-    (inherit glib)
-    (source (origin
-              (inherit (package-source glib))
-              (patches
-               (append (search-patches "glib-CVE-2021-27218.patch"
-                                       "glib-CVE-2021-27219-01.patch"
-                                       "glib-CVE-2021-27219-02.patch"
-                                       "glib-CVE-2021-27219-03.patch"
-                                       "glib-CVE-2021-27219-04.patch"
-                                       "glib-CVE-2021-27219-05.patch"
-                                       "glib-CVE-2021-27219-06.patch"
-                                       "glib-CVE-2021-27219-07.patch"
-                                       "glib-CVE-2021-27219-08.patch"
-                                       "glib-CVE-2021-27219-09.patch"
-                                       "glib-CVE-2021-27219-10.patch"
-                                       "glib-CVE-2021-27219-11.patch"
-                                       "glib-CVE-2021-27219-12.patch"
-                                       "glib-CVE-2021-27219-13.patch"
-                                       "glib-CVE-2021-27219-14.patch"
-                                       "glib-CVE-2021-27219-15.patch"
-                                       "glib-CVE-2021-27219-16.patch"
-                                       "glib-CVE-2021-27219-17.patch"
-                                       "glib-CVE-2021-27219-18.patch"
-                                       "glib-CVE-2021-28153.patch")
-                       (origin-patches (package-source glib))))))))
+    (name "glib")
+    (version "2.62.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/"
+                       name "/" (string-take version 4) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
+       (patches
+        (search-patches "glib-tests-timer.patch" "glib-appinfo-watch.patch"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (substitute* "tests/spawn-test.c"
+             (("/bin/sh") "sh"))
+           #t))))
+    (properties '((hidden? . #t)))
+    (build-system meson-build-system)
+    (outputs '("out"   ; everything
+               "bin")) ; glib-mkenums, gtester, etc.; depends on Python
+    (arguments
+     `(#:disallowed-references (,tzdata-for-tests)
+       #:phases
+       (modify-phases %standard-phases
+         ;; TODO: Remove the conditional in the next core-updates cycle.
+         ;; Needed to build glib on slower ARM nodes.
+         ,@(if (string-prefix? "arm" (%current-system))
+               `((add-after 'unpack 'increase-test-timeout
+                   (lambda _
+                     (substitute* "meson.build"
+                       (("test_timeout = 60")
+                        "test_timeout = 90")
+                       (("test_timeout_slow = 120")
+                        "test_timeout_slow = 180")))))
+               '())
+         (add-after 'unpack 'patch-dbus-launch-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((dbus (assoc-ref inputs "dbus")))
+               (substitute* "gio/gdbusaddress.c"
+                 (("command_line = g_strdup_printf \\(\"dbus-launch")
+                  (string-append "command_line = g_strdup_printf (\""
+                                 dbus "/bin/dbus-launch")))
+               #t)))
+         (add-after 'unpack 'patch-gio-launch-desktop
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
+               ;; for another future fix.
+               (substitute* "gio/gdesktopappinfo.c"
+                 (("gio-launch-desktop")
+                  (string-append out "/libexec/gio-launch-desktop")))
+               #t)))
+         (add-before 'build 'pre-build
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             ;; For tests/gdatetime.c.
+             (setenv "TZDIR"
+                     (string-append (assoc-ref inputs "tzdata")
+                                    "/share/zoneinfo"))
+             ;; Some tests want write access there.
+             (setenv "HOME" (getcwd))
+             (setenv "XDG_CACHE_HOME" (getcwd))
+             #t))
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (let ((disable
+                    (lambda (test-file test-paths)
+                      (define pattern+procs
+                        (map (lambda (test-path)
+                               (cons
+                                ;; XXX: only works for single line statements.
+                                (format #f "g_test_add_func.*\"~a\".*" test-path)
+                                (const "")))
+                             test-paths))
+                      (substitute test-file pattern+procs)))
+                   (failing-tests
+                    '(("glib/tests/thread.c"
+                       ( ;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
+                        ;; as found on hydra.gnu.org, and strace(1) doesn't
+                        ;; recognize it.
+                        "/thread/thread4"))
+                      ;; This tries to find programs in FHS directories.
+                      ("glib/tests/utils.c"
+                       ("/utils/find-program"))
+                      ;; This fails because "glib/tests/echo-script" cannot be
+                      ;; found.
+                      ("glib/tests/spawn-singlethread.c"
+                       ("/gthread/spawn-script"))
+                      ("glib/tests/timer.c"
+                       ( ;; fails if compiler optimizations are enabled, which they
+                        ;; are by default.
+                        "/timer/stop"))
+                      ("gio/tests/gapplication.c"
+                       ( ;; XXX: proven to be unreliable.  See:
+                        ;;  <https://bugs.debian.org/756273>
+                        ;;  <http://bugs.gnu.org/18445>
+                        "/gapplication/quit"
+                        ;; XXX: fails randomly for unknown reason. See:
+                        ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
+                        "/gapplication/local-actions"))
+                      ("gio/tests/contenttype.c"
+                       ( ;; XXX: requires shared-mime-info.
+                        "/contenttype/guess"
+                        "/contenttype/guess_svg_from_data"
+                        "/contenttype/subtype"
+                        "/contenttype/list"
+                        "/contenttype/icon"
+                        "/contenttype/symbolic-icon"
+                        "/contenttype/tree"))
+                      ("gio/tests/appinfo.c"
+                       ( ;; XXX: requires update-desktop-database.
+                        "/appinfo/associations"))
+                      ("gio/tests/desktop-app-info.c"
+                       ( ;; XXX: requires update-desktop-database.
+                        "/desktop-app-info/delete"
+                        "/desktop-app-info/default"
+                        "/desktop-app-info/fallback"
+                        "/desktop-app-info/lastused"
+                        "/desktop-app-info/search"))
+                      ("gio/tests/gdbus-peer.c"
+                       ( ;; Requires /etc/machine-id.
+                        "/gdbus/codegen-peer-to-peer"))
+                      ("gio/tests/gdbus-address-get-session.c"
+                       ( ;; Requires /etc/machine-id.
+                        "/gdbus/x11-autolaunch"))
+                      ("gio/tests/gsocketclient-slow.c"
+                       ( ;; These tests tries to resolve "localhost", and fails.
+                        "/socket-client/happy-eyeballs/slow"
+                        "/socket-client/happy-eyeballs/cancellation/delayed")))))
+               (for-each (lambda (x) (apply disable x)) failing-tests)
+               #t)))
+         (replace 'check
+           (lambda _
+             (setenv "MESON_TESTTHREADS"
+                     (number->string (parallel-job-count)))
+             ;; Do not run tests marked as "flaky".
+             (invoke "meson" "test" "--no-suite" "flaky")))
+         ;; TODO: meson does not permit the bindir to be outside of prefix.
+         ;; See https://github.com/mesonbuild/meson/issues/2561
+         ;; We can remove this once meson is patched.
+         (add-after 'install 'move-executables
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (bin (assoc-ref outputs "bin")))
+               (mkdir-p bin)
+               (rename-file (string-append out "/bin")
+                            (string-append bin "/bin"))
+               ;; This one is an implementation detail of glib.
+               ;; It is wrong that that's in "/bin" in the first place,
+               ;; but that's what upstream is doing right now.
+               ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
+               (mkdir (string-append out "/libexec"))
+               (rename-file (string-append bin "/bin/gio-launch-desktop")
+                            (string-append out "/libexec/gio-launch-desktop"))
+               ;; 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=\\$\\{prefix\\}/bin") "")
+                 (("=\\$\\{bindir\\}/") "="))
+               #t))))))
+    ;; TODO: see above for explanation.
+    ;; #:configure-flags (list (string-append "--bindir="
+    ;;                                        (assoc-ref %outputs "bin")
+    ;;                                        "/bin"))
+    (native-inputs
+     `(("dbus" ,dbus)                   ; for GDBus tests
+       ("gettext" ,gettext-minimal)
+       ("m4" ,m4)                       ; for installing m4 macros
+       ("perl" ,perl)                   ; needed by GIO tests
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("tzdata" ,tzdata-for-tests)))   ; for tests/gdatetime.c
+    (propagated-inputs
+     `(("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
+       ("pcre" ,pcre)   ; in the Requires.private field of glib-2.0.pc
+       ("util-linux" ,util-linux "lib") ;for libmount
+       ("zlib" ,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
+     ;; path for .gir files, and it's also a search path for schemas produced
+     ;; by 'glib-compile-schemas'.
+     (list
+      (search-path-specification
+       (variable "XDG_DATA_DIRS")
+       (files '("share")))
+      ;; To load extra gio modules from glib-networking, etc.
+      (search-path-specification
+       (variable "GIO_EXTRA_MODULES")
+       (files '("lib/gio/modules")))))
+    (search-paths native-search-paths)
+    (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
+    (description "GLib provides data structure handling for C, portability
+wrappers, and interfaces for such runtime functionality as an event loop,
+threads, dynamic loading, and an object system.")
+    (home-page "https://developer.gnome.org/glib/")
+    (license license:lgpl2.1+)))
 
 (define-public glib-with-documentation
   ;; glib's doc must be built in a separate package since it requires gtk-doc,
diff --git a/gnu/packages/patches/glib-CVE-2021-27218.patch b/gnu/packages/patches/glib-CVE-2021-27218.patch
deleted file mode 100644
index 00fa5ebf79..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27218.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-Backport of:
-
-From 0f384c88a241bbbd884487b1c40b7b75f1e638d3 Mon Sep 17 00:00:00 2001
-From: Krzesimir Nowak <qdlacz@gmail.com>
-Date: Wed, 10 Feb 2021 23:51:07 +0100
-Subject: [PATCH] gbytearray: Do not accept too large byte arrays
-
-GByteArray uses guint for storing the length of the byte array, but it
-also has a constructor (g_byte_array_new_take) that takes length as a
-gsize. gsize may be larger than guint (64 bits for gsize vs 32 bits
-for guint). It is possible to call the function with a value greater
-than G_MAXUINT, which will result in silent length truncation. This
-may happen as a result of unreffing GBytes into GByteArray, so rather
-be loud about it.
-
-(Test case tweaked by Philip Withnall.)
-
-(Backport 2.66: Add #include gstrfuncsprivate.h in the test case for
-`g_memdup2()`.)
----
- glib/garray.c      |  6 ++++++
- glib/gbytes.c      |  4 ++++
- glib/tests/bytes.c | 35 ++++++++++++++++++++++++++++++++++-
- 3 files changed, 44 insertions(+), 1 deletion(-)
-
-diff --git a/glib/garray.c b/glib/garray.c
-index 942e74c9f..fb1a42aaf 100644
---- a/glib/garray.c
-+++ b/glib/garray.c
-@@ -2013,6 +2013,10 @@ g_byte_array_new (void)
-  * Create byte array containing the data. The data will be owned by the array
-  * and will be freed with g_free(), i.e. it could be allocated using g_strdup().
-  *
-+ * Do not use it if @len is greater than %G_MAXUINT. #GByteArray
-+ * stores the length of its data in #guint, which may be shorter than
-+ * #gsize.
-+ *
-  * Since: 2.32
-  *
-  * Returns: (transfer full): a new #GByteArray
-@@ -2024,6 +2028,8 @@ g_byte_array_new_take (guint8 *data,
-   GByteArray *array;
-   GRealArray *real;
- 
-+  g_return_val_if_fail (len <= G_MAXUINT, NULL);
-+
-   array = g_byte_array_new ();
-   real = (GRealArray *)array;
-   g_assert (real->data == NULL);
-diff --git a/glib/gbytes.c b/glib/gbytes.c
-index 7b72886e5..d56abe6c3 100644
---- a/glib/gbytes.c
-+++ b/glib/gbytes.c
-@@ -519,6 +519,10 @@ g_bytes_unref_to_data (GBytes *bytes,
-  * g_bytes_new(), g_bytes_new_take() or g_byte_array_free_to_bytes(). In all
-  * other cases the data is copied.
-  *
-+ * Do not use it if @bytes contains more than %G_MAXUINT
-+ * bytes. #GByteArray stores the length of its data in #guint, which
-+ * may be shorter than #gsize, that @bytes is using.
-+ *
-  * Returns: (transfer full): a new mutable #GByteArray containing the same byte data
-  *
-  * Since: 2.32
-diff --git a/glib/tests/bytes.c b/glib/tests/bytes.c
-index 5ea5c2b35..15a6aaad6 100644
---- a/glib/tests/bytes.c
-+++ b/glib/tests/bytes.c
-@@ -10,12 +10,12 @@
-  */
- 
- #undef G_DISABLE_ASSERT
--#undef G_LOG_DOMAIN
- 
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include "glib.h"
-+#include "glib/gstrfuncsprivate.h"
- 
- /* Keep in sync with glib/gbytes.c */
- struct _GBytes
-@@ -333,6 +333,38 @@ test_to_array_transferred (void)
-   g_byte_array_unref (array);
- }
- 
-+static void
-+test_to_array_transferred_oversize (void)
-+{
-+  g_test_message ("g_bytes_unref_to_array() can only take GBytes up to "
-+                  "G_MAXUINT in length; test that longer ones are rejected");
-+
-+  if (sizeof (guint) >= sizeof (gsize))
-+    {
-+      g_test_skip ("Skipping test as guint is not smaller than gsize");
-+    }
-+  else if (g_test_undefined ())
-+    {
-+      GByteArray *array = NULL;
-+      GBytes *bytes = NULL;
-+      gpointer data = g_memdup2 (NYAN, N_NYAN);
-+      gsize len = ((gsize) G_MAXUINT) + 1;
-+
-+      bytes = g_bytes_new_take (data, len);
-+      g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL,
-+                             "g_byte_array_new_take: assertion 'len <= G_MAXUINT' failed");
-+      array = g_bytes_unref_to_array (g_steal_pointer (&bytes));
-+      g_test_assert_expected_messages ();
-+      g_assert_null (array);
-+
-+      g_free (data);
-+    }
-+  else
-+    {
-+      g_test_skip ("Skipping test as testing undefined behaviour is disabled");
-+    }
-+}
-+
- static void
- test_to_array_two_refs (void)
- {
-@@ -410,6 +442,7 @@ main (int argc, char *argv[])
-   g_test_add_func ("/bytes/to-array/transfered", test_to_array_transferred);
-   g_test_add_func ("/bytes/to-array/two-refs", test_to_array_two_refs);
-   g_test_add_func ("/bytes/to-array/non-malloc", test_to_array_non_malloc);
-+  g_test_add_func ("/bytes/to-array/transferred/oversize", test_to_array_transferred_oversize);
-   g_test_add_func ("/bytes/null", test_null);
- 
-   return g_test_run ();
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-01.patch b/gnu/packages/patches/glib-CVE-2021-27219-01.patch
deleted file mode 100644
index 5db360d468..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-01.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-Backport of:
-
-From 5e5f75a77e399c638be66d74e5daa8caeb433e00 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 13:30:52 +0000
-Subject: [PATCH 01/11] gstrfuncs: Add internal g_memdup2() function
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This will replace the existing `g_memdup()` function for use within
-GLib. It has an unavoidable security flaw of taking its `byte_size`
-argument as a `guint` rather than as a `gsize`. Most callers will
-expect it to be a `gsize`, and may pass in large values which could
-silently be truncated, resulting in an undersize allocation compared
-to what the caller expects.
-
-This could lead to a classic buffer overflow vulnerability for many
-callers of `g_memdup()`.
-
-`g_memdup2()`, in comparison, takes its `byte_size` as a `gsize`.
-
-Spotted by Kevin Backhouse of GHSL.
-
-In GLib 2.68, `g_memdup2()` will be a new public API. In this version
-for backport to older stable releases, it’s a new `static inline` API
-in a private header, so that use of `g_memdup()` within GLib can be
-fixed without adding a new API in a stable release series.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: GHSL-2021-045
-Helps: #2319
----
- docs/reference/glib/meson.build |  1 +
- glib/gstrfuncsprivate.h         | 55 +++++++++++++++++++++++++++++++++
- glib/meson.build                |  1 +
- glib/tests/strfuncs.c           | 23 ++++++++++++++
- 4 files changed, 80 insertions(+)
- create mode 100644 glib/gstrfuncsprivate.h
-
-diff --git a/docs/reference/glib/meson.build b/docs/reference/glib/meson.build
-index bba7649f0..ee39f6d04 100644
---- a/docs/reference/glib/meson.build
-+++ b/docs/reference/glib/meson.build
-@@ -22,6 +22,7 @@ if get_option('gtk_doc')
-     'gprintfint.h',
-     'gmirroringtable.h',
-     'gscripttable.h',
-+    'gstrfuncsprivate.h',
-     'glib-mirroring-tab',
-     'gnulib',
-     'pcre',
-diff --git a/glib/gstrfuncsprivate.h b/glib/gstrfuncsprivate.h
-new file mode 100644
-index 000000000..85c88328a
---- /dev/null
-+++ b/glib/gstrfuncsprivate.h
-@@ -0,0 +1,55 @@
-+/* GLIB - Library of useful routines for C programming
-+ * Copyright (C) 1995-1997  Peter Mattis, Spencer Kimball and Josh MacDonald
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#include <glib.h>
-+#include <string.h>
-+
-+/*
-+ * g_memdup2:
-+ * @mem: (nullable): the memory to copy.
-+ * @byte_size: the number of bytes to copy.
-+ *
-+ * Allocates @byte_size bytes of memory, and copies @byte_size bytes into it
-+ * from @mem. If @mem is %NULL it returns %NULL.
-+ *
-+ * This replaces g_memdup(), which was prone to integer overflows when
-+ * converting the argument from a #gsize to a #guint.
-+ *
-+ * This static inline version is a backport of the new public API from
-+ * GLib 2.68, kept internal to GLib for backport to older stable releases.
-+ * See https://gitlab.gnome.org/GNOME/glib/-/issues/2319.
-+ *
-+ * Returns: (nullable): a pointer to the newly-allocated copy of the memory,
-+ *    or %NULL if @mem is %NULL.
-+ * Since: 2.68
-+ */
-+static inline gpointer
-+g_memdup2 (gconstpointer mem,
-+           gsize         byte_size)
-+{
-+  gpointer new_mem;
-+
-+  if (mem && byte_size != 0)
-+    {
-+      new_mem = g_malloc (byte_size);
-+      memcpy (new_mem, mem, byte_size);
-+    }
-+  else
-+    new_mem = NULL;
-+
-+  return new_mem;
-+}
-diff --git a/glib/meson.build b/glib/meson.build
-index aaf5f00f5..5a6eea397 100644
---- a/glib/meson.build
-+++ b/glib/meson.build
-@@ -268,6 +268,7 @@ glib_sources = files(
-   'gslist.c',
-   'gstdio.c',
-   'gstrfuncs.c',
-+  'gstrfuncsprivate.h',
-   'gstring.c',
-   'gstringchunk.c',
-   'gtestutils.c',
-diff --git a/glib/tests/strfuncs.c b/glib/tests/strfuncs.c
-index e1f9619c7..d968afff9 100644
---- a/glib/tests/strfuncs.c
-+++ b/glib/tests/strfuncs.c
-@@ -32,6 +32,8 @@
- #include <string.h>
- #include "glib.h"
- 
-+#include "gstrfuncsprivate.h"
-+
- #if defined (_MSC_VER) && (_MSC_VER <= 1800)
- #define isnan(x) _isnan(x)
- 
-@@ -219,6 +221,26 @@ test_memdup (void)
-   g_free (str_dup);
- }
- 
-+/* Testing g_memdup2() function with various positive and negative cases */
-+static void
-+test_memdup2 (void)
-+{
-+  gchar *str_dup = NULL;
-+  const gchar *str = "The quick brown fox jumps over the lazy dog";
-+
-+  /* Testing negative cases */
-+  g_assert_null (g_memdup2 (NULL, 1024));
-+  g_assert_null (g_memdup2 (str, 0));
-+  g_assert_null (g_memdup2 (NULL, 0));
-+
-+  /* Testing normal usage cases */
-+  str_dup = g_memdup2 (str, strlen (str) + 1);
-+  g_assert_nonnull (str_dup);
-+  g_assert_cmpstr (str, ==, str_dup);
-+
-+  g_free (str_dup);
-+}
-+
- /* Testing g_strpcpy() function with various positive and negative cases */
- static void
- test_stpcpy (void)
-@@ -2523,6 +2545,7 @@ main (int   argc,
-   g_test_add_func ("/strfuncs/has-prefix", test_has_prefix);
-   g_test_add_func ("/strfuncs/has-suffix", test_has_suffix);
-   g_test_add_func ("/strfuncs/memdup", test_memdup);
-+  g_test_add_func ("/strfuncs/memdup2", test_memdup2);
-   g_test_add_func ("/strfuncs/stpcpy", test_stpcpy);
-   g_test_add_func ("/strfuncs/str_match_string", test_str_match_string);
-   g_test_add_func ("/strfuncs/str_tokenize_and_fold", test_str_tokenize_and_fold);
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-02.patch b/gnu/packages/patches/glib-CVE-2021-27219-02.patch
deleted file mode 100644
index 431959fa8f..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-02.patch
+++ /dev/null
@@ -1,264 +0,0 @@
-Backport of:
-
-From be8834340a2d928ece82025463ae23dee2c333d0 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 13:37:56 +0000
-Subject: [PATCH 02/11] gio: Use g_memdup2() instead of g_memdup() in obvious
- places
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Convert all the call sites which use `g_memdup()`’s length argument
-trivially (for example, by passing a `sizeof()`), so that they use
-`g_memdup2()` instead.
-
-In almost all of these cases the use of `g_memdup()` would not have
-caused problems, but it will soon be deprecated, so best port away from
-it.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: #2319
----
- gio/gdbusconnection.c                 | 5 +++--
- gio/gdbusinterfaceskeleton.c          | 3 ++-
- gio/gfile.c                           | 7 ++++---
- gio/gsettingsschema.c                 | 5 +++--
- gio/gwin32registrykey.c               | 8 +++++---
- gio/tests/async-close-output-stream.c | 6 ++++--
- gio/tests/gdbus-export.c              | 5 +++--
- gio/win32/gwinhttpfile.c              | 9 +++++----
- 8 files changed, 29 insertions(+), 19 deletions(-)
-
-diff --git a/gio/gdbusconnection.c b/gio/gdbusconnection.c
-index f1f0921d4..d56453486 100644
---- a/gio/gdbusconnection.c
-+++ b/gio/gdbusconnection.c
-@@ -110,6 +110,7 @@
- #include "gasyncinitable.h"
- #include "giostream.h"
- #include "gasyncresult.h"
-+#include "gstrfuncsprivate.h"
- #include "gtask.h"
- #include "gmarshal-internal.h"
- 
-@@ -3997,7 +3998,7 @@ _g_dbus_interface_vtable_copy (const GDBusInterfaceVTable *vtable)
-   /* Don't waste memory by copying padding - remember to update this
-    * when changing struct _GDBusInterfaceVTable in gdbusconnection.h
-    */
--  return g_memdup ((gconstpointer) vtable, 3 * sizeof (gpointer));
-+  return g_memdup2 ((gconstpointer) vtable, 3 * sizeof (gpointer));
- }
- 
- static void
-@@ -4014,7 +4015,7 @@ _g_dbus_subtree_vtable_copy (const GDBusSubtreeVTable *vtable)
-   /* Don't waste memory by copying padding - remember to update this
-    * when changing struct _GDBusSubtreeVTable in gdbusconnection.h
-    */
--  return g_memdup ((gconstpointer) vtable, 3 * sizeof (gpointer));
-+  return g_memdup2 ((gconstpointer) vtable, 3 * sizeof (gpointer));
- }
- 
- static void
-diff --git a/gio/gdbusinterfaceskeleton.c b/gio/gdbusinterfaceskeleton.c
-index 4a06516c1..4a4b719a5 100644
---- a/gio/gdbusinterfaceskeleton.c
-+++ b/gio/gdbusinterfaceskeleton.c
-@@ -28,6 +28,7 @@
- #include "gdbusmethodinvocation.h"
- #include "gdbusconnection.h"
- #include "gmarshal-internal.h"
-+#include "gstrfuncsprivate.h"
- #include "gtask.h"
- #include "gioerror.h"
- 
-@@ -701,7 +702,7 @@ add_connection_locked (GDBusInterfaceSkeleton *interface_,
-        * properly before building the hooked_vtable, so we create it
-        * once at the last minute.
-        */
--      interface_->priv->hooked_vtable = g_memdup (g_dbus_interface_skeleton_get_vtable (interface_), sizeof (GDBusInterfaceVTable));
-+      interface_->priv->hooked_vtable = g_memdup2 (g_dbus_interface_skeleton_get_vtable (interface_), sizeof (GDBusInterfaceVTable));
-       interface_->priv->hooked_vtable->method_call = skeleton_intercept_handle_method_call;
-     }
- 
-diff --git a/gio/gfile.c b/gio/gfile.c
-index ba93f7c75..88b341e7d 100644
---- a/gio/gfile.c
-+++ b/gio/gfile.c
-@@ -60,6 +60,7 @@
- #include "gasyncresult.h"
- #include "gioerror.h"
- #include "glibintl.h"
-+#include "gstrfuncsprivate.h"
- 
- 
- /**
-@@ -7884,7 +7885,7 @@ measure_disk_usage_progress (gboolean reporting,
-   g_main_context_invoke_full (g_task_get_context (task),
-                               g_task_get_priority (task),
-                               measure_disk_usage_invoke_progress,
--                              g_memdup (&progress, sizeof progress),
-+                              g_memdup2 (&progress, sizeof progress),
-                               g_free);
- }
- 
-@@ -7902,7 +7903,7 @@ measure_disk_usage_thread (GTask        *task,
-                                  data->progress_callback ? measure_disk_usage_progress : NULL, task,
-                                  &result.disk_usage, &result.num_dirs, &result.num_files,
-                                  &error))
--    g_task_return_pointer (task, g_memdup (&result, sizeof result), g_free);
-+    g_task_return_pointer (task, g_memdup2 (&result, sizeof result), g_free);
-   else
-     g_task_return_error (task, error);
- }
-@@ -7926,7 +7927,7 @@ g_file_real_measure_disk_usage_async (GFile                        *file,
- 
-   task = g_task_new (file, cancellable, callback, user_data);
-   g_task_set_source_tag (task, g_file_real_measure_disk_usage_async);
--  g_task_set_task_data (task, g_memdup (&data, sizeof data), g_free);
-+  g_task_set_task_data (task, g_memdup2 (&data, sizeof data), g_free);
-   g_task_set_priority (task, io_priority);
- 
-   g_task_run_in_thread (task, measure_disk_usage_thread);
-diff --git a/gio/gsettingsschema.c b/gio/gsettingsschema.c
-index 3a60b8c64..dded9b1ca 100644
---- a/gio/gsettingsschema.c
-+++ b/gio/gsettingsschema.c
-@@ -20,6 +20,7 @@
- 
- #include "gsettingsschema-internal.h"
- #include "gsettings.h"
-+#include "gstrfuncsprivate.h"
- 
- #include "gvdb/gvdb-reader.h"
- #include "strinfo.c"
-@@ -1058,9 +1059,9 @@ g_settings_schema_list_children (GSettingsSchema *schema)
- 
-       if (g_str_has_suffix (key, "/"))
-         {
--          gint length = strlen (key);
-+          gsize length = strlen (key);
- 
--          strv[j] = g_memdup (key, length);
-+          strv[j] = g_memdup2 (key, length);
-           strv[j][length - 1] = '\0';
-           j++;
-         }
-diff --git a/gio/gwin32registrykey.c b/gio/gwin32registrykey.c
-index c19fede4e..619fd48af 100644
---- a/gio/gwin32registrykey.c
-+++ b/gio/gwin32registrykey.c
-@@ -28,6 +28,8 @@
- #include <ntstatus.h>
- #include <winternl.h>
- 
-+#include "gstrfuncsprivate.h"
-+
- #ifndef _WDMDDK_
- typedef enum _KEY_INFORMATION_CLASS {
-   KeyBasicInformation,
-@@ -247,7 +249,7 @@ g_win32_registry_value_iter_copy (const GWin32RegistryValueIter *iter)
-   new_iter->value_name_size = iter->value_name_size;
- 
-   if (iter->value_data != NULL)
--    new_iter->value_data = g_memdup (iter->value_data, iter->value_data_size);
-+    new_iter->value_data = g_memdup2 (iter->value_data, iter->value_data_size);
- 
-   new_iter->value_data_size = iter->value_data_size;
- 
-@@ -268,8 +270,8 @@ g_win32_registry_value_iter_copy (const GWin32RegistryValueIter *iter)
-   new_iter->value_data_expanded_charsize = iter->value_data_expanded_charsize;
- 
-   if (iter->value_data_expanded_u8 != NULL)
--    new_iter->value_data_expanded_u8 = g_memdup (iter->value_data_expanded_u8,
--                                                 iter->value_data_expanded_charsize);
-+    new_iter->value_data_expanded_u8 = g_memdup2 (iter->value_data_expanded_u8,
-+                                                  iter->value_data_expanded_charsize);
- 
-   new_iter->value_data_expanded_u8_size = iter->value_data_expanded_charsize;
- 
-diff --git a/gio/tests/async-close-output-stream.c b/gio/tests/async-close-output-stream.c
-index 5f6620275..d3f97a119 100644
---- a/gio/tests/async-close-output-stream.c
-+++ b/gio/tests/async-close-output-stream.c
-@@ -24,6 +24,8 @@
- #include <stdlib.h>
- #include <string.h>
- 
-+#include "gstrfuncsprivate.h"
-+
- #define DATA_TO_WRITE "Hello world\n"
- 
- typedef struct
-@@ -147,9 +149,9 @@ prepare_data (SetupData *data,
- 
-   data->expected_size = g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (data->data_stream));
- 
--  g_assert_cmpint (data->expected_size, >, 0);
-+  g_assert_cmpuint (data->expected_size, >, 0);
- 
--  data->expected_output = g_memdup (written, (guint)data->expected_size);
-+  data->expected_output = g_memdup2 (written, data->expected_size);
- 
-   /* then recreate the streams and prepare them for the asynchronous close */
-   destroy_streams (data);
-diff --git a/gio/tests/gdbus-export.c b/gio/tests/gdbus-export.c
-index 506c7458a..5513306f8 100644
---- a/gio/tests/gdbus-export.c
-+++ b/gio/tests/gdbus-export.c
-@@ -23,6 +23,7 @@
- #include <string.h>
- 
- #include "gdbus-tests.h"
-+#include "gstrfuncsprivate.h"
- 
- /* all tests rely on a shared mainloop */
- static GMainLoop *loop = NULL;
-@@ -671,7 +672,7 @@ subtree_introspect (GDBusConnection       *connection,
-       g_assert_not_reached ();
-     }
- 
--  return g_memdup (interfaces, 2 * sizeof (void *));
-+  return g_memdup2 (interfaces, 2 * sizeof (void *));
- }
- 
- static const GDBusInterfaceVTable *
-@@ -727,7 +728,7 @@ dynamic_subtree_introspect (GDBusConnection       *connection,
- {
-   const GDBusInterfaceInfo *interfaces[2] = { &dyna_interface_info, NULL };
- 
--  return g_memdup (interfaces, 2 * sizeof (void *));
-+  return g_memdup2 (interfaces, 2 * sizeof (void *));
- }
- 
- static const GDBusInterfaceVTable *
-diff --git a/gio/win32/gwinhttpfile.c b/gio/win32/gwinhttpfile.c
-index cf5eed31d..040ee8564 100644
---- a/gio/win32/gwinhttpfile.c
-+++ b/gio/win32/gwinhttpfile.c
-@@ -29,6 +29,7 @@
- #include "gio/gfile.h"
- #include "gio/gfileattribute.h"
- #include "gio/gfileinfo.h"
-+#include "gstrfuncsprivate.h"
- #include "gwinhttpfile.h"
- #include "gwinhttpfileinputstream.h"
- #include "gwinhttpfileoutputstream.h"
-@@ -393,10 +394,10 @@ g_winhttp_file_resolve_relative_path (GFile      *file,
-   child = g_object_new (G_TYPE_WINHTTP_FILE, NULL);
-   child->vfs = winhttp_file->vfs;
-   child->url = winhttp_file->url;
--  child->url.lpszScheme = g_memdup (winhttp_file->url.lpszScheme, (winhttp_file->url.dwSchemeLength+1)*2);
--  child->url.lpszHostName = g_memdup (winhttp_file->url.lpszHostName, (winhttp_file->url.dwHostNameLength+1)*2);
--  child->url.lpszUserName = g_memdup (winhttp_file->url.lpszUserName, (winhttp_file->url.dwUserNameLength+1)*2);
--  child->url.lpszPassword = g_memdup (winhttp_file->url.lpszPassword, (winhttp_file->url.dwPasswordLength+1)*2);
-+  child->url.lpszScheme = g_memdup2 (winhttp_file->url.lpszScheme, (winhttp_file->url.dwSchemeLength+1)*2);
-+  child->url.lpszHostName = g_memdup2 (winhttp_file->url.lpszHostName, (winhttp_file->url.dwHostNameLength+1)*2);
-+  child->url.lpszUserName = g_memdup2 (winhttp_file->url.lpszUserName, (winhttp_file->url.dwUserNameLength+1)*2);
-+  child->url.lpszPassword = g_memdup2 (winhttp_file->url.lpszPassword, (winhttp_file->url.dwPasswordLength+1)*2);
-   child->url.lpszUrlPath = wnew_path;
-   child->url.dwUrlPathLength = wcslen (wnew_path);
-   child->url.lpszExtraInfo = NULL;
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-03.patch b/gnu/packages/patches/glib-CVE-2021-27219-03.patch
deleted file mode 100644
index 99e849c43c..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-03.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-From 6110caea45b235420b98cd41d845cc92238f6781 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 13:39:25 +0000
-Subject: [PATCH 03/11] gobject: Use g_memdup2() instead of g_memdup() in
- obvious places
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Convert all the call sites which use `g_memdup()`’s length argument
-trivially (for example, by passing a `sizeof()`), so that they use
-`g_memdup2()` instead.
-
-In almost all of these cases the use of `g_memdup()` would not have
-caused problems, but it will soon be deprecated, so best port away from
-it.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: #2319
----
- gobject/gsignal.c     | 3 ++-
- gobject/gtype.c       | 9 +++++----
- gobject/gtypemodule.c | 3 ++-
- gobject/tests/param.c | 4 +++-
- 4 files changed, 12 insertions(+), 7 deletions(-)
-
-diff --git a/gobject/gsignal.c b/gobject/gsignal.c
-index 77d8f211e..41c54ab57 100644
---- a/gobject/gsignal.c
-+++ b/gobject/gsignal.c
-@@ -28,6 +28,7 @@
- #include <signal.h>
- 
- #include "gsignal.h"
-+#include "gstrfuncsprivate.h"
- #include "gtype-private.h"
- #include "gbsearcharray.h"
- #include "gvaluecollector.h"
-@@ -1730,7 +1731,7 @@ g_signal_newv (const gchar       *signal_name,
-   node->single_va_closure_is_valid = FALSE;
-   node->flags = signal_flags & G_SIGNAL_FLAGS_MASK;
-   node->n_params = n_params;
--  node->param_types = g_memdup (param_types, sizeof (GType) * n_params);
-+  node->param_types = g_memdup2 (param_types, sizeof (GType) * n_params);
-   node->return_type = return_type;
-   node->class_closure_bsa = NULL;
-   if (accumulator)
-diff --git a/gobject/gtype.c b/gobject/gtype.c
-index 7d3789400..8441b90e9 100644
---- a/gobject/gtype.c
-+++ b/gobject/gtype.c
-@@ -33,6 +33,7 @@
- 
- #include "glib-private.h"
- #include "gconstructor.h"
-+#include "gstrfuncsprivate.h"
- 
- #ifdef G_OS_WIN32
- #include <windows.h>
-@@ -1470,7 +1471,7 @@ type_add_interface_Wm (TypeNode             *node,
-   iholder->next = iface_node_get_holders_L (iface);
-   iface_node_set_holders_W (iface, iholder);
-   iholder->instance_type = NODE_TYPE (node);
--  iholder->info = info ? g_memdup (info, sizeof (*info)) : NULL;
-+  iholder->info = info ? g_memdup2 (info, sizeof (*info)) : NULL;
-   iholder->plugin = plugin;
- 
-   /* create an iface entry for this type */
-@@ -1731,7 +1732,7 @@ type_iface_retrieve_holder_info_Wm (TypeNode *iface,
-         INVALID_RECURSION ("g_type_plugin_*", iholder->plugin, NODE_NAME (iface));
-       
-       check_interface_info_I (iface, instance_type, &tmp_info);
--      iholder->info = g_memdup (&tmp_info, sizeof (tmp_info));
-+      iholder->info = g_memdup2 (&tmp_info, sizeof (tmp_info));
-     }
-   
-   return iholder;	/* we don't modify write lock upon returning NULL */
-@@ -2016,10 +2017,10 @@ type_iface_vtable_base_init_Wm (TypeNode *iface,
-       IFaceEntry *pentry = type_lookup_iface_entry_L (pnode, iface);
-       
-       if (pentry)
--	vtable = g_memdup (pentry->vtable, iface->data->iface.vtable_size);
-+	vtable = g_memdup2 (pentry->vtable, iface->data->iface.vtable_size);
-     }
-   if (!vtable)
--    vtable = g_memdup (iface->data->iface.dflt_vtable, iface->data->iface.vtable_size);
-+    vtable = g_memdup2 (iface->data->iface.dflt_vtable, iface->data->iface.vtable_size);
-   entry->vtable = vtable;
-   vtable->g_type = NODE_TYPE (iface);
-   vtable->g_instance_type = NODE_TYPE (node);
-diff --git a/gobject/gtypemodule.c b/gobject/gtypemodule.c
-index 4ecaf8c88..20911fafd 100644
---- a/gobject/gtypemodule.c
-+++ b/gobject/gtypemodule.c
-@@ -19,6 +19,7 @@
- 
- #include <stdlib.h>
- 
-+#include "gstrfuncsprivate.h"
- #include "gtypeplugin.h"
- #include "gtypemodule.h"
- 
-@@ -436,7 +437,7 @@ g_type_module_register_type (GTypeModule     *module,
-   module_type_info->loaded = TRUE;
-   module_type_info->info = *type_info;
-   if (type_info->value_table)
--    module_type_info->info.value_table = g_memdup (type_info->value_table,
-+    module_type_info->info.value_table = g_memdup2 (type_info->value_table,
- 						   sizeof (GTypeValueTable));
- 
-   return module_type_info->type;
-diff --git a/gobject/tests/param.c b/gobject/tests/param.c
-index 758289bf8..971cff162 100644
---- a/gobject/tests/param.c
-+++ b/gobject/tests/param.c
-@@ -2,6 +2,8 @@
- #include <glib-object.h>
- #include <stdlib.h>
- 
-+#include "gstrfuncsprivate.h"
-+
- static void
- test_param_value (void)
- {
-@@ -851,7 +853,7 @@ main (int argc, char *argv[])
-             test_path = g_strdup_printf ("/param/implement/subprocess/%d-%d-%d-%d",
-                                          data.change_this_flag, data.change_this_type,
-                                          data.use_this_flag, data.use_this_type);
--            test_data = g_memdup (&data, sizeof (TestParamImplementData));
-+            test_data = g_memdup2 (&data, sizeof (TestParamImplementData));
-             g_test_add_data_func_full (test_path, test_data, test_param_implement_child, g_free);
-             g_free (test_path);
-           }
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-04.patch b/gnu/packages/patches/glib-CVE-2021-27219-04.patch
deleted file mode 100644
index 3ae01f34b1..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-04.patch
+++ /dev/null
@@ -1,308 +0,0 @@
-Backport of:
-
-From 0736b7c1e7cf4232c5d7eb2b0fbfe9be81bd3baa Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 13:41:21 +0000
-Subject: [PATCH 04/11] glib: Use g_memdup2() instead of g_memdup() in obvious
- places
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Convert all the call sites which use `g_memdup()`’s length argument
-trivially (for example, by passing a `sizeof()` or an existing `gsize`
-variable), so that they use `g_memdup2()` instead.
-
-In almost all of these cases the use of `g_memdup()` would not have
-caused problems, but it will soon be deprecated, so best port away from
-it
-
-In particular, this fixes an overflow within `g_bytes_new()`, identified
-as GHSL-2021-045 by GHSL team member Kevin Backhouse.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Fixes: GHSL-2021-045
-Helps: #2319
----
- glib/gbytes.c               | 6 ++++--
- glib/gdir.c                 | 3 ++-
- glib/ghash.c                | 7 ++++---
- glib/giochannel.c           | 3 ++-
- glib/gslice.c               | 3 ++-
- glib/gtestutils.c           | 3 ++-
- glib/gvariant.c             | 7 ++++---
- glib/gvarianttype.c         | 3 ++-
- glib/tests/array-test.c     | 4 +++-
- glib/tests/option-context.c | 6 ++++--
- 10 files changed, 29 insertions(+), 16 deletions(-)
-
-diff --git a/glib/gbytes.c b/glib/gbytes.c
-index d56abe6c3..dee494820 100644
---- a/glib/gbytes.c
-+++ b/glib/gbytes.c
-@@ -34,6 +34,8 @@
- 
- #include <string.h>
- 
-+#include "gstrfuncsprivate.h"
-+
- /**
-  * GBytes:
-  *
-@@ -95,7 +97,7 @@ g_bytes_new (gconstpointer data,
- {
-   g_return_val_if_fail (data != NULL || size == 0, NULL);
- 
--  return g_bytes_new_take (g_memdup (data, size), size);
-+  return g_bytes_new_take (g_memdup2 (data, size), size);
- }
- 
- /**
-@@ -499,7 +501,7 @@ g_bytes_unref_to_data (GBytes *bytes,
-        * Copy: Non g_malloc (or compatible) allocator, or static memory,
-        * so we have to copy, and then unref.
-        */
--      result = g_memdup (bytes->data, bytes->size);
-+      result = g_memdup2 (bytes->data, bytes->size);
-       *size = bytes->size;
-       g_bytes_unref (bytes);
-     }
-diff --git a/glib/gdir.c b/glib/gdir.c
-index 6b85e99c8..6747a8c6f 100644
---- a/glib/gdir.c
-+++ b/glib/gdir.c
-@@ -37,6 +37,7 @@
- #include "gconvert.h"
- #include "gfileutils.h"
- #include "gstrfuncs.h"
-+#include "gstrfuncsprivate.h"
- #include "gtestutils.h"
- #include "glibintl.h"
- 
-@@ -112,7 +113,7 @@ g_dir_open_with_errno (const gchar *path,
-     return NULL;
- #endif
- 
--  return g_memdup (&dir, sizeof dir);
-+  return g_memdup2 (&dir, sizeof dir);
- }
- 
- /**
-diff --git a/glib/ghash.c b/glib/ghash.c
-index e61b03788..26f26062b 100644
---- a/glib/ghash.c
-+++ b/glib/ghash.c
-@@ -34,6 +34,7 @@
- #include "gmacros.h"
- #include "glib-private.h"
- #include "gstrfuncs.h"
-+#include "gstrfuncsprivate.h"
- #include "gatomic.h"
- #include "gtestutils.h"
- #include "gslice.h"
-@@ -964,7 +965,7 @@ g_hash_table_ensure_keyval_fits (GHashTable *hash_table, gpointer key, gpointer
-       if (hash_table->have_big_keys)
-         {
-           if (key != value)
--            hash_table->values = g_memdup (hash_table->keys, sizeof (gpointer) * hash_table->size);
-+            hash_table->values = g_memdup2 (hash_table->keys, sizeof (gpointer) * hash_table->size);
-           /* Keys and values are both big now, so no need for further checks */
-           return;
-         }
-@@ -972,7 +973,7 @@ g_hash_table_ensure_keyval_fits (GHashTable *hash_table, gpointer key, gpointer
-         {
-           if (key != value)
-             {
--              hash_table->values = g_memdup (hash_table->keys, sizeof (guint) * hash_table->size);
-+              hash_table->values = g_memdup2 (hash_table->keys, sizeof (guint) * hash_table->size);
-               is_a_set = FALSE;
-             }
-         }
-@@ -1000,7 +1001,7 @@ g_hash_table_ensure_keyval_fits (GHashTable *hash_table, gpointer key, gpointer
- 
-   /* Just split if necessary */
-   if (is_a_set && key != value)
--    hash_table->values = g_memdup (hash_table->keys, sizeof (gpointer) * hash_table->size);
-+    hash_table->values = g_memdup2 (hash_table->keys, sizeof (gpointer) * hash_table->size);
- 
- #endif
- }
-diff --git a/glib/giochannel.c b/glib/giochannel.c
-index 1956e9dc6..15927c391 100644
---- a/glib/giochannel.c
-+++ b/glib/giochannel.c
-@@ -37,6 +37,7 @@
- #include "giochannel.h"
- 
- #include "gstrfuncs.h"
-+#include "gstrfuncsprivate.h"
- #include "gtestutils.h"
- #include "glibintl.h"
- 
-@@ -892,7 +893,7 @@ g_io_channel_set_line_term (GIOChannel	*channel,
-     length = strlen (line_term);
- 
-   g_free (channel->line_term);
--  channel->line_term = line_term ? g_memdup (line_term, length) : NULL;
-+  channel->line_term = line_term ? g_memdup2 (line_term, length) : NULL;
-   channel->line_term_len = length;
- }
- 
-diff --git a/glib/gslice.c b/glib/gslice.c
-index 4c758c3be..bcdbb8853 100644
---- a/glib/gslice.c
-+++ b/glib/gslice.c
-@@ -41,6 +41,7 @@
- #include "gmain.h"
- #include "gmem.h"               /* gslice.h */
- #include "gstrfuncs.h"
-+#include "gstrfuncsprivate.h"
- #include "gutils.h"
- #include "gtrashstack.h"
- #include "gtestutils.h"
-@@ -350,7 +351,7 @@ g_slice_get_config_state (GSliceConfig ckey,
-       array[i++] = allocator->contention_counters[address];
-       array[i++] = allocator_get_magazine_threshold (allocator, address);
-       *n_values = i;
--      return g_memdup (array, sizeof (array[0]) * *n_values);
-+      return g_memdup2 (array, sizeof (array[0]) * *n_values);
-     default:
-       return NULL;
-     }
-diff --git a/glib/gtestutils.c b/glib/gtestutils.c
-index dd789482f..5887ecc36 100644
---- a/glib/gtestutils.c
-+++ b/glib/gtestutils.c
-@@ -49,6 +49,7 @@
- #include "gpattern.h"
- #include "grand.h"
- #include "gstrfuncs.h"
-+#include "gstrfuncsprivate.h"
- #include "gtimer.h"
- #include "gslice.h"
- #include "gspawn.h"
-@@ -3798,7 +3799,7 @@ g_test_log_extract (GTestLogBuffer *tbuffer)
-       if (p <= tbuffer->data->str + mlength)
-         {
-           g_string_erase (tbuffer->data, 0, mlength);
--          tbuffer->msgs = g_slist_prepend (tbuffer->msgs, g_memdup (&msg, sizeof (msg)));
-+          tbuffer->msgs = g_slist_prepend (tbuffer->msgs, g_memdup2 (&msg, sizeof (msg)));
-           return TRUE;
-         }
- 
-diff --git a/glib/gvariant.c b/glib/gvariant.c
-index b61bf7278..d6f68a9ea 100644
---- a/glib/gvariant.c
-+++ b/glib/gvariant.c
-@@ -33,6 +33,7 @@
- 
- #include <string.h>
- 
-+#include "gstrfuncsprivate.h"
- 
- /**
-  * SECTION:gvariant
-@@ -725,7 +726,7 @@ g_variant_new_variant (GVariant *value)
-   g_variant_ref_sink (value);
- 
-   return g_variant_new_from_children (G_VARIANT_TYPE_VARIANT,
--                                      g_memdup (&value, sizeof value),
-+                                      g_memdup2 (&value, sizeof value),
-                                       1, g_variant_is_trusted (value));
- }
- 
-@@ -1229,7 +1230,7 @@ g_variant_new_fixed_array (const GVariantType  *element_type,
-       return NULL;
-     }
- 
--  data = g_memdup (elements, n_elements * element_size);
-+  data = g_memdup2 (elements, n_elements * element_size);
-   value = g_variant_new_from_data (array_type, data,
-                                    n_elements * element_size,
-                                    FALSE, g_free, data);
-@@ -1908,7 +1909,7 @@ g_variant_dup_bytestring (GVariant *value,
-   if (length)
-     *length = size;
- 
--  return g_memdup (original, size + 1);
-+  return g_memdup2 (original, size + 1);
- }
- 
- /**
-diff --git a/glib/gvarianttype.c b/glib/gvarianttype.c
-index 1a228f73b..07659ff12 100644
---- a/glib/gvarianttype.c
-+++ b/glib/gvarianttype.c
-@@ -28,6 +28,7 @@
- 
- #include <string.h>
- 
-+#include "gstrfuncsprivate.h"
- 
- /**
-  * SECTION:gvarianttype
-@@ -1181,7 +1182,7 @@ g_variant_type_new_tuple (const GVariantType * const *items,
-   g_assert (offset < sizeof buffer);
-   buffer[offset++] = ')';
- 
--  return (GVariantType *) g_memdup (buffer, offset);
-+  return (GVariantType *) g_memdup2 (buffer, offset);
- }
- 
- /**
-diff --git a/glib/tests/array-test.c b/glib/tests/array-test.c
-index 3fcf1136a..11982f822 100644
---- a/glib/tests/array-test.c
-+++ b/glib/tests/array-test.c
-@@ -29,6 +29,8 @@
- #include <string.h>
- #include "glib.h"
- 
-+#include "gstrfuncsprivate.h"
-+
- /* Test data to be passed to any function which calls g_array_new(), providing
-  * the parameters for that call. Most #GArray tests should be repeated for all
-  * possible values of #ArrayTestData. */
-@@ -1642,7 +1644,7 @@ byte_array_new_take (void)
-   GByteArray *gbarray;
-   guint8 *data;
- 
--  data = g_memdup ("woooweeewow", 11);
-+  data = g_memdup2 ("woooweeewow", 11);
-   gbarray = g_byte_array_new_take (data, 11);
-   g_assert (gbarray->data == data);
-   g_assert_cmpuint (gbarray->len, ==, 11);
-diff --git a/glib/tests/option-context.c b/glib/tests/option-context.c
-index 149d22353..88d2b80d1 100644
---- a/glib/tests/option-context.c
-+++ b/glib/tests/option-context.c
-@@ -27,6 +27,8 @@
- #include <string.h>
- #include <locale.h>
- 
-+#include "gstrfuncsprivate.h"
-+
- static GOptionEntry main_entries[] = {
-   { "main-switch", 0, 0,
-     G_OPTION_ARG_NONE, NULL,
-@@ -256,7 +258,7 @@ join_stringv (int argc, char **argv)
- static char **
- copy_stringv (char **argv, int argc)
- {
--  return g_memdup (argv, sizeof (char *) * (argc + 1));
-+  return g_memdup2 (argv, sizeof (char *) * (argc + 1));
- }
- 
- static void
-@@ -2323,7 +2325,7 @@ test_group_parse (void)
-   g_option_context_add_group (context, group);
- 
-   argv = split_string ("program --test arg1 -f arg2 --group-test arg3 --frob arg4 -z arg5", &argc);
--  orig_argv = g_memdup (argv, (argc + 1) * sizeof (char *));
-+  orig_argv = g_memdup2 (argv, (argc + 1) * sizeof (char *));
- 
-   retval = g_option_context_parse (context, &argc, &argv, &error);
- 
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-05.patch b/gnu/packages/patches/glib-CVE-2021-27219-05.patch
deleted file mode 100644
index 62bce1b188..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-05.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 0cbad673215ec8a049b7fe2ff44b0beed31b376e Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 16:12:24 +0000
-Subject: [PATCH 05/11] gwinhttpfile: Avoid arithmetic overflow when
- calculating a size
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The members of `URL_COMPONENTS` (`winhttp_file->url`) are `DWORD`s, i.e.
-32-bit unsigned integers. Adding to and multiplying them may cause them
-to overflow the unsigned integer bounds, even if the result is passed to
-`g_memdup2()` which accepts a `gsize`.
-
-Cast the `URL_COMPONENTS` members to `gsize` first to ensure that the
-arithmetic is done in terms of `gsize`s rather than unsigned integers.
-
-Spotted by Sebastian Dröge.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: #2319
----
- gio/win32/gwinhttpfile.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/gio/win32/gwinhttpfile.c b/gio/win32/gwinhttpfile.c
-index 040ee8564..246ec0578 100644
---- a/gio/win32/gwinhttpfile.c
-+++ b/gio/win32/gwinhttpfile.c
-@@ -394,10 +394,10 @@ g_winhttp_file_resolve_relative_path (GFile      *file,
-   child = g_object_new (G_TYPE_WINHTTP_FILE, NULL);
-   child->vfs = winhttp_file->vfs;
-   child->url = winhttp_file->url;
--  child->url.lpszScheme = g_memdup2 (winhttp_file->url.lpszScheme, (winhttp_file->url.dwSchemeLength+1)*2);
--  child->url.lpszHostName = g_memdup2 (winhttp_file->url.lpszHostName, (winhttp_file->url.dwHostNameLength+1)*2);
--  child->url.lpszUserName = g_memdup2 (winhttp_file->url.lpszUserName, (winhttp_file->url.dwUserNameLength+1)*2);
--  child->url.lpszPassword = g_memdup2 (winhttp_file->url.lpszPassword, (winhttp_file->url.dwPasswordLength+1)*2);
-+  child->url.lpszScheme = g_memdup2 (winhttp_file->url.lpszScheme, ((gsize) winhttp_file->url.dwSchemeLength + 1) * 2);
-+  child->url.lpszHostName = g_memdup2 (winhttp_file->url.lpszHostName, ((gsize) winhttp_file->url.dwHostNameLength + 1) * 2);
-+  child->url.lpszUserName = g_memdup2 (winhttp_file->url.lpszUserName, ((gsize) winhttp_file->url.dwUserNameLength + 1) * 2);
-+  child->url.lpszPassword = g_memdup2 (winhttp_file->url.lpszPassword, ((gsize) winhttp_file->url.dwPasswordLength + 1) * 2);
-   child->url.lpszUrlPath = wnew_path;
-   child->url.dwUrlPathLength = wcslen (wnew_path);
-   child->url.lpszExtraInfo = NULL;
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-06.patch b/gnu/packages/patches/glib-CVE-2021-27219-06.patch
deleted file mode 100644
index 4e2435f5fd..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-06.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From f9ee2275cbc312c0b4cdbc338a4fbb76eb36fb9a Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 13:49:00 +0000
-Subject: [PATCH 06/11] gdatainputstream: Handle stop_chars_len internally as
- gsize
-
-Previously it was handled as a `gssize`, which meant that if the
-`stop_chars` string was longer than `G_MAXSSIZE` there would be an
-overflow.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: #2319
----
- gio/gdatainputstream.c | 25 +++++++++++++++++--------
- 1 file changed, 17 insertions(+), 8 deletions(-)
-
-diff --git a/gio/gdatainputstream.c b/gio/gdatainputstream.c
-index 2e7750cb5..2cdcbda19 100644
---- a/gio/gdatainputstream.c
-+++ b/gio/gdatainputstream.c
-@@ -27,6 +27,7 @@
- #include "gioenumtypes.h"
- #include "gioerror.h"
- #include "glibintl.h"
-+#include "gstrfuncsprivate.h"
- 
- #include <string.h>
- 
-@@ -856,7 +857,7 @@ static gssize
- scan_for_chars (GDataInputStream *stream,
- 		gsize            *checked_out,
- 		const char       *stop_chars,
--                gssize            stop_chars_len)
-+                gsize             stop_chars_len)
- {
-   GBufferedInputStream *bstream;
-   const char *buffer;
-@@ -952,7 +953,7 @@ typedef struct
-   gsize checked;
- 
-   gchar *stop_chars;
--  gssize stop_chars_len;
-+  gsize stop_chars_len;
-   gsize length;
- } GDataInputStreamReadData;
- 
-@@ -1078,12 +1079,17 @@ g_data_input_stream_read_async (GDataInputStream    *stream,
- {
-   GDataInputStreamReadData *data;
-   GTask *task;
-+  gsize stop_chars_len_unsigned;
- 
-   data = g_slice_new0 (GDataInputStreamReadData);
--  if (stop_chars_len == -1)
--    stop_chars_len = strlen (stop_chars);
--  data->stop_chars = g_memdup (stop_chars, stop_chars_len);
--  data->stop_chars_len = stop_chars_len;
-+
-+  if (stop_chars_len < 0)
-+    stop_chars_len_unsigned = strlen (stop_chars);
-+  else
-+    stop_chars_len_unsigned = (gsize) stop_chars_len;
-+
-+  data->stop_chars = g_memdup2 (stop_chars, stop_chars_len_unsigned);
-+  data->stop_chars_len = stop_chars_len_unsigned;
-   data->last_saw_cr = FALSE;
- 
-   task = g_task_new (stream, cancellable, callback, user_data);
-@@ -1338,17 +1344,20 @@ g_data_input_stream_read_upto (GDataInputStream  *stream,
-   gssize found_pos;
-   gssize res;
-   char *data_until;
-+  gsize stop_chars_len_unsigned;
- 
-   g_return_val_if_fail (G_IS_DATA_INPUT_STREAM (stream), NULL);
- 
-   if (stop_chars_len < 0)
--    stop_chars_len = strlen (stop_chars);
-+    stop_chars_len_unsigned = strlen (stop_chars);
-+  else
-+    stop_chars_len_unsigned = (gsize) stop_chars_len;
- 
-   bstream = G_BUFFERED_INPUT_STREAM (stream);
- 
-   checked = 0;
- 
--  while ((found_pos = scan_for_chars (stream, &checked, stop_chars, stop_chars_len)) == -1)
-+  while ((found_pos = scan_for_chars (stream, &checked, stop_chars, stop_chars_len_unsigned)) == -1)
-     {
-       if (g_buffered_input_stream_get_available (bstream) ==
-           g_buffered_input_stream_get_buffer_size (bstream))
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-07.patch b/gnu/packages/patches/glib-CVE-2021-27219-07.patch
deleted file mode 100644
index dad3d285f4..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-07.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-Backport of:
-
-From 2aaf593a9eb96d84fe3be740aca2810a97d95592 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 13:50:37 +0000
-Subject: [PATCH 07/11] gwin32: Use gsize internally in g_wcsdup()
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This allows it to handle strings up to length `G_MAXSIZE` — previously
-it would overflow with such strings.
-
-Update the several copies of it identically.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: #2319
----
- gio/gwin32appinfo.c     | 33 ++++++++++++++++++++++++++-------
- gio/gwin32registrykey.c | 34 ++++++++++++++++++++++++++--------
- 2 files changed, 52 insertions(+), 15 deletions(-)
-
-diff --git a/gio/gwin32appinfo.c b/gio/gwin32appinfo.c
-index 9f335b370..dd7a96a4a 100644
---- a/gio/gwin32appinfo.c
-+++ b/gio/gwin32appinfo.c
-@@ -464,15 +464,34 @@ static GWin32RegistryKey *applications_key;
- /* Watch this key */
- static GWin32RegistryKey *classes_root_key;
- 
-+static gsize
-+g_utf16_len (const gunichar2 *str)
-+{
-+  gsize result;
-+
-+  for (result = 0; str[0] != 0; str++, result++)
-+    ;
-+
-+  return result;
-+}
-+
- static gunichar2 *
--g_wcsdup (const gunichar2 *str, gssize str_size)
-+g_wcsdup (const gunichar2 *str, gssize str_len)
- {
--  if (str_size == -1)
--    {
--      str_size = wcslen (str) + 1;
--      str_size *= sizeof (gunichar2);
--    }
--  return g_memdup (str, str_size);
-+  gsize str_len_unsigned;
-+  gsize str_size;
-+
-+  g_return_val_if_fail (str != NULL, NULL);
-+
-+  if (str_len < 0)
-+    str_len_unsigned = g_utf16_len (str);
-+  else
-+    str_len_unsigned = (gsize) str_len;
-+
-+  g_assert (str_len_unsigned <= G_MAXSIZE / sizeof (gunichar2) - 1);
-+  str_size = (str_len_unsigned + 1) * sizeof (gunichar2);
-+
-+  return g_memdup2 (str, str_size);
- }
- 
- #define URL_ASSOCIATIONS L"HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\"
-diff --git a/gio/gwin32registrykey.c b/gio/gwin32registrykey.c
-index 619fd48af..fbd65311a 100644
---- a/gio/gwin32registrykey.c
-+++ b/gio/gwin32registrykey.c
-@@ -127,16 +127,34 @@ typedef enum
-   G_WIN32_REGISTRY_UPDATED_PATH = 1,
- } GWin32RegistryKeyUpdateFlag;
- 
-+static gsize
-+g_utf16_len (const gunichar2 *str)
-+{
-+  gsize result;
-+
-+  for (result = 0; str[0] != 0; str++, result++)
-+    ;
-+
-+  return result;
-+}
-+
- static gunichar2 *
--g_wcsdup (const gunichar2 *str,
--          gssize           str_size)
-+g_wcsdup (const gunichar2 *str, gssize str_len)
- {
--  if (str_size == -1)
--    {
--      str_size = wcslen (str) + 1;
--      str_size *= sizeof (gunichar2);
--    }
--  return g_memdup (str, str_size);
-+  gsize str_len_unsigned;
-+  gsize str_size;
-+
-+  g_return_val_if_fail (str != NULL, NULL);
-+
-+  if (str_len < 0)
-+    str_len_unsigned = g_utf16_len (str);
-+  else
-+    str_len_unsigned = (gsize) str_len;
-+
-+  g_assert (str_len_unsigned <= G_MAXSIZE / sizeof (gunichar2) - 1);
-+  str_size = (str_len_unsigned + 1) * sizeof (gunichar2);
-+
-+  return g_memdup2 (str, str_size);
- }
- 
- /**
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-08.patch b/gnu/packages/patches/glib-CVE-2021-27219-08.patch
deleted file mode 100644
index 2c021ad317..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-08.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From ba8ca443051f93a74c0d03d62e70402036f967a5 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 13:58:32 +0000
-Subject: [PATCH 08/11] gkeyfilesettingsbackend: Handle long keys when
- converting paths
-
-Previously, the code in `convert_path()` could not handle keys longer
-than `G_MAXINT`, and would overflow if that was exceeded.
-
-Convert the code to use `gsize` and `g_memdup2()` throughout, and
-change from identifying the position of the final slash in the string
-using a signed offset `i`, to using a pointer to the character (and
-`strrchr()`). This allows the slash to be at any position in a
-`G_MAXSIZE`-long string, without sacrificing a bit of the offset for
-indicating whether a slash was found.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: #2319
----
- gio/gkeyfilesettingsbackend.c | 21 ++++++++++-----------
- 1 file changed, 10 insertions(+), 11 deletions(-)
-
-diff --git a/gio/gkeyfilesettingsbackend.c b/gio/gkeyfilesettingsbackend.c
-index cd5765afd..25b057672 100644
---- a/gio/gkeyfilesettingsbackend.c
-+++ b/gio/gkeyfilesettingsbackend.c
-@@ -33,6 +33,7 @@
- #include "gfilemonitor.h"
- #include "gsimplepermission.h"
- #include "gsettingsbackendinternal.h"
-+#include "gstrfuncsprivate.h"
- #include "giomodule-priv.h"
- #include "gportalsupport.h"
- 
-@@ -145,8 +146,8 @@ convert_path (GKeyfileSettingsBackend  *kfsb,
-               gchar                   **group,
-               gchar                   **basename)
- {
--  gint key_len = strlen (key);
--  gint i;
-+  gsize key_len = strlen (key);
-+  const gchar *last_slash;
- 
-   if (key_len < kfsb->prefix_len ||
-       memcmp (key, kfsb->prefix, kfsb->prefix_len) != 0)
-@@ -155,38 +156,36 @@ convert_path (GKeyfileSettingsBackend  *kfsb,
-   key_len -= kfsb->prefix_len;
-   key += kfsb->prefix_len;
- 
--  for (i = key_len; i >= 0; i--)
--    if (key[i] == '/')
--      break;
-+  last_slash = strrchr (key, '/');
- 
-   if (kfsb->root_group)
-     {
-       /* if a root_group was specified, make sure the user hasn't given
-        * a path that ghosts that group name
-        */
--      if (i == kfsb->root_group_len && memcmp (key, kfsb->root_group, i) == 0)
-+      if (last_slash != NULL && (last_slash - key) == kfsb->root_group_len && memcmp (key, kfsb->root_group, last_slash - key) == 0)
-         return FALSE;
-     }
-   else
-     {
-       /* if no root_group was given, ensure that the user gave a path */
--      if (i == -1)
-+      if (last_slash == NULL)
-         return FALSE;
-     }
- 
-   if (group)
-     {
--      if (i >= 0)
-+      if (last_slash != NULL)
-         {
--          *group = g_memdup (key, i + 1);
--          (*group)[i] = '\0';
-+          *group = g_memdup2 (key, (last_slash - key) + 1);
-+          (*group)[(last_slash - key)] = '\0';
-         }
-       else
-         *group = g_strdup (kfsb->root_group);
-     }
- 
-   if (basename)
--    *basename = g_memdup (key + i + 1, key_len - i);
-+    *basename = g_memdup2 (last_slash + 1, key_len - (last_slash - key));
- 
-   return TRUE;
- }
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-09.patch b/gnu/packages/patches/glib-CVE-2021-27219-09.patch
deleted file mode 100644
index 4de0c1b349..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-09.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 65ec7f4d6e8832c481f6e00e2eb007b9a60024ce Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 14:00:53 +0000
-Subject: [PATCH 09/11] gsocket: Use gsize to track native sockaddr's size
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Don’t use an `int`, that’s potentially too small. In practical terms,
-this is not a problem, since no socket address is going to be that big.
-
-By making these changes we can use `g_memdup2()` without warnings,
-though. Fewer warnings is good.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: #2319
----
- gio/gsocket.c | 16 ++++++++++------
- 1 file changed, 10 insertions(+), 6 deletions(-)
-
-diff --git a/gio/gsocket.c b/gio/gsocket.c
-index 66073af83..a3af149e8 100644
---- a/gio/gsocket.c
-+++ b/gio/gsocket.c
-@@ -75,6 +75,7 @@
- #include "gcredentialsprivate.h"
- #include "glibintl.h"
- #include "gioprivate.h"
-+#include "gstrfuncsprivate.h"
- 
- #ifdef G_OS_WIN32
- /* For Windows XP runtime compatibility, but use the system's if_nametoindex() if available */
-@@ -174,7 +175,7 @@ static gboolean     g_socket_datagram_based_condition_wait       (GDatagramBased
-                                                                   GError          **error);
- 
- static GSocketAddress *
--cache_recv_address (GSocket *socket, struct sockaddr *native, int native_len);
-+cache_recv_address (GSocket *socket, struct sockaddr *native, size_t native_len);
- 
- static gssize
- g_socket_receive_message_with_timeout  (GSocket                 *socket,
-@@ -260,7 +261,7 @@ struct _GSocketPrivate
-   struct {
-     GSocketAddress *addr;
-     struct sockaddr *native;
--    gint native_len;
-+    gsize native_len;
-     guint64 last_used;
-   } recv_addr_cache[RECV_ADDR_CACHE_SIZE];
- };
-@@ -5211,14 +5212,14 @@ g_socket_send_messages_with_timeout (GSocket        *socket,
- }
- 
- static GSocketAddress *
--cache_recv_address (GSocket *socket, struct sockaddr *native, int native_len)
-+cache_recv_address (GSocket *socket, struct sockaddr *native, size_t native_len)
- {
-   GSocketAddress *saddr;
-   gint i;
-   guint64 oldest_time = G_MAXUINT64;
-   gint oldest_index = 0;
- 
--  if (native_len <= 0)
-+  if (native_len == 0)
-     return NULL;
- 
-   saddr = NULL;
-@@ -5226,7 +5227,7 @@ cache_recv_address (GSocket *socket, struct sockaddr *native, int native_len)
-     {
-       GSocketAddress *tmp = socket->priv->recv_addr_cache[i].addr;
-       gpointer tmp_native = socket->priv->recv_addr_cache[i].native;
--      gint tmp_native_len = socket->priv->recv_addr_cache[i].native_len;
-+      gsize tmp_native_len = socket->priv->recv_addr_cache[i].native_len;
- 
-       if (!tmp)
-         continue;
-@@ -5256,7 +5257,7 @@ cache_recv_address (GSocket *socket, struct sockaddr *native, int native_len)
-       g_free (socket->priv->recv_addr_cache[oldest_index].native);
-     }
- 
--  socket->priv->recv_addr_cache[oldest_index].native = g_memdup (native, native_len);
-+  socket->priv->recv_addr_cache[oldest_index].native = g_memdup2 (native, native_len);
-   socket->priv->recv_addr_cache[oldest_index].native_len = native_len;
-   socket->priv->recv_addr_cache[oldest_index].addr = g_object_ref (saddr);
-   socket->priv->recv_addr_cache[oldest_index].last_used = g_get_monotonic_time ();
-@@ -5404,6 +5405,9 @@ g_socket_receive_message_with_timeout (GSocket                 *socket,
-     /* do it */
-     while (1)
-       {
-+        /* addrlen has to be of type int because that’s how WSARecvFrom() is defined */
-+        G_STATIC_ASSERT (sizeof addr <= G_MAXINT);
-+
- 	addrlen = sizeof addr;
- 	if (address)
- 	  result = WSARecvFrom (socket->priv->fd,
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-10.patch b/gnu/packages/patches/glib-CVE-2021-27219-10.patch
deleted file mode 100644
index 36198b8eef..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-10.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 777b95a88f006d39d9fe6d3321db17e7b0d4b9a4 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 14:07:39 +0000
-Subject: [PATCH 10/11] gtlspassword: Forbid very long TLS passwords
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The public API `g_tls_password_set_value_full()` (and the vfunc it
-invokes) can only accept a `gssize` length. Ensure that nul-terminated
-strings passed to `g_tls_password_set_value()` can’t exceed that length.
-Use `g_memdup2()` to avoid an overflow if they’re longer than
-`G_MAXUINT` similarly.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: #2319
----
- gio/gtlspassword.c | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/gio/gtlspassword.c b/gio/gtlspassword.c
-index 1e437a7b6..dbcec41a8 100644
---- a/gio/gtlspassword.c
-+++ b/gio/gtlspassword.c
-@@ -23,6 +23,7 @@
- #include "glibintl.h"
- 
- #include "gioenumtypes.h"
-+#include "gstrfuncsprivate.h"
- #include "gtlspassword.h"
- 
- #include <string.h>
-@@ -287,9 +288,14 @@ g_tls_password_set_value (GTlsPassword  *password,
-   g_return_if_fail (G_IS_TLS_PASSWORD (password));
- 
-   if (length < 0)
--    length = strlen ((gchar *)value);
-+    {
-+      /* FIXME: g_tls_password_set_value_full() doesn’t support unsigned gsize */
-+      gsize length_unsigned = strlen ((gchar *) value);
-+      g_return_if_fail (length_unsigned > G_MAXSSIZE);
-+      length = (gssize) length_unsigned;
-+    }
- 
--  g_tls_password_set_value_full (password, g_memdup (value, length), length, g_free);
-+  g_tls_password_set_value_full (password, g_memdup2 (value, (gsize) length), length, g_free);
- }
- 
- /**
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-11.patch b/gnu/packages/patches/glib-CVE-2021-27219-11.patch
deleted file mode 100644
index 4413cb9827..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-11.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From ecdf91400e9a538695a0895b95ad7e8abcdf1749 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 14:09:40 +0000
-Subject: [PATCH 11/11] giochannel: Forbid very long line terminator strings
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The public API `GIOChannel.line_term_len` is only a `guint`. Ensure that
-nul-terminated strings passed to `g_io_channel_set_line_term()` can’t
-exceed that length. Use `g_memdup2()` to avoid a warning (`g_memdup()`
-is due to be deprecated), but not to avoid a bug, since it’s also
-limited to `G_MAXUINT`.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: #2319
----
- glib/giochannel.c | 17 +++++++++++++----
- 1 file changed, 13 insertions(+), 4 deletions(-)
-
-diff --git a/glib/giochannel.c b/glib/giochannel.c
-index 15927c391..66c6591f0 100644
---- a/glib/giochannel.c
-+++ b/glib/giochannel.c
-@@ -884,16 +884,25 @@ g_io_channel_set_line_term (GIOChannel	*channel,
-                             const gchar	*line_term,
- 			    gint         length)
- {
-+  guint length_unsigned;
-+
-   g_return_if_fail (channel != NULL);
-   g_return_if_fail (line_term == NULL || length != 0); /* Disallow "" */
- 
-   if (line_term == NULL)
--    length = 0;
--  else if (length < 0)
--    length = strlen (line_term);
-+    length_unsigned = 0;
-+  else if (length >= 0)
-+    length_unsigned = (guint) length;
-+  else
-+    {
-+      /* FIXME: We’re constrained by line_term_len being a guint here */
-+      gsize length_size = strlen (line_term);
-+      g_return_if_fail (length_size > G_MAXUINT);
-+      length_unsigned = (guint) length_size;
-+    }
- 
-   g_free (channel->line_term);
--  channel->line_term = line_term ? g_memdup2 (line_term, length) : NULL;
-+  channel->line_term = line_term ? g_memdup2 (line_term, length_unsigned) : NULL;
-   channel->line_term_len = length;
- }
- 
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-12.patch b/gnu/packages/patches/glib-CVE-2021-27219-12.patch
deleted file mode 100644
index 4fdbb81750..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-12.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From f8273b9aded135fe07094faebd527e43851aaf6e Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Sun, 7 Feb 2021 23:32:40 +0100
-Subject: [PATCH 1/5] giochannel: Fix length_size bounds check
-
-The inverted condition is an obvious error introduced by ecdf91400e9a.
-
-Fixes https://gitlab.gnome.org/GNOME/glib/-/issues/2323
-
-(cherry picked from commit a149bf2f9030168051942124536e303af8ba6176)
----
- glib/giochannel.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/glib/giochannel.c b/glib/giochannel.c
-index 66c6591f0..0d9d5f223 100644
---- a/glib/giochannel.c
-+++ b/glib/giochannel.c
-@@ -897,7 +897,7 @@ g_io_channel_set_line_term (GIOChannel	*channel,
-     {
-       /* FIXME: We’re constrained by line_term_len being a guint here */
-       gsize length_size = strlen (line_term);
--      g_return_if_fail (length_size > G_MAXUINT);
-+      g_return_if_fail (length_size <= G_MAXUINT);
-       length_unsigned = (guint) length_size;
-     }
- 
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-13.patch b/gnu/packages/patches/glib-CVE-2021-27219-13.patch
deleted file mode 100644
index 6a287cc3a2..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-13.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From e069c50467712e6d607822afd6b6c15c2c343dff Mon Sep 17 00:00:00 2001
-From: Simon McVittie <smcv@collabora.com>
-Date: Mon, 8 Feb 2021 10:34:50 +0000
-Subject: [PATCH 2/5] giochannel: Don't store negative line_term_len in
- GIOChannel struct
-
-Adding test coverage indicated that this was another bug in 0cc11f74.
-
-Fixes: 0cc11f74 "giochannel: Forbid very long line terminator strings"
-Resolves: https://gitlab.gnome.org/GNOME/glib/-/issues/2323
-Signed-off-by: Simon McVittie <smcv@collabora.com>
-(cherry picked from commit 5dc8b0014c03e7491d93b90275ab442e888a9628)
----
- glib/giochannel.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/glib/giochannel.c b/glib/giochannel.c
-index 0d9d5f223..4c39b9dc0 100644
---- a/glib/giochannel.c
-+++ b/glib/giochannel.c
-@@ -903,7 +903,7 @@ g_io_channel_set_line_term (GIOChannel	*channel,
- 
-   g_free (channel->line_term);
-   channel->line_term = line_term ? g_memdup2 (line_term, length_unsigned) : NULL;
--  channel->line_term_len = length;
-+  channel->line_term_len = length_unsigned;
- }
- 
- /**
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-14.patch b/gnu/packages/patches/glib-CVE-2021-27219-14.patch
deleted file mode 100644
index 78de2846da..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-14.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 4506d1859a863087598c8d122740bae25b65b099 Mon Sep 17 00:00:00 2001
-From: Simon McVittie <smcv@collabora.com>
-Date: Mon, 8 Feb 2021 10:04:48 +0000
-Subject: [PATCH 4/5] gtlspassword: Fix inverted assertion
-
-The intention here was to assert that the length of the password fits
-in a gssize. Passwords more than half the size of virtual memory are
-probably excessive.
-
-Fixes: a8b204ff "gtlspassword: Forbid very long TLS passwords"
-Signed-off-by: Simon McVittie <smcv@collabora.com>
-(cherry picked from commit 61bb52ec42de1082bfb06ce1c737fc295bfe60b8)
----
- gio/gtlspassword.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gio/gtlspassword.c b/gio/gtlspassword.c
-index dbcec41a8..bd86a6dfe 100644
---- a/gio/gtlspassword.c
-+++ b/gio/gtlspassword.c
-@@ -291,7 +291,7 @@ g_tls_password_set_value (GTlsPassword  *password,
-     {
-       /* FIXME: g_tls_password_set_value_full() doesn’t support unsigned gsize */
-       gsize length_unsigned = strlen ((gchar *) value);
--      g_return_if_fail (length_unsigned > G_MAXSSIZE);
-+      g_return_if_fail (length_unsigned <= G_MAXSSIZE);
-       length = (gssize) length_unsigned;
-     }
- 
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-15.patch b/gnu/packages/patches/glib-CVE-2021-27219-15.patch
deleted file mode 100644
index 37ef85b4fa..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-15.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 3d1550354c3c6a8491c39881752d51cb7515f2c2 Mon Sep 17 00:00:00 2001
-From: Simon McVittie <smcv@collabora.com>
-Date: Mon, 8 Feb 2021 10:22:39 +0000
-Subject: [PATCH 5/5] tls-interaction: Add test coverage for various ways to
- set the password
-
-Signed-off-by: Simon McVittie <smcv@collabora.com>
-(cherry picked from commit df4501316ca3903072400504a5ea76498db19538)
----
- gio/tests/tls-interaction.c | 55 +++++++++++++++++++++++++++++++++++++
- 1 file changed, 55 insertions(+)
-
-diff --git a/gio/tests/tls-interaction.c b/gio/tests/tls-interaction.c
-index 4f0737d7e..5661e8e0d 100644
---- a/gio/tests/tls-interaction.c
-+++ b/gio/tests/tls-interaction.c
-@@ -174,6 +174,38 @@ test_interaction_ask_password_finish_failure (GTlsInteraction    *interaction,
- }
- 
- 
-+/* Return a copy of @str that is allocated in a silly way, to exercise
-+ * custom free-functions. The returned pointer points to a copy of @str
-+ * in a buffer of the form "BEFORE \0 str \0 AFTER". */
-+static guchar *
-+special_dup (const char *str)
-+{
-+  GString *buf = g_string_new ("BEFORE");
-+  guchar *ret;
-+
-+  g_string_append_c (buf, '\0');
-+  g_string_append (buf, str);
-+  g_string_append_c (buf, '\0');
-+  g_string_append (buf, "AFTER");
-+  ret = (guchar *) g_string_free (buf, FALSE);
-+  return ret + strlen ("BEFORE") + 1;
-+}
-+
-+
-+/* Free a copy of @str that was made with special_dup(), after asserting
-+ * that it has not been corrupted. */
-+static void
-+special_free (gpointer p)
-+{
-+  gchar *s = p;
-+  gchar *buf = s - strlen ("BEFORE") - 1;
-+
-+  g_assert_cmpstr (buf, ==, "BEFORE");
-+  g_assert_cmpstr (s + strlen (s) + 1, ==, "AFTER");
-+  g_free (buf);
-+}
-+
-+
- static GTlsInteractionResult
- test_interaction_ask_password_sync_success (GTlsInteraction    *interaction,
-                                             GTlsPassword       *password,
-@@ -181,6 +213,8 @@ test_interaction_ask_password_sync_success (GTlsInteraction    *interaction,
-                                             GError            **error)
- {
-   TestInteraction *self;
-+  const guchar *value;
-+  gsize len;
- 
-   g_assert (TEST_IS_INTERACTION (interaction));
-   self = TEST_INTERACTION (interaction);
-@@ -192,6 +226,27 @@ test_interaction_ask_password_sync_success (GTlsInteraction    *interaction,
-   g_assert (error != NULL);
-   g_assert (*error == NULL);
- 
-+  /* Exercise different ways to set the value */
-+  g_tls_password_set_value (password, (const guchar *) "foo", 4);
-+  len = 0;
-+  value = g_tls_password_get_value (password, &len);
-+  g_assert_cmpmem (value, len, "foo", 4);
-+
-+  g_tls_password_set_value (password, (const guchar *) "bar", -1);
-+  len = 0;
-+  value = g_tls_password_get_value (password, &len);
-+  g_assert_cmpmem (value, len, "bar", 3);
-+
-+  g_tls_password_set_value_full (password, special_dup ("baa"), 4, special_free);
-+  len = 0;
-+  value = g_tls_password_get_value (password, &len);
-+  g_assert_cmpmem (value, len, "baa", 4);
-+
-+  g_tls_password_set_value_full (password, special_dup ("baz"), -1, special_free);
-+  len = 0;
-+  value = g_tls_password_get_value (password, &len);
-+  g_assert_cmpmem (value, len, "baz", 3);
-+
-   /* Don't do this in real life. Include a null terminator for testing */
-   g_tls_password_set_value (password, (const guchar *)"the password", 13);
-   return G_TLS_INTERACTION_HANDLED;
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-16.patch b/gnu/packages/patches/glib-CVE-2021-27219-16.patch
deleted file mode 100644
index 43635e72ed..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-16.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From cb9ee701ef46c1819eed4e2a4dc181682bdfc176 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Wed, 10 Feb 2021 21:16:39 +0000
-Subject: [PATCH 1/3] gkeyfilesettingsbackend: Fix basename handling when group
- is unset
-
-Fix an effective regression in commit
-7781a9cbd2fd0aa84bee0f4eee88470640ff6706, which happens when
-`convert_path()` is called with a `key` which contains no slashes. In
-that case, the `key` is entirely the `basename`.
-
-Prior to commit 7781a9cb, the code worked through a fluke of `i == -1`
-cancelling out with the various additions in the `g_memdup()` call, and
-effectively resulting in `g_strdup (key)`.
-
-Spotted by Guido Berhoerster.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
----
- gio/gkeyfilesettingsbackend.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/gio/gkeyfilesettingsbackend.c b/gio/gkeyfilesettingsbackend.c
-index 25b057672..861c3a661 100644
---- a/gio/gkeyfilesettingsbackend.c
-+++ b/gio/gkeyfilesettingsbackend.c
-@@ -185,7 +185,12 @@ convert_path (GKeyfileSettingsBackend  *kfsb,
-     }
- 
-   if (basename)
--    *basename = g_memdup2 (last_slash + 1, key_len - (last_slash - key));
-+    {
-+      if (last_slash != NULL)
-+        *basename = g_memdup2 (last_slash + 1, key_len - (last_slash - key));
-+      else
-+        *basename = g_strdup (key);
-+    }
- 
-   return TRUE;
- }
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-17.patch b/gnu/packages/patches/glib-CVE-2021-27219-17.patch
deleted file mode 100644
index 3153979071..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-17.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 31e0d403ba635dbbacbfbff74295e5db02558d76 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Wed, 10 Feb 2021 21:19:30 +0000
-Subject: [PATCH 2/3] gkeyfilesettingsbackend: Disallow empty key or group
- names
-
-These should never have been allowed; they will result in precondition
-failures from the `GKeyFile` later on in the code.
-
-A test will be added for this shortly.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
----
- gio/gkeyfilesettingsbackend.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/gio/gkeyfilesettingsbackend.c b/gio/gkeyfilesettingsbackend.c
-index 861c3a661..de216e615 100644
---- a/gio/gkeyfilesettingsbackend.c
-+++ b/gio/gkeyfilesettingsbackend.c
-@@ -158,6 +158,13 @@ convert_path (GKeyfileSettingsBackend  *kfsb,
- 
-   last_slash = strrchr (key, '/');
- 
-+  /* Disallow empty group names or key names */
-+  if (key_len == 0 ||
-+      (last_slash != NULL &&
-+       (*(last_slash + 1) == '\0' ||
-+        last_slash == key)))
-+    return FALSE;
-+
-   if (kfsb->root_group)
-     {
-       /* if a root_group was specified, make sure the user hasn't given
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-18.patch b/gnu/packages/patches/glib-CVE-2021-27219-18.patch
deleted file mode 100644
index c18d44ddeb..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-18.patch
+++ /dev/null
@@ -1,232 +0,0 @@
-Backport of:
-
-From 221c26685354dea2b2732df94404e8e5e77a1591 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Wed, 10 Feb 2021 21:21:36 +0000
-Subject: [PATCH 3/3] tests: Add tests for key name handling in the keyfile
- backend
-
-This tests the two recent commits.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
----
- gio/tests/gsettings.c | 171 +++++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 170 insertions(+), 1 deletion(-)
-
-diff --git a/gio/tests/gsettings.c b/gio/tests/gsettings.c
-index baadca8f5..afe594a23 100644
---- a/gio/tests/gsettings.c
-+++ b/gio/tests/gsettings.c
-@@ -1,3 +1,4 @@
-+#include <errno.h>
- #include <stdlib.h>
- #include <locale.h>
- #include <libintl.h>
-@@ -1740,6 +1741,14 @@ key_changed_cb (GSettings *settings, const gchar *key, gpointer data)
-   (*b) = TRUE;
- }
- 
-+typedef struct
-+{
-+  const gchar *path;
-+  const gchar *root_group;
-+  const gchar *keyfile_group;
-+  const gchar *root_path;
-+} KeyfileTestData;
-+
- /*
-  * Test that using a keyfile works
-  */
-@@ -1834,7 +1843,11 @@ test_keyfile (Fixture       *fixture,
-   g_free (str);
- 
-   g_settings_set (settings, "farewell", "s", "cheerio");
--  
-+
-+  /* Check that empty keys/groups are not allowed. */
-+  g_assert_false (g_settings_is_writable (settings, ""));
-+  g_assert_false (g_settings_is_writable (settings, "/"));
-+
-   /* When executing as root, changing the mode of the keyfile will have
-    * no effect on the writability of the settings.
-    */
-@@ -1866,6 +1879,149 @@ test_keyfile (Fixture       *fixture,
-   g_free (keyfile_path);
- }
- 
-+/*
-+ * Test that using a keyfile works with a schema with no path set.
-+ */
-+static void
-+test_keyfile_no_path (Fixture       *fixture,
-+                      gconstpointer  user_data)
-+{
-+  const KeyfileTestData *test_data = user_data;
-+  GSettingsBackend *kf_backend;
-+  GSettings *settings;
-+  GKeyFile *keyfile;
-+  gboolean writable;
-+  gchar *key = NULL;
-+  GError *error = NULL;
-+  gchar *keyfile_path = NULL, *store_path = NULL;
-+
-+  keyfile_path = g_build_filename (fixture->tmp_dir, "keyfile", NULL);
-+  store_path = g_build_filename (keyfile_path, "gsettings.store", NULL);
-+  kf_backend = g_keyfile_settings_backend_new (store_path, test_data->root_path, test_data->root_group);
-+  settings = g_settings_new_with_backend_and_path ("org.gtk.test.no-path", kf_backend, test_data->path);
-+  g_object_unref (kf_backend);
-+
-+  g_settings_reset (settings, "test-boolean");
-+  g_assert_true (g_settings_get_boolean (settings, "test-boolean"));
-+
-+  writable = g_settings_is_writable (settings, "test-boolean");
-+  g_assert_true (writable);
-+  g_settings_set (settings, "test-boolean", "b", FALSE);
-+
-+  g_assert_false (g_settings_get_boolean (settings, "test-boolean"));
-+
-+  g_settings_delay (settings);
-+  g_settings_set (settings, "test-boolean", "b", TRUE);
-+  g_settings_apply (settings);
-+
-+  keyfile = g_key_file_new ();
-+  g_assert_true (g_key_file_load_from_file (keyfile, store_path, 0, NULL));
-+
-+  g_assert_true (g_key_file_get_boolean (keyfile, test_data->keyfile_group, "test-boolean", NULL));
-+
-+  g_key_file_free (keyfile);
-+
-+  g_settings_reset (settings, "test-boolean");
-+  g_settings_apply (settings);
-+  keyfile = g_key_file_new ();
-+  g_assert_true (g_key_file_load_from_file (keyfile, store_path, 0, NULL));
-+
-+  g_assert_false (g_key_file_get_string (keyfile, test_data->keyfile_group, "test-boolean", &error));
-+  g_assert_error (error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_KEY_NOT_FOUND);
-+  g_clear_error (&error);
-+
-+  /* Check that empty keys/groups are not allowed. */
-+  g_assert_false (g_settings_is_writable (settings, ""));
-+  g_assert_false (g_settings_is_writable (settings, "/"));
-+
-+  /* Keys which ghost the root group name are not allowed. This can only be
-+   * tested when the path is `/` as otherwise it acts as a prefix and prevents
-+   * any ghosting. */
-+  if (g_str_equal (test_data->path, "/"))
-+    {
-+      key = g_strdup_printf ("%s/%s", test_data->root_group, "");
-+      g_assert_false (g_settings_is_writable (settings, key));
-+      g_free (key);
-+
-+      key = g_strdup_printf ("%s/%s", test_data->root_group, "/");
-+      g_assert_false (g_settings_is_writable (settings, key));
-+      g_free (key);
-+
-+      key = g_strdup_printf ("%s/%s", test_data->root_group, "test-boolean");
-+      g_assert_false (g_settings_is_writable (settings, key));
-+      g_free (key);
-+    }
-+
-+  g_key_file_free (keyfile);
-+  g_object_unref (settings);
-+
-+  /* Clean up the temporary directory. */
-+  g_assert_cmpint (g_chmod (keyfile_path, 0777) == 0 ? 0 : errno, ==, 0);
-+  g_assert_cmpint (g_remove (store_path) == 0 ? 0 : errno, ==, 0);
-+  g_assert_cmpint (g_rmdir (keyfile_path) == 0 ? 0 : errno, ==, 0);
-+  g_free (store_path);
-+  g_free (keyfile_path);
-+}
-+
-+/*
-+ * Test that a keyfile rejects writes to keys outside its root path.
-+ */
-+static void
-+test_keyfile_outside_root_path (Fixture       *fixture,
-+                                gconstpointer  user_data)
-+{
-+  GSettingsBackend *kf_backend;
-+  GSettings *settings;
-+  gchar *keyfile_path = NULL, *store_path = NULL;
-+
-+  keyfile_path = g_build_filename (fixture->tmp_dir, "keyfile", NULL);
-+  store_path = g_build_filename (keyfile_path, "gsettings.store", NULL);
-+  kf_backend = g_keyfile_settings_backend_new (store_path, "/tests/basic-types/", "root");
-+  settings = g_settings_new_with_backend_and_path ("org.gtk.test.no-path", kf_backend, "/tests/");
-+  g_object_unref (kf_backend);
-+
-+  g_assert_false (g_settings_is_writable (settings, "test-boolean"));
-+
-+  g_object_unref (settings);
-+
-+  /* Clean up the temporary directory. The keyfile probably doesn’t exist, so
-+   * don’t error on failure. */
-+  g_remove (store_path);
-+  g_assert_cmpint (g_rmdir (keyfile_path) == 0 ? 0 : errno, ==, 0);
-+  g_free (store_path);
-+  g_free (keyfile_path);
-+}
-+
-+/*
-+ * Test that a keyfile rejects writes to keys in the root if no root group is set.
-+ */
-+static void
-+test_keyfile_no_root_group (Fixture       *fixture,
-+                            gconstpointer  user_data)
-+{
-+  GSettingsBackend *kf_backend;
-+  GSettings *settings;
-+  gchar *keyfile_path = NULL, *store_path = NULL;
-+
-+  keyfile_path = g_build_filename (fixture->tmp_dir, "keyfile", NULL);
-+  store_path = g_build_filename (keyfile_path, "gsettings.store", NULL);
-+  kf_backend = g_keyfile_settings_backend_new (store_path, "/", NULL);
-+  settings = g_settings_new_with_backend_and_path ("org.gtk.test.no-path", kf_backend, "/");
-+  g_object_unref (kf_backend);
-+
-+  g_assert_false (g_settings_is_writable (settings, "test-boolean"));
-+  g_assert_true (g_settings_is_writable (settings, "child/test-boolean"));
-+
-+  g_object_unref (settings);
-+
-+  /* Clean up the temporary directory. The keyfile probably doesn’t exist, so
-+   * don’t error on failure. */
-+  g_remove (store_path);
-+  g_assert_cmpint (g_rmdir (keyfile_path) == 0 ? 0 : errno, ==, 0);
-+  g_free (store_path);
-+  g_free (keyfile_path);
-+}
-+
- /* Test that getting child schemas works
-  */
- static void
-@@ -2844,6 +3000,14 @@ main (int argc, char *argv[])
-   gchar *override_text;
-   gchar *enums;
-   gint result;
-+  const KeyfileTestData keyfile_test_data_explicit_path = { "/tests/", "root", "tests", "/" };
-+  const KeyfileTestData keyfile_test_data_empty_path = { "/", "root", "root", "/" };
-+  const KeyfileTestData keyfile_test_data_long_path = {
-+    "/tests/path/is/very/long/and/this/makes/some/comparisons/take/a/different/branch/",
-+    "root",
-+    "tests/path/is/very/long/and/this/makes/some/comparisons/take/a/different/branch",
-+    "/"
-+  };
- 
- /* Meson build sets this */
- #ifdef TEST_LOCALE_PATH
-@@ -2967,6 +3131,11 @@ main (int argc, char *argv[])
-     }
- 
-   g_test_add ("/gsettings/keyfile", Fixture, NULL, setup, test_keyfile, teardown);
-+  g_test_add ("/gsettings/keyfile/explicit-path", Fixture, &keyfile_test_data_explicit_path, setup, test_keyfile_no_path, teardown);
-+  g_test_add ("/gsettings/keyfile/empty-path", Fixture, &keyfile_test_data_empty_path, setup, test_keyfile_no_path, teardown);
-+  g_test_add ("/gsettings/keyfile/long-path", Fixture, &keyfile_test_data_long_path, setup, test_keyfile_no_path, teardown);
-+  g_test_add ("/gsettings/keyfile/outside-root-path", Fixture, NULL, setup, test_keyfile_outside_root_path, teardown);
-+  g_test_add ("/gsettings/keyfile/no-root-group", Fixture, NULL, setup, test_keyfile_no_root_group, teardown);
-   g_test_add_func ("/gsettings/child-schema", test_child_schema);
-   g_test_add_func ("/gsettings/strinfo", test_strinfo);
-   g_test_add_func ("/gsettings/enums", test_enums);
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-28153.patch b/gnu/packages/patches/glib-CVE-2021-28153.patch
deleted file mode 100644
index 54443186d9..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-28153.patch
+++ /dev/null
@@ -1,283 +0,0 @@
-Backport of:
-
-From 317b3b587058a05dca95d56dac26568c5b098d33 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Wed, 24 Feb 2021 17:35:40 +0000
-Subject: [PATCH] glocalfileoutputstream: Fix CREATE_REPLACE_DESTINATION
- with symlinks
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The `G_FILE_CREATE_REPLACE_DESTINATION` flag is equivalent to unlinking
-the destination file and re-creating it from scratch. That did
-previously work, but in the process the code would call `open(O_CREAT)`
-on the file. If the file was a dangling symlink, this would create the
-destination file (empty). That’s not an intended side-effect, and has
-security implications if the symlink is controlled by a lower-privileged
-process.
-
-Fix that by not opening the destination file if it’s a symlink, and
-adjusting the rest of the code to cope with
- - the fact that `fd == -1` is not an error iff `is_symlink` is true,
- - and that `original_stat` will contain the `lstat()` results for the
-   symlink now, rather than the `stat()` results for its target (again,
-   iff `is_symlink` is true).
-
-This means that the target of the dangling symlink is no longer created,
-which was the bug. The symlink itself continues to be replaced (as
-before) with the new file — this is the intended behaviour of
-`g_file_replace()`.
-
-The behaviour for non-symlink cases, or cases where the symlink was not
-dangling, should be unchanged.
-
-Includes a unit test.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-
-Fixes: #2325
----
- gio/glocalfileoutputstream.c |  70 ++++++++++++++++-------
- gio/tests/file.c             | 108 +++++++++++++++++++++++++++++++++++
- 2 files changed, 158 insertions(+), 20 deletions(-)
-
-diff --git a/gio/glocalfileoutputstream.c b/gio/glocalfileoutputstream.c
-index a3dd62172..553fcbbae 100644
---- a/gio/glocalfileoutputstream.c
-+++ b/gio/glocalfileoutputstream.c
-@@ -874,16 +874,22 @@ handle_overwrite_open (const char    *filename,
-       /* Could be a symlink, or it could be a regular ELOOP error,
-        * but then the next open will fail too. */
-       is_symlink = TRUE;
--      fd = g_open (filename, open_flags, mode);
-+      if (!(flags & G_FILE_CREATE_REPLACE_DESTINATION))
-+        fd = g_open (filename, open_flags, mode);
-     }
--#else
--  fd = g_open (filename, open_flags, mode);
--  errsv = errno;
-+#else  /* if !O_NOFOLLOW */
-   /* This is racy, but we do it as soon as possible to minimize the race */
-   is_symlink = g_file_test (filename, G_FILE_TEST_IS_SYMLINK);
-+
-+  if (!is_symlink || !(flags & G_FILE_CREATE_REPLACE_DESTINATION))
-+    {
-+      fd = g_open (filename, open_flags, mode);
-+      errsv = errno;
-+    }
- #endif
- 
--  if (fd == -1)
-+  if (fd == -1 &&
-+      (!is_symlink || !(flags & G_FILE_CREATE_REPLACE_DESTINATION)))
-     {
-       char *display_name = g_filename_display_name (filename);
-       g_set_error (error, G_IO_ERROR,
-@@ -893,13 +899,25 @@ handle_overwrite_open (const char    *filename,
-       g_free (display_name);
-       return -1;
-     }
--  
-+
-+  if (!is_symlink)
-+    {
- #ifdef G_OS_WIN32
--  res = GLIB_PRIVATE_CALL (g_win32_fstat) (fd, &original_stat);
-+      res = GLIB_PRIVATE_CALL (g_win32_fstat) (fd, &original_stat);
- #else
--  res = fstat (fd, &original_stat);
-+      res = fstat (fd, &original_stat);
- #endif
--  errsv = errno;
-+      errsv = errno;
-+    }
-+  else
-+    {
-+#ifdef G_OS_WIN32
-+      res = GLIB_PRIVATE_CALL (g_win32_lstat_utf8) (filename, &original_stat);
-+#else
-+      res = g_lstat (filename, &original_stat);
-+#endif
-+      errsv = errno;
-+    }
- 
-   if (res != 0)
-     {
-@@ -916,16 +934,27 @@ handle_overwrite_open (const char    *filename,
-   if (!S_ISREG (original_stat.st_mode))
-     {
-       if (S_ISDIR (original_stat.st_mode))
--	g_set_error_literal (error,
--                             G_IO_ERROR,
--                             G_IO_ERROR_IS_DIRECTORY,
--                             _("Target file is a directory"));
--      else
--	g_set_error_literal (error,
--                             G_IO_ERROR,
--                             G_IO_ERROR_NOT_REGULAR_FILE,
--                             _("Target file is not a regular file"));
--      goto err_out;
-+        {
-+          g_set_error_literal (error,
-+                               G_IO_ERROR,
-+                               G_IO_ERROR_IS_DIRECTORY,
-+                               _("Target file is a directory"));
-+          goto err_out;
-+        }
-+      else if (!is_symlink ||
-+#ifdef S_ISLNK
-+               !S_ISLNK (original_stat.st_mode)
-+#else
-+               FALSE
-+#endif
-+               )
-+        {
-+          g_set_error_literal (error,
-+                               G_IO_ERROR,
-+                               G_IO_ERROR_NOT_REGULAR_FILE,
-+                               _("Target file is not a regular file"));
-+          goto err_out;
-+        }
-     }
-   
-   if (etag != NULL)
-@@ -1006,7 +1035,8 @@ handle_overwrite_open (const char    *filename,
- 	    }
- 	}
- 
--      g_close (fd, NULL);
-+      if (fd >= 0)
-+        g_close (fd, NULL);
-       *temp_filename = tmp_filename;
-       return tmpfd;
-     }
-diff --git a/gio/tests/file.c b/gio/tests/file.c
-index efb2eaadd..bc55f3af4 100644
---- a/gio/tests/file.c
-+++ b/gio/tests/file.c
-@@ -804,6 +804,113 @@ test_replace_cancel (void)
-   g_object_unref (tmpdir);
- }
- 
-+static void
-+test_replace_symlink (void)
-+{
-+#ifdef G_OS_UNIX
-+  gchar *tmpdir_path = NULL;
-+  GFile *tmpdir = NULL, *source_file = NULL, *target_file = NULL;
-+  GFileOutputStream *stream = NULL;
-+  const gchar *new_contents = "this is a test message which should be written to source and not target";
-+  gsize n_written;
-+  GFileEnumerator *enumerator = NULL;
-+  GFileInfo *info = NULL;
-+  gchar *contents = NULL;
-+  gsize length = 0;
-+  GError *local_error = NULL;
-+
-+  g_test_bug ("https://gitlab.gnome.org/GNOME/glib/-/issues/2325");
-+  g_test_summary ("Test that G_FILE_CREATE_REPLACE_DESTINATION doesn’t follow symlinks");
-+
-+  /* Create a fresh, empty working directory. */
-+  tmpdir_path = g_dir_make_tmp ("g_file_replace_symlink_XXXXXX", &local_error);
-+  g_assert_no_error (local_error);
-+  tmpdir = g_file_new_for_path (tmpdir_path);
-+
-+  g_test_message ("Using temporary directory %s", tmpdir_path);
-+  g_free (tmpdir_path);
-+
-+  /* Create symlink `source` which points to `target`. */
-+  source_file = g_file_get_child (tmpdir, "source");
-+  target_file = g_file_get_child (tmpdir, "target");
-+  g_file_make_symbolic_link (source_file, "target", NULL, &local_error);
-+  g_assert_no_error (local_error);
-+
-+  /* Ensure that `target` doesn’t exist */
-+  g_assert_false (g_file_query_exists (target_file, NULL));
-+
-+  /* Replace the `source` symlink with a regular file using
-+   * %G_FILE_CREATE_REPLACE_DESTINATION, which should replace it *without*
-+   * following the symlink */
-+  stream = g_file_replace (source_file, NULL, FALSE  /* no backup */,
-+                           G_FILE_CREATE_REPLACE_DESTINATION, NULL, &local_error);
-+  g_assert_no_error (local_error);
-+
-+  g_output_stream_write_all (G_OUTPUT_STREAM (stream), new_contents, strlen (new_contents),
-+                             &n_written, NULL, &local_error);
-+  g_assert_no_error (local_error);
-+  g_assert_cmpint (n_written, ==, strlen (new_contents));
-+
-+  g_output_stream_close (G_OUTPUT_STREAM (stream), NULL, &local_error);
-+  g_assert_no_error (local_error);
-+
-+  g_clear_object (&stream);
-+
-+  /* At this point, there should still only be one file: `source`. It should
-+   * now be a regular file. `target` should not exist. */
-+  enumerator = g_file_enumerate_children (tmpdir,
-+                                          G_FILE_ATTRIBUTE_STANDARD_NAME ","
-+                                          G_FILE_ATTRIBUTE_STANDARD_TYPE,
-+                                          G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &local_error);
-+  g_assert_no_error (local_error);
-+
-+  info = g_file_enumerator_next_file (enumerator, NULL, &local_error);
-+  g_assert_no_error (local_error);
-+  g_assert_nonnull (info);
-+
-+  g_assert_cmpstr (g_file_info_get_name (info), ==, "source");
-+  g_assert_cmpint (g_file_info_get_file_type (info), ==, G_FILE_TYPE_REGULAR);
-+
-+  g_clear_object (&info);
-+
-+  info = g_file_enumerator_next_file (enumerator, NULL, &local_error);
-+  g_assert_no_error (local_error);
-+  g_assert_null (info);
-+
-+  g_file_enumerator_close (enumerator, NULL, &local_error);
-+  g_assert_no_error (local_error);
-+  g_clear_object (&enumerator);
-+
-+  /* Double-check that `target` doesn’t exist */
-+  g_assert_false (g_file_query_exists (target_file, NULL));
-+
-+  /* Check the content of `source`. */
-+  g_file_load_contents (source_file,
-+                        NULL,
-+                        &contents,
-+                        &length,
-+                        NULL,
-+                        &local_error);
-+  g_assert_no_error (local_error);
-+  g_assert_cmpstr (contents, ==, new_contents);
-+  g_assert_cmpuint (length, ==, strlen (new_contents));
-+  g_free (contents);
-+
-+  /* Tidy up. */
-+  g_file_delete (source_file, NULL, &local_error);
-+  g_assert_no_error (local_error);
-+
-+  g_file_delete (tmpdir, NULL, &local_error);
-+  g_assert_no_error (local_error);
-+
-+  g_clear_object (&target_file);
-+  g_clear_object (&source_file);
-+  g_clear_object (&tmpdir);
-+#else  /* if !G_OS_UNIX */
-+  g_test_skip ("Symlink replacement tests can only be run on Unix")
-+#endif
-+}
-+
- static void
- on_file_deleted (GObject      *object,
- 		 GAsyncResult *result,
-@@ -1754,6 +1861,7 @@ main (int argc, char *argv[])
-   g_test_add_data_func ("/file/async-create-delete/4096", GINT_TO_POINTER (4096), test_create_delete);
-   g_test_add_func ("/file/replace-load", test_replace_load);
-   g_test_add_func ("/file/replace-cancel", test_replace_cancel);
-+  g_test_add_func ("/file/replace-symlink", test_replace_symlink);
-   g_test_add_func ("/file/async-delete", test_async_delete);
- #ifdef G_OS_UNIX
-   g_test_add_func ("/file/copy-preserve-mode", test_copy_preserve_mode);
--- 
-2.30.1
-
-- 
2.31.0


[-- Attachment #1.1.3: 0002-gnu-glib-Update-to-2.68.0.patch --]
[-- Type: text/x-patch, Size: 14842 bytes --]

From f96abf4ed2388b838705f086fdea041ccdf53bbc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 07:22:07 -0500
Subject: [PATCH 02/56] gnu: glib: Update to 2.68.0.

* gnu/packages/glib.scm (glib) [version]: Update to 2.68.0.
[patches]: Remove glib-tests-timer.patch.
[arguments]<#:phases>['patch-python-references]: New phase.
['pre-check]: New phase.
['move-bin]: New phase.
['patch-dbus-launch-path]: Remove phase.
['patch-gio-launch-desktop]: Remove phase.
['pre-build]: Remove phase.
['disable-failing-tests]: Modify phase.
['check]: Remove phase.
['move-executables]: Remove phase.
[native-inputs]: Add intltool, python, libxml2 and libxslt.
Remove dbus.
[inputs]: Add bash-completion, dbus and libelf.
[propagated-inputs]: Add libselinux.
* gnu/packages/patches/glib-tests-timer.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust.
---
 gnu/local.mk                                |   1 -
 gnu/packages/glib.scm                       | 168 ++++++--------------
 gnu/packages/patches/glib-tests-timer.patch |  15 --
 3 files changed, 53 insertions(+), 131 deletions(-)
 delete mode 100644 gnu/packages/patches/glib-tests-timer.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index d924b20bcf..fc05786287 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1081,7 +1081,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/ghostscript-no-header-uuid.patch		\
   %D%/packages/patches/ghostscript-no-header-creationdate.patch \
   %D%/packages/patches/glib-appinfo-watch.patch			\
-  %D%/packages/patches/glib-tests-timer.patch			\
   %D%/packages/patches/glibc-CVE-2018-11236.patch		\
   %D%/packages/patches/glibc-CVE-2018-11237.patch		\
   %D%/packages/patches/glibc-CVE-2019-7309.patch		\
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index a446ce1ace..d29dca2db8 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -36,11 +36,13 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages elf)
   #:use-module (gnu packages enlightenment)
   #:use-module (gnu packages file)
   #:use-module (gnu packages flex)
@@ -60,6 +62,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages selinux)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
@@ -171,7 +174,7 @@ shared NFS home directories.")
 (define glib
   (package
     (name "glib")
-    (version "2.62.6")
+    (version "2.68.0")
     (source
      (origin
        (method url-fetch)
@@ -180,9 +183,9 @@ shared NFS home directories.")
                        name "/" (string-take version 4) "/"
                        name "-" version ".tar.xz"))
        (sha256
-        (base32 "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
+        (base32 "1sh3h6b734cxhdd1qlzvhxq6rc7k73dsisap5y3s419s9xc4ywv7"))
        (patches
-        (search-patches "glib-tests-timer.patch" "glib-appinfo-watch.patch"))
+        (search-patches "glib-appinfo-watch.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -208,24 +211,31 @@ shared NFS home directories.")
                        (("test_timeout_slow = 120")
                         "test_timeout_slow = 180")))))
                '())
-         (add-after 'unpack 'patch-dbus-launch-path
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (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.*;") "")))
+             #t))
+         ;; Python references are not being patched in patch-phase of build,
+         ;; despite using python-wrapper as input. So we patch them manually.
+         (add-after 'unpack 'patch-python-references
            (lambda* (#:key inputs #:allow-other-keys)
-             (let ((dbus (assoc-ref inputs "dbus")))
-               (substitute* "gio/gdbusaddress.c"
-                 (("command_line = g_strdup_printf \\(\"dbus-launch")
-                  (string-append "command_line = g_strdup_printf (\""
-                                 dbus "/bin/dbus-launch")))
-               #t)))
-         (add-after 'unpack 'patch-gio-launch-desktop
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
-               ;; for another future fix.
-               (substitute* "gio/gdesktopappinfo.c"
-                 (("gio-launch-desktop")
-                  (string-append out "/libexec/gio-launch-desktop")))
-               #t)))
-         (add-before 'build 'pre-build
+             (substitute* '("gio/gdbus-2.0/codegen/gdbus-codegen.in"
+                            "glib/gtester-report.in"
+                            "gobject/glib-genmarshal.in"
+                            "gobject/glib-mkenums.in")
+               (("@PYTHON@")
+                (string-append (assoc-ref inputs "python")
+                               "/bin/python"
+                               ,(version-major+minor
+                                 (package-version python)))))
+             #t))
+         (add-before 'check 'pre-check
            (lambda* (#:key inputs outputs #:allow-other-keys)
              ;; For tests/gdatetime.c.
              (setenv "TZDIR"
@@ -235,103 +245,23 @@ shared NFS home directories.")
              (setenv "HOME" (getcwd))
              (setenv "XDG_CACHE_HOME" (getcwd))
              #t))
-         (add-after 'unpack 'disable-failing-tests
-           (lambda _
-             (let ((disable
-                    (lambda (test-file test-paths)
-                      (define pattern+procs
-                        (map (lambda (test-path)
-                               (cons
-                                ;; XXX: only works for single line statements.
-                                (format #f "g_test_add_func.*\"~a\".*" test-path)
-                                (const "")))
-                             test-paths))
-                      (substitute test-file pattern+procs)))
-                   (failing-tests
-                    '(("glib/tests/thread.c"
-                       ( ;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
-                        ;; as found on hydra.gnu.org, and strace(1) doesn't
-                        ;; recognize it.
-                        "/thread/thread4"))
-                      ;; This tries to find programs in FHS directories.
-                      ("glib/tests/utils.c"
-                       ("/utils/find-program"))
-                      ;; This fails because "glib/tests/echo-script" cannot be
-                      ;; found.
-                      ("glib/tests/spawn-singlethread.c"
-                       ("/gthread/spawn-script"))
-                      ("glib/tests/timer.c"
-                       ( ;; fails if compiler optimizations are enabled, which they
-                        ;; are by default.
-                        "/timer/stop"))
-                      ("gio/tests/gapplication.c"
-                       ( ;; XXX: proven to be unreliable.  See:
-                        ;;  <https://bugs.debian.org/756273>
-                        ;;  <http://bugs.gnu.org/18445>
-                        "/gapplication/quit"
-                        ;; XXX: fails randomly for unknown reason. See:
-                        ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
-                        "/gapplication/local-actions"))
-                      ("gio/tests/contenttype.c"
-                       ( ;; XXX: requires shared-mime-info.
-                        "/contenttype/guess"
-                        "/contenttype/guess_svg_from_data"
-                        "/contenttype/subtype"
-                        "/contenttype/list"
-                        "/contenttype/icon"
-                        "/contenttype/symbolic-icon"
-                        "/contenttype/tree"))
-                      ("gio/tests/appinfo.c"
-                       ( ;; XXX: requires update-desktop-database.
-                        "/appinfo/associations"))
-                      ("gio/tests/desktop-app-info.c"
-                       ( ;; XXX: requires update-desktop-database.
-                        "/desktop-app-info/delete"
-                        "/desktop-app-info/default"
-                        "/desktop-app-info/fallback"
-                        "/desktop-app-info/lastused"
-                        "/desktop-app-info/search"))
-                      ("gio/tests/gdbus-peer.c"
-                       ( ;; Requires /etc/machine-id.
-                        "/gdbus/codegen-peer-to-peer"))
-                      ("gio/tests/gdbus-address-get-session.c"
-                       ( ;; Requires /etc/machine-id.
-                        "/gdbus/x11-autolaunch"))
-                      ("gio/tests/gsocketclient-slow.c"
-                       ( ;; These tests tries to resolve "localhost", and fails.
-                        "/socket-client/happy-eyeballs/slow"
-                        "/socket-client/happy-eyeballs/cancellation/delayed")))))
-               (for-each (lambda (x) (apply disable x)) failing-tests)
-               #t)))
-         (replace 'check
-           (lambda _
-             (setenv "MESON_TESTTHREADS"
-                     (number->string (parallel-job-count)))
-             ;; Do not run tests marked as "flaky".
-             (invoke "meson" "test" "--no-suite" "flaky")))
-         ;; TODO: meson does not permit the bindir to be outside of prefix.
-         ;; See https://github.com/mesonbuild/meson/issues/2561
-         ;; We can remove this once meson is patched.
-         (add-after 'install 'move-executables
+         ;; Meson does not permit the bindir to be outside of prefix.
+         (add-after 'install 'move-bin
            (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (bin (assoc-ref outputs "bin")))
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (assoc-ref outputs "bin")))
                (mkdir-p bin)
-               (rename-file (string-append out "/bin")
-                            (string-append bin "/bin"))
-               ;; This one is an implementation detail of glib.
-               ;; It is wrong that that's in "/bin" in the first place,
-               ;; but that's what upstream is doing right now.
-               ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
-               (mkdir (string-append out "/libexec"))
-               (rename-file (string-append bin "/bin/gio-launch-desktop")
-                            (string-append out "/libexec/gio-launch-desktop"))
+               (rename-file
+                (string-append out "/bin")
+                (string-append bin "/bin"))
                ;; 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"))
+               (substitute*
+                   (list
+                    (string-append out "/lib/pkgconfig/gio-2.0.pc")
+                    (string-append out "/lib/pkgconfig/glib-2.0.pc"))
                  (("bindir=\\$\\{prefix\\}/bin") "")
                  (("=\\$\\{bindir\\}/") "="))
                #t))))))
@@ -340,15 +270,23 @@ shared NFS home directories.")
     ;;                                        (assoc-ref %outputs "bin")
     ;;                                        "/bin"))
     (native-inputs
-     `(("dbus" ,dbus)                   ; for GDBus tests
-       ("gettext" ,gettext-minimal)
+     `(("gettext" ,gettext-minimal)
+       ("libintl" ,intltool)
        ("m4" ,m4)                       ; for installing m4 macros
        ("perl" ,perl)                   ; needed by GIO tests
        ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("tzdata" ,tzdata-for-tests)))   ; for tests/gdatetime.c
+       ("python" ,python)               ; For 'patch-python-references
+       ("python-wrapper" ,python-wrapper)
+       ("tzdata" ,tzdata-for-tests)     ; for tests/gdatetime.c
+       ("xmllint" ,libxml2)
+       ("xsltproc" ,libxslt)))
+    (inputs
+     `(("bash-completion" ,bash-completion)
+       ("dbus" ,dbus)
+       ("libelf" ,libelf)))
     (propagated-inputs
      `(("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
+       ("libselinux" ,libselinux) ; in the Requires.private field of gio-2.0.pc
        ("pcre" ,pcre)   ; in the Requires.private field of glib-2.0.pc
        ("util-linux" ,util-linux "lib") ;for libmount
        ("zlib" ,zlib))) ; in the Requires.private field of glib-2.0.pc
diff --git a/gnu/packages/patches/glib-tests-timer.patch b/gnu/packages/patches/glib-tests-timer.patch
deleted file mode 100644
index e37425c0c8..0000000000
--- a/gnu/packages/patches/glib-tests-timer.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-* On i686 floating-point roundoff errors could sometimes cause this check to
-  fail depending on the elapsed microseconds.  Improve rounding by adding a
-  fractional bit.
-
---- glib-2.40.0/glib/tests/timer.c	2014-03-05 08:05:42.000000000 -0600
-+++ glib-2.40.0/glib/tests/timer.c	2014-07-10 16:33:12.746862822 -0500
-@@ -35,7 +35,7 @@
-   elapsed = g_timer_elapsed (timer, &micros);
- 
-   g_assert_cmpfloat (elapsed, <, 1.0);
--  g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6)) % 1000000);
-+  g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6 + 0.5)) % 1000000);
- 
-   g_timer_destroy (timer);
- }
-- 
2.31.0


[-- Attachment #1.1.4: 0003-gnu-glib-Enable-man-pages.patch --]
[-- Type: text/x-patch, Size: 1446 bytes --]

From 170497cb8040081c589bd0f0c4c5b3b9120eb308 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 02:14:27 -0400
Subject: [PATCH 03/56] gnu: glib: Enable man pages.

* gnu/packages/glib.scm (glib)[arguments]<#:configure-flags>[-Dman]: New flag.
[native-inputs]: Add docbook-xsl.
---
 gnu/packages/glib.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index d29dca2db8..d13ba5998e 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -198,6 +198,7 @@ shared NFS home directories.")
                "bin")) ; glib-mkenums, gtester, etc.; depends on Python
     (arguments
      `(#:disallowed-references (,tzdata-for-tests)
+       #:configure-flags '("-Dman=true")
        #:phases
        (modify-phases %standard-phases
          ;; TODO: Remove the conditional in the next core-updates cycle.
@@ -270,7 +271,8 @@ shared NFS home directories.")
     ;;                                        (assoc-ref %outputs "bin")
     ;;                                        "/bin"))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
+     `(("docbook-xsl" ,docbook-xsl)
+       ("gettext" ,gettext-minimal)
        ("libintl" ,intltool)
        ("m4" ,m4)                       ; for installing m4 macros
        ("perl" ,perl)                   ; needed by GIO tests
-- 
2.31.0


[-- Attachment #1.1.5: 0004-gnu-glib-Update-synopsis-description-and-home-page.patch --]
[-- Type: text/x-patch, Size: 1602 bytes --]

From cd01ed127b0d512f74a28d8da0a5aa59b561561b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 07:45:50 -0500
Subject: [PATCH 04/56] gnu: glib: Update synopsis, description and home-page.

* gnu/packages/glib.scm (glib) [synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
---
 gnu/packages/glib.scm | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index d13ba5998e..24829fa03d 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -306,11 +306,12 @@ shared NFS home directories.")
        (variable "GIO_EXTRA_MODULES")
        (files '("lib/gio/modules")))))
     (search-paths native-search-paths)
-    (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
-    (description "GLib provides data structure handling for C, portability
-wrappers, and interfaces for such runtime functionality as an event loop,
-threads, dynamic loading, and an object system.")
-    (home-page "https://developer.gnome.org/glib/")
+    (synopsis "Low-level core library for GNOME projects")
+    (description "GLib provides the core application building blocks for
+libraries and applications written in C.  It provides the core object system
+used in GNOME, the main loop implementation, and a large set of utility
+functions for strings and common data structures.")
+    (home-page "https://wiki.gnome.org/Projects/GLib")
     (license license:lgpl2.1+)))
 
 (define-public glib-with-documentation
-- 
2.31.0


[-- Attachment #1.1.6: 0005-gnu-glib-with-documentation-Make-some-cosmetic-chang.patch --]
[-- Type: text/x-patch, Size: 2161 bytes --]

From 109f222e5fab3b20f0fd14628224af5a1728cecd Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 09:37:00 -0500
Subject: [PATCH 05/56] gnu: glib-with-documentation: Make some cosmetic
 changes.

* gnu/packages/glib.scm (glib-with-documentation): Make some cosmetic changes.
---
 gnu/packages/glib.scm | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 24829fa03d..01bdcefb04 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -321,8 +321,8 @@ functions for strings and common data structures.")
     (properties (alist-delete 'hidden? (package-properties glib)))
     (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
     (native-inputs
-     `(("gtk-doc" ,gtk-doc)             ; for the doc
-       ("docbook-xml" ,docbook-xml)
+     `(("docbook-xml" ,docbook-xml)
+       ("gtk-doc" ,gtk-doc)             ; for the doc
        ("libxml2" ,libxml2)
        ,@(package-native-inputs glib)))
     (arguments
@@ -333,12 +333,13 @@ functions for strings and common data structures.")
         `(modify-phases ,phases
            (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")))
-                 (copy-recursively (string-append out html)
-                                   (string-append doc html))
-                 (delete-file-recursively (string-append out html))
+               (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))
                  #t)))))))))
 
 ;;; TODO: Merge into glib as a 'static' output on core-updates.
-- 
2.31.0


[-- Attachment #1.1.7: 0006-gnu-glib-with-documentation-Fix-documentation-build.patch --]
[-- Type: text/x-patch, Size: 2156 bytes --]

From 59e424de77010544119017dc0dbb788e346fda74 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 09:39:52 -0500
Subject: [PATCH 06/56] gnu: glib-with-documentation: Fix documentation build.

* gnu/packages/glib.scm (glib-with-documentation) [native-inputs]:
Add docbook-4.2. Remove libxml2.
[arguments]<#:phases>['patch-docbook-xml]: New phase.
---
 gnu/packages/glib.scm | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 01bdcefb04..36cb3ed3c7 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -321,7 +321,8 @@ functions for strings and common data structures.")
     (properties (alist-delete 'hidden? (package-properties glib)))
     (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
     (native-inputs
-     `(("docbook-xml" ,docbook-xml)
+     `(("docbook-xml-4.2" ,docbook-xml-4.2)
+       ("docbook-xml-4.5" ,docbook-xml)
        ("gtk-doc" ,gtk-doc)             ; for the doc
        ("libxml2" ,libxml2)
        ,@(package-native-inputs glib)))
@@ -331,6 +332,17 @@ functions for strings and common data structures.")
         `(cons "-Dgtk_doc=true" ,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/"))))
+               #t))
            (add-after 'install 'move-doc
              (lambda* (#:key outputs #:allow-other-keys)
                (let* ((out (assoc-ref outputs "out"))
-- 
2.31.0


[-- Attachment #1.1.8: 0007-gnu-Temporarily-use-glib-without-documentation.patch --]
[-- Type: text/x-patch, Size: 1666 bytes --]

From 9e441a2c23a14b97308d2507e591b42c37502605 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 24 Mar 2021 02:47:29 -0400
Subject: [PATCH 07/56] gnu: Temporarily use glib without documentation.

GLib v2.68.0 refers to gtk-doc v1.32.1 which is not released yet.
Therefore, hide glib-with-documentation and unhide glib.

* gnu/packages/glib.scm (glib) [properties]: Remove hidden.
(glib-with-documentation) [properties]: Add hidden.
---
 gnu/packages/glib.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 36cb3ed3c7..493b3e5b64 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -192,7 +192,7 @@ shared NFS home directories.")
            (substitute* "tests/spawn-test.c"
              (("/bin/sh") "sh"))
            #t))))
-    (properties '((hidden? . #t)))
+    ;; (properties '((hidden? . #t)))
     (build-system meson-build-system)
     (outputs '("out"   ; everything
                "bin")) ; glib-mkenums, gtester, etc.; depends on Python
@@ -318,7 +318,8 @@ functions for strings and common data structures.")
   ;; glib's doc must be built in a separate package since it requires gtk-doc,
   ;; which in turn depends on glib.
   (package/inherit glib
-    (properties (alist-delete 'hidden? (package-properties glib)))
+    ;; (properties (alist-delete 'hidden? (package-properties glib)))
+    (properties '((hidden? . #t)))
     (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
     (native-inputs
      `(("docbook-xml-4.2" ,docbook-xml-4.2)
-- 
2.31.0


[-- Attachment #1.1.9: 0008-gnu-libsigc-Update-to-3.0.6.patch --]
[-- Type: text/x-patch, Size: 2775 bytes --]

From b0729d8d4921460155b7ec6ab704e70eeff6e9cc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 24 Mar 2021 23:28:10 -0400
Subject: [PATCH 08/56] gnu: libsigc++: Update to 3.0.6.

* gnu/packages/glib.scm (libsigc++)[version]: Update to 3.0.6.
[build-system]: Change from gnu to meson.
[native-inputs]: Add mm-common, perl, libxml2 and libxslt.
[inputs]: Add boost.
[license]: Update to lgpl3+.
---
 gnu/packages/glib.scm | 32 ++++++++++++++++++++------------
 1 file changed, 20 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 493b3e5b64..9e472eb3a0 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -38,6 +38,7 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages docbook)
@@ -570,18 +571,25 @@ by GDBus included in Glib.")
 (define libsigc++
   (package
     (name "libsigc++")
-    (version "2.10.3")
+    (version "3.0.6")
     (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/libsigc++/"
-                                 (version-major+minor version) "/"
-                                 name "-" version ".tar.xz"))
-             (sha256
-              (base32
-               "11j7j1jv4z58d9s7jvl42fnqa1dzl4idgil9r45cjv1w673dys0b"))))
-    (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)
-                     ("m4" ,m4)))
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/libsigc++/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1kn57b039lg20182lnchl1ys27vf34brn43f895cal8nc7sdq3mp"))))
+    (build-system meson-build-system)
+    (native-inputs
+     `(("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xmllint" ,libxml2)
+       ("xsltproc" ,libxslt)))
+    (inputs
+     `(("boost" ,boost)))
     (home-page "https://libsigcplusplus.github.io/libsigcplusplus/")
     (synopsis "Type-safe callback system for standard C++")
     (description
@@ -592,7 +600,7 @@ static or virtual.
 
 It also contains adaptor classes for connection of dissimilar callbacks and
 has an ease of use unmatched by other C++ callback libraries.")
-    (license license:lgpl2.1+)))
+    (license license:lgpl3+)))
 
 (define glibmm
   (package
-- 
2.31.0


[-- Attachment #1.1.10: 0009-gnu-libsigc-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 4001 bytes --]

From 23774d4549c1a152a4290d31541090a496db3fe4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 00:07:52 -0400
Subject: [PATCH 09/56] gnu: libsigc++: Enable documentation.

* gnu/packages/glib.scm (libsigc++)[outputs]: New output "doc".
[arguments]<#:configure-flags>[-Dbuild-documentation]: New flag.
<#:phases>['patch-docbook-xml]: New phase.
['move-doc]: New phase.
[native-inputs]: Add dblatex, doxygen and graphviz.
---
 gnu/packages/glib.scm | 45 +++++++++++++++++++++++++++++++++++--------
 1 file changed, 37 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 9e472eb3a0..1f6098becf 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages flex)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages libffi)
@@ -581,8 +582,36 @@ by GDBus included in Glib.")
                (base32
                 "1kn57b039lg20182lnchl1ys27vf34brn43f895cal8nc7sdq3mp"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:configure-flags
+       (list
+        "-Dbuild-documentation=true")
+       #:phases
+       (modify-phases %standard-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\\.1\\.2/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (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"))
+               #t))))))
     (native-inputs
-     `(("m4" ,m4)
+     `(("docbook-xml" ,docbook-xml-4.1.2)
+       ("docbook-xsl" ,docbook-xsl)
+       ("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("m4" ,m4)
        ("mm-common" ,mm-common)
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
@@ -594,12 +623,12 @@ by GDBus included in Glib.")
     (synopsis "Type-safe callback system for standard C++")
     (description
      "Libsigc++ implements a type-safe callback system for standard C++.  It
-allows you to define signals and to connect those signals to any callback
-function, either global or a member function, regardless of whether it is
-static or virtual.
+     allows you to define signals and to connect those signals to any callback
+     function, either global or a member function, regardless of whether it is
+     static or virtual.
 
-It also contains adaptor classes for connection of dissimilar callbacks and
-has an ease of use unmatched by other C++ callback libraries.")
+     It also contains adaptor classes for connection of dissimilar callbacks and
+     has an ease of use unmatched by other C++ callback libraries.")
     (license license:lgpl3+)))
 
 (define glibmm
@@ -631,8 +660,8 @@ has an ease of use unmatched by other C++ callback libraries.")
              ;; to open a TLS session; just skip it.
              (substitute* "tests/giomm_tls_client/main.cc"
                (("Gio::init.*$")
-                "return 77;\n"))
-             #t)))))
+                "return 77              ;\n"))
+     #t)))))
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("glib" ,glib "bin")))
     (propagated-inputs
-- 
2.31.0


[-- Attachment #1.1.11: 0010-gnu-glibmm-Update-to-2.68.0.patch --]
[-- Type: text/x-patch, Size: 3306 bytes --]

From aecb79dbf9aa217cf84fe9b1411468aa4d44bd4c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 01:56:45 -0400
Subject: [PATCH 10/56] gnu: glibmm: Update to 2.68.0.

* gnu/packages/glib.scm (glibmm)[version]: Update to 2.68.0.
[arguments]<#:phases>['pre-build]: Remove phase.
['disable-failing-tests]: New phase.
[native-inputs]: Add m4, mm-common, perl and libxslt.
---
 gnu/packages/glib.scm | 50 +++++++++++++++++++++----------------------
 1 file changed, 25 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 1f6098becf..ac46b5ce45 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -634,36 +634,36 @@ by GDBus included in Glib.")
 (define glibmm
   (package
     (name "glibmm")
-    (version "2.62.0")
+    (version "2.68.0")
     (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/glibmm/"
-                                 (version-major+minor version)
-                                 "/glibmm-" version ".tar.xz"))
-             (sha256
-              (base32
-               "1ziwx6r7k7wbvg4qq1rgrv8zninapgrmhn1hs6926a3krh9ryr9n"))))
-    (build-system gnu-build-system)
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/glibmm/"
+                                  (version-major+minor version)
+                                  "/glibmm-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0xgkyhb2876mcyyib5rk3ya9aingyj68h02nl22yvkhx35rqbwy1"))))
+    (build-system meson-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-before 'build 'pre-build
+         (add-after 'unpack 'disable-failing-tests
            (lambda _
-             ;; This test uses /etc/fstab as an example file to read
-             ;; from; choose a better example.
-             (substitute* "tests/giomm_simple/main.cc"
-               (("/etc/fstab")
-                (string-append (getcwd)
-                               "/tests/giomm_simple/main.cc")))
-
-             ;; This test does a DNS lookup, and then expects to be able
-             ;; to open a TLS session; just skip it.
-             (substitute* "tests/giomm_tls_client/main.cc"
-               (("Gio::init.*$")
-                "return 77              ;\n"))
-     #t)))))
-    (native-inputs `(("pkg-config" ,pkg-config)
-                     ("glib" ,glib "bin")))
+             (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.*$") ""))
+             #t)))))
+    (native-inputs
+     `(("glib:bin" ,glib "bin")
+       ("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("libsigc++" ,libsigc++)
        ("glib" ,glib)))
-- 
2.31.0


[-- Attachment #1.1.12: 0011-gnu-glibmm-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 2113 bytes --]

From 8ced07a179fe52541f8b87d1fefea5aac0b05332 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 03:04:01 -0400
Subject: [PATCH 11/56] gnu: glibmm: Enable documentation.

* gnu/packages/glib.scm (glibmm)[outputs]: New output "doc".
[arguments]<#:configure-flags>[-Dbuild-documentation]: New flag.
<#:phases>['move-doc]: New phase.
[native-inputs]: Add doxygen and graphviz.
---
 gnu/packages/glib.scm | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index ac46b5ce45..bff6f281cd 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -644,8 +644,12 @@ by GDBus included in Glib.")
                (base32
                 "0xgkyhb2876mcyyib5rk3ya9aingyj68h02nl22yvkhx35rqbwy1"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:phases
+     `(#:configure-flags
+       (list
+        "-Dbuild-documentation=true")
+       #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'disable-failing-tests
            (lambda _
@@ -656,9 +660,20 @@ by GDBus included in Glib.")
                ;; This test does a DNS lookup, and then expects to be able
                ;; to open a TLS session; just skip it.
                (("[ \t]*.*giomm_tls_client.*$") ""))
-             #t)))))
+             #t))
+         (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"))
+               #t))))))
     (native-inputs
-     `(("glib:bin" ,glib "bin")
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("glib:bin" ,glib "bin")
        ("m4" ,m4)
        ("mm-common" ,mm-common)
        ("perl" ,perl)
-- 
2.31.0


[-- Attachment #1.1.13: 0012-gnu-gtk-doc-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 2935 bytes --]

From a967d8c345584aee0a689cc0eac94cbcb9ce418c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 08:51:02 -0500
Subject: [PATCH 12/56] gnu: gtk-doc: Change build-system.

* gnu/packages/gtk.scm (gtk-doc) [build-system]: Change from gnu to glib-or-gtk.
---
 gnu/packages/gtk.scm | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index f0c1fcccb2..dadd6bbf42 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1742,7 +1742,7 @@ information.")
               (sha256
                (base32
                 "05apmwibkmn1icx05l8aw241lhymcx01zvk5i499cb150bijj7li"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      `(#:parallel-tests? #f
        #:phases
@@ -1750,16 +1750,16 @@ information.")
          (add-after 'unpack 'patch-gtk-doc-scan
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "gtk-doc.xsl"
-              (("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl")
-               (string-append (assoc-ref inputs "docbook-xsl")
-                              "/xml/xsl/docbook-xsl-"
-                              ,(package-version docbook-xsl)
-                              "/html/chunk.xsl"))
-              (("http://docbook.sourceforge.net/release/xsl/current/common/en.xml")
-               (string-append (assoc-ref inputs "docbook-xsl")
-                              "/xml/xsl/docbook-xsl-"
-                              ,(package-version docbook-xsl)
-                              "/common/en.xml")))
+               (("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl")
+                (string-append (assoc-ref inputs "docbook-xsl")
+                               "/xml/xsl/docbook-xsl-"
+                               ,(package-version docbook-xsl)
+                               "/html/chunk.xsl"))
+               (("http://docbook.sourceforge.net/release/xsl/current/common/en.xml")
+                (string-append (assoc-ref inputs "docbook-xsl")
+                               "/xml/xsl/docbook-xsl-"
+                               ,(package-version docbook-xsl)
+                               "/common/en.xml")))
              #t))
          (add-after 'patch-gtk-doc-scan 'patch-test-out
            (lambda _
@@ -1768,7 +1768,7 @@ information.")
              ;; generator metafont outputs a lot of extra lines, this
              ;; test would always fail.  Disable it for now.
              (substitute* "tests/Makefile.in"
-              (("empty.sh sanity.sh") "empty.sh"))
+               (("empty.sh sanity.sh") "empty.sh"))
              #t))
          (add-before 'configure 'fix-docbook
            (lambda* (#:key inputs #:allow-other-keys)
-- 
2.31.0


[-- Attachment #1.1.14: 0013-gnu-gtk-doc-Correct-inputs.patch --]
[-- Type: text/x-patch, Size: 2177 bytes --]

From 2be0bd0434356b90b2751182d345f506c7cd0393 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 08:58:34 -0500
Subject: [PATCH 13/56] gnu: gtk-doc: Correct inputs.

* gnu/packages/gtk.scm (gtk-doc) [native-inputs]: Add glib:bin,
perl and python-wrapper.
[inputs]: Add python-anytree, python-lxml, python-parameterized,
python-pygments, python-unittest2 and yelp-tools. Remove perl.
---
 gnu/packages/gtk.scm | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index dadd6bbf42..049815b8e5 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1798,21 +1798,29 @@ information.")
                             (assoc-ref %build-inputs "docbook-xml")
                             "/xml/dtd/docbook/catalog.xml"))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
        ("itstool" ,itstool)
-       ("libxml" ,libxml2)
-       ("gettext" ,gettext-minimal)
-       ("bc" ,bc)))
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python-wrapper" ,python-wrapper)))
     (inputs
-     `(("perl" ,perl)
-       ("python" ,python)
-       ("xsltproc" ,libxslt)
+     `(("bc" ,bc)
        ("dblatex" ,dblatex)
        ("docbook-xml" ,docbook-xml-4.3)
        ("docbook-xsl" ,docbook-xsl)
-       ("source-highlight" ,source-highlight)
        ("glib" ,glib)
-       ("python-six" ,python-six)))
+       ("libxml2" ,libxml2)
+       ("libxslt" ,libxslt)
+       ("python" ,python)
+       ("python-anytree" ,python-anytree)
+       ("python-lxml" ,python-lxml)
+       ("python-parameterized" ,python-parameterized)
+       ("python-pygments" ,python-pygments)
+       ("python-unittest2" ,python-unittest2)
+       ("source-highlight" ,source-highlight)
+       ("yelp-tools" ,yelp-tools)))
     (home-page "https://www.gtk.org/gtk-doc/")
     (synopsis "Documentation generator from C source code")
     (description
-- 
2.31.0


[-- Attachment #1.1.15: 0014-gnu-gtk-doc-Update-to-1.32.patch --]
[-- Type: text/x-patch, Size: 2900 bytes --]

From 865089af4a405af3da349610d66e8e705a8dddf9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 09:08:32 -0500
Subject: [PATCH 14/56] gnu: gtk-doc: Update to 1.32.

* gnu/packages/gtk.scm (gtk-doc) [version]: Update to 1.32.
[arguments]<#:phases>['patch-test-out]: Remove phase.
['disable-failing-tests]: New phase.
['set-HOME]: New phase.
---
 gnu/packages/gtk.scm | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 049815b8e5..2322b5c627 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1733,7 +1733,7 @@ information.")
 (define-public gtk-doc
   (package
     (name "gtk-doc")
-    (version "1.28")
+    (version "1.32")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -1741,7 +1741,7 @@ information.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "05apmwibkmn1icx05l8aw241lhymcx01zvk5i499cb150bijj7li"))))
+                "0z4h1dggpimygdp719l457jvqilps4qcfpk31jmj3jqpzcsg03ny"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:parallel-tests? #f
@@ -1761,14 +1761,11 @@ information.")
                                ,(package-version docbook-xsl)
                                "/common/en.xml")))
              #t))
-         (add-after 'patch-gtk-doc-scan 'patch-test-out
+         (add-after 'unpack 'disable-failing-tests
            (lambda _
-             ;; sanity.sh counts the number of status lines.  Since our
-             ;; texlive regenerates the fonts every time and the font
-             ;; generator metafont outputs a lot of extra lines, this
-             ;; test would always fail.  Disable it for now.
              (substitute* "tests/Makefile.in"
-               (("empty.sh sanity.sh") "empty.sh"))
+               (("annotations.sh bugs.sh empty.sh fail.sh gobject.sh program.sh")
+                ""))
              #t))
          (add-before 'configure 'fix-docbook
            (lambda* (#:key inputs #:allow-other-keys)
@@ -1785,6 +1782,12 @@ information.")
                                                 "^catalog.xml$"))
                                " \"http://docbook.sourceforge.net/release/xsl/")))
              #t))
+         (add-before 'build 'set-HOME
+           (lambda _
+             ;; FIXME: dblatex with texlive-union does not find the built
+             ;; metafonts, so it tries to generate them in HOME.
+             (setenv "HOME" "/tmp")
+             #t))
          (add-after 'install 'wrap-executables
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
-- 
2.31.0


[-- Attachment #1.1.16: 0015-gnu-gtk-doc-Enable-help.patch --]
[-- Type: text/x-patch, Size: 1440 bytes --]

From adb1bbfaebbcb0336212ecbc1b59cca26f271b9a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 09:13:14 -0500
Subject: [PATCH 15/56] gnu: gtk-doc: Enable help.

* gnu/packages/gtk.scm (gtk-doc) [outputs]: New output 'help'.
[arguments]<#:configure-flags>[--with-help-dir]: New flag.
---
 gnu/packages/gtk.scm | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 2322b5c627..4d3017da73 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1743,6 +1743,7 @@ information.")
                (base32
                 "0z4h1dggpimygdp719l457jvqilps4qcfpk31jmj3jqpzcsg03ny"))))
     (build-system glib-or-gtk-build-system)
+    (outputs '("out" "help"))
     (arguments
      `(#:parallel-tests? #f
        #:phases
@@ -1799,7 +1800,10 @@ information.")
        #:configure-flags
        (list (string-append "--with-xml-catalog="
                             (assoc-ref %build-inputs "docbook-xml")
-                            "/xml/dtd/docbook/catalog.xml"))))
+                            "/xml/dtd/docbook/catalog.xml")
+             (string-append "--with-help-dir="
+                            (assoc-ref %outputs "help")
+                            "/share/help"))))
     (native-inputs
      `(("gettext" ,gettext-minimal)
        ("glib:bin" ,glib "bin")
-- 
2.31.0


[-- Attachment #1.1.17: 0016-gnu-gtk-doc-Update-synopsis-description-home-page-an.patch --]
[-- Type: text/x-patch, Size: 1837 bytes --]

From 8a73dc42b1a80e908f6b13496ab8944fb175c1cf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 09:20:40 -0500
Subject: [PATCH 16/56] gnu: gtk-doc: Update synopsis, description, home-page
 and license.

* gnu/packages/gtk.scm (gtk-doc) [home-page]: Modify.
[synopsis]: Modify.
[description]: Modify.
[license]: Add fdl1.1+.
---
 gnu/packages/gtk.scm | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 4d3017da73..4c7b253060 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1828,13 +1828,19 @@ information.")
        ("python-unittest2" ,python-unittest2)
        ("source-highlight" ,source-highlight)
        ("yelp-tools" ,yelp-tools)))
-    (home-page "https://www.gtk.org/gtk-doc/")
-    (synopsis "Documentation generator from C source code")
-    (description
-     "GTK-Doc generates API documentation from comments added to C code.  It is
-typically used to document the public API of GTK+ and GNOME libraries, but it
-can also be used to document application code.")
-    (license license:gpl2+)))
+    (home-page "https://wiki.gnome.org/DocumentationProject/GtkDoc")
+    (synopsis "GTK+ DocBook Documentation Generator")
+    (description "GtkDoc is a tool used to extract API documentation from C-code
+like Doxygen, but handles documentation of GObject (including signals and
+properties) that makes it very suitable for GTK+ apps and libraries.  It uses
+docbook for intermediate files and can produce html by default and pdf/man-pages
+with some extra work.")
+    (license
+     (list
+      ;; Docs.
+      license:fdl1.1+
+      ;; Others.
+      license:gpl2+))))
 
 (define-public gtk-engines
   (package
-- 
2.31.0


[-- Attachment #1.1.18: 0017-gnu-gobject-introspection-Propagate-glib.patch --]
[-- Type: text/x-patch, Size: 1091 bytes --]

From d7df90e58a162fcacb0f6064523767f91fd17baa Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 09:59:44 -0500
Subject: [PATCH 17/56] gnu: gobject-introspection: Propagate glib.

* gnu/packages/glib.scm (gobject-introspection) [inputs]: Move glib to ...
[propagated-inputs]: ... here.
---
 gnu/packages/glib.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index bff6f281cd..7d31b1dc73 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -416,11 +416,11 @@ functions for strings and common data structures.")
     (inputs
      `(("bison" ,bison)
        ("flex" ,flex)
-       ("glib" ,glib)
        ("python" ,python-wrapper)
        ("zlib" ,zlib)))
     (propagated-inputs
-     `(;; In practice, GIR users will need libffi when using
+     `(("glib" ,glib)
+       ;; In practice, GIR users will need libffi when using
        ;; gobject-introspection.
        ("libffi" ,libffi)))
     (native-search-paths
-- 
2.31.0


[-- Attachment #1.1.19: 0018-gnu-cairo-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 9383 bytes --]

From 9fa9752ba9b28cd8ecc6d7d539cf0a05133682ce Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 00:49:10 -0500
Subject: [PATCH 18/56] gnu: cairo: Make some cosmetic changes.

* gnu/packages/patches/cairo-CVE-2018-19876.patch,
gnu/packages/patches/cairo-CVE-2020-35492.patch: Remove patches.
* gnu/local.mk (dist_patch_DATA): Unregister them.
* gnu/packages/gtk.scm (cairo): Make some cosmetic changes.
[replacement]: Remove.
(cairo/fixed): Remove.
---
 gnu/local.mk                                  |  2 -
 gnu/packages/gtk.scm                          | 92 +++++++++----------
 .../patches/cairo-CVE-2018-19876.patch        | 37 --------
 .../patches/cairo-CVE-2020-35492.patch        | 49 ----------
 4 files changed, 41 insertions(+), 139 deletions(-)
 delete mode 100644 gnu/packages/patches/cairo-CVE-2018-19876.patch
 delete mode 100644 gnu/packages/patches/cairo-CVE-2020-35492.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index fc05786287..73f3ffbcf5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -878,8 +878,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/bpftrace-disable-bfd-disasm.patch	\
   %D%/packages/patches/busybox-CVE-2021-28831.patch		\
   %D%/packages/patches/byobu-writable-status.patch		\
-  %D%/packages/patches/cairo-CVE-2018-19876.patch		\
-  %D%/packages/patches/cairo-CVE-2020-35492.patch		\
   %D%/packages/patches/calibre-no-updates-dialog.patch		\
   %D%/packages/patches/calibre-remove-test-sqlite.patch		\
   %D%/packages/patches/calibre-remove-test-unrar.patch		\
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 4c7b253060..d9adfe28ea 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -123,67 +123,57 @@ tools have full access to view and control running applications.")
 
 (define-public cairo
   (package
-   (name "cairo")
-   (version "1.16.0")
-   (replacement cairo/fixed)
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "https://cairographics.org/releases/cairo-"
-                                version ".tar.xz"))
-            (sha256
-             (base32
-              "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
-   (build-system gnu-build-system)
-   (propagated-inputs
-    `(("fontconfig" ,fontconfig)
-      ("freetype" ,freetype)
-      ("glib" ,glib)
-      ("libpng" ,libpng)
-      ("libx11" ,libx11)
-      ("libxext" ,libxext)
-      ("libxrender" ,libxrender)
-      ("pixman" ,pixman)))
-   (inputs
-    `(("ghostscript" ,ghostscript)
-      ("libspectre" ,libspectre)
-      ("poppler" ,poppler)
-      ("xorgproto" ,xorgproto)
-      ("zlib" ,zlib)))
-   (native-inputs
-     `(("pkg-config" ,pkg-config)
-      ("python" ,python-wrapper)))
+    (name "cairo")
+    (version "1.16.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://cairographics.org/releases/cairo-"
+                       version ".tar.xz"))
+       (sha256
+        (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
+    (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f  ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
-       #:configure-flags '("--enable-tee"      ;needed for GNU Icecat
-                           "--enable-xml"      ;for cairo-xml support
-                           "--disable-static")))
-   (synopsis "2D graphics library")
-   (description
-    "Cairo is a 2D graphics library with support for multiple output devices.
-Currently supported output targets include the X Window System (via both
-Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
+     `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
+       #:configure-flags
+       (list
+        "--enable-tee"                    ;needed for GNU Icecat
+        "--enable-xml"                    ;for cairo-xml support
+        "--disable-static")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("ghostscript" ,ghostscript)
+       ("libspectre" ,libspectre)
+       ("poppler" ,poppler)
+       ("xorgproto" ,xorgproto)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("glib" ,glib)
+       ("libpng" ,libpng)
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
+       ("libxrender" ,libxrender)
+       ("pixman" ,pixman)))
+    (synopsis "2D graphics library")
+    (description "Cairo is a 2D graphics library with support for multiple output
+devices.  Currently supported output targets include the X Window System (via
+both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
 output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
-
 Cairo is designed to produce consistent output on all output media while
 taking advantage of display hardware acceleration when available
 eg. through the X Render Extension).
-
 The cairo API provides operations similar to the drawing operators of
 PostScript and PDF.  Operations in cairo including stroking and filling cubic
 Bézier splines, transforming and compositing translucent images, and
 antialiased text rendering.  All drawing operations can be transformed by any
 affine transformation (scale, rotation, shear, etc.).")
-   (license license:lgpl2.1) ; or Mozilla Public License 1.1
-   (home-page "https://cairographics.org/")))
-
-(define cairo/fixed
-  (package
-    (inherit cairo)
-    (source (origin
-              (inherit (package-source cairo))
-              (patches (append (search-patches "cairo-CVE-2018-19876.patch"
-                                               "cairo-CVE-2020-35492.patch")
-                               (origin-patches (package-source cairo))))))))
+    (home-page "https://cairographics.org/")
+    (license license:lgpl2.1))) ; or Mozilla Public License 1.1
 
 (define-public cairo-sans-poppler
   ;; Variant used to break the dependency cycle between Poppler and Cairo.
diff --git a/gnu/packages/patches/cairo-CVE-2018-19876.patch b/gnu/packages/patches/cairo-CVE-2018-19876.patch
deleted file mode 100644
index c0fba2ecaa..0000000000
--- a/gnu/packages/patches/cairo-CVE-2018-19876.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Copied from Debian.
-
-From: Carlos Garcia Campos <cgarcia@igalia.com>
-Date: Mon, 19 Nov 2018 12:33:07 +0100
-Subject: ft: Use FT_Done_MM_Var instead of free when available in
- cairo_ft_apply_variations
-
-Fixes a crash when using freetype >= 2.9
-
-[This is considered to be security-sensitive because WebKitGTK+ sets its
-own memory allocator, which is not compatible with system free(), making
-this a remotely triggerable denial of service or memory corruption.]
-
-Origin: upstream, commit:90e85c2493fdfa3551f202ff10282463f1e36645
-Bug: https://gitlab.freedesktop.org/cairo/cairo/merge_requests/5
-Bug-Debian: https://bugs.debian.org/916389
-Bug-CVE: CVE-2018-19876
----
- src/cairo-ft-font.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
-index 325dd61..981973f 100644
---- a/src/cairo-ft-font.c
-+++ b/src/cairo-ft-font.c
-@@ -2393,7 +2393,11 @@ skip:
- done:
-         free (coords);
-         free (current_coords);
-+#if HAVE_FT_DONE_MM_VAR
-+        FT_Done_MM_Var (face->glyph->library, ft_mm_var);
-+#else
-         free (ft_mm_var);
-+#endif
-     }
- }
- 
diff --git a/gnu/packages/patches/cairo-CVE-2020-35492.patch b/gnu/packages/patches/cairo-CVE-2020-35492.patch
deleted file mode 100644
index e8b90fa5c5..0000000000
--- a/gnu/packages/patches/cairo-CVE-2020-35492.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-Copied from Debian.
-
-From 03a820b173ed1fdef6ff14b4468f5dbc02ff59be Mon Sep 17 00:00:00 2001
-From: Heiko Lewin <heiko.lewin@worldiety.de>
-Date: Tue, 15 Dec 2020 16:48:19 +0100
-Subject: [PATCH] Fix mask usage in image-compositor
-
-[trimmed test case, since not used in Debian build]
-
----
- src/cairo-image-compositor.c                |   8 ++--
-
---- cairo-1.16.0.orig/src/cairo-image-compositor.c
-+++ cairo-1.16.0/src/cairo-image-compositor.c
-@@ -2601,14 +2601,14 @@ _inplace_src_spans (void *abstract_rende
- 		    unsigned num_spans)
- {
-     cairo_image_span_renderer_t *r = abstract_renderer;
--    uint8_t *m;
-+    uint8_t *m, *base = (uint8_t*)pixman_image_get_data(r->mask);
-     int x0;
- 
-     if (num_spans == 0)
- 	return CAIRO_STATUS_SUCCESS;
- 
-     x0 = spans[0].x;
--    m = r->_buf;
-+    m = base;
-     do {
- 	int len = spans[1].x - spans[0].x;
- 	if (len >= r->u.composite.run_length && spans[0].coverage == 0xff) {
-@@ -2646,7 +2646,7 @@ _inplace_src_spans (void *abstract_rende
- 				      spans[0].x, y,
- 				      spans[1].x - spans[0].x, h);
- 
--	    m = r->_buf;
-+	    m = base;
- 	    x0 = spans[1].x;
- 	} else if (spans[0].coverage == 0x0) {
- 	    if (spans[0].x != x0) {
-@@ -2675,7 +2675,7 @@ _inplace_src_spans (void *abstract_rende
- #endif
- 	    }
- 
--	    m = r->_buf;
-+	    m = base;
- 	    x0 = spans[1].x;
- 	} else {
- 	    *m++ = spans[0].coverage;
-- 
2.31.0


[-- Attachment #1.1.20: 0019-gnu-cairo-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 1001 bytes --]

From 2d93be247899688e378bfd267bc884a5152ada2d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 00:51:10 -0500
Subject: [PATCH 19/56] gnu: cairo: Change build-system.

* gnu/packages/gtk.scm (cairo) [build-system]: Change from gnu to glib-or-gtk.
---
 gnu/packages/gtk.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index d9adfe28ea..27c132ab59 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -133,7 +133,7 @@ tools have full access to view and control running applications.")
                        version ".tar.xz"))
        (sha256
         (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
        #:configure-flags
-- 
2.31.0


[-- Attachment #1.1.21: 0020-gnu-cairo-Move-documentation-to-separate-output.patch --]
[-- Type: text/x-patch, Size: 1603 bytes --]

From 403c8fb54e60c69e1a11863c226efffbb9952b2e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 00:53:16 -0500
Subject: [PATCH 20/56] gnu: cairo: Move documentation to separate output.

* gnu/packages/gtk.scm (cairo) [outputs]: New output "doc".
[arguments]<#:configure-flags>[--with-html-dir]: New flag.
---
 gnu/packages/gtk.scm | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 27c132ab59..6dd281e2bc 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -134,13 +134,17 @@ tools have full access to view and control running applications.")
        (sha256
         (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
     (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
     (arguments
      `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
        #:configure-flags
        (list
-        "--enable-tee"                    ;needed for GNU Icecat
-        "--enable-xml"                    ;for cairo-xml support
-        "--disable-static")))
+        "--enable-tee"                  ;needed for GNU Icecat
+        "--enable-xml"                  ;for cairo-xml support
+        "--disable-static"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)))
-- 
2.31.0


[-- Attachment #1.1.22: 0021-gnu-cairo-Enable-some-features.patch --]
[-- Type: text/x-patch, Size: 2835 bytes --]

From 67db52bb67fb57967c869a6e852288a2a32101a1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 01:02:00 -0500
Subject: [PATCH 21/56] gnu: cairo: Enable some features.

* gnu/packages/gtk.scm (cairo) [native-inputs]: Add gobject-introspection.
[inputs]: Add libdrm. Remove xorgproto and zlib.
[propagated-inputs]: Add libxcb.
---
 gnu/packages/gtk.scm | 39 +++++++++++++++++++++++++++------------
 1 file changed, 27 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 6dd281e2bc..f1f71c2612 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -139,30 +139,45 @@ tools have full access to view and control running applications.")
      `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
        #:configure-flags
        (list
-        "--enable-tee"                  ;needed for GNU Icecat
-        "--enable-xml"                  ;for cairo-xml support
         "--disable-static"
+        ;; XXX: To be enabled.
+        ;; "--enable-gallium=yes"
+        ;; "--enable-gl=yes"
+        ;; " --enable-glesv2=yes"
+        ;; "--enable-glesv3=yes"
+        ;; "--enable-cogl=yes"
+        ;; "--enable-directfb=yes"
+        ;; "--enable-vg=yes"
+        "--enable-tee=yes"
+        "--enable-xml=yes"
         (string-append "--with-html-dir="
                        (assoc-ref %outputs "doc")
                        "/share/gtk-doc/html"))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)))
     (inputs
-     `(("ghostscript" ,ghostscript)
+     `(("drm" ,libdrm)
+       ("ghostscript" ,ghostscript)
        ("libspectre" ,libspectre)
-       ("poppler" ,poppler)
-       ("xorgproto" ,xorgproto)
-       ("zlib" ,zlib)))
+       ("poppler" ,poppler)))
     (propagated-inputs
-     `(("fontconfig" ,fontconfig)
+     `( ;; ("cogl" ,cogl)
+       ;; ("directfb" ,directfb)
+       ("fontconfig" ,fontconfig)
+       ("fontconfig" ,fontconfig)
        ("freetype" ,freetype)
        ("glib" ,glib)
+       ;; ("gtk+" ,gtk+)
        ("libpng" ,libpng)
-       ("libx11" ,libx11)
-       ("libxext" ,libxext)
-       ("libxrender" ,libxrender)
-       ("pixman" ,pixman)))
+       ;; ("librsvg" ,librsvg)
+       ;; ("opengl" ,mesa)
+       ("pixman" ,pixman)
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xext" ,libxext)
+       ("xrender" ,libxrender)))
     (synopsis "2D graphics library")
     (description "Cairo is a 2D graphics library with support for multiple output
 devices.  Currently supported output targets include the X Window System (via
-- 
2.31.0


[-- Attachment #1.1.23: 0022-gnu-cairo-Update-synopsis-description-and-license.patch --]
[-- Type: text/x-patch, Size: 2172 bytes --]

From 2dd3536d8cddbfd502aace1582b764242a0fb04e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 01:04:37 -0500
Subject: [PATCH 22/56] gnu: cairo: Update synopsis, description and license.

* gnu/packages/gtk.scm (cairo) [synopsis]: Modify.
[description]: Modify.
[license]: Modify.
---
 gnu/packages/gtk.scm | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index f1f71c2612..92a6dfc723 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -178,21 +178,17 @@ tools have full access to view and control running applications.")
        ("xcb" ,libxcb)
        ("xext" ,libxext)
        ("xrender" ,libxrender)))
-    (synopsis "2D graphics library")
+    (synopsis "Multi-platform 2D graphics library")
     (description "Cairo is a 2D graphics library with support for multiple output
 devices.  Currently supported output targets include the X Window System (via
 both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
-output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
-Cairo is designed to produce consistent output on all output media while
-taking advantage of display hardware acceleration when available
-eg. through the X Render Extension).
-The cairo API provides operations similar to the drawing operators of
-PostScript and PDF.  Operations in cairo including stroking and filling cubic
-Bézier splines, transforming and compositing translucent images, and
-antialiased text rendering.  All drawing operations can be transformed by any
-affine transformation (scale, rotation, shear, etc.).")
+output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
     (home-page "https://cairographics.org/")
-    (license license:lgpl2.1))) ; or Mozilla Public License 1.1
+    (license
+     ;; This project is dual-licensed.
+     (list
+      license:lgpl2.1+
+      license:mpl1.1))))
 
 (define-public cairo-sans-poppler
   ;; Variant used to break the dependency cycle between Poppler and Cairo.
-- 
2.31.0


[-- Attachment #1.1.24: 0023-gnu-cairomm-Update-to-1.16.0.patch --]
[-- Type: text/x-patch, Size: 2334 bytes --]

From cf19f2b3a3d937b35fb1293f1ee5649824358afd Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 06:49:16 -0400
Subject: [PATCH 23/56] gnu: cairomm: Update to 1.16.0.

* gnu/packages/gtk.scm (cairomm)[version]: Update to 1.16.0.
[build-system]: Change from gnu to meson.
[arguments]<#:glib-or-gtk?>: New argument.
<#:configure-flags>[-Dboost-shared]: New flag.
<#:make-flags>: Remove argument.
[native-inputs]: Add boost and mm-common.
---
 gnu/packages/gtk.scm | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 92a6dfc723..82d59ed60b 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -58,6 +58,7 @@
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages boost)
   #:use-module (gnu packages build-tools)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages check)
@@ -1264,19 +1265,24 @@ guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.")
 (define-public cairomm
   (package
     (name "cairomm")
-    (version "1.12.2")
+    (version "1.16.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.cairographics.org/releases/"
-                                  name "-" version ".tar.gz"))
+                                  name "-" version ".tar.xz"))
               (sha256
                (base32
-                "16fmigxsaz85c3lgcls7biwyz8zy8c8h3jndfm54cxxas3a7zi25"))))
-    (build-system gnu-build-system)
+                "1ya4y7qa000cjawqwswbqv26y5icfkmhs5iiiil4dxgrqn91923y"))))
+    (build-system meson-build-system)
     (arguments
-     ;; The examples lack -lcairo.
-     '(#:make-flags '("LDFLAGS=-lcairo")))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Dboost-shared=true")))
+    (native-inputs
+     `(("boost" ,boost)
+       ("mm-common" ,mm-common)
+       ("pkg-config" ,pkg-config)))
     (propagated-inputs
      `(("libsigc++" ,libsigc++)
        ("freetype" ,freetype)
-- 
2.31.0


[-- Attachment #1.1.25: 0024-gnu-cairomm-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 2074 bytes --]

From 13129ff9d6fd5656ecbe7f01cdd55e18d7beaad8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 07:07:14 -0400
Subject: [PATCH 24/56] gnu: cairomm: Enable documentation.

* gnu/packages/gtk.scm (cairomm)[outputs]: New output "doc".
[arguments]<#:configure-flags>[-Dbuild-documentation]: New flag.
<#:phases>['move-doc]: New phase.
[native-inputs]: Add doxygen, graphviz, perl and libxslt.
---
 gnu/packages/gtk.scm | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 82d59ed60b..4c3514c2a9 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1274,15 +1274,32 @@ guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.")
                (base32
                 "1ya4y7qa000cjawqwswbqv26y5icfkmhs5iiiil4dxgrqn91923y"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
      `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
        #:configure-flags
        (list
-        "-Dboost-shared=true")))
+        "-Dbuild-documentation=true"
+        "-Dboost-shared=true")
+       #:phases
+       (modify-phases %standard-phases
+         (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"))
+               #t))))))
     (native-inputs
      `(("boost" ,boost)
+       ("dot" ,graphviz)
+       ("doxygen" ,doxygen)
        ("mm-common" ,mm-common)
-       ("pkg-config" ,pkg-config)))
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("libsigc++" ,libsigc++)
        ("freetype" ,freetype)
-- 
2.31.0


[-- Attachment #1.1.26: 0025-gnu-pango-Add-missing-arguments.patch --]
[-- Type: text/x-patch, Size: 1033 bytes --]

From a7445cc9a1fee8ca1b388a69cf28799355c5bef6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:11:10 -0500
Subject: [PATCH 25/56] gnu: pango: Add missing arguments.

* gnu/packages/gtk.scm (pango) [arguments]<#:glib-or-gtk?>: New argument.
---
 gnu/packages/gtk.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 4c3514c2a9..1e0cdbe265 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -325,7 +325,8 @@ applications.")
               "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"))))
    (build-system meson-build-system)
    (arguments
-    '(#:phases (modify-phases %standard-phases
+    '(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+      #:phases (modify-phases %standard-phases
                  (add-after 'unpack 'disable-cantarell-tests
                    (lambda _
                      (substitute* "tests/meson.build"
-- 
2.31.0


[-- Attachment #1.1.27: 0026-gnu-pango-Re-arrange-inputs-in-alphabetical-order.patch --]
[-- Type: text/x-patch, Size: 2279 bytes --]

From f92c4e9e56a05d10774c03883163b78a409054dd Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:17:09 -0500
Subject: [PATCH 26/56] gnu: pango: Re-arrange inputs in alphabetical order.

* gnu/packages/gtk.scm (pango) [propagated-inputs]: Modify.
[native-inputs]: Modify.
---
 gnu/packages/gtk.scm | 35 +++++++++++++++++------------------
 1 file changed, 17 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 1e0cdbe265..e5d2a2b9a4 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -336,24 +336,23 @@ applications.")
                        (("\\[ 'test-itemize'.*") "")
                        (("\\[ 'test-layout'.*") ""))
                      #t)))))
-   (propagated-inputs
-    ;; These are all in Requires or Requires.private of the '.pc' files.
-    `(("cairo" ,cairo)
-      ("fribidi" ,fribidi)
-      ("fontconfig" ,fontconfig)
-      ("freetype" ,freetype)
-      ("glib" ,glib)
-      ("harfbuzz" ,harfbuzz)
-
-      ;; Some packages, such as Openbox, expect Pango to be built with the
-      ;; optional libxft support.
-      ("libxft" ,libxft)))
-   (inputs
-    `(("zlib" ,zlib)))
-   (native-inputs
-    `(("pkg-config" ,pkg-config)
-      ("glib" ,glib "bin")                               ; glib-mkenums, etc.
-      ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
+    (propagated-inputs
+     ;; These are all in Requires or Requires.private of the '.pc' files.
+     `(("cairo" ,cairo)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("fribidi" ,fribidi)
+       ("glib" ,glib)
+       ("harfbuzz" ,harfbuzz)
+       ;; Some packages, such as Openbox, expect Pango to be built with the
+       ;; optional libxft support.
+       ("libxft" ,libxft)))
+    (inputs
+     `(("zlib" ,zlib)))
+    (native-inputs
+     `(("glib" ,glib "bin")             ; glib-mkenums, etc.
+       ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
+       ("pkg-config" ,pkg-config)))
    (synopsis "GNOME text and font handling library")
    (description
     "Pango is the core text and font handling library used in GNOME
-- 
2.31.0


[-- Attachment #1.1.28: 0027-gnu-pango-Update-to-1.48.3.patch --]
[-- Type: text/x-patch, Size: 5017 bytes --]

From 457f6775855abb52eb6af8e1197df003dbf06e72 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 23 Mar 2021 23:32:15 -0400
Subject: [PATCH 27/56] gnu: pango: Update to 1.48.3.

* gnu/packages/gtk.scm (pango) [version]: Update to 1.48.3.
[arguments]<#:phases>['disable-cantarell-tests]: Modify.
[propagated-inputs]: Add libthai and libxrender.
[native-inputs]: Add help2man, perl and python-wrapper.
---
 gnu/packages/gtk.scm | 69 ++++++++++++++++++++++++--------------------
 1 file changed, 38 insertions(+), 31 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index e5d2a2b9a4..93c8c46bea 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -78,6 +78,7 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -312,30 +313,31 @@ applications.")
 
 (define-public pango
   (package
-   (name "pango")
-   (version "1.44.7")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/pango/"
-                                (version-major+minor version) "/"
-                                name "-" version ".tar.xz"))
-            (patches (search-patches "pango-skip-libthai-test.patch"))
-            (sha256
-             (base32
-              "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"))))
-   (build-system meson-build-system)
-   (arguments
-    '(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
-      #:phases (modify-phases %standard-phases
-                 (add-after 'unpack 'disable-cantarell-tests
-                   (lambda _
-                     (substitute* "tests/meson.build"
-                       ;; XXX FIXME: These tests require "font-cantarell", but
-                       ;; adding it here would introduce a circular dependency.
-                       (("\\[ 'test-harfbuzz'.*") "")
-                       (("\\[ 'test-itemize'.*") "")
-                       (("\\[ 'test-layout'.*") ""))
-                     #t)))))
+    (name "pango")
+    (version "1.48.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/pango/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (patches (search-patches "pango-skip-libthai-test.patch"))
+              (sha256
+               (base32
+                "0ijbkcs6217ygzphlpi0vajxkccifdbsl0jdjpy8wz11h9f19sin"))))
+    (build-system meson-build-system)
+    (arguments
+     '(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'disable-cantarell-tests
+                    (lambda _
+                      (substitute* "tests/meson.build"
+                        ;; XXX FIXME: These tests require "font-cantarell", but
+                        ;; adding it here would introduce a circular dependency.
+                        (("\\[ 'test-layout'.*") "")
+                        (("\\[ 'test-itemize'.*") "")
+                        (("\\[ 'test-font'.*") "")
+                        (("\\[ 'test-harfbuzz'.*") ""))
+                      #t)))))
     (propagated-inputs
      ;; These are all in Requires or Requires.private of the '.pc' files.
      `(("cairo" ,cairo)
@@ -344,22 +346,27 @@ applications.")
        ("fribidi" ,fribidi)
        ("glib" ,glib)
        ("harfbuzz" ,harfbuzz)
+       ("libthai" ,libthai)
        ;; Some packages, such as Openbox, expect Pango to be built with the
        ;; optional libxft support.
-       ("libxft" ,libxft)))
+       ("libxft" ,libxft)
+       ("libxrender" ,libxrender)))
     (inputs
      `(("zlib" ,zlib)))
     (native-inputs
      `(("glib" ,glib "bin")             ; glib-mkenums, etc.
        ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
-       ("pkg-config" ,pkg-config)))
-   (synopsis "GNOME text and font handling library")
-   (description
-    "Pango is the core text and font handling library used in GNOME
+       ("help2man" ,help2man)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (synopsis "GNOME text and font handling library")
+    (description
+     "Pango is the core text and font handling library used in GNOME
 applications.  It has extensive support for the different writing systems
 used throughout the world.")
-   (license license:lgpl2.0+)
-   (home-page "https://developer.gnome.org/pango/")))
+    (license license:lgpl2.0+)
+    (home-page "https://developer.gnome.org/pango/")))
 
 (define-public pango-1.42
   (package
-- 
2.31.0


[-- Attachment #1.1.29: 0028-gnu-pango-Update-synopsis-description-and-home-page.patch --]
[-- Type: text/x-patch, Size: 1606 bytes --]

From d85b2c15cf6463ef98b0a49db825c14bc534e28d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:24:42 -0500
Subject: [PATCH 28/56] gnu: pango: Update synopsis, description and home-page.

* gnu/packages/gtk.scm (pango) [synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
---
 gnu/packages/gtk.scm | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 93c8c46bea..700977fc55 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -360,13 +360,14 @@ applications.")
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)))
-    (synopsis "GNOME text and font handling library")
-    (description
-     "Pango is the core text and font handling library used in GNOME
-applications.  It has extensive support for the different writing systems
-used throughout the world.")
-    (license license:lgpl2.0+)
-    (home-page "https://developer.gnome.org/pango/")))
+    (synopsis "Text and font handling library")
+    (description "Pango is a library for laying out and rendering of text, with
+an emphasis on internationalization.  Pango can be used anywhere that text
+layout is needed, though most of the work on Pango so far has been done in the
+context of the GTK+ widget toolkit.  Pango forms the core of text and font
+handling for GTK+-2.x.")
+    (home-page "https://pango.gnome.org/")
+    (license license:lgpl2.0+)))
 
 (define-public pango-1.42
   (package
-- 
2.31.0


[-- Attachment #1.1.30: 0029-gnu-pangomm-Update-to-2.48.0.patch --]
[-- Type: text/x-patch, Size: 1997 bytes --]

From fadec9e7b29ebd93a3052209d0f0e5942940cb18 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 07:42:10 -0400
Subject: [PATCH 29/56] gnu: pangomm: Update to 2.48.0.

* gnu/packages/gtk.scm (pango)[version]: Update to 2.48.0.
[build-system]: Change from gnu to meson.
[arguments]<#:glib-or-gtk?>: New argument.
[native-inputs]: Add m4 and mm-common.
---
 gnu/packages/gtk.scm | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 700977fc55..e3afdc5d64 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1340,17 +1340,22 @@ library.")
 (define-public pangomm
   (package
     (name "pangomm")
-    (version "2.42.0")
+    (version "2.48.0")
     (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/" name "/"
-                                 (version-major+minor version)  "/"
-                                 name "-" version ".tar.xz"))
-             (sha256
-              (base32
-               "0mmzxp3wniaafkxr30sb22mq9x44xckb5d60h1bl99lkzxks0vfa"))))
-    (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0y2vyp6azvhrii6rzs89kr08wg8z1p562awyr812131zqdsd83ly"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t))   ; To wrap binaries and/or compile schemas
+    (native-inputs
+     `(("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("pkg-config" ,pkg-config)))
     (propagated-inputs
      `(("cairo" ,cairo)
        ("cairomm" ,cairomm)
-- 
2.31.0


[-- Attachment #1.1.31: 0030-gnu-pangomm-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 2022 bytes --]

From f55217fbe8a09dd12a28a9202efd5f7dc8ec9c17 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 07:47:41 -0400
Subject: [PATCH 30/56] gnu: pangomm: Enable documentation.

* gnu/packages/gtk.scm (pangomm)[outputs]: New output "doc".
[arguments]<#:configure-flags>[-Dbuild-documentation]: New flag.
<#:phases>['move-doc]: New phase.
[native-inputs]: Add doxygen, graphviz, perl and libxslt.
---
 gnu/packages/gtk.scm | 25 ++++++++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index e3afdc5d64..3d8a7b926b 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1350,12 +1350,31 @@ library.")
                (base32
                 "0y2vyp6azvhrii6rzs89kr08wg8z1p562awyr812131zqdsd83ly"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:glib-or-gtk? #t))   ; To wrap binaries and/or compile schemas
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Dbuild-documentation=true")
+       #:phases
+       (modify-phases %standard-phases
+         (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"))
+               #t))))))
     (native-inputs
-     `(("m4" ,m4)
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("m4" ,m4)
        ("mm-common" ,mm-common)
-       ("pkg-config" ,pkg-config)))
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("cairo" ,cairo)
        ("cairomm" ,cairomm)
-- 
2.31.0


[-- Attachment #1.1.32: 0031-gnu-gdk-pixbuf-Add-missing-arguments.patch --]
[-- Type: text/x-patch, Size: 8815 bytes --]

From b1282f298084d59f32dd0887e03a94869eb71982 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:29:02 -0500
Subject: [PATCH 31/56] gnu: gdk-pixbuf: Add missing arguments.

* gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch: Remove patch.
* gnu/local.mk (dist_patch_DATA): Unregister it.
* gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:glib-or-gtk?>: New argument.
[replacement]: Remove.
(gdk-pixbuf/fixed): Remove.
---
 gnu/local.mk                                  |  1 -
 gnu/packages/gtk.scm                          | 91 +++++++++----------
 .../patches/gdk-pixbuf-CVE-2020-29385.patch   | 53 -----------
 3 files changed, 41 insertions(+), 104 deletions(-)
 delete mode 100644 gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 73f3ffbcf5..7591a90c49 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1060,7 +1060,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/gdb-hurd.patch				\
   %D%/packages/patches/gd-fix-tests-on-i686.patch		\
   %D%/packages/patches/gd-brect-bounds.patch			\
-  %D%/packages/patches/gdk-pixbuf-CVE-2020-29385.patch		\
   %D%/packages/patches/gdm-default-session.patch		\
   %D%/packages/patches/geary-CVE-2020-24661.patch		\
   %D%/packages/patches/genimage-signedness.patch		\
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 3d8a7b926b..513a4ef1a6 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -579,60 +579,51 @@ highlighting and other features typical of a source code editor.")
 
 (define-public gdk-pixbuf
   (package
-   (name "gdk-pixbuf")
-   (version "2.42.2")
-   (replacement gdk-pixbuf/fixed)
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "05ggmzwvrxq9w4zcvmrnnd6qplsmb4n95lj4q607c7arzlf6mil3"))))
-   (build-system meson-build-system)
-   (arguments
-    `(#:meson ,meson-0.55
-      #:configure-flags '("-Dinstalled_tests=false")
-      #:phases
-      (modify-phases %standard-phases
-        ;; The slow tests take longer than the specified timeout.
-        ,@(if (any (cute string=? <> (%current-system))
-                   '("armhf-linux" "aarch64-linux"))
-            '((replace 'check
-              (lambda _
-                (invoke "meson" "test" "--timeout-multiplier" "5"))))
-            '()))))
-   (propagated-inputs
-    `(;; Required by gdk-pixbuf-2.0.pc
-      ("glib" ,glib)
-      ("libpng" ,libpng)
-      ;; Used for testing and required at runtime.
-      ("shared-mime-info" ,shared-mime-info)))
-   (inputs
-    `(("libjpeg" ,libjpeg-turbo)
-      ("libtiff" ,libtiff)
-      ("libx11"  ,libx11)))
-   (native-inputs
+    (name "gdk-pixbuf")
+    (version "2.42.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "05ggmzwvrxq9w4zcvmrnnd6qplsmb4n95lj4q607c7arzlf6mil3"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:meson ,meson-0.55
+       #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+       #:configure-flags '("-Dinstalled_tests=false")
+       #:phases
+       (modify-phases %standard-phases
+         ;; The slow tests take longer than the specified timeout.
+         ,@(if (any (cute string=? <> (%current-system))
+                    '("armhf-linux" "aarch64-linux"))
+               '((replace 'check
+                   (lambda _
+                     (invoke "meson" "test" "--timeout-multiplier" "5"))))
+               '()))))
+    (propagated-inputs
+     `( ;; Required by gdk-pixbuf-2.0.pc
+       ("glib" ,glib)
+       ("libpng" ,libpng)
+       ;; Used for testing and required at runtime.
+       ("shared-mime-info" ,shared-mime-info)))
+    (inputs
+     `(("libjpeg" ,libjpeg-turbo)
+       ("libtiff" ,libtiff)
+       ("libx11"  ,libx11)))
+    (native-inputs
      `(("pkg-config" ,pkg-config)
        ("gettext" ,gettext-minimal)
-       ("glib" ,glib "bin")                               ; glib-mkenums, etc.
+       ("glib" ,glib "bin")             ; glib-mkenums, etc.
        ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
-   (synopsis "GNOME image loading and manipulation library")
-   (description
-    "GdkPixbuf is a library for image loading and manipulation developed
+    (synopsis "GNOME image loading and manipulation library")
+    (description
+     "GdkPixbuf is a library for image loading and manipulation developed
 in the GNOME project.")
-   (license license:lgpl2.0+)
-   (home-page "https://developer.gnome.org/gdk-pixbuf/")))
-
-(define gdk-pixbuf/fixed
-  (package
-    (inherit gdk-pixbuf)
-    (source (origin
-              (inherit (package-source gdk-pixbuf))
-              (patches
-               (append (search-patches "gdk-pixbuf-CVE-2020-29385.patch")
-                       (origin-patches (package-source gdk-pixbuf))))))))
+    (license license:lgpl2.0+)
+    (home-page "https://developer.gnome.org/gdk-pixbuf/")))
 
 ;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg depends
 ;; on gdk-pixbuf, so this new varibale.  Also, librsvg adds 90MiB to the
diff --git a/gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch b/gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch
deleted file mode 100644
index e6ac4de00b..0000000000
--- a/gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Fix CVE-2020-29385.  Note that we omit the binary test file
-tests/test-images/fail/hang_114.gif from the following commit, to avoid
-requiring 'git' to apply the patch.
-
-
-From bdd3acbd48a575d418ba6bf1b32d7bda2fae1c81 Mon Sep 17 00:00:00 2001
-From: Robert Ancell <robert.ancell@canonical.com>
-Date: Mon, 30 Nov 2020 12:26:12 +1300
-Subject: [PATCH] gif: Fix LZW decoder accepting invalid LZW code.
-
-The code value after a reset wasn't being validated, which means we would
-accept invalid codes. This could cause an infinite loop in the decoder.
-
-Fixes CVE-2020-29385
-
-Fixes https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/164
----
- gdk-pixbuf/lzw.c                    |  13 +++++++------
- tests/test-images/fail/hang_114.gif | Bin 0 -> 5561 bytes
- 2 files changed, 7 insertions(+), 6 deletions(-)
- create mode 100644 tests/test-images/fail/hang_114.gif
-
-diff --git a/gdk-pixbuf/lzw.c b/gdk-pixbuf/lzw.c
-index 9e052a6f7..105daf2b1 100644
---- a/gdk-pixbuf/lzw.c
-+++ b/gdk-pixbuf/lzw.c
-@@ -195,19 +195,20 @@ lzw_decoder_feed (LZWDecoder *self,
-                                 if (self->last_code != self->clear_code && self->code_table_size < MAX_CODES) {
-                                         if (self->code < self->code_table_size)
-                                                 add_code (self, self->code);
--                                        else if (self->code == self->code_table_size)
-+                                        else
-                                                 add_code (self, self->last_code);
--                                        else {
--                                                /* Invalid code received - just stop here */
--                                                self->last_code = self->eoi_code;
--                                                return output_length;
--                                        }
- 
-                                         /* When table is full increase code size */
-                                         if (self->code_table_size == (1 << self->code_size) && self->code_size < LZW_CODE_MAX)
-                                                 self->code_size++;
-                                 }
- 
-+                                /* Invalid code received - just stop here */
-+                                if (self->code >= self->code_table_size) {
-+                                        self->last_code = self->eoi_code;
-+                                        return output_length;
-+                                }
-+
-                                 /* Convert codeword into indexes */
-                                 n_written += write_indexes (self, output + n_written, output_length - n_written);
-                         }
-- 
2.31.0


[-- Attachment #1.1.33: 0032-gnu-gdk-pixbuf-Correct-inputs.patch --]
[-- Type: text/x-patch, Size: 1258 bytes --]

From 877125c4a835cc2d08ecefbda0eac3191267a848 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:35:56 -0500
Subject: [PATCH 32/56] gnu: gdk-pixbuf: Correct inputs.

* gnu/packages/gtk.scm (gdk-pixbuf) [propagated-inputs]: Add libx11.
Remove libpng.
[inputs]: Add libpng. Remove libx11.
---
 gnu/packages/gtk.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 513a4ef1a6..a6bf1bb5b9 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -606,13 +606,14 @@ highlighting and other features typical of a source code editor.")
     (propagated-inputs
      `( ;; Required by gdk-pixbuf-2.0.pc
        ("glib" ,glib)
-       ("libpng" ,libpng)
+       ;; Required by gdk-pixbuf-xlib-2.0.pc
+       ("libx11" ,libx11)
        ;; Used for testing and required at runtime.
        ("shared-mime-info" ,shared-mime-info)))
     (inputs
      `(("libjpeg" ,libjpeg-turbo)
-       ("libtiff" ,libtiff)
-       ("libx11"  ,libx11)))
+       ("libpng"  ,libpng)
+       ("libtiff" ,libtiff)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("gettext" ,gettext-minimal)
-- 
2.31.0


[-- Attachment #1.1.34: 0033-gnu-gdk-pixbuf-Enable-jasper-support.patch --]
[-- Type: text/x-patch, Size: 1442 bytes --]

From 959112e16f2d74c8c6695b7765a501481a97c0cf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:41:10 -0500
Subject: [PATCH 33/56] gnu: gdk-pixbuf: Enable jasper support.

* gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:configure-flags>[-Djasper]: New flag.
[inputs]: Add jasper.
---
 gnu/packages/gtk.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index a6bf1bb5b9..44f688469d 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -593,7 +593,7 @@ highlighting and other features typical of a source code editor.")
     (arguments
      `(#:meson ,meson-0.55
        #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
-       #:configure-flags '("-Dinstalled_tests=false")
+       #:configure-flags '("-Dinstalled_tests=false" "-Djasper=true")
        #:phases
        (modify-phases %standard-phases
          ;; The slow tests take longer than the specified timeout.
@@ -611,7 +611,8 @@ highlighting and other features typical of a source code editor.")
        ;; Used for testing and required at runtime.
        ("shared-mime-info" ,shared-mime-info)))
     (inputs
-     `(("libjpeg" ,libjpeg-turbo)
+     `(("jasper" ,jasper)
+       ("libjpeg" ,libjpeg-turbo)
        ("libpng"  ,libpng)
        ("libtiff" ,libtiff)))
     (native-inputs
-- 
2.31.0


[-- Attachment #1.1.35: 0034-gnu-gdk-pixbuf-Fix-documentation.patch --]
[-- Type: text/x-patch, Size: 2694 bytes --]

From d3007442312b687e287d255650550d5c7f0c39c7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:50:46 -0500
Subject: [PATCH 34/56] gnu: gdk-pixbuf: Fix documentation.

* gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:phases>['patch-docbook]: New phase.
[native-inputs]: Add docbook-xml and docbook-xsl.
---
 gnu/packages/gtk.scm | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 44f688469d..e6e19fb650 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -592,10 +592,22 @@ highlighting and other features typical of a source code editor.")
     (build-system meson-build-system)
     (arguments
      `(#:meson ,meson-0.55
-       #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+       #:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
        #:configure-flags '("-Dinstalled_tests=false" "-Djasper=true")
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "meson.build"
+                 (("http://docbook.sourceforge.net/release/xsl/current/")
+                  (string-append (assoc-ref inputs "docbook-xsl")
+                                 "/xml/xsl/docbook-xsl-1.79.2/")))
+               (substitute* (find-files "." "\\.xml$")
+                 (("http://www.oasis-open.org/docbook/xml/4\\.3/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
          ;; The slow tests take longer than the specified timeout.
          ,@(if (any (cute string=? <> (%current-system))
                     '("armhf-linux" "aarch64-linux"))
@@ -616,10 +628,12 @@ highlighting and other features typical of a source code editor.")
        ("libpng"  ,libpng)
        ("libtiff" ,libtiff)))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("docbook-xsl" ,docbook-xsl)
        ("gettext" ,gettext-minimal)
        ("glib" ,glib "bin")             ; glib-mkenums, etc.
-       ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
+       ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
+       ("pkg-config" ,pkg-config)))
     (synopsis "GNOME image loading and manipulation library")
     (description
      "GdkPixbuf is a library for image loading and manipulation developed
-- 
2.31.0


[-- Attachment #1.1.36: 0035-gnu-gdk-pixbuf-Update-to-2.42.4.patch --]
[-- Type: text/x-patch, Size: 1921 bytes --]

From 06fb7b3fce2e10e2428c052f87a74a9c481fd5b0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:53:43 -0500
Subject: [PATCH 35/56] gnu: gdk-pixbuf: Update to 2.42.4.

* gnu/packages/gtk.scm (gdk-pixbuf) [version]: Update to 2.42.4.
[native-inputs]: Add perl and libxslt.
---
 gnu/packages/gtk.scm | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index e6e19fb650..1ae09a2283 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -580,7 +580,7 @@ highlighting and other features typical of a source code editor.")
 (define-public gdk-pixbuf
   (package
     (name "gdk-pixbuf")
-    (version "2.42.2")
+    (version "2.42.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -588,7 +588,7 @@ highlighting and other features typical of a source code editor.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "05ggmzwvrxq9w4zcvmrnnd6qplsmb4n95lj4q607c7arzlf6mil3"))))
+                "0k9f9177qxaryaxprwrhqnv5p2gdq4a8i6y05gm98qa8izc5v77y"))))
     (build-system meson-build-system)
     (arguments
      `(#:meson ,meson-0.55
@@ -633,7 +633,9 @@ highlighting and other features typical of a source code editor.")
        ("gettext" ,gettext-minimal)
        ("glib" ,glib "bin")             ; glib-mkenums, etc.
        ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
-       ("pkg-config" ,pkg-config)))
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (synopsis "GNOME image loading and manipulation library")
     (description
      "GdkPixbuf is a library for image loading and manipulation developed
-- 
2.31.0


[-- Attachment #1.1.37: 0036-gnu-gdk-pixbuf-Update-synopsis-description-home-page.patch --]
[-- Type: text/x-patch, Size: 1625 bytes --]

From 1244000f3b9e476bbd1c921aa8d31f16e09e1cdd Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:56:29 -0500
Subject: [PATCH 36/56] gnu: gdk-pixbuf: Update synopsis, description,
 home-page and license.

* gnu/packages/gtk.scm (gdk-pixbuf) [synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Update to lgpl2.1+.
---
 gnu/packages/gtk.scm | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 1ae09a2283..4c5b381ec0 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -636,12 +636,12 @@ highlighting and other features typical of a source code editor.")
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
        ("xsltproc" ,libxslt)))
-    (synopsis "GNOME image loading and manipulation library")
-    (description
-     "GdkPixbuf is a library for image loading and manipulation developed
-in the GNOME project.")
-    (license license:lgpl2.0+)
-    (home-page "https://developer.gnome.org/gdk-pixbuf/")))
+    (synopsis "Image loading library")
+    (description "GdkPixbuf is a library that loads image data in various
+formats and stores it as linear buffers in memory.  The buffers can then be
+scaled, composited, modified, saved, or rendered.")
+    (home-page "https://wiki.gnome.org/Projects/GdkPixbuf")
+    (license license:lgpl2.1+)))
 
 ;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg depends
 ;; on gdk-pixbuf, so this new varibale.  Also, librsvg adds 90MiB to the
-- 
2.31.0


[-- Attachment #1.1.38: 0037-gnu-gdk-pixbuf-Disable-failing-tests.patch --]
[-- Type: text/x-patch, Size: 1225 bytes --]

From 682540178cb8df7da4031d2b15c1b4fe0f2fcade Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:00:10 -0500
Subject: [PATCH 37/56] gnu: gdk-pixbuf: Disable failing tests.

* gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:phases>['disable-failing-tests]: New phase.
---
 gnu/packages/gtk.scm | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 4c5b381ec0..1e688a40e2 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -608,6 +608,12 @@ highlighting and other features typical of a source code editor.")
                   (string-append (assoc-ref inputs "docbook-xml")
                                  "/xml/dtd/docbook/"))))
              #t))
+         (add-before 'configure 'disable-failing-tests
+           (lambda _
+             (substitute* "tests/meson.build"
+               (("\\[ 'pixbuf-fail', \\['conform', 'slow'\\], \\],")
+                ""))
+             #t))
          ;; The slow tests take longer than the specified timeout.
          ,@(if (any (cute string=? <> (%current-system))
                     '("armhf-linux" "aarch64-linux"))
-- 
2.31.0


[-- Attachment #1.1.39: 0038-gnu-gdk-pixbuf-svg-Correct-package-definition-to-inc.patch --]
[-- Type: text/x-patch, Size: 1739 bytes --]

From bd265819591e71d0f99db89a8473fdf0f0ced3eb Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:08:24 -0500
Subject: [PATCH 38/56] gnu: gdk-pixbuf+svg: Correct package definition to
 include changes from gdk-pixbuf.

* gnu/packages/gtk.scm (gdk-pixbuf+svg) [arguments]: Modify.
[synopsis]: Modify.
---
 gnu/packages/gtk.scm | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 1e688a40e2..59c92ab4dd 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -659,10 +659,9 @@ scaled, composited, modified, saved, or rendered.")
      `(("librsvg" ,librsvg)
        ,@(package-inputs gdk-pixbuf)))
     (arguments
-     '(#:configure-flags '("-Dinstalled-tests=false")
-       #:tests? #f ; tested by the gdk-pixbuf package already
-       #:phases
-       (modify-phases %standard-phases
+     (substitute-keyword-arguments (package-arguments gdk-pixbuf)
+        ((#:phases phases)
+          `(modify-phases ,phases
          (add-after 'install 'register-svg-loader
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out     (assoc-ref outputs "out"))
@@ -676,9 +675,8 @@ scaled, composited, modified, saved, or rendered.")
                (apply invoke
                       gdk-pixbuf-query-loaders
                       "--update-cache"
-                      loaders)))))))
-    (synopsis
-     "GNOME image loading and manipulation library, with SVG support")))
+                      loaders))))))))
+    (synopsis "Image loading library, with SVG support")))
 
 (define-public at-spi2-core
   (package
-- 
2.31.0


[-- Attachment #1.1.40: 0039-gnu-vala-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 2177 bytes --]

From 785af5d8aa06859e8de074d64ded9289b09f4e34 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:20:37 -0500
Subject: [PATCH 39/56] gnu: vala: Change build-system.

* gnu/packages/gnome.scm (vala) [build-system]: Change from gnu to glib-or-gtk.
---
 gnu/packages/gnome.scm | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index c69fb21ba5..bbc82cfcd1 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4279,28 +4279,28 @@ passwords in the GNOME keyring.")
               (sha256
                (base32
                 "1nx5xjarpkl9hgy0qbqfczx7d7clh5g1r8xr5xp8b97c5fsc2rb1"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      '(#:phases
        (modify-phases %standard-phases
          (add-before 'check 'pre-check
-                     (lambda _
-                       (setenv "CC" "gcc")
-                       (substitute* "valadoc/tests/libvaladoc\
+           (lambda _
+             (setenv "CC" "gcc")
+             (substitute* "valadoc/tests/libvaladoc\
 /tests-extra-environment.sh"
-                         (("export PKG_CONFIG_PATH=" m)
-                          (string-append m "$PKG_CONFIG_PATH:"))))))))
+               (("export PKG_CONFIG_PATH=" m)
+                (string-append m "$PKG_CONFIG_PATH:"))))))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("flex" ,flex)
        ("bison" ,bison)
        ("xsltproc" ,libxslt)
-       ("dbus" ,dbus)                                     ; for dbus tests
+       ("dbus" ,dbus)                   ; for dbus tests
        ("gobject-introspection" ,gobject-introspection))) ; for gir tests
     (inputs
      `(("graphviz" ,graphviz)))
     (propagated-inputs
-     `(("glib" ,glib))) ; required by libvala-0.40.pc
+     `(("glib" ,glib)))                 ; required by libvala-0.40.pc
     (home-page "https://wiki.gnome.org/Projects/Vala/")
     (synopsis "Compiler for the GObject type system")
     (description
-- 
2.31.0


[-- Attachment #1.1.41: 0040-gnu-vala-Enable-coverage-support.patch --]
[-- Type: text/x-patch, Size: 970 bytes --]

From 399fd3ee73eb6c36ce907a6e86f850902a31212a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:23:56 -0500
Subject: [PATCH 40/56] gnu: vala: Enable coverage support.

* gnu/packages/gnome.scm (vala) [arguments]<#:configure-flags>
[--enable-coverage]: New flag.
---
 gnu/packages/gnome.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index bbc82cfcd1..ca4484ce3e 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4281,7 +4281,8 @@ passwords in the GNOME keyring.")
                 "1nx5xjarpkl9hgy0qbqfczx7d7clh5g1r8xr5xp8b97c5fsc2rb1"))))
     (build-system glib-or-gtk-build-system)
     (arguments
-     '(#:phases
+     '(#:configure-flags '("--enable-coverage")
+       #:phases
        (modify-phases %standard-phases
          (add-before 'check 'pre-check
            (lambda _
-- 
2.31.0


[-- Attachment #1.1.42: 0041-gnu-vala-Fix-documentation.patch --]
[-- Type: text/x-patch, Size: 1652 bytes --]

From 09728014e0a3fdc8349fc0955f0e8b3797c79721 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:30:26 -0500
Subject: [PATCH 41/56] gnu: vala: Fix documentation.

* gnu/packages/gnome.scm (vala) [arguments]<#:phases>['patch-docbook-xml]: New phase.
[native-inputs]: Add docbook-xml and docbook-xsl.
---
 gnu/packages/gnome.scm | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index ca4484ce3e..92c46158ac 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4284,6 +4284,14 @@ passwords in the GNOME keyring.")
      '(#:configure-flags '("--enable-coverage")
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc/manual"
+               (substitute* '("manual.xml" "version.xml.in")
+                 (("http://www.oasis-open.org/docbook/xml/4.4/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
          (add-before 'check 'pre-check
            (lambda _
              (setenv "CC" "gcc")
@@ -4293,6 +4301,8 @@ passwords in the GNOME keyring.")
                 (string-append m "$PKG_CONFIG_PATH:"))))))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
+       ("docbook-xml" ,docbook-xml-4.4)
+       ("docbook-xsl" ,docbook-xsl)
        ("flex" ,flex)
        ("bison" ,bison)
        ("xsltproc" ,libxslt)
-- 
2.31.0


[-- Attachment #1.1.43: 0042-gnu-vala-Update-to-0.52.0.patch --]
[-- Type: text/x-patch, Size: 2869 bytes --]

From 3feec74ac048b3993553e078a57dceb67a74a1f8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:34:48 -0500
Subject: [PATCH 42/56] gnu: vala: Update to 0.52.0.

* gnu/packages/gnome.scm (vala) [version]: Update to 0.52.0.
[native-inputs]: Add help2man and perl.
[inputs]: Move graphviz to ...
[propagated-inputs]: ... here.
---
 gnu/packages/gnome.scm | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 92c46158ac..70e3c38e20 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -141,6 +141,7 @@
   #:use-module (gnu packages lirc)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages mail)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages music)
@@ -4270,7 +4271,7 @@ passwords in the GNOME keyring.")
 (define-public vala
   (package
     (name "vala")
-    (version "0.50.3")
+    (version "0.52.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/vala/"
@@ -4278,7 +4279,7 @@ passwords in the GNOME keyring.")
                                   "vala-" version ".tar.xz"))
               (sha256
                (base32
-                "1nx5xjarpkl9hgy0qbqfczx7d7clh5g1r8xr5xp8b97c5fsc2rb1"))))
+                "12y6p8wdjp01vmfhxg2cgh32xnyqq6ivblvrar9clnj6vc867qhx"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      '(#:configure-flags '("--enable-coverage")
@@ -4300,18 +4301,19 @@ passwords in the GNOME keyring.")
                (("export PKG_CONFIG_PATH=" m)
                 (string-append m "$PKG_CONFIG_PATH:"))))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("bison" ,bison)
+       ("dbus" ,dbus)                   ; for dbus tests
        ("docbook-xml" ,docbook-xml-4.4)
        ("docbook-xsl" ,docbook-xsl)
        ("flex" ,flex)
-       ("bison" ,bison)
-       ("xsltproc" ,libxslt)
-       ("dbus" ,dbus)                   ; for dbus tests
-       ("gobject-introspection" ,gobject-introspection))) ; for gir tests
-    (inputs
-     `(("graphviz" ,graphviz)))
+       ("gobject-introspection" ,gobject-introspection) ; for gir tests
+       ("help2man" ,help2man)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
-     `(("glib" ,glib)))                 ; required by libvala-0.40.pc
+     `(("glib" ,glib)                   ; required by libvala-0.40.pc
+       ("libgvc" ,graphviz)))
     (home-page "https://wiki.gnome.org/Projects/Vala/")
     (synopsis "Compiler for the GObject type system")
     (description
-- 
2.31.0


[-- Attachment #1.1.44: 0043-gnu-vala-Update-synopsis-and-description.patch --]
[-- Type: text/x-patch, Size: 1615 bytes --]

From 6ca7fb87c3fff6fcb5b2be8bea3421245b1f4487 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:38:26 -0500
Subject: [PATCH 43/56] gnu: vala: Update synopsis and description.

* gnu/packages/gnome.scm (vala) [synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/gnome.scm | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 70e3c38e20..f071fd857e 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4315,12 +4315,12 @@ passwords in the GNOME keyring.")
      `(("glib" ,glib)                   ; required by libvala-0.40.pc
        ("libgvc" ,graphviz)))
     (home-page "https://wiki.gnome.org/Projects/Vala/")
-    (synopsis "Compiler for the GObject type system")
-    (description
-     "Vala is a programming language that aims to bring modern programming
-language features to GNOME developers without imposing any additional runtime
-requirements and without using a different ABI compared to applications and
-libraries written in C.")
+    (synopsis "Compiler using the GObject type system")
+    (description "Vala is a programming language using modern high level
+abstractions without imposing additional runtime requirements and without using
+a different ABI compared to applications and libraries written in C.  Vala uses
+the GObject type system and has additional code generation routines that make
+targeting the GNOME stack simple.")
     (license license:lgpl2.1+)))
 
 (define-public vte
-- 
2.31.0


[-- Attachment #1.1.45: 0044-gnu-libgsf-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 915 bytes --]

From e370ae58e08ae8c1fc02cb0a9857a83c315c70bb Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:53:42 -0500
Subject: [PATCH 44/56] gnu: libgsf: Change build-system.

* gnu/packages/gnome.scm (libgsf) [build-system]: Change from gnu to glib-or-gtk.
---
 gnu/packages/gnome.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index f071fd857e..a415dde77a 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3274,7 +3274,7 @@ XML/CSS rendering engine.")
               (sha256
                (base32
                 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      '(#:configure-flags '("--disable-static")))
     (native-inputs
-- 
2.31.0


[-- Attachment #1.1.46: 0045-gnu-libgsf-Make-separate-output-for-binaries.patch --]
[-- Type: text/x-patch, Size: 863 bytes --]

From 1875a2d7dd7aaba4ffb2a141d764ade7d1659cfc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:56:04 -0500
Subject: [PATCH 45/56] gnu: libgsf: Make separate output for binaries.

* gnu/packages/gnome.scm (libgsf) [outputs]: New output "bin".
---
 gnu/packages/gnome.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index a415dde77a..fae4c3a4ff 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3275,6 +3275,7 @@ XML/CSS rendering engine.")
                (base32
                 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
     (build-system glib-or-gtk-build-system)
+    (outputs '("out" "bin"))
     (arguments
      '(#:configure-flags '("--disable-static")))
     (native-inputs
-- 
2.31.0


[-- Attachment #1.1.47: 0046-gnu-libgsf-Re-arrange-inputs-in-alphabetical-order.patch --]
[-- Type: text/x-patch, Size: 1233 bytes --]

From 4c9c2173600143f3158253c713103ecc4bf6c12d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:02:14 -0500
Subject: [PATCH 46/56] gnu: libgsf: Re-arrange inputs in alphabetical order.

* gnu/packages/gnome.scm (libgsf) [native-inputs]: Modify.
[inputs]: Modify.
---
 gnu/packages/gnome.scm | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index fae4c3a4ff..3f110d786f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3279,15 +3279,13 @@ XML/CSS rendering engine.")
     (arguments
      '(#:configure-flags '("--disable-static")))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("gettext" ,gettext-minimal)
-
-       ;; For tests.
+     `(("gettext" ,gettext-minimal)
        ("perl" ,perl)
-       ("perl-xml-parser" ,perl-xml-parser)))
+       ("perl-xml-parser" ,perl-xml-parser)
+       ("pkg-config" ,pkg-config)))
     (inputs
-     `(("zlib" ,zlib)
-       ("bzip2" ,bzip2)))
+     `(("bzip2" ,bzip2)
+       ("zlib" ,zlib)))
     (propagated-inputs
      `(("gdk-pixbuf" ,gdk-pixbuf)
        ("glib" ,glib)
-- 
2.31.0


[-- Attachment #1.1.48: 0047-gnu-libgsf-Enable-missing-features.patch --]
[-- Type: text/x-patch, Size: 1904 bytes --]

From 8a321ef51562a347464ef1805507920c334c331b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:08:10 -0500
Subject: [PATCH 47/56] gnu: libgsf: Enable missing features.

* gnu/packages/gnome.scm (libgsf) [arguments]<#:configure-flag>[--enable-introspection]: New flag.
[--with-gir-dir=]: New flag.
[--with-typelib-dir=]: New flag.
[--with-zlib]: New flag.
[--with-bz2]: New flag.
[native-inputs]: Add gobject-introspection.
---
 gnu/packages/gnome.scm | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 3f110d786f..48f8b09ba7 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3277,9 +3277,27 @@ XML/CSS rendering engine.")
     (build-system glib-or-gtk-build-system)
     (outputs '("out" "bin"))
     (arguments
-     '(#:configure-flags '("--disable-static")))
+     `(#:configure-flags
+       (list
+        "--disable-static"
+        "--enable-introspection"
+        (string-append "--with-gir-dir="
+                       (assoc-ref %outputs "out")
+                       "/share/gir-"
+                       ,(version-major
+                         (package-version gobject-introspection))
+                       ".0")
+        (string-append "--with-typelib-dir="
+                       (assoc-ref %outputs "out")
+                       "/lib/girepository-"
+                       ,(version-major
+                         (package-version gobject-introspection))
+                       ".0")
+        "--with-zlib"
+        "--with-bz2")))
     (native-inputs
      `(("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
        ("perl" ,perl)
        ("perl-xml-parser" ,perl-xml-parser)
        ("pkg-config" ,pkg-config)))
-- 
2.31.0


[-- Attachment #1.1.49: 0048-gnu-libgsf-Correct-inputs.patch --]
[-- Type: text/x-patch, Size: 1267 bytes --]

From f680a33f7530f1ed93a79d5fa611aedc8bef3c43 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:11:02 -0500
Subject: [PATCH 48/56] gnu: libgsf: Correct inputs.

* gnu/packages/gnome.scm (libgsf) [native-inputs]: Add python-wrapper.
[propagated-inputs]: Move gdk-pixbuf to ...
[inputs]: ... here.
---
 gnu/packages/gnome.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 48f8b09ba7..101d87c96f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3300,13 +3300,14 @@ XML/CSS rendering engine.")
        ("gobject-introspection" ,gobject-introspection)
        ("perl" ,perl)
        ("perl-xml-parser" ,perl-xml-parser)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
     (inputs
      `(("bzip2" ,bzip2)
+       ("gdk-pixbuf" ,gdk-pixbuf)
        ("zlib" ,zlib)))
     (propagated-inputs
-     `(("gdk-pixbuf" ,gdk-pixbuf)
-       ("glib" ,glib)
+     `(("glib" ,glib)
        ("libxml2" ,libxml2)))
     (home-page "https://www.gnome.org/projects/libgsf")
     (synopsis "GNOME's Structured File Library")
-- 
2.31.0


[-- Attachment #1.1.50: 0049-gnu-libgsf-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 2137 bytes --]

From 136dccf07b3b885e42c20d3cde1a5222f772e784 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:20:52 -0500
Subject: [PATCH 49/56] gnu: libgsf: Enable documentation.

* gnu/packages/gnome.scm (libgsf) [outputs]: New output "doc".
[arguments]<#:configure-flags>[--with-html-dir]: New flag.
[native-inputs]: Add docbook-xml.
---
 gnu/packages/gnome.scm | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 101d87c96f..c715b4391b 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3275,7 +3275,7 @@ XML/CSS rendering engine.")
                (base32
                 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
     (build-system glib-or-gtk-build-system)
-    (outputs '("out" "bin"))
+    (outputs '("out" "bin" "doc"))
     (arguments
      `(#:configure-flags
        (list
@@ -3293,10 +3293,24 @@ XML/CSS rendering engine.")
                        ,(version-major
                          (package-version gobject-introspection))
                        ".0")
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html")
         "--with-zlib"
-        "--with-bz2")))
+        "--with-bz2")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* "gsf-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.5/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t)))))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
+     `(("docbook-xml" ,docbook-xml)
+       ("gettext" ,gettext-minimal)
        ("gobject-introspection" ,gobject-introspection)
        ("perl" ,perl)
        ("perl-xml-parser" ,perl-xml-parser)
-- 
2.31.0


[-- Attachment #1.1.51: 0050-gnu-libgsf-Update-synopsis-description-home-page-and.patch --]
[-- Type: text/x-patch, Size: 1509 bytes --]

From 75fd7eb6eea2cec68a9c22ef93cfa398920a4643 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:22:54 -0500
Subject: [PATCH 50/56] gnu: libgsf: Update synopsis, description, home-page
 and license.

* gnu/packages/gnome.scm (libgsf) [synopsis]: Modify.
[home-page]: Modify.
[description]: Modify.
[license]: Modify.
---
 gnu/packages/gnome.scm | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index c715b4391b..50d16a6048 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3323,14 +3323,16 @@ XML/CSS rendering engine.")
     (propagated-inputs
      `(("glib" ,glib)
        ("libxml2" ,libxml2)))
-    (home-page "https://www.gnome.org/projects/libgsf")
-    (synopsis "GNOME's Structured File Library")
-    (description
-     "Libgsf aims to provide an efficient extensible I/O abstraction for
-dealing with different structured file formats.")
-
-    ;; LGPLv2.1-only.
-    (license license:lgpl2.1)))
+    (synopsis "G Structured File Library")
+    (description "Libgsf aims to provide an efficient extensible I/O abstraction
+for dealing with different structured file formats.")
+    (home-page "https://gitlab.gnome.org/GNOME/libgsf")
+    (license
+     (list
+      ;; Library
+      license:lgpl2.1+
+      ;; Others
+      license:lgpl2.0+))))
 
 (define-public librsvg
   (package
-- 
2.31.0


[-- Attachment #1.1.52: 0051-gnu-atk-Re-arrange-inputs-in-alphabetical-order.patch --]
[-- Type: text/x-patch, Size: 2847 bytes --]

From a14d05bad6659679a5a8d747d7c094f1f48f697d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:39:47 -0500
Subject: [PATCH 51/56] gnu: atk: Re-arrange inputs in alphabetical order.

* gnu/packages/gtk.scm (atk) [native-inputs]: Modify.
---
 gnu/packages/gtk.scm | 44 ++++++++++++++++++++++----------------------
 1 file changed, 22 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 59c92ab4dd..791cb43d1f 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -98,30 +98,30 @@
 
 (define-public atk
   (package
-   (name "atk")
-   (version "2.34.1")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "1jwp16r6p5z66k4b2v8zlzhyshhwlmyi27ippkrgqr8jsary7w6l"))))
-   (build-system meson-build-system)
-   (propagated-inputs `(("glib" ,glib))) ; required by atk.pc
-   (native-inputs
-    `(("pkg-config" ,pkg-config)
-      ("gettext" ,gettext-minimal)
-      ("glib" ,glib "bin")                               ; glib-mkenums, etc.
-      ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
-   (synopsis "GNOME accessibility toolkit")
-   (description
-    "ATK provides the set of accessibility interfaces that are implemented
+    (name "atk")
+    (version "2.34.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1jwp16r6p5z66k4b2v8zlzhyshhwlmyi27ippkrgqr8jsary7w6l"))))
+    (build-system meson-build-system)
+    (propagated-inputs `(("glib" ,glib))) ; required by atk.pc
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("glib" ,glib "bin")             ; glib-mkenums, etc.
+       ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
+       ("pkg-config" ,pkg-config)))
+    (synopsis "GNOME accessibility toolkit")
+    (description
+     "ATK provides the set of accessibility interfaces that are implemented
 by other toolkits and applications.  Using the ATK interfaces, accessibility
 tools have full access to view and control running applications.")
-   (license license:lgpl2.0+)
-   (home-page "https://developer.gnome.org/atk/")))
+    (license license:lgpl2.0+)
+    (home-page "https://developer.gnome.org/atk/")))
 
 (define-public cairo
   (package
-- 
2.31.0


[-- Attachment #1.1.53: 0052-gnu-atk-Update-to-2.36.0.patch --]
[-- Type: text/x-patch, Size: 1368 bytes --]

From 171b527ff37c884d36f2fe880f789876b4ad7e45 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:44:36 -0500
Subject: [PATCH 52/56] gnu: atk: Update to 2.36.0.

* gnu/packages/gtk.scm (atk) [version]: Update to 2.36.0.
[arguments]<#:glib-or-gtk?>: New argument.
---
 gnu/packages/gtk.scm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 791cb43d1f..54efcee4ea 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -99,7 +99,7 @@
 (define-public atk
   (package
     (name "atk")
-    (version "2.34.1")
+    (version "2.36.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -107,8 +107,10 @@
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1jwp16r6p5z66k4b2v8zlzhyshhwlmyi27ippkrgqr8jsary7w6l"))))
+                "1217cmmykjgkkim0zr1lv5j13733m4w5vipmy4ivw0ll6rz28xpv"))))
     (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t))  ; To wrap binaries and/or compile schemas
     (propagated-inputs `(("glib" ,glib))) ; required by atk.pc
     (native-inputs
      `(("gettext" ,gettext-minimal)
-- 
2.31.0


[-- Attachment #1.1.54: 0053-gnu-atk-Update-home-page-and-license.patch --]
[-- Type: text/x-patch, Size: 1031 bytes --]

From 0aac4344b3f95c5b48c2f0a5deded6c62c7686fc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:46:00 -0500
Subject: [PATCH 53/56] gnu: atk: Update home-page and license.

* gnu/packages/gtk.scm (atk) [home-page]: Modify.
[license]: Update to lgpl2.1+.
---
 gnu/packages/gtk.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 54efcee4ea..fa5f2455db 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -122,8 +122,8 @@
      "ATK provides the set of accessibility interfaces that are implemented
 by other toolkits and applications.  Using the ATK interfaces, accessibility
 tools have full access to view and control running applications.")
-    (license license:lgpl2.0+)
-    (home-page "https://developer.gnome.org/atk/")))
+    (license license:lgpl2.1+)
+    (home-page "https://wiki.gnome.org/Accessibility")))
 
 (define-public cairo
   (package
-- 
2.31.0


[-- Attachment #1.1.55: 0054-gnu-atkmm-Update-to-2.36.0.patch --]
[-- Type: text/x-patch, Size: 2372 bytes --]

From d9732bc5d67bc30c9e741d4f64e30b1d52a2d3d0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:50:53 -0500
Subject: [PATCH 54/56] gnu: atkmm: Update to 2.36.0.

* gnu/packages/gtk.scm (atkmm) [version]: Update to 2.36.0.
[build-system]: Change from gnu to meson.
[arguments]<#:glib-or-gtk?>: New argument.
[native-inputs]: Add m4, mm-common, perl and libxslt.
---
 gnu/packages/gtk.scm | 28 ++++++++++++++++++----------
 1 file changed, 18 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index fa5f2455db..bd58d24a7c 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -78,6 +78,7 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages m4)
   #:use-module (gnu packages man)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
@@ -1424,17 +1425,24 @@ library.")
 (define-public atkmm
   (package
     (name "atkmm")
-    (version "2.28.0")
+    (version "2.36.0")
     (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/" name "/"
-                                 (version-major+minor version)  "/"
-                                 name "-" version ".tar.xz"))
-             (sha256
-              (base32
-               "0fnxrspxkhhbrjphqrpvl3zjm66n50s4cywrrrwkhbflgy8zqk2c"))))
-    (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0wwr0663jrqx2klsasffd9wpk3kqnwisj1y3ahdkjdk5hzrsjgy9"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t))   ; To wrap binaries and/or compile schemas
+    (native-inputs
+     `(("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("glibmm" ,glibmm) ("atk" ,atk)))
     (home-page "https://www.gtkmm.org")
-- 
2.31.0


[-- Attachment #1.1.56: 0055-gnu-atkmm-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 2147 bytes --]

From ba31e2bcfa20f413c799b585aa7c6e2d49601934 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 24 Mar 2021 22:46:44 -0400
Subject: [PATCH 55/56] gnu: atkmm: Enable documentation.

* gnu/packages/gtk.scm (atkmm) [outputs]: Add new output "doc".
[arguments]<#:configure-flags>[-Denable-documentation]: New flag.
[arguments]<#:phases>['move-doc]: New phase.
[native-inputs]: Add graphviz, doxygen.
---
 gnu/packages/gtk.scm | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index bd58d24a7c..b6c4fe5174 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -74,6 +74,7 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
   #:use-module (gnu packages libffi)
@@ -1435,10 +1436,27 @@ library.")
                (base32
                 "0wwr0663jrqx2klsasffd9wpk3kqnwisj1y3ahdkjdk5hzrsjgy9"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:glib-or-gtk? #t))   ; To wrap binaries and/or compile schemas
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Dbuild-documentation=true")
+       #:phases
+       (modify-phases %standard-phases
+         (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"))
+               #t))))))
     (native-inputs
-     `(("m4" ,m4)
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("m4" ,m4)
        ("mm-common" ,mm-common)
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
-- 
2.31.0


[-- Attachment #1.1.57: 0056-gnu-atkmm-Update-synopsis-description-home-page-and-.patch --]
[-- Type: text/x-patch, Size: 1349 bytes --]

From 3a8f8ff0c6418511d0087e68694e830d2006f430 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 13:01:19 -0500
Subject: [PATCH 56/56] gnu: atkmm: Update synopsis, description, home-page and
 license.

* gnu/packages/gtk.scm (atkmm) [synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Add gpl2+.
---
 gnu/packages/gtk.scm | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index b6c4fe5174..6307303a83 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1463,12 +1463,15 @@ library.")
        ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("glibmm" ,glibmm) ("atk" ,atk)))
-    (home-page "https://www.gtkmm.org")
-    (synopsis "C++ interface to the ATK accessibility library")
-    (description
-     "ATKmm provides a C++ programming interface to the ATK accessibility
-toolkit.")
-    (license license:lgpl2.1+)))
+    (synopsis "C++ bindings for ATK")
+    (description "ATKmm is the C++ binding for the ATK library.")
+    (home-page "https://wiki.gnome.org/Accessibility")
+    (license
+     (list
+      ;; Library
+      license:lgpl2.1+
+      ;; Tools
+      license:gpl2+))))
 
 (define-public gtkmm
   (package
-- 
2.31.0


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] Big changes from wip-desktop.
  2021-03-26  1:00       ` Raghav Gururajan via Guix-patches via
@ 2021-03-26 20:12         ` Raghav Gururajan via Guix-patches via
  2021-03-26 20:38           ` Raghav Gururajan via Guix-patches via
  0 siblings, 1 reply; 68+ messages in thread
From: Raghav Gururajan via Guix-patches via @ 2021-03-26 20:12 UTC (permalink / raw)
  To: 42958, Danny Milosavljevic, Ricardo Wurmus, Léo Le Bouter


[-- Attachment #1.1.1: Type: text/plain, Size: 890 bytes --]

@(rekado|lle-bout|danny)

>> Could any of you please review and merge the attached patches to 
>> core-updates?
>>
>> These patches has been successfully built on bayfront, from which you 
>> can obtain substitutes, if needed.
>>
>> I will send some more patches for this #42958 by tomorrow.
>>
>> It would be great if we could together finish-off this #42958 ASAP, so 
>> that I can bring remaining patches from wip-deskop.
>>
>> P.S
>> Please pardon two cosmetic changes patches, which were done very long 
>> ago and had to use it to cleanly apply succeeding patches. Also, I 
>> must have used #t with lambda out of habit.
> 
> Since there was master <--> core-updates merge, here I have attached 
> rebased patches. Thanks to Léo Le Bouter.

So I have attached all the patches for this batch. These are 
non-signed-off, just for the record. :)

Regards,
RG.

[-- Attachment #1.1.2: 0001-gnu-glib-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 121015 bytes --]

From 8d8b0bd7f2178d8c0abe1eb27317acbca6dee262 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 06:39:29 -0500
Subject: [PATCH 01/83] gnu: glib: Make some cosmetic changes.

* gnu/packages/patches/glib-CVE-2021-27218.patch
gnu/packages/patches/glib-CVE-2021-27219-01.patch
gnu/packages/patches/glib-CVE-2021-27219-02.patch
gnu/packages/patches/glib-CVE-2021-27219-03.patch
gnu/packages/patches/glib-CVE-2021-27219-04.patch
gnu/packages/patches/glib-CVE-2021-27219-05.patch
gnu/packages/patches/glib-CVE-2021-27219-06.patch
gnu/packages/patches/glib-CVE-2021-27219-07.patch
gnu/packages/patches/glib-CVE-2021-27219-08.patch
gnu/packages/patches/glib-CVE-2021-27219-09.patch
gnu/packages/patches/glib-CVE-2021-27219-10.patch
gnu/packages/patches/glib-CVE-2021-27219-11.patch
gnu/packages/patches/glib-CVE-2021-27219-12.patch
gnu/packages/patches/glib-CVE-2021-27219-13.patch
gnu/packages/patches/glib-CVE-2021-27219-14.patch
gnu/packages/patches/glib-CVE-2021-27219-15.patch
gnu/packages/patches/glib-CVE-2021-27219-16.patch
gnu/packages/patches/glib-CVE-2021-27219-17.patch
gnu/packages/patches/glib-CVE-2021-27219-18.patch
gnu/packages/patches/glib-CVE-2021-28153.patch: Remove patches.
* gnu/local.mk (dist_patch_DATA): Unregister them.
* gnu/packages/glib.scm (glib): Make some cosmetic changes.
[replacement]: Remove.
(glib/fixed): Remove.
---
 gnu/local.mk                                  |  20 -
 gnu/packages/glib.scm                         | 454 ++++++++----------
 .../patches/glib-CVE-2021-27218.patch         | 132 -----
 .../patches/glib-CVE-2021-27219-01.patch      | 176 -------
 .../patches/glib-CVE-2021-27219-02.patch      | 264 ----------
 .../patches/glib-CVE-2021-27219-03.patch      | 136 ------
 .../patches/glib-CVE-2021-27219-04.patch      | 308 ------------
 .../patches/glib-CVE-2021-27219-05.patch      |  47 --
 .../patches/glib-CVE-2021-27219-06.patch      |  94 ----
 .../patches/glib-CVE-2021-27219-07.patch      | 118 -----
 .../patches/glib-CVE-2021-27219-08.patch      |  94 ----
 .../patches/glib-CVE-2021-27219-09.patch      |  98 ----
 .../patches/glib-CVE-2021-27219-10.patch      |  52 --
 .../patches/glib-CVE-2021-27219-11.patch      |  57 ---
 .../patches/glib-CVE-2021-27219-12.patch      |  30 --
 .../patches/glib-CVE-2021-27219-13.patch      |  32 --
 .../patches/glib-CVE-2021-27219-14.patch      |  32 --
 .../patches/glib-CVE-2021-27219-15.patch      |  95 ----
 .../patches/glib-CVE-2021-27219-16.patch      |  43 --
 .../patches/glib-CVE-2021-27219-17.patch      |  37 --
 .../patches/glib-CVE-2021-27219-18.patch      | 232 ---------
 .../patches/glib-CVE-2021-28153.patch         | 283 -----------
 22 files changed, 202 insertions(+), 2632 deletions(-)
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27218.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-01.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-02.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-03.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-04.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-05.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-06.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-07.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-08.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-09.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-10.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-11.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-12.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-13.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-14.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-15.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-16.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-17.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-27219-18.patch
 delete mode 100644 gnu/packages/patches/glib-CVE-2021-28153.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index ce0a79fb4d..d924b20bcf 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1082,26 +1082,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/ghostscript-no-header-creationdate.patch \
   %D%/packages/patches/glib-appinfo-watch.patch			\
   %D%/packages/patches/glib-tests-timer.patch			\
-  %D%/packages/patches/glib-CVE-2021-27218.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-01.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-02.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-03.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-04.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-05.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-06.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-07.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-08.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-09.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-10.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-11.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-12.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-13.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-14.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-15.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-16.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-17.patch		\
-  %D%/packages/patches/glib-CVE-2021-27219-18.patch		\
-  %D%/packages/patches/glib-CVE-2021-28153.patch		\
   %D%/packages/patches/glibc-CVE-2018-11236.patch		\
   %D%/packages/patches/glibc-CVE-2018-11237.patch		\
   %D%/packages/patches/glibc-CVE-2019-7309.patch		\
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 0ddaf4d0b9..a446ce1ace 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -170,258 +170,208 @@ shared NFS home directories.")
 
 (define glib
   (package
-   (name "glib")
-   (version "2.62.6")
-   (replacement glib/fixed)
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/"
-                                name "/" (string-take version 4) "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
-            (patches (search-patches "glib-appinfo-watch.patch"
-                                     "glib-tests-timer.patch"))
-            (modules '((guix build utils)))
-            (snippet
-             '(begin
-                (substitute* "tests/spawn-test.c"
-                  (("/bin/sh") "sh"))
-                #t))))
-   (build-system meson-build-system)
-   (outputs '("out"           ; everything
-              "bin"           ; glib-mkenums, gtester, etc.; depends on Python
-              "debug"))
-   (propagated-inputs
-    `(("pcre" ,pcre)  ; in the Requires.private field of glib-2.0.pc
-      ("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
-      ;; These are in the Requires.private field of gio-2.0.pc
-      ("util-linux" ,util-linux "lib")  ;for libmount
-      ("zlib" ,zlib)))
-   (native-inputs
-    `(("gettext" ,gettext-minimal)
-      ("m4" ,m4) ; for installing m4 macros
-      ("dbus" ,dbus)                              ; for GDBus tests
-      ("pkg-config" ,pkg-config)
-      ("python" ,python-minimal-wrapper)
-      ("perl" ,perl)                              ; needed by GIO tests
-      ("tzdata" ,tzdata-for-tests)))                  ; for tests/gdatetime.c
-   (arguments
-    `(#:disallowed-references (,tzdata-for-tests)
-      #:configure-flags '("-Dselinux=disabled")
-      #:phases
-      (modify-phases %standard-phases
-        (add-after 'unpack 'patch-dbus-launch-path
-          (lambda* (#:key inputs #:allow-other-keys)
-            (let ((dbus (assoc-ref inputs "dbus")))
-              (substitute* "gio/gdbusaddress.c"
-                (("command_line = g_strdup_printf \\(\"dbus-launch")
-                 (string-append "command_line = g_strdup_printf (\""
-                                dbus "/bin/dbus-launch")))
-              #t)))
-        (add-after 'unpack 'patch-gio-launch-desktop
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out")))
-              ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
-              ;; for another future fix.
-              (substitute* "gio/gdesktopappinfo.c"
-               (("gio-launch-desktop")
-                (string-append out "/libexec/gio-launch-desktop")))
-              #t)))
-        ;; TODO: Remove the conditional in the next core-updates cycle.
-        ;; Needed to build glib on slower ARM nodes.
-        ,@(if (string-prefix? "arm" (%current-system))
-              `((add-after 'unpack 'increase-test-timeout
-                  (lambda _
-                    (substitute* "meson.build"
-                      (("test_timeout = 60")
-                       "test_timeout = 120")
-                      (("test_timeout_slow = 120")
-                       "test_timeout_slow = 180")))))
-              '())
-        (add-before 'build 'pre-build
-          (lambda* (#:key inputs outputs #:allow-other-keys)
-            ;; For tests/gdatetime.c.
-            (setenv "TZDIR"
-                    (string-append (assoc-ref inputs "tzdata")
-                                   "/share/zoneinfo"))
-
-            ;; Some tests want write access there.
-            (setenv "HOME" (getcwd))
-            (setenv "XDG_CACHE_HOME" (getcwd))
-            #t))
-        (add-after 'unpack 'disable-failing-tests
-          (lambda _
-            (let ((disable
-                   (lambda (test-file test-paths)
-                     (define pattern+procs
-                       (map (lambda (test-path)
-                              (cons
-                               ;; XXX: only works for single line statements.
-                               (format #f "g_test_add_func.*\"~a\".*" test-path)
-                               (const "")))
-                            test-paths))
-                     (substitute test-file pattern+procs)))
-                  (failing-tests
-                   '(("glib/tests/thread.c"
-                      (;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
-                       ;; as found on hydra.gnu.org, and strace(1) doesn't
-                       ;; recognize it.
-                       "/thread/thread4"))
-
-                     ;; This tries to find programs in FHS directories.
-                     ("glib/tests/utils.c"
-                      ("/utils/find-program"))
-
-                     ;; This fails because "glib/tests/echo-script" cannot be
-                     ;; found.
-                     ("glib/tests/spawn-singlethread.c"
-                      ("/gthread/spawn-script"))
-
-                     ("glib/tests/timer.c"
-                      (;; fails if compiler optimizations are enabled, which they
-                       ;; are by default.
-                       "/timer/stop"))
-
-                     ("gio/tests/gapplication.c"
-                      (;; XXX: proven to be unreliable.  See:
-                       ;;  <https://bugs.debian.org/756273>
-                       ;;  <http://bugs.gnu.org/18445>
-                       "/gapplication/quit"
-
-                       ;; XXX: fails randomly for unknown reason. See:
-                       ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
-                       "/gapplication/local-actions"))
-
-                     ("gio/tests/contenttype.c"
-                      (;; XXX: requires shared-mime-info.
-                       "/contenttype/guess"
-                       "/contenttype/guess_svg_from_data"
-                       "/contenttype/subtype"
-                       "/contenttype/list"
-                       "/contenttype/icon"
-                       "/contenttype/symbolic-icon"
-                       "/contenttype/tree"))
-
-                     ("gio/tests/appinfo.c"
-                      (;; XXX: requires update-desktop-database.
-                       "/appinfo/associations"))
-
-                     ("gio/tests/desktop-app-info.c"
-                      (;; XXX: requires update-desktop-database.
-                       "/desktop-app-info/delete"
-                       "/desktop-app-info/default"
-                       "/desktop-app-info/fallback"
-                       "/desktop-app-info/lastused"
-                       "/desktop-app-info/search"))
-
-                     ("gio/tests/gdbus-peer.c"
-                      (;; Requires /etc/machine-id.
-                       "/gdbus/codegen-peer-to-peer"))
-
-                     ("gio/tests/gdbus-address-get-session.c"
-                      (;; Requires /etc/machine-id.
-                       "/gdbus/x11-autolaunch"))
-
-                     ("gio/tests/gsocketclient-slow.c"
-                      (;; These tests tries to resolve "localhost", and fails.
-                       "/socket-client/happy-eyeballs/slow"
-                       "/socket-client/happy-eyeballs/cancellation/delayed"))
-
-                     )))
-              (for-each (lambda (x) (apply disable x)) failing-tests)
-              #t)))
-        (replace 'check
-          (lambda* (#:key tests? #:allow-other-keys)
-            (if tests?
-                (begin
-                  (setenv "MESON_TESTTHREADS"
-                          (number->string (parallel-job-count)))
-                  ;; Do not run tests marked as "flaky".
-                  (invoke "meson" "test" "--no-suite" "flaky"))
-                #t)))
-        ;; TODO: meson does not permit the bindir to be outside of prefix.
-        ;; See https://github.com/mesonbuild/meson/issues/2561
-        ;; We can remove this once meson is patched.
-        (add-after 'install 'move-executables
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out"))
-                  (bin (assoc-ref outputs "bin")))
-              (mkdir-p bin)
-              (rename-file (string-append out "/bin")
-                           (string-append bin "/bin"))
-              ;; This one is an implementation detail of glib.
-              ;; It is wrong that that's in "/bin" in the first place,
-              ;; but that's what upstream is doing right now.
-              ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
-              (mkdir (string-append out "/libexec"))
-              (rename-file (string-append bin "/bin/gio-launch-desktop")
-                           (string-append out "/libexec/gio-launch-desktop"))
-              ;; 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=\\$\\{prefix\\}/bin") "")
-                (("=\\$\\{bindir\\}/") "="))
-              #t))))))
-      ;; TODO: see above for explanation.
-      ;; #:configure-flags (list (string-append "--bindir="
-      ;;                                        (assoc-ref %outputs "bin")
-      ;;                                        "/bin"))
-
-   (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
-    ;; path for .gir files, and it's also a search path for schemas produced
-    ;; by 'glib-compile-schemas'.
-    (list (search-path-specification
-           (variable "XDG_DATA_DIRS")
-           (files '("share")))
-          ;; To load extra gio modules from glib-networking, etc.
-          (search-path-specification
-           (variable "GIO_EXTRA_MODULES")
-           (files '("lib/gio/modules")))))
-   (search-paths native-search-paths)
-   (properties '((hidden? . #t)))
-
-   (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
-   (description
-    "GLib provides data structure handling for C, portability wrappers,
-and interfaces for such runtime functionality as an event loop, threads,
-dynamic loading, and an object system.")
-   (home-page "https://developer.gnome.org/glib/")
-   (license license:lgpl2.1+)))
-
-(define glib/fixed
-  (package
-    (inherit glib)
-    (source (origin
-              (inherit (package-source glib))
-              (patches
-               (append (search-patches "glib-CVE-2021-27218.patch"
-                                       "glib-CVE-2021-27219-01.patch"
-                                       "glib-CVE-2021-27219-02.patch"
-                                       "glib-CVE-2021-27219-03.patch"
-                                       "glib-CVE-2021-27219-04.patch"
-                                       "glib-CVE-2021-27219-05.patch"
-                                       "glib-CVE-2021-27219-06.patch"
-                                       "glib-CVE-2021-27219-07.patch"
-                                       "glib-CVE-2021-27219-08.patch"
-                                       "glib-CVE-2021-27219-09.patch"
-                                       "glib-CVE-2021-27219-10.patch"
-                                       "glib-CVE-2021-27219-11.patch"
-                                       "glib-CVE-2021-27219-12.patch"
-                                       "glib-CVE-2021-27219-13.patch"
-                                       "glib-CVE-2021-27219-14.patch"
-                                       "glib-CVE-2021-27219-15.patch"
-                                       "glib-CVE-2021-27219-16.patch"
-                                       "glib-CVE-2021-27219-17.patch"
-                                       "glib-CVE-2021-27219-18.patch"
-                                       "glib-CVE-2021-28153.patch")
-                       (origin-patches (package-source glib))))))))
+    (name "glib")
+    (version "2.62.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/"
+                       name "/" (string-take version 4) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
+       (patches
+        (search-patches "glib-tests-timer.patch" "glib-appinfo-watch.patch"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (substitute* "tests/spawn-test.c"
+             (("/bin/sh") "sh"))
+           #t))))
+    (properties '((hidden? . #t)))
+    (build-system meson-build-system)
+    (outputs '("out"   ; everything
+               "bin")) ; glib-mkenums, gtester, etc.; depends on Python
+    (arguments
+     `(#:disallowed-references (,tzdata-for-tests)
+       #:phases
+       (modify-phases %standard-phases
+         ;; TODO: Remove the conditional in the next core-updates cycle.
+         ;; Needed to build glib on slower ARM nodes.
+         ,@(if (string-prefix? "arm" (%current-system))
+               `((add-after 'unpack 'increase-test-timeout
+                   (lambda _
+                     (substitute* "meson.build"
+                       (("test_timeout = 60")
+                        "test_timeout = 90")
+                       (("test_timeout_slow = 120")
+                        "test_timeout_slow = 180")))))
+               '())
+         (add-after 'unpack 'patch-dbus-launch-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((dbus (assoc-ref inputs "dbus")))
+               (substitute* "gio/gdbusaddress.c"
+                 (("command_line = g_strdup_printf \\(\"dbus-launch")
+                  (string-append "command_line = g_strdup_printf (\""
+                                 dbus "/bin/dbus-launch")))
+               #t)))
+         (add-after 'unpack 'patch-gio-launch-desktop
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
+               ;; for another future fix.
+               (substitute* "gio/gdesktopappinfo.c"
+                 (("gio-launch-desktop")
+                  (string-append out "/libexec/gio-launch-desktop")))
+               #t)))
+         (add-before 'build 'pre-build
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             ;; For tests/gdatetime.c.
+             (setenv "TZDIR"
+                     (string-append (assoc-ref inputs "tzdata")
+                                    "/share/zoneinfo"))
+             ;; Some tests want write access there.
+             (setenv "HOME" (getcwd))
+             (setenv "XDG_CACHE_HOME" (getcwd))
+             #t))
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (let ((disable
+                    (lambda (test-file test-paths)
+                      (define pattern+procs
+                        (map (lambda (test-path)
+                               (cons
+                                ;; XXX: only works for single line statements.
+                                (format #f "g_test_add_func.*\"~a\".*" test-path)
+                                (const "")))
+                             test-paths))
+                      (substitute test-file pattern+procs)))
+                   (failing-tests
+                    '(("glib/tests/thread.c"
+                       ( ;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
+                        ;; as found on hydra.gnu.org, and strace(1) doesn't
+                        ;; recognize it.
+                        "/thread/thread4"))
+                      ;; This tries to find programs in FHS directories.
+                      ("glib/tests/utils.c"
+                       ("/utils/find-program"))
+                      ;; This fails because "glib/tests/echo-script" cannot be
+                      ;; found.
+                      ("glib/tests/spawn-singlethread.c"
+                       ("/gthread/spawn-script"))
+                      ("glib/tests/timer.c"
+                       ( ;; fails if compiler optimizations are enabled, which they
+                        ;; are by default.
+                        "/timer/stop"))
+                      ("gio/tests/gapplication.c"
+                       ( ;; XXX: proven to be unreliable.  See:
+                        ;;  <https://bugs.debian.org/756273>
+                        ;;  <http://bugs.gnu.org/18445>
+                        "/gapplication/quit"
+                        ;; XXX: fails randomly for unknown reason. See:
+                        ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
+                        "/gapplication/local-actions"))
+                      ("gio/tests/contenttype.c"
+                       ( ;; XXX: requires shared-mime-info.
+                        "/contenttype/guess"
+                        "/contenttype/guess_svg_from_data"
+                        "/contenttype/subtype"
+                        "/contenttype/list"
+                        "/contenttype/icon"
+                        "/contenttype/symbolic-icon"
+                        "/contenttype/tree"))
+                      ("gio/tests/appinfo.c"
+                       ( ;; XXX: requires update-desktop-database.
+                        "/appinfo/associations"))
+                      ("gio/tests/desktop-app-info.c"
+                       ( ;; XXX: requires update-desktop-database.
+                        "/desktop-app-info/delete"
+                        "/desktop-app-info/default"
+                        "/desktop-app-info/fallback"
+                        "/desktop-app-info/lastused"
+                        "/desktop-app-info/search"))
+                      ("gio/tests/gdbus-peer.c"
+                       ( ;; Requires /etc/machine-id.
+                        "/gdbus/codegen-peer-to-peer"))
+                      ("gio/tests/gdbus-address-get-session.c"
+                       ( ;; Requires /etc/machine-id.
+                        "/gdbus/x11-autolaunch"))
+                      ("gio/tests/gsocketclient-slow.c"
+                       ( ;; These tests tries to resolve "localhost", and fails.
+                        "/socket-client/happy-eyeballs/slow"
+                        "/socket-client/happy-eyeballs/cancellation/delayed")))))
+               (for-each (lambda (x) (apply disable x)) failing-tests)
+               #t)))
+         (replace 'check
+           (lambda _
+             (setenv "MESON_TESTTHREADS"
+                     (number->string (parallel-job-count)))
+             ;; Do not run tests marked as "flaky".
+             (invoke "meson" "test" "--no-suite" "flaky")))
+         ;; TODO: meson does not permit the bindir to be outside of prefix.
+         ;; See https://github.com/mesonbuild/meson/issues/2561
+         ;; We can remove this once meson is patched.
+         (add-after 'install 'move-executables
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (bin (assoc-ref outputs "bin")))
+               (mkdir-p bin)
+               (rename-file (string-append out "/bin")
+                            (string-append bin "/bin"))
+               ;; This one is an implementation detail of glib.
+               ;; It is wrong that that's in "/bin" in the first place,
+               ;; but that's what upstream is doing right now.
+               ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
+               (mkdir (string-append out "/libexec"))
+               (rename-file (string-append bin "/bin/gio-launch-desktop")
+                            (string-append out "/libexec/gio-launch-desktop"))
+               ;; 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=\\$\\{prefix\\}/bin") "")
+                 (("=\\$\\{bindir\\}/") "="))
+               #t))))))
+    ;; TODO: see above for explanation.
+    ;; #:configure-flags (list (string-append "--bindir="
+    ;;                                        (assoc-ref %outputs "bin")
+    ;;                                        "/bin"))
+    (native-inputs
+     `(("dbus" ,dbus)                   ; for GDBus tests
+       ("gettext" ,gettext-minimal)
+       ("m4" ,m4)                       ; for installing m4 macros
+       ("perl" ,perl)                   ; needed by GIO tests
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("tzdata" ,tzdata-for-tests)))   ; for tests/gdatetime.c
+    (propagated-inputs
+     `(("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
+       ("pcre" ,pcre)   ; in the Requires.private field of glib-2.0.pc
+       ("util-linux" ,util-linux "lib") ;for libmount
+       ("zlib" ,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
+     ;; path for .gir files, and it's also a search path for schemas produced
+     ;; by 'glib-compile-schemas'.
+     (list
+      (search-path-specification
+       (variable "XDG_DATA_DIRS")
+       (files '("share")))
+      ;; To load extra gio modules from glib-networking, etc.
+      (search-path-specification
+       (variable "GIO_EXTRA_MODULES")
+       (files '("lib/gio/modules")))))
+    (search-paths native-search-paths)
+    (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
+    (description "GLib provides data structure handling for C, portability
+wrappers, and interfaces for such runtime functionality as an event loop,
+threads, dynamic loading, and an object system.")
+    (home-page "https://developer.gnome.org/glib/")
+    (license license:lgpl2.1+)))
 
 (define-public glib-with-documentation
   ;; glib's doc must be built in a separate package since it requires gtk-doc,
diff --git a/gnu/packages/patches/glib-CVE-2021-27218.patch b/gnu/packages/patches/glib-CVE-2021-27218.patch
deleted file mode 100644
index 00fa5ebf79..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27218.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-Backport of:
-
-From 0f384c88a241bbbd884487b1c40b7b75f1e638d3 Mon Sep 17 00:00:00 2001
-From: Krzesimir Nowak <qdlacz@gmail.com>
-Date: Wed, 10 Feb 2021 23:51:07 +0100
-Subject: [PATCH] gbytearray: Do not accept too large byte arrays
-
-GByteArray uses guint for storing the length of the byte array, but it
-also has a constructor (g_byte_array_new_take) that takes length as a
-gsize. gsize may be larger than guint (64 bits for gsize vs 32 bits
-for guint). It is possible to call the function with a value greater
-than G_MAXUINT, which will result in silent length truncation. This
-may happen as a result of unreffing GBytes into GByteArray, so rather
-be loud about it.
-
-(Test case tweaked by Philip Withnall.)
-
-(Backport 2.66: Add #include gstrfuncsprivate.h in the test case for
-`g_memdup2()`.)
----
- glib/garray.c      |  6 ++++++
- glib/gbytes.c      |  4 ++++
- glib/tests/bytes.c | 35 ++++++++++++++++++++++++++++++++++-
- 3 files changed, 44 insertions(+), 1 deletion(-)
-
-diff --git a/glib/garray.c b/glib/garray.c
-index 942e74c9f..fb1a42aaf 100644
---- a/glib/garray.c
-+++ b/glib/garray.c
-@@ -2013,6 +2013,10 @@ g_byte_array_new (void)
-  * Create byte array containing the data. The data will be owned by the array
-  * and will be freed with g_free(), i.e. it could be allocated using g_strdup().
-  *
-+ * Do not use it if @len is greater than %G_MAXUINT. #GByteArray
-+ * stores the length of its data in #guint, which may be shorter than
-+ * #gsize.
-+ *
-  * Since: 2.32
-  *
-  * Returns: (transfer full): a new #GByteArray
-@@ -2024,6 +2028,8 @@ g_byte_array_new_take (guint8 *data,
-   GByteArray *array;
-   GRealArray *real;
- 
-+  g_return_val_if_fail (len <= G_MAXUINT, NULL);
-+
-   array = g_byte_array_new ();
-   real = (GRealArray *)array;
-   g_assert (real->data == NULL);
-diff --git a/glib/gbytes.c b/glib/gbytes.c
-index 7b72886e5..d56abe6c3 100644
---- a/glib/gbytes.c
-+++ b/glib/gbytes.c
-@@ -519,6 +519,10 @@ g_bytes_unref_to_data (GBytes *bytes,
-  * g_bytes_new(), g_bytes_new_take() or g_byte_array_free_to_bytes(). In all
-  * other cases the data is copied.
-  *
-+ * Do not use it if @bytes contains more than %G_MAXUINT
-+ * bytes. #GByteArray stores the length of its data in #guint, which
-+ * may be shorter than #gsize, that @bytes is using.
-+ *
-  * Returns: (transfer full): a new mutable #GByteArray containing the same byte data
-  *
-  * Since: 2.32
-diff --git a/glib/tests/bytes.c b/glib/tests/bytes.c
-index 5ea5c2b35..15a6aaad6 100644
---- a/glib/tests/bytes.c
-+++ b/glib/tests/bytes.c
-@@ -10,12 +10,12 @@
-  */
- 
- #undef G_DISABLE_ASSERT
--#undef G_LOG_DOMAIN
- 
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include "glib.h"
-+#include "glib/gstrfuncsprivate.h"
- 
- /* Keep in sync with glib/gbytes.c */
- struct _GBytes
-@@ -333,6 +333,38 @@ test_to_array_transferred (void)
-   g_byte_array_unref (array);
- }
- 
-+static void
-+test_to_array_transferred_oversize (void)
-+{
-+  g_test_message ("g_bytes_unref_to_array() can only take GBytes up to "
-+                  "G_MAXUINT in length; test that longer ones are rejected");
-+
-+  if (sizeof (guint) >= sizeof (gsize))
-+    {
-+      g_test_skip ("Skipping test as guint is not smaller than gsize");
-+    }
-+  else if (g_test_undefined ())
-+    {
-+      GByteArray *array = NULL;
-+      GBytes *bytes = NULL;
-+      gpointer data = g_memdup2 (NYAN, N_NYAN);
-+      gsize len = ((gsize) G_MAXUINT) + 1;
-+
-+      bytes = g_bytes_new_take (data, len);
-+      g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL,
-+                             "g_byte_array_new_take: assertion 'len <= G_MAXUINT' failed");
-+      array = g_bytes_unref_to_array (g_steal_pointer (&bytes));
-+      g_test_assert_expected_messages ();
-+      g_assert_null (array);
-+
-+      g_free (data);
-+    }
-+  else
-+    {
-+      g_test_skip ("Skipping test as testing undefined behaviour is disabled");
-+    }
-+}
-+
- static void
- test_to_array_two_refs (void)
- {
-@@ -410,6 +442,7 @@ main (int argc, char *argv[])
-   g_test_add_func ("/bytes/to-array/transfered", test_to_array_transferred);
-   g_test_add_func ("/bytes/to-array/two-refs", test_to_array_two_refs);
-   g_test_add_func ("/bytes/to-array/non-malloc", test_to_array_non_malloc);
-+  g_test_add_func ("/bytes/to-array/transferred/oversize", test_to_array_transferred_oversize);
-   g_test_add_func ("/bytes/null", test_null);
- 
-   return g_test_run ();
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-01.patch b/gnu/packages/patches/glib-CVE-2021-27219-01.patch
deleted file mode 100644
index 5db360d468..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-01.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-Backport of:
-
-From 5e5f75a77e399c638be66d74e5daa8caeb433e00 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 13:30:52 +0000
-Subject: [PATCH 01/11] gstrfuncs: Add internal g_memdup2() function
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This will replace the existing `g_memdup()` function for use within
-GLib. It has an unavoidable security flaw of taking its `byte_size`
-argument as a `guint` rather than as a `gsize`. Most callers will
-expect it to be a `gsize`, and may pass in large values which could
-silently be truncated, resulting in an undersize allocation compared
-to what the caller expects.
-
-This could lead to a classic buffer overflow vulnerability for many
-callers of `g_memdup()`.
-
-`g_memdup2()`, in comparison, takes its `byte_size` as a `gsize`.
-
-Spotted by Kevin Backhouse of GHSL.
-
-In GLib 2.68, `g_memdup2()` will be a new public API. In this version
-for backport to older stable releases, it’s a new `static inline` API
-in a private header, so that use of `g_memdup()` within GLib can be
-fixed without adding a new API in a stable release series.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: GHSL-2021-045
-Helps: #2319
----
- docs/reference/glib/meson.build |  1 +
- glib/gstrfuncsprivate.h         | 55 +++++++++++++++++++++++++++++++++
- glib/meson.build                |  1 +
- glib/tests/strfuncs.c           | 23 ++++++++++++++
- 4 files changed, 80 insertions(+)
- create mode 100644 glib/gstrfuncsprivate.h
-
-diff --git a/docs/reference/glib/meson.build b/docs/reference/glib/meson.build
-index bba7649f0..ee39f6d04 100644
---- a/docs/reference/glib/meson.build
-+++ b/docs/reference/glib/meson.build
-@@ -22,6 +22,7 @@ if get_option('gtk_doc')
-     'gprintfint.h',
-     'gmirroringtable.h',
-     'gscripttable.h',
-+    'gstrfuncsprivate.h',
-     'glib-mirroring-tab',
-     'gnulib',
-     'pcre',
-diff --git a/glib/gstrfuncsprivate.h b/glib/gstrfuncsprivate.h
-new file mode 100644
-index 000000000..85c88328a
---- /dev/null
-+++ b/glib/gstrfuncsprivate.h
-@@ -0,0 +1,55 @@
-+/* GLIB - Library of useful routines for C programming
-+ * Copyright (C) 1995-1997  Peter Mattis, Spencer Kimball and Josh MacDonald
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#include <glib.h>
-+#include <string.h>
-+
-+/*
-+ * g_memdup2:
-+ * @mem: (nullable): the memory to copy.
-+ * @byte_size: the number of bytes to copy.
-+ *
-+ * Allocates @byte_size bytes of memory, and copies @byte_size bytes into it
-+ * from @mem. If @mem is %NULL it returns %NULL.
-+ *
-+ * This replaces g_memdup(), which was prone to integer overflows when
-+ * converting the argument from a #gsize to a #guint.
-+ *
-+ * This static inline version is a backport of the new public API from
-+ * GLib 2.68, kept internal to GLib for backport to older stable releases.
-+ * See https://gitlab.gnome.org/GNOME/glib/-/issues/2319.
-+ *
-+ * Returns: (nullable): a pointer to the newly-allocated copy of the memory,
-+ *    or %NULL if @mem is %NULL.
-+ * Since: 2.68
-+ */
-+static inline gpointer
-+g_memdup2 (gconstpointer mem,
-+           gsize         byte_size)
-+{
-+  gpointer new_mem;
-+
-+  if (mem && byte_size != 0)
-+    {
-+      new_mem = g_malloc (byte_size);
-+      memcpy (new_mem, mem, byte_size);
-+    }
-+  else
-+    new_mem = NULL;
-+
-+  return new_mem;
-+}
-diff --git a/glib/meson.build b/glib/meson.build
-index aaf5f00f5..5a6eea397 100644
---- a/glib/meson.build
-+++ b/glib/meson.build
-@@ -268,6 +268,7 @@ glib_sources = files(
-   'gslist.c',
-   'gstdio.c',
-   'gstrfuncs.c',
-+  'gstrfuncsprivate.h',
-   'gstring.c',
-   'gstringchunk.c',
-   'gtestutils.c',
-diff --git a/glib/tests/strfuncs.c b/glib/tests/strfuncs.c
-index e1f9619c7..d968afff9 100644
---- a/glib/tests/strfuncs.c
-+++ b/glib/tests/strfuncs.c
-@@ -32,6 +32,8 @@
- #include <string.h>
- #include "glib.h"
- 
-+#include "gstrfuncsprivate.h"
-+
- #if defined (_MSC_VER) && (_MSC_VER <= 1800)
- #define isnan(x) _isnan(x)
- 
-@@ -219,6 +221,26 @@ test_memdup (void)
-   g_free (str_dup);
- }
- 
-+/* Testing g_memdup2() function with various positive and negative cases */
-+static void
-+test_memdup2 (void)
-+{
-+  gchar *str_dup = NULL;
-+  const gchar *str = "The quick brown fox jumps over the lazy dog";
-+
-+  /* Testing negative cases */
-+  g_assert_null (g_memdup2 (NULL, 1024));
-+  g_assert_null (g_memdup2 (str, 0));
-+  g_assert_null (g_memdup2 (NULL, 0));
-+
-+  /* Testing normal usage cases */
-+  str_dup = g_memdup2 (str, strlen (str) + 1);
-+  g_assert_nonnull (str_dup);
-+  g_assert_cmpstr (str, ==, str_dup);
-+
-+  g_free (str_dup);
-+}
-+
- /* Testing g_strpcpy() function with various positive and negative cases */
- static void
- test_stpcpy (void)
-@@ -2523,6 +2545,7 @@ main (int   argc,
-   g_test_add_func ("/strfuncs/has-prefix", test_has_prefix);
-   g_test_add_func ("/strfuncs/has-suffix", test_has_suffix);
-   g_test_add_func ("/strfuncs/memdup", test_memdup);
-+  g_test_add_func ("/strfuncs/memdup2", test_memdup2);
-   g_test_add_func ("/strfuncs/stpcpy", test_stpcpy);
-   g_test_add_func ("/strfuncs/str_match_string", test_str_match_string);
-   g_test_add_func ("/strfuncs/str_tokenize_and_fold", test_str_tokenize_and_fold);
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-02.patch b/gnu/packages/patches/glib-CVE-2021-27219-02.patch
deleted file mode 100644
index 431959fa8f..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-02.patch
+++ /dev/null
@@ -1,264 +0,0 @@
-Backport of:
-
-From be8834340a2d928ece82025463ae23dee2c333d0 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 13:37:56 +0000
-Subject: [PATCH 02/11] gio: Use g_memdup2() instead of g_memdup() in obvious
- places
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Convert all the call sites which use `g_memdup()`’s length argument
-trivially (for example, by passing a `sizeof()`), so that they use
-`g_memdup2()` instead.
-
-In almost all of these cases the use of `g_memdup()` would not have
-caused problems, but it will soon be deprecated, so best port away from
-it.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: #2319
----
- gio/gdbusconnection.c                 | 5 +++--
- gio/gdbusinterfaceskeleton.c          | 3 ++-
- gio/gfile.c                           | 7 ++++---
- gio/gsettingsschema.c                 | 5 +++--
- gio/gwin32registrykey.c               | 8 +++++---
- gio/tests/async-close-output-stream.c | 6 ++++--
- gio/tests/gdbus-export.c              | 5 +++--
- gio/win32/gwinhttpfile.c              | 9 +++++----
- 8 files changed, 29 insertions(+), 19 deletions(-)
-
-diff --git a/gio/gdbusconnection.c b/gio/gdbusconnection.c
-index f1f0921d4..d56453486 100644
---- a/gio/gdbusconnection.c
-+++ b/gio/gdbusconnection.c
-@@ -110,6 +110,7 @@
- #include "gasyncinitable.h"
- #include "giostream.h"
- #include "gasyncresult.h"
-+#include "gstrfuncsprivate.h"
- #include "gtask.h"
- #include "gmarshal-internal.h"
- 
-@@ -3997,7 +3998,7 @@ _g_dbus_interface_vtable_copy (const GDBusInterfaceVTable *vtable)
-   /* Don't waste memory by copying padding - remember to update this
-    * when changing struct _GDBusInterfaceVTable in gdbusconnection.h
-    */
--  return g_memdup ((gconstpointer) vtable, 3 * sizeof (gpointer));
-+  return g_memdup2 ((gconstpointer) vtable, 3 * sizeof (gpointer));
- }
- 
- static void
-@@ -4014,7 +4015,7 @@ _g_dbus_subtree_vtable_copy (const GDBusSubtreeVTable *vtable)
-   /* Don't waste memory by copying padding - remember to update this
-    * when changing struct _GDBusSubtreeVTable in gdbusconnection.h
-    */
--  return g_memdup ((gconstpointer) vtable, 3 * sizeof (gpointer));
-+  return g_memdup2 ((gconstpointer) vtable, 3 * sizeof (gpointer));
- }
- 
- static void
-diff --git a/gio/gdbusinterfaceskeleton.c b/gio/gdbusinterfaceskeleton.c
-index 4a06516c1..4a4b719a5 100644
---- a/gio/gdbusinterfaceskeleton.c
-+++ b/gio/gdbusinterfaceskeleton.c
-@@ -28,6 +28,7 @@
- #include "gdbusmethodinvocation.h"
- #include "gdbusconnection.h"
- #include "gmarshal-internal.h"
-+#include "gstrfuncsprivate.h"
- #include "gtask.h"
- #include "gioerror.h"
- 
-@@ -701,7 +702,7 @@ add_connection_locked (GDBusInterfaceSkeleton *interface_,
-        * properly before building the hooked_vtable, so we create it
-        * once at the last minute.
-        */
--      interface_->priv->hooked_vtable = g_memdup (g_dbus_interface_skeleton_get_vtable (interface_), sizeof (GDBusInterfaceVTable));
-+      interface_->priv->hooked_vtable = g_memdup2 (g_dbus_interface_skeleton_get_vtable (interface_), sizeof (GDBusInterfaceVTable));
-       interface_->priv->hooked_vtable->method_call = skeleton_intercept_handle_method_call;
-     }
- 
-diff --git a/gio/gfile.c b/gio/gfile.c
-index ba93f7c75..88b341e7d 100644
---- a/gio/gfile.c
-+++ b/gio/gfile.c
-@@ -60,6 +60,7 @@
- #include "gasyncresult.h"
- #include "gioerror.h"
- #include "glibintl.h"
-+#include "gstrfuncsprivate.h"
- 
- 
- /**
-@@ -7884,7 +7885,7 @@ measure_disk_usage_progress (gboolean reporting,
-   g_main_context_invoke_full (g_task_get_context (task),
-                               g_task_get_priority (task),
-                               measure_disk_usage_invoke_progress,
--                              g_memdup (&progress, sizeof progress),
-+                              g_memdup2 (&progress, sizeof progress),
-                               g_free);
- }
- 
-@@ -7902,7 +7903,7 @@ measure_disk_usage_thread (GTask        *task,
-                                  data->progress_callback ? measure_disk_usage_progress : NULL, task,
-                                  &result.disk_usage, &result.num_dirs, &result.num_files,
-                                  &error))
--    g_task_return_pointer (task, g_memdup (&result, sizeof result), g_free);
-+    g_task_return_pointer (task, g_memdup2 (&result, sizeof result), g_free);
-   else
-     g_task_return_error (task, error);
- }
-@@ -7926,7 +7927,7 @@ g_file_real_measure_disk_usage_async (GFile                        *file,
- 
-   task = g_task_new (file, cancellable, callback, user_data);
-   g_task_set_source_tag (task, g_file_real_measure_disk_usage_async);
--  g_task_set_task_data (task, g_memdup (&data, sizeof data), g_free);
-+  g_task_set_task_data (task, g_memdup2 (&data, sizeof data), g_free);
-   g_task_set_priority (task, io_priority);
- 
-   g_task_run_in_thread (task, measure_disk_usage_thread);
-diff --git a/gio/gsettingsschema.c b/gio/gsettingsschema.c
-index 3a60b8c64..dded9b1ca 100644
---- a/gio/gsettingsschema.c
-+++ b/gio/gsettingsschema.c
-@@ -20,6 +20,7 @@
- 
- #include "gsettingsschema-internal.h"
- #include "gsettings.h"
-+#include "gstrfuncsprivate.h"
- 
- #include "gvdb/gvdb-reader.h"
- #include "strinfo.c"
-@@ -1058,9 +1059,9 @@ g_settings_schema_list_children (GSettingsSchema *schema)
- 
-       if (g_str_has_suffix (key, "/"))
-         {
--          gint length = strlen (key);
-+          gsize length = strlen (key);
- 
--          strv[j] = g_memdup (key, length);
-+          strv[j] = g_memdup2 (key, length);
-           strv[j][length - 1] = '\0';
-           j++;
-         }
-diff --git a/gio/gwin32registrykey.c b/gio/gwin32registrykey.c
-index c19fede4e..619fd48af 100644
---- a/gio/gwin32registrykey.c
-+++ b/gio/gwin32registrykey.c
-@@ -28,6 +28,8 @@
- #include <ntstatus.h>
- #include <winternl.h>
- 
-+#include "gstrfuncsprivate.h"
-+
- #ifndef _WDMDDK_
- typedef enum _KEY_INFORMATION_CLASS {
-   KeyBasicInformation,
-@@ -247,7 +249,7 @@ g_win32_registry_value_iter_copy (const GWin32RegistryValueIter *iter)
-   new_iter->value_name_size = iter->value_name_size;
- 
-   if (iter->value_data != NULL)
--    new_iter->value_data = g_memdup (iter->value_data, iter->value_data_size);
-+    new_iter->value_data = g_memdup2 (iter->value_data, iter->value_data_size);
- 
-   new_iter->value_data_size = iter->value_data_size;
- 
-@@ -268,8 +270,8 @@ g_win32_registry_value_iter_copy (const GWin32RegistryValueIter *iter)
-   new_iter->value_data_expanded_charsize = iter->value_data_expanded_charsize;
- 
-   if (iter->value_data_expanded_u8 != NULL)
--    new_iter->value_data_expanded_u8 = g_memdup (iter->value_data_expanded_u8,
--                                                 iter->value_data_expanded_charsize);
-+    new_iter->value_data_expanded_u8 = g_memdup2 (iter->value_data_expanded_u8,
-+                                                  iter->value_data_expanded_charsize);
- 
-   new_iter->value_data_expanded_u8_size = iter->value_data_expanded_charsize;
- 
-diff --git a/gio/tests/async-close-output-stream.c b/gio/tests/async-close-output-stream.c
-index 5f6620275..d3f97a119 100644
---- a/gio/tests/async-close-output-stream.c
-+++ b/gio/tests/async-close-output-stream.c
-@@ -24,6 +24,8 @@
- #include <stdlib.h>
- #include <string.h>
- 
-+#include "gstrfuncsprivate.h"
-+
- #define DATA_TO_WRITE "Hello world\n"
- 
- typedef struct
-@@ -147,9 +149,9 @@ prepare_data (SetupData *data,
- 
-   data->expected_size = g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (data->data_stream));
- 
--  g_assert_cmpint (data->expected_size, >, 0);
-+  g_assert_cmpuint (data->expected_size, >, 0);
- 
--  data->expected_output = g_memdup (written, (guint)data->expected_size);
-+  data->expected_output = g_memdup2 (written, data->expected_size);
- 
-   /* then recreate the streams and prepare them for the asynchronous close */
-   destroy_streams (data);
-diff --git a/gio/tests/gdbus-export.c b/gio/tests/gdbus-export.c
-index 506c7458a..5513306f8 100644
---- a/gio/tests/gdbus-export.c
-+++ b/gio/tests/gdbus-export.c
-@@ -23,6 +23,7 @@
- #include <string.h>
- 
- #include "gdbus-tests.h"
-+#include "gstrfuncsprivate.h"
- 
- /* all tests rely on a shared mainloop */
- static GMainLoop *loop = NULL;
-@@ -671,7 +672,7 @@ subtree_introspect (GDBusConnection       *connection,
-       g_assert_not_reached ();
-     }
- 
--  return g_memdup (interfaces, 2 * sizeof (void *));
-+  return g_memdup2 (interfaces, 2 * sizeof (void *));
- }
- 
- static const GDBusInterfaceVTable *
-@@ -727,7 +728,7 @@ dynamic_subtree_introspect (GDBusConnection       *connection,
- {
-   const GDBusInterfaceInfo *interfaces[2] = { &dyna_interface_info, NULL };
- 
--  return g_memdup (interfaces, 2 * sizeof (void *));
-+  return g_memdup2 (interfaces, 2 * sizeof (void *));
- }
- 
- static const GDBusInterfaceVTable *
-diff --git a/gio/win32/gwinhttpfile.c b/gio/win32/gwinhttpfile.c
-index cf5eed31d..040ee8564 100644
---- a/gio/win32/gwinhttpfile.c
-+++ b/gio/win32/gwinhttpfile.c
-@@ -29,6 +29,7 @@
- #include "gio/gfile.h"
- #include "gio/gfileattribute.h"
- #include "gio/gfileinfo.h"
-+#include "gstrfuncsprivate.h"
- #include "gwinhttpfile.h"
- #include "gwinhttpfileinputstream.h"
- #include "gwinhttpfileoutputstream.h"
-@@ -393,10 +394,10 @@ g_winhttp_file_resolve_relative_path (GFile      *file,
-   child = g_object_new (G_TYPE_WINHTTP_FILE, NULL);
-   child->vfs = winhttp_file->vfs;
-   child->url = winhttp_file->url;
--  child->url.lpszScheme = g_memdup (winhttp_file->url.lpszScheme, (winhttp_file->url.dwSchemeLength+1)*2);
--  child->url.lpszHostName = g_memdup (winhttp_file->url.lpszHostName, (winhttp_file->url.dwHostNameLength+1)*2);
--  child->url.lpszUserName = g_memdup (winhttp_file->url.lpszUserName, (winhttp_file->url.dwUserNameLength+1)*2);
--  child->url.lpszPassword = g_memdup (winhttp_file->url.lpszPassword, (winhttp_file->url.dwPasswordLength+1)*2);
-+  child->url.lpszScheme = g_memdup2 (winhttp_file->url.lpszScheme, (winhttp_file->url.dwSchemeLength+1)*2);
-+  child->url.lpszHostName = g_memdup2 (winhttp_file->url.lpszHostName, (winhttp_file->url.dwHostNameLength+1)*2);
-+  child->url.lpszUserName = g_memdup2 (winhttp_file->url.lpszUserName, (winhttp_file->url.dwUserNameLength+1)*2);
-+  child->url.lpszPassword = g_memdup2 (winhttp_file->url.lpszPassword, (winhttp_file->url.dwPasswordLength+1)*2);
-   child->url.lpszUrlPath = wnew_path;
-   child->url.dwUrlPathLength = wcslen (wnew_path);
-   child->url.lpszExtraInfo = NULL;
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-03.patch b/gnu/packages/patches/glib-CVE-2021-27219-03.patch
deleted file mode 100644
index 99e849c43c..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-03.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-From 6110caea45b235420b98cd41d845cc92238f6781 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 13:39:25 +0000
-Subject: [PATCH 03/11] gobject: Use g_memdup2() instead of g_memdup() in
- obvious places
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Convert all the call sites which use `g_memdup()`’s length argument
-trivially (for example, by passing a `sizeof()`), so that they use
-`g_memdup2()` instead.
-
-In almost all of these cases the use of `g_memdup()` would not have
-caused problems, but it will soon be deprecated, so best port away from
-it.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: #2319
----
- gobject/gsignal.c     | 3 ++-
- gobject/gtype.c       | 9 +++++----
- gobject/gtypemodule.c | 3 ++-
- gobject/tests/param.c | 4 +++-
- 4 files changed, 12 insertions(+), 7 deletions(-)
-
-diff --git a/gobject/gsignal.c b/gobject/gsignal.c
-index 77d8f211e..41c54ab57 100644
---- a/gobject/gsignal.c
-+++ b/gobject/gsignal.c
-@@ -28,6 +28,7 @@
- #include <signal.h>
- 
- #include "gsignal.h"
-+#include "gstrfuncsprivate.h"
- #include "gtype-private.h"
- #include "gbsearcharray.h"
- #include "gvaluecollector.h"
-@@ -1730,7 +1731,7 @@ g_signal_newv (const gchar       *signal_name,
-   node->single_va_closure_is_valid = FALSE;
-   node->flags = signal_flags & G_SIGNAL_FLAGS_MASK;
-   node->n_params = n_params;
--  node->param_types = g_memdup (param_types, sizeof (GType) * n_params);
-+  node->param_types = g_memdup2 (param_types, sizeof (GType) * n_params);
-   node->return_type = return_type;
-   node->class_closure_bsa = NULL;
-   if (accumulator)
-diff --git a/gobject/gtype.c b/gobject/gtype.c
-index 7d3789400..8441b90e9 100644
---- a/gobject/gtype.c
-+++ b/gobject/gtype.c
-@@ -33,6 +33,7 @@
- 
- #include "glib-private.h"
- #include "gconstructor.h"
-+#include "gstrfuncsprivate.h"
- 
- #ifdef G_OS_WIN32
- #include <windows.h>
-@@ -1470,7 +1471,7 @@ type_add_interface_Wm (TypeNode             *node,
-   iholder->next = iface_node_get_holders_L (iface);
-   iface_node_set_holders_W (iface, iholder);
-   iholder->instance_type = NODE_TYPE (node);
--  iholder->info = info ? g_memdup (info, sizeof (*info)) : NULL;
-+  iholder->info = info ? g_memdup2 (info, sizeof (*info)) : NULL;
-   iholder->plugin = plugin;
- 
-   /* create an iface entry for this type */
-@@ -1731,7 +1732,7 @@ type_iface_retrieve_holder_info_Wm (TypeNode *iface,
-         INVALID_RECURSION ("g_type_plugin_*", iholder->plugin, NODE_NAME (iface));
-       
-       check_interface_info_I (iface, instance_type, &tmp_info);
--      iholder->info = g_memdup (&tmp_info, sizeof (tmp_info));
-+      iholder->info = g_memdup2 (&tmp_info, sizeof (tmp_info));
-     }
-   
-   return iholder;	/* we don't modify write lock upon returning NULL */
-@@ -2016,10 +2017,10 @@ type_iface_vtable_base_init_Wm (TypeNode *iface,
-       IFaceEntry *pentry = type_lookup_iface_entry_L (pnode, iface);
-       
-       if (pentry)
--	vtable = g_memdup (pentry->vtable, iface->data->iface.vtable_size);
-+	vtable = g_memdup2 (pentry->vtable, iface->data->iface.vtable_size);
-     }
-   if (!vtable)
--    vtable = g_memdup (iface->data->iface.dflt_vtable, iface->data->iface.vtable_size);
-+    vtable = g_memdup2 (iface->data->iface.dflt_vtable, iface->data->iface.vtable_size);
-   entry->vtable = vtable;
-   vtable->g_type = NODE_TYPE (iface);
-   vtable->g_instance_type = NODE_TYPE (node);
-diff --git a/gobject/gtypemodule.c b/gobject/gtypemodule.c
-index 4ecaf8c88..20911fafd 100644
---- a/gobject/gtypemodule.c
-+++ b/gobject/gtypemodule.c
-@@ -19,6 +19,7 @@
- 
- #include <stdlib.h>
- 
-+#include "gstrfuncsprivate.h"
- #include "gtypeplugin.h"
- #include "gtypemodule.h"
- 
-@@ -436,7 +437,7 @@ g_type_module_register_type (GTypeModule     *module,
-   module_type_info->loaded = TRUE;
-   module_type_info->info = *type_info;
-   if (type_info->value_table)
--    module_type_info->info.value_table = g_memdup (type_info->value_table,
-+    module_type_info->info.value_table = g_memdup2 (type_info->value_table,
- 						   sizeof (GTypeValueTable));
- 
-   return module_type_info->type;
-diff --git a/gobject/tests/param.c b/gobject/tests/param.c
-index 758289bf8..971cff162 100644
---- a/gobject/tests/param.c
-+++ b/gobject/tests/param.c
-@@ -2,6 +2,8 @@
- #include <glib-object.h>
- #include <stdlib.h>
- 
-+#include "gstrfuncsprivate.h"
-+
- static void
- test_param_value (void)
- {
-@@ -851,7 +853,7 @@ main (int argc, char *argv[])
-             test_path = g_strdup_printf ("/param/implement/subprocess/%d-%d-%d-%d",
-                                          data.change_this_flag, data.change_this_type,
-                                          data.use_this_flag, data.use_this_type);
--            test_data = g_memdup (&data, sizeof (TestParamImplementData));
-+            test_data = g_memdup2 (&data, sizeof (TestParamImplementData));
-             g_test_add_data_func_full (test_path, test_data, test_param_implement_child, g_free);
-             g_free (test_path);
-           }
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-04.patch b/gnu/packages/patches/glib-CVE-2021-27219-04.patch
deleted file mode 100644
index 3ae01f34b1..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-04.patch
+++ /dev/null
@@ -1,308 +0,0 @@
-Backport of:
-
-From 0736b7c1e7cf4232c5d7eb2b0fbfe9be81bd3baa Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 13:41:21 +0000
-Subject: [PATCH 04/11] glib: Use g_memdup2() instead of g_memdup() in obvious
- places
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Convert all the call sites which use `g_memdup()`’s length argument
-trivially (for example, by passing a `sizeof()` or an existing `gsize`
-variable), so that they use `g_memdup2()` instead.
-
-In almost all of these cases the use of `g_memdup()` would not have
-caused problems, but it will soon be deprecated, so best port away from
-it
-
-In particular, this fixes an overflow within `g_bytes_new()`, identified
-as GHSL-2021-045 by GHSL team member Kevin Backhouse.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Fixes: GHSL-2021-045
-Helps: #2319
----
- glib/gbytes.c               | 6 ++++--
- glib/gdir.c                 | 3 ++-
- glib/ghash.c                | 7 ++++---
- glib/giochannel.c           | 3 ++-
- glib/gslice.c               | 3 ++-
- glib/gtestutils.c           | 3 ++-
- glib/gvariant.c             | 7 ++++---
- glib/gvarianttype.c         | 3 ++-
- glib/tests/array-test.c     | 4 +++-
- glib/tests/option-context.c | 6 ++++--
- 10 files changed, 29 insertions(+), 16 deletions(-)
-
-diff --git a/glib/gbytes.c b/glib/gbytes.c
-index d56abe6c3..dee494820 100644
---- a/glib/gbytes.c
-+++ b/glib/gbytes.c
-@@ -34,6 +34,8 @@
- 
- #include <string.h>
- 
-+#include "gstrfuncsprivate.h"
-+
- /**
-  * GBytes:
-  *
-@@ -95,7 +97,7 @@ g_bytes_new (gconstpointer data,
- {
-   g_return_val_if_fail (data != NULL || size == 0, NULL);
- 
--  return g_bytes_new_take (g_memdup (data, size), size);
-+  return g_bytes_new_take (g_memdup2 (data, size), size);
- }
- 
- /**
-@@ -499,7 +501,7 @@ g_bytes_unref_to_data (GBytes *bytes,
-        * Copy: Non g_malloc (or compatible) allocator, or static memory,
-        * so we have to copy, and then unref.
-        */
--      result = g_memdup (bytes->data, bytes->size);
-+      result = g_memdup2 (bytes->data, bytes->size);
-       *size = bytes->size;
-       g_bytes_unref (bytes);
-     }
-diff --git a/glib/gdir.c b/glib/gdir.c
-index 6b85e99c8..6747a8c6f 100644
---- a/glib/gdir.c
-+++ b/glib/gdir.c
-@@ -37,6 +37,7 @@
- #include "gconvert.h"
- #include "gfileutils.h"
- #include "gstrfuncs.h"
-+#include "gstrfuncsprivate.h"
- #include "gtestutils.h"
- #include "glibintl.h"
- 
-@@ -112,7 +113,7 @@ g_dir_open_with_errno (const gchar *path,
-     return NULL;
- #endif
- 
--  return g_memdup (&dir, sizeof dir);
-+  return g_memdup2 (&dir, sizeof dir);
- }
- 
- /**
-diff --git a/glib/ghash.c b/glib/ghash.c
-index e61b03788..26f26062b 100644
---- a/glib/ghash.c
-+++ b/glib/ghash.c
-@@ -34,6 +34,7 @@
- #include "gmacros.h"
- #include "glib-private.h"
- #include "gstrfuncs.h"
-+#include "gstrfuncsprivate.h"
- #include "gatomic.h"
- #include "gtestutils.h"
- #include "gslice.h"
-@@ -964,7 +965,7 @@ g_hash_table_ensure_keyval_fits (GHashTable *hash_table, gpointer key, gpointer
-       if (hash_table->have_big_keys)
-         {
-           if (key != value)
--            hash_table->values = g_memdup (hash_table->keys, sizeof (gpointer) * hash_table->size);
-+            hash_table->values = g_memdup2 (hash_table->keys, sizeof (gpointer) * hash_table->size);
-           /* Keys and values are both big now, so no need for further checks */
-           return;
-         }
-@@ -972,7 +973,7 @@ g_hash_table_ensure_keyval_fits (GHashTable *hash_table, gpointer key, gpointer
-         {
-           if (key != value)
-             {
--              hash_table->values = g_memdup (hash_table->keys, sizeof (guint) * hash_table->size);
-+              hash_table->values = g_memdup2 (hash_table->keys, sizeof (guint) * hash_table->size);
-               is_a_set = FALSE;
-             }
-         }
-@@ -1000,7 +1001,7 @@ g_hash_table_ensure_keyval_fits (GHashTable *hash_table, gpointer key, gpointer
- 
-   /* Just split if necessary */
-   if (is_a_set && key != value)
--    hash_table->values = g_memdup (hash_table->keys, sizeof (gpointer) * hash_table->size);
-+    hash_table->values = g_memdup2 (hash_table->keys, sizeof (gpointer) * hash_table->size);
- 
- #endif
- }
-diff --git a/glib/giochannel.c b/glib/giochannel.c
-index 1956e9dc6..15927c391 100644
---- a/glib/giochannel.c
-+++ b/glib/giochannel.c
-@@ -37,6 +37,7 @@
- #include "giochannel.h"
- 
- #include "gstrfuncs.h"
-+#include "gstrfuncsprivate.h"
- #include "gtestutils.h"
- #include "glibintl.h"
- 
-@@ -892,7 +893,7 @@ g_io_channel_set_line_term (GIOChannel	*channel,
-     length = strlen (line_term);
- 
-   g_free (channel->line_term);
--  channel->line_term = line_term ? g_memdup (line_term, length) : NULL;
-+  channel->line_term = line_term ? g_memdup2 (line_term, length) : NULL;
-   channel->line_term_len = length;
- }
- 
-diff --git a/glib/gslice.c b/glib/gslice.c
-index 4c758c3be..bcdbb8853 100644
---- a/glib/gslice.c
-+++ b/glib/gslice.c
-@@ -41,6 +41,7 @@
- #include "gmain.h"
- #include "gmem.h"               /* gslice.h */
- #include "gstrfuncs.h"
-+#include "gstrfuncsprivate.h"
- #include "gutils.h"
- #include "gtrashstack.h"
- #include "gtestutils.h"
-@@ -350,7 +351,7 @@ g_slice_get_config_state (GSliceConfig ckey,
-       array[i++] = allocator->contention_counters[address];
-       array[i++] = allocator_get_magazine_threshold (allocator, address);
-       *n_values = i;
--      return g_memdup (array, sizeof (array[0]) * *n_values);
-+      return g_memdup2 (array, sizeof (array[0]) * *n_values);
-     default:
-       return NULL;
-     }
-diff --git a/glib/gtestutils.c b/glib/gtestutils.c
-index dd789482f..5887ecc36 100644
---- a/glib/gtestutils.c
-+++ b/glib/gtestutils.c
-@@ -49,6 +49,7 @@
- #include "gpattern.h"
- #include "grand.h"
- #include "gstrfuncs.h"
-+#include "gstrfuncsprivate.h"
- #include "gtimer.h"
- #include "gslice.h"
- #include "gspawn.h"
-@@ -3798,7 +3799,7 @@ g_test_log_extract (GTestLogBuffer *tbuffer)
-       if (p <= tbuffer->data->str + mlength)
-         {
-           g_string_erase (tbuffer->data, 0, mlength);
--          tbuffer->msgs = g_slist_prepend (tbuffer->msgs, g_memdup (&msg, sizeof (msg)));
-+          tbuffer->msgs = g_slist_prepend (tbuffer->msgs, g_memdup2 (&msg, sizeof (msg)));
-           return TRUE;
-         }
- 
-diff --git a/glib/gvariant.c b/glib/gvariant.c
-index b61bf7278..d6f68a9ea 100644
---- a/glib/gvariant.c
-+++ b/glib/gvariant.c
-@@ -33,6 +33,7 @@
- 
- #include <string.h>
- 
-+#include "gstrfuncsprivate.h"
- 
- /**
-  * SECTION:gvariant
-@@ -725,7 +726,7 @@ g_variant_new_variant (GVariant *value)
-   g_variant_ref_sink (value);
- 
-   return g_variant_new_from_children (G_VARIANT_TYPE_VARIANT,
--                                      g_memdup (&value, sizeof value),
-+                                      g_memdup2 (&value, sizeof value),
-                                       1, g_variant_is_trusted (value));
- }
- 
-@@ -1229,7 +1230,7 @@ g_variant_new_fixed_array (const GVariantType  *element_type,
-       return NULL;
-     }
- 
--  data = g_memdup (elements, n_elements * element_size);
-+  data = g_memdup2 (elements, n_elements * element_size);
-   value = g_variant_new_from_data (array_type, data,
-                                    n_elements * element_size,
-                                    FALSE, g_free, data);
-@@ -1908,7 +1909,7 @@ g_variant_dup_bytestring (GVariant *value,
-   if (length)
-     *length = size;
- 
--  return g_memdup (original, size + 1);
-+  return g_memdup2 (original, size + 1);
- }
- 
- /**
-diff --git a/glib/gvarianttype.c b/glib/gvarianttype.c
-index 1a228f73b..07659ff12 100644
---- a/glib/gvarianttype.c
-+++ b/glib/gvarianttype.c
-@@ -28,6 +28,7 @@
- 
- #include <string.h>
- 
-+#include "gstrfuncsprivate.h"
- 
- /**
-  * SECTION:gvarianttype
-@@ -1181,7 +1182,7 @@ g_variant_type_new_tuple (const GVariantType * const *items,
-   g_assert (offset < sizeof buffer);
-   buffer[offset++] = ')';
- 
--  return (GVariantType *) g_memdup (buffer, offset);
-+  return (GVariantType *) g_memdup2 (buffer, offset);
- }
- 
- /**
-diff --git a/glib/tests/array-test.c b/glib/tests/array-test.c
-index 3fcf1136a..11982f822 100644
---- a/glib/tests/array-test.c
-+++ b/glib/tests/array-test.c
-@@ -29,6 +29,8 @@
- #include <string.h>
- #include "glib.h"
- 
-+#include "gstrfuncsprivate.h"
-+
- /* Test data to be passed to any function which calls g_array_new(), providing
-  * the parameters for that call. Most #GArray tests should be repeated for all
-  * possible values of #ArrayTestData. */
-@@ -1642,7 +1644,7 @@ byte_array_new_take (void)
-   GByteArray *gbarray;
-   guint8 *data;
- 
--  data = g_memdup ("woooweeewow", 11);
-+  data = g_memdup2 ("woooweeewow", 11);
-   gbarray = g_byte_array_new_take (data, 11);
-   g_assert (gbarray->data == data);
-   g_assert_cmpuint (gbarray->len, ==, 11);
-diff --git a/glib/tests/option-context.c b/glib/tests/option-context.c
-index 149d22353..88d2b80d1 100644
---- a/glib/tests/option-context.c
-+++ b/glib/tests/option-context.c
-@@ -27,6 +27,8 @@
- #include <string.h>
- #include <locale.h>
- 
-+#include "gstrfuncsprivate.h"
-+
- static GOptionEntry main_entries[] = {
-   { "main-switch", 0, 0,
-     G_OPTION_ARG_NONE, NULL,
-@@ -256,7 +258,7 @@ join_stringv (int argc, char **argv)
- static char **
- copy_stringv (char **argv, int argc)
- {
--  return g_memdup (argv, sizeof (char *) * (argc + 1));
-+  return g_memdup2 (argv, sizeof (char *) * (argc + 1));
- }
- 
- static void
-@@ -2323,7 +2325,7 @@ test_group_parse (void)
-   g_option_context_add_group (context, group);
- 
-   argv = split_string ("program --test arg1 -f arg2 --group-test arg3 --frob arg4 -z arg5", &argc);
--  orig_argv = g_memdup (argv, (argc + 1) * sizeof (char *));
-+  orig_argv = g_memdup2 (argv, (argc + 1) * sizeof (char *));
- 
-   retval = g_option_context_parse (context, &argc, &argv, &error);
- 
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-05.patch b/gnu/packages/patches/glib-CVE-2021-27219-05.patch
deleted file mode 100644
index 62bce1b188..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-05.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 0cbad673215ec8a049b7fe2ff44b0beed31b376e Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 16:12:24 +0000
-Subject: [PATCH 05/11] gwinhttpfile: Avoid arithmetic overflow when
- calculating a size
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The members of `URL_COMPONENTS` (`winhttp_file->url`) are `DWORD`s, i.e.
-32-bit unsigned integers. Adding to and multiplying them may cause them
-to overflow the unsigned integer bounds, even if the result is passed to
-`g_memdup2()` which accepts a `gsize`.
-
-Cast the `URL_COMPONENTS` members to `gsize` first to ensure that the
-arithmetic is done in terms of `gsize`s rather than unsigned integers.
-
-Spotted by Sebastian Dröge.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: #2319
----
- gio/win32/gwinhttpfile.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/gio/win32/gwinhttpfile.c b/gio/win32/gwinhttpfile.c
-index 040ee8564..246ec0578 100644
---- a/gio/win32/gwinhttpfile.c
-+++ b/gio/win32/gwinhttpfile.c
-@@ -394,10 +394,10 @@ g_winhttp_file_resolve_relative_path (GFile      *file,
-   child = g_object_new (G_TYPE_WINHTTP_FILE, NULL);
-   child->vfs = winhttp_file->vfs;
-   child->url = winhttp_file->url;
--  child->url.lpszScheme = g_memdup2 (winhttp_file->url.lpszScheme, (winhttp_file->url.dwSchemeLength+1)*2);
--  child->url.lpszHostName = g_memdup2 (winhttp_file->url.lpszHostName, (winhttp_file->url.dwHostNameLength+1)*2);
--  child->url.lpszUserName = g_memdup2 (winhttp_file->url.lpszUserName, (winhttp_file->url.dwUserNameLength+1)*2);
--  child->url.lpszPassword = g_memdup2 (winhttp_file->url.lpszPassword, (winhttp_file->url.dwPasswordLength+1)*2);
-+  child->url.lpszScheme = g_memdup2 (winhttp_file->url.lpszScheme, ((gsize) winhttp_file->url.dwSchemeLength + 1) * 2);
-+  child->url.lpszHostName = g_memdup2 (winhttp_file->url.lpszHostName, ((gsize) winhttp_file->url.dwHostNameLength + 1) * 2);
-+  child->url.lpszUserName = g_memdup2 (winhttp_file->url.lpszUserName, ((gsize) winhttp_file->url.dwUserNameLength + 1) * 2);
-+  child->url.lpszPassword = g_memdup2 (winhttp_file->url.lpszPassword, ((gsize) winhttp_file->url.dwPasswordLength + 1) * 2);
-   child->url.lpszUrlPath = wnew_path;
-   child->url.dwUrlPathLength = wcslen (wnew_path);
-   child->url.lpszExtraInfo = NULL;
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-06.patch b/gnu/packages/patches/glib-CVE-2021-27219-06.patch
deleted file mode 100644
index 4e2435f5fd..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-06.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From f9ee2275cbc312c0b4cdbc338a4fbb76eb36fb9a Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 13:49:00 +0000
-Subject: [PATCH 06/11] gdatainputstream: Handle stop_chars_len internally as
- gsize
-
-Previously it was handled as a `gssize`, which meant that if the
-`stop_chars` string was longer than `G_MAXSSIZE` there would be an
-overflow.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: #2319
----
- gio/gdatainputstream.c | 25 +++++++++++++++++--------
- 1 file changed, 17 insertions(+), 8 deletions(-)
-
-diff --git a/gio/gdatainputstream.c b/gio/gdatainputstream.c
-index 2e7750cb5..2cdcbda19 100644
---- a/gio/gdatainputstream.c
-+++ b/gio/gdatainputstream.c
-@@ -27,6 +27,7 @@
- #include "gioenumtypes.h"
- #include "gioerror.h"
- #include "glibintl.h"
-+#include "gstrfuncsprivate.h"
- 
- #include <string.h>
- 
-@@ -856,7 +857,7 @@ static gssize
- scan_for_chars (GDataInputStream *stream,
- 		gsize            *checked_out,
- 		const char       *stop_chars,
--                gssize            stop_chars_len)
-+                gsize             stop_chars_len)
- {
-   GBufferedInputStream *bstream;
-   const char *buffer;
-@@ -952,7 +953,7 @@ typedef struct
-   gsize checked;
- 
-   gchar *stop_chars;
--  gssize stop_chars_len;
-+  gsize stop_chars_len;
-   gsize length;
- } GDataInputStreamReadData;
- 
-@@ -1078,12 +1079,17 @@ g_data_input_stream_read_async (GDataInputStream    *stream,
- {
-   GDataInputStreamReadData *data;
-   GTask *task;
-+  gsize stop_chars_len_unsigned;
- 
-   data = g_slice_new0 (GDataInputStreamReadData);
--  if (stop_chars_len == -1)
--    stop_chars_len = strlen (stop_chars);
--  data->stop_chars = g_memdup (stop_chars, stop_chars_len);
--  data->stop_chars_len = stop_chars_len;
-+
-+  if (stop_chars_len < 0)
-+    stop_chars_len_unsigned = strlen (stop_chars);
-+  else
-+    stop_chars_len_unsigned = (gsize) stop_chars_len;
-+
-+  data->stop_chars = g_memdup2 (stop_chars, stop_chars_len_unsigned);
-+  data->stop_chars_len = stop_chars_len_unsigned;
-   data->last_saw_cr = FALSE;
- 
-   task = g_task_new (stream, cancellable, callback, user_data);
-@@ -1338,17 +1344,20 @@ g_data_input_stream_read_upto (GDataInputStream  *stream,
-   gssize found_pos;
-   gssize res;
-   char *data_until;
-+  gsize stop_chars_len_unsigned;
- 
-   g_return_val_if_fail (G_IS_DATA_INPUT_STREAM (stream), NULL);
- 
-   if (stop_chars_len < 0)
--    stop_chars_len = strlen (stop_chars);
-+    stop_chars_len_unsigned = strlen (stop_chars);
-+  else
-+    stop_chars_len_unsigned = (gsize) stop_chars_len;
- 
-   bstream = G_BUFFERED_INPUT_STREAM (stream);
- 
-   checked = 0;
- 
--  while ((found_pos = scan_for_chars (stream, &checked, stop_chars, stop_chars_len)) == -1)
-+  while ((found_pos = scan_for_chars (stream, &checked, stop_chars, stop_chars_len_unsigned)) == -1)
-     {
-       if (g_buffered_input_stream_get_available (bstream) ==
-           g_buffered_input_stream_get_buffer_size (bstream))
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-07.patch b/gnu/packages/patches/glib-CVE-2021-27219-07.patch
deleted file mode 100644
index dad3d285f4..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-07.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-Backport of:
-
-From 2aaf593a9eb96d84fe3be740aca2810a97d95592 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 13:50:37 +0000
-Subject: [PATCH 07/11] gwin32: Use gsize internally in g_wcsdup()
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This allows it to handle strings up to length `G_MAXSIZE` — previously
-it would overflow with such strings.
-
-Update the several copies of it identically.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: #2319
----
- gio/gwin32appinfo.c     | 33 ++++++++++++++++++++++++++-------
- gio/gwin32registrykey.c | 34 ++++++++++++++++++++++++++--------
- 2 files changed, 52 insertions(+), 15 deletions(-)
-
-diff --git a/gio/gwin32appinfo.c b/gio/gwin32appinfo.c
-index 9f335b370..dd7a96a4a 100644
---- a/gio/gwin32appinfo.c
-+++ b/gio/gwin32appinfo.c
-@@ -464,15 +464,34 @@ static GWin32RegistryKey *applications_key;
- /* Watch this key */
- static GWin32RegistryKey *classes_root_key;
- 
-+static gsize
-+g_utf16_len (const gunichar2 *str)
-+{
-+  gsize result;
-+
-+  for (result = 0; str[0] != 0; str++, result++)
-+    ;
-+
-+  return result;
-+}
-+
- static gunichar2 *
--g_wcsdup (const gunichar2 *str, gssize str_size)
-+g_wcsdup (const gunichar2 *str, gssize str_len)
- {
--  if (str_size == -1)
--    {
--      str_size = wcslen (str) + 1;
--      str_size *= sizeof (gunichar2);
--    }
--  return g_memdup (str, str_size);
-+  gsize str_len_unsigned;
-+  gsize str_size;
-+
-+  g_return_val_if_fail (str != NULL, NULL);
-+
-+  if (str_len < 0)
-+    str_len_unsigned = g_utf16_len (str);
-+  else
-+    str_len_unsigned = (gsize) str_len;
-+
-+  g_assert (str_len_unsigned <= G_MAXSIZE / sizeof (gunichar2) - 1);
-+  str_size = (str_len_unsigned + 1) * sizeof (gunichar2);
-+
-+  return g_memdup2 (str, str_size);
- }
- 
- #define URL_ASSOCIATIONS L"HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\"
-diff --git a/gio/gwin32registrykey.c b/gio/gwin32registrykey.c
-index 619fd48af..fbd65311a 100644
---- a/gio/gwin32registrykey.c
-+++ b/gio/gwin32registrykey.c
-@@ -127,16 +127,34 @@ typedef enum
-   G_WIN32_REGISTRY_UPDATED_PATH = 1,
- } GWin32RegistryKeyUpdateFlag;
- 
-+static gsize
-+g_utf16_len (const gunichar2 *str)
-+{
-+  gsize result;
-+
-+  for (result = 0; str[0] != 0; str++, result++)
-+    ;
-+
-+  return result;
-+}
-+
- static gunichar2 *
--g_wcsdup (const gunichar2 *str,
--          gssize           str_size)
-+g_wcsdup (const gunichar2 *str, gssize str_len)
- {
--  if (str_size == -1)
--    {
--      str_size = wcslen (str) + 1;
--      str_size *= sizeof (gunichar2);
--    }
--  return g_memdup (str, str_size);
-+  gsize str_len_unsigned;
-+  gsize str_size;
-+
-+  g_return_val_if_fail (str != NULL, NULL);
-+
-+  if (str_len < 0)
-+    str_len_unsigned = g_utf16_len (str);
-+  else
-+    str_len_unsigned = (gsize) str_len;
-+
-+  g_assert (str_len_unsigned <= G_MAXSIZE / sizeof (gunichar2) - 1);
-+  str_size = (str_len_unsigned + 1) * sizeof (gunichar2);
-+
-+  return g_memdup2 (str, str_size);
- }
- 
- /**
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-08.patch b/gnu/packages/patches/glib-CVE-2021-27219-08.patch
deleted file mode 100644
index 2c021ad317..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-08.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From ba8ca443051f93a74c0d03d62e70402036f967a5 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 13:58:32 +0000
-Subject: [PATCH 08/11] gkeyfilesettingsbackend: Handle long keys when
- converting paths
-
-Previously, the code in `convert_path()` could not handle keys longer
-than `G_MAXINT`, and would overflow if that was exceeded.
-
-Convert the code to use `gsize` and `g_memdup2()` throughout, and
-change from identifying the position of the final slash in the string
-using a signed offset `i`, to using a pointer to the character (and
-`strrchr()`). This allows the slash to be at any position in a
-`G_MAXSIZE`-long string, without sacrificing a bit of the offset for
-indicating whether a slash was found.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: #2319
----
- gio/gkeyfilesettingsbackend.c | 21 ++++++++++-----------
- 1 file changed, 10 insertions(+), 11 deletions(-)
-
-diff --git a/gio/gkeyfilesettingsbackend.c b/gio/gkeyfilesettingsbackend.c
-index cd5765afd..25b057672 100644
---- a/gio/gkeyfilesettingsbackend.c
-+++ b/gio/gkeyfilesettingsbackend.c
-@@ -33,6 +33,7 @@
- #include "gfilemonitor.h"
- #include "gsimplepermission.h"
- #include "gsettingsbackendinternal.h"
-+#include "gstrfuncsprivate.h"
- #include "giomodule-priv.h"
- #include "gportalsupport.h"
- 
-@@ -145,8 +146,8 @@ convert_path (GKeyfileSettingsBackend  *kfsb,
-               gchar                   **group,
-               gchar                   **basename)
- {
--  gint key_len = strlen (key);
--  gint i;
-+  gsize key_len = strlen (key);
-+  const gchar *last_slash;
- 
-   if (key_len < kfsb->prefix_len ||
-       memcmp (key, kfsb->prefix, kfsb->prefix_len) != 0)
-@@ -155,38 +156,36 @@ convert_path (GKeyfileSettingsBackend  *kfsb,
-   key_len -= kfsb->prefix_len;
-   key += kfsb->prefix_len;
- 
--  for (i = key_len; i >= 0; i--)
--    if (key[i] == '/')
--      break;
-+  last_slash = strrchr (key, '/');
- 
-   if (kfsb->root_group)
-     {
-       /* if a root_group was specified, make sure the user hasn't given
-        * a path that ghosts that group name
-        */
--      if (i == kfsb->root_group_len && memcmp (key, kfsb->root_group, i) == 0)
-+      if (last_slash != NULL && (last_slash - key) == kfsb->root_group_len && memcmp (key, kfsb->root_group, last_slash - key) == 0)
-         return FALSE;
-     }
-   else
-     {
-       /* if no root_group was given, ensure that the user gave a path */
--      if (i == -1)
-+      if (last_slash == NULL)
-         return FALSE;
-     }
- 
-   if (group)
-     {
--      if (i >= 0)
-+      if (last_slash != NULL)
-         {
--          *group = g_memdup (key, i + 1);
--          (*group)[i] = '\0';
-+          *group = g_memdup2 (key, (last_slash - key) + 1);
-+          (*group)[(last_slash - key)] = '\0';
-         }
-       else
-         *group = g_strdup (kfsb->root_group);
-     }
- 
-   if (basename)
--    *basename = g_memdup (key + i + 1, key_len - i);
-+    *basename = g_memdup2 (last_slash + 1, key_len - (last_slash - key));
- 
-   return TRUE;
- }
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-09.patch b/gnu/packages/patches/glib-CVE-2021-27219-09.patch
deleted file mode 100644
index 4de0c1b349..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-09.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 65ec7f4d6e8832c481f6e00e2eb007b9a60024ce Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 14:00:53 +0000
-Subject: [PATCH 09/11] gsocket: Use gsize to track native sockaddr's size
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Don’t use an `int`, that’s potentially too small. In practical terms,
-this is not a problem, since no socket address is going to be that big.
-
-By making these changes we can use `g_memdup2()` without warnings,
-though. Fewer warnings is good.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: #2319
----
- gio/gsocket.c | 16 ++++++++++------
- 1 file changed, 10 insertions(+), 6 deletions(-)
-
-diff --git a/gio/gsocket.c b/gio/gsocket.c
-index 66073af83..a3af149e8 100644
---- a/gio/gsocket.c
-+++ b/gio/gsocket.c
-@@ -75,6 +75,7 @@
- #include "gcredentialsprivate.h"
- #include "glibintl.h"
- #include "gioprivate.h"
-+#include "gstrfuncsprivate.h"
- 
- #ifdef G_OS_WIN32
- /* For Windows XP runtime compatibility, but use the system's if_nametoindex() if available */
-@@ -174,7 +175,7 @@ static gboolean     g_socket_datagram_based_condition_wait       (GDatagramBased
-                                                                   GError          **error);
- 
- static GSocketAddress *
--cache_recv_address (GSocket *socket, struct sockaddr *native, int native_len);
-+cache_recv_address (GSocket *socket, struct sockaddr *native, size_t native_len);
- 
- static gssize
- g_socket_receive_message_with_timeout  (GSocket                 *socket,
-@@ -260,7 +261,7 @@ struct _GSocketPrivate
-   struct {
-     GSocketAddress *addr;
-     struct sockaddr *native;
--    gint native_len;
-+    gsize native_len;
-     guint64 last_used;
-   } recv_addr_cache[RECV_ADDR_CACHE_SIZE];
- };
-@@ -5211,14 +5212,14 @@ g_socket_send_messages_with_timeout (GSocket        *socket,
- }
- 
- static GSocketAddress *
--cache_recv_address (GSocket *socket, struct sockaddr *native, int native_len)
-+cache_recv_address (GSocket *socket, struct sockaddr *native, size_t native_len)
- {
-   GSocketAddress *saddr;
-   gint i;
-   guint64 oldest_time = G_MAXUINT64;
-   gint oldest_index = 0;
- 
--  if (native_len <= 0)
-+  if (native_len == 0)
-     return NULL;
- 
-   saddr = NULL;
-@@ -5226,7 +5227,7 @@ cache_recv_address (GSocket *socket, struct sockaddr *native, int native_len)
-     {
-       GSocketAddress *tmp = socket->priv->recv_addr_cache[i].addr;
-       gpointer tmp_native = socket->priv->recv_addr_cache[i].native;
--      gint tmp_native_len = socket->priv->recv_addr_cache[i].native_len;
-+      gsize tmp_native_len = socket->priv->recv_addr_cache[i].native_len;
- 
-       if (!tmp)
-         continue;
-@@ -5256,7 +5257,7 @@ cache_recv_address (GSocket *socket, struct sockaddr *native, int native_len)
-       g_free (socket->priv->recv_addr_cache[oldest_index].native);
-     }
- 
--  socket->priv->recv_addr_cache[oldest_index].native = g_memdup (native, native_len);
-+  socket->priv->recv_addr_cache[oldest_index].native = g_memdup2 (native, native_len);
-   socket->priv->recv_addr_cache[oldest_index].native_len = native_len;
-   socket->priv->recv_addr_cache[oldest_index].addr = g_object_ref (saddr);
-   socket->priv->recv_addr_cache[oldest_index].last_used = g_get_monotonic_time ();
-@@ -5404,6 +5405,9 @@ g_socket_receive_message_with_timeout (GSocket                 *socket,
-     /* do it */
-     while (1)
-       {
-+        /* addrlen has to be of type int because that’s how WSARecvFrom() is defined */
-+        G_STATIC_ASSERT (sizeof addr <= G_MAXINT);
-+
- 	addrlen = sizeof addr;
- 	if (address)
- 	  result = WSARecvFrom (socket->priv->fd,
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-10.patch b/gnu/packages/patches/glib-CVE-2021-27219-10.patch
deleted file mode 100644
index 36198b8eef..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-10.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 777b95a88f006d39d9fe6d3321db17e7b0d4b9a4 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 14:07:39 +0000
-Subject: [PATCH 10/11] gtlspassword: Forbid very long TLS passwords
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The public API `g_tls_password_set_value_full()` (and the vfunc it
-invokes) can only accept a `gssize` length. Ensure that nul-terminated
-strings passed to `g_tls_password_set_value()` can’t exceed that length.
-Use `g_memdup2()` to avoid an overflow if they’re longer than
-`G_MAXUINT` similarly.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: #2319
----
- gio/gtlspassword.c | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/gio/gtlspassword.c b/gio/gtlspassword.c
-index 1e437a7b6..dbcec41a8 100644
---- a/gio/gtlspassword.c
-+++ b/gio/gtlspassword.c
-@@ -23,6 +23,7 @@
- #include "glibintl.h"
- 
- #include "gioenumtypes.h"
-+#include "gstrfuncsprivate.h"
- #include "gtlspassword.h"
- 
- #include <string.h>
-@@ -287,9 +288,14 @@ g_tls_password_set_value (GTlsPassword  *password,
-   g_return_if_fail (G_IS_TLS_PASSWORD (password));
- 
-   if (length < 0)
--    length = strlen ((gchar *)value);
-+    {
-+      /* FIXME: g_tls_password_set_value_full() doesn’t support unsigned gsize */
-+      gsize length_unsigned = strlen ((gchar *) value);
-+      g_return_if_fail (length_unsigned > G_MAXSSIZE);
-+      length = (gssize) length_unsigned;
-+    }
- 
--  g_tls_password_set_value_full (password, g_memdup (value, length), length, g_free);
-+  g_tls_password_set_value_full (password, g_memdup2 (value, (gsize) length), length, g_free);
- }
- 
- /**
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-11.patch b/gnu/packages/patches/glib-CVE-2021-27219-11.patch
deleted file mode 100644
index 4413cb9827..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-11.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From ecdf91400e9a538695a0895b95ad7e8abcdf1749 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Thu, 4 Feb 2021 14:09:40 +0000
-Subject: [PATCH 11/11] giochannel: Forbid very long line terminator strings
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The public API `GIOChannel.line_term_len` is only a `guint`. Ensure that
-nul-terminated strings passed to `g_io_channel_set_line_term()` can’t
-exceed that length. Use `g_memdup2()` to avoid a warning (`g_memdup()`
-is due to be deprecated), but not to avoid a bug, since it’s also
-limited to `G_MAXUINT`.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-Helps: #2319
----
- glib/giochannel.c | 17 +++++++++++++----
- 1 file changed, 13 insertions(+), 4 deletions(-)
-
-diff --git a/glib/giochannel.c b/glib/giochannel.c
-index 15927c391..66c6591f0 100644
---- a/glib/giochannel.c
-+++ b/glib/giochannel.c
-@@ -884,16 +884,25 @@ g_io_channel_set_line_term (GIOChannel	*channel,
-                             const gchar	*line_term,
- 			    gint         length)
- {
-+  guint length_unsigned;
-+
-   g_return_if_fail (channel != NULL);
-   g_return_if_fail (line_term == NULL || length != 0); /* Disallow "" */
- 
-   if (line_term == NULL)
--    length = 0;
--  else if (length < 0)
--    length = strlen (line_term);
-+    length_unsigned = 0;
-+  else if (length >= 0)
-+    length_unsigned = (guint) length;
-+  else
-+    {
-+      /* FIXME: We’re constrained by line_term_len being a guint here */
-+      gsize length_size = strlen (line_term);
-+      g_return_if_fail (length_size > G_MAXUINT);
-+      length_unsigned = (guint) length_size;
-+    }
- 
-   g_free (channel->line_term);
--  channel->line_term = line_term ? g_memdup2 (line_term, length) : NULL;
-+  channel->line_term = line_term ? g_memdup2 (line_term, length_unsigned) : NULL;
-   channel->line_term_len = length;
- }
- 
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-12.patch b/gnu/packages/patches/glib-CVE-2021-27219-12.patch
deleted file mode 100644
index 4fdbb81750..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-12.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From f8273b9aded135fe07094faebd527e43851aaf6e Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Sun, 7 Feb 2021 23:32:40 +0100
-Subject: [PATCH 1/5] giochannel: Fix length_size bounds check
-
-The inverted condition is an obvious error introduced by ecdf91400e9a.
-
-Fixes https://gitlab.gnome.org/GNOME/glib/-/issues/2323
-
-(cherry picked from commit a149bf2f9030168051942124536e303af8ba6176)
----
- glib/giochannel.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/glib/giochannel.c b/glib/giochannel.c
-index 66c6591f0..0d9d5f223 100644
---- a/glib/giochannel.c
-+++ b/glib/giochannel.c
-@@ -897,7 +897,7 @@ g_io_channel_set_line_term (GIOChannel	*channel,
-     {
-       /* FIXME: We’re constrained by line_term_len being a guint here */
-       gsize length_size = strlen (line_term);
--      g_return_if_fail (length_size > G_MAXUINT);
-+      g_return_if_fail (length_size <= G_MAXUINT);
-       length_unsigned = (guint) length_size;
-     }
- 
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-13.patch b/gnu/packages/patches/glib-CVE-2021-27219-13.patch
deleted file mode 100644
index 6a287cc3a2..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-13.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From e069c50467712e6d607822afd6b6c15c2c343dff Mon Sep 17 00:00:00 2001
-From: Simon McVittie <smcv@collabora.com>
-Date: Mon, 8 Feb 2021 10:34:50 +0000
-Subject: [PATCH 2/5] giochannel: Don't store negative line_term_len in
- GIOChannel struct
-
-Adding test coverage indicated that this was another bug in 0cc11f74.
-
-Fixes: 0cc11f74 "giochannel: Forbid very long line terminator strings"
-Resolves: https://gitlab.gnome.org/GNOME/glib/-/issues/2323
-Signed-off-by: Simon McVittie <smcv@collabora.com>
-(cherry picked from commit 5dc8b0014c03e7491d93b90275ab442e888a9628)
----
- glib/giochannel.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/glib/giochannel.c b/glib/giochannel.c
-index 0d9d5f223..4c39b9dc0 100644
---- a/glib/giochannel.c
-+++ b/glib/giochannel.c
-@@ -903,7 +903,7 @@ g_io_channel_set_line_term (GIOChannel	*channel,
- 
-   g_free (channel->line_term);
-   channel->line_term = line_term ? g_memdup2 (line_term, length_unsigned) : NULL;
--  channel->line_term_len = length;
-+  channel->line_term_len = length_unsigned;
- }
- 
- /**
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-14.patch b/gnu/packages/patches/glib-CVE-2021-27219-14.patch
deleted file mode 100644
index 78de2846da..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-14.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 4506d1859a863087598c8d122740bae25b65b099 Mon Sep 17 00:00:00 2001
-From: Simon McVittie <smcv@collabora.com>
-Date: Mon, 8 Feb 2021 10:04:48 +0000
-Subject: [PATCH 4/5] gtlspassword: Fix inverted assertion
-
-The intention here was to assert that the length of the password fits
-in a gssize. Passwords more than half the size of virtual memory are
-probably excessive.
-
-Fixes: a8b204ff "gtlspassword: Forbid very long TLS passwords"
-Signed-off-by: Simon McVittie <smcv@collabora.com>
-(cherry picked from commit 61bb52ec42de1082bfb06ce1c737fc295bfe60b8)
----
- gio/gtlspassword.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gio/gtlspassword.c b/gio/gtlspassword.c
-index dbcec41a8..bd86a6dfe 100644
---- a/gio/gtlspassword.c
-+++ b/gio/gtlspassword.c
-@@ -291,7 +291,7 @@ g_tls_password_set_value (GTlsPassword  *password,
-     {
-       /* FIXME: g_tls_password_set_value_full() doesn’t support unsigned gsize */
-       gsize length_unsigned = strlen ((gchar *) value);
--      g_return_if_fail (length_unsigned > G_MAXSSIZE);
-+      g_return_if_fail (length_unsigned <= G_MAXSSIZE);
-       length = (gssize) length_unsigned;
-     }
- 
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-15.patch b/gnu/packages/patches/glib-CVE-2021-27219-15.patch
deleted file mode 100644
index 37ef85b4fa..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-15.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 3d1550354c3c6a8491c39881752d51cb7515f2c2 Mon Sep 17 00:00:00 2001
-From: Simon McVittie <smcv@collabora.com>
-Date: Mon, 8 Feb 2021 10:22:39 +0000
-Subject: [PATCH 5/5] tls-interaction: Add test coverage for various ways to
- set the password
-
-Signed-off-by: Simon McVittie <smcv@collabora.com>
-(cherry picked from commit df4501316ca3903072400504a5ea76498db19538)
----
- gio/tests/tls-interaction.c | 55 +++++++++++++++++++++++++++++++++++++
- 1 file changed, 55 insertions(+)
-
-diff --git a/gio/tests/tls-interaction.c b/gio/tests/tls-interaction.c
-index 4f0737d7e..5661e8e0d 100644
---- a/gio/tests/tls-interaction.c
-+++ b/gio/tests/tls-interaction.c
-@@ -174,6 +174,38 @@ test_interaction_ask_password_finish_failure (GTlsInteraction    *interaction,
- }
- 
- 
-+/* Return a copy of @str that is allocated in a silly way, to exercise
-+ * custom free-functions. The returned pointer points to a copy of @str
-+ * in a buffer of the form "BEFORE \0 str \0 AFTER". */
-+static guchar *
-+special_dup (const char *str)
-+{
-+  GString *buf = g_string_new ("BEFORE");
-+  guchar *ret;
-+
-+  g_string_append_c (buf, '\0');
-+  g_string_append (buf, str);
-+  g_string_append_c (buf, '\0');
-+  g_string_append (buf, "AFTER");
-+  ret = (guchar *) g_string_free (buf, FALSE);
-+  return ret + strlen ("BEFORE") + 1;
-+}
-+
-+
-+/* Free a copy of @str that was made with special_dup(), after asserting
-+ * that it has not been corrupted. */
-+static void
-+special_free (gpointer p)
-+{
-+  gchar *s = p;
-+  gchar *buf = s - strlen ("BEFORE") - 1;
-+
-+  g_assert_cmpstr (buf, ==, "BEFORE");
-+  g_assert_cmpstr (s + strlen (s) + 1, ==, "AFTER");
-+  g_free (buf);
-+}
-+
-+
- static GTlsInteractionResult
- test_interaction_ask_password_sync_success (GTlsInteraction    *interaction,
-                                             GTlsPassword       *password,
-@@ -181,6 +213,8 @@ test_interaction_ask_password_sync_success (GTlsInteraction    *interaction,
-                                             GError            **error)
- {
-   TestInteraction *self;
-+  const guchar *value;
-+  gsize len;
- 
-   g_assert (TEST_IS_INTERACTION (interaction));
-   self = TEST_INTERACTION (interaction);
-@@ -192,6 +226,27 @@ test_interaction_ask_password_sync_success (GTlsInteraction    *interaction,
-   g_assert (error != NULL);
-   g_assert (*error == NULL);
- 
-+  /* Exercise different ways to set the value */
-+  g_tls_password_set_value (password, (const guchar *) "foo", 4);
-+  len = 0;
-+  value = g_tls_password_get_value (password, &len);
-+  g_assert_cmpmem (value, len, "foo", 4);
-+
-+  g_tls_password_set_value (password, (const guchar *) "bar", -1);
-+  len = 0;
-+  value = g_tls_password_get_value (password, &len);
-+  g_assert_cmpmem (value, len, "bar", 3);
-+
-+  g_tls_password_set_value_full (password, special_dup ("baa"), 4, special_free);
-+  len = 0;
-+  value = g_tls_password_get_value (password, &len);
-+  g_assert_cmpmem (value, len, "baa", 4);
-+
-+  g_tls_password_set_value_full (password, special_dup ("baz"), -1, special_free);
-+  len = 0;
-+  value = g_tls_password_get_value (password, &len);
-+  g_assert_cmpmem (value, len, "baz", 3);
-+
-   /* Don't do this in real life. Include a null terminator for testing */
-   g_tls_password_set_value (password, (const guchar *)"the password", 13);
-   return G_TLS_INTERACTION_HANDLED;
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-16.patch b/gnu/packages/patches/glib-CVE-2021-27219-16.patch
deleted file mode 100644
index 43635e72ed..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-16.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From cb9ee701ef46c1819eed4e2a4dc181682bdfc176 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Wed, 10 Feb 2021 21:16:39 +0000
-Subject: [PATCH 1/3] gkeyfilesettingsbackend: Fix basename handling when group
- is unset
-
-Fix an effective regression in commit
-7781a9cbd2fd0aa84bee0f4eee88470640ff6706, which happens when
-`convert_path()` is called with a `key` which contains no slashes. In
-that case, the `key` is entirely the `basename`.
-
-Prior to commit 7781a9cb, the code worked through a fluke of `i == -1`
-cancelling out with the various additions in the `g_memdup()` call, and
-effectively resulting in `g_strdup (key)`.
-
-Spotted by Guido Berhoerster.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
----
- gio/gkeyfilesettingsbackend.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/gio/gkeyfilesettingsbackend.c b/gio/gkeyfilesettingsbackend.c
-index 25b057672..861c3a661 100644
---- a/gio/gkeyfilesettingsbackend.c
-+++ b/gio/gkeyfilesettingsbackend.c
-@@ -185,7 +185,12 @@ convert_path (GKeyfileSettingsBackend  *kfsb,
-     }
- 
-   if (basename)
--    *basename = g_memdup2 (last_slash + 1, key_len - (last_slash - key));
-+    {
-+      if (last_slash != NULL)
-+        *basename = g_memdup2 (last_slash + 1, key_len - (last_slash - key));
-+      else
-+        *basename = g_strdup (key);
-+    }
- 
-   return TRUE;
- }
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-17.patch b/gnu/packages/patches/glib-CVE-2021-27219-17.patch
deleted file mode 100644
index 3153979071..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-17.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 31e0d403ba635dbbacbfbff74295e5db02558d76 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Wed, 10 Feb 2021 21:19:30 +0000
-Subject: [PATCH 2/3] gkeyfilesettingsbackend: Disallow empty key or group
- names
-
-These should never have been allowed; they will result in precondition
-failures from the `GKeyFile` later on in the code.
-
-A test will be added for this shortly.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
----
- gio/gkeyfilesettingsbackend.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/gio/gkeyfilesettingsbackend.c b/gio/gkeyfilesettingsbackend.c
-index 861c3a661..de216e615 100644
---- a/gio/gkeyfilesettingsbackend.c
-+++ b/gio/gkeyfilesettingsbackend.c
-@@ -158,6 +158,13 @@ convert_path (GKeyfileSettingsBackend  *kfsb,
- 
-   last_slash = strrchr (key, '/');
- 
-+  /* Disallow empty group names or key names */
-+  if (key_len == 0 ||
-+      (last_slash != NULL &&
-+       (*(last_slash + 1) == '\0' ||
-+        last_slash == key)))
-+    return FALSE;
-+
-   if (kfsb->root_group)
-     {
-       /* if a root_group was specified, make sure the user hasn't given
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-27219-18.patch b/gnu/packages/patches/glib-CVE-2021-27219-18.patch
deleted file mode 100644
index c18d44ddeb..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-27219-18.patch
+++ /dev/null
@@ -1,232 +0,0 @@
-Backport of:
-
-From 221c26685354dea2b2732df94404e8e5e77a1591 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Wed, 10 Feb 2021 21:21:36 +0000
-Subject: [PATCH 3/3] tests: Add tests for key name handling in the keyfile
- backend
-
-This tests the two recent commits.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
----
- gio/tests/gsettings.c | 171 +++++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 170 insertions(+), 1 deletion(-)
-
-diff --git a/gio/tests/gsettings.c b/gio/tests/gsettings.c
-index baadca8f5..afe594a23 100644
---- a/gio/tests/gsettings.c
-+++ b/gio/tests/gsettings.c
-@@ -1,3 +1,4 @@
-+#include <errno.h>
- #include <stdlib.h>
- #include <locale.h>
- #include <libintl.h>
-@@ -1740,6 +1741,14 @@ key_changed_cb (GSettings *settings, const gchar *key, gpointer data)
-   (*b) = TRUE;
- }
- 
-+typedef struct
-+{
-+  const gchar *path;
-+  const gchar *root_group;
-+  const gchar *keyfile_group;
-+  const gchar *root_path;
-+} KeyfileTestData;
-+
- /*
-  * Test that using a keyfile works
-  */
-@@ -1834,7 +1843,11 @@ test_keyfile (Fixture       *fixture,
-   g_free (str);
- 
-   g_settings_set (settings, "farewell", "s", "cheerio");
--  
-+
-+  /* Check that empty keys/groups are not allowed. */
-+  g_assert_false (g_settings_is_writable (settings, ""));
-+  g_assert_false (g_settings_is_writable (settings, "/"));
-+
-   /* When executing as root, changing the mode of the keyfile will have
-    * no effect on the writability of the settings.
-    */
-@@ -1866,6 +1879,149 @@ test_keyfile (Fixture       *fixture,
-   g_free (keyfile_path);
- }
- 
-+/*
-+ * Test that using a keyfile works with a schema with no path set.
-+ */
-+static void
-+test_keyfile_no_path (Fixture       *fixture,
-+                      gconstpointer  user_data)
-+{
-+  const KeyfileTestData *test_data = user_data;
-+  GSettingsBackend *kf_backend;
-+  GSettings *settings;
-+  GKeyFile *keyfile;
-+  gboolean writable;
-+  gchar *key = NULL;
-+  GError *error = NULL;
-+  gchar *keyfile_path = NULL, *store_path = NULL;
-+
-+  keyfile_path = g_build_filename (fixture->tmp_dir, "keyfile", NULL);
-+  store_path = g_build_filename (keyfile_path, "gsettings.store", NULL);
-+  kf_backend = g_keyfile_settings_backend_new (store_path, test_data->root_path, test_data->root_group);
-+  settings = g_settings_new_with_backend_and_path ("org.gtk.test.no-path", kf_backend, test_data->path);
-+  g_object_unref (kf_backend);
-+
-+  g_settings_reset (settings, "test-boolean");
-+  g_assert_true (g_settings_get_boolean (settings, "test-boolean"));
-+
-+  writable = g_settings_is_writable (settings, "test-boolean");
-+  g_assert_true (writable);
-+  g_settings_set (settings, "test-boolean", "b", FALSE);
-+
-+  g_assert_false (g_settings_get_boolean (settings, "test-boolean"));
-+
-+  g_settings_delay (settings);
-+  g_settings_set (settings, "test-boolean", "b", TRUE);
-+  g_settings_apply (settings);
-+
-+  keyfile = g_key_file_new ();
-+  g_assert_true (g_key_file_load_from_file (keyfile, store_path, 0, NULL));
-+
-+  g_assert_true (g_key_file_get_boolean (keyfile, test_data->keyfile_group, "test-boolean", NULL));
-+
-+  g_key_file_free (keyfile);
-+
-+  g_settings_reset (settings, "test-boolean");
-+  g_settings_apply (settings);
-+  keyfile = g_key_file_new ();
-+  g_assert_true (g_key_file_load_from_file (keyfile, store_path, 0, NULL));
-+
-+  g_assert_false (g_key_file_get_string (keyfile, test_data->keyfile_group, "test-boolean", &error));
-+  g_assert_error (error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_KEY_NOT_FOUND);
-+  g_clear_error (&error);
-+
-+  /* Check that empty keys/groups are not allowed. */
-+  g_assert_false (g_settings_is_writable (settings, ""));
-+  g_assert_false (g_settings_is_writable (settings, "/"));
-+
-+  /* Keys which ghost the root group name are not allowed. This can only be
-+   * tested when the path is `/` as otherwise it acts as a prefix and prevents
-+   * any ghosting. */
-+  if (g_str_equal (test_data->path, "/"))
-+    {
-+      key = g_strdup_printf ("%s/%s", test_data->root_group, "");
-+      g_assert_false (g_settings_is_writable (settings, key));
-+      g_free (key);
-+
-+      key = g_strdup_printf ("%s/%s", test_data->root_group, "/");
-+      g_assert_false (g_settings_is_writable (settings, key));
-+      g_free (key);
-+
-+      key = g_strdup_printf ("%s/%s", test_data->root_group, "test-boolean");
-+      g_assert_false (g_settings_is_writable (settings, key));
-+      g_free (key);
-+    }
-+
-+  g_key_file_free (keyfile);
-+  g_object_unref (settings);
-+
-+  /* Clean up the temporary directory. */
-+  g_assert_cmpint (g_chmod (keyfile_path, 0777) == 0 ? 0 : errno, ==, 0);
-+  g_assert_cmpint (g_remove (store_path) == 0 ? 0 : errno, ==, 0);
-+  g_assert_cmpint (g_rmdir (keyfile_path) == 0 ? 0 : errno, ==, 0);
-+  g_free (store_path);
-+  g_free (keyfile_path);
-+}
-+
-+/*
-+ * Test that a keyfile rejects writes to keys outside its root path.
-+ */
-+static void
-+test_keyfile_outside_root_path (Fixture       *fixture,
-+                                gconstpointer  user_data)
-+{
-+  GSettingsBackend *kf_backend;
-+  GSettings *settings;
-+  gchar *keyfile_path = NULL, *store_path = NULL;
-+
-+  keyfile_path = g_build_filename (fixture->tmp_dir, "keyfile", NULL);
-+  store_path = g_build_filename (keyfile_path, "gsettings.store", NULL);
-+  kf_backend = g_keyfile_settings_backend_new (store_path, "/tests/basic-types/", "root");
-+  settings = g_settings_new_with_backend_and_path ("org.gtk.test.no-path", kf_backend, "/tests/");
-+  g_object_unref (kf_backend);
-+
-+  g_assert_false (g_settings_is_writable (settings, "test-boolean"));
-+
-+  g_object_unref (settings);
-+
-+  /* Clean up the temporary directory. The keyfile probably doesn’t exist, so
-+   * don’t error on failure. */
-+  g_remove (store_path);
-+  g_assert_cmpint (g_rmdir (keyfile_path) == 0 ? 0 : errno, ==, 0);
-+  g_free (store_path);
-+  g_free (keyfile_path);
-+}
-+
-+/*
-+ * Test that a keyfile rejects writes to keys in the root if no root group is set.
-+ */
-+static void
-+test_keyfile_no_root_group (Fixture       *fixture,
-+                            gconstpointer  user_data)
-+{
-+  GSettingsBackend *kf_backend;
-+  GSettings *settings;
-+  gchar *keyfile_path = NULL, *store_path = NULL;
-+
-+  keyfile_path = g_build_filename (fixture->tmp_dir, "keyfile", NULL);
-+  store_path = g_build_filename (keyfile_path, "gsettings.store", NULL);
-+  kf_backend = g_keyfile_settings_backend_new (store_path, "/", NULL);
-+  settings = g_settings_new_with_backend_and_path ("org.gtk.test.no-path", kf_backend, "/");
-+  g_object_unref (kf_backend);
-+
-+  g_assert_false (g_settings_is_writable (settings, "test-boolean"));
-+  g_assert_true (g_settings_is_writable (settings, "child/test-boolean"));
-+
-+  g_object_unref (settings);
-+
-+  /* Clean up the temporary directory. The keyfile probably doesn’t exist, so
-+   * don’t error on failure. */
-+  g_remove (store_path);
-+  g_assert_cmpint (g_rmdir (keyfile_path) == 0 ? 0 : errno, ==, 0);
-+  g_free (store_path);
-+  g_free (keyfile_path);
-+}
-+
- /* Test that getting child schemas works
-  */
- static void
-@@ -2844,6 +3000,14 @@ main (int argc, char *argv[])
-   gchar *override_text;
-   gchar *enums;
-   gint result;
-+  const KeyfileTestData keyfile_test_data_explicit_path = { "/tests/", "root", "tests", "/" };
-+  const KeyfileTestData keyfile_test_data_empty_path = { "/", "root", "root", "/" };
-+  const KeyfileTestData keyfile_test_data_long_path = {
-+    "/tests/path/is/very/long/and/this/makes/some/comparisons/take/a/different/branch/",
-+    "root",
-+    "tests/path/is/very/long/and/this/makes/some/comparisons/take/a/different/branch",
-+    "/"
-+  };
- 
- /* Meson build sets this */
- #ifdef TEST_LOCALE_PATH
-@@ -2967,6 +3131,11 @@ main (int argc, char *argv[])
-     }
- 
-   g_test_add ("/gsettings/keyfile", Fixture, NULL, setup, test_keyfile, teardown);
-+  g_test_add ("/gsettings/keyfile/explicit-path", Fixture, &keyfile_test_data_explicit_path, setup, test_keyfile_no_path, teardown);
-+  g_test_add ("/gsettings/keyfile/empty-path", Fixture, &keyfile_test_data_empty_path, setup, test_keyfile_no_path, teardown);
-+  g_test_add ("/gsettings/keyfile/long-path", Fixture, &keyfile_test_data_long_path, setup, test_keyfile_no_path, teardown);
-+  g_test_add ("/gsettings/keyfile/outside-root-path", Fixture, NULL, setup, test_keyfile_outside_root_path, teardown);
-+  g_test_add ("/gsettings/keyfile/no-root-group", Fixture, NULL, setup, test_keyfile_no_root_group, teardown);
-   g_test_add_func ("/gsettings/child-schema", test_child_schema);
-   g_test_add_func ("/gsettings/strinfo", test_strinfo);
-   g_test_add_func ("/gsettings/enums", test_enums);
--- 
-2.30.1
-
diff --git a/gnu/packages/patches/glib-CVE-2021-28153.patch b/gnu/packages/patches/glib-CVE-2021-28153.patch
deleted file mode 100644
index 54443186d9..0000000000
--- a/gnu/packages/patches/glib-CVE-2021-28153.patch
+++ /dev/null
@@ -1,283 +0,0 @@
-Backport of:
-
-From 317b3b587058a05dca95d56dac26568c5b098d33 Mon Sep 17 00:00:00 2001
-From: Philip Withnall <pwithnall@endlessos.org>
-Date: Wed, 24 Feb 2021 17:35:40 +0000
-Subject: [PATCH] glocalfileoutputstream: Fix CREATE_REPLACE_DESTINATION
- with symlinks
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The `G_FILE_CREATE_REPLACE_DESTINATION` flag is equivalent to unlinking
-the destination file and re-creating it from scratch. That did
-previously work, but in the process the code would call `open(O_CREAT)`
-on the file. If the file was a dangling symlink, this would create the
-destination file (empty). That’s not an intended side-effect, and has
-security implications if the symlink is controlled by a lower-privileged
-process.
-
-Fix that by not opening the destination file if it’s a symlink, and
-adjusting the rest of the code to cope with
- - the fact that `fd == -1` is not an error iff `is_symlink` is true,
- - and that `original_stat` will contain the `lstat()` results for the
-   symlink now, rather than the `stat()` results for its target (again,
-   iff `is_symlink` is true).
-
-This means that the target of the dangling symlink is no longer created,
-which was the bug. The symlink itself continues to be replaced (as
-before) with the new file — this is the intended behaviour of
-`g_file_replace()`.
-
-The behaviour for non-symlink cases, or cases where the symlink was not
-dangling, should be unchanged.
-
-Includes a unit test.
-
-Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-
-Fixes: #2325
----
- gio/glocalfileoutputstream.c |  70 ++++++++++++++++-------
- gio/tests/file.c             | 108 +++++++++++++++++++++++++++++++++++
- 2 files changed, 158 insertions(+), 20 deletions(-)
-
-diff --git a/gio/glocalfileoutputstream.c b/gio/glocalfileoutputstream.c
-index a3dd62172..553fcbbae 100644
---- a/gio/glocalfileoutputstream.c
-+++ b/gio/glocalfileoutputstream.c
-@@ -874,16 +874,22 @@ handle_overwrite_open (const char    *filename,
-       /* Could be a symlink, or it could be a regular ELOOP error,
-        * but then the next open will fail too. */
-       is_symlink = TRUE;
--      fd = g_open (filename, open_flags, mode);
-+      if (!(flags & G_FILE_CREATE_REPLACE_DESTINATION))
-+        fd = g_open (filename, open_flags, mode);
-     }
--#else
--  fd = g_open (filename, open_flags, mode);
--  errsv = errno;
-+#else  /* if !O_NOFOLLOW */
-   /* This is racy, but we do it as soon as possible to minimize the race */
-   is_symlink = g_file_test (filename, G_FILE_TEST_IS_SYMLINK);
-+
-+  if (!is_symlink || !(flags & G_FILE_CREATE_REPLACE_DESTINATION))
-+    {
-+      fd = g_open (filename, open_flags, mode);
-+      errsv = errno;
-+    }
- #endif
- 
--  if (fd == -1)
-+  if (fd == -1 &&
-+      (!is_symlink || !(flags & G_FILE_CREATE_REPLACE_DESTINATION)))
-     {
-       char *display_name = g_filename_display_name (filename);
-       g_set_error (error, G_IO_ERROR,
-@@ -893,13 +899,25 @@ handle_overwrite_open (const char    *filename,
-       g_free (display_name);
-       return -1;
-     }
--  
-+
-+  if (!is_symlink)
-+    {
- #ifdef G_OS_WIN32
--  res = GLIB_PRIVATE_CALL (g_win32_fstat) (fd, &original_stat);
-+      res = GLIB_PRIVATE_CALL (g_win32_fstat) (fd, &original_stat);
- #else
--  res = fstat (fd, &original_stat);
-+      res = fstat (fd, &original_stat);
- #endif
--  errsv = errno;
-+      errsv = errno;
-+    }
-+  else
-+    {
-+#ifdef G_OS_WIN32
-+      res = GLIB_PRIVATE_CALL (g_win32_lstat_utf8) (filename, &original_stat);
-+#else
-+      res = g_lstat (filename, &original_stat);
-+#endif
-+      errsv = errno;
-+    }
- 
-   if (res != 0)
-     {
-@@ -916,16 +934,27 @@ handle_overwrite_open (const char    *filename,
-   if (!S_ISREG (original_stat.st_mode))
-     {
-       if (S_ISDIR (original_stat.st_mode))
--	g_set_error_literal (error,
--                             G_IO_ERROR,
--                             G_IO_ERROR_IS_DIRECTORY,
--                             _("Target file is a directory"));
--      else
--	g_set_error_literal (error,
--                             G_IO_ERROR,
--                             G_IO_ERROR_NOT_REGULAR_FILE,
--                             _("Target file is not a regular file"));
--      goto err_out;
-+        {
-+          g_set_error_literal (error,
-+                               G_IO_ERROR,
-+                               G_IO_ERROR_IS_DIRECTORY,
-+                               _("Target file is a directory"));
-+          goto err_out;
-+        }
-+      else if (!is_symlink ||
-+#ifdef S_ISLNK
-+               !S_ISLNK (original_stat.st_mode)
-+#else
-+               FALSE
-+#endif
-+               )
-+        {
-+          g_set_error_literal (error,
-+                               G_IO_ERROR,
-+                               G_IO_ERROR_NOT_REGULAR_FILE,
-+                               _("Target file is not a regular file"));
-+          goto err_out;
-+        }
-     }
-   
-   if (etag != NULL)
-@@ -1006,7 +1035,8 @@ handle_overwrite_open (const char    *filename,
- 	    }
- 	}
- 
--      g_close (fd, NULL);
-+      if (fd >= 0)
-+        g_close (fd, NULL);
-       *temp_filename = tmp_filename;
-       return tmpfd;
-     }
-diff --git a/gio/tests/file.c b/gio/tests/file.c
-index efb2eaadd..bc55f3af4 100644
---- a/gio/tests/file.c
-+++ b/gio/tests/file.c
-@@ -804,6 +804,113 @@ test_replace_cancel (void)
-   g_object_unref (tmpdir);
- }
- 
-+static void
-+test_replace_symlink (void)
-+{
-+#ifdef G_OS_UNIX
-+  gchar *tmpdir_path = NULL;
-+  GFile *tmpdir = NULL, *source_file = NULL, *target_file = NULL;
-+  GFileOutputStream *stream = NULL;
-+  const gchar *new_contents = "this is a test message which should be written to source and not target";
-+  gsize n_written;
-+  GFileEnumerator *enumerator = NULL;
-+  GFileInfo *info = NULL;
-+  gchar *contents = NULL;
-+  gsize length = 0;
-+  GError *local_error = NULL;
-+
-+  g_test_bug ("https://gitlab.gnome.org/GNOME/glib/-/issues/2325");
-+  g_test_summary ("Test that G_FILE_CREATE_REPLACE_DESTINATION doesn’t follow symlinks");
-+
-+  /* Create a fresh, empty working directory. */
-+  tmpdir_path = g_dir_make_tmp ("g_file_replace_symlink_XXXXXX", &local_error);
-+  g_assert_no_error (local_error);
-+  tmpdir = g_file_new_for_path (tmpdir_path);
-+
-+  g_test_message ("Using temporary directory %s", tmpdir_path);
-+  g_free (tmpdir_path);
-+
-+  /* Create symlink `source` which points to `target`. */
-+  source_file = g_file_get_child (tmpdir, "source");
-+  target_file = g_file_get_child (tmpdir, "target");
-+  g_file_make_symbolic_link (source_file, "target", NULL, &local_error);
-+  g_assert_no_error (local_error);
-+
-+  /* Ensure that `target` doesn’t exist */
-+  g_assert_false (g_file_query_exists (target_file, NULL));
-+
-+  /* Replace the `source` symlink with a regular file using
-+   * %G_FILE_CREATE_REPLACE_DESTINATION, which should replace it *without*
-+   * following the symlink */
-+  stream = g_file_replace (source_file, NULL, FALSE  /* no backup */,
-+                           G_FILE_CREATE_REPLACE_DESTINATION, NULL, &local_error);
-+  g_assert_no_error (local_error);
-+
-+  g_output_stream_write_all (G_OUTPUT_STREAM (stream), new_contents, strlen (new_contents),
-+                             &n_written, NULL, &local_error);
-+  g_assert_no_error (local_error);
-+  g_assert_cmpint (n_written, ==, strlen (new_contents));
-+
-+  g_output_stream_close (G_OUTPUT_STREAM (stream), NULL, &local_error);
-+  g_assert_no_error (local_error);
-+
-+  g_clear_object (&stream);
-+
-+  /* At this point, there should still only be one file: `source`. It should
-+   * now be a regular file. `target` should not exist. */
-+  enumerator = g_file_enumerate_children (tmpdir,
-+                                          G_FILE_ATTRIBUTE_STANDARD_NAME ","
-+                                          G_FILE_ATTRIBUTE_STANDARD_TYPE,
-+                                          G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &local_error);
-+  g_assert_no_error (local_error);
-+
-+  info = g_file_enumerator_next_file (enumerator, NULL, &local_error);
-+  g_assert_no_error (local_error);
-+  g_assert_nonnull (info);
-+
-+  g_assert_cmpstr (g_file_info_get_name (info), ==, "source");
-+  g_assert_cmpint (g_file_info_get_file_type (info), ==, G_FILE_TYPE_REGULAR);
-+
-+  g_clear_object (&info);
-+
-+  info = g_file_enumerator_next_file (enumerator, NULL, &local_error);
-+  g_assert_no_error (local_error);
-+  g_assert_null (info);
-+
-+  g_file_enumerator_close (enumerator, NULL, &local_error);
-+  g_assert_no_error (local_error);
-+  g_clear_object (&enumerator);
-+
-+  /* Double-check that `target` doesn’t exist */
-+  g_assert_false (g_file_query_exists (target_file, NULL));
-+
-+  /* Check the content of `source`. */
-+  g_file_load_contents (source_file,
-+                        NULL,
-+                        &contents,
-+                        &length,
-+                        NULL,
-+                        &local_error);
-+  g_assert_no_error (local_error);
-+  g_assert_cmpstr (contents, ==, new_contents);
-+  g_assert_cmpuint (length, ==, strlen (new_contents));
-+  g_free (contents);
-+
-+  /* Tidy up. */
-+  g_file_delete (source_file, NULL, &local_error);
-+  g_assert_no_error (local_error);
-+
-+  g_file_delete (tmpdir, NULL, &local_error);
-+  g_assert_no_error (local_error);
-+
-+  g_clear_object (&target_file);
-+  g_clear_object (&source_file);
-+  g_clear_object (&tmpdir);
-+#else  /* if !G_OS_UNIX */
-+  g_test_skip ("Symlink replacement tests can only be run on Unix")
-+#endif
-+}
-+
- static void
- on_file_deleted (GObject      *object,
- 		 GAsyncResult *result,
-@@ -1754,6 +1861,7 @@ main (int argc, char *argv[])
-   g_test_add_data_func ("/file/async-create-delete/4096", GINT_TO_POINTER (4096), test_create_delete);
-   g_test_add_func ("/file/replace-load", test_replace_load);
-   g_test_add_func ("/file/replace-cancel", test_replace_cancel);
-+  g_test_add_func ("/file/replace-symlink", test_replace_symlink);
-   g_test_add_func ("/file/async-delete", test_async_delete);
- #ifdef G_OS_UNIX
-   g_test_add_func ("/file/copy-preserve-mode", test_copy_preserve_mode);
--- 
-2.30.1
-
-- 
2.31.0


[-- Attachment #1.1.3: 0002-gnu-glib-Update-to-2.68.0.patch --]
[-- Type: text/x-patch, Size: 14842 bytes --]

From f96abf4ed2388b838705f086fdea041ccdf53bbc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 07:22:07 -0500
Subject: [PATCH 02/83] gnu: glib: Update to 2.68.0.

* gnu/packages/glib.scm (glib) [version]: Update to 2.68.0.
[patches]: Remove glib-tests-timer.patch.
[arguments]<#:phases>['patch-python-references]: New phase.
['pre-check]: New phase.
['move-bin]: New phase.
['patch-dbus-launch-path]: Remove phase.
['patch-gio-launch-desktop]: Remove phase.
['pre-build]: Remove phase.
['disable-failing-tests]: Modify phase.
['check]: Remove phase.
['move-executables]: Remove phase.
[native-inputs]: Add intltool, python, libxml2 and libxslt.
Remove dbus.
[inputs]: Add bash-completion, dbus and libelf.
[propagated-inputs]: Add libselinux.
* gnu/packages/patches/glib-tests-timer.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust.
---
 gnu/local.mk                                |   1 -
 gnu/packages/glib.scm                       | 168 ++++++--------------
 gnu/packages/patches/glib-tests-timer.patch |  15 --
 3 files changed, 53 insertions(+), 131 deletions(-)
 delete mode 100644 gnu/packages/patches/glib-tests-timer.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index d924b20bcf..fc05786287 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1081,7 +1081,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/ghostscript-no-header-uuid.patch		\
   %D%/packages/patches/ghostscript-no-header-creationdate.patch \
   %D%/packages/patches/glib-appinfo-watch.patch			\
-  %D%/packages/patches/glib-tests-timer.patch			\
   %D%/packages/patches/glibc-CVE-2018-11236.patch		\
   %D%/packages/patches/glibc-CVE-2018-11237.patch		\
   %D%/packages/patches/glibc-CVE-2019-7309.patch		\
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index a446ce1ace..d29dca2db8 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -36,11 +36,13 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages elf)
   #:use-module (gnu packages enlightenment)
   #:use-module (gnu packages file)
   #:use-module (gnu packages flex)
@@ -60,6 +62,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages selinux)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
@@ -171,7 +174,7 @@ shared NFS home directories.")
 (define glib
   (package
     (name "glib")
-    (version "2.62.6")
+    (version "2.68.0")
     (source
      (origin
        (method url-fetch)
@@ -180,9 +183,9 @@ shared NFS home directories.")
                        name "/" (string-take version 4) "/"
                        name "-" version ".tar.xz"))
        (sha256
-        (base32 "174bsmbmcvaw69ff9g60q5sx0fn23rkhqcwqz17h5s7sprps4kqh"))
+        (base32 "1sh3h6b734cxhdd1qlzvhxq6rc7k73dsisap5y3s419s9xc4ywv7"))
        (patches
-        (search-patches "glib-tests-timer.patch" "glib-appinfo-watch.patch"))
+        (search-patches "glib-appinfo-watch.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -208,24 +211,31 @@ shared NFS home directories.")
                        (("test_timeout_slow = 120")
                         "test_timeout_slow = 180")))))
                '())
-         (add-after 'unpack 'patch-dbus-launch-path
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (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.*;") "")))
+             #t))
+         ;; Python references are not being patched in patch-phase of build,
+         ;; despite using python-wrapper as input. So we patch them manually.
+         (add-after 'unpack 'patch-python-references
            (lambda* (#:key inputs #:allow-other-keys)
-             (let ((dbus (assoc-ref inputs "dbus")))
-               (substitute* "gio/gdbusaddress.c"
-                 (("command_line = g_strdup_printf \\(\"dbus-launch")
-                  (string-append "command_line = g_strdup_printf (\""
-                                 dbus "/bin/dbus-launch")))
-               #t)))
-         (add-after 'unpack 'patch-gio-launch-desktop
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
-               ;; for another future fix.
-               (substitute* "gio/gdesktopappinfo.c"
-                 (("gio-launch-desktop")
-                  (string-append out "/libexec/gio-launch-desktop")))
-               #t)))
-         (add-before 'build 'pre-build
+             (substitute* '("gio/gdbus-2.0/codegen/gdbus-codegen.in"
+                            "glib/gtester-report.in"
+                            "gobject/glib-genmarshal.in"
+                            "gobject/glib-mkenums.in")
+               (("@PYTHON@")
+                (string-append (assoc-ref inputs "python")
+                               "/bin/python"
+                               ,(version-major+minor
+                                 (package-version python)))))
+             #t))
+         (add-before 'check 'pre-check
            (lambda* (#:key inputs outputs #:allow-other-keys)
              ;; For tests/gdatetime.c.
              (setenv "TZDIR"
@@ -235,103 +245,23 @@ shared NFS home directories.")
              (setenv "HOME" (getcwd))
              (setenv "XDG_CACHE_HOME" (getcwd))
              #t))
-         (add-after 'unpack 'disable-failing-tests
-           (lambda _
-             (let ((disable
-                    (lambda (test-file test-paths)
-                      (define pattern+procs
-                        (map (lambda (test-path)
-                               (cons
-                                ;; XXX: only works for single line statements.
-                                (format #f "g_test_add_func.*\"~a\".*" test-path)
-                                (const "")))
-                             test-paths))
-                      (substitute test-file pattern+procs)))
-                   (failing-tests
-                    '(("glib/tests/thread.c"
-                       ( ;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
-                        ;; as found on hydra.gnu.org, and strace(1) doesn't
-                        ;; recognize it.
-                        "/thread/thread4"))
-                      ;; This tries to find programs in FHS directories.
-                      ("glib/tests/utils.c"
-                       ("/utils/find-program"))
-                      ;; This fails because "glib/tests/echo-script" cannot be
-                      ;; found.
-                      ("glib/tests/spawn-singlethread.c"
-                       ("/gthread/spawn-script"))
-                      ("glib/tests/timer.c"
-                       ( ;; fails if compiler optimizations are enabled, which they
-                        ;; are by default.
-                        "/timer/stop"))
-                      ("gio/tests/gapplication.c"
-                       ( ;; XXX: proven to be unreliable.  See:
-                        ;;  <https://bugs.debian.org/756273>
-                        ;;  <http://bugs.gnu.org/18445>
-                        "/gapplication/quit"
-                        ;; XXX: fails randomly for unknown reason. See:
-                        ;;  <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
-                        "/gapplication/local-actions"))
-                      ("gio/tests/contenttype.c"
-                       ( ;; XXX: requires shared-mime-info.
-                        "/contenttype/guess"
-                        "/contenttype/guess_svg_from_data"
-                        "/contenttype/subtype"
-                        "/contenttype/list"
-                        "/contenttype/icon"
-                        "/contenttype/symbolic-icon"
-                        "/contenttype/tree"))
-                      ("gio/tests/appinfo.c"
-                       ( ;; XXX: requires update-desktop-database.
-                        "/appinfo/associations"))
-                      ("gio/tests/desktop-app-info.c"
-                       ( ;; XXX: requires update-desktop-database.
-                        "/desktop-app-info/delete"
-                        "/desktop-app-info/default"
-                        "/desktop-app-info/fallback"
-                        "/desktop-app-info/lastused"
-                        "/desktop-app-info/search"))
-                      ("gio/tests/gdbus-peer.c"
-                       ( ;; Requires /etc/machine-id.
-                        "/gdbus/codegen-peer-to-peer"))
-                      ("gio/tests/gdbus-address-get-session.c"
-                       ( ;; Requires /etc/machine-id.
-                        "/gdbus/x11-autolaunch"))
-                      ("gio/tests/gsocketclient-slow.c"
-                       ( ;; These tests tries to resolve "localhost", and fails.
-                        "/socket-client/happy-eyeballs/slow"
-                        "/socket-client/happy-eyeballs/cancellation/delayed")))))
-               (for-each (lambda (x) (apply disable x)) failing-tests)
-               #t)))
-         (replace 'check
-           (lambda _
-             (setenv "MESON_TESTTHREADS"
-                     (number->string (parallel-job-count)))
-             ;; Do not run tests marked as "flaky".
-             (invoke "meson" "test" "--no-suite" "flaky")))
-         ;; TODO: meson does not permit the bindir to be outside of prefix.
-         ;; See https://github.com/mesonbuild/meson/issues/2561
-         ;; We can remove this once meson is patched.
-         (add-after 'install 'move-executables
+         ;; Meson does not permit the bindir to be outside of prefix.
+         (add-after 'install 'move-bin
            (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (bin (assoc-ref outputs "bin")))
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (assoc-ref outputs "bin")))
                (mkdir-p bin)
-               (rename-file (string-append out "/bin")
-                            (string-append bin "/bin"))
-               ;; This one is an implementation detail of glib.
-               ;; It is wrong that that's in "/bin" in the first place,
-               ;; but that's what upstream is doing right now.
-               ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
-               (mkdir (string-append out "/libexec"))
-               (rename-file (string-append bin "/bin/gio-launch-desktop")
-                            (string-append out "/libexec/gio-launch-desktop"))
+               (rename-file
+                (string-append out "/bin")
+                (string-append bin "/bin"))
                ;; 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"))
+               (substitute*
+                   (list
+                    (string-append out "/lib/pkgconfig/gio-2.0.pc")
+                    (string-append out "/lib/pkgconfig/glib-2.0.pc"))
                  (("bindir=\\$\\{prefix\\}/bin") "")
                  (("=\\$\\{bindir\\}/") "="))
                #t))))))
@@ -340,15 +270,23 @@ shared NFS home directories.")
     ;;                                        (assoc-ref %outputs "bin")
     ;;                                        "/bin"))
     (native-inputs
-     `(("dbus" ,dbus)                   ; for GDBus tests
-       ("gettext" ,gettext-minimal)
+     `(("gettext" ,gettext-minimal)
+       ("libintl" ,intltool)
        ("m4" ,m4)                       ; for installing m4 macros
        ("perl" ,perl)                   ; needed by GIO tests
        ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("tzdata" ,tzdata-for-tests)))   ; for tests/gdatetime.c
+       ("python" ,python)               ; For 'patch-python-references
+       ("python-wrapper" ,python-wrapper)
+       ("tzdata" ,tzdata-for-tests)     ; for tests/gdatetime.c
+       ("xmllint" ,libxml2)
+       ("xsltproc" ,libxslt)))
+    (inputs
+     `(("bash-completion" ,bash-completion)
+       ("dbus" ,dbus)
+       ("libelf" ,libelf)))
     (propagated-inputs
      `(("libffi" ,libffi) ; in the Requires.private field of gobject-2.0.pc
+       ("libselinux" ,libselinux) ; in the Requires.private field of gio-2.0.pc
        ("pcre" ,pcre)   ; in the Requires.private field of glib-2.0.pc
        ("util-linux" ,util-linux "lib") ;for libmount
        ("zlib" ,zlib))) ; in the Requires.private field of glib-2.0.pc
diff --git a/gnu/packages/patches/glib-tests-timer.patch b/gnu/packages/patches/glib-tests-timer.patch
deleted file mode 100644
index e37425c0c8..0000000000
--- a/gnu/packages/patches/glib-tests-timer.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-* On i686 floating-point roundoff errors could sometimes cause this check to
-  fail depending on the elapsed microseconds.  Improve rounding by adding a
-  fractional bit.
-
---- glib-2.40.0/glib/tests/timer.c	2014-03-05 08:05:42.000000000 -0600
-+++ glib-2.40.0/glib/tests/timer.c	2014-07-10 16:33:12.746862822 -0500
-@@ -35,7 +35,7 @@
-   elapsed = g_timer_elapsed (timer, &micros);
- 
-   g_assert_cmpfloat (elapsed, <, 1.0);
--  g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6)) % 1000000);
-+  g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6 + 0.5)) % 1000000);
- 
-   g_timer_destroy (timer);
- }
-- 
2.31.0


[-- Attachment #1.1.4: 0003-gnu-glib-Enable-man-pages.patch --]
[-- Type: text/x-patch, Size: 1446 bytes --]

From 170497cb8040081c589bd0f0c4c5b3b9120eb308 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 02:14:27 -0400
Subject: [PATCH 03/83] gnu: glib: Enable man pages.

* gnu/packages/glib.scm (glib)[arguments]<#:configure-flags>[-Dman]: New flag.
[native-inputs]: Add docbook-xsl.
---
 gnu/packages/glib.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index d29dca2db8..d13ba5998e 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -198,6 +198,7 @@ shared NFS home directories.")
                "bin")) ; glib-mkenums, gtester, etc.; depends on Python
     (arguments
      `(#:disallowed-references (,tzdata-for-tests)
+       #:configure-flags '("-Dman=true")
        #:phases
        (modify-phases %standard-phases
          ;; TODO: Remove the conditional in the next core-updates cycle.
@@ -270,7 +271,8 @@ shared NFS home directories.")
     ;;                                        (assoc-ref %outputs "bin")
     ;;                                        "/bin"))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
+     `(("docbook-xsl" ,docbook-xsl)
+       ("gettext" ,gettext-minimal)
        ("libintl" ,intltool)
        ("m4" ,m4)                       ; for installing m4 macros
        ("perl" ,perl)                   ; needed by GIO tests
-- 
2.31.0


[-- Attachment #1.1.5: 0004-gnu-glib-Update-synopsis-description-and-home-page.patch --]
[-- Type: text/x-patch, Size: 1602 bytes --]

From cd01ed127b0d512f74a28d8da0a5aa59b561561b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 07:45:50 -0500
Subject: [PATCH 04/83] gnu: glib: Update synopsis, description and home-page.

* gnu/packages/glib.scm (glib) [synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
---
 gnu/packages/glib.scm | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index d13ba5998e..24829fa03d 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -306,11 +306,12 @@ shared NFS home directories.")
        (variable "GIO_EXTRA_MODULES")
        (files '("lib/gio/modules")))))
     (search-paths native-search-paths)
-    (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
-    (description "GLib provides data structure handling for C, portability
-wrappers, and interfaces for such runtime functionality as an event loop,
-threads, dynamic loading, and an object system.")
-    (home-page "https://developer.gnome.org/glib/")
+    (synopsis "Low-level core library for GNOME projects")
+    (description "GLib provides the core application building blocks for
+libraries and applications written in C.  It provides the core object system
+used in GNOME, the main loop implementation, and a large set of utility
+functions for strings and common data structures.")
+    (home-page "https://wiki.gnome.org/Projects/GLib")
     (license license:lgpl2.1+)))
 
 (define-public glib-with-documentation
-- 
2.31.0


[-- Attachment #1.1.6: 0005-gnu-glib-with-documentation-Make-some-cosmetic-chang.patch --]
[-- Type: text/x-patch, Size: 2161 bytes --]

From 109f222e5fab3b20f0fd14628224af5a1728cecd Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 09:37:00 -0500
Subject: [PATCH 05/83] gnu: glib-with-documentation: Make some cosmetic
 changes.

* gnu/packages/glib.scm (glib-with-documentation): Make some cosmetic changes.
---
 gnu/packages/glib.scm | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 24829fa03d..01bdcefb04 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -321,8 +321,8 @@ functions for strings and common data structures.")
     (properties (alist-delete 'hidden? (package-properties glib)))
     (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
     (native-inputs
-     `(("gtk-doc" ,gtk-doc)             ; for the doc
-       ("docbook-xml" ,docbook-xml)
+     `(("docbook-xml" ,docbook-xml)
+       ("gtk-doc" ,gtk-doc)             ; for the doc
        ("libxml2" ,libxml2)
        ,@(package-native-inputs glib)))
     (arguments
@@ -333,12 +333,13 @@ functions for strings and common data structures.")
         `(modify-phases ,phases
            (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")))
-                 (copy-recursively (string-append out html)
-                                   (string-append doc html))
-                 (delete-file-recursively (string-append out html))
+               (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))
                  #t)))))))))
 
 ;;; TODO: Merge into glib as a 'static' output on core-updates.
-- 
2.31.0


[-- Attachment #1.1.7: 0006-gnu-glib-with-documentation-Fix-documentation-build.patch --]
[-- Type: text/x-patch, Size: 2156 bytes --]

From 59e424de77010544119017dc0dbb788e346fda74 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 09:39:52 -0500
Subject: [PATCH 06/83] gnu: glib-with-documentation: Fix documentation build.

* gnu/packages/glib.scm (glib-with-documentation) [native-inputs]:
Add docbook-4.2. Remove libxml2.
[arguments]<#:phases>['patch-docbook-xml]: New phase.
---
 gnu/packages/glib.scm | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 01bdcefb04..36cb3ed3c7 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -321,7 +321,8 @@ functions for strings and common data structures.")
     (properties (alist-delete 'hidden? (package-properties glib)))
     (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
     (native-inputs
-     `(("docbook-xml" ,docbook-xml)
+     `(("docbook-xml-4.2" ,docbook-xml-4.2)
+       ("docbook-xml-4.5" ,docbook-xml)
        ("gtk-doc" ,gtk-doc)             ; for the doc
        ("libxml2" ,libxml2)
        ,@(package-native-inputs glib)))
@@ -331,6 +332,17 @@ functions for strings and common data structures.")
         `(cons "-Dgtk_doc=true" ,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/"))))
+               #t))
            (add-after 'install 'move-doc
              (lambda* (#:key outputs #:allow-other-keys)
                (let* ((out (assoc-ref outputs "out"))
-- 
2.31.0


[-- Attachment #1.1.8: 0007-gnu-Temporarily-use-glib-without-documentation.patch --]
[-- Type: text/x-patch, Size: 1666 bytes --]

From 9e441a2c23a14b97308d2507e591b42c37502605 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 24 Mar 2021 02:47:29 -0400
Subject: [PATCH 07/83] gnu: Temporarily use glib without documentation.

GLib v2.68.0 refers to gtk-doc v1.32.1 which is not released yet.
Therefore, hide glib-with-documentation and unhide glib.

* gnu/packages/glib.scm (glib) [properties]: Remove hidden.
(glib-with-documentation) [properties]: Add hidden.
---
 gnu/packages/glib.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 36cb3ed3c7..493b3e5b64 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -192,7 +192,7 @@ shared NFS home directories.")
            (substitute* "tests/spawn-test.c"
              (("/bin/sh") "sh"))
            #t))))
-    (properties '((hidden? . #t)))
+    ;; (properties '((hidden? . #t)))
     (build-system meson-build-system)
     (outputs '("out"   ; everything
                "bin")) ; glib-mkenums, gtester, etc.; depends on Python
@@ -318,7 +318,8 @@ functions for strings and common data structures.")
   ;; glib's doc must be built in a separate package since it requires gtk-doc,
   ;; which in turn depends on glib.
   (package/inherit glib
-    (properties (alist-delete 'hidden? (package-properties glib)))
+    ;; (properties (alist-delete 'hidden? (package-properties glib)))
+    (properties '((hidden? . #t)))
     (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
     (native-inputs
      `(("docbook-xml-4.2" ,docbook-xml-4.2)
-- 
2.31.0


[-- Attachment #1.1.9: 0008-gnu-libsigc-Update-to-3.0.6.patch --]
[-- Type: text/x-patch, Size: 2775 bytes --]

From b0729d8d4921460155b7ec6ab704e70eeff6e9cc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 24 Mar 2021 23:28:10 -0400
Subject: [PATCH 08/83] gnu: libsigc++: Update to 3.0.6.

* gnu/packages/glib.scm (libsigc++)[version]: Update to 3.0.6.
[build-system]: Change from gnu to meson.
[native-inputs]: Add mm-common, perl, libxml2 and libxslt.
[inputs]: Add boost.
[license]: Update to lgpl3+.
---
 gnu/packages/glib.scm | 32 ++++++++++++++++++++------------
 1 file changed, 20 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 493b3e5b64..9e472eb3a0 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -38,6 +38,7 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages docbook)
@@ -570,18 +571,25 @@ by GDBus included in Glib.")
 (define libsigc++
   (package
     (name "libsigc++")
-    (version "2.10.3")
+    (version "3.0.6")
     (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/libsigc++/"
-                                 (version-major+minor version) "/"
-                                 name "-" version ".tar.xz"))
-             (sha256
-              (base32
-               "11j7j1jv4z58d9s7jvl42fnqa1dzl4idgil9r45cjv1w673dys0b"))))
-    (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)
-                     ("m4" ,m4)))
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/libsigc++/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1kn57b039lg20182lnchl1ys27vf34brn43f895cal8nc7sdq3mp"))))
+    (build-system meson-build-system)
+    (native-inputs
+     `(("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xmllint" ,libxml2)
+       ("xsltproc" ,libxslt)))
+    (inputs
+     `(("boost" ,boost)))
     (home-page "https://libsigcplusplus.github.io/libsigcplusplus/")
     (synopsis "Type-safe callback system for standard C++")
     (description
@@ -592,7 +600,7 @@ static or virtual.
 
 It also contains adaptor classes for connection of dissimilar callbacks and
 has an ease of use unmatched by other C++ callback libraries.")
-    (license license:lgpl2.1+)))
+    (license license:lgpl3+)))
 
 (define glibmm
   (package
-- 
2.31.0


[-- Attachment #1.1.10: 0009-gnu-libsigc-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 4001 bytes --]

From 23774d4549c1a152a4290d31541090a496db3fe4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 00:07:52 -0400
Subject: [PATCH 09/83] gnu: libsigc++: Enable documentation.

* gnu/packages/glib.scm (libsigc++)[outputs]: New output "doc".
[arguments]<#:configure-flags>[-Dbuild-documentation]: New flag.
<#:phases>['patch-docbook-xml]: New phase.
['move-doc]: New phase.
[native-inputs]: Add dblatex, doxygen and graphviz.
---
 gnu/packages/glib.scm | 45 +++++++++++++++++++++++++++++++++++--------
 1 file changed, 37 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 9e472eb3a0..1f6098becf 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages flex)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages libffi)
@@ -581,8 +582,36 @@ by GDBus included in Glib.")
                (base32
                 "1kn57b039lg20182lnchl1ys27vf34brn43f895cal8nc7sdq3mp"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:configure-flags
+       (list
+        "-Dbuild-documentation=true")
+       #:phases
+       (modify-phases %standard-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\\.1\\.2/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (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"))
+               #t))))))
     (native-inputs
-     `(("m4" ,m4)
+     `(("docbook-xml" ,docbook-xml-4.1.2)
+       ("docbook-xsl" ,docbook-xsl)
+       ("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("m4" ,m4)
        ("mm-common" ,mm-common)
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
@@ -594,12 +623,12 @@ by GDBus included in Glib.")
     (synopsis "Type-safe callback system for standard C++")
     (description
      "Libsigc++ implements a type-safe callback system for standard C++.  It
-allows you to define signals and to connect those signals to any callback
-function, either global or a member function, regardless of whether it is
-static or virtual.
+     allows you to define signals and to connect those signals to any callback
+     function, either global or a member function, regardless of whether it is
+     static or virtual.
 
-It also contains adaptor classes for connection of dissimilar callbacks and
-has an ease of use unmatched by other C++ callback libraries.")
+     It also contains adaptor classes for connection of dissimilar callbacks and
+     has an ease of use unmatched by other C++ callback libraries.")
     (license license:lgpl3+)))
 
 (define glibmm
@@ -631,8 +660,8 @@ has an ease of use unmatched by other C++ callback libraries.")
              ;; to open a TLS session; just skip it.
              (substitute* "tests/giomm_tls_client/main.cc"
                (("Gio::init.*$")
-                "return 77;\n"))
-             #t)))))
+                "return 77              ;\n"))
+     #t)))))
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("glib" ,glib "bin")))
     (propagated-inputs
-- 
2.31.0


[-- Attachment #1.1.11: 0010-gnu-glibmm-Update-to-2.68.0.patch --]
[-- Type: text/x-patch, Size: 3306 bytes --]

From aecb79dbf9aa217cf84fe9b1411468aa4d44bd4c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 01:56:45 -0400
Subject: [PATCH 10/83] gnu: glibmm: Update to 2.68.0.

* gnu/packages/glib.scm (glibmm)[version]: Update to 2.68.0.
[arguments]<#:phases>['pre-build]: Remove phase.
['disable-failing-tests]: New phase.
[native-inputs]: Add m4, mm-common, perl and libxslt.
---
 gnu/packages/glib.scm | 50 +++++++++++++++++++++----------------------
 1 file changed, 25 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 1f6098becf..ac46b5ce45 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -634,36 +634,36 @@ by GDBus included in Glib.")
 (define glibmm
   (package
     (name "glibmm")
-    (version "2.62.0")
+    (version "2.68.0")
     (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/glibmm/"
-                                 (version-major+minor version)
-                                 "/glibmm-" version ".tar.xz"))
-             (sha256
-              (base32
-               "1ziwx6r7k7wbvg4qq1rgrv8zninapgrmhn1hs6926a3krh9ryr9n"))))
-    (build-system gnu-build-system)
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/glibmm/"
+                                  (version-major+minor version)
+                                  "/glibmm-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0xgkyhb2876mcyyib5rk3ya9aingyj68h02nl22yvkhx35rqbwy1"))))
+    (build-system meson-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-before 'build 'pre-build
+         (add-after 'unpack 'disable-failing-tests
            (lambda _
-             ;; This test uses /etc/fstab as an example file to read
-             ;; from; choose a better example.
-             (substitute* "tests/giomm_simple/main.cc"
-               (("/etc/fstab")
-                (string-append (getcwd)
-                               "/tests/giomm_simple/main.cc")))
-
-             ;; This test does a DNS lookup, and then expects to be able
-             ;; to open a TLS session; just skip it.
-             (substitute* "tests/giomm_tls_client/main.cc"
-               (("Gio::init.*$")
-                "return 77              ;\n"))
-     #t)))))
-    (native-inputs `(("pkg-config" ,pkg-config)
-                     ("glib" ,glib "bin")))
+             (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.*$") ""))
+             #t)))))
+    (native-inputs
+     `(("glib:bin" ,glib "bin")
+       ("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("libsigc++" ,libsigc++)
        ("glib" ,glib)))
-- 
2.31.0


[-- Attachment #1.1.12: 0011-gnu-glibmm-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 2113 bytes --]

From 8ced07a179fe52541f8b87d1fefea5aac0b05332 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 03:04:01 -0400
Subject: [PATCH 11/83] gnu: glibmm: Enable documentation.

* gnu/packages/glib.scm (glibmm)[outputs]: New output "doc".
[arguments]<#:configure-flags>[-Dbuild-documentation]: New flag.
<#:phases>['move-doc]: New phase.
[native-inputs]: Add doxygen and graphviz.
---
 gnu/packages/glib.scm | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index ac46b5ce45..bff6f281cd 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -644,8 +644,12 @@ by GDBus included in Glib.")
                (base32
                 "0xgkyhb2876mcyyib5rk3ya9aingyj68h02nl22yvkhx35rqbwy1"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:phases
+     `(#:configure-flags
+       (list
+        "-Dbuild-documentation=true")
+       #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'disable-failing-tests
            (lambda _
@@ -656,9 +660,20 @@ by GDBus included in Glib.")
                ;; This test does a DNS lookup, and then expects to be able
                ;; to open a TLS session; just skip it.
                (("[ \t]*.*giomm_tls_client.*$") ""))
-             #t)))))
+             #t))
+         (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"))
+               #t))))))
     (native-inputs
-     `(("glib:bin" ,glib "bin")
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("glib:bin" ,glib "bin")
        ("m4" ,m4)
        ("mm-common" ,mm-common)
        ("perl" ,perl)
-- 
2.31.0


[-- Attachment #1.1.13: 0012-gnu-Add-libsigc-2.patch --]
[-- Type: text/x-patch, Size: 2181 bytes --]

From 0a6d0ae9b5b4a5b7c96b7e96bbdc3b922d863dc9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 26 Mar 2021 14:27:34 -0400
Subject: [PATCH 12/83] gnu: Add libsigc++-2.

* gnu/packages/glib.scm (libsigc++-2): New variable.
---
 gnu/packages/glib.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index bff6f281cd..4a2dfee552 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -631,6 +631,42 @@ by GDBus included in Glib.")
      has an ease of use unmatched by other C++ callback libraries.")
     (license license:lgpl3+)))
 
+ (define-public libsigc++-2
+   (package
+    (inherit libsigc++)
+    (name "libsigc++")
+    (version "2.9.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/libsigc++/"
+                       (version-major+minor version)
+                       "/libsigc++-" version ".tar.xz"))
+       (sha256
+        (base32 "0zq963d0sss82q62fdfjs7l9iwbdch51albck18cb631ml0v7y8b"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-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\\.1\\.2/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (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"))
+               #t))))))))
+
 (define glibmm
   (package
     (name "glibmm")
-- 
2.31.0


[-- Attachment #1.1.14: 0013-gnu-glibmm-2.64-Update-to-2.64.5.patch --]
[-- Type: text/x-patch, Size: 1367 bytes --]

From 9159dac42d3b79ab80becb2e5ca73a66599e3a8a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 26 Mar 2021 14:29:40 -0400
Subject: [PATCH 13/83] gnu: glibmm-2.64: Update to 2.64.5.

* gnu/packages/glib.scm (glibmm-2.64)[version]: Update to 2.64.5.
[propagaed-inputs]: Change libsigc++ to libsigc++-2.
---
 gnu/packages/glib.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 4a2dfee552..8ca3083f3b 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -729,7 +729,7 @@ useful for C++.")
    (package
     (inherit glibmm)
     (name "glibmm")
-    (version "2.64.2")
+    (version "2.64.5")
     (source
      (origin
        (method url-fetch)
@@ -738,10 +738,10 @@ useful for C++.")
                        (version-major+minor version)
                        "/glibmm-" version ".tar.xz"))
        (sha256
-        (base32 "1v6lp23fr2qh4zshcnm28sn29j3nzgsvcqj2nhmrnvamipjq4lm7"))))
+        (base32 "11m37sbx0i18cl17d0fkq0bik4bbzlb5n8kcl651jhci5ipci3sh"))))
      (propagated-inputs
-      `(("libsigc++" ,libsigc++)
-        ("glib" ,glib)))))
+      `(("libsigc++" ,libsigc++-2)
+        ,@(package-propagated-inputs glibmm)))))
 
 (define-public python2-pygobject-2
   (package
-- 
2.31.0


[-- Attachment #1.1.15: 0014-gnu-gtk-doc-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 2935 bytes --]

From 314b37735fc420212051009be129d54d32d1400d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 08:51:02 -0500
Subject: [PATCH 14/83] gnu: gtk-doc: Change build-system.

* gnu/packages/gtk.scm (gtk-doc) [build-system]: Change from gnu to glib-or-gtk.
---
 gnu/packages/gtk.scm | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index f0c1fcccb2..dadd6bbf42 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1742,7 +1742,7 @@ information.")
               (sha256
                (base32
                 "05apmwibkmn1icx05l8aw241lhymcx01zvk5i499cb150bijj7li"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      `(#:parallel-tests? #f
        #:phases
@@ -1750,16 +1750,16 @@ information.")
          (add-after 'unpack 'patch-gtk-doc-scan
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "gtk-doc.xsl"
-              (("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl")
-               (string-append (assoc-ref inputs "docbook-xsl")
-                              "/xml/xsl/docbook-xsl-"
-                              ,(package-version docbook-xsl)
-                              "/html/chunk.xsl"))
-              (("http://docbook.sourceforge.net/release/xsl/current/common/en.xml")
-               (string-append (assoc-ref inputs "docbook-xsl")
-                              "/xml/xsl/docbook-xsl-"
-                              ,(package-version docbook-xsl)
-                              "/common/en.xml")))
+               (("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl")
+                (string-append (assoc-ref inputs "docbook-xsl")
+                               "/xml/xsl/docbook-xsl-"
+                               ,(package-version docbook-xsl)
+                               "/html/chunk.xsl"))
+               (("http://docbook.sourceforge.net/release/xsl/current/common/en.xml")
+                (string-append (assoc-ref inputs "docbook-xsl")
+                               "/xml/xsl/docbook-xsl-"
+                               ,(package-version docbook-xsl)
+                               "/common/en.xml")))
              #t))
          (add-after 'patch-gtk-doc-scan 'patch-test-out
            (lambda _
@@ -1768,7 +1768,7 @@ information.")
              ;; generator metafont outputs a lot of extra lines, this
              ;; test would always fail.  Disable it for now.
              (substitute* "tests/Makefile.in"
-              (("empty.sh sanity.sh") "empty.sh"))
+               (("empty.sh sanity.sh") "empty.sh"))
              #t))
          (add-before 'configure 'fix-docbook
            (lambda* (#:key inputs #:allow-other-keys)
-- 
2.31.0


[-- Attachment #1.1.16: 0015-gnu-gtk-doc-Correct-inputs.patch --]
[-- Type: text/x-patch, Size: 2177 bytes --]

From a931131a323c000ff832d7c574cfa3a1a25fb14a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 08:58:34 -0500
Subject: [PATCH 15/83] gnu: gtk-doc: Correct inputs.

* gnu/packages/gtk.scm (gtk-doc) [native-inputs]: Add glib:bin,
perl and python-wrapper.
[inputs]: Add python-anytree, python-lxml, python-parameterized,
python-pygments, python-unittest2 and yelp-tools. Remove perl.
---
 gnu/packages/gtk.scm | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index dadd6bbf42..049815b8e5 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1798,21 +1798,29 @@ information.")
                             (assoc-ref %build-inputs "docbook-xml")
                             "/xml/dtd/docbook/catalog.xml"))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
        ("itstool" ,itstool)
-       ("libxml" ,libxml2)
-       ("gettext" ,gettext-minimal)
-       ("bc" ,bc)))
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python-wrapper" ,python-wrapper)))
     (inputs
-     `(("perl" ,perl)
-       ("python" ,python)
-       ("xsltproc" ,libxslt)
+     `(("bc" ,bc)
        ("dblatex" ,dblatex)
        ("docbook-xml" ,docbook-xml-4.3)
        ("docbook-xsl" ,docbook-xsl)
-       ("source-highlight" ,source-highlight)
        ("glib" ,glib)
-       ("python-six" ,python-six)))
+       ("libxml2" ,libxml2)
+       ("libxslt" ,libxslt)
+       ("python" ,python)
+       ("python-anytree" ,python-anytree)
+       ("python-lxml" ,python-lxml)
+       ("python-parameterized" ,python-parameterized)
+       ("python-pygments" ,python-pygments)
+       ("python-unittest2" ,python-unittest2)
+       ("source-highlight" ,source-highlight)
+       ("yelp-tools" ,yelp-tools)))
     (home-page "https://www.gtk.org/gtk-doc/")
     (synopsis "Documentation generator from C source code")
     (description
-- 
2.31.0


[-- Attachment #1.1.17: 0016-gnu-gtk-doc-Update-to-1.32.patch --]
[-- Type: text/x-patch, Size: 2900 bytes --]

From 474c4343391ca2f399eb8b4816310d37abe9559e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 09:08:32 -0500
Subject: [PATCH 16/83] gnu: gtk-doc: Update to 1.32.

* gnu/packages/gtk.scm (gtk-doc) [version]: Update to 1.32.
[arguments]<#:phases>['patch-test-out]: Remove phase.
['disable-failing-tests]: New phase.
['set-HOME]: New phase.
---
 gnu/packages/gtk.scm | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 049815b8e5..2322b5c627 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1733,7 +1733,7 @@ information.")
 (define-public gtk-doc
   (package
     (name "gtk-doc")
-    (version "1.28")
+    (version "1.32")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -1741,7 +1741,7 @@ information.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "05apmwibkmn1icx05l8aw241lhymcx01zvk5i499cb150bijj7li"))))
+                "0z4h1dggpimygdp719l457jvqilps4qcfpk31jmj3jqpzcsg03ny"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:parallel-tests? #f
@@ -1761,14 +1761,11 @@ information.")
                                ,(package-version docbook-xsl)
                                "/common/en.xml")))
              #t))
-         (add-after 'patch-gtk-doc-scan 'patch-test-out
+         (add-after 'unpack 'disable-failing-tests
            (lambda _
-             ;; sanity.sh counts the number of status lines.  Since our
-             ;; texlive regenerates the fonts every time and the font
-             ;; generator metafont outputs a lot of extra lines, this
-             ;; test would always fail.  Disable it for now.
              (substitute* "tests/Makefile.in"
-               (("empty.sh sanity.sh") "empty.sh"))
+               (("annotations.sh bugs.sh empty.sh fail.sh gobject.sh program.sh")
+                ""))
              #t))
          (add-before 'configure 'fix-docbook
            (lambda* (#:key inputs #:allow-other-keys)
@@ -1785,6 +1782,12 @@ information.")
                                                 "^catalog.xml$"))
                                " \"http://docbook.sourceforge.net/release/xsl/")))
              #t))
+         (add-before 'build 'set-HOME
+           (lambda _
+             ;; FIXME: dblatex with texlive-union does not find the built
+             ;; metafonts, so it tries to generate them in HOME.
+             (setenv "HOME" "/tmp")
+             #t))
          (add-after 'install 'wrap-executables
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
-- 
2.31.0


[-- Attachment #1.1.18: 0017-gnu-gtk-doc-Enable-help.patch --]
[-- Type: text/x-patch, Size: 1440 bytes --]

From 7def9918c76c9db1d4773df9db53a211a619766e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 09:13:14 -0500
Subject: [PATCH 17/83] gnu: gtk-doc: Enable help.

* gnu/packages/gtk.scm (gtk-doc) [outputs]: New output 'help'.
[arguments]<#:configure-flags>[--with-help-dir]: New flag.
---
 gnu/packages/gtk.scm | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 2322b5c627..4d3017da73 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1743,6 +1743,7 @@ information.")
                (base32
                 "0z4h1dggpimygdp719l457jvqilps4qcfpk31jmj3jqpzcsg03ny"))))
     (build-system glib-or-gtk-build-system)
+    (outputs '("out" "help"))
     (arguments
      `(#:parallel-tests? #f
        #:phases
@@ -1799,7 +1800,10 @@ information.")
        #:configure-flags
        (list (string-append "--with-xml-catalog="
                             (assoc-ref %build-inputs "docbook-xml")
-                            "/xml/dtd/docbook/catalog.xml"))))
+                            "/xml/dtd/docbook/catalog.xml")
+             (string-append "--with-help-dir="
+                            (assoc-ref %outputs "help")
+                            "/share/help"))))
     (native-inputs
      `(("gettext" ,gettext-minimal)
        ("glib:bin" ,glib "bin")
-- 
2.31.0


[-- Attachment #1.1.19: 0018-gnu-gtk-doc-Update-synopsis-description-home-page-an.patch --]
[-- Type: text/x-patch, Size: 1837 bytes --]

From 39c2debf9922c4da094e92b1c56a59310a298899 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 09:20:40 -0500
Subject: [PATCH 18/83] gnu: gtk-doc: Update synopsis, description, home-page
 and license.

* gnu/packages/gtk.scm (gtk-doc) [home-page]: Modify.
[synopsis]: Modify.
[description]: Modify.
[license]: Add fdl1.1+.
---
 gnu/packages/gtk.scm | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 4d3017da73..4c7b253060 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1828,13 +1828,19 @@ information.")
        ("python-unittest2" ,python-unittest2)
        ("source-highlight" ,source-highlight)
        ("yelp-tools" ,yelp-tools)))
-    (home-page "https://www.gtk.org/gtk-doc/")
-    (synopsis "Documentation generator from C source code")
-    (description
-     "GTK-Doc generates API documentation from comments added to C code.  It is
-typically used to document the public API of GTK+ and GNOME libraries, but it
-can also be used to document application code.")
-    (license license:gpl2+)))
+    (home-page "https://wiki.gnome.org/DocumentationProject/GtkDoc")
+    (synopsis "GTK+ DocBook Documentation Generator")
+    (description "GtkDoc is a tool used to extract API documentation from C-code
+like Doxygen, but handles documentation of GObject (including signals and
+properties) that makes it very suitable for GTK+ apps and libraries.  It uses
+docbook for intermediate files and can produce html by default and pdf/man-pages
+with some extra work.")
+    (license
+     (list
+      ;; Docs.
+      license:fdl1.1+
+      ;; Others.
+      license:gpl2+))))
 
 (define-public gtk-engines
   (package
-- 
2.31.0


[-- Attachment #1.1.20: 0019-gnu-gobject-introspection-Propagate-glib.patch --]
[-- Type: text/x-patch, Size: 1091 bytes --]

From 67608c9b1bac2326e1c146e44973fcf19cdbd19e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 09:59:44 -0500
Subject: [PATCH 19/83] gnu: gobject-introspection: Propagate glib.

* gnu/packages/glib.scm (gobject-introspection) [inputs]: Move glib to ...
[propagated-inputs]: ... here.
---
 gnu/packages/glib.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 8ca3083f3b..34d2ba4cf4 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -416,11 +416,11 @@ functions for strings and common data structures.")
     (inputs
      `(("bison" ,bison)
        ("flex" ,flex)
-       ("glib" ,glib)
        ("python" ,python-wrapper)
        ("zlib" ,zlib)))
     (propagated-inputs
-     `(;; In practice, GIR users will need libffi when using
+     `(("glib" ,glib)
+       ;; In practice, GIR users will need libffi when using
        ;; gobject-introspection.
        ("libffi" ,libffi)))
     (native-search-paths
-- 
2.31.0


[-- Attachment #1.1.21: 0020-gnu-cairo-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 9383 bytes --]

From 42b9305c79a2001a83c4e5781f0be254e62d620e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 00:49:10 -0500
Subject: [PATCH 20/83] gnu: cairo: Make some cosmetic changes.

* gnu/packages/patches/cairo-CVE-2018-19876.patch,
gnu/packages/patches/cairo-CVE-2020-35492.patch: Remove patches.
* gnu/local.mk (dist_patch_DATA): Unregister them.
* gnu/packages/gtk.scm (cairo): Make some cosmetic changes.
[replacement]: Remove.
(cairo/fixed): Remove.
---
 gnu/local.mk                                  |  2 -
 gnu/packages/gtk.scm                          | 92 +++++++++----------
 .../patches/cairo-CVE-2018-19876.patch        | 37 --------
 .../patches/cairo-CVE-2020-35492.patch        | 49 ----------
 4 files changed, 41 insertions(+), 139 deletions(-)
 delete mode 100644 gnu/packages/patches/cairo-CVE-2018-19876.patch
 delete mode 100644 gnu/packages/patches/cairo-CVE-2020-35492.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index fc05786287..73f3ffbcf5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -878,8 +878,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/bpftrace-disable-bfd-disasm.patch	\
   %D%/packages/patches/busybox-CVE-2021-28831.patch		\
   %D%/packages/patches/byobu-writable-status.patch		\
-  %D%/packages/patches/cairo-CVE-2018-19876.patch		\
-  %D%/packages/patches/cairo-CVE-2020-35492.patch		\
   %D%/packages/patches/calibre-no-updates-dialog.patch		\
   %D%/packages/patches/calibre-remove-test-sqlite.patch		\
   %D%/packages/patches/calibre-remove-test-unrar.patch		\
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 4c7b253060..d9adfe28ea 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -123,67 +123,57 @@ tools have full access to view and control running applications.")
 
 (define-public cairo
   (package
-   (name "cairo")
-   (version "1.16.0")
-   (replacement cairo/fixed)
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "https://cairographics.org/releases/cairo-"
-                                version ".tar.xz"))
-            (sha256
-             (base32
-              "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
-   (build-system gnu-build-system)
-   (propagated-inputs
-    `(("fontconfig" ,fontconfig)
-      ("freetype" ,freetype)
-      ("glib" ,glib)
-      ("libpng" ,libpng)
-      ("libx11" ,libx11)
-      ("libxext" ,libxext)
-      ("libxrender" ,libxrender)
-      ("pixman" ,pixman)))
-   (inputs
-    `(("ghostscript" ,ghostscript)
-      ("libspectre" ,libspectre)
-      ("poppler" ,poppler)
-      ("xorgproto" ,xorgproto)
-      ("zlib" ,zlib)))
-   (native-inputs
-     `(("pkg-config" ,pkg-config)
-      ("python" ,python-wrapper)))
+    (name "cairo")
+    (version "1.16.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://cairographics.org/releases/cairo-"
+                       version ".tar.xz"))
+       (sha256
+        (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
+    (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f  ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
-       #:configure-flags '("--enable-tee"      ;needed for GNU Icecat
-                           "--enable-xml"      ;for cairo-xml support
-                           "--disable-static")))
-   (synopsis "2D graphics library")
-   (description
-    "Cairo is a 2D graphics library with support for multiple output devices.
-Currently supported output targets include the X Window System (via both
-Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
+     `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
+       #:configure-flags
+       (list
+        "--enable-tee"                    ;needed for GNU Icecat
+        "--enable-xml"                    ;for cairo-xml support
+        "--disable-static")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("ghostscript" ,ghostscript)
+       ("libspectre" ,libspectre)
+       ("poppler" ,poppler)
+       ("xorgproto" ,xorgproto)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("glib" ,glib)
+       ("libpng" ,libpng)
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
+       ("libxrender" ,libxrender)
+       ("pixman" ,pixman)))
+    (synopsis "2D graphics library")
+    (description "Cairo is a 2D graphics library with support for multiple output
+devices.  Currently supported output targets include the X Window System (via
+both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
 output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
-
 Cairo is designed to produce consistent output on all output media while
 taking advantage of display hardware acceleration when available
 eg. through the X Render Extension).
-
 The cairo API provides operations similar to the drawing operators of
 PostScript and PDF.  Operations in cairo including stroking and filling cubic
 Bézier splines, transforming and compositing translucent images, and
 antialiased text rendering.  All drawing operations can be transformed by any
 affine transformation (scale, rotation, shear, etc.).")
-   (license license:lgpl2.1) ; or Mozilla Public License 1.1
-   (home-page "https://cairographics.org/")))
-
-(define cairo/fixed
-  (package
-    (inherit cairo)
-    (source (origin
-              (inherit (package-source cairo))
-              (patches (append (search-patches "cairo-CVE-2018-19876.patch"
-                                               "cairo-CVE-2020-35492.patch")
-                               (origin-patches (package-source cairo))))))))
+    (home-page "https://cairographics.org/")
+    (license license:lgpl2.1))) ; or Mozilla Public License 1.1
 
 (define-public cairo-sans-poppler
   ;; Variant used to break the dependency cycle between Poppler and Cairo.
diff --git a/gnu/packages/patches/cairo-CVE-2018-19876.patch b/gnu/packages/patches/cairo-CVE-2018-19876.patch
deleted file mode 100644
index c0fba2ecaa..0000000000
--- a/gnu/packages/patches/cairo-CVE-2018-19876.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Copied from Debian.
-
-From: Carlos Garcia Campos <cgarcia@igalia.com>
-Date: Mon, 19 Nov 2018 12:33:07 +0100
-Subject: ft: Use FT_Done_MM_Var instead of free when available in
- cairo_ft_apply_variations
-
-Fixes a crash when using freetype >= 2.9
-
-[This is considered to be security-sensitive because WebKitGTK+ sets its
-own memory allocator, which is not compatible with system free(), making
-this a remotely triggerable denial of service or memory corruption.]
-
-Origin: upstream, commit:90e85c2493fdfa3551f202ff10282463f1e36645
-Bug: https://gitlab.freedesktop.org/cairo/cairo/merge_requests/5
-Bug-Debian: https://bugs.debian.org/916389
-Bug-CVE: CVE-2018-19876
----
- src/cairo-ft-font.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
-index 325dd61..981973f 100644
---- a/src/cairo-ft-font.c
-+++ b/src/cairo-ft-font.c
-@@ -2393,7 +2393,11 @@ skip:
- done:
-         free (coords);
-         free (current_coords);
-+#if HAVE_FT_DONE_MM_VAR
-+        FT_Done_MM_Var (face->glyph->library, ft_mm_var);
-+#else
-         free (ft_mm_var);
-+#endif
-     }
- }
- 
diff --git a/gnu/packages/patches/cairo-CVE-2020-35492.patch b/gnu/packages/patches/cairo-CVE-2020-35492.patch
deleted file mode 100644
index e8b90fa5c5..0000000000
--- a/gnu/packages/patches/cairo-CVE-2020-35492.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-Copied from Debian.
-
-From 03a820b173ed1fdef6ff14b4468f5dbc02ff59be Mon Sep 17 00:00:00 2001
-From: Heiko Lewin <heiko.lewin@worldiety.de>
-Date: Tue, 15 Dec 2020 16:48:19 +0100
-Subject: [PATCH] Fix mask usage in image-compositor
-
-[trimmed test case, since not used in Debian build]
-
----
- src/cairo-image-compositor.c                |   8 ++--
-
---- cairo-1.16.0.orig/src/cairo-image-compositor.c
-+++ cairo-1.16.0/src/cairo-image-compositor.c
-@@ -2601,14 +2601,14 @@ _inplace_src_spans (void *abstract_rende
- 		    unsigned num_spans)
- {
-     cairo_image_span_renderer_t *r = abstract_renderer;
--    uint8_t *m;
-+    uint8_t *m, *base = (uint8_t*)pixman_image_get_data(r->mask);
-     int x0;
- 
-     if (num_spans == 0)
- 	return CAIRO_STATUS_SUCCESS;
- 
-     x0 = spans[0].x;
--    m = r->_buf;
-+    m = base;
-     do {
- 	int len = spans[1].x - spans[0].x;
- 	if (len >= r->u.composite.run_length && spans[0].coverage == 0xff) {
-@@ -2646,7 +2646,7 @@ _inplace_src_spans (void *abstract_rende
- 				      spans[0].x, y,
- 				      spans[1].x - spans[0].x, h);
- 
--	    m = r->_buf;
-+	    m = base;
- 	    x0 = spans[1].x;
- 	} else if (spans[0].coverage == 0x0) {
- 	    if (spans[0].x != x0) {
-@@ -2675,7 +2675,7 @@ _inplace_src_spans (void *abstract_rende
- #endif
- 	    }
- 
--	    m = r->_buf;
-+	    m = base;
- 	    x0 = spans[1].x;
- 	} else {
- 	    *m++ = spans[0].coverage;
-- 
2.31.0


[-- Attachment #1.1.22: 0021-gnu-cairo-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 1001 bytes --]

From 405db63b6168ce497d986e8f723670a18fc6e439 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 00:51:10 -0500
Subject: [PATCH 21/83] gnu: cairo: Change build-system.

* gnu/packages/gtk.scm (cairo) [build-system]: Change from gnu to glib-or-gtk.
---
 gnu/packages/gtk.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index d9adfe28ea..27c132ab59 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -133,7 +133,7 @@ tools have full access to view and control running applications.")
                        version ".tar.xz"))
        (sha256
         (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
        #:configure-flags
-- 
2.31.0


[-- Attachment #1.1.23: 0022-gnu-cairo-Move-documentation-to-separate-output.patch --]
[-- Type: text/x-patch, Size: 1603 bytes --]

From b9d22071648eda270825e1384b115ecb705cf891 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 00:53:16 -0500
Subject: [PATCH 22/83] gnu: cairo: Move documentation to separate output.

* gnu/packages/gtk.scm (cairo) [outputs]: New output "doc".
[arguments]<#:configure-flags>[--with-html-dir]: New flag.
---
 gnu/packages/gtk.scm | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 27c132ab59..6dd281e2bc 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -134,13 +134,17 @@ tools have full access to view and control running applications.")
        (sha256
         (base32 "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"))))
     (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
     (arguments
      `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
        #:configure-flags
        (list
-        "--enable-tee"                    ;needed for GNU Icecat
-        "--enable-xml"                    ;for cairo-xml support
-        "--disable-static")))
+        "--enable-tee"                  ;needed for GNU Icecat
+        "--enable-xml"                  ;for cairo-xml support
+        "--disable-static"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)))
-- 
2.31.0


[-- Attachment #1.1.24: 0023-gnu-cairo-Enable-some-features.patch --]
[-- Type: text/x-patch, Size: 2835 bytes --]

From 80b3e1272ddba62a1bd1c9d5785a3fd202b3c9f2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 01:02:00 -0500
Subject: [PATCH 23/83] gnu: cairo: Enable some features.

* gnu/packages/gtk.scm (cairo) [native-inputs]: Add gobject-introspection.
[inputs]: Add libdrm. Remove xorgproto and zlib.
[propagated-inputs]: Add libxcb.
---
 gnu/packages/gtk.scm | 39 +++++++++++++++++++++++++++------------
 1 file changed, 27 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 6dd281e2bc..f1f71c2612 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -139,30 +139,45 @@ tools have full access to view and control running applications.")
      `(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
        #:configure-flags
        (list
-        "--enable-tee"                  ;needed for GNU Icecat
-        "--enable-xml"                  ;for cairo-xml support
         "--disable-static"
+        ;; XXX: To be enabled.
+        ;; "--enable-gallium=yes"
+        ;; "--enable-gl=yes"
+        ;; " --enable-glesv2=yes"
+        ;; "--enable-glesv3=yes"
+        ;; "--enable-cogl=yes"
+        ;; "--enable-directfb=yes"
+        ;; "--enable-vg=yes"
+        "--enable-tee=yes"
+        "--enable-xml=yes"
         (string-append "--with-html-dir="
                        (assoc-ref %outputs "doc")
                        "/share/gtk-doc/html"))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)))
     (inputs
-     `(("ghostscript" ,ghostscript)
+     `(("drm" ,libdrm)
+       ("ghostscript" ,ghostscript)
        ("libspectre" ,libspectre)
-       ("poppler" ,poppler)
-       ("xorgproto" ,xorgproto)
-       ("zlib" ,zlib)))
+       ("poppler" ,poppler)))
     (propagated-inputs
-     `(("fontconfig" ,fontconfig)
+     `( ;; ("cogl" ,cogl)
+       ;; ("directfb" ,directfb)
+       ("fontconfig" ,fontconfig)
+       ("fontconfig" ,fontconfig)
        ("freetype" ,freetype)
        ("glib" ,glib)
+       ;; ("gtk+" ,gtk+)
        ("libpng" ,libpng)
-       ("libx11" ,libx11)
-       ("libxext" ,libxext)
-       ("libxrender" ,libxrender)
-       ("pixman" ,pixman)))
+       ;; ("librsvg" ,librsvg)
+       ;; ("opengl" ,mesa)
+       ("pixman" ,pixman)
+       ("x11" ,libx11)
+       ("xcb" ,libxcb)
+       ("xext" ,libxext)
+       ("xrender" ,libxrender)))
     (synopsis "2D graphics library")
     (description "Cairo is a 2D graphics library with support for multiple output
 devices.  Currently supported output targets include the X Window System (via
-- 
2.31.0


[-- Attachment #1.1.25: 0024-gnu-cairo-Update-synopsis-description-and-license.patch --]
[-- Type: text/x-patch, Size: 2172 bytes --]

From e0a67994a98223ce2e2a3908b01d6c1bf55277fd Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 4 Dec 2020 01:04:37 -0500
Subject: [PATCH 24/83] gnu: cairo: Update synopsis, description and license.

* gnu/packages/gtk.scm (cairo) [synopsis]: Modify.
[description]: Modify.
[license]: Modify.
---
 gnu/packages/gtk.scm | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index f1f71c2612..92a6dfc723 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -178,21 +178,17 @@ tools have full access to view and control running applications.")
        ("xcb" ,libxcb)
        ("xext" ,libxext)
        ("xrender" ,libxrender)))
-    (synopsis "2D graphics library")
+    (synopsis "Multi-platform 2D graphics library")
     (description "Cairo is a 2D graphics library with support for multiple output
 devices.  Currently supported output targets include the X Window System (via
 both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file
-output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
-Cairo is designed to produce consistent output on all output media while
-taking advantage of display hardware acceleration when available
-eg. through the X Render Extension).
-The cairo API provides operations similar to the drawing operators of
-PostScript and PDF.  Operations in cairo including stroking and filling cubic
-Bézier splines, transforming and compositing translucent images, and
-antialiased text rendering.  All drawing operations can be transformed by any
-affine transformation (scale, rotation, shear, etc.).")
+output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
     (home-page "https://cairographics.org/")
-    (license license:lgpl2.1))) ; or Mozilla Public License 1.1
+    (license
+     ;; This project is dual-licensed.
+     (list
+      license:lgpl2.1+
+      license:mpl1.1))))
 
 (define-public cairo-sans-poppler
   ;; Variant used to break the dependency cycle between Poppler and Cairo.
-- 
2.31.0


[-- Attachment #1.1.26: 0025-gnu-cairomm-Update-to-1.16.0.patch --]
[-- Type: text/x-patch, Size: 2334 bytes --]

From 90fbb1fc78a7af2752418f4d4d008d44137d4afa Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 06:49:16 -0400
Subject: [PATCH 25/83] gnu: cairomm: Update to 1.16.0.

* gnu/packages/gtk.scm (cairomm)[version]: Update to 1.16.0.
[build-system]: Change from gnu to meson.
[arguments]<#:glib-or-gtk?>: New argument.
<#:configure-flags>[-Dboost-shared]: New flag.
<#:make-flags>: Remove argument.
[native-inputs]: Add boost and mm-common.
---
 gnu/packages/gtk.scm | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 92a6dfc723..82d59ed60b 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -58,6 +58,7 @@
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages boost)
   #:use-module (gnu packages build-tools)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages check)
@@ -1264,19 +1265,24 @@ guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.")
 (define-public cairomm
   (package
     (name "cairomm")
-    (version "1.12.2")
+    (version "1.16.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.cairographics.org/releases/"
-                                  name "-" version ".tar.gz"))
+                                  name "-" version ".tar.xz"))
               (sha256
                (base32
-                "16fmigxsaz85c3lgcls7biwyz8zy8c8h3jndfm54cxxas3a7zi25"))))
-    (build-system gnu-build-system)
+                "1ya4y7qa000cjawqwswbqv26y5icfkmhs5iiiil4dxgrqn91923y"))))
+    (build-system meson-build-system)
     (arguments
-     ;; The examples lack -lcairo.
-     '(#:make-flags '("LDFLAGS=-lcairo")))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Dboost-shared=true")))
+    (native-inputs
+     `(("boost" ,boost)
+       ("mm-common" ,mm-common)
+       ("pkg-config" ,pkg-config)))
     (propagated-inputs
      `(("libsigc++" ,libsigc++)
        ("freetype" ,freetype)
-- 
2.31.0


[-- Attachment #1.1.27: 0026-gnu-cairomm-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 2074 bytes --]

From 2cff69369c90ca0cd117b2bbbaee3a6526560e06 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 07:07:14 -0400
Subject: [PATCH 26/83] gnu: cairomm: Enable documentation.

* gnu/packages/gtk.scm (cairomm)[outputs]: New output "doc".
[arguments]<#:configure-flags>[-Dbuild-documentation]: New flag.
<#:phases>['move-doc]: New phase.
[native-inputs]: Add doxygen, graphviz, perl and libxslt.
---
 gnu/packages/gtk.scm | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 82d59ed60b..4c3514c2a9 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1274,15 +1274,32 @@ guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.")
                (base32
                 "1ya4y7qa000cjawqwswbqv26y5icfkmhs5iiiil4dxgrqn91923y"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
      `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
        #:configure-flags
        (list
-        "-Dboost-shared=true")))
+        "-Dbuild-documentation=true"
+        "-Dboost-shared=true")
+       #:phases
+       (modify-phases %standard-phases
+         (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"))
+               #t))))))
     (native-inputs
      `(("boost" ,boost)
+       ("dot" ,graphviz)
+       ("doxygen" ,doxygen)
        ("mm-common" ,mm-common)
-       ("pkg-config" ,pkg-config)))
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("libsigc++" ,libsigc++)
        ("freetype" ,freetype)
-- 
2.31.0


[-- Attachment #1.1.28: 0027-gnu-cairomm-1.13-Fix-build.patch --]
[-- Type: text/x-patch, Size: 1576 bytes --]

From 32147345ada212048c15e4a68eb1c552d5052df8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 26 Mar 2021 15:14:54 -0400
Subject: [PATCH 27/83] gnu: cairomm-1.13: Fix build.

* gnu/packages/gtk.scm (cairomm-1.13)[build-system]: New field.
[arguments]: New field.
[propagated-inputs]: Replace libsigc++ with libsigc++-2.
---
 gnu/packages/gtk.scm | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 4c3514c2a9..06e7904d3d 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1325,9 +1325,22 @@ library.")
                        name "-" version ".tar.gz"))
        (sha256
         (base32 "1xlfl0fm5mgv53lr8xjv2kqsk3bz67qkk6qzvbrqmbvbvvbqp9wp"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (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"))
+               #t))))))
     (propagated-inputs
-     `(("cairo" ,cairo)
-       ("sigc++" ,libsigc++)))))
+     `(("libsigc++" ,libsigc++-2)
+       ,@(package-propagated-inputs cairomm)))))
 
 (define-public pangomm
   (package
-- 
2.31.0


[-- Attachment #1.1.29: 0028-gnu-pango-Add-missing-arguments.patch --]
[-- Type: text/x-patch, Size: 1033 bytes --]

From b268b8e4987bcc49aef60a2b7fc8ebe21e0c566b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:11:10 -0500
Subject: [PATCH 28/83] gnu: pango: Add missing arguments.

* gnu/packages/gtk.scm (pango) [arguments]<#:glib-or-gtk?>: New argument.
---
 gnu/packages/gtk.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 06e7904d3d..d8c119a6df 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -325,7 +325,8 @@ applications.")
               "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"))))
    (build-system meson-build-system)
    (arguments
-    '(#:phases (modify-phases %standard-phases
+    '(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+      #:phases (modify-phases %standard-phases
                  (add-after 'unpack 'disable-cantarell-tests
                    (lambda _
                      (substitute* "tests/meson.build"
-- 
2.31.0


[-- Attachment #1.1.30: 0029-gnu-pango-Re-arrange-inputs-in-alphabetical-order.patch --]
[-- Type: text/x-patch, Size: 2279 bytes --]

From ad6788190624d38e24f1c4b28c7686fa7661bce4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:17:09 -0500
Subject: [PATCH 29/83] gnu: pango: Re-arrange inputs in alphabetical order.

* gnu/packages/gtk.scm (pango) [propagated-inputs]: Modify.
[native-inputs]: Modify.
---
 gnu/packages/gtk.scm | 35 +++++++++++++++++------------------
 1 file changed, 17 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index d8c119a6df..6eeb0abd2b 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -336,24 +336,23 @@ applications.")
                        (("\\[ 'test-itemize'.*") "")
                        (("\\[ 'test-layout'.*") ""))
                      #t)))))
-   (propagated-inputs
-    ;; These are all in Requires or Requires.private of the '.pc' files.
-    `(("cairo" ,cairo)
-      ("fribidi" ,fribidi)
-      ("fontconfig" ,fontconfig)
-      ("freetype" ,freetype)
-      ("glib" ,glib)
-      ("harfbuzz" ,harfbuzz)
-
-      ;; Some packages, such as Openbox, expect Pango to be built with the
-      ;; optional libxft support.
-      ("libxft" ,libxft)))
-   (inputs
-    `(("zlib" ,zlib)))
-   (native-inputs
-    `(("pkg-config" ,pkg-config)
-      ("glib" ,glib "bin")                               ; glib-mkenums, etc.
-      ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
+    (propagated-inputs
+     ;; These are all in Requires or Requires.private of the '.pc' files.
+     `(("cairo" ,cairo)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("fribidi" ,fribidi)
+       ("glib" ,glib)
+       ("harfbuzz" ,harfbuzz)
+       ;; Some packages, such as Openbox, expect Pango to be built with the
+       ;; optional libxft support.
+       ("libxft" ,libxft)))
+    (inputs
+     `(("zlib" ,zlib)))
+    (native-inputs
+     `(("glib" ,glib "bin")             ; glib-mkenums, etc.
+       ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
+       ("pkg-config" ,pkg-config)))
    (synopsis "GNOME text and font handling library")
    (description
     "Pango is the core text and font handling library used in GNOME
-- 
2.31.0


[-- Attachment #1.1.31: 0030-gnu-pango-Update-to-1.48.3.patch --]
[-- Type: text/x-patch, Size: 5017 bytes --]

From edd668cc4c130ffe4a50d919f56336953f48e1c7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 23 Mar 2021 23:32:15 -0400
Subject: [PATCH 30/83] gnu: pango: Update to 1.48.3.

* gnu/packages/gtk.scm (pango) [version]: Update to 1.48.3.
[arguments]<#:phases>['disable-cantarell-tests]: Modify.
[propagated-inputs]: Add libthai and libxrender.
[native-inputs]: Add help2man, perl and python-wrapper.
---
 gnu/packages/gtk.scm | 69 ++++++++++++++++++++++++--------------------
 1 file changed, 38 insertions(+), 31 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 6eeb0abd2b..74c3cb1025 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -78,6 +78,7 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -312,30 +313,31 @@ applications.")
 
 (define-public pango
   (package
-   (name "pango")
-   (version "1.44.7")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/pango/"
-                                (version-major+minor version) "/"
-                                name "-" version ".tar.xz"))
-            (patches (search-patches "pango-skip-libthai-test.patch"))
-            (sha256
-             (base32
-              "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"))))
-   (build-system meson-build-system)
-   (arguments
-    '(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
-      #:phases (modify-phases %standard-phases
-                 (add-after 'unpack 'disable-cantarell-tests
-                   (lambda _
-                     (substitute* "tests/meson.build"
-                       ;; XXX FIXME: These tests require "font-cantarell", but
-                       ;; adding it here would introduce a circular dependency.
-                       (("\\[ 'test-harfbuzz'.*") "")
-                       (("\\[ 'test-itemize'.*") "")
-                       (("\\[ 'test-layout'.*") ""))
-                     #t)))))
+    (name "pango")
+    (version "1.48.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/pango/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (patches (search-patches "pango-skip-libthai-test.patch"))
+              (sha256
+               (base32
+                "0ijbkcs6217ygzphlpi0vajxkccifdbsl0jdjpy8wz11h9f19sin"))))
+    (build-system meson-build-system)
+    (arguments
+     '(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'disable-cantarell-tests
+                    (lambda _
+                      (substitute* "tests/meson.build"
+                        ;; XXX FIXME: These tests require "font-cantarell", but
+                        ;; adding it here would introduce a circular dependency.
+                        (("\\[ 'test-layout'.*") "")
+                        (("\\[ 'test-itemize'.*") "")
+                        (("\\[ 'test-font'.*") "")
+                        (("\\[ 'test-harfbuzz'.*") ""))
+                      #t)))))
     (propagated-inputs
      ;; These are all in Requires or Requires.private of the '.pc' files.
      `(("cairo" ,cairo)
@@ -344,22 +346,27 @@ applications.")
        ("fribidi" ,fribidi)
        ("glib" ,glib)
        ("harfbuzz" ,harfbuzz)
+       ("libthai" ,libthai)
        ;; Some packages, such as Openbox, expect Pango to be built with the
        ;; optional libxft support.
-       ("libxft" ,libxft)))
+       ("libxft" ,libxft)
+       ("libxrender" ,libxrender)))
     (inputs
      `(("zlib" ,zlib)))
     (native-inputs
      `(("glib" ,glib "bin")             ; glib-mkenums, etc.
        ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
-       ("pkg-config" ,pkg-config)))
-   (synopsis "GNOME text and font handling library")
-   (description
-    "Pango is the core text and font handling library used in GNOME
+       ("help2man" ,help2man)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (synopsis "GNOME text and font handling library")
+    (description
+     "Pango is the core text and font handling library used in GNOME
 applications.  It has extensive support for the different writing systems
 used throughout the world.")
-   (license license:lgpl2.0+)
-   (home-page "https://developer.gnome.org/pango/")))
+    (license license:lgpl2.0+)
+    (home-page "https://developer.gnome.org/pango/")))
 
 (define-public pango-1.42
   (package
-- 
2.31.0


[-- Attachment #1.1.32: 0031-gnu-pango-Update-synopsis-description-and-home-page.patch --]
[-- Type: text/x-patch, Size: 1606 bytes --]

From a377e43601041c3fbf3213feec8502031ce6e872 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:24:42 -0500
Subject: [PATCH 31/83] gnu: pango: Update synopsis, description and home-page.

* gnu/packages/gtk.scm (pango) [synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
---
 gnu/packages/gtk.scm | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 74c3cb1025..8c891660e5 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -360,13 +360,14 @@ applications.")
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)))
-    (synopsis "GNOME text and font handling library")
-    (description
-     "Pango is the core text and font handling library used in GNOME
-applications.  It has extensive support for the different writing systems
-used throughout the world.")
-    (license license:lgpl2.0+)
-    (home-page "https://developer.gnome.org/pango/")))
+    (synopsis "Text and font handling library")
+    (description "Pango is a library for laying out and rendering of text, with
+an emphasis on internationalization.  Pango can be used anywhere that text
+layout is needed, though most of the work on Pango so far has been done in the
+context of the GTK+ widget toolkit.  Pango forms the core of text and font
+handling for GTK+-2.x.")
+    (home-page "https://pango.gnome.org/")
+    (license license:lgpl2.0+)))
 
 (define-public pango-1.42
   (package
-- 
2.31.0


[-- Attachment #1.1.33: 0032-gnu-pangomm-Update-to-2.48.0.patch --]
[-- Type: text/x-patch, Size: 1997 bytes --]

From 9561ec2d0ecac96c8b467151df94879cf98d0c54 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 07:42:10 -0400
Subject: [PATCH 32/83] gnu: pangomm: Update to 2.48.0.

* gnu/packages/gtk.scm (pango)[version]: Update to 2.48.0.
[build-system]: Change from gnu to meson.
[arguments]<#:glib-or-gtk?>: New argument.
[native-inputs]: Add m4 and mm-common.
---
 gnu/packages/gtk.scm | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 8c891660e5..e1ae39a5bb 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1353,17 +1353,22 @@ library.")
 (define-public pangomm
   (package
     (name "pangomm")
-    (version "2.42.0")
+    (version "2.48.0")
     (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/" name "/"
-                                 (version-major+minor version)  "/"
-                                 name "-" version ".tar.xz"))
-             (sha256
-              (base32
-               "0mmzxp3wniaafkxr30sb22mq9x44xckb5d60h1bl99lkzxks0vfa"))))
-    (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0y2vyp6azvhrii6rzs89kr08wg8z1p562awyr812131zqdsd83ly"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t))   ; To wrap binaries and/or compile schemas
+    (native-inputs
+     `(("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("pkg-config" ,pkg-config)))
     (propagated-inputs
      `(("cairo" ,cairo)
        ("cairomm" ,cairomm)
-- 
2.31.0


[-- Attachment #1.1.34: 0033-gnu-pangomm-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 2022 bytes --]

From dcaf13d460c373622883cf6a784a753fe622cabe Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 25 Mar 2021 07:47:41 -0400
Subject: [PATCH 33/83] gnu: pangomm: Enable documentation.

* gnu/packages/gtk.scm (pangomm)[outputs]: New output "doc".
[arguments]<#:configure-flags>[-Dbuild-documentation]: New flag.
<#:phases>['move-doc]: New phase.
[native-inputs]: Add doxygen, graphviz, perl and libxslt.
---
 gnu/packages/gtk.scm | 25 ++++++++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index e1ae39a5bb..956e23469d 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1363,12 +1363,31 @@ library.")
                (base32
                 "0y2vyp6azvhrii6rzs89kr08wg8z1p562awyr812131zqdsd83ly"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:glib-or-gtk? #t))   ; To wrap binaries and/or compile schemas
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Dbuild-documentation=true")
+       #:phases
+       (modify-phases %standard-phases
+         (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"))
+               #t))))))
     (native-inputs
-     `(("m4" ,m4)
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("m4" ,m4)
        ("mm-common" ,mm-common)
-       ("pkg-config" ,pkg-config)))
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("cairo" ,cairo)
        ("cairomm" ,cairomm)
-- 
2.31.0


[-- Attachment #1.1.35: 0034-gnu-pangomm-2.42-Update-to-2.42.2.patch --]
[-- Type: text/x-patch, Size: 1159 bytes --]

From 30a733c6f5e791ae2507de84d7870d57be6e1107 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 26 Mar 2021 15:37:49 -0400
Subject: [PATCH 34/83] gnu: pangomm-2.42: Update to 2.42.2.

* gnu/packages/gtk.scm (pangomm-2.42)[version]: Update to 2.42.2.
---
 gnu/packages/gtk.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 956e23469d..6a40e569e6 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1404,7 +1404,7 @@ library.")
   (package
     (inherit pangomm)
     (name "pangomm")
-    (version "2.42.1")
+    (version "2.42.2")
     (source
      (origin
        (method url-fetch)
@@ -1413,7 +1413,7 @@ library.")
                        (version-major+minor version)  "/"
                        name "-" version ".tar.xz"))
        (sha256
-        (base32 "03zli5amizhv9bfklwfq7xyf0b5dagchx1lnz9f0v1rhk69h9gql"))))
+        (base32 "12nhs94rh38glr5hp31d6k9rmhzp6mfifn3pnp67a4mf4hkcj90v"))))
     (propagated-inputs
      `(("cairomm" ,cairomm-1.13)
        ("glibmm" ,glibmm-2.64)
-- 
2.31.0


[-- Attachment #1.1.36: 0035-gnu-gdk-pixbuf-Add-missing-arguments.patch --]
[-- Type: text/x-patch, Size: 8815 bytes --]

From 4013e6be5463d1b1c7547d3fd300d53ab23df2f4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:29:02 -0500
Subject: [PATCH 35/83] gnu: gdk-pixbuf: Add missing arguments.

* gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch: Remove patch.
* gnu/local.mk (dist_patch_DATA): Unregister it.
* gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:glib-or-gtk?>: New argument.
[replacement]: Remove.
(gdk-pixbuf/fixed): Remove.
---
 gnu/local.mk                                  |  1 -
 gnu/packages/gtk.scm                          | 91 +++++++++----------
 .../patches/gdk-pixbuf-CVE-2020-29385.patch   | 53 -----------
 3 files changed, 41 insertions(+), 104 deletions(-)
 delete mode 100644 gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 73f3ffbcf5..7591a90c49 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1060,7 +1060,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/gdb-hurd.patch				\
   %D%/packages/patches/gd-fix-tests-on-i686.patch		\
   %D%/packages/patches/gd-brect-bounds.patch			\
-  %D%/packages/patches/gdk-pixbuf-CVE-2020-29385.patch		\
   %D%/packages/patches/gdm-default-session.patch		\
   %D%/packages/patches/geary-CVE-2020-24661.patch		\
   %D%/packages/patches/genimage-signedness.patch		\
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 6a40e569e6..3e81ce8f98 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -579,60 +579,51 @@ highlighting and other features typical of a source code editor.")
 
 (define-public gdk-pixbuf
   (package
-   (name "gdk-pixbuf")
-   (version "2.42.2")
-   (replacement gdk-pixbuf/fixed)
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "05ggmzwvrxq9w4zcvmrnnd6qplsmb4n95lj4q607c7arzlf6mil3"))))
-   (build-system meson-build-system)
-   (arguments
-    `(#:meson ,meson-0.55
-      #:configure-flags '("-Dinstalled_tests=false")
-      #:phases
-      (modify-phases %standard-phases
-        ;; The slow tests take longer than the specified timeout.
-        ,@(if (any (cute string=? <> (%current-system))
-                   '("armhf-linux" "aarch64-linux"))
-            '((replace 'check
-              (lambda _
-                (invoke "meson" "test" "--timeout-multiplier" "5"))))
-            '()))))
-   (propagated-inputs
-    `(;; Required by gdk-pixbuf-2.0.pc
-      ("glib" ,glib)
-      ("libpng" ,libpng)
-      ;; Used for testing and required at runtime.
-      ("shared-mime-info" ,shared-mime-info)))
-   (inputs
-    `(("libjpeg" ,libjpeg-turbo)
-      ("libtiff" ,libtiff)
-      ("libx11"  ,libx11)))
-   (native-inputs
+    (name "gdk-pixbuf")
+    (version "2.42.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "05ggmzwvrxq9w4zcvmrnnd6qplsmb4n95lj4q607c7arzlf6mil3"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:meson ,meson-0.55
+       #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+       #:configure-flags '("-Dinstalled_tests=false")
+       #:phases
+       (modify-phases %standard-phases
+         ;; The slow tests take longer than the specified timeout.
+         ,@(if (any (cute string=? <> (%current-system))
+                    '("armhf-linux" "aarch64-linux"))
+               '((replace 'check
+                   (lambda _
+                     (invoke "meson" "test" "--timeout-multiplier" "5"))))
+               '()))))
+    (propagated-inputs
+     `( ;; Required by gdk-pixbuf-2.0.pc
+       ("glib" ,glib)
+       ("libpng" ,libpng)
+       ;; Used for testing and required at runtime.
+       ("shared-mime-info" ,shared-mime-info)))
+    (inputs
+     `(("libjpeg" ,libjpeg-turbo)
+       ("libtiff" ,libtiff)
+       ("libx11"  ,libx11)))
+    (native-inputs
      `(("pkg-config" ,pkg-config)
        ("gettext" ,gettext-minimal)
-       ("glib" ,glib "bin")                               ; glib-mkenums, etc.
+       ("glib" ,glib "bin")             ; glib-mkenums, etc.
        ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
-   (synopsis "GNOME image loading and manipulation library")
-   (description
-    "GdkPixbuf is a library for image loading and manipulation developed
+    (synopsis "GNOME image loading and manipulation library")
+    (description
+     "GdkPixbuf is a library for image loading and manipulation developed
 in the GNOME project.")
-   (license license:lgpl2.0+)
-   (home-page "https://developer.gnome.org/gdk-pixbuf/")))
-
-(define gdk-pixbuf/fixed
-  (package
-    (inherit gdk-pixbuf)
-    (source (origin
-              (inherit (package-source gdk-pixbuf))
-              (patches
-               (append (search-patches "gdk-pixbuf-CVE-2020-29385.patch")
-                       (origin-patches (package-source gdk-pixbuf))))))))
+    (license license:lgpl2.0+)
+    (home-page "https://developer.gnome.org/gdk-pixbuf/")))
 
 ;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg depends
 ;; on gdk-pixbuf, so this new varibale.  Also, librsvg adds 90MiB to the
diff --git a/gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch b/gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch
deleted file mode 100644
index e6ac4de00b..0000000000
--- a/gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Fix CVE-2020-29385.  Note that we omit the binary test file
-tests/test-images/fail/hang_114.gif from the following commit, to avoid
-requiring 'git' to apply the patch.
-
-
-From bdd3acbd48a575d418ba6bf1b32d7bda2fae1c81 Mon Sep 17 00:00:00 2001
-From: Robert Ancell <robert.ancell@canonical.com>
-Date: Mon, 30 Nov 2020 12:26:12 +1300
-Subject: [PATCH] gif: Fix LZW decoder accepting invalid LZW code.
-
-The code value after a reset wasn't being validated, which means we would
-accept invalid codes. This could cause an infinite loop in the decoder.
-
-Fixes CVE-2020-29385
-
-Fixes https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/164
----
- gdk-pixbuf/lzw.c                    |  13 +++++++------
- tests/test-images/fail/hang_114.gif | Bin 0 -> 5561 bytes
- 2 files changed, 7 insertions(+), 6 deletions(-)
- create mode 100644 tests/test-images/fail/hang_114.gif
-
-diff --git a/gdk-pixbuf/lzw.c b/gdk-pixbuf/lzw.c
-index 9e052a6f7..105daf2b1 100644
---- a/gdk-pixbuf/lzw.c
-+++ b/gdk-pixbuf/lzw.c
-@@ -195,19 +195,20 @@ lzw_decoder_feed (LZWDecoder *self,
-                                 if (self->last_code != self->clear_code && self->code_table_size < MAX_CODES) {
-                                         if (self->code < self->code_table_size)
-                                                 add_code (self, self->code);
--                                        else if (self->code == self->code_table_size)
-+                                        else
-                                                 add_code (self, self->last_code);
--                                        else {
--                                                /* Invalid code received - just stop here */
--                                                self->last_code = self->eoi_code;
--                                                return output_length;
--                                        }
- 
-                                         /* When table is full increase code size */
-                                         if (self->code_table_size == (1 << self->code_size) && self->code_size < LZW_CODE_MAX)
-                                                 self->code_size++;
-                                 }
- 
-+                                /* Invalid code received - just stop here */
-+                                if (self->code >= self->code_table_size) {
-+                                        self->last_code = self->eoi_code;
-+                                        return output_length;
-+                                }
-+
-                                 /* Convert codeword into indexes */
-                                 n_written += write_indexes (self, output + n_written, output_length - n_written);
-                         }
-- 
2.31.0


[-- Attachment #1.1.37: 0036-gnu-gdk-pixbuf-Correct-inputs.patch --]
[-- Type: text/x-patch, Size: 1258 bytes --]

From 69b586ab7137e8c48f826231a0322f32d3f370e7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:35:56 -0500
Subject: [PATCH 36/83] gnu: gdk-pixbuf: Correct inputs.

* gnu/packages/gtk.scm (gdk-pixbuf) [propagated-inputs]: Add libx11.
Remove libpng.
[inputs]: Add libpng. Remove libx11.
---
 gnu/packages/gtk.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 3e81ce8f98..52ee8575cd 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -606,13 +606,14 @@ highlighting and other features typical of a source code editor.")
     (propagated-inputs
      `( ;; Required by gdk-pixbuf-2.0.pc
        ("glib" ,glib)
-       ("libpng" ,libpng)
+       ;; Required by gdk-pixbuf-xlib-2.0.pc
+       ("libx11" ,libx11)
        ;; Used for testing and required at runtime.
        ("shared-mime-info" ,shared-mime-info)))
     (inputs
      `(("libjpeg" ,libjpeg-turbo)
-       ("libtiff" ,libtiff)
-       ("libx11"  ,libx11)))
+       ("libpng"  ,libpng)
+       ("libtiff" ,libtiff)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("gettext" ,gettext-minimal)
-- 
2.31.0


[-- Attachment #1.1.38: 0037-gnu-gdk-pixbuf-Enable-jasper-support.patch --]
[-- Type: text/x-patch, Size: 1442 bytes --]

From a5a84dea3d5e52ca1b93337da96c0f125b7de9c8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:41:10 -0500
Subject: [PATCH 37/83] gnu: gdk-pixbuf: Enable jasper support.

* gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:configure-flags>[-Djasper]: New flag.
[inputs]: Add jasper.
---
 gnu/packages/gtk.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 52ee8575cd..2c1a9e84fc 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -593,7 +593,7 @@ highlighting and other features typical of a source code editor.")
     (arguments
      `(#:meson ,meson-0.55
        #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
-       #:configure-flags '("-Dinstalled_tests=false")
+       #:configure-flags '("-Dinstalled_tests=false" "-Djasper=true")
        #:phases
        (modify-phases %standard-phases
          ;; The slow tests take longer than the specified timeout.
@@ -611,7 +611,8 @@ highlighting and other features typical of a source code editor.")
        ;; Used for testing and required at runtime.
        ("shared-mime-info" ,shared-mime-info)))
     (inputs
-     `(("libjpeg" ,libjpeg-turbo)
+     `(("jasper" ,jasper)
+       ("libjpeg" ,libjpeg-turbo)
        ("libpng"  ,libpng)
        ("libtiff" ,libtiff)))
     (native-inputs
-- 
2.31.0


[-- Attachment #1.1.39: 0038-gnu-gdk-pixbuf-Fix-documentation.patch --]
[-- Type: text/x-patch, Size: 2694 bytes --]

From 803d2bd77524ce9563d14a7ceb7cb5c5a6f26cc3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:50:46 -0500
Subject: [PATCH 38/83] gnu: gdk-pixbuf: Fix documentation.

* gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:phases>['patch-docbook]: New phase.
[native-inputs]: Add docbook-xml and docbook-xsl.
---
 gnu/packages/gtk.scm | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 2c1a9e84fc..058b396f67 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -592,10 +592,22 @@ highlighting and other features typical of a source code editor.")
     (build-system meson-build-system)
     (arguments
      `(#:meson ,meson-0.55
-       #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
+       #:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
        #:configure-flags '("-Dinstalled_tests=false" "-Djasper=true")
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "meson.build"
+                 (("http://docbook.sourceforge.net/release/xsl/current/")
+                  (string-append (assoc-ref inputs "docbook-xsl")
+                                 "/xml/xsl/docbook-xsl-1.79.2/")))
+               (substitute* (find-files "." "\\.xml$")
+                 (("http://www.oasis-open.org/docbook/xml/4\\.3/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
          ;; The slow tests take longer than the specified timeout.
          ,@(if (any (cute string=? <> (%current-system))
                     '("armhf-linux" "aarch64-linux"))
@@ -616,10 +628,12 @@ highlighting and other features typical of a source code editor.")
        ("libpng"  ,libpng)
        ("libtiff" ,libtiff)))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("docbook-xsl" ,docbook-xsl)
        ("gettext" ,gettext-minimal)
        ("glib" ,glib "bin")             ; glib-mkenums, etc.
-       ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
+       ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
+       ("pkg-config" ,pkg-config)))
     (synopsis "GNOME image loading and manipulation library")
     (description
      "GdkPixbuf is a library for image loading and manipulation developed
-- 
2.31.0


[-- Attachment #1.1.40: 0039-gnu-gdk-pixbuf-Update-to-2.42.4.patch --]
[-- Type: text/x-patch, Size: 1921 bytes --]

From efe9af75cd97f9ffaf8c70dee60d84fdff5a087f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:53:43 -0500
Subject: [PATCH 39/83] gnu: gdk-pixbuf: Update to 2.42.4.

* gnu/packages/gtk.scm (gdk-pixbuf) [version]: Update to 2.42.4.
[native-inputs]: Add perl and libxslt.
---
 gnu/packages/gtk.scm | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 058b396f67..c936a6aed2 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -580,7 +580,7 @@ highlighting and other features typical of a source code editor.")
 (define-public gdk-pixbuf
   (package
     (name "gdk-pixbuf")
-    (version "2.42.2")
+    (version "2.42.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -588,7 +588,7 @@ highlighting and other features typical of a source code editor.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "05ggmzwvrxq9w4zcvmrnnd6qplsmb4n95lj4q607c7arzlf6mil3"))))
+                "0k9f9177qxaryaxprwrhqnv5p2gdq4a8i6y05gm98qa8izc5v77y"))))
     (build-system meson-build-system)
     (arguments
      `(#:meson ,meson-0.55
@@ -633,7 +633,9 @@ highlighting and other features typical of a source code editor.")
        ("gettext" ,gettext-minimal)
        ("glib" ,glib "bin")             ; glib-mkenums, etc.
        ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
-       ("pkg-config" ,pkg-config)))
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (synopsis "GNOME image loading and manipulation library")
     (description
      "GdkPixbuf is a library for image loading and manipulation developed
-- 
2.31.0


[-- Attachment #1.1.41: 0040-gnu-gdk-pixbuf-Update-synopsis-description-home-page.patch --]
[-- Type: text/x-patch, Size: 1625 bytes --]

From 80691a238b98474cb6d37af68ec3553829acea58 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 10:56:29 -0500
Subject: [PATCH 40/83] gnu: gdk-pixbuf: Update synopsis, description,
 home-page and license.

* gnu/packages/gtk.scm (gdk-pixbuf) [synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Update to lgpl2.1+.
---
 gnu/packages/gtk.scm | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index c936a6aed2..78a031ce72 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -636,12 +636,12 @@ highlighting and other features typical of a source code editor.")
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
        ("xsltproc" ,libxslt)))
-    (synopsis "GNOME image loading and manipulation library")
-    (description
-     "GdkPixbuf is a library for image loading and manipulation developed
-in the GNOME project.")
-    (license license:lgpl2.0+)
-    (home-page "https://developer.gnome.org/gdk-pixbuf/")))
+    (synopsis "Image loading library")
+    (description "GdkPixbuf is a library that loads image data in various
+formats and stores it as linear buffers in memory.  The buffers can then be
+scaled, composited, modified, saved, or rendered.")
+    (home-page "https://wiki.gnome.org/Projects/GdkPixbuf")
+    (license license:lgpl2.1+)))
 
 ;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg depends
 ;; on gdk-pixbuf, so this new varibale.  Also, librsvg adds 90MiB to the
-- 
2.31.0


[-- Attachment #1.1.42: 0041-gnu-gdk-pixbuf-Disable-failing-tests.patch --]
[-- Type: text/x-patch, Size: 1225 bytes --]

From 617c8adf32ae8032b1a3b52f8f6e0a8739f07289 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:00:10 -0500
Subject: [PATCH 41/83] gnu: gdk-pixbuf: Disable failing tests.

* gnu/packages/gtk.scm (gdk-pixbuf) [arguments]<#:phases>['disable-failing-tests]: New phase.
---
 gnu/packages/gtk.scm | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 78a031ce72..c97bc66acb 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -608,6 +608,12 @@ highlighting and other features typical of a source code editor.")
                   (string-append (assoc-ref inputs "docbook-xml")
                                  "/xml/dtd/docbook/"))))
              #t))
+         (add-before 'configure 'disable-failing-tests
+           (lambda _
+             (substitute* "tests/meson.build"
+               (("\\[ 'pixbuf-fail', \\['conform', 'slow'\\], \\],")
+                ""))
+             #t))
          ;; The slow tests take longer than the specified timeout.
          ,@(if (any (cute string=? <> (%current-system))
                     '("armhf-linux" "aarch64-linux"))
-- 
2.31.0


[-- Attachment #1.1.43: 0042-gnu-gdk-pixbuf-svg-Correct-package-definition-to-inc.patch --]
[-- Type: text/x-patch, Size: 1739 bytes --]

From 85f942262ef67d521aa7339c5e0b9e0baecd4259 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:08:24 -0500
Subject: [PATCH 42/83] gnu: gdk-pixbuf+svg: Correct package definition to
 include changes from gdk-pixbuf.

* gnu/packages/gtk.scm (gdk-pixbuf+svg) [arguments]: Modify.
[synopsis]: Modify.
---
 gnu/packages/gtk.scm | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index c97bc66acb..582a096c12 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -659,10 +659,9 @@ scaled, composited, modified, saved, or rendered.")
      `(("librsvg" ,librsvg)
        ,@(package-inputs gdk-pixbuf)))
     (arguments
-     '(#:configure-flags '("-Dinstalled-tests=false")
-       #:tests? #f ; tested by the gdk-pixbuf package already
-       #:phases
-       (modify-phases %standard-phases
+     (substitute-keyword-arguments (package-arguments gdk-pixbuf)
+        ((#:phases phases)
+          `(modify-phases ,phases
          (add-after 'install 'register-svg-loader
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out     (assoc-ref outputs "out"))
@@ -676,9 +675,8 @@ scaled, composited, modified, saved, or rendered.")
                (apply invoke
                       gdk-pixbuf-query-loaders
                       "--update-cache"
-                      loaders)))))))
-    (synopsis
-     "GNOME image loading and manipulation library, with SVG support")))
+                      loaders))))))))
+    (synopsis "Image loading library, with SVG support")))
 
 (define-public at-spi2-core
   (package
-- 
2.31.0


[-- Attachment #1.1.44: 0043-gnu-vala-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 2177 bytes --]

From 70ec23d2ee8a8531b3b1ae69155b989ccaa03c58 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:20:37 -0500
Subject: [PATCH 43/83] gnu: vala: Change build-system.

* gnu/packages/gnome.scm (vala) [build-system]: Change from gnu to glib-or-gtk.
---
 gnu/packages/gnome.scm | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index c69fb21ba5..bbc82cfcd1 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4279,28 +4279,28 @@ passwords in the GNOME keyring.")
               (sha256
                (base32
                 "1nx5xjarpkl9hgy0qbqfczx7d7clh5g1r8xr5xp8b97c5fsc2rb1"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      '(#:phases
        (modify-phases %standard-phases
          (add-before 'check 'pre-check
-                     (lambda _
-                       (setenv "CC" "gcc")
-                       (substitute* "valadoc/tests/libvaladoc\
+           (lambda _
+             (setenv "CC" "gcc")
+             (substitute* "valadoc/tests/libvaladoc\
 /tests-extra-environment.sh"
-                         (("export PKG_CONFIG_PATH=" m)
-                          (string-append m "$PKG_CONFIG_PATH:"))))))))
+               (("export PKG_CONFIG_PATH=" m)
+                (string-append m "$PKG_CONFIG_PATH:"))))))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("flex" ,flex)
        ("bison" ,bison)
        ("xsltproc" ,libxslt)
-       ("dbus" ,dbus)                                     ; for dbus tests
+       ("dbus" ,dbus)                   ; for dbus tests
        ("gobject-introspection" ,gobject-introspection))) ; for gir tests
     (inputs
      `(("graphviz" ,graphviz)))
     (propagated-inputs
-     `(("glib" ,glib))) ; required by libvala-0.40.pc
+     `(("glib" ,glib)))                 ; required by libvala-0.40.pc
     (home-page "https://wiki.gnome.org/Projects/Vala/")
     (synopsis "Compiler for the GObject type system")
     (description
-- 
2.31.0


[-- Attachment #1.1.45: 0044-gnu-vala-Enable-coverage-support.patch --]
[-- Type: text/x-patch, Size: 970 bytes --]

From d3028148ac422053a9944bf882ef360d844b4318 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:23:56 -0500
Subject: [PATCH 44/83] gnu: vala: Enable coverage support.

* gnu/packages/gnome.scm (vala) [arguments]<#:configure-flags>
[--enable-coverage]: New flag.
---
 gnu/packages/gnome.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index bbc82cfcd1..ca4484ce3e 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4281,7 +4281,8 @@ passwords in the GNOME keyring.")
                 "1nx5xjarpkl9hgy0qbqfczx7d7clh5g1r8xr5xp8b97c5fsc2rb1"))))
     (build-system glib-or-gtk-build-system)
     (arguments
-     '(#:phases
+     '(#:configure-flags '("--enable-coverage")
+       #:phases
        (modify-phases %standard-phases
          (add-before 'check 'pre-check
            (lambda _
-- 
2.31.0


[-- Attachment #1.1.46: 0045-gnu-vala-Fix-documentation.patch --]
[-- Type: text/x-patch, Size: 1652 bytes --]

From 17cd0d9bbc2c81fa9dcfd8abd2a99bd501e7c3db Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:30:26 -0500
Subject: [PATCH 45/83] gnu: vala: Fix documentation.

* gnu/packages/gnome.scm (vala) [arguments]<#:phases>['patch-docbook-xml]: New phase.
[native-inputs]: Add docbook-xml and docbook-xsl.
---
 gnu/packages/gnome.scm | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index ca4484ce3e..92c46158ac 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4284,6 +4284,14 @@ passwords in the GNOME keyring.")
      '(#:configure-flags '("--enable-coverage")
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc/manual"
+               (substitute* '("manual.xml" "version.xml.in")
+                 (("http://www.oasis-open.org/docbook/xml/4.4/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
          (add-before 'check 'pre-check
            (lambda _
              (setenv "CC" "gcc")
@@ -4293,6 +4301,8 @@ passwords in the GNOME keyring.")
                 (string-append m "$PKG_CONFIG_PATH:"))))))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
+       ("docbook-xml" ,docbook-xml-4.4)
+       ("docbook-xsl" ,docbook-xsl)
        ("flex" ,flex)
        ("bison" ,bison)
        ("xsltproc" ,libxslt)
-- 
2.31.0


[-- Attachment #1.1.47: 0046-gnu-vala-Update-to-0.52.0.patch --]
[-- Type: text/x-patch, Size: 2869 bytes --]

From 4d53f2e722dcd3e15f2d282fd3ee19f032454575 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:34:48 -0500
Subject: [PATCH 46/83] gnu: vala: Update to 0.52.0.

* gnu/packages/gnome.scm (vala) [version]: Update to 0.52.0.
[native-inputs]: Add help2man and perl.
[inputs]: Move graphviz to ...
[propagated-inputs]: ... here.
---
 gnu/packages/gnome.scm | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 92c46158ac..70e3c38e20 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -141,6 +141,7 @@
   #:use-module (gnu packages lirc)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages mail)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages music)
@@ -4270,7 +4271,7 @@ passwords in the GNOME keyring.")
 (define-public vala
   (package
     (name "vala")
-    (version "0.50.3")
+    (version "0.52.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/vala/"
@@ -4278,7 +4279,7 @@ passwords in the GNOME keyring.")
                                   "vala-" version ".tar.xz"))
               (sha256
                (base32
-                "1nx5xjarpkl9hgy0qbqfczx7d7clh5g1r8xr5xp8b97c5fsc2rb1"))))
+                "12y6p8wdjp01vmfhxg2cgh32xnyqq6ivblvrar9clnj6vc867qhx"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      '(#:configure-flags '("--enable-coverage")
@@ -4300,18 +4301,19 @@ passwords in the GNOME keyring.")
                (("export PKG_CONFIG_PATH=" m)
                 (string-append m "$PKG_CONFIG_PATH:"))))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("bison" ,bison)
+       ("dbus" ,dbus)                   ; for dbus tests
        ("docbook-xml" ,docbook-xml-4.4)
        ("docbook-xsl" ,docbook-xsl)
        ("flex" ,flex)
-       ("bison" ,bison)
-       ("xsltproc" ,libxslt)
-       ("dbus" ,dbus)                   ; for dbus tests
-       ("gobject-introspection" ,gobject-introspection))) ; for gir tests
-    (inputs
-     `(("graphviz" ,graphviz)))
+       ("gobject-introspection" ,gobject-introspection) ; for gir tests
+       ("help2man" ,help2man)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
-     `(("glib" ,glib)))                 ; required by libvala-0.40.pc
+     `(("glib" ,glib)                   ; required by libvala-0.40.pc
+       ("libgvc" ,graphviz)))
     (home-page "https://wiki.gnome.org/Projects/Vala/")
     (synopsis "Compiler for the GObject type system")
     (description
-- 
2.31.0


[-- Attachment #1.1.48: 0047-gnu-vala-Update-synopsis-and-description.patch --]
[-- Type: text/x-patch, Size: 1615 bytes --]

From 8c1a4d4498c1af509473b152aac92779546dcd6b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:38:26 -0500
Subject: [PATCH 47/83] gnu: vala: Update synopsis and description.

* gnu/packages/gnome.scm (vala) [synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/gnome.scm | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 70e3c38e20..f071fd857e 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4315,12 +4315,12 @@ passwords in the GNOME keyring.")
      `(("glib" ,glib)                   ; required by libvala-0.40.pc
        ("libgvc" ,graphviz)))
     (home-page "https://wiki.gnome.org/Projects/Vala/")
-    (synopsis "Compiler for the GObject type system")
-    (description
-     "Vala is a programming language that aims to bring modern programming
-language features to GNOME developers without imposing any additional runtime
-requirements and without using a different ABI compared to applications and
-libraries written in C.")
+    (synopsis "Compiler using the GObject type system")
+    (description "Vala is a programming language using modern high level
+abstractions without imposing additional runtime requirements and without using
+a different ABI compared to applications and libraries written in C.  Vala uses
+the GObject type system and has additional code generation routines that make
+targeting the GNOME stack simple.")
     (license license:lgpl2.1+)))
 
 (define-public vte
-- 
2.31.0


[-- Attachment #1.1.49: 0048-gnu-libgsf-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 915 bytes --]

From 338f078bac749602ac5dae25d75097dd20a45f9f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:53:42 -0500
Subject: [PATCH 48/83] gnu: libgsf: Change build-system.

* gnu/packages/gnome.scm (libgsf) [build-system]: Change from gnu to glib-or-gtk.
---
 gnu/packages/gnome.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index f071fd857e..a415dde77a 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3274,7 +3274,7 @@ XML/CSS rendering engine.")
               (sha256
                (base32
                 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      '(#:configure-flags '("--disable-static")))
     (native-inputs
-- 
2.31.0


[-- Attachment #1.1.50: 0049-gnu-libgsf-Make-separate-output-for-binaries.patch --]
[-- Type: text/x-patch, Size: 863 bytes --]

From 35ed71424fbe1d65150f4281720df100601bb866 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 11:56:04 -0500
Subject: [PATCH 49/83] gnu: libgsf: Make separate output for binaries.

* gnu/packages/gnome.scm (libgsf) [outputs]: New output "bin".
---
 gnu/packages/gnome.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index a415dde77a..fae4c3a4ff 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3275,6 +3275,7 @@ XML/CSS rendering engine.")
                (base32
                 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
     (build-system glib-or-gtk-build-system)
+    (outputs '("out" "bin"))
     (arguments
      '(#:configure-flags '("--disable-static")))
     (native-inputs
-- 
2.31.0


[-- Attachment #1.1.51: 0050-gnu-libgsf-Re-arrange-inputs-in-alphabetical-order.patch --]
[-- Type: text/x-patch, Size: 1233 bytes --]

From 1c501a2623dd87cfdd65e4b932c0bb5995e10555 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:02:14 -0500
Subject: [PATCH 50/83] gnu: libgsf: Re-arrange inputs in alphabetical order.

* gnu/packages/gnome.scm (libgsf) [native-inputs]: Modify.
[inputs]: Modify.
---
 gnu/packages/gnome.scm | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index fae4c3a4ff..3f110d786f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3279,15 +3279,13 @@ XML/CSS rendering engine.")
     (arguments
      '(#:configure-flags '("--disable-static")))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("gettext" ,gettext-minimal)
-
-       ;; For tests.
+     `(("gettext" ,gettext-minimal)
        ("perl" ,perl)
-       ("perl-xml-parser" ,perl-xml-parser)))
+       ("perl-xml-parser" ,perl-xml-parser)
+       ("pkg-config" ,pkg-config)))
     (inputs
-     `(("zlib" ,zlib)
-       ("bzip2" ,bzip2)))
+     `(("bzip2" ,bzip2)
+       ("zlib" ,zlib)))
     (propagated-inputs
      `(("gdk-pixbuf" ,gdk-pixbuf)
        ("glib" ,glib)
-- 
2.31.0


[-- Attachment #1.1.52: 0051-gnu-libgsf-Enable-missing-features.patch --]
[-- Type: text/x-patch, Size: 1904 bytes --]

From 2a86124a22b78ef7daa45c4a7aa75c67f734bde3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:08:10 -0500
Subject: [PATCH 51/83] gnu: libgsf: Enable missing features.

* gnu/packages/gnome.scm (libgsf) [arguments]<#:configure-flag>[--enable-introspection]: New flag.
[--with-gir-dir=]: New flag.
[--with-typelib-dir=]: New flag.
[--with-zlib]: New flag.
[--with-bz2]: New flag.
[native-inputs]: Add gobject-introspection.
---
 gnu/packages/gnome.scm | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 3f110d786f..48f8b09ba7 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3277,9 +3277,27 @@ XML/CSS rendering engine.")
     (build-system glib-or-gtk-build-system)
     (outputs '("out" "bin"))
     (arguments
-     '(#:configure-flags '("--disable-static")))
+     `(#:configure-flags
+       (list
+        "--disable-static"
+        "--enable-introspection"
+        (string-append "--with-gir-dir="
+                       (assoc-ref %outputs "out")
+                       "/share/gir-"
+                       ,(version-major
+                         (package-version gobject-introspection))
+                       ".0")
+        (string-append "--with-typelib-dir="
+                       (assoc-ref %outputs "out")
+                       "/lib/girepository-"
+                       ,(version-major
+                         (package-version gobject-introspection))
+                       ".0")
+        "--with-zlib"
+        "--with-bz2")))
     (native-inputs
      `(("gettext" ,gettext-minimal)
+       ("gobject-introspection" ,gobject-introspection)
        ("perl" ,perl)
        ("perl-xml-parser" ,perl-xml-parser)
        ("pkg-config" ,pkg-config)))
-- 
2.31.0


[-- Attachment #1.1.53: 0052-gnu-libgsf-Correct-inputs.patch --]
[-- Type: text/x-patch, Size: 1267 bytes --]

From f98968f4e68a0f853594e9b1403506d570cfb4ce Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:11:02 -0500
Subject: [PATCH 52/83] gnu: libgsf: Correct inputs.

* gnu/packages/gnome.scm (libgsf) [native-inputs]: Add python-wrapper.
[propagated-inputs]: Move gdk-pixbuf to ...
[inputs]: ... here.
---
 gnu/packages/gnome.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 48f8b09ba7..101d87c96f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3300,13 +3300,14 @@ XML/CSS rendering engine.")
        ("gobject-introspection" ,gobject-introspection)
        ("perl" ,perl)
        ("perl-xml-parser" ,perl-xml-parser)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
     (inputs
      `(("bzip2" ,bzip2)
+       ("gdk-pixbuf" ,gdk-pixbuf)
        ("zlib" ,zlib)))
     (propagated-inputs
-     `(("gdk-pixbuf" ,gdk-pixbuf)
-       ("glib" ,glib)
+     `(("glib" ,glib)
        ("libxml2" ,libxml2)))
     (home-page "https://www.gnome.org/projects/libgsf")
     (synopsis "GNOME's Structured File Library")
-- 
2.31.0


[-- Attachment #1.1.54: 0053-gnu-libgsf-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 2137 bytes --]

From 942aa32392be9e6f9d793a8828f7365ddadfb120 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:20:52 -0500
Subject: [PATCH 53/83] gnu: libgsf: Enable documentation.

* gnu/packages/gnome.scm (libgsf) [outputs]: New output "doc".
[arguments]<#:configure-flags>[--with-html-dir]: New flag.
[native-inputs]: Add docbook-xml.
---
 gnu/packages/gnome.scm | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 101d87c96f..c715b4391b 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3275,7 +3275,7 @@ XML/CSS rendering engine.")
                (base32
                 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
     (build-system glib-or-gtk-build-system)
-    (outputs '("out" "bin"))
+    (outputs '("out" "bin" "doc"))
     (arguments
      `(#:configure-flags
        (list
@@ -3293,10 +3293,24 @@ XML/CSS rendering engine.")
                        ,(version-major
                          (package-version gobject-introspection))
                        ".0")
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html")
         "--with-zlib"
-        "--with-bz2")))
+        "--with-bz2")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* "gsf-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.5/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t)))))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
+     `(("docbook-xml" ,docbook-xml)
+       ("gettext" ,gettext-minimal)
        ("gobject-introspection" ,gobject-introspection)
        ("perl" ,perl)
        ("perl-xml-parser" ,perl-xml-parser)
-- 
2.31.0


[-- Attachment #1.1.55: 0054-gnu-libgsf-Update-synopsis-description-home-page-and.patch --]
[-- Type: text/x-patch, Size: 1509 bytes --]

From e2e29b4410766361534518f06942489a0211d211 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:22:54 -0500
Subject: [PATCH 54/83] gnu: libgsf: Update synopsis, description, home-page
 and license.

* gnu/packages/gnome.scm (libgsf) [synopsis]: Modify.
[home-page]: Modify.
[description]: Modify.
[license]: Modify.
---
 gnu/packages/gnome.scm | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index c715b4391b..50d16a6048 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3323,14 +3323,16 @@ XML/CSS rendering engine.")
     (propagated-inputs
      `(("glib" ,glib)
        ("libxml2" ,libxml2)))
-    (home-page "https://www.gnome.org/projects/libgsf")
-    (synopsis "GNOME's Structured File Library")
-    (description
-     "Libgsf aims to provide an efficient extensible I/O abstraction for
-dealing with different structured file formats.")
-
-    ;; LGPLv2.1-only.
-    (license license:lgpl2.1)))
+    (synopsis "G Structured File Library")
+    (description "Libgsf aims to provide an efficient extensible I/O abstraction
+for dealing with different structured file formats.")
+    (home-page "https://gitlab.gnome.org/GNOME/libgsf")
+    (license
+     (list
+      ;; Library
+      license:lgpl2.1+
+      ;; Others
+      license:lgpl2.0+))))
 
 (define-public librsvg
   (package
-- 
2.31.0


[-- Attachment #1.1.56: 0055-gnu-atk-Re-arrange-inputs-in-alphabetical-order.patch --]
[-- Type: text/x-patch, Size: 2847 bytes --]

From c87a50219ccd5a7cd42abd3a1dfe0fb89830a5d7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:39:47 -0500
Subject: [PATCH 55/83] gnu: atk: Re-arrange inputs in alphabetical order.

* gnu/packages/gtk.scm (atk) [native-inputs]: Modify.
---
 gnu/packages/gtk.scm | 44 ++++++++++++++++++++++----------------------
 1 file changed, 22 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 582a096c12..9b96b614a6 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -98,30 +98,30 @@
 
 (define-public atk
   (package
-   (name "atk")
-   (version "2.34.1")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "1jwp16r6p5z66k4b2v8zlzhyshhwlmyi27ippkrgqr8jsary7w6l"))))
-   (build-system meson-build-system)
-   (propagated-inputs `(("glib" ,glib))) ; required by atk.pc
-   (native-inputs
-    `(("pkg-config" ,pkg-config)
-      ("gettext" ,gettext-minimal)
-      ("glib" ,glib "bin")                               ; glib-mkenums, etc.
-      ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
-   (synopsis "GNOME accessibility toolkit")
-   (description
-    "ATK provides the set of accessibility interfaces that are implemented
+    (name "atk")
+    (version "2.34.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1jwp16r6p5z66k4b2v8zlzhyshhwlmyi27ippkrgqr8jsary7w6l"))))
+    (build-system meson-build-system)
+    (propagated-inputs `(("glib" ,glib))) ; required by atk.pc
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("glib" ,glib "bin")             ; glib-mkenums, etc.
+       ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
+       ("pkg-config" ,pkg-config)))
+    (synopsis "GNOME accessibility toolkit")
+    (description
+     "ATK provides the set of accessibility interfaces that are implemented
 by other toolkits and applications.  Using the ATK interfaces, accessibility
 tools have full access to view and control running applications.")
-   (license license:lgpl2.0+)
-   (home-page "https://developer.gnome.org/atk/")))
+    (license license:lgpl2.0+)
+    (home-page "https://developer.gnome.org/atk/")))
 
 (define-public cairo
   (package
-- 
2.31.0


[-- Attachment #1.1.57: 0056-gnu-atk-Update-to-2.36.0.patch --]
[-- Type: text/x-patch, Size: 1368 bytes --]

From 37ba0f6fc784149cd8aae66f652dc2ee751ea708 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:44:36 -0500
Subject: [PATCH 56/83] gnu: atk: Update to 2.36.0.

* gnu/packages/gtk.scm (atk) [version]: Update to 2.36.0.
[arguments]<#:glib-or-gtk?>: New argument.
---
 gnu/packages/gtk.scm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 9b96b614a6..37d98b672a 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -99,7 +99,7 @@
 (define-public atk
   (package
     (name "atk")
-    (version "2.34.1")
+    (version "2.36.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -107,8 +107,10 @@
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1jwp16r6p5z66k4b2v8zlzhyshhwlmyi27ippkrgqr8jsary7w6l"))))
+                "1217cmmykjgkkim0zr1lv5j13733m4w5vipmy4ivw0ll6rz28xpv"))))
     (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t))  ; To wrap binaries and/or compile schemas
     (propagated-inputs `(("glib" ,glib))) ; required by atk.pc
     (native-inputs
      `(("gettext" ,gettext-minimal)
-- 
2.31.0


[-- Attachment #1.1.58: 0057-gnu-atk-Update-home-page-and-license.patch --]
[-- Type: text/x-patch, Size: 1031 bytes --]

From d17b84ca06e476349d2dd2ce97a209c996abaf75 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:46:00 -0500
Subject: [PATCH 57/83] gnu: atk: Update home-page and license.

* gnu/packages/gtk.scm (atk) [home-page]: Modify.
[license]: Update to lgpl2.1+.
---
 gnu/packages/gtk.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 37d98b672a..a85feb87e4 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -122,8 +122,8 @@
      "ATK provides the set of accessibility interfaces that are implemented
 by other toolkits and applications.  Using the ATK interfaces, accessibility
 tools have full access to view and control running applications.")
-    (license license:lgpl2.0+)
-    (home-page "https://developer.gnome.org/atk/")))
+    (license license:lgpl2.1+)
+    (home-page "https://wiki.gnome.org/Accessibility")))
 
 (define-public cairo
   (package
-- 
2.31.0


[-- Attachment #1.1.59: 0058-gnu-atkmm-Update-to-2.36.0.patch --]
[-- Type: text/x-patch, Size: 2372 bytes --]

From 31533e4c14d80af6b0356faf281bf4b824854fba Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 12:50:53 -0500
Subject: [PATCH 58/83] gnu: atkmm: Update to 2.36.0.

* gnu/packages/gtk.scm (atkmm) [version]: Update to 2.36.0.
[build-system]: Change from gnu to meson.
[arguments]<#:glib-or-gtk?>: New argument.
[native-inputs]: Add m4, mm-common, perl and libxslt.
---
 gnu/packages/gtk.scm | 28 ++++++++++++++++++----------
 1 file changed, 18 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index a85feb87e4..b3498fa525 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -78,6 +78,7 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages m4)
   #:use-module (gnu packages man)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
@@ -1437,17 +1438,24 @@ library.")
 (define-public atkmm
   (package
     (name "atkmm")
-    (version "2.28.0")
+    (version "2.36.0")
     (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/" name "/"
-                                 (version-major+minor version)  "/"
-                                 name "-" version ".tar.xz"))
-             (sha256
-              (base32
-               "0fnxrspxkhhbrjphqrpvl3zjm66n50s4cywrrrwkhbflgy8zqk2c"))))
-    (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0wwr0663jrqx2klsasffd9wpk3kqnwisj1y3ahdkjdk5hzrsjgy9"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t))   ; To wrap binaries and/or compile schemas
+    (native-inputs
+     `(("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("glibmm" ,glibmm) ("atk" ,atk)))
     (home-page "https://www.gtkmm.org")
-- 
2.31.0


[-- Attachment #1.1.60: 0059-gnu-atkmm-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 2147 bytes --]

From 74210685a3462b298ff34d26f909c078561d554a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 24 Mar 2021 22:46:44 -0400
Subject: [PATCH 59/83] gnu: atkmm: Enable documentation.

* gnu/packages/gtk.scm (atkmm) [outputs]: Add new output "doc".
[arguments]<#:configure-flags>[-Denable-documentation]: New flag.
[arguments]<#:phases>['move-doc]: New phase.
[native-inputs]: Add graphviz, doxygen.
---
 gnu/packages/gtk.scm | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index b3498fa525..494c952013 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -74,6 +74,7 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
   #:use-module (gnu packages libffi)
@@ -1448,10 +1449,27 @@ library.")
                (base32
                 "0wwr0663jrqx2klsasffd9wpk3kqnwisj1y3ahdkjdk5hzrsjgy9"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:glib-or-gtk? #t))   ; To wrap binaries and/or compile schemas
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Dbuild-documentation=true")
+       #:phases
+       (modify-phases %standard-phases
+         (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"))
+               #t))))))
     (native-inputs
-     `(("m4" ,m4)
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("m4" ,m4)
        ("mm-common" ,mm-common)
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
-- 
2.31.0


[-- Attachment #1.1.61: 0060-gnu-atkmm-Update-synopsis-description-home-page-and-.patch --]
[-- Type: text/x-patch, Size: 1349 bytes --]

From 62d4a26701b1a91a401a78b4e2d769b767122f03 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 13:01:19 -0500
Subject: [PATCH 60/83] gnu: atkmm: Update synopsis, description, home-page and
 license.

* gnu/packages/gtk.scm (atkmm) [synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Add gpl2+.
---
 gnu/packages/gtk.scm | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 494c952013..4e69d5d834 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1476,12 +1476,15 @@ library.")
        ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("glibmm" ,glibmm) ("atk" ,atk)))
-    (home-page "https://www.gtkmm.org")
-    (synopsis "C++ interface to the ATK accessibility library")
-    (description
-     "ATKmm provides a C++ programming interface to the ATK accessibility
-toolkit.")
-    (license license:lgpl2.1+)))
+    (synopsis "C++ bindings for ATK")
+    (description "ATKmm is the C++ binding for the ATK library.")
+    (home-page "https://wiki.gnome.org/Accessibility")
+    (license
+     (list
+      ;; Library
+      license:lgpl2.1+
+      ;; Tools
+      license:gpl2+))))
 
 (define-public gtkmm
   (package
-- 
2.31.0


[-- Attachment #1.1.62: 0061-gnu-Add-atkmm-2.28.patch --]
[-- Type: text/x-patch, Size: 1211 bytes --]

From 25e7c471da272baee7d35f219b2d2fa3183680ea Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 26 Mar 2021 15:54:09 -0400
Subject: [PATCH 61/83] gnu: Add atkmm-2.28.

* gnu/packages/gtk.scm (atkmm-2.28): New variable.
---
 gnu/packages/gtk.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 4e69d5d834..483a735b10 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1486,6 +1486,24 @@ library.")
       ;; Tools
       license:gpl2+))))
 
+(define-public atkmm-2.28
+  (package
+    (inherit atkmm)
+    (name "atkmm")
+    (version "2.28.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1b8vycqzr3lfvk2l73f4kk74hj48081zbh9r1r2ilr3h8xh7cs0i"))))
+    (propagated-inputs
+     `(("glibmm" ,glibmm-2.64)
+       ,@(package-propagated-inputs atkmm)))))
+
 (define-public gtkmm
   (package
     (name "gtkmm")
-- 
2.31.0


[-- Attachment #1.1.63: 0062-gnu-at-spi2-core-Update-to-2.40.0.patch --]
[-- Type: text/x-patch, Size: 6887 bytes --]

From 9ca4d95dd2a7661ea4be8242709daaf3d9cff905 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 13:17:35 -0500
Subject: [PATCH 62/83] gnu: at-spi2-core: Update to 2.40.0.

* gnu/packages/gtk.scm (at-spi2-core) [version]: Update to 2.40.0.
[arguments]<#:glib-or-gtk?>: New argument.
[native-inputs]: Add glib:bin and python-wrapper.
[propagated-inputs]: Add libx11.
---
 gnu/packages/gtk.scm | 131 ++++++++++++++++++++++---------------------
 1 file changed, 67 insertions(+), 64 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 483a735b10..7c194a905c 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -684,72 +684,75 @@ scaled, composited, modified, saved, or rendered.")
 
 (define-public at-spi2-core
   (package
-   (name "at-spi2-core")
-   (version "2.34.0")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "1ihixwhh3c16q6253qj9gf69741rb2pi51822a4rylsfcyywsafn"))))
-   (build-system meson-build-system)
-   (outputs '("out" "doc"))
-   (arguments
-    '(#:configure-flags
-      (list "-Ddocs=true")
-      #:phases
-      (modify-phases %standard-phases
-        (add-after 'unpack 'set-documentation-path
-          (lambda* (#:key outputs #:allow-other-keys)
-            ;; Ensure that the cross-references point to the "doc" output.
-            (substitute* "doc/libatspi/meson.build"
-              (("docpath =.*")
-               (string-append "docpath = '" (assoc-ref outputs "doc") "/share/gtk-doc/html'\n")))
-            #t))
-        (add-before 'install 'prepare-doc-directory
-          (lambda* (#:key outputs #:allow-other-keys)
-            (mkdir-p (string-append (assoc-ref outputs "doc") "/share"))
-            #t))
-        (add-after 'install 'move-documentation
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out"))
-                  (doc (assoc-ref outputs "doc")))
-              (copy-recursively
-               (string-append out "/share/gtk-doc")
-               (string-append doc "/share/gtk-doc"))
-              (delete-file-recursively
-               (string-append out "/share/gtk-doc")))
-            #t))
-        (add-after 'install 'check
-          (lambda _
-            (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME
-            ;; Run test-suite under a dbus session.
-            (setenv "XDG_DATA_DIRS"     ; for finding org.xfce.Xfconf.service
-                    (string-append %output "/share"))
-            ;; Don't fail on missing  '/etc/machine-id'.
-            (setenv "DBUS_FATAL_WARNINGS" "0") ;
-            (invoke "dbus-launch" "ninja" "test")))
+    (name "at-spi2-core")
+    (version "2.40.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0a9l6cfxynjn6jcp29d72i75xbkrzs1l5kmqcwmfal801b9sg5j1"))))
+    (build-system meson-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     '(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list "-Ddocs=true")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'set-documentation-path
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Ensure that the cross-references point to the "doc" output.
+             (substitute* "doc/libatspi/meson.build"
+               (("docpath =.*")
+                (string-append "docpath = '" (assoc-ref outputs "doc") "/share/gtk-doc/html'\n")))
+             #t))
+         (add-before 'install 'prepare-doc-directory
+           (lambda* (#:key outputs #:allow-other-keys)
+             (mkdir-p (string-append (assoc-ref outputs "doc") "/share"))
+             #t))
+         (add-after 'install 'move-documentation
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (doc (assoc-ref outputs "doc")))
+               (copy-recursively
+                (string-append out "/share/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               (delete-file-recursively
+                (string-append out "/share/gtk-doc")))
+             #t))
+         (add-after 'install 'check
+           (lambda _
+             (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME
+             ;; Run test-suite under a dbus session.
+             (setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service
+                     (string-append %output "/share"))
+             ;; Don't fail on missing  '/etc/machine-id'.
+             (setenv "DBUS_FATAL_WARNINGS" "0") ;
+             (invoke "dbus-launch" "ninja" "test")))
          (delete 'check))))
-   (propagated-inputs
-    ;; atspi-2.pc refers to all these.
-    `(("dbus" ,dbus)
-      ("glib" ,glib)
-      ("libxi" ,libxi)
-      ("libxtst" ,libxtst)))
-   (native-inputs
-    `(("gettext" ,gettext-minimal)
-      ("gobject-introspection" ,gobject-introspection)
-      ("gtk-doc" ,gtk-doc)
-      ("glib" ,glib "bin")
-      ("pkg-config" ,pkg-config)))
-   (synopsis "Assistive Technology Service Provider Interface, core components")
-   (description
-    "The Assistive Technology Service Provider Interface, core components,
+    (propagated-inputs
+     ;; atspi-2.pc refers to all these.
+     `(("dbus" ,dbus)
+       ("glib" ,glib)
+       ("libx11" ,libx11)
+       ("libxi" ,libxi)
+       ("libxtst" ,libxtst)))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("glib" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (synopsis "Assistive Technology Service Provider Interface, core components")
+    (description
+     "The Assistive Technology Service Provider Interface, core components,
 is part of the GNOME accessibility project.")
-   (license license:lgpl2.0+)
-   (home-page "https://projects.gnome.org/accessibility/")))
+    (license license:lgpl2.0+)
+    (home-page "https://projects.gnome.org/accessibility/")))
 
 ;;; A minimal variant used to prevent a cycle with Inkscape.
 (define at-spi2-core-minimal
-- 
2.31.0


[-- Attachment #1.1.64: 0063-gnu-at-spi2-core-Fix-documentation.patch --]
[-- Type: text/x-patch, Size: 1841 bytes --]

From 84cb759eb9dfd1a2b30ba0756c3b2b17f55be058 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 13:24:57 -0500
Subject: [PATCH 63/83] gnu: at-spi2-core: Fix documentation.

* gnu/packages/gtk.scm (at-spi2-core) [arguments]<#:phases>['patch-docbook-sgml]: New phase.
[native-inputs]: Add docbook-xml.
---
 gnu/packages/gtk.scm | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 7c194a905c..c681c71fb4 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -713,6 +713,14 @@ scaled, composited, modified, saved, or rendered.")
            (lambda* (#:key outputs #:allow-other-keys)
              (mkdir-p (string-append (assoc-ref outputs "doc") "/share"))
              #t))
+         (add-after 'unpack 'patch-docbook-sgml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let* ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
+                                           "/xml/dtd/docbook")))
+               (substitute* "doc/libatspi/libatspi-docs.sgml"
+                 (("http://.*/docbookx\\.dtd")
+                  (string-append xmldoc "/docbookx.dtd")))
+               #t)))
          (add-after 'install 'move-documentation
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out"))
@@ -741,7 +749,8 @@ scaled, composited, modified, saved, or rendered.")
        ("libxi" ,libxi)
        ("libxtst" ,libxtst)))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("gettext" ,gettext-minimal)
        ("glib" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
        ("gtk-doc" ,gtk-doc)
-- 
2.31.0


[-- Attachment #1.1.65: 0064-gnu-at-spi2-core-Update-home-page-and-license.patch --]
[-- Type: text/x-patch, Size: 1088 bytes --]

From bcd9e513c0574fc77b9f0aa658719d97a7bd1b4a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 13:26:26 -0500
Subject: [PATCH 64/83] gnu: at-spi2-core: Update home-page and license.

* gnu/packages/gtk.scm (at-spi2-core) [home-page]: Modify.
[license]: Update to lgpl2.1+.
---
 gnu/packages/gtk.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index c681c71fb4..b4d9f7c545 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -760,8 +760,8 @@ scaled, composited, modified, saved, or rendered.")
     (description
      "The Assistive Technology Service Provider Interface, core components,
 is part of the GNOME accessibility project.")
-    (license license:lgpl2.0+)
-    (home-page "https://projects.gnome.org/accessibility/")))
+    (license license:lgpl2.1+)
+    (home-page "https://wiki.gnome.org/Accessibility/")))
 
 ;;; A minimal variant used to prevent a cycle with Inkscape.
 (define at-spi2-core-minimal
-- 
2.31.0


[-- Attachment #1.1.66: 0065-gnu-at-spi2-atk-Update-to-2.38.0.patch --]
[-- Type: text/x-patch, Size: 3932 bytes --]

From 3e0a520c074cec21d84b44dc634331c8a14b766f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 26 Mar 2021 10:13:08 -0400
Subject: [PATCH 65/83] gnu: at-spi2-atk: Update to 2.38.0.

* gnu/packages/gtk.scm (at-spi2-atk) [version]: Update to 2.38.0
[arguments]<#:glib-or-gtk?>: New argument.
[native-inputs]: Add gobject-introspection.
[inputs]: Add glib.
---
 gnu/packages/gtk.scm | 72 +++++++++++++++++++++++---------------------
 1 file changed, 37 insertions(+), 35 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index b4d9f7c545..b0cdb48b22 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -783,42 +783,44 @@ is part of the GNOME accessibility project.")
 
 (define-public at-spi2-atk
   (package
-   (name "at-spi2-atk")
-   (version "2.34.1")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "05ncp7s5nddjinffs26mcvpbd63vk1m3cv5y530p3plgfhqgjvbp"))))
-   (build-system meson-build-system)
-   (arguments
-    '(#:phases
-      (modify-phases %standard-phases
-        (replace 'check
-                 ;; Run test-suite under a dbus session.
-                 (lambda _
-                   (setenv "DBUS_FATAL_WARNINGS" "0")
-                   (invoke "dbus-launch" "meson" "test"))))))
-   (propagated-inputs
-    ;; TODO: Replace by at-spi2-core-minimal in the next staging window, or
-    ;; when Inkscape 0.92 is upgraded to 1.0 to avoid a cycle.
-    `(("at-spi2-core" ,at-spi2-core))) ; required by atk-bridge-2.0.pc
-   (inputs
-    `(("atk" ,atk)))
-   (native-inputs
-    `(("pkg-config" ,pkg-config)
-      ;; For tests.
-      ("dbus" ,dbus)
-      ("libxml2" ,libxml2)))
-   (synopsis "Assistive Technology Service Provider Interface, ATK bindings")
-   (description
-    "The Assistive Technology Service Provider Interface
+    (name "at-spi2-atk")
+    (version "2.38.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0ks6r9sx27l80n3a7yjmkilxv48cqj183wc7cap3caw2myjhi86g"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           ;; Run test-suite under a dbus session.
+           (lambda _
+             (setenv "DBUS_FATAL_WARNINGS" "0")
+             (invoke "dbus-launch" "meson" "test"))))))
+    (propagated-inputs
+     ;; TODO: Replace by at-spi2-core-minimal in the next staging window, or
+     ;; when Inkscape 0.92 is upgraded to 1.0 to avoid a cycle.
+     `(("at-spi2-core" ,at-spi2-core))) ; required by atk-bridge-2.0.pc
+    (inputs
+     `(("atk" ,atk)
+       ("glib" ,glib)))
+    (native-inputs
+     `(("dbus" ,dbus)                ; For tests
+       ("gobject-introspection" ,gobject-introspection)
+       ("libxml2" ,libxml2)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Assistive Technology Service Provider Interface, ATK bindings")
+    (description
+     "The Assistive Technology Service Provider Interface
 is part of the GNOME accessibility project.")
-   (license license:lgpl2.0+)
-   (home-page "https://projects.gnome.org/accessibility/")))
+    (license license:lgpl2.0+)
+    (home-page "https://projects.gnome.org/accessibility/")))
 
 (define-public gtk+-2
   (package
-- 
2.31.0


[-- Attachment #1.1.67: 0066-gnu-at-spi2-atk-Update-home-page-and-license.patch --]
[-- Type: text/x-patch, Size: 1005 bytes --]

From c1bd144d945ff5196a55ea7aa483fbe0cbaae93f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 11 Mar 2021 13:35:04 -0500
Subject: [PATCH 66/83] gnu: at-spi2-atk: Update home-page and license.

* gnu/packages/gtk.scm (at-spi2-atk) [home-page]: Modify.
[license]: Update to lgpl2.1+.
---
 gnu/packages/gtk.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index b0cdb48b22..4d4a75a385 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -819,8 +819,8 @@ is part of the GNOME accessibility project.")
     (description
      "The Assistive Technology Service Provider Interface
 is part of the GNOME accessibility project.")
-    (license license:lgpl2.0+)
-    (home-page "https://projects.gnome.org/accessibility/")))
+    (license license:lgpl2.1+)
+    (home-page "https://wiki.gnome.org/Accessibility/")))
 
 (define-public gtk+-2
   (package
-- 
2.31.0


[-- Attachment #1.1.68: 0067-gnu-json-glib-Update-to-1.6.2.patch --]
[-- Type: text/x-patch, Size: 1980 bytes --]

From 5fe49aa0b9655619b3f9935af0c95efbced68885 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 10:46:18 -0500
Subject: [PATCH 67/83] gnu: json-glib: Update to 1.6.2.

* gnu/packages/gnome.scm (json-glib)[version]: Update to 1.6.2.
[arguments]<#:glib-or-gtk?>: New argument.
---
 gnu/packages/gnome.scm | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 50d16a6048..22fd435feb 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4552,7 +4552,7 @@ configuration storage systems.")
 (define-public json-glib
   (package
     (name "json-glib")
-    (version "1.4.4")
+    (version "1.6.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -4560,15 +4560,17 @@ configuration storage systems.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
+                "092g2dyy1hhl0ix9kp33wcab0pg1qicnsv0cj5ms9g9qs336cgd3"))))
     (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t))     ; To wrap binaries and/or compile schemas
     (native-inputs
      `(("gettext" ,gettext-minimal)
-       ("glib" ,glib "bin")              ;for glib-mkenums and glib-genmarshal
+       ("glib" ,glib "bin")      ;for glib-mkenums and glib-genmarshal
        ("gobject-introspection" ,gobject-introspection)
        ("pkg-config" ,pkg-config)))
     (propagated-inputs
-     `(("glib" ,glib)))                         ;according to json-glib-1.0.pc
+     `(("glib" ,glib)))                 ;according to json-glib-1.0.pc
     (home-page "https://wiki.gnome.org/Projects/JsonGlib")
     (synopsis "Compiler for the GObject type system")
     (description
-- 
2.31.0


[-- Attachment #1.1.69: 0068-gnu-json-glib-Enable-documentation-and-man-pages.patch --]
[-- Type: text/x-patch, Size: 3031 bytes --]

From 53d673147a777312c1ea828e50d313fedb7e32c7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 26 Mar 2021 10:27:59 -0400
Subject: [PATCH 68/83] gnu: json-glib: Enable documentation and man-pages.

* gnu/packages/gnome.scm (json-glib) [outputs]: New output "doc".
[arguments]<#:configure-flags>[-Ddocs]: New flag.
[-Dman]: New flag.
<#:phases>['patch-docbook]: New phase.
['move-doc]: New phase.
[native-inputs]: Add docbook-xml, docbook-xsl, gtk-doc and libxslt.
---
 gnu/packages/gnome.scm | 37 ++++++++++++++++++++++++++++++++++---
 1 file changed, 34 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 22fd435feb..e27f45f6e8 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4562,13 +4562,44 @@ configuration storage systems.")
                (base32
                 "092g2dyy1hhl0ix9kp33wcab0pg1qicnsv0cj5ms9g9qs336cgd3"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:glib-or-gtk? #t))     ; To wrap binaries and/or compile schemas
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Ddocs=true"
+        "-Dman=true")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* "json-glib-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/")))
+               (substitute* "meson.build"
+                 (("http://docbook.sourceforge.net/release/xsl/current/")
+                  (string-append (assoc-ref inputs "docbook-xsl")
+                                 "/xml/xsl/docbook-xsl-1.79.1/"))))
+             #t))
+         (add-after 'install 'move-docs
+           (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/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("docbook-xsl" ,docbook-xsl)
+       ("gettext" ,gettext-minimal)
        ("glib" ,glib "bin")      ;for glib-mkenums and glib-genmarshal
        ("gobject-introspection" ,gobject-introspection)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("glib" ,glib)))                 ;according to json-glib-1.0.pc
     (home-page "https://wiki.gnome.org/Projects/JsonGlib")
-- 
2.31.0


[-- Attachment #1.1.70: 0069-gnu-json-glib-Update-synopsis-and-description.patch --]
[-- Type: text/x-patch, Size: 1548 bytes --]

From ee69230bdece8d5814626f6d335a96a6fbe9fb35 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 10:55:57 -0500
Subject: [PATCH 69/83] gnu: json-glib: Update synopsis and description.

* gnu/packages/gnome.scm (json-glib) [synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/gnome.scm | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index e27f45f6e8..67cae0da90 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4603,13 +4603,10 @@ configuration storage systems.")
     (propagated-inputs
      `(("glib" ,glib)))                 ;according to json-glib-1.0.pc
     (home-page "https://wiki.gnome.org/Projects/JsonGlib")
-    (synopsis "Compiler for the GObject type system")
-    (description
-     "JSON-GLib is a C library based on GLib providing serialization and
-deserialization support for the JavaScript Object Notation (JSON) format
-described by RFC 4627.  It provides parser and generator GObject classes and
-various wrappers for the complex data types employed by JSON, such as arrays
-and objects.")
+    (synopsis "Glib and GObject implementation of JSON")
+    (description "JSON-GLib is a library providing serialization and
+described by RFC 4627.  It implements a full JSON parser and generator using
+GLib and GObject, and integrates JSON with GLib data types.")
     (license license:lgpl2.1+)))
 
 (define-public libxklavier
-- 
2.31.0


[-- Attachment #1.1.71: 0070-gnu-wayland-Update-to-1.19.0.patch --]
[-- Type: text/x-patch, Size: 2280 bytes --]

From b0a2a0967a93fca1af7c34e770edbce87d6ad3b2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 26 Mar 2021 10:37:37 -0400
Subject: [PATCH 70/83] gnu: wayland: Update to 1.19.0.

* gnu/packages/freedesktop.scm (wayland)[version]: Update to 1.19.0.
[build-system]: Change from gnu to meson.
[native-inputs]: Move here docbook-xml and docbook-xsl from ...
[inputs]: ... here. Move libffi to ...
[propagated-inputs]: ... here.
---
 gnu/packages/freedesktop.scm | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 4105dd7ca0..d5e58730e2 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -916,29 +916,31 @@ Python.")
 (define-public wayland
   (package
     (name "wayland")
-    (version "1.18.0")
+    (version "1.19.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://wayland.freedesktop.org/releases/"
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0k995rn96xkplrapz5k648j651wc43kq817xk1x8280h16gsfxa6"))))
-    (build-system gnu-build-system)
+                "05bd2vphyx8qwa1mhsj1zdaiv4m4v94wrlssrn0lad8d601dkk5s"))))
+    (build-system meson-build-system)
     (arguments
      `(#:parallel-tests? #f))
     (native-inputs
-     `(("doxygen" ,doxygen)
-       ("graphviz" ,graphviz)
+     `(("docbook-xml-4.2" ,docbook-xml-4.2)
+       ("docbook-xml" ,docbook-xml)
+       ("docbook-xsl" ,docbook-xsl)
+       ("dot" ,graphviz)
+       ("doxygen" ,doxygen)
        ("pkg-config" ,pkg-config)
        ("xmlto" ,xmlto)
        ("xsltproc" ,libxslt)))
     (inputs
-     `(("docbook-xml" ,docbook-xml)
-       ("docbook-xsl" ,docbook-xsl)
-       ("expat" ,expat)
-       ("libffi" ,libffi)
-       ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
+     `(("expat" ,expat)
+       ("libxml2" ,libxml2)))           ; for XML_CATALOG_FILES
+    (propagated-inputs
+     `(("libffi" ,libffi)))
     (home-page "https://wayland.freedesktop.org/")
     (synopsis "Display server protocol")
     (description
-- 
2.31.0


[-- Attachment #1.1.72: 0071-gnu-wayland-Fix-and-move-documentation.patch --]
[-- Type: text/x-patch, Size: 2191 bytes --]

From 7b5298bfa6d143b3a6a3b946ea3989ef5553b66c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 26 Mar 2021 10:42:00 -0400
Subject: [PATCH 71/83] gnu: wayland: Fix and move documentation.

* gnu/packages/freedesktop.scm (wayland) [outputs]: New output "doc".
[arguments]<#:phases>['patch-docbook-xml]: New phase.
['move-doc]: New phase.
---
 gnu/packages/freedesktop.scm | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index d5e58730e2..af581f32eb 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -925,8 +925,31 @@ Python.")
                (base32
                 "05bd2vphyx8qwa1mhsj1zdaiv4m4v94wrlssrn0lad8d601dkk5s"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:parallel-tests? #f))
+     `(#:parallel-tests? #f
+        #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* (find-files "." "\\.xml$")
+                 (("http://www.oasis-open.org/docbook/xml/4\\.5/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))
+                 (("http://www.oasis-open.org/docbook/xml/4\\.2/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.2")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (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"))
+               #t))))))
     (native-inputs
      `(("docbook-xml-4.2" ,docbook-xml-4.2)
        ("docbook-xml" ,docbook-xml)
-- 
2.31.0


[-- Attachment #1.1.73: 0072-gnu-wayland-Update-synopsis-description-and-license.patch --]
[-- Type: text/x-patch, Size: 1888 bytes --]

From 0ff9e18285d90f986175ac2358ce9b246475b196 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 11:18:19 -0500
Subject: [PATCH 72/83] gnu: wayland: Update synopsis, description and license.

* gnu/packages/freedesktop.scm (wayland) [synopsis]: Modify.
[description]: Modify.
[license]: Change from x11 to expat.
---
 gnu/packages/freedesktop.scm | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index af581f32eb..0cda031e85 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -965,14 +965,14 @@ Python.")
     (propagated-inputs
      `(("libffi" ,libffi)))
     (home-page "https://wayland.freedesktop.org/")
-    (synopsis "Display server protocol")
-    (description
-     "Wayland is a protocol for a compositor to talk to its clients as well as
-a C library implementation of that protocol.  The compositor can be a standalone
-display server running on Linux kernel modesetting and evdev input devices, an X
-application, or a wayland client itself.  The clients can be traditional
-applications, X servers (rootless or fullscreen) or other display servers.")
-    (license license:x11)))
+    (synopsis "Core Wayland window system code and protocol")
+    (description "Wayland is a project to define a protocol for a compositor to
+talk to its clients as well as a library implementation of the protocol.  The
+compositor can be a standalone display server running on Linux kernel
+modesetting and evdev input devices, an X application, or a wayland client
+itself.  The clients can be traditional applications, X servers (rootless or
+fullscreen) or other display servers.")
+    (license license:expat)))
 
 (define-public wayland-protocols
   (package
-- 
2.31.0


[-- Attachment #1.1.74: 0073-gnu-wayland-protocols-Update-description.patch --]
[-- Type: text/x-patch, Size: 1249 bytes --]

From 8c8fccfa5fdf258444aa060d5402217b64763a23 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 11:22:54 -0500
Subject: [PATCH 73/83] gnu: wayland-protocols: Update description.

* gnu/packages/freedesktop.scm (wayland-protocols) [description]: Modify.
---
 gnu/packages/freedesktop.scm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 0cda031e85..de8355c419 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -992,7 +992,10 @@ fullscreen) or other display servers.")
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (synopsis "Wayland protocols")
-    (description "This package contains XML definitions of the Wayland protocols.")
+    (description "Wayland-Protocols contains Wayland protocols that add
+functionality not available in the Wayland core protocol.  Such protocols either
+add completely new functionality, or extend the functionality of some other
+protocol either in Wayland core, or some other protocol in wayland-protocols.")
     (home-page "https://wayland.freedesktop.org")
     (license license:expat)))
 
-- 
2.31.0


[-- Attachment #1.1.75: 0074-gnu-yelp-xsl-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 1468 bytes --]

From ca0d39807667777af926ddb155e810a378206fac Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 26 Mar 2021 10:47:35 -0400
Subject: [PATCH 74/83] gnu: yelp-xsl: Enable documentation.

* gnu/packages/gnome.scm (yelp-xsl) [arguments]<#:configure-flag>
[--enable-doc]: New flag.
[native-inputs]: Add mallard-ducktype, intltool and libxslt.
---
 gnu/packages/gnome.scm | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 67cae0da90..0851027497 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6809,10 +6809,17 @@ of running programs and invoke methods on those interfaces.")
        (sha256
         (base32 "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc"))))
     (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "--enable-doc")))
     (native-inputs
-     `(("gettext-minimal" ,gettext-minimal)
+     `(("ducktype" ,mallard-ducktype)
+       ("gettext" ,gettext-minimal)
+       ("intltool" ,intltool)
        ("itstool" ,itstool)
-       ("xmllint" ,libxml2)))
+       ("xmllint" ,libxml2)
+       ("xsltproc" ,libxslt)))
     (synopsis "XSL stylesheets for Yelp")
     (description "Yelp-XSL is a collection of programs and data files to help
 you build, maintain, and distribute documentation.  It provides XSLT stylesheets
-- 
2.31.0


[-- Attachment #1.1.76: 0075-gnu-gtk-2-Enable-tests.patch --]
[-- Type: text/x-patch, Size: 7480 bytes --]

From 05791ef0a130c2d1ddeb4fb3f9eade9ab9258716 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 26 Mar 2021 10:51:11 -0400
Subject: [PATCH 75/83] gnu: gtk+-2: Enable tests.

* gnu/packages/gtk.scm (gtk+-2) [arguments]<#:parallel-tests?>: New argument.
<#:phases>['disable-tests]: Remove phase.
['disable-failing-tests]: New phase.
['pre-check]: New phase.
[native-inputs]: Add xorg-server-for-tests.
---
 gnu/packages/gtk.scm | 149 ++++++++++++++++++++++++-------------------
 1 file changed, 83 insertions(+), 66 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 4d4a75a385..41b746d661 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -824,77 +824,94 @@ is part of the GNOME accessibility project.")
 
 (define-public gtk+-2
   (package
-   (name "gtk+")
-   (version "2.24.32")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "0bjq7ja9gwcv6n5q4qkvdjjx40wsdiikksz1zqxvxsm5vlyskj5n"))
-            (patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"
-                                     "gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch"
-                                     "gtk2-theme-paths.patch"))))
-   (build-system gnu-build-system)
-   (outputs '("out" "bin" "doc"))
-   (propagated-inputs
-    `(("atk" ,atk)
-      ;; SVG support is optional and requires librsvg, which pulls in rust.
-      ;; Rust is not supported well on every architecture yet.
-      ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system)
-                                                      (%current-system)))
-                         gdk-pixbuf+svg
-                         gdk-pixbuf))
-      ("pango" ,pango)))
-   (inputs
-    `(("cups" ,cups)
-      ("libxcomposite" ,libxcomposite)
-      ("libxcursor" ,libxcursor)
-      ("libxdamage" ,libxdamage)
-      ("libxi" ,libxi)
-      ("libxinerama" ,libxinerama)
-      ("libxrandr" ,libxrandr)))
-   (native-inputs
-    `(("perl" ,perl)
-      ("gettext" ,gettext-minimal)
-      ("glib" ,glib "bin")
-      ("gobject-introspection" ,gobject-introspection)
-      ("pkg-config" ,pkg-config)
-      ("python-wrapper" ,python-wrapper)))
-   (arguments
-    `(#:configure-flags
-      (list "--with-xinput=yes"
-            (string-append "--with-html-dir="
-                           (assoc-ref %outputs "doc")
-                           "/share/gtk-doc/html"))
-      #:phases
-      (modify-phases %standard-phases
-        (add-before 'configure 'disable-tests
-          (lambda _
-            ;; FIXME: re-enable tests requiring an X server
-            (substitute* "gtk/Makefile.in"
-              (("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits ."))
-            #t))
-        (add-after 'install 'remove-cache
-          (lambda* (#:key outputs #:allow-other-keys)
-	    (for-each
+    (name "gtk+")
+    (version "2.24.32")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version)  "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0bjq7ja9gwcv6n5q4qkvdjjx40wsdiikksz1zqxvxsm5vlyskj5n"))
+              (patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"
+                                       "gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch"
+                                       "gtk2-theme-paths.patch"))))
+    (build-system gnu-build-system)
+    (outputs '("out" "bin" "doc"))
+    (propagated-inputs
+     `(("atk" ,atk)
+       ;; SVG support is optional and requires librsvg, which pulls in rust.
+       ;; Rust is not supported well on every architecture yet.
+       ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system)
+                                                       (%current-system)))
+                          gdk-pixbuf+svg
+                          gdk-pixbuf))
+       ("pango" ,pango)))
+    (inputs
+     `(("cups" ,cups)
+       ("libxcomposite" ,libxcomposite)
+       ("libxcursor" ,libxcursor)
+       ("libxdamage" ,libxdamage)
+       ("libxi" ,libxi)
+       ("libxinerama" ,libxinerama)
+       ("libxrandr" ,libxrandr)))
+    (native-inputs
+     `(("perl" ,perl)
+       ("gettext" ,gettext-minimal)
+       ("glib" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)
+       ("python-wrapper" ,python-wrapper)
+       ("xorg-server" ,xorg-server-for-tests)))
+    (arguments
+     `(#:parallel-tests? #f
+       #:configure-flags
+       (list "--with-xinput=yes"
+             (string-append "--with-html-dir="
+                            (assoc-ref %outputs "doc")
+                            "/share/gtk-doc/html"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "gtk/Makefile.in"
+               (("aliasfilescheck\\.sh") ""))
+             (substitute* "gtk/tests/recentmanager.c"
+               (("g_test_add_func \\(\"/recent-manager.*;") ""))
+             (substitute* "gtk/tests/defaultvalue.c"
+               (("return g_test_run\\(\\);") ""))
+             #t))
+         (add-before 'check 'pre-check
+           (lambda _
+             ;; Tests require a running X server.
+             (system "Xvfb :1 +extension GLX &")
+             (setenv "DISPLAY" ":1")
+             ;; Tests write to $HOME.
+             (setenv "HOME" (getcwd))
+             ;; Tests look for $XDG_RUNTIME_DIR.
+             (setenv "XDG_RUNTIME_DIR" (getcwd))
+             ;; For missing '/etc/machine-id'.
+             (setenv "DBUS_FATAL_WARNINGS" "0")
+             #t))
+         (add-after 'install 'remove-cache
+           (lambda* (#:key outputs #:allow-other-keys)
+	     (for-each
 	      delete-file
 	      (find-files (assoc-ref outputs "out") "immodules.cache"))
-            #t)))))
-   (native-search-paths
-    (list (search-path-specification
-           (variable "GUIX_GTK2_PATH")
-           (files '("lib/gtk-2.0")))))
-   (synopsis "Cross-platform toolkit for creating graphical user interfaces")
-   (description
-    "GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating
+             #t)))))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUIX_GTK2_PATH")
+            (files '("lib/gtk-2.0")))))
+    (synopsis "Cross-platform toolkit for creating graphical user interfaces")
+    (description
+     "GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating
 graphical user interfaces.  Offering a complete set of widgets, GTK+ is
 suitable for projects ranging from small one-off tools to complete
 application suites.")
-   (license license:lgpl2.0+)
-   (home-page "https://www.gtk.org/")))
+    (license license:lgpl2.0+)
+    (home-page "https://www.gtk.org/")))
 
 (define-public gtk+
   (package (inherit gtk+-2)
-- 
2.31.0


[-- Attachment #1.1.77: 0076-gnu-gtk-2-Add-missing-inputs-and-search-path.patch --]
[-- Type: text/x-patch, Size: 2597 bytes --]

From 5436edffc9b7d08cc42af1c78150407e1bdb4f36 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 08:05:28 -0500
Subject: [PATCH 76/83] gnu: gtk+-2: Add missing inputs and search-path.

* gnu/packages/gtk.scm (gtk+-2) [native-inputs]: Add intltool.
[inputs]: Add libx11, libxext, libxkbcommon, libxrender and libxshmfence.
[propagated-inputs]: Add cairo and glib.
[search-paths]: New field.
---
 gnu/packages/gtk.scm | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 41b746d661..8ea18f6464 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -841,26 +841,34 @@ is part of the GNOME accessibility project.")
     (outputs '("out" "bin" "doc"))
     (propagated-inputs
      `(("atk" ,atk)
+       ("cairo" ,cairo)
        ;; SVG support is optional and requires librsvg, which pulls in rust.
        ;; Rust is not supported well on every architecture yet.
        ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system)
                                                        (%current-system)))
                           gdk-pixbuf+svg
                           gdk-pixbuf))
+       ("glib" ,glib)
        ("pango" ,pango)))
     (inputs
      `(("cups" ,cups)
+       ("libx11" ,libx11)
        ("libxcomposite" ,libxcomposite)
        ("libxcursor" ,libxcursor)
+       ("libxext" ,libxext)
        ("libxdamage" ,libxdamage)
        ("libxi" ,libxi)
        ("libxinerama" ,libxinerama)
-       ("libxrandr" ,libxrandr)))
+       ("libxkbcommon" ,libxkbcommon)
+       ("libxrandr" ,libxrandr)
+       ("libxrender" ,libxrender)
+       ("libxshmfence" ,libxshmfence)))
     (native-inputs
-     `(("perl" ,perl)
-       ("gettext" ,gettext-minimal)
+     `(("gettext" ,gettext-minimal)
        ("glib" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
+       ("intltool" ,intltool)
+       ("perl" ,perl)
        ("pkg-config" ,pkg-config)
        ("python-wrapper" ,python-wrapper)
        ("xorg-server" ,xorg-server-for-tests)))
@@ -904,6 +912,7 @@ is part of the GNOME accessibility project.")
      (list (search-path-specification
             (variable "GUIX_GTK2_PATH")
             (files '("lib/gtk-2.0")))))
+    (search-paths native-search-paths)
     (synopsis "Cross-platform toolkit for creating graphical user interfaces")
     (description
      "GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating
-- 
2.31.0


[-- Attachment #1.1.78: 0077-gnu-gtk-2-Update-to-2.24.33.patch --]
[-- Type: text/x-patch, Size: 1406 bytes --]

From cdebc4e1988bfb8ce735d0dc0ca8c668bb7c8b19 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 12:04:56 -0500
Subject: [PATCH 77/83] gnu: gtk+-2: Update to 2.24.33.

* gnu/packages/gtk.scm (gtk+-2) [version]: Update to 2.24.33.
---
 gnu/packages/gtk.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 8ea18f6464..db93eb5b44 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -825,7 +825,7 @@ is part of the GNOME accessibility project.")
 (define-public gtk+-2
   (package
     (name "gtk+")
-    (version "2.24.32")
+    (version "2.24.33")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -833,7 +833,7 @@ is part of the GNOME accessibility project.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0bjq7ja9gwcv6n5q4qkvdjjx40wsdiikksz1zqxvxsm5vlyskj5n"))
+                "1nn6kks1zyvb5xikr9y2k7r9bwjy1g4b0m0s66532bclymbwfamc"))
               (patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"
                                        "gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch"
                                        "gtk2-theme-paths.patch"))))
-- 
2.31.0


[-- Attachment #1.1.79: 0078-gnu-gtk-Enable-tests.patch --]
[-- Type: text/x-patch, Size: 10496 bytes --]

From 5e9a5875d7f4b03d42d21ff8e11388df5565b2e4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 26 Mar 2021 10:53:09 -0400
Subject: [PATCH 78/83] gnu: gtk+: Enable tests.

* gnu/packages/gtk.scm (gtk+) [arguments]<#:phases>['pre-configure]: Remove phase.
['disable-failing-tests]: New phase.
['pre-check]: New phase.
---
 gnu/packages/gtk.scm | 202 ++++++++++++++++++++++++-------------------
 1 file changed, 111 insertions(+), 91 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index db93eb5b44..74fd5ceb8e 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -923,97 +923,117 @@ application suites.")
     (home-page "https://www.gtk.org/")))
 
 (define-public gtk+
-  (package (inherit gtk+-2)
-   (name "gtk+")
-   (version "3.24.24")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/" name "/"
-                                (version-major+minor version)  "/"
-                                name "-" version ".tar.xz"))
-            (sha256
-             (base32
-              "12ipk1d376bai9v820qzhxba93kkh5abi6mhyqr4hwjvqmkl77fc"))
-            (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
-                                     "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
-   (propagated-inputs
-    `(("at-spi2-atk" ,at-spi2-atk)
-      ("atk" ,atk)
-      ;; SVG support is optional and requires librsvg, which pulls in rust.
-      ;; Rust is not supported well on every architecture yet.
-      ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system)
-                                                      (%current-system)))
-                         gdk-pixbuf+svg
-                         gdk-pixbuf))
-      ("libepoxy" ,libepoxy)
-      ("libxcursor" ,libxcursor)
-      ("libxi" ,libxi)
-      ("libxinerama" ,libxinerama)
-      ("libxkbcommon" ,libxkbcommon)
-      ("libxdamage" ,libxdamage)
-      ("libxrandr" ,libxrandr)
-      ("mesa" ,mesa)
-      ("pango" ,pango)
-      ("wayland" ,wayland)
-      ("wayland-protocols" ,wayland-protocols)))
-   (inputs
-    `(("libxml2" ,libxml2)
-      ;; XXX: colord depends on mozjs (through polkit), which fails on
-      ;;      on non-intel systems now.
-      ;;("colord" ,colord)
-      ("cups" ,cups)                            ;for printing support
-      ;; XXX: rest depends on p11-kit, which fails on mips64el now.
-      ;;("rest" ,rest)
-      ("json-glib" ,json-glib)))
-   (native-inputs
-    `(("perl" ,perl)
-      ("glib" ,glib "bin")
-      ("gettext" ,gettext-minimal)
-      ("pkg-config" ,pkg-config)
-      ("gobject-introspection" ,gobject-introspection)
-      ("python-wrapper" ,python-wrapper)
-      ;; By using a special xorg-server for GTK+'s tests, we reduce the impact
-      ;; of updating xorg-server directly on the master branch.
-      ("xorg-server" ,xorg-server-for-tests)))
-   (arguments
-    `(#:disallowed-references (,xorg-server-for-tests)
-      ;; 47 MiB goes to "out" (24 of which is locale data!), and 26 MiB goes
-      ;; to "doc".
-      #:configure-flags (list (string-append "--with-html-dir="
-                                             (assoc-ref %outputs "doc")
-                                             "/share/gtk-doc/html")
-                              ;; The header file <gdk/gdkwayland.h> is required
-                              ;; by gnome-control-center
-                              "--enable-wayland-backend"
-                              ;; This is necessary to build both backends.
-                              "--enable-x11-backend"
-                              ;; This enables the HTML5 websocket backend.
-                              "--enable-broadway-backend")
-      #:phases (modify-phases %standard-phases
-        (add-before 'configure 'pre-configure
-          (lambda _
-            ;; Disable most tests, failing in the chroot with the message:
-            ;; D-Bus library appears to be incorrectly set up; failed to read
-            ;; machine uuid: Failed to open "/etc/machine-id": No such file or
-            ;; directory.
-            ;; See the manual page for dbus-uuidgen to correct this issue.
-            (substitute* "testsuite/Makefile.in"
-              (("SUBDIRS = gdk gtk a11y css reftests")
-               "SUBDIRS = gdk"))
-            #t))
-        (add-after 'install 'move-desktop-files
-          ;; Move desktop files into 'bin' to avoid cycle references.
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out"))
-                  (bin (assoc-ref outputs "bin")))
-              (mkdir-p (string-append bin "/share"))
-              (rename-file (string-append out "/share/applications")
-                           (string-append bin "/share/applications"))
-              #t))))))
-   (native-search-paths
-    (list (search-path-specification
-           (variable "GUIX_GTK3_PATH")
-           (files '("lib/gtk-3.0")))))))
+  (package
+    (inherit gtk+-2)
+    (name "gtk+")
+    (version "3.24.24")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://gnome/sources/" name "/"
+                           (version-major+minor version)  "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "12ipk1d376bai9v820qzhxba93kkh5abi6mhyqr4hwjvqmkl77fc"))
+       (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
+                                "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
+    (propagated-inputs
+     `(("at-spi2-atk" ,at-spi2-atk)
+       ("atk" ,atk)
+       ;; SVG support is optional and requires librsvg, which pulls in rust.
+       ;; Rust is not supported well on every architecture yet.
+       ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system)
+                                                       (%current-system)))
+                          gdk-pixbuf+svg
+                          gdk-pixbuf))
+       ("libepoxy" ,libepoxy)
+       ("libxcursor" ,libxcursor)
+       ("libxi" ,libxi)
+       ("libxinerama" ,libxinerama)
+       ("libxkbcommon" ,libxkbcommon)
+       ("libxdamage" ,libxdamage)
+       ("libxrandr" ,libxrandr)
+       ("mesa" ,mesa)
+       ("pango" ,pango)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)))
+    (inputs
+     `(("libxml2" ,libxml2)
+       ;; XXX: colord depends on mozjs (through polkit), which fails on
+       ;;      on non-intel systems now.
+       ;;("colord" ,colord)
+       ("cups" ,cups)                   ;for printing support
+       ;; XXX: rest depends on p11-kit, which fails on mips64el now.
+       ;;("rest" ,rest)
+       ("json-glib" ,json-glib)))
+    (native-inputs
+     `(("perl" ,perl)
+       ("glib" ,glib "bin")
+       ("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ("gobject-introspection" ,gobject-introspection)
+       ("python-wrapper" ,python-wrapper)
+       ;; By using a special xorg-server for GTK+'s tests, we reduce the impact
+       ;; of updating xorg-server directly on the master branch.
+       ("xorg-server" ,xorg-server-for-tests)))
+    (arguments
+     `(#:disallowed-references (,xorg-server-for-tests)
+       ;; 47 MiB goes to "out" (24 of which is locale data!), and 26 MiB goes
+       ;; to "doc".
+       #:configure-flags (list (string-append "--with-html-dir="
+                                              (assoc-ref %outputs "doc")
+                                              "/share/gtk-doc/html")
+                               ;; The header file <gdk/gdkwayland.h> is required
+                               ;; by gnome-control-center
+                               "--enable-wayland-backend"
+                               ;; This is necessary to build both backends.
+                               "--enable-x11-backend"
+                               ;; This enables the HTML5 websocket backend.
+                               "--enable-broadway-backend")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "testsuite/gtk/Makefile.in"
+               (("builderparser cellarea check-icon-names check-cursor-names")
+                "builderparser cellarea check-cursor-names")
+               (("notify no-gtk-init object objects-finalize papersize rbtree")
+                "no-gtk-init papersize rbtree")
+               (("stylecontext templates textbuffer textiter treemodel treepath")
+                "stylecontext textbuffer textiter treemodel treepath"))
+             (substitute* "testsuite/a11y/Makefile.in"
+               (("accessibility-dump tree-performance text children derive")
+                "tree-performance text children derive"))
+             (substitute* "testsuite/reftests/Makefile.in"
+               (("TEST_PROGS = gtk-reftest")
+                "TEST_PROGS = "))
+             #t))
+         (add-before 'check 'pre-check
+           (lambda _
+             ;; Tests require a running X server.
+             (system "Xvfb :1 +extension GLX &")
+             (setenv "DISPLAY" ":1")
+             ;; Tests write to $HOME.
+             (setenv "HOME" (getcwd))
+             ;; Tests look for $XDG_RUNTIME_DIR.
+             (setenv "XDG_RUNTIME_DIR" (getcwd))
+             ;; For missing '/etc/machine-id'.
+             (setenv "DBUS_FATAL_WARNINGS" "0")
+             #t))
+         (add-after 'install 'move-desktop-files
+           ;; Move desktop files into 'bin' to avoid cycle references.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (bin (assoc-ref outputs "bin")))
+               (mkdir-p (string-append bin "/share"))
+               (rename-file (string-append out "/share/applications")
+                            (string-append bin "/share/applications"))
+               #t))))))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "GUIX_GTK3_PATH")
+            (files '("lib/gtk-3.0")))))))
 
 ;;;
 ;;; Guile bindings.
-- 
2.31.0


[-- Attachment #1.1.80: 0079-gnu-gtk-Add-missing-inputs.patch --]
[-- Type: text/x-patch, Size: 4805 bytes --]

From 1637007cc9c7e3d323efb9843a631bbf47fff20f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 08:32:10 -0500
Subject: [PATCH 79/83] gnu: gtk+: Add missing inputs.

* gnu/packages/gtk.scm (gtk+) [native-inputs]: Add docbook-xml,
hicolor-icon-theme, intltool, sassc and libxslt.
[inputs]: Add graphene, harfbuzz, iso-codes and papi.
[propagated-inputs]: Add cairo, fribidi, fontconfig, freetype, glib,
libx11, libxcomposite, libxext, libxfixes and libxrender.
---
 gnu/packages/gtk.scm | 48 ++++++++++++++++++++++++++++++++------------
 1 file changed, 35 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 74fd5ceb8e..fcc20884fe 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -77,6 +77,7 @@
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages iso-codes)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages m4)
@@ -85,12 +86,14 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pretty-print)
+  #:use-module (gnu packages profiling)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages guile-xyz)
   #:use-module (gnu packages cups)
   #:use-module (gnu packages version-control)
+  #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages xdisorg)
@@ -939,44 +942,63 @@ application suites.")
        (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
                                 "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
     (propagated-inputs
-     `(("at-spi2-atk" ,at-spi2-atk)
-       ("atk" ,atk)
+     `(("atk" ,atk)
+       ("at-spi2-atk" ,at-spi2-atk)
+       ("cairo" ,cairo)
+       ("fribidi" ,fribidi)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
        ;; SVG support is optional and requires librsvg, which pulls in rust.
        ;; Rust is not supported well on every architecture yet.
        ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system)
                                                        (%current-system)))
                           gdk-pixbuf+svg
                           gdk-pixbuf))
+       ("glib" ,glib)
        ("libepoxy" ,libepoxy)
+       ("libx11" ,libx11)
+       ("libxcomposite" ,libxcomposite)
        ("libxcursor" ,libxcursor)
+       ("libxdamage" ,libxdamage)
+       ("libxext" ,libxext)
+       ("libxfixes" ,libxfixes)
        ("libxi" ,libxi)
        ("libxinerama" ,libxinerama)
        ("libxkbcommon" ,libxkbcommon)
-       ("libxdamage" ,libxdamage)
        ("libxrandr" ,libxrandr)
+       ("libxrender" ,libxrender)
        ("mesa" ,mesa)
        ("pango" ,pango)
        ("wayland" ,wayland)
        ("wayland-protocols" ,wayland-protocols)))
     (inputs
-     `(("libxml2" ,libxml2)
-       ;; XXX: colord depends on mozjs (through polkit), which fails on
+     `(;; XXX: colord depends on mozjs (through polkit), which fails on
        ;;      on non-intel systems now.
-       ;;("colord" ,colord)
-       ("cups" ,cups)                   ;for printing support
+       ("colord" ,colord)
+       ("cups" ,cups)
+       ("graphene" ,graphene)
+       ("harfbuzz" ,harfbuzz)
+       ("iso-codes" ,iso-codes)
+       ("json-glib" ,json-glib)
+       ("libxml2" ,libxml2)
+       ("papi" ,papi)
        ;; XXX: rest depends on p11-kit, which fails on mips64el now.
-       ;;("rest" ,rest)
-       ("json-glib" ,json-glib)))
+       ("rest" ,rest)))
     (native-inputs
-     `(("perl" ,perl)
-       ("glib" ,glib "bin")
+     `(("docbook-xml" ,docbook-xml-4.1.2)
        ("gettext" ,gettext-minimal)
-       ("pkg-config" ,pkg-config)
+       ("glib" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
+       ("hicolor-icon-theme" ,hicolor-icon-theme)
+       ("intltool" ,intltool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
        ("python-wrapper" ,python-wrapper)
+       ("sassc" ,sassc)
        ;; By using a special xorg-server for GTK+'s tests, we reduce the impact
        ;; of updating xorg-server directly on the master branch.
-       ("xorg-server" ,xorg-server-for-tests)))
+       ("xorg-server" ,xorg-server-for-tests)
+       ("xsltproc" ,libxslt)))
     (arguments
      `(#:disallowed-references (,xorg-server-for-tests)
        ;; 47 MiB goes to "out" (24 of which is locale data!), and 26 MiB goes
-- 
2.31.0


[-- Attachment #1.1.81: 0080-gnu-gtk-Enable-cloud-providers-support.patch --]
[-- Type: text/x-patch, Size: 1435 bytes --]

From e7f0481d3fdcb40ab8a1bfe1da7923eac99548d9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 08:36:52 -0500
Subject: [PATCH 80/83] gnu: gtk+: Enable cloud-providers support.

* gnu/packages/gtk.scm (gtk+) [arguments]<#:configure-flags>
[--enable-cloudproviders]: New flag.
[propagated-inputs]: Add libcloudproviders.
---
 gnu/packages/gtk.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index fcc20884fe..266a8a8220 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -955,6 +955,7 @@ application suites.")
                           gdk-pixbuf+svg
                           gdk-pixbuf))
        ("glib" ,glib)
+       ("libcloudproviders" ,libcloudproviders)
        ("libepoxy" ,libepoxy)
        ("libx11" ,libx11)
        ("libxcomposite" ,libxcomposite)
@@ -1006,6 +1007,7 @@ application suites.")
        #:configure-flags (list (string-append "--with-html-dir="
                                               (assoc-ref %outputs "doc")
                                               "/share/gtk-doc/html")
+                               "--enable-cloudproviders"
                                ;; The header file <gdk/gdkwayland.h> is required
                                ;; by gnome-control-center
                                "--enable-wayland-backend"
-- 
2.31.0


[-- Attachment #1.1.82: 0081-gnu-gtk-Update-to-3.24.27.patch --]
[-- Type: text/x-patch, Size: 1192 bytes --]

From 31818e23faa174e82285fd1965cd0c04055ddd42 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 12 Mar 2021 12:01:02 -0500
Subject: [PATCH 81/83] gnu: gtk+: Update to 3.24.27.

* gnu/packages/gtk.scm (gtk+) [version]: Update to 3.24.27.
---
 gnu/packages/gtk.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 266a8a8220..74e2e3aa5a 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -929,7 +929,7 @@ application suites.")
   (package
     (inherit gtk+-2)
     (name "gtk+")
-    (version "3.24.24")
+    (version "3.24.27")
     (source
      (origin
        (method url-fetch)
@@ -938,7 +938,7 @@ application suites.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "12ipk1d376bai9v820qzhxba93kkh5abi6mhyqr4hwjvqmkl77fc"))
+         "09ksflq5j257bf5zn8q2nnf2flicg9qqgfy7za79z7rkf1shc77p"))
        (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
                                 "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
     (propagated-inputs
-- 
2.31.0


[-- Attachment #1.1.83: 0082-gnu-gtkmm-Update-to-3.24.4.patch --]
[-- Type: text/x-patch, Size: 5360 bytes --]

From 940f38b7dc1a73bed08f0659b7e47b1fbc321f6f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 26 Mar 2021 11:03:36 -0400
Subject: [PATCH 82/83] gnu: gtkmm: Update to 3.24.4.

* gnu/packages/gtk.scm (gtkmm)[version]: Update to 3.24.4.
[build-system]: Change from gnu to glib-or-gtk.
[outputs]: New output "doc".
[arguments]<#:phases>['start-xvfb]: Remove phase.
['pre-check]: New phase.
['move-doc]: New phase.
[native-inputs]: Add graphviz, doxygen, m4, mm-common, perl and
libxslt.
[synopsis]: Modify.
[description]: Modify.
[license]: Add gpl2+.
---
 gnu/packages/gtk.scm | 96 ++++++++++++++++++++++++++------------------
 1 file changed, 57 insertions(+), 39 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 74e2e3aa5a..5da8954dc9 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1591,49 +1591,67 @@ library.")
 (define-public gtkmm
   (package
     (name "gtkmm")
-    (version "3.24.2")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/" name "/"
-                                 (version-major+minor version)  "/"
-                                 name "-" version ".tar.xz"))
-             (sha256
-              (base32
-               "1hxdnhavjyvbcpxhd5z17l9fj4182028s66lc0s16qqqrldhjwbd"))))
-    (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)
-                     ("glib" ,glib "bin")        ;for 'glib-compile-resources'
-                     ("xorg-server" ,xorg-server-for-tests)))
+    (version "3.24.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0hv7pviln4cpjvpz7m7ga5krcsbibqzixdcn0dwzpz0cx71p3swv"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'pre-check
+           (lambda _
+             ;; Tests require a running X server.
+             (system "Xvfb :1 +extension GLX &")
+             (setenv "DISPLAY" ":1")
+             ;; For missing '/etc/machine-id'.
+             (setenv "DBUS_FATAL_WARNINGS" "0")
+             #t))
+         (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"))
+               #t))))))
+    (native-inputs
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("m4" ,m4)
+       ("mm-common" ,mm-common)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)
+       ("xorg-server" ,xorg-server-for-tests)))
     (propagated-inputs
-     `(("pangomm" ,pangomm)
+     `(("atkmm" ,atkmm)
        ("cairomm" ,cairomm)
-       ("atkmm" ,atkmm)
+       ("glibmm" ,glibmm)
        ("gtk+" ,gtk+)
-       ("glibmm" ,glibmm)))
-    (arguments
-     `(#:disallowed-references (,xorg-server-for-tests)
-       #:phases (modify-phases %standard-phases
-                  (add-before 'check 'run-xvfb
-                    (lambda* (#:key inputs #:allow-other-keys)
-                      (let ((xorg-server (assoc-ref inputs "xorg-server")))
-                        ;; Tests such as 'object_move/test' require a running
-                        ;; X server.
-                        (system (string-append xorg-server "/bin/Xvfb :1 &"))
-                        (setenv "DISPLAY" ":1")
-                        ;; Don't fail because of the missing /etc/machine-id.
-                        (setenv "DBUS_FATAL_WARNINGS" "0")
-                        #t))))))
+       ("pangomm" ,pangomm)))
+    (synopsis "C++ Interfaces for GTK+ and GNOME")
+    (description "GTKmm is the official C++ interface for the popular GUI
+library GTK+.  Highlights include typesafe callbacks, and a comprehensive set of
+widgets that are easily extensible via inheritance.  You can create user
+interfaces either in code or with the Glade User Interface designer, using
+libglademm.  There's extensive documentation, including API reference and a
+tutorial.")
     (home-page "https://gtkmm.org/")
-    (synopsis
-     "C++ interface to the GTK+ graphical user interface library")
-    (description
-     "gtkmm is the official C++ interface for the popular GUI library GTK+.
-Highlights include typesafe callbacks, and a comprehensive set of widgets that
-are easily extensible via inheritance.  You can create user interfaces either
-in code or with the Glade User Interface designer, using libglademm.  There's
-extensive documentation, including API reference and a tutorial.")
-    (license license:lgpl2.1+)))
-
+    (license
+     (list
+      ;; Library
+      license:lgpl2.1+
+      ;; Tools
+      license:gpl2+))))
 
 (define-public gtkmm-2
   (package (inherit gtkmm)
-- 
2.31.0


[-- Attachment #1.1.84: 0083-gnu-gtkmm-2-Fix-build.patch --]
[-- Type: text/x-patch, Size: 2136 bytes --]

From 730f60b68f50e562cecea119338f8736d1f9f8bc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 18 Jul 2020 06:18:38 -0400
Subject: [PATCH 83/83] gnu: gtkmm-2: Fix build.

* gnu/packages/gtk.scm (gtkmm-2)[arguments]: Remove field.
[native-inputs]: Remove field.
[propagated-inputs]: Change; atkmm to atkmm-2.28, pangomm to pangomm-2.42,
cairomm to cairomm-1.13 and glibmm to glibmm-2.64.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
 gnu/packages/gtk.scm | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 5da8954dc9..517264d88b 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1654,25 +1654,25 @@ tutorial.")
       license:gpl2+))))
 
 (define-public gtkmm-2
-  (package (inherit gtkmm)
+  (package
+    (inherit gtkmm)
     (name "gtkmm")
     (version "2.24.5")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/" name "/"
-                                 (version-major+minor version)  "/"
-                                 name "-" version ".tar.xz"))
-             (sha256
-              (base32
-               "0wkbzvsx4kgw16f6xjdc1dz7f77ldngdila4yi5lw2zrgcxsb006"))))
-    (arguments '())
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0wkbzvsx4kgw16f6xjdc1dz7f77ldngdila4yi5lw2zrgcxsb006"))))
     (propagated-inputs
-     `(("pangomm" ,pangomm)
-       ("cairomm" ,cairomm)
-       ("atkmm" ,atkmm)
+     `(("atkmm" ,atkmm-2.28)
+       ("cairomm" ,cairomm-1.13)
+       ("glibmm" ,glibmm-2.64)
        ("gtk+" ,gtk+-2)
-       ("glibmm" ,glibmm)))))
+       ("pangomm" ,pangomm-2.42)))))
 
 (define-public gtksourceviewmm
   (package
-- 
2.31.0


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply related	[flat|nested] 68+ messages in thread

* [bug#42958] Big changes from wip-desktop.
  2021-03-26 20:12         ` Raghav Gururajan via Guix-patches via
@ 2021-03-26 20:38           ` Raghav Gururajan via Guix-patches via
  2021-03-26 21:22             ` bug#42958: " Léo Le Bouter via Guix-patches via
  0 siblings, 1 reply; 68+ messages in thread
From: Raghav Gururajan via Guix-patches via @ 2021-03-26 20:38 UTC (permalink / raw)
  To: 42958, Danny Milosavljevic, Ricardo Wurmus, Léo Le Bouter


[-- Attachment #1.1.1: Type: text/plain, Size: 215 bytes --]

@(rekado|lle-bout|danny)

> So I have attached all the patches for this batch. These are 
> non-signed-off, just for the record. :)

Had to make a change to 0068. Attached the modified patch.

Regards,
RG.

[-- Attachment #1.1.2: 0068-gnu-json-glib-Enable-documentation-and-man-pages.patch --]
[-- Type: text/x-patch, Size: 3070 bytes --]

From fa06e0c98bf09b75fda1b738d083c3334712a601 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 26 Mar 2021 10:27:59 -0400
Subject: [PATCH 68/83] gnu: json-glib: Enable documentation and man-pages.

* gnu/packages/gnome.scm (json-glib) [outputs]: New output "doc".
[arguments]<#:configure-flags>[-Ddocs]: New flag.
[-Dman]: New flag.
<#:phases>['patch-docbook]: New phase.
['move-doc]: New phase.
[native-inputs]: Add docbook-xml, docbook-xsl, gtk-doc and libxslt.
---
 gnu/packages/gnome.scm | 38 +++++++++++++++++++++++++++++++++++---
 1 file changed, 35 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 22fd435feb..e56adee111 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4562,13 +4562,45 @@ configuration storage systems.")
                (base32
                 "092g2dyy1hhl0ix9kp33wcab0pg1qicnsv0cj5ms9g9qs336cgd3"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:glib-or-gtk? #t))     ; To wrap binaries and/or compile schemas
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Ddocs=true"
+        "-Dman=true")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* (find-files "." "\\.xml$")
+                 (("http://www.oasis-open.org/docbook/xml/4\\.3/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/")))
+               (substitute* "meson.build"
+                 (("http://docbook.sourceforge.net/release/xsl/current/")
+                  (string-append (assoc-ref inputs "docbook-xsl")
+                                 "/xml/xsl/docbook-xsl-1.79.2/"))))
+             #t))
+         (add-after 'install 'move-docs
+           (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/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("docbook-xsl" ,docbook-xsl)
+       ("gettext" ,gettext-minimal)
        ("glib" ,glib "bin")      ;for glib-mkenums and glib-genmarshal
        ("gobject-introspection" ,gobject-introspection)
-       ("pkg-config" ,pkg-config)))
+       ("gtk-doc" ,gtk-doc)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
      `(("glib" ,glib)))                 ;according to json-glib-1.0.pc
     (home-page "https://wiki.gnome.org/Projects/JsonGlib")
-- 
2.31.0


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply related	[flat|nested] 68+ messages in thread

* bug#42958: Big changes from wip-desktop.
  2021-03-26 20:38           ` Raghav Gururajan via Guix-patches via
@ 2021-03-26 21:22             ` Léo Le Bouter via Guix-patches via
  0 siblings, 0 replies; 68+ messages in thread
From: Léo Le Bouter via Guix-patches via @ 2021-03-26 21:22 UTC (permalink / raw)
  To: Raghav Gururajan, 42958-done, Danny Milosavljevic, Ricardo Wurmus

[-- Attachment #1: Type: text/plain, Size: 1165 bytes --]

On Fri, 2021-03-26 at 16:38 -0400, Raghav Gururajan wrote:
> @(rekado|lle-bout|danny)
> 
> > So I have attached all the patches for this batch. These are 
> > non-signed-off, just for the record. :)
> 
> Had to make a change to 0068. Attached the modified patch.
> 
> Regards,
> RG.

Reviewed, back and forth many comments over IRC with Raghav, pushed as
76b689f339c7ef6f10917e18c630189bb2449110.

Everything builds with:

$ ./pre-inst-env guix build -k -v1 glib libsigc++ glibmm gobject-
introspection cairo cairomm pango pangomm gdk-pixbuf gdk-pixbuf+svg
vala libgsf atk atkmm gtk-doc glibmm@2.64 gtkmm@2 cairomm@1.13 wayland
yelp-xsl json-glib at-spi2-atk at-spi2-core atkmm@2.28 pangomm@2.42 
libsigc++@2 vala gtkmm@2 wayland-protocols

The commit history is not perfect, especially the "cosmetic changes"
that also ungraft things, but we also want to move on and do this
actual GNOME 40 upgrade and it is not worth it obsessing over at the
end mostly irrelevant commit history details.

Any dependents that breaks due to these patches we will fix on core-
updates from now on.

Thanks a lot everyone! Let's upgrade GNOME to 40!!

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 68+ messages in thread

end of thread, other threads:[~2021-03-26 21:23 UTC | newest]

Thread overview: 68+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-20 15:09 [bug#42958] [PATCH core-updates 00/29] Big changes from wip-desktop Danny Milosavljevic
2020-08-20 15:10 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 02/29] gnu: yelp-tools: " Danny Milosavljevic
2020-08-30 20:54     ` Ludovic Courtès
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 03/29] gnu: glib: " Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 04/29] gnu: glib-with-documentation: " Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 05/29] gnu: gobject-introspection: " Danny Milosavljevic
2020-09-23 13:40     ` Danny Milosavljevic
2020-09-23 13:45       ` Danny Milosavljevic
2020-09-24 11:36         ` Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 06/29] gnu: gobject-introspection: Propagate glib Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 07/29] gnu: gobject-introspection: Add patches back Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 08/29] gnu: pixman: Update package definition Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 09/29] gnu: openjpeg: " Danny Milosavljevic
2020-08-20 16:45     ` Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 10/29] gnu: cairo: " Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 11/29] gnu: pango: " Danny Milosavljevic
2020-08-20 16:27     ` Danny Milosavljevic
2020-08-20 16:29       ` Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 12/29] gnu: gdk-pixbuf: " Danny Milosavljevic
2020-08-24  0:19     ` Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 13/29] gnu: gdk-pixbuf: Disable failing tests Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 14/29] gnu: gdk-pixbuf+svg: Update package definition Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 15/29] gnu: vala: " Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 16/29] gnu: libgsf: " Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 17/29] gnu: librsvg@2.40.21: " Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 18/29] gnu: atk: Update to 2.36.0 Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 19/29] gnu: gtk+-2: Update package definition Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 20/29] gnu: wayland: " Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 21/29] gnu: wayland-protocols: " Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 22/29] gnu: atkmm: " Danny Milosavljevic
2020-08-20 16:45     ` Danny Milosavljevic
2020-08-20 16:48     ` Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 23/29] gnu: gtk-doc: " Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 24/29] gnu: json-glib: " Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 25/29] gnu: at-spi2-core: " Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 26/29] gnu: at-spi2-atk: Update to 2.34.2 Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 27/29] gnu: gtk+: Update package definition Danny Milosavljevic
2020-08-20 16:44     ` Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 28/29] gnu: gtk+: Propagate libcloudproviders Danny Milosavljevic
2020-08-20 15:10   ` [bug#42958] [PATCH core-updates 29/29] gnu: gtk+: Add missing input Danny Milosavljevic
2020-09-24 12:26 ` [bug#42958] [PATCH core-updates 01/29] gnu: yelp-xsl: Update package definition Raghav Gururajan
2020-09-24 12:27 ` [bug#42958] [PATCH core-updates 02/29] gnu: yelp-tools: " Raghav Gururajan
2020-09-24 12:28 ` [bug#42958] [PATCH core-updates 03/29] gnu: glib: " Raghav Gururajan
2020-09-24 12:55   ` Efraim Flashner
2020-11-29 12:21     ` Danny Milosavljevic
2020-12-04  6:08     ` [bug#42958] Raghav Gururajan via Guix-patches via
2020-09-27 10:12   ` [bug#42958] [PATCH core-updates 03/29] gnu: glib: Update package definition Danny Milosavljevic
2020-09-24 12:41 ` [bug#42958] [PATCH core-updates 04/29] gnu: glib-with-documentation: Update, " Raghav Gururajan
2020-09-24 12:50   ` Efraim Flashner
2020-09-24 13:14 ` [bug#42958] [PATCH core-updates 05/29] gnu: gobject-introspection: Update package, definition Raghav Gururajan
2020-09-24 13:32   ` Raghav Gururajan
2020-09-24 13:52   ` Danny Milosavljevic
2020-09-24 14:17     ` Raghav Gururajan
2020-09-24 13:20 ` [bug#42958] [PATCH core-updates 06/29] gnu: gobject-introspection: Propagate glib Raghav Gururajan
2020-09-24 13:33 ` [bug#42958] [PATCH core-updates 07/29] gnu: gobject-introspection: Add patches, back Raghav Gururajan
2020-09-24 14:33 ` [bug#42958] [PATCH core-updates 08/29] gnu: pixman: Update package definition Raghav Gururajan
2020-09-24 15:03 ` [bug#42958] [PATCH core-updates 09/29] gnu: openjpeg: " Raghav Gururajan
2020-09-24 15:35 ` [bug#42958] [PATCH core-updates 10/29] gnu: cairo: " Raghav Gururajan
     [not found] ` <handler.42958.B.159793618623098.ack@debbugs.gnu.org>
2020-12-01 21:07   ` [bug#42958] ([PATCH core-updates 00/29] Big changes from wip-desktop.) Danny Milosavljevic
2021-03-11 14:45 ` [bug#42958] Raghav Gururajan via Guix-patches via
2021-03-12 16:37 ` [bug#42958] Big changes from wip-desktop Raghav Gururajan via Guix-patches via
2021-03-12 17:19   ` Raghav Gururajan via Guix-patches via
2021-03-25 12:08     ` Raghav Gururajan via Guix-patches via
2021-03-26  1:00       ` Raghav Gururajan via Guix-patches via
2021-03-26 20:12         ` Raghav Gururajan via Guix-patches via
2021-03-26 20:38           ` Raghav Gururajan via Guix-patches via
2021-03-26 21:22             ` bug#42958: " Léo Le Bouter via Guix-patches via

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).