unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Raghav Gururajan <raghavgururajan@disroot.org>
To: Danny Milosavljevic <dannym@scratchpost.org>
Cc: guix-devel@gnu.org
Subject: Re: [OUTREACHY]: Integration of desktop environments into GNU Guix
Date: Tue, 11 Aug 2020 06:38:14 -0400	[thread overview]
Message-ID: <0e4a4b55-f76e-18f5-a0b5-a76f90e06ab4@disroot.org> (raw)
In-Reply-To: <20200810002822.089483da@scratchpost.org>


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

@Danny

Please find the attached patches.

I will send you the patch for gnome-shell shortly.

NOTE: I am not done with some of these packages yet. Have to fix
run-time issues.

@Others

Please find the following git-log.

*** START ***

commit 17b9cce3c19b092225759e6a1b51e7bcf330a4ce
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Tue Aug 11 04:36:54 2020 -0400

    gnu: gdm: Update package definition.

    * gnu/packages/gnome.scm (gdm) [version]: Update to 3.36.3.
    [source]<origin>[sha256]: Modify base32.
    [patches]<search-patches>[gdm-default-session.patch]: Remove patch.
    [outputs]: New output "help".
    [arguments]<#:configure-flags>[--disable-static]: New flag.
    [--enable-gdm-xsession]: New flag.
    [--enable-ipv6]: New flag.
    [--with-help-dir]: New flag.
    [--with-systemdsystemunitdir]: New flag.
    [--with-default-path]: Modify flag.
    [--with-xevie]: New flag.
    [--without-plymouth]: Remove flag.
    [--localstatedir]: Remove flag.
    [--sbindir]: Remove flag.
    <#:phases>['pre-configure]: Modify phase.
    ['install-placeholder-desktop-entry]: Remove phase.
    ['link-autostart-files]: Remove phase.
    [native-inputs]: Add check.
    [inputs]: Add glib, audit, keyutils, libice, libselinux, plymouth,
    tcp-wrappers, libx11, libxau, libxcb, libxdmcp, libext and libxinerama.
    Remove check.
    [synopsis]: Modify.
    [description]: Modify.

    * gnu/packages/patches/gdm-default-session.patch: Remove file.

    * gnu/local.mk (gdm-default-session.patch): Remove reference.

commit ae30bf6af1397b1b3f7b43ab6435f637fe6d42a7
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Mon Aug 10 02:07:39 2020 -0400

    gnu: mutter: Update package definition.

    * gnu/packages/gnome.scm (mutter) [version]: Update to 3.36.4.
    [source]<origin>[sha256]: Modify base32.
    [arguments]<#:configure-flags>[-Dgles2_libname]: New flag.
    [-Degl_device]: New flag.
    [-Dwayland_eglstream]: New flag.
    [-Dinstalled_tests]: New flag.
    [-Dxwayland_grab_default_access_rules]: New flag.
    [-Dxwayland_initfd]: New flag.
    [-Dc_link_args]: Modify flag.
    <#:phases>['fix-build-with-mesa-20]: Remove phase.
    [native-inputs]: Add adwaita-icon-theme, python-wrapper and ruby.
    Remove autoconf, automake and libtool.
    [propagated-inputs]: Add graphene, wayland and libxi. Remove xinput.
    Move gdk-pixbuf+svg, libinput, eudev, libxcomposite, libxdamage,
libxext,
    libxkbcommon and libxrandr to ...
    [inputs]: ... here. Add dbus, freetype, fribidi, libdrm, sysprof,
egl-wayland,
    wayland-protocols, libxau, libxcb, libxcursor, libxinerama and
libxrender.
    Remove zenity.
    [synopsis]: Modify.
    [description]: Modify.
    [home-page]: Modify.

commit 004c8bbf589b502dfbb36c7d33ddfc76a440ab20
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Tue Aug 11 06:21:31 2020 -0400

    gnu: gjs: Update package definition.

    * gnu/packages/gnome.scm (gjs) [version]: Update to 1.64.4.
    [source]<origin>[sha256]: Modify base32.
    [build-system]: Change from glib-or-gtk to meson.
    [arguments]<#:glib-or-gtk?>: New argument.
    <#:phases>['pre-check]: Modify phase.
    [propagated-inputs]: Replace mozjs-60 with mozjs-68.

commit ae436932c96b4f9f5308580de8999cca4a56b32b
Author: Kei Kebreau <kei@openmailbox.org>
Date:   Tue Apr 21 11:10:24 2020 -0400

    gnu: Add mozjs-68.

    * gnu/packages/gnuzilla.scm (mozjs-68): New variable.

commit c45f292b09227203a37545a7d653852a3f1150bf
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Mon Aug 10 00:05:11 2020 -0400

    gnu: Add egl-wayland.

    * gnu/packages/graphics.scm (egl-wayland): New variable.

commit 4a9eb027bf23e24063dd23bffa1edc3b5da6e637
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sun Aug 9 23:55:18 2020 -0400

    gnu: Add eglexternalplatform.

    * gnu/packages/graphics.scm (eglexternalplatform): New variable.

commit 032db56f8ab3587d4527c56bd3f8c0901ca1f595
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sun Aug 9 07:32:10 2020 -0400

    gnu: wayland-protocols: Update package definition.

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

commit ea024bd3e36c5b164c665f8836d05ccb696274f8
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sun Aug 9 07:16:35 2020 -0400

    gnu: wayland: Update package definition.

    * 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.

commit 0d43e161b7631272f0ac0bed695f18d196451eb9
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sun Aug 9 02:18:24 2020 -0400

    gnu: totem: Update package definition.

    * gnu/packages/gnome.scm (totem): Update package definition.
    [outputs]: New outputs "help" and "doc".
    [arguments]<#:configure-flags>[-Dwith-plugins]: New flag.
    [-Denable-gtk-doc]: New flag.
    <#:phases>['patch-docbook-xml]: New phase.
    ['pre-check]: Modify phase.
    ['move-doc]: New phase.
    ['move-help]: New phase.
    ['wrap-totem]: Modify phase.
    ['disable-cache-generation]: Remove phase.
    [native-inputs]: Add docbook-xml and gtk-doc. Move vala from ...
    [inputs]: ... here. Remove adwaita-icon-theme, atk, dbus-glib, librsvg,
    libsoup, libxrandr, libxtst, libxml2, libxxf86vm, lirc and xorgproto.
    Replace gdk-pixbuf with gdk-pixbuf+svg. Move gtk+ and
totem-pl-parser to ...
    [propagated-inputs]: ... here. Add glib. Remove dconf.
    [synopsis]: Modify.
    [description]: Modify.

commit 18c4692b5cbc5db8c7e8968dcf54c3b7d0d603c4
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Aug 8 23:32:47 2020 -0400

    gnu: sushi: Update package definition.

    * gnu/packages/gnome.scm (sushi) [version]: Update to 3.34.0.
    [source]<origin>[sha256]: Modify base32.
    [arguments]<#:phases>['wrap-typelib]: Modify phase.
    [inputs]: Add glib and gtk+. Replace gdk-pixbuf with gdk-pixbuf+svg.
    Remove clutter, clutter-gst, clutter-gtk, libxml2 and neon.
    [synopsis]: Modify.

commit 9716f05d24a29be16fe04994606a0e419f90c880
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Aug 8 22:28:04 2020 -0400

    gnu: libmusicbrainz: Propagate inputs.

    * gnu/packages/music.scm (libmusicbrainz) [inputs]: Change field to
    propagated-inputs.

commit 73ff96465270910b93fa2f4d6be84799e1f6fee0
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Aug 8 19:07:31 2020 -0400

    gnu: simple-scan: Update package definition.

    * gnu/packages/gnome.scm (simple-scan) [version]: Update to 3.36.4.
    [source]<origin>[sha256]: Modify base32.
    [outputs]: New output "help".
    [arguments]<#:phases>['move-help]: New phase.
    [inputs]: Add glib, libwebp and packagekit. Change gdk-pixbuf to
    gdk-pixbuf+svg.
    [synopsis]: Modify.
    [description]: Modify.

commit f954f2cb3d59e53ed72943cb82fe0d68c8a901e8
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Aug 8 18:25:19 2020 -0400

    gnu: rygel: Update package definition.

    * gnu/packages/gnome.scm (rygel) [version]: Update to 0.38.4.
    [source]<origin>[sha256]: Modify base32.
    [build-system]: Change from gnu to meson.
    [outputs]: New output "doc".
    [arguments]<#:glib-or-gtk?>: New argument.
    <#:configure-flags>[-Dapi-docs]: New flag.
    [-Dsystemd-user-units-dir]: New flag.
    <#:phases>['patch-docbook]: New phase.
    ['move-doc]: New phase.
    [native-inputs]: Add docbook-xml, docbook-xsl, glib:bin, python-wrapper.
    [inputs]: Change gdk-pixbuf to gdk-pixbuf+svg. Add gst-libav,
    gst-plugins-bad, gst-plugins-good, gst-plugins-ugly, libxml2,
    shared-mime-info and sqlite. Move libgee, gstreamer and gupnp-av to ...
    [propagated-inputs]: ... here. Add glib and glib-networking.
    [synopsis]: Modify.
    [description]: Modify.

commit 1e7b17a569017bd57236c62b2682d32493aa3414
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Aug 8 17:54:31 2020 -0400

    gnu: gst-editing-services: Update package definition.

    * gnu/packages/gstreamer.scm (gst-editing-services): Update package
    definition.
    [outputs]: New output "doc".
    [arguments]<#:glib-or-gtk?>: New argument.
    <#:phases>['patch-docbook-xml]: New phase.
    ['move-doc]: New phase.
    [native-inputs]: Add docbook-xml, gobject-introspection and gtk-doc.
    Remove gst-plugins-good. Change python to python-wrapper. Move
gst-plugins-bad
    to ...
    [inputs]: ... here. Add glib, gstreamer and gtk+.
    [synopsis]: Modify.
    [description]: Modify.
    [license]: Modify.

commit bc48bf8cefc9ac9de327e978e8e50765dafcf772
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Aug 8 02:46:28 2020 -0400

    gnu: orca: Update package definition.

    * gnu/packages/gnome.scm (orca) [version]: Update to 3.36.3.
    [source]<origin>[sha256]: Modify base32.
    [outputs]: New output "help".
    [arguments]<#:configure-flags>[--with-help-dir]: New flag.
    <#:phases>['qualify-xkbcomp]: Remove phase.
    ['wrap-orca]: Modify phase.
    [inputs]: Add atk, at-spi2-core, brltty, liblouis and
python-setproctitle.
    Remove gsettings-desktop-schemas, gst-plugins-base, gst-plugins-good and
    xkbcomp.
    [synopsis]: Modify.
    [description]: Modify.

commit 9b802392fb407a39a84066fdef85b50848e3060f
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Aug 8 01:58:33 2020 -0400

    gnu: Add brltty.

    * gnu/packages/accessibility.scm (brltty): New variable.

commit 9db1331a0819dcc291c4af6278d4bd9eac1d6c9b
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Aug 7 23:07:23 2020 -0400

    gnu: Add libbraille.

    * gnu/packages/accessibility.scm (libbraille): New variable.

commit 85bf43ebf72446b765982b00224d7f4610a00482
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Aug 7 22:44:20 2020 -0400

    gnu: Add latex2html.

    * gnu/packages/documentation.scm (latex2html): New variable.

commit 0ae235ac5cf46367d60d91692f8a789efd945d47
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Aug 7 17:08:33 2020 -0400

    gnu: Add liblouisutdml.

    * gnu/packages/language.scm (liblouisutdml): New variable.

    * gnu/packages/patches/liblouisutdml-fix-tests.patch: New file.

    * gnu/local.mk (liblouisutdml-fix-tests.patch): New reference.

commit add14ec0945de8967dc8f736a5561bf05bf3dcfa
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Aug 7 15:44:33 2020 -0400

    gnu: Add liblouis.

    * gnu/packages/languages.scm (liblouis): New variable.

commit 63106f16d167624d83820da97e59317b52ca3343
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Aug 7 14:00:20 2020 -0400

    gnu: nautilus: Update package definition.

    * gnu/packages/gnome.scm (nautilus) [version]: Update to 3.36.3.
    [source]<origin>[sha256]: Modify base32.
    [outputs]: New output "doc".
    [arguments]<#:configure-flags>[-Ddocs]: New flag.
    [-Dselinux]: New flag.
    <#:phases>['patch-docbook-xml]: New phase.
    ['move-doc]: New phase.
    [native-inputs]: Add desktop-file-utils, docbook-xml,
gsettings-desktop-schemas,
    gtk-doc and python-wrapper.
    [inputs]: Add appstream-glib, gstreamer and libx11. Remove
    dconf, exempi, gvfs, libexif and libseccomp. Move gtk+ to ...
    [propagated-inputs]: ... here. Add glib.
    [synopsis]: Modify.
    [description]: Modify.
    [license]: Modify.

*** END ***

Regards,
RG.

[-- Attachment #1.1.2: 0045-gnu-nautilus-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 5970 bytes --]

From 63106f16d167624d83820da97e59317b52ca3343 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 7 Aug 2020 14:00:20 -0400
Subject: [PATCH 45/65] gnu: nautilus: Update package definition.

* gnu/packages/gnome.scm (nautilus) [version]: Update to 3.36.3.
[source]<origin>[sha256]: Modify base32.
[outputs]: New output "doc".
[arguments]<#:configure-flags>[-Ddocs]: New flag.
[-Dselinux]: New flag.
<#:phases>['patch-docbook-xml]: New phase.
['move-doc]: New phase.
[native-inputs]: Add desktop-file-utils, docbook-xml, gsettings-desktop-schemas,
gtk-doc and python-wrapper.
[inputs]: Add appstream-glib, gstreamer and libx11. Remove
dconf, exempi, gvfs, libexif and libseccomp. Move gtk+ to ...
[propagated-inputs]: ... here. Add glib.
[synopsis]: Modify.
[description]: Modify.
[license]: Modify.
---
 gnu/packages/gnome.scm | 95 +++++++++++++++++++++++++-----------------
 1 file changed, 56 insertions(+), 39 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 0598ffc373..eb447503b0 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -10329,62 +10329,79 @@ filetypes.")
 (define-public nautilus
   (package
     (name "nautilus")
-    (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
-                "19zqwq4qyyncc5wq3xls0f7rsavnw741k336p2h7kx35p4kf41mv"))))
+    (version "3.36.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1y0fsd7j48v4qkc051cg41mz7jycgw4vd4g37lw682p7n5xgrjmn"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     '(#:glib-or-gtk? #t
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Ddocs=true"
+        "-Dselinux=true")
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'skip-gtk-update-icon-cache
-           ;; Don't create 'icon-theme.cache'.
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs/reference/libnautilus-extension"
+               (substitute* "libnautilus-extension-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-before 'configure 'skip-gtk-update-icon-cache
            (lambda _
              (substitute* "build-aux/meson/postinstall.py"
-               (("gtk-update-icon-cache") "true"))
-             #t)))
-       ;; XXX: FAIL: check-nautilus
-       ;;   Settings schema 'org.gnome.nautilus.preferences' is not installed
-       #:tests? #f))
+               (("gtk-update-icon-cache")
+                "true"))
+             #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/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
     (native-inputs
-     `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
-       ("glib:bin" ,glib "bin")         ; for glib-mkenums, etc.
+     `(("desktop-file-utils" ,desktop-file-utils)
+       ("docbook-xml" ,docbook-xml-4.1.2)
+       ("glib:bin" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
+       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+       ("gtk-doc" ,gtk-doc)
        ("intltool" ,intltool)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
     (inputs
-     `(("dconf" ,dconf)
+     `(("appstream-util" ,appstream-glib)
        ("gexiv2" ,gexiv2)
-       ("gvfs" ,gvfs)
-       ("exempi" ,exempi)
-       ("gnome-desktop" ,gnome-desktop)
        ("gnome-autoar" ,gnome-autoar)
+       ("gnome-desktop" ,gnome-desktop)
+       ("gstreamer" ,gstreamer)
        ("gst-plugins-base" ,gst-plugins-base)
-       ("libseccomp" ,libseccomp)
        ("libselinux" ,libselinux)
+       ("libxml2" ,libxml2)
        ("tracker" ,tracker)
        ("tracker-miners" ,tracker-miners)
-       ;; XXX: gtk+ is required by libnautilus-extension.pc
-       ;;
-       ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
-       ;; package.  See:
-       ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
-       ("gtk+" ,gtk+)
-       ("libexif" ,libexif)
-       ("libxml2" ,libxml2)))
-    (synopsis "File manager for GNOME")
+       ("x11" ,libx11)))
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+)))
+    (synopsis "Simple file manager for GNOME")
+    (description "Nautilus provides the user with a simple way to navigate and
+manage files.")
     (home-page "https://wiki.gnome.org/Apps/Nautilus")
-    (description
-     "Nautilus (Files) is a file manager designed to fit the GNOME desktop
-design and behaviour, giving the user a simple way to navigate and manage its
-files.")
-    (license license:gpl2+)))
+    (license license:gpl3+)))
 
 (define-public baobab
   (package
-- 
2.28.0


[-- Attachment #1.1.3: 0046-gnu-Add-liblouis.patch --]
[-- Type: text/x-patch, Size: 3870 bytes --]

From add14ec0945de8967dc8f736a5561bf05bf3dcfa Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 7 Aug 2020 15:44:33 -0400
Subject: [PATCH 46/65] gnu: Add liblouis.

* gnu/packages/languages.scm (liblouis): New variable.
---
 gnu/packages/language.scm | 64 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 63 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 8afa9663b4..175f6480fb 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -22,14 +22,18 @@
 
 (define-module (gnu packages language)
   #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages llvm)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages ocr)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages perl-check)
   #:use-module (gnu packages swig)
+  #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
@@ -38,11 +42,69 @@
   #:use-module (guix build-system python)
   #:use-module ((guix licenses)
                 #:select
-                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 perl-license zpl2.1))
+                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ perl-license zpl2.1))
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix utils))
 
+(define-public liblouis
+  (package
+    (name "liblouis")
+    (version "3.14.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/liblouis/liblouis.git")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0v6w8b9r994mkkbm2gqgd7k5yfmdhgbabh0j1gmn375nyvhy4qqh"))))
+    (build-system gnu-build-system)
+    (outputs '("out" "bin" "doc" "louis"))
+    (arguments
+     `(#:configure-flags
+       (list
+        "--disable-static"
+        "--enable-ucs4")
+       #:phases
+       (modify-phases %standard-phases
+         ;; To install the sub-package "louis".
+         (add-after 'install 'install-python-extension
+           (lambda* (#:key outputs #:allow-other-keys)
+             (with-directory-excursion "python"
+               (invoke "python" "setup.py" "install"
+                       (string-append "--prefix="
+                                      (assoc-ref outputs "louis"))
+                       "--root=/")))))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("clang-format" ,clang)
+       ("help2man" ,help2man)
+       ("libtool" ,libtool)
+       ("libyaml" ,libyaml)
+       ("makeinfo" ,texinfo)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (synopsis "Braille translator and back-translator")
+    (description "Liblouis is a braille translator and back-translator named in
+honor of Louis Braille.  It features support for computer and literary braille,
+supports contracted and uncontracted translation for many languages and has
+support for hyphenation.  New languages can easily be added through tables that
+support a rule- or dictionary based approach.  Tools for testing and debugging
+tables are also included.  Liblouis also supports math braille, Nemeth and
+Marburg.")
+    (home-page "http://liblouis.org/")
+    (license
+     (list
+      ;; Library
+      lgpl2.1+
+      ;; Tools
+      gpl3+))))
+
 (define-public libstemmer
   (package
     (name "libstemmer")
-- 
2.28.0


[-- Attachment #1.1.4: 0047-gnu-Add-liblouisutdml.patch --]
[-- Type: text/x-patch, Size: 5517 bytes --]

From 0ae235ac5cf46367d60d91692f8a789efd945d47 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 7 Aug 2020 17:08:33 -0400
Subject: [PATCH 47/65] gnu: Add liblouisutdml.

* gnu/packages/language.scm (liblouisutdml): New variable.

* gnu/packages/patches/liblouisutdml-fix-tests.patch: New file.

* gnu/local.mk (liblouisutdml-fix-tests.patch): New reference.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/language.scm                     | 52 ++++++++++++++++++-
 .../patches/liblouisutdml-fix-tests.patch     | 33 ++++++++++++
 3 files changed, 85 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/liblouisutdml-fix-tests.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 6d8c9a3676..9ff617a1ac 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1188,6 +1188,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/libgnomeui-utf8.patch			\
   %D%/packages/patches/libjxr-fix-function-signature.patch	\
   %D%/packages/patches/libjxr-fix-typos.patch			\
+  %D%/packages/patches/liblouisutdml-fix-tests.patch		\
   %D%/packages/patches/libofa-ftbfs-1.diff		\
   %D%/packages/patches/libofa-curl.diff		\
   %D%/packages/patches/libofa-ftbfs-2.diff		\
diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 175f6480fb..8a1e1602a0 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -25,6 +25,7 @@
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages java)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages man)
   #:use-module (gnu packages ocr)
@@ -35,6 +36,7 @@
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages web)
+  #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
   #:use-module (guix build-system gnu)
@@ -42,7 +44,7 @@
   #:use-module (guix build-system python)
   #:use-module ((guix licenses)
                 #:select
-                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ perl-license zpl2.1))
+                (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1))
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix utils))
@@ -105,6 +107,54 @@ Marburg.")
       ;; Tools
       gpl3+))))
 
+(define-public liblouisutdml
+  (package
+    (name "liblouisutdml")
+    (version "2.8.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/liblouis/liblouisutdml.git")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "11xxky3crjm8bidfljzpqaz1m1i1m1yskmdpavf9b4jpf87nzjj2"))
+       (patches
+        (search-patches "liblouisutdml-fix-tests.patch"))))
+    (build-system gnu-build-system)
+    (outputs '("out" "bin" "doc"))
+    (arguments
+     `(#:configure-flags
+       (list
+        "--disable-static")))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("help2man" ,help2man)
+       ("jdk" ,icedtea "jdk")
+       ("libtool" ,libtool)
+       ("makeinfo" ,texinfo)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libxml2" ,libxml2)))
+    (propagated-inputs
+     `(("liblouis" ,liblouis)
+       ("liblouis:bin" ,liblouis "bin")))
+    (synopsis "Braille transcription services")
+    (description "Liblouisutdml is a library providing complete braille
+transcription services for xml, html and text documents.  It translates into
+appropriate braille codes and formats according to its style sheet and the
+specifications in the document.")
+    (home-page "http://liblouis.org/")
+    (license
+     (list
+      ;; Library
+      lgpl3+
+      ;; Tools
+      gpl3+))))
+
 (define-public libstemmer
   (package
     (name "libstemmer")
diff --git a/gnu/packages/patches/liblouisutdml-fix-tests.patch b/gnu/packages/patches/liblouisutdml-fix-tests.patch
new file mode 100644
index 0000000000..08d3db2c21
--- /dev/null
+++ b/gnu/packages/patches/liblouisutdml-fix-tests.patch
@@ -0,0 +1,33 @@
+From 52d44cdbc307d4e2ffc3ebe674745eb9d43ec337 Mon Sep 17 00:00:00 2001
+From: Christian Egli <christian.egli@sbs.ch>
+Date: Mon, 10 Aug 2020 16:08:17 +0200
+Subject: [PATCH] Some math over and under tests now actually pass
+
+with the newest liblouis
+---
+ tests/Makefile.am | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 157b005..932a5d0 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -321,10 +321,6 @@ XFAIL_TESTS +=					\
+ 	mathml_nemeth/mover_06.test		\
+ 	mathml_nemeth/mover_07.test		\
+ 	mathml_nemeth/mover_08.test		\
+-	mathml_nemeth/mover_09.test		\
+-	mathml_nemeth/mover_10.test		\
+-	mathml_nemeth/mover_11.test		\
+-	mathml_nemeth/mover_12.test		\
+ 	mathml_nemeth/mover_13.test		\
+ 	mathml_nemeth/mover_14.test		\
+ 	mathml_nemeth/mover_15.test		\
+@@ -332,7 +328,6 @@ XFAIL_TESTS +=					\
+ 	mathml_nemeth/munder_01.test		\
+ 	mathml_nemeth/munder_02.test		\
+ 	mathml_nemeth/munder_03.test		\
+-	mathml_nemeth/munder_04.test		\
+ 	mathml_nemeth/munder_05.test		\
+ 	mathml_nemeth/munder_06.test		\
+ 	mathml_nemeth/munder_07.test		\
-- 
2.28.0


[-- Attachment #1.1.5: 0048-gnu-Add-latex2html.patch --]
[-- Type: text/x-patch, Size: 2263 bytes --]

From 85bf43ebf72446b765982b00224d7f4610a00482 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 7 Aug 2020 22:44:20 -0400
Subject: [PATCH 48/65] gnu: Add latex2html.

* gnu/packages/documentation.scm (latex2html): New variable.
---
 gnu/packages/documentation.scm | 44 ++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index a3a07f56db..18e3ce60f1 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -46,6 +46,50 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages xml))
 
+(define-public latex2html
+  (package
+    (name "latex2html")
+    (version "2020.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/latex2html/latex2html.git")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1icyl6kl60wh7cavprgbd8q6lpjwr7wn24m34kpiif7ahknhcbcm"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "configure"
+               (("/usr/local")
+                (assoc-ref outputs "out"))
+               (("\\$\\{CONFIG_SHELL-/bin/sh\\}")
+                (which "bash")))
+             #t))
+         (replace 'configure
+           (lambda _
+             (invoke "./configure")
+             #t))
+         (add-after 'configure 'patch-cfgcache
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "cfgcache.pm"
+               (("/usr/local")
+                (assoc-ref outputs "out")))
+             #t)))))
+    (inputs
+     `(("perl" ,perl)))
+    (synopsis "LaTeX documents to HTML")
+    (description "LaTeX2HTML is a utility that converts LaTeX documents to web
+pages in HTML.")
+    (home-page "https://www.latex2html.org/")
+    (license gpl2+)))
+
 (define-public asciidoc
   (package
     (name "asciidoc")
-- 
2.28.0


[-- Attachment #1.1.6: 0049-gnu-Add-libbraille.patch --]
[-- Type: text/x-patch, Size: 2646 bytes --]

From 9db1331a0819dcc291c4af6278d4bd9eac1d6c9b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 7 Aug 2020 23:07:23 -0400
Subject: [PATCH 49/65] gnu: Add libbraille.

* gnu/packages/accessibility.scm (libbraille): New variable.
---
 gnu/packages/accessibility.scm | 42 ++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/accessibility.scm b/gnu/packages/accessibility.scm
index 8d421a092a..a329cbdf95 100644
--- a/gnu/packages/accessibility.scm
+++ b/gnu/packages/accessibility.scm
@@ -21,12 +21,19 @@
 
 (define-module (gnu packages accessibility)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix utils)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (gnu packages)
+  #:use-module (gnu packages documentation)
+  #:use-module (gnu packages swig)
+  #:use-module (gnu packages libusb)
+  #:use-module (gnu packages java)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages tcl)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gstreamer)
@@ -37,6 +44,41 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages libusb))
 
+(define-public libbraille
+  (package
+    (name "libbraille")
+    (version "0.19.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://sourceforge.net/projects/" name "/files/" name "/"
+                       name "-" version "/" name "-" version ".tar.gz"))
+       (sha256
+        (base32 "05g8r0ypazqn10i7k48iibs8bzc3scdfcnhcykab8j16lhzd27d0"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "bin"))
+    (arguments
+     `(#:tests? #f                      ; Tests require drivers
+       #:configure-flags
+       (list
+        "--disable-static"
+        "--enable-fake")))
+    (native-inputs
+     `(("latex2html" ,latex2html)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("swig" ,swig)))
+    (inputs
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+-2)
+       ("libusb" ,libusb-compat)))
+    (synopsis "Portable Braille Library")
+    (description "Libbraille is a library to easily access Braille displays and
+terminals.")
+    (home-page "https://libbraille.org")
+    (license license:lgpl2.1+)))
+
 (define-public florence
   (package
     (name "florence")
-- 
2.28.0


[-- Attachment #1.1.7: 0050-gnu-Add-brltty.patch --]
[-- Type: text/x-patch, Size: 5930 bytes --]

From 9b802392fb407a39a84066fdef85b50848e3060f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 8 Aug 2020 01:58:33 -0400
Subject: [PATCH 50/65] gnu: Add brltty.

* gnu/packages/accessibility.scm (brltty): New variable.
---
 gnu/packages/accessibility.scm | 125 +++++++++++++++++++++++++++++++++
 1 file changed, 125 insertions(+)

diff --git a/gnu/packages/accessibility.scm b/gnu/packages/accessibility.scm
index a329cbdf95..14ce805aef 100644
--- a/gnu/packages/accessibility.scm
+++ b/gnu/packages/accessibility.scm
@@ -28,11 +28,23 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (gnu packages)
+  #:use-module (gnu packages lisp)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages ocaml)
+  #:use-module (gnu packages pcre)
+  #:use-module (gnu packages polkit)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages music)
+  #:use-module (gnu packages language)
+  #:use-module (gnu packages icu4c)
+  #:use-module (gnu packages speech)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages java)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages gnome)
@@ -79,6 +91,119 @@ terminals.")
     (home-page "https://libbraille.org")
     (license license:lgpl2.1+)))
 
+(define-public brltty
+  (package
+    (name "brltty")
+    (version "6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://brltty.app/archive/"
+                       name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0nk54chr7z2w579vyiak9xk2avhnvrx7x2l5sk8nyw2zplchkx9q"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:configure-flags
+       (list
+        (string-append "--with-tcl-config="
+                       (assoc-ref %build-inputs "tcl")
+                       "/lib/tclConfig.sh")
+        (string-append "--with-libbraille="
+                       (assoc-ref %build-inputs "libbraille"))
+        (string-append "--with-espeak_ng="
+                       (assoc-ref %build-inputs "espeak-ng"))
+        (string-append "--with-espeak="
+                       (assoc-ref %build-inputs "espeak"))
+        (string-append "--with-flite="
+                       (assoc-ref %build-inputs "flite"))
+        ;; Required for RUNPATH validation.
+        (string-append "LDFLAGS=-Wl,-rpath="
+                       (assoc-ref %outputs "out")
+                       "/lib"))
+       #:make-flags
+       (list
+        (string-append "JAVA_JAR_DIR="
+                       (assoc-ref %outputs "out"))
+        (string-append "JAVA_JNI_DIR="
+                       (assoc-ref %outputs "out"))
+        (string-append "OCAML_DESTDIR="
+                       (assoc-ref %outputs "out")
+                       "/lib")
+        (string-append "PYTHON_PREFIX="
+                       (assoc-ref %outputs "out"))
+        "PYTHON_ROOT=/"
+        (string-append "TCL_DIR="
+                       (assoc-ref %outputs "out")
+                       "/lib"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-errors
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "configure"
+               (("/sbin/ldconfig")
+                (which "true")))
+             ;; Make Python bindings use rpath.
+             (substitute* "Bindings/Python/setup.py.in"
+               (("extra_compile_args =")
+                (string-append "extra_link_args = ['-Wl,-rpath="
+                               (assoc-ref outputs "out")
+                               "/lib'], "
+                               "extra_compile_args = ")))
+             #t)))))
+    (native-inputs
+     `(("clisp" ,clisp)
+       ("cython" ,python-cython)
+       ("doxygen" ,doxygen)
+       ("gettext" ,gettext-minimal)
+       ("java" ,icedtea "jdk")
+       ;; ("linuxdoc" ,linuxdoc-tools)
+       ("ocaml" ,ocaml)
+       ("ocamlfind" ,ocaml-findlib)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("tcl" ,tcl)))
+    (inputs
+     `(("alsa" ,alsa-lib)
+       ("atspi2" ,at-spi2-core)
+       ("bluez" ,bluez)
+       ("dbus" ,dbus)
+       ("espeak" ,espeak)
+       ("espeak-ng" ,espeak-ng)
+       ("expat" ,expat)
+       ("festival" ,festival)
+       ("flite" ,flite)
+       ("glib" ,glib)
+       ("gpm" ,gpm)
+       ("iconv" ,libiconv)
+       ("icu" ,icu4c)
+       ("libbraille" ,libbraille)
+       ("libpcre2" ,pcre2)
+       ("linux-headers" ,linux-libre-headers)
+       ("louis" ,liblouis)
+       ("ncurses" ,ncurses)
+       ("polkit" ,polkit)
+       ("speech-dispatcher" ,speech-dispatcher)
+       ("util-linux" ,util-linux)
+       ("util-linux:lib" ,util-linux "lib")
+       ("x11" ,libx11)
+       ("xaw" ,libxaw)
+       ("xaw3d" ,libxaw3d)
+       ("xext" ,libxext)
+       ("xfixes" ,libxfixes)
+       ("xt" ,libxt)
+       ("xtst" ,libxtst)))
+    (synopsis "Braille TTY")
+    (description "BRLTTY is a background process (daemon) which provides access
+to the Linux/Unix console (when in text mode) for a blind person using a
+refreshable braille display.  It drives the braille display, and provides
+complete screen review functionality.  Some speech capability has also been
+incorporated.")
+    (home-page "https://brltty.app/")
+    (license license:lgpl2.1+)))
+
 (define-public florence
   (package
     (name "florence")
-- 
2.28.0


[-- Attachment #1.1.8: 0051-gnu-orca-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 5110 bytes --]

From bc48bf8cefc9ac9de327e978e8e50765dafcf772 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 8 Aug 2020 02:46:28 -0400
Subject: [PATCH 51/65] gnu: orca: Update package definition.

* gnu/packages/gnome.scm (orca) [version]: Update to 3.36.3.
[source]<origin>[sha256]: Modify base32.
[outputs]: New output "help".
[arguments]<#:configure-flags>[--with-help-dir]: New flag.
<#:phases>['qualify-xkbcomp]: Remove phase.
['wrap-orca]: Modify phase.
[inputs]: Add atk, at-spi2-core, brltty, liblouis and python-setproctitle.
Remove gsettings-desktop-schemas, gst-plugins-base, gst-plugins-good and
xkbcomp.
[synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/gnome.scm | 65 +++++++++++++++++++++---------------------
 1 file changed, 32 insertions(+), 33 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index eb447503b0..abf1f36b53 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -72,6 +72,7 @@
 
 (define-module (gnu packages gnome)
   #:use-module (gnu packages)
+  #:use-module (gnu packages accessibility)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages aspell)
   #:use-module (gnu packages autotools)
@@ -11879,27 +11880,27 @@ accessibility infrastructure.")
 (define-public orca
   (package
     (name "orca")
-    (version "3.34.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "mirror://gnome/sources/" name "/"
-                    (version-major+minor version) "/"
-                    name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "1q38n7hyshkiszmn361skxjynxr31lcms7a1iny6d0zlpmh1vnk4"))))
+    (version "3.36.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append
+         "mirror://gnome/sources/" name "/"
+         (version-major+minor version) "/"
+         name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1x0xrcyxlvcjlqp6wcsx5d951i500079wqs04scssjzwqggy330n"))))
     (build-system glib-or-gtk-build-system)
+    (outputs '("out" "help"))
     (arguments
-     '(#:phases
+     `(#:configure-flags
+       (list
+        (string-append "--with-help-dir="
+                       (assoc-ref %outputs "help")
+                       "/share/help"))
+       #:phases
        (modify-phases %standard-phases
-         (add-before 'configure 'qualify-xkbcomp
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((xkbcomp (string-append
-                             (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
-               (substitute* "src/orca/orca.py"
-                 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
-             #t))
          (add-after 'install 'wrap-orca
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out  (assoc-ref outputs "out"))
@@ -11907,35 +11908,33 @@ accessibility infrastructure.")
                (wrap-program prog
                  `("GI_TYPELIB_PATH" ":" prefix
                    (,(getenv "GI_TYPELIB_PATH")))
-                 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
-                   (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
                  `("PYTHONPATH" ":" prefix
                    (,(getenv "PYTHONPATH")))))
              #t)))))
     (native-inputs
-     `(("intltool" ,intltool)
+     `( ;; ("docbook-utils" ,docbook-utils)
+       ("intltool" ,intltool)
        ("itstool" ,itstool)
        ("pkg-config" ,pkg-config)
        ("xmllint" ,libxml2)))
     (inputs
-     `(("at-spi2-atk" ,at-spi2-atk)
-       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+     `(("atk" ,atk)
+       ("at-spi2-atk" ,at-spi2-atk)
+       ("at-spi2-core" ,at-spi2-core)
        ("gstreamer" ,gstreamer)
-       ("gst-plugins-base" ,gst-plugins-base)
-       ("gst-plugins-good" ,gst-plugins-good)
        ("gtk+" ,gtk+)
+       ("liblouis" ,liblouis)
        ("python" ,python)
+       ("python-brlapi" ,brltty)
+       ("python-louis" ,liblouis "louis")
        ("python-pygobject" ,python-pygobject)
        ("python-pyatspi" ,python-pyatspi)
-       ("python-speechd" ,speech-dispatcher)
-       ("xkbcomp" ,xkbcomp)))
-    (synopsis
-     "Screen reader for individuals who are blind or visually impaired")
+       ("python-setproctitle" ,python-setproctitle)
+       ("python-speechd" ,speech-dispatcher)))
+    (synopsis "Screen reader for GNOME")
+    (description "Orca is a flexible and extensible screen reader that provides
+access to the graphical desktop via speech and refreshable braille.")
     (home-page "https://wiki.gnome.org/Projects/Orca")
-    (description
-     "Orca is a screen reader that provides access to the graphical desktop
-via speech and refreshable braille.  Orca works with applications and toolkits
-that support the Assistive Technology Service Provider Interface (AT-SPI).")
     (license license:lgpl2.1+)))
 
 (define-public gspell
-- 
2.28.0


[-- Attachment #1.1.9: 0052-gnu-gst-editing-services-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 4712 bytes --]

From 1e7b17a569017bd57236c62b2682d32493aa3414 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 8 Aug 2020 17:54:31 -0400
Subject: [PATCH 52/65] gnu: gst-editing-services: Update package definition.

* gnu/packages/gstreamer.scm (gst-editing-services): Update package
definition.
[outputs]: New output "doc".
[arguments]<#:glib-or-gtk?>: New argument.
<#:phases>['patch-docbook-xml]: New phase.
['move-doc]: New phase.
[native-inputs]: Add docbook-xml, gobject-introspection and gtk-doc.
Remove gst-plugins-good. Change python to python-wrapper. Move gst-plugins-bad
to ...
[inputs]: ... here. Add glib, gstreamer and gtk+.
[synopsis]: Modify.
[description]: Modify.
[license]: Modify.
---
 gnu/packages/gstreamer.scm | 75 ++++++++++++++++++++++++++------------
 1 file changed, 51 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index b39113bea2..6c4b04fe89 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -994,36 +994,63 @@ decoders, muxers, and demuxers provided by FFmpeg.")
   (package
     (name "gst-editing-services")
     (version "1.16.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://gstreamer.freedesktop.org/src/" name "/"
-                    "gstreamer-editing-services-" version ".tar.xz"))
-              (sha256
-               (base32
-                "05hcf3prna8ajjnqd53221gj9syarrrjbgvjcbhicv0c38csc1hf"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append
+         "https://gstreamer.freedesktop.org/src/" name "/"
+         "gstreamer-editing-services-" version ".tar.xz"))
+       (sha256
+        (base32 "05hcf3prna8ajjnqd53221gj9syarrrjbgvjcbhicv0c38csc1hf"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     ;; FIXME: 16/22 failing tests.
-     `(#:tests? #f
-       #:phases (modify-phases %standard-phases
-                  ,@%common-gstreamer-phases)))
-    (inputs
-     `(("gst-plugins-base" ,gst-plugins-base)
-       ("libxml2" ,libxml2)))
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:tests? #f           ; FIXME
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs/libs"
+               (substitute* '("architecture.xml" "ges-docs.sgml")
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.3")
+                                 "/xml/dtd/docbook/"))
+                 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.1.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/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
     (native-inputs
-     `(("flex" ,flex)
-       ("gst-plugins-bad" ,gst-plugins-bad)
-       ("gst-plugins-good" ,gst-plugins-good)
+     `(("docbook-xml-4.1.2" ,docbook-xml-4.1.2)
+       ("docbook-xml-4.3" ,docbook-xml-4.3)
+       ("flex" ,flex)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
-       ("python" ,python)))
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("glib" ,glib)
+       ("gstreamer" ,gstreamer)
+       ("gst-plugins-bad" ,gst-plugins-bad)
+       ("gst-plugins-base" ,gst-plugins-base)
+       ("gtk+" ,gtk+)
+       ("libxml2" ,libxml2)))
+    (synopsis "GStreamer Editing Services Library")
+    (description "Gst-Editing-services is a high-level library for facilitating
+the creation of audio/video non-linear editors.")
     (home-page "https://gstreamer.freedesktop.org/")
-    (synopsis "GStreamer library for non-linear editors")
-    (description
-     "This is a high-level library for facilitating the creation of audio/video
-non-linear editors.")
-    (license license:gpl2+)))
+    (license license:lgpl2.0+)))
 
 (define-public python-gst
   (package
-- 
2.28.0


[-- Attachment #1.1.10: 0053-gnu-rygel-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 8044 bytes --]

From f954f2cb3d59e53ed72943cb82fe0d68c8a901e8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 8 Aug 2020 18:25:19 -0400
Subject: [PATCH 53/65] gnu: rygel: Update package definition.

* gnu/packages/gnome.scm (rygel) [version]: Update to 0.38.4.
[source]<origin>[sha256]: Modify base32.
[build-system]: Change from gnu to meson.
[outputs]: New output "doc".
[arguments]<#:glib-or-gtk?>: New argument.
<#:configure-flags>[-Dapi-docs]: New flag.
[-Dsystemd-user-units-dir]: New flag.
<#:phases>['patch-docbook]: New phase.
['move-doc]: New phase.
[native-inputs]: Add docbook-xml, docbook-xsl, glib:bin, python-wrapper.
[inputs]: Change gdk-pixbuf to gdk-pixbuf+svg. Add gst-libav,
gst-plugins-bad, gst-plugins-good, gst-plugins-ugly, libxml2,
shared-mime-info and sqlite. Move libgee, gstreamer and gupnp-av to ...
[propagated-inputs]: ... here. Add glib and glib-networking.
[synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/gnome.scm | 130 ++++++++++++++++++++++++++++++-----------
 1 file changed, 97 insertions(+), 33 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index abf1f36b53..384541db7e 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -1798,52 +1798,116 @@ preview files on the GNOME desktop.")
 (define-public rygel
   (package
     (name "rygel")
-    (version "0.38.3")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version) "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8"))))
-    (build-system gnu-build-system)
+    (version "0.38.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0rm1m1z8rcvyj9873wqcz5i3qdg8j6gv6k1p01xifk0y9phg7rzc"))))
+    (build-system meson-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Dapi-docs=true"
+        (string-append "-Dsystemd-user-units-dir="
+                       (getcwd)))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc/reference"
+               (substitute* '("../man/meson.build"
+                              "../man/rygel.conf.xml" "../man/rygel.xml"
+                              "librygel-core/gtkdoc/librygel-core-docs.xml"
+                              "librygel-core/gtkdoc/overview.xml"
+                              "librygel-db/gtkdoc/librygel-db-docs.xml"
+                              "librygel-db/gtkdoc/overview.xml"
+                              "librygel-renderer-gst/gtkdoc/implementing-renderers-gst.xml"
+                              "librygel-renderer-gst/gtkdoc/librygel-renderer-gst-docs.xml"
+                              "librygel-renderer-gst/gtkdoc/overview.xml"
+                              "librygel-renderer/gtkdoc/implementing-renderer-plugins.xml"
+                              "librygel-renderer/gtkdoc/implementing-renderers.xml"
+                              "librygel-renderer/gtkdoc/librygel-renderer-docs.xml"
+                              "librygel-renderer/gtkdoc/overview.xml"
+                              "librygel-server/gtkdoc/implementing-media-engines.xml"
+                              "librygel-server/gtkdoc/implementing-server-plugins.xml"
+                              "librygel-server/gtkdoc/implementing-servers.xml"
+                              "librygel-server/gtkdoc/librygel-server-docs.xml"
+                              "librygel-server/gtkdoc/overview.xml")
+                 (("http://docbook.sourceforge.net/release/xsl/current")
+                  (string-append (assoc-ref inputs "docbook-xsl")
+                                 "/xml/xsl/docbook-xsl-"
+                                 ,(package-version docbook-xsl)))
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.3")
+                                 "/xml/dtd/docbook/"))
+                 (("http://www.oasis-open.org/docbook/xml/4.5/")
+                  (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/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
+     `(("docbook-xml" ,docbook-xml)
+       ("docbook-xml-4.3" ,docbook-xml-4.3)
+       ("docbook-xsl" ,docbook-xsl)
+       ("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
        ("gtk-doc" ,gtk-doc)
        ("pkg-config" ,pkg-config)
-       ("vala" ,vala)))
+       ("python" ,python-wrapper)
+       ("vala" ,vala)
+       ("xsltproc" ,libxslt)))
     (inputs
-     `(("gdk-pixbuf" ,gdk-pixbuf)
+     `(("gdk-pixbuf" ,gdk-pixbuf+svg)
        ("gssdp" ,gssdp)
-       ("gstreamer" ,gstreamer)
+       ("gst-libav" ,gst-libav)
+       ("gst-plugins-bad" ,gst-plugins-bad)
        ("gst-plugins-base" ,gst-plugins-base)
+       ("gst-plugins-good" ,gst-plugins-good)
+       ("gst-plugins-ugly" ,gst-plugins-ugly)
        ("gtk+" ,gtk+)
        ("gupnp" ,gupnp)
-       ("gupnp-av" ,gupnp-av)
        ("gupnp-dlna" ,gupnp-dlna)
-       ("libgee" ,libgee)
        ("libmediaart" ,libmediaart)
        ("libsoup" ,libsoup)
-       ("libxslt" ,libxslt)
-       ("libunistring" ,libunistring)
-       ("tracker" ,tracker)))
-    (synopsis "Share audio, video, and pictures with other devices")
-    (description
-     "Rygel is a home media solution (@dfn{UPnP AV MediaServer and
-MediaRenderer}) for GNOME that allows you to easily share audio, video, and
-pictures, and to control a media player on your home network.
-
-Rygel achieves interoperability with other devices by trying to conform to the
-strict requirements of DLNA and by converting media on-the-fly to formats that
-client devices can handle.")
+       ("libxml2" ,libxml2)
+       ("shared-mime-info" ,shared-mime-info)
+       ("sqlite" ,sqlite)
+       ("tracker" ,tracker)
+       ("unistring" ,libunistring)))
+    (propagated-inputs
+     `(("gee" ,libgee)
+       ("glib" ,glib)
+       ("glib-networking" ,glib-networking)
+       ("gstreamer" ,gstreamer)
+       ("gupnp-av" ,gupnp-av)))
+    (synopsis "Home media solution")
+    (description "Rygel is a UPnP AV MediaServer that allows you to easily share
+audio, video and pictures to other devices.  Additionally, media player software
+may use Rygel to become a MediaRenderer that may be controlled remotely by a
+UPnP or DLNA Controller.")
     (home-page "https://wiki.gnome.org/Projects/Rygel")
-    (license (list
-              ;; For logo (data/icons/*).
-              license:cc-by-sa3.0
-              ;; For all others.
-              license:lgpl2.1+))))
+    (license
+     (list
+      ;; Logo
+      license:cc-by-sa3.0
+      ;; Others
+      license:lgpl2.1+))))
 
 (define-public libnma
   (package
-- 
2.28.0


[-- Attachment #1.1.11: 0054-gnu-simple-scan-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 3920 bytes --]

From 73ff96465270910b93fa2f4d6be84799e1f6fee0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 8 Aug 2020 19:07:31 -0400
Subject: [PATCH 54/65] gnu: simple-scan: Update package definition.

* gnu/packages/gnome.scm (simple-scan) [version]: Update to 3.36.4.
[source]<origin>[sha256]: Modify base32.
[outputs]: New output "help".
[arguments]<#:phases>['move-help]: New phase.
[inputs]: Add glib, libwebp and packagekit. Change gdk-pixbuf to
gdk-pixbuf+svg.
[synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/gnome.scm | 57 ++++++++++++++++++++++++++----------------
 1 file changed, 35 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 384541db7e..a58eff03ad 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7675,41 +7675,54 @@ USB transfers with your high-level application or system daemon.")
 (define-public simple-scan
   (package
     (name "simple-scan")
-    (version "3.36.3")
+    (version "3.36.4")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://gnome/sources/simple-scan/"
-                           (version-major+minor version) "/"
-                           "simple-scan-" version ".tar.xz"))
+       (uri
+        (string-append "mirror://gnome/sources/simple-scan/"
+                       (version-major+minor version) "/"
+                       "simple-scan-" version ".tar.xz"))
        (sha256
-        (base32 "0gsz7jqk0fdj0mama3cnss9i1adw18cpdnlcjcjh4r5qijmvx0vh"))))
+        (base32 "09gmzrlljdqkj3w6wa1c27wypy6j8z9dw3jzv9izfqvp38liibsn"))))
     (build-system meson-build-system)
-    ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
+    (outputs '("out" "help"))
     (arguments
-     '(#:glib-or-gtk? #t))
-    (inputs
-     `(("gtk" ,gtk+)
-       ("zlib" ,zlib)
-       ("cairo" ,cairo)
-       ("colord" ,colord)
-       ("gdk-pixbuf" ,gdk-pixbuf)
-       ("gusb" ,gusb)
-       ("libsane" ,sane-backends)))
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'move-help
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (help (assoc-ref outputs "help")))
+               (mkdir-p (string-append help "/share"))
+               (rename-file
+                (string-append out "/share/help")
+                (string-append help "/share/help"))
+               #t))))))
     (native-inputs
      `(("gettext" ,gettext-minimal)
+       ("glib" ,glib "bin")
        ("itstool" ,itstool)
-       ("glib" ,glib "bin")             ; glib-compile-schemas, etc.
        ("pkg-config" ,pkg-config)
        ("vala" ,vala)
        ("xmllint" ,libxml2)))
+    (inputs
+     `(("cairo" ,cairo)
+       ("colord" ,colord)
+       ("gdk-pixbuf" ,gdk-pixbuf+svg)
+       ("glib" ,glib)
+       ("gtk" ,gtk+)
+       ("gusb" ,gusb)
+       ("libwebp" ,libwebp)
+       ("packagekit-glib" ,packagekit)
+       ("sane-backends" ,sane-backends)
+       ("zlib" ,zlib)))
+    (synopsis "Document scanner")
+    (description "Simple-Scan is a document scanning application for GNOME.  It
+allows you to capture images using image scanners that have suitable SANE
+drivers installed.")
     (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
-    (synopsis "Document and image scanner")
-    (description
-     "Document Scanner is an easy-to-use application that lets you connect your
-scanner and quickly capture images and documents in an appropriate format.  It
-supports any scanner for which a suitable SANE driver is available, which is
-almost all of them.")
     (license license:gpl3+)))
 
 (define-public eolie
-- 
2.28.0


[-- Attachment #1.1.12: 0055-gnu-libmusicbrainz-Propagate-inputs.patch --]
[-- Type: text/x-patch, Size: 976 bytes --]

From 9716f05d24a29be16fe04994606a0e419f90c880 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 8 Aug 2020 22:28:04 -0400
Subject: [PATCH 55/65] gnu: libmusicbrainz: Propagate inputs.

* gnu/packages/music.scm (libmusicbrainz) [inputs]: Change field to
propagated-inputs.
---
 gnu/packages/music.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 639cf6d5f2..31bd553397 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -4447,7 +4447,7 @@ Recording Code} (ISRC) can be extracted.}")
              ;; (invoke "tests/mbtest")
              (invoke "tests/ctest")
              #t)))))
-    (inputs `(("neon" ,neon)
+    (propagated-inputs `(("neon" ,neon)
               ("libxml2" ,libxml2)))
     (native-inputs `(("pkg-config" ,pkg-config)))
     (home-page "https://musicbrainz.org/doc/libmusicbrainz")
-- 
2.28.0


[-- Attachment #1.1.13: 0056-gnu-sushi-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 3976 bytes --]

From 18c4692b5cbc5db8c7e8968dcf54c3b7d0d603c4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 8 Aug 2020 23:32:47 -0400
Subject: [PATCH 56/65] gnu: sushi: Update package definition.

* gnu/packages/gnome.scm (sushi) [version]: Update to 3.34.0.
[source]<origin>[sha256]: Modify base32.
[arguments]<#:phases>['wrap-typelib]: Modify phase.
[inputs]: Add glib and gtk+. Replace gdk-pixbuf with gdk-pixbuf+svg.
Remove clutter, clutter-gst, clutter-gtk, libxml2 and neon.
[synopsis]: Modify.
---
 gnu/packages/gnome.scm | 47 +++++++++++++++++++++---------------------
 1 file changed, 23 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index a58eff03ad..95257e72e0 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -1744,55 +1744,54 @@ masses.")
 (define-public sushi
   (package
     (name "sushi")
-    (version "3.32.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version) "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "02idvqjk76lii9xyg3b1yz4rw721709bdm5j8ikjym6amcghl0aj"))))
+    (version "3.34.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1zcr8wi5bgvvpb5ha1v96aiaz4vqqrsn6cvvalwzah6am85k78m8"))))
     (build-system meson-build-system)
     (arguments
-     `(#:glib-or-gtk? #t
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
        #:phases
        (modify-phases %standard-phases
          (add-after 'glib-or-gtk-wrap 'wrap-typelib
            (lambda* (#:key outputs #:allow-other-keys)
-             (let ((prog (string-append (assoc-ref outputs "out")
-                                        "/bin/sushi")))
+             (let* ((prog (string-append (assoc-ref outputs "out")
+                                         "/bin/sushi")))
                ;; Put existing typelibs before sushi's deps, so as to correctly
                ;; infer gdk-pixbuf
                (wrap-program prog
                  `("GI_TYPELIB_PATH" suffix (,(getenv "GI_TYPELIB_PATH"))))
                #t))))))
     (native-inputs
-     `(("glib:bin" ,glib "bin")
-       ("gettext" ,gettext-minimal)
+     `(("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
        ("pkg-config" ,pkg-config)))
     (inputs
-     `(("clutter" ,clutter)
-       ("clutter-gst" ,clutter-gst)
-       ("clutter-gtk" ,clutter-gtk)
-       ("evince" ,evince)                         ; For file previewing.
+     `(("epoxy" ,libepoxy)
+       ("evince" ,evince)
        ("freetype" ,freetype)
-       ("gdk-pixbuf" ,gdk-pixbuf)
+       ("gdk-pixbuf" ,gdk-pixbuf+svg)
        ("gjs" ,gjs)
+       ("glib" ,glib)
        ("gst-plugins-base" ,gst-plugins-base)
        ("gstreamer" ,gstreamer)
-       ("gtksourceview" ,gtksourceview-3)
+       ("gtk+" ,gtk+)
+       ("gtksourceview" ,gtksourceview)
        ("harfbuzz" ,harfbuzz)
-       ("libepoxy" ,libepoxy)
        ("libmusicbrainz" ,libmusicbrainz)
-       ("libxml2" ,libxml2)
-       ("neon" ,neon)
        ("webkitgtk" ,webkitgtk)))
-    (synopsis "File previewer for the GNOME desktop")
+    (synopsis "File previewer")
     (description "Sushi is a DBus-activated service that allows applications to
 preview files on the GNOME desktop.")
     (home-page "https://gitlab.gnome.org/GNOME/sushi")
+    ;; With added exception clause.
     (license license:gpl2+)))
 
 (define-public rygel
-- 
2.28.0


[-- Attachment #1.1.14: 0057-gnu-totem-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 9736 bytes --]

From 0d43e161b7631272f0ac0bed695f18d196451eb9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 9 Aug 2020 02:18:24 -0400
Subject: [PATCH 57/65] gnu: totem: Update package definition.

* gnu/packages/gnome.scm (totem): Update package definition.
[outputs]: New outputs "help" and "doc".
[arguments]<#:configure-flags>[-Dwith-plugins]: New flag.
[-Denable-gtk-doc]: New flag.
<#:phases>['patch-docbook-xml]: New phase.
['pre-check]: Modify phase.
['move-doc]: New phase.
['move-help]: New phase.
['wrap-totem]: Modify phase.
['disable-cache-generation]: Remove phase.
[native-inputs]: Add docbook-xml and gtk-doc. Move vala from ...
[inputs]: ... here. Remove adwaita-icon-theme, atk, dbus-glib, librsvg,
libsoup, libxrandr, libxtst, libxml2, libxxf86vm, lirc and xorgproto.
Replace gdk-pixbuf with gdk-pixbuf+svg. Move gtk+ and totem-pl-parser to ...
[propagated-inputs]: ... here. Add glib. Remove dconf.
[synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/gnome.scm | 170 ++++++++++++++++++++++-------------------
 1 file changed, 90 insertions(+), 80 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 95257e72e0..9469c0a1f2 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7188,103 +7188,113 @@ Grilo's API for various multimedia content providers.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://gnome/sources/totem/"
-                           (version-major+minor version) "/"
-                           "totem-" version ".tar.xz"))
+       (uri
+        (string-append "mirror://gnome/sources/totem/"
+                       (version-major+minor version) "/"
+                       "totem-" version ".tar.xz"))
        (sha256
-        (base32
-         "028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b"))))
+        (base32 "028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b"))))
     (build-system meson-build-system)
+    (outputs '("out" "help" "doc"))
+    (arguments
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Denable-easy-codec-installation=no" ; Not required in Guix
+        "-Dwith-plugins=all"
+        "-Denable-gtk-doc=true")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs/reference"
+               (substitute* "totem-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.5/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-before 'configure 'skip-gtk-update-icon-cache
+           (lambda _
+             (substitute* "meson_post_install.py"
+               (("gtk-update-icon-cache")
+                "true"))
+             #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))
+             #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/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t)))
+         (add-after 'move-doc 'move-help
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (help (assoc-ref outputs "help")))
+               (mkdir-p (string-append help "/share"))
+               (rename-file
+                (string-append out "/share/help")
+                (string-append help "/share/help"))
+               #t)))
+         (add-after 'move-help 'wrap-totem
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
+                    (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
+               (wrap-program (string-append out "/bin/totem")
+                 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
+                 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
+               (wrap-program (string-append out "/bin/totem-video-thumbnailer")
+                 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
+             #t)))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("desktop-file-utils" ,desktop-file-utils)
+     `(("desktop-file-utils" ,desktop-file-utils)
+       ("docbook-xml" ,docbook-xml)
+       ("glib:bin" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
-       ("glib:bin" ,glib "bin")                   ;for 'glib-mkenums'
+       ("gtk-doc" ,gtk-doc)
        ("intltool" ,intltool)
        ("itstool" ,itstool)
+       ("pkg-config" ,pkg-config)
+       ("vala" ,vala)
        ("xmllint" ,libxml2)
        ("xorg-server" ,xorg-server-for-tests)))
-    (propagated-inputs
-     `(("dconf" ,dconf)))
     (inputs
-     `(("gtk+" ,gtk+)
-       ("gdk-pixbuf" ,gdk-pixbuf)
-       ("atk" ,atk)
-       ("cairo" ,cairo)
-       ("dbus-glib" ,dbus-glib)
+     `(("cairo" ,cairo)
        ("clutter" ,clutter)
        ("clutter-gtk" ,clutter-gtk)
        ("clutter-gst" ,clutter-gst)
-       ("xorgproto" ,xorgproto)
-       ("libxxf86vm" ,libxxf86vm)
-       ("libxtst" ,libxtst)
-       ("libxrandr" ,libxrandr)
-       ("libxml2" ,libxml2)
-       ("libsoup" ,libsoup)
-       ("libpeas" ,libpeas)
-       ("librsvg" ,librsvg)
-       ("lirc" ,lirc)
+       ("gdk-pixbuf" ,gdk-pixbuf+svg)
        ("gnome-desktop" ,gnome-desktop)
+       ("grilo" ,grilo)
+       ("grilo-plugins" ,grilo-plugins)
+       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
        ("gstreamer" ,gstreamer)
        ("gst-plugins-base" ,gst-plugins-base)
        ("gst-plugins-good" ,gst-plugins-good)
-       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
-       ("adwaita-icon-theme" ,adwaita-icon-theme)
-       ("python" ,python)
-       ("python-pygobject" ,python-pygobject)
-       ("totem-pl-parser" ,totem-pl-parser)
-       ("grilo" ,grilo)
-       ("grilo-plugins" ,grilo-plugins)
-       ("vala" ,vala)))
-    (arguments
-     `(#:glib-or-gtk? #t
-
-       ;; Disable automatic GStreamer plugin installation via PackageKit and
-       ;; all that.
-       #:configure-flags '("-D" "enable-easy-codec-installation=no"
-
-                           ;; Do not build .a files for the plugins, it's
-                           ;; completely useless.  This saves 2 MiB.
-                           "--default-library" "shared")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'skip-gtk-update-icon-cache
-           ;; Don't create 'icon-theme.cache'.
-           (lambda _
-             (substitute* "meson_post_install.py"
-               (("gtk-update-icon-cache") "true"))
-             #t))
-         (add-before
-          'install 'disable-cache-generation
-          (lambda _
-            (setenv "DESTDIR" "/")
-            #t))
-         (add-before
-          'check 'pre-check
-          (lambda _
-            ;; Tests require a running X server.
-            (system "Xvfb :1 &")
-            (setenv "DISPLAY" ":1")
-            #t))
-         (add-after
-          'install 'wrap-totem
-          (lambda* (#:key inputs outputs #:allow-other-keys)
-            (let ((out             (assoc-ref outputs "out"))
-                  (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
-                  (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
-              (wrap-program (string-append out "/bin/totem")
-                `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
-                `("GRL_PLUGIN_PATH"        ":" prefix (,grl-plugin-path)))
-              (wrap-program (string-append out "/bin/totem-video-thumbnailer")
-                `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
-            #t)))))
+       ("libpeas" ,libpeas)
+       ("pygobject" ,python-pygobject)
+       ("python" ,python)))
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("totem-pl-parser" ,totem-pl-parser)))
+    (synopsis "Movie player")
+    (description "Totem is movie player for the GNOME desktop based on
+GStreamer.  It features a playlist, a full-screen mode, seek and volume controls,
+as well as complete keyboard navigation.  Apart from a movie player, it also
+includes a video thumbnailer.")
     (home-page "https://wiki.gnome.org/Apps/Videos")
-    (synopsis "Simple media player for GNOME based on GStreamer")
-    (description "Totem is a simple yet featureful media player for GNOME
-which can read a large number of file formats.")
-    ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
-    ;; to be used and distributed together with GStreamer and Totem.  See
-    ;; file://COPYING in the source distribution for details.
+    ;; With added exception clause.
     (license license:gpl2+)))
 
 (define-public rhythmbox
-- 
2.28.0


[-- Attachment #1.1.15: 0058-gnu-wayland-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 5682 bytes --]

From ea024bd3e36c5b164c665f8836d05ccb696274f8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 9 Aug 2020 07:16:35 -0400
Subject: [PATCH 58/65] gnu: wayland: Update package definition.

* 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.
---
 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 2357805125..975388efba 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -754,38 +754,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
-- 
2.28.0


[-- Attachment #1.1.16: 0059-gnu-wayland-protocols-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 2260 bytes --]

From 032db56f8ab3587d4527c56bd3f8c0901ca1f595 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 9 Aug 2020 07:32:10 -0400
Subject: [PATCH 59/65] gnu: wayland-protocols: Update package definition.

* gnu/packages/freedesktop.scm (wayland-protocols) [version]: Update
to 1.20.
[source]<origin>[sha256]: Modify base32.
[description]: Modify.
---
 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 975388efba..0064acc088 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -827,22 +827,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)))
 
-- 
2.28.0


[-- Attachment #1.1.17: 0060-gnu-Add-eglexternalplatform.patch --]
[-- Type: text/x-patch, Size: 3238 bytes --]

From 4a9eb027bf23e24063dd23bffa1edc3b5da6e637 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 9 Aug 2020 23:55:18 -0400
Subject: [PATCH 60/65] gnu: Add eglexternalplatform.

* gnu/packages/graphics.scm (eglexternalplatform): New variable.
---
 gnu/packages/graphics.scm | 52 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 3a943461cc..400a2bdb41 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -91,6 +91,7 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages xdisorg)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system meson)
@@ -102,6 +103,57 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public eglexternalplatform
+  (package
+    (name "eglexternalplatform")
+    (version "1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/NVIDIA/eglexternalplatform.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "0lr5s2xa1zn220ghmbsiwgmx77l156wk54c7hybia0xpr9yr2nhb"))))
+    (build-system copy-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-pkgconfig
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "eglexternalplatform.pc"
+               (("/usr")
+                (assoc-ref outputs "out")))
+             #t))
+         (add-after 'install 'revise
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (mkdir-p (string-append out "/include/EGL"))
+               (rename-file
+                (string-append out "/interface")
+                (string-append out "/include/EGL"))
+               (mkdir-p (string-append out "/share/pkgconfig"))
+               (rename-file
+                (string-append out "/eglexternalplatform.pc")
+                (string-append out "/share/pkgconfig/eglexternalplatform.pc"))
+               (for-each delete-file-recursively
+                         (list
+                          (string-append out "/samples")
+                          (string-append out "/COPYING")
+                          (string-append out "/README.md"))))
+             #t)))))
+    (synopsis "EGL External Platform interface")
+    (description "EGLExternalPlatform is an specification of the EGL External
+Platform interface for writing EGL platforms and their interactions with modern
+window systems on top of existing low-level EGL platform implementations.  This
+keeps window system implementation specifics out of EGL drivers by using
+application-facing EGL functions.")
+    (home-page "https://github.com/NVIDIA/eglexternalplatform")
+    (license license:expat)))
+
 (define-public mmm
   (package
     (name "mmm")
-- 
2.28.0


[-- Attachment #1.1.18: 0061-gnu-Add-egl-wayland.patch --]
[-- Type: text/x-patch, Size: 1807 bytes --]

From c45f292b09227203a37545a7d653852a3f1150bf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 10 Aug 2020 00:05:11 -0400
Subject: [PATCH 61/65] gnu: Add egl-wayland.

* gnu/packages/graphics.scm (egl-wayland): New variable.
---
 gnu/packages/graphics.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 400a2bdb41..f1ddbb4151 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -154,6 +154,36 @@ application-facing EGL functions.")
     (home-page "https://github.com/NVIDIA/eglexternalplatform")
     (license license:expat)))
 
+(define-public egl-wayland
+  (package
+    (name "egl-wayland")
+    (version "1.1.5")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/NVIDIA/egl-wayland.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "09r6a69z75j3hb9751g3ap4gm1xn71aw3j7z0c7jns292cnaa76n"))))
+    (build-system meson-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("mesa" ,mesa)
+       ("wayland" ,wayland)))
+    (propagated-inputs
+     `(("eglexternalplatform" ,eglexternalplatform)))
+    (synopsis "EGLStream-based Wayland external platform")
+    (description "EGL-Wayland is an implementation of a EGL External Platform
+library to add client-side Wayland support to EGL on top of EGLDevice and
+EGLStream families of extensions.")
+    (home-page "https://github.com/NVIDIA/egl-wayland")
+    (license license:expat)))
+
 (define-public mmm
   (package
     (name "mmm")
-- 
2.28.0


[-- Attachment #1.1.19: 0062-gnu-Add-mozjs-68.patch --]
[-- Type: text/x-patch, Size: 4840 bytes --]

From ae436932c96b4f9f5308580de8999cca4a56b32b Mon Sep 17 00:00:00 2001
From: Kei Kebreau <kkebreau@posteo.net>
Date: Tue, 21 Apr 2020 11:10:24 -0400
Subject: [PATCH 62/65] gnu: Add mozjs-68.

* gnu/packages/gnuzilla.scm (mozjs-68): New variable.
---
 gnu/packages/gnuzilla.scm | 84 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 84 insertions(+)

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 3bffe12577..4d732f92e4 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -14,6 +14,7 @@
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;; Copyright © 2019, 2020 Adrian Malacoda <malacoda@monarch-pass.net>
 ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
+;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -413,6 +414,89 @@ in C/C++.")
        ("pkg-config" ,pkg-config)
        ("python" ,python-2)))))
 
+(define-public mozjs-68
+  ;; No releases yet at <https://archive.mozilla.org/pub/spidermonkey/releases/>.
+  ;; While we could take a snapshot of the complete mozilla-esr60 repository at
+  ;; <https://treeherder.mozilla.org/#/jobs?repo=mozilla-esr68&filter-searchStr=sm-tc>,
+  ;; we take the Debian version instead, because it is easier to work with.
+  (package
+    (inherit mozjs-60)
+    (version "68.6.0-2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://salsa.debian.org/gnome-team/mozjs68.git")
+                    (commit (string-append "debian/" version))))
+              (file-name (git-file-name "mozjs" version))
+              (sha256
+               (base32
+                "1iwn19sni8pgkn2p1l4gj4skr2zvmrpl0cfgdknmvxfrvwyfb4dx"))))
+    (arguments
+     `(#:tests? #f ; FIXME: all tests pass, but then the check phase fails anyway.
+       #:test-target "check-jstests"
+       #:configure-flags
+       `("--enable-ctypes"
+         "--enable-optimize"
+         "--enable-readline"
+         "--enable-shared-js"
+         "--enable-system-ffi"
+         "--with-system-nspr"
+         "--with-system-zlib"
+         "--with-system-icu"
+         "--with-intl-api"
+         ;; This is important because without it gjs will segfault during the
+         ;; configure phase.  With jemalloc only the standalone mozjs console
+         ;; will work.
+         "--disable-jemalloc"
+         ;; We must specify the clang paths manually, because otherwise the
+         ;; Mozilla build system looks in the directories returned by
+         ;; llvm-config --bindir and llvm-config --libdir, which return paths
+         ;; in the llvm package where clang is not found.
+         ,(string-append "--with-clang-path="
+                         (assoc-ref %build-inputs "clang")
+                         "/bin/clang")
+         ,(string-append "--with-libclang-path="
+                         (assoc-ref %build-inputs "clang")
+                         "/lib"))
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key inputs outputs configure-flags #:allow-other-keys)
+             ;; The configure script does not accept environment variables as
+             ;; arguments.  It also must be run from a different directory,
+             ;; but not the root directory either.
+             (let ((out (assoc-ref outputs "out")))
+               (mkdir "run-configure-from-here")
+               (chdir "run-configure-from-here")
+               (setenv "SHELL" (which "sh"))
+               (setenv "CONFIG_SHELL" (which "sh"))
+               (setenv "AUTOCONF" (string-append (assoc-ref inputs "autoconf")
+                                                 "/bin/autoconf"))
+
+               (apply invoke "../js/src/configure"
+                      (cons (string-append "--prefix=" out)
+                            configure-flags))
+               #t)))
+         (add-after 'unpack 'disable-broken-tests
+           (lambda _
+             ;; This test assumes that /bin exists and contains certain
+             ;; executables.
+             (delete-file "js/src/tests/shell/os.js")
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf-2.13)    ; required for "--localdir" flag to work
+       ("automake" ,automake)
+       ("which" ,which)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python)
+       ("python-2" ,python-2)
+       ("rust" ,rust)
+       ("cargo" ,rust "cargo")
+       ("rust-cbindgen" ,rust-cbindgen)
+       ("llvm" ,llvm)
+       ("clang" ,clang)))))
+
 (define mozilla-compare-locales
   (origin
     (method hg-fetch)
-- 
2.28.0


[-- Attachment #1.1.20: 0063-gnu-gjs-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 3188 bytes --]

From 004c8bbf589b502dfbb36c7d33ddfc76a440ab20 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 11 Aug 2020 06:21:31 -0400
Subject: [PATCH 63/65] gnu: gjs: Update package definition.

* gnu/packages/gnome.scm (gjs) [version]: Update to 1.64.4.
[source]<origin>[sha256]: Modify base32.
[build-system]: Change from glib-or-gtk to meson.
[arguments]<#:glib-or-gtk?>: New argument.
<#:phases>['pre-check]: Modify phase.
[propagated-inputs]: Replace mozjs-60 with mozjs-68.
---
 gnu/packages/gnome.scm | 25 ++++++++-----------------
 1 file changed, 8 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 9469c0a1f2..dfb65826fc 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -8385,7 +8385,7 @@ configuration program to choose applications starting on login.")
 (define-public gjs
   (package
     (name "gjs")
-    (version "1.58.8")
+    (version "1.64.4")
     (source
      (origin
        (method url-fetch)
@@ -8394,14 +8394,13 @@ configuration program to choose applications starting on login.")
                        (version-major+minor version) "/"
                        name "-" version ".tar.xz"))
        (sha256
-        (base32 "10gkmxbhwpnq27db0gkn25b0gw28n05msjkzwjg3sdhpdisfpcvz"))))
-    (build-system glib-or-gtk-build-system)
+        (base32 "0k6l2qc2vkws34zrgdhl57qxf0jjkar2iziz6qn4n1w7va73mk53"))))
+    (build-system meson-build-system)
     (arguments
-     '(#:configure-flags
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
        (list
-        "--enable-code-coverage"
-        "--enable-asan"
-        "--enable-ubsan")
+        "-Dinstalled_tests=false")
        #:phases
        (modify-phases %standard-phases
          (add-before
@@ -8412,17 +8411,9 @@ configuration program to choose applications starting on login.")
              (setenv "DISPLAY" ":1")
              ;; For the missing /etc/machine-id.
              (setenv "DBUS_FATAL_WARNINGS" "0")
-             ;; Our mozjs package does not compile the required Intl API
-             ;; support for these failing tests.
-             (substitute* "installed-tests/js/testLocale.js"
-               ((".*toBeDefined.*") "")
-               ((".*expect\\(datestr\\).*") ""))
-             (substitute* "installed-tests/scripts/testCommandLine.sh"
-               (("Valentín") "")
-               (("☭") ""))
              #t)))))
     (native-inputs
-     `(("dbus-launch" ,dbus)
+     `(("dbus" ,dbus)
        ("dconf" ,dconf)
        ("glib:bin" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
@@ -8440,7 +8431,7 @@ configuration program to choose applications starting on login.")
      `(("cairo" ,cairo)
        ("glib" ,glib)
        ("libffi" ,libffi)
-       ("mozjs" ,mozjs-60)))
+       ("mozjs" ,mozjs-68)))
     (synopsis "Javascript bindings for GNOME")
     (description "Gjs is a javascript binding for GNOME.  It's mainly based on
 spidermonkey javascript engine and the GObject introspection framework.")
-- 
2.28.0


[-- Attachment #1.1.21: 0064-gnu-mutter-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 11980 bytes --]

From ae30bf6af1397b1b3f7b43ab6435f637fe6d42a7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 10 Aug 2020 02:07:39 -0400
Subject: [PATCH 64/65] gnu: mutter: Update package definition.

* gnu/packages/gnome.scm (mutter) [version]: Update to 3.36.4.
[source]<origin>[sha256]: Modify base32.
[arguments]<#:configure-flags>[-Dgles2_libname]: New flag.
[-Degl_device]: New flag.
[-Dwayland_eglstream]: New flag.
[-Dinstalled_tests]: New flag.
[-Dxwayland_grab_default_access_rules]: New flag.
[-Dxwayland_initfd]: New flag.
[-Dc_link_args]: Modify flag.
<#:phases>['fix-build-with-mesa-20]: Remove phase.
[native-inputs]: Add adwaita-icon-theme, python-wrapper and ruby.
Remove autoconf, automake and libtool.
[propagated-inputs]: Add graphene, wayland and libxi. Remove xinput.
Move gdk-pixbuf+svg, libinput, eudev, libxcomposite, libxdamage, libxext,
libxkbcommon and libxrandr to ...
[inputs]: ... here. Add dbus, freetype, fribidi, libdrm, sysprof, egl-wayland,
wayland-protocols, libxau, libxcb, libxcursor, libxinerama and libxrender.
Remove zenity.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
---
 gnu/packages/gnome.scm | 216 +++++++++++++++++++++++------------------
 1 file changed, 122 insertions(+), 94 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index dfb65826fc..b9689876df 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -118,6 +118,7 @@
   #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages geo)
   #:use-module (gnu packages gperf)
+  #:use-module (gnu packages graphics)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gsasl)
   #:use-module (gnu packages gstreamer)
@@ -8618,114 +8619,141 @@ in commandline and shell scripts.")
 (define-public mutter
   (package
     (name "mutter")
-    (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
-                "0b8bz5kvs7rlwvqsg87cf6jhrrj95vgd1l235mjx8rip35ipfvrd"))))
-    ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
-    ;; versions of cogl and clutter.  As a result, many of the inputs,
-    ;; propagated-inputs, and configure flags used in cogl and clutter are
-    ;; needed here as well.
+    (version "3.36.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0p3jglw6f2h67kwk89qz1rz23y25lip8m2mp2xshf2vrg4a930as"))))
     (build-system meson-build-system)
     (arguments
-     '(;; XXX: All mutter tests fail with the following error:
-       ;;   Settings schema 'org.gnome.mutter' is not installed
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       ;; Tests are to be enabled.
        #:tests? #f
-       #:glib-or-gtk? #t
        #:configure-flags
-       ;; TODO: Enable profiler when Sysprof is packaged.
-       (list "-Dprofiler=false"
-             ;; Otherwise, the RUNPATH will lack the final path component.
-             (string-append "-Dc_link_args=-Wl,-rpath="
-                            (assoc-ref %outputs "out") "/lib:"
-                            (assoc-ref %outputs "out") "/lib/mutter-5")
-
-             ;; The following flags are needed for the bundled clutter
-             (string-append "-Dxwayland_path="
-                            (assoc-ref %build-inputs "xorg-server-xwayland")
-                            "/bin/Xwayland")
-
-             ;; the remaining flags are needed for the bundled cogl
-             (string-append "-Dopengl_libname="
-                            (assoc-ref %build-inputs "mesa")
-                            "/lib/libGL.so"))
-       #:phases (modify-phases %standard-phases
-                  (add-after 'unpack 'fix-build-with-mesa-20
-                    (lambda _
-                      ;; Mimic upstream commit a444a4c5f58ea516ad for
-                      ;; compatibility with Mesa 20.  Remove for 3.36.
-                      (substitute* '("src/backends/meta-egl-ext.h"
-                                     "src/backends/meta-egl.c"
-                                     "src/backends/meta-egl.h")
-                        (("#include <EGL/eglext\\.h>" all)
-                         (string-append all "\n#include <EGL/eglmesaext.h>")))
-                      (substitute* "cogl/cogl/meson.build"
-                        (("#include <EGL/eglext\\.h>" all)
-                         (string-append all "\\n#include <EGL/eglmesaext.h>")))
-                      #t)))))
+       (list
+        (string-append "-Dopengl_libname="
+                       (assoc-ref %build-inputs "mesa")
+                       "/lib/libGL.so")
+        (string-append "-Dgles2_libname="
+                       (assoc-ref %build-inputs "mesa")
+                       "/lib/libGLESv2.so")
+        "-Degl_device=true"
+        "-Dwayland_eglstream=true"
+        "-Dinstalled_tests=false"
+        (string-append "-Dxwayland_path="
+                       (assoc-ref %build-inputs "xorg-server-xwayland")
+                       "/bin/Xwayland")
+        "-Dxwayland_grab_default_access_rules=gnome-boxes"
+        "-Dxwayland_initfd=enabled"
+        ;; Otherwise, the RUNPATH will lack the final path component.
+        (string-append "-Dc_link_args=-Wl,-rpath="
+                       (assoc-ref %outputs "out")
+                       "/lib"
+                       ":"
+                       (assoc-ref %outputs "out")
+                       "/lib/mutter-6"))))
+;;       #:phases
+;;       (modify-phases %standard-phases
+;;         (delete 'check)
+;;         (add-after 'install 'custom-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))
+;;             ;; Tests look for $XDG_DATA_DIRS.
+;;             (setenv "XDG_DATA_DIRS"
+;;                     (string-append (getenv "XDG_DATA_DIRS")
+;;                                    ":"
+;;                                    (assoc-ref %outputs "out")
+;;                                    "/share"))
+;;             ;; For missing '/etc/machine-id'.
+;;             (setenv "DBUS_FATAL_WARNINGS" "0")
+;;             (setenv "XCURSOR_THEME" "Adwaita")
+;;             (setenv "XCURSOR_PATH"
+;;                     (string-append (assoc-ref %build-inputs "adwaita-icon-theme")
+;;                                    "/share"))
+;;             (invoke "dbus-launch" "ninja" "test")
+;;             #t)))))
     (native-inputs
-     `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
-       ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
+     `(("adwaita-icon-theme" ,adwaita-icon-theme)
+       ("desktop-file-utils" ,desktop-file-utils)
+       ("glib:bin" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
        ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)
-       ("xorg-server" ,xorg-server-for-tests)
-       ;; For git build
-       ("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("libtool" ,libtool)))
-    (propagated-inputs
-     `(;; libmutter.pc refers to these:
-       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
-       ("gtk+" ,gtk+)
-       ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
-       ("atk" ,atk)
-       ("cairo" ,cairo)
-       ("gdk-pixbuf" ,gdk-pixbuf)
-       ("glib" ,glib)
-       ("json-glib" ,json-glib)
-       ("libinput" ,libinput)
-       ("libx11" ,libx11)
-       ("libxcomposite" ,libxcomposite)
-       ("libxdamage" ,libxdamage)
-       ("libxext" ,libxext)
-       ("libxfixes" ,libxfixes)
-       ("libxkbcommon" ,libxkbcommon)
-       ("libxrandr" ,libxrandr)
-       ("mesa" ,mesa)
-       ("pango" ,pango)
-       ("udev" ,eudev)
-       ("xinput" ,xinput)))
+       ("python" ,python-wrapper)
+       ("ruby" ,ruby)
+       ("xorg-server" ,xorg-server-for-tests)))
     (inputs
-     `(("elogind" ,elogind)
+     `(("dbus" ,dbus)
+       ("freetype" ,freetype)
+       ("fribidi" ,fribidi)
+       ("gdk-pixbuf" ,gdk-pixbuf+svg)
        ("gnome-desktop" ,gnome-desktop)
        ("gnome-settings-daemon" ,gnome-settings-daemon)
-       ("libcanberra-gtk" ,libcanberra)
-       ("libgudev" ,libgudev)
-       ("libice" ,libice)
-       ("libsm" ,libsm)
+       ("gudev" ,libgudev)
+       ("ice" ,libice)
+       ("libcanberra" ,libcanberra)
+       ("libdrm" ,libdrm)
+       ("libelogind" ,elogind)
+       ("libinput" ,libinput)
+       ("libpipewire" ,pipewire)
+       ("libstartup-notification" ,startup-notification)
+       ("libudev" ,eudev)
        ("libwacom" ,libwacom)
-       ("libxkbfile" ,libxkbfile)
-       ("libxrandr" ,libxrandr)
-       ("libxtst" ,libxtst)
-       ("pipewire" ,pipewire)
-       ("startup-notification" ,startup-notification)
-       ("upower-glib" ,upower)
+       ("sm" ,libsm)
+       ("sysprof" ,sysprof)
+       ("upower" ,upower)
+       ("wayland-eglstream-protocols" ,egl-wayland)
+       ("wayland-protocols" ,wayland-protocols)
+       ("xau" ,libxau)
+       ("xcb" ,libxcb)
+       ("xcomposite" ,libxcomposite)
+       ("xcursor" ,libxcursor)
+       ("xdamage" ,libxdamage)
+       ("xext" ,libxext)
+       ("xinerama" ,libxinerama)
+       ("xkbcommon" ,libxkbcommon)
+       ("xkbfile" ,libxkbfile)
        ("xkeyboard-config" ,xkeyboard-config)
        ("xorg-server-xwayland" ,xorg-server-xwayland)
-       ("zenity" ,zenity)))
-    (synopsis "Window and compositing manager")
-    (home-page "https://www.gnome.org")
-    (description
-     "Mutter is a window and compositing manager that displays and manages your
-desktop via OpenGL.  Mutter combines a sophisticated display engine using the
-Clutter toolkit with solid window-management logic inherited from the Metacity
-window manager.")
+       ("xrandr" ,libxrandr)
+       ("xrender" ,libxrender)
+       ("xtst" ,libxtst)))
+    (propagated-inputs
+     `(("atk" ,atk)
+       ("cairo" ,cairo)
+       ("glib" ,glib)
+       ("graphene" ,graphene)
+       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+       ("gtk+" ,gtk+)
+       ("json-glib" ,json-glib)
+       ("mesa" ,mesa)
+       ("pango" ,pango)
+       ("wayland" ,wayland)
+       ("x11" ,libx11)
+       ("xfixes" ,libxfixes)
+       ("xi" ,libxi)))
+    (synopsis "Wayland display server and X11 window manager and compositor library")
+    (description "Mutter, when used as a Wayland display server, it runs on top
+of KMS and libinput.  It implements the compositor side of the Wayland core
+protocol as well as various protocol extensions.  It also has functionality
+related to running X11 applications using Xwayland.
+Mutter, when used on top of Xorg, it acts as a X11 window manager and
+compositing manager.
+Mutter contains functionality related to, among other things, window management,
+window compositing, focus tracking, workspace management, keybindings and
+monitor configuration.")
+    (home-page "https://wiki.gnome.org/Projects/Mutter")
     (license license:gpl2+)))
 
 (define-public gnome-online-accounts
-- 
2.28.0


[-- Attachment #1.1.22: 0065-gnu-gdm-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 19315 bytes --]

From 17b9cce3c19b092225759e6a1b51e7bcf330a4ce Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 11 Aug 2020 04:36:54 -0400
Subject: [PATCH 65/65] gnu: gdm: Update package definition.

* gnu/packages/gnome.scm (gdm) [version]: Update to 3.36.3.
[source]<origin>[sha256]: Modify base32.
[patches]<search-patches>[gdm-default-session.patch]: Remove patch.
[outputs]: New output "help".
[arguments]<#:configure-flags>[--disable-static]: New flag.
[--enable-gdm-xsession]: New flag.
[--enable-ipv6]: New flag.
[--with-help-dir]: New flag.
[--with-systemdsystemunitdir]: New flag.
[--with-default-path]: Modify flag.
[--with-xevie]: New flag.
[--without-plymouth]: Remove flag.
[--localstatedir]: Remove flag.
[--sbindir]: Remove flag.
<#:phases>['pre-configure]: Modify phase.
['install-placeholder-desktop-entry]: Remove phase.
['link-autostart-files]: Remove phase.
[native-inputs]: Add check.
[inputs]: Add glib, audit, keyutils, libice, libselinux, plymouth,
tcp-wrappers, libx11, libxau, libxcb, libxdmcp, libext and libxinerama.
Remove check.
[synopsis]: Modify.
[description]: Modify.

* gnu/packages/patches/gdm-default-session.patch: Remove file.

* gnu/local.mk (gdm-default-session.patch): Remove reference.
---
 gnu/local.mk                                  |   1 -
 gnu/packages/gnome.scm                        | 241 ++++++------------
 .../patches/gdm-default-session.patch         |  89 -------
 3 files changed, 75 insertions(+), 256 deletions(-)
 delete mode 100644 gnu/packages/patches/gdm-default-session.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 9ff617a1ac..ec0b6defa8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -973,7 +973,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/gd-fix-tests-on-i686.patch		\
   %D%/packages/patches/gd-brect-bounds.patch			\
   %D%/packages/patches/gdb-hurd.patch				\
-  %D%/packages/patches/gdm-default-session.patch		\
   %D%/packages/patches/gegl-mrg.patch			\
   %D%/packages/patches/geoclue-config.patch			\
   %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch	\
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index b9689876df..18013f317e 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -92,6 +92,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cpio)
   #:use-module (gnu packages crates-io)
+  #:use-module (gnu packages crypto)
   #:use-module (gnu packages cups)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages cyrus-sasl)
@@ -9546,172 +9547,69 @@ libxml2.")
 (define-public gdm
   (package
     (name "gdm")
-    (version "3.34.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version) "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "1lyqvcwxhwxklbxn4xjswjzr6fhjix6h28mi9ypn34wdm9bzcpg8"))
-              (patches (search-patches "gdm-default-session.patch"))))
+    (version "3.36.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "10byz8jwqv1qpvjj8wd36vfb8pbh9g7pchsc1gbwplf0rchbdyrv"))))
     (build-system glib-or-gtk-build-system)
+    (outputs '("out" "help"))
     (arguments
-     '(#:configure-flags
-       `("--without-plymouth"
-         "--disable-systemd-journal"
-
-         ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
-         ;; instead of having to replace it (i.e., stopping the mingetty
-         ;; service for TTY 1 before starting GDM).
-         "--with-initial-vt=7"
-
-         ;; Use '/etc/environment' for locale settings instead of the
-         ;; systemd-specific '/etc/locale.conf'.
-         "--with-lang-file=/etc/environment"
-
-         ,(string-append "--with-udevdir="
-                         (assoc-ref %outputs "out") "/lib/udev")
-
-         "--localstatedir=/var"
-         ,(string-append "--with-default-path="
-                         (string-join '("/run/setuid-programs"
-                                        "/run/current-system/profile/bin"
-                                        "/run/current-system/profile/sbin")
-                                      ":"))
-         ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
-         ;; XDG_DATA_DIRS so that it finds its schemas.
-         "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
+     `(#:configure-flags
+       (list
+        "--disable-static"
+        "--enable-gdm-xsession"
+        "--disable-systemd-journal"
+        "--enable-ipv6"
+        (string-append "--with-help-dir="
+                       (assoc-ref %outputs "help")
+                       "/share/help")
+        (string-append "--with-udevdir="
+                       (assoc-ref %outputs "out")
+                       "/lib/udev")
+        (string-append "--with-systemdsystemunitdir="
+                       (getcwd))
+        (string-append "--with-default-path="
+                       "/run/setuid-programs"
+                       ":"
+                       "/run/current-system/profile/bin"
+                       ":"
+                       "/run/current-system/profile/sbin")
+        "--with-lang-file=/etc/environment"
+        "--with-xevie"
+        "--with-initial-vt=7")
        #:phases
        (modify-phases %standard-phases
-         (add-before
-          'configure 'pre-configure
-          (lambda* (#:key inputs outputs #:allow-other-keys)
-            ;; We don't have <systemd/sd-daemon.h>.
-            (substitute* '("common/gdm-log.c"
-                           "daemon/gdm-server.c"
-                           "daemon/gdm-session-worker.c"
-                           "daemon/gdm-session-worker-job.c")
-              (("#include <systemd/sd-daemon\\.h>") ""))
-            ;; Use elogind for sd-login.
-            (substitute* '("common/gdm-common.c"
-                           "daemon/gdm-local-display-factory.c"
-                           "daemon/gdm-manager.c"
-                           "libgdm/gdm-user-switching.c")
-              (("#include <systemd/sd-login\\.h>")
-               "#include <elogind/sd-login.h>"))
-            ;; Check for elogind.
-            (substitute* '("configure")
-              (("libsystemd")
-               "libelogind"))
-            ;; Look for system-installed sessions in
-            ;; /run/current-system/profile/share.
-            (substitute* '("libgdm/gdm-sessions.c"
-                           "daemon/gdm-session.c"
-                           "daemon/gdm-display.c"
-                           "daemon/gdm-launch-environment.c")
-              (("DATADIR \"/x")
-               "\"/run/current-system/profile/share/x")
-              (("DATADIR \"/wayland")
-               "\"/run/current-system/profile/share/wayland")
-              (("DATADIR \"/gnome")
-               "\"/run/current-system/profile/share/gnome"))
-            (let ((propagate '("GDM_CUSTOM_CONF"
-                               "GDM_DBUS_DAEMON"
-                               "GDM_X_SERVER"
-                               "GDM_X_SESSION"
-                               ;; XXX: Remove this once GNOME Shell is
-                               ;; a dependency of GDM.
-                               "XDG_DATA_DIRS")))
-              (substitute* "daemon/gdm-session.c"
-                (("set_up_session_environment \\(self\\);")
-                 (apply string-append
-                        "set_up_session_environment (self);\n"
-                        (map (lambda (name)
-                               (string-append
-                                "gdm_session_set_environment_variable "
-                                "(self, \"" name "\","
-                                "g_getenv (\"" name "\"));\n"))
-                             propagate)))))
-            ;; Find the configuration file using an environment variable.
-            (substitute* '("common/gdm-settings.c")
-              (("GDM_CUSTOM_CONF")
-               (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
-                              " ? g_getenv(\"GDM_CUSTOM_CONF\")"
-                              " : GDM_CUSTOM_CONF)")))
-            ;; Use service-supplied path to X.
-            (substitute* '("daemon/gdm-server.c")
-              (("\\(X_SERVER X_SERVER_ARG_FORMAT")
-               "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
-            (substitute* '("daemon/gdm-wayland-session.c"
-                           "daemon/gdm-x-session.c")
-              (("\"dbus-daemon\"")
-               "g_getenv (\"GDM_DBUS_DAEMON\")")
-              (("X_SERVER")
-               "g_getenv (\"GDM_X_SERVER\")")
-              (("GDMCONFDIR \"/Xsession\"")
-               "g_getenv (\"GDM_X_SESSION\")"))
-            ;; Use an absolute path for GNOME Session.
-            (substitute* "daemon/gdm-launch-environment.c"
-              (("\"gnome-session\"")
-               (string-append "\"" (assoc-ref inputs "gnome-session")
-                              "/bin/gnome-session\"")))
-            ;; Do not automatically select the placeholder session.
-            (substitute* "daemon/gdm-session.c"
-              (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
-               (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
-                              "(g_strcmp0(search_dirs[i], \""
-                              (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
-                              "\") == 0 && "
-                              "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
-              (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
-               "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
-            #t))
-         ;; GDM requires that there be at least one desktop entry
-         ;; file.  This phase installs a hidden one that simply
-         ;; fails.  This enables users to use GDM with a
-         ;; '~/.xsession' script with no other desktop entry files.
-         ;; See <https://bugs.gnu.org/35068>.
-         (add-after 'install 'install-placeholder-desktop-entry
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (sessions (string-append out "/share/gdm/BuiltInSessions"))
-                    (fail (string-append sessions "/fail.desktop")))
-               (mkdir-p sessions)
-               (with-output-to-file fail
-                 (lambda ()
-                   (for-each
-                    display
-                    '("[Desktop Entry]\n"
-                      "Encoding=UTF-8\n"
-                      "Type=Application\n"
-                      "Name=Fail\n"
-                      "Comment=This session fails immediately.\n"
-                      "NoDisplay=true\n"
-                      "Exec=false\n"))))
-               #t)))
-         ;; GDM needs GNOME Session to run these applications.  We link
-         ;; their autostart files in `share/gdm/greeter/autostart'
-         ;; because GDM explicitly tells GNOME Session to look there.
-         ;;
-         ;; XXX: GNOME Shell should be linked here too, but currently
-         ;; GNOME Shell depends on GDM.
-         (add-after 'install 'link-autostart-files
+         (add-before 'configure 'pre-configure
            (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (autostart (string-append out "/share/gdm/"
-                                              "greeter/autostart"))
-                    (settings (assoc-ref inputs "gnome-settings-daemon")))
-               (mkdir-p autostart)
-               (with-directory-excursion autostart
-                 (for-each (lambda (desktop)
-                             (symlink desktop (basename desktop)))
-                           (find-files (string-append settings "/etc/xdg"))))
-               #t))))))
+             ;; We don't have <systemd/sd-daemon.h>.
+             (substitute* '("common/gdm-log.c"
+                            "daemon/gdm-server.c"
+                            "daemon/gdm-session-worker.c"
+                            "daemon/gdm-session-worker-job.c")
+               (("#include <systemd/sd-daemon\\.h>")
+                ""))
+             ;; Use elogind for sd-login.
+             (substitute* '("common/gdm-common.c"
+                            "daemon/gdm-local-display-factory.c"
+                            "daemon/gdm-manager.c"
+                            "libgdm/gdm-user-switching.c")
+               (("#include <systemd/sd-login\\.h>")
+                "#include <elogind/sd-login.h>"))
+             ;; Check for elogind.
+             (substitute* '("configure")
+               (("libsystemd")
+                "libelogind"))
+             #t)))))
     (native-inputs
-     `(("dconf" ,dconf)
-       ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
+     `(("check" ,check)
+       ("dconf" ,dconf)
+       ("glib:bin" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
        ("intltool" ,intltool)
        ("itstool" ,itstool)
@@ -9719,19 +9617,30 @@ libxml2.")
        ("xmllint" ,libxml2)))
     (inputs
      `(("accountsservice" ,accountsservice)
-       ("check" ,check) ; for testing
        ("elogind" ,elogind)
+       ("glib" ,glib)
        ("gnome-session" ,gnome-session)
        ("gnome-settings-daemon" ,gnome-settings-daemon)
        ("gtk+" ,gtk+)
+       ("ice" ,libice)
        ("iso-codes" ,iso-codes)
+       ("libaudit" ,audit)
        ("libcanberra" ,libcanberra)
-       ("linux-pam" ,linux-pam)))
-    (synopsis "Display manager for GNOME")
+       ("libkeyutils" ,keyutils)
+       ("libselinux" ,libselinux)
+       ("linux-pam" ,linux-pam)
+       ("plymouth" ,plymouth)
+       ("tcp-wrappers" ,tcp-wrappers)
+       ("x11" ,libx11)
+       ("xau" ,libxau)
+       ("xcb" ,libxcb)
+       ("xdmcp" ,libxdmcp)
+       ("xext" ,libxext)
+       ("xinerama" ,libxinerama)))
+    (synopsis "GNOME Display Manager")
+    (description "GDM is a program that manages graphical display servers and
+handles graphical user logins.")
     (home-page "https://wiki.gnome.org/Projects/GDM/")
-    (description
-     "GNOME Display Manager is a system service that is responsible for
-providing graphical log-ins and managing local and remote displays.")
     (license license:gpl2+)))
 
 (define-public libgtop
diff --git a/gnu/packages/patches/gdm-default-session.patch b/gnu/packages/patches/gdm-default-session.patch
deleted file mode 100644
index 9ab2829cdb..0000000000
--- a/gnu/packages/patches/gdm-default-session.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-This patch ensures '.desktop' files are picked up in the system profile
-and not in the directories listed in $XDG_DATA_DIRS.  The latter includes
-'gnome-session.desktop', which should be used if it's in
-/run/current-system/profile, and only then.
-
-Fixes <https://bugs.gnu.org/37831>.
-
-diff -ur a/daemon/gdm-session.c b/daemon/gdm-session.c
---- a/daemon/gdm-session.c	2019-09-25 10:40:24.000000000 -0400
-+++ b/daemon/gdm-session.c	2020-04-18 18:30:02.671856808 -0400
-@@ -348,24 +348,18 @@
-         GArray *search_array = NULL;
-         char **search_dirs;
-         int i;
--        const gchar * const *system_data_dirs = g_get_system_data_dirs ();
- 
-         static const char *x_search_dirs[] = {
-                 "/etc/X11/sessions/",
-                 DMCONFDIR "/Sessions/",
-                 DATADIR "/gdm/BuiltInSessions/",
--                DATADIR "/xsessions/",
-+                "/run/current-system/profile/share/xsessions/"
-         };
- 
-         static const char *wayland_search_dir = DATADIR "/wayland-sessions/";
- 
-         search_array = g_array_new (TRUE, TRUE, sizeof (char *));
- 
--        for (i = 0; system_data_dirs[i]; i++) {
--                gchar *dir = g_build_filename (system_data_dirs[i], "xsessions", NULL);
--                g_array_append_val (search_array, dir);
--        }
--
-         g_array_append_vals (search_array, x_search_dirs, G_N_ELEMENTS (x_search_dirs));
- 
- #ifdef ENABLE_WAYLAND_SUPPORT
-@@ -373,16 +367,7 @@
- #ifdef ENABLE_USER_DISPLAY_SERVER
-                 g_array_prepend_val (search_array, wayland_search_dir);
- 
--                for (i = 0; system_data_dirs[i]; i++) {
--                        gchar *dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL);
--                        g_array_insert_val (search_array, i, dir);
--                }
- #else
--                for (i = 0; system_data_dirs[i]; i++) {
--                        gchar *dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL);
--                        g_array_append_val (search_array, dir);
--                }
--
-                 g_array_append_val (search_array, wayland_search_dir);
- #endif
-         }
-diff -ur a/libgdm/gdm-sessions.c b/libgdm/gdm-sessions.c
---- a/libgdm/gdm-sessions.c	2019-10-07 04:53:35.000000000 -0400
-+++ b/libgdm/gdm-sessions.c	2020-04-18 18:31:42.491348691 -0400
-@@ -245,19 +245,12 @@
-                 "/etc/X11/sessions/",
-                 DMCONFDIR "/Sessions/",
-                 DATADIR "/gdm/BuiltInSessions/",
--                DATADIR "/xsessions/",
-+                "/run/current-system/profile/share/xsessions/"
-         };
- 
-         names_seen_before = g_hash_table_new (g_str_hash, g_str_equal);
-         xorg_search_array = g_ptr_array_new_with_free_func (g_free);
- 
--        const gchar * const *system_data_dirs = g_get_system_data_dirs ();
--
--        for (i = 0; system_data_dirs[i]; i++) {
--                session_dir = g_build_filename (system_data_dirs[i], "xsessions", NULL);
--                g_ptr_array_add (xorg_search_array, session_dir);
--        }
--
-         for (i = 0; i < G_N_ELEMENTS (xorg_search_dirs); i++) {
-                 g_ptr_array_add (xorg_search_array, g_strdup (xorg_search_dirs[i]));
-         }
-@@ -269,11 +262,6 @@
- 
-         wayland_search_array = g_ptr_array_new_with_free_func (g_free);
- 
--        for (i = 0; system_data_dirs[i]; i++) {
--                session_dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL);
--                g_ptr_array_add (wayland_search_array, session_dir);
--        }
--
-         for (i = 0; i < G_N_ELEMENTS (wayland_search_dirs); i++) {
-                 g_ptr_array_add (wayland_search_array, g_strdup (wayland_search_dirs[i]));
-         }
-- 
2.28.0


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

  reply	other threads:[~2020-08-11 10:40 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-06  9:13 [OUTREACHY]: Integration of desktop environments into GNU Guix Raghav Gururajan
2020-05-06 14:19 ` Ludovic Courtès
2020-05-06 15:05   ` Gábor Boskovits
2020-05-06 15:49 ` Ricardo Wurmus
2020-05-06 16:03   ` Raghav Gururajan
2020-05-06 15:52 ` sirgazil
2020-05-06 16:04   ` Raghav Gururajan
2020-05-06 17:22 ` Jan Nieuwenhuizen
2020-05-06 17:23   ` Raghav Gururajan
2020-05-20 13:34 ` Raghav Gururajan
2020-05-20 13:51   ` Pierre Neidhardt
2020-05-20 13:57     ` Raghav Gururajan
2020-05-20 14:06       ` Pierre Neidhardt
2020-05-21  9:08   ` Efraim Flashner
2020-05-22 11:18     ` Raghav Gururajan
2020-05-22 11:25   ` Raghav Gururajan
2020-05-23 14:26     ` Raghav Gururajan
2020-05-25 20:08       ` Danny Milosavljevic
2020-05-28 17:11         ` Raghav Gururajan
2020-05-28 17:10       ` Raghav Gururajan
2020-05-28 18:23         ` Danny Milosavljevic
2020-05-29 21:01           ` Raghav Gururajan
2020-05-29 23:02             ` Danny Milosavljevic
2020-05-29 20:54         ` Raghav Gururajan
2020-05-29 21:08           ` Raghav Gururajan
2020-05-30 20:30             ` Raghav Gururajan
2020-05-31 13:31               ` Danny Milosavljevic
2020-06-10 13:12                 ` Raghav Gururajan
2020-06-04 18:31               ` Raghav Gururajan
2020-06-04 18:52                 ` Vincent Legoll
2020-06-10 13:06                   ` Raghav Gururajan
2020-06-04 18:57                 ` Danny Milosavljevic
2020-06-14 13:31                 ` Raghav Gururajan
2020-06-19 23:37                   ` Raghav Gururajan
2020-06-24 22:40                     ` Danny Milosavljevic
2020-07-04 10:37                       ` Raghav Gururajan
2020-07-04 11:14                         ` Raghav Gururajan
2020-07-06  1:36                           ` Raghav Gururajan
2020-07-06 19:24                           ` Danny Milosavljevic
2020-07-06 19:56                             ` Efraim Flashner
2020-07-05 19:25                         ` Danny Milosavljevic
2020-07-06  5:05                           ` Raghav Gururajan
2020-07-13 13:45                             ` Ludovic Courtès
2020-07-13 13:50                               ` Raghav Gururajan
2020-07-16  1:21                             ` Raghav Gururajan
2020-07-17 12:38                               ` Danny Milosavljevic
2020-07-18 13:29                                 ` Raghav Gururajan
2020-07-18 14:12                                   ` Danny Milosavljevic
2020-07-18 19:27                                     ` Raghav Gururajan
2020-07-18 20:18                                       ` Raghav Gururajan
2020-07-19 11:43                                         ` Danny Milosavljevic
2020-07-19 19:21                                         ` Danny Milosavljevic
2020-07-19 19:22                                   ` Danny Milosavljevic
2020-07-20  1:54                                     ` Raghav Gururajan
2020-07-24 18:29                                       ` Raghav Gururajan
2020-07-25  8:15                                         ` Raghav Gururajan
2020-07-25  8:18                                           ` Raghav Gururajan
2020-07-25  8:24                                             ` Raghav Gururajan
2020-07-25  9:12                                               ` Raghav Gururajan
2020-07-27 16:11                                                 ` Raghav Gururajan
2020-07-30 23:51                                                   ` Raghav Gururajan
2020-08-02  7:32                                                   ` Raghav Gururajan
2020-08-03 22:29                                                     ` Danny Milosavljevic
2020-08-04 10:22                                                       ` Raghav Gururajan
2020-08-04 22:50                                                         ` Raghav Gururajan
2020-08-05 15:14                                                           ` Danny Milosavljevic
2020-08-07  2:14                                                             ` Raghav Gururajan
2020-08-09 22:28                                                               ` Danny Milosavljevic
2020-08-11 10:38                                                                 ` Raghav Gururajan [this message]
2020-08-12  4:05                                                                   ` Raghav Gururajan
2020-08-12  4:11                                                                     ` Raghav Gururajan
2020-08-12  8:02                                                                       ` Danny Milosavljevic
2020-08-19 15:06                                                                         ` Raghav Gururajan
2020-08-22 14:48                                                                           ` Pierre Neidhardt
2020-08-24  3:18                                                                           ` Maxim Cournoyer
2020-08-14 14:24                                                               ` [20.08.2020 Hartmut Goebel
2020-08-14 14:28                                                                 ` [20.08.2020 Raghav Gururajan
2020-06-24 11:37                   ` [OUTREACHY]: Integration of desktop environments into GNU Guix Danny Milosavljevic
2020-06-25  4:04                     ` Raghav Gururajan
2020-06-25 11:47                       ` Danny Milosavljevic
2020-06-28  5:56                         ` Raghav Gururajan
2020-06-25 11:52                       ` Danny Milosavljevic
2020-05-25 19:58     ` Danny Milosavljevic
2020-05-25 20:00     ` Danny Milosavljevic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0e4a4b55-f76e-18f5-a0b5-a76f90e06ab4@disroot.org \
    --to=raghavgururajan@disroot.org \
    --cc=dannym@scratchpost.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).