summary refs log tree commit diff
path: root/gnu/packages/xorg.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/xorg.scm')
-rw-r--r--gnu/packages/xorg.scm1907
1 files changed, 945 insertions, 962 deletions
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 46cece7073..02b5f58e72 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -2,11 +2,11 @@
 ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2014, 2015, 2017, 2018, 2020 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
 ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
 ;;; Copyright © 2015 Cyrill Schenkel <cyrill.schenkel@gmail.com>
-;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Nikita <nikita@n0.is>
 ;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2016 David Craven <david@craven.ch>
@@ -16,7 +16,7 @@
 ;;; Copyright © 2017, 2020 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
-;;; Copyright © 2018, 2020 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2018, 2020, 2022 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
 ;;; Copyright © 2019 nee <nee@cock.li>
 ;;; Copyright © 2019 Yoshinori Arai <kumagusu08@gmail.com>
@@ -24,14 +24,16 @@
 ;;; Copyright © 2020 Liliana Marie Prikler <liliana.prikler@gmail.com>
 ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
 ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
-;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2020 Jean-Baptiste Note <jean-baptiste.note@m4x.org>
 ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
 ;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
 ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
 ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
 ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 ;;; Copyright © 2021 qblade <qblade@protonmail.com>
+;;; Copyright © 2021 Lu Hui <luhux76@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -49,11 +51,14 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages xorg)
+  #:use-module (guix gexp)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
   #:use-module (guix utils)
@@ -67,6 +72,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages emacs)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
@@ -85,6 +91,7 @@
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages onc-rpc)
   #:use-module (gnu packages pciutils)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-check)
@@ -102,6 +109,16 @@
 
 
 
+;; When cross-compiling certain packages, "--disable-malloc0returnsnull"
+;; needs to be passed.  Otherwise, the configure script will try to run a
+;; binary for the host on the build machine.
+(define (malloc0-flags)
+  (if (%current-target-system)
+      ;; At least on glibc-based systems, malloc(0) evaluates to a non-NULL
+      ;; pointer (except in out-of-memory situations).  On other systems,
+      ;; --enable-malloc0returnsnull might be required instead.
+      '("--disable-malloc0returnsnull")
+      '()))
 
 ;; packages without propagated input
 ;; (rationale for this separation: The packages in PROPAGATED_INPUTS need to
@@ -138,31 +155,29 @@
        (base32 "00m7l90ws72k1qm101sd2rx92ckd50cszyng5d4dd77jncbf9lmq"))))
     (build-system gnu-build-system)
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (inputs
-      `(("xorg-cf-files" ,xorg-cf-files)
-        ("xorgproto" ,xorgproto)))
+     (list xorg-cf-files xorgproto))
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'install-data
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let ((cf-files (assoc-ref inputs "xorg-cf-files"))
-                   (out (assoc-ref outputs "out"))
-                   (unpack (assoc-ref %standard-phases 'unpack))
-                   (patch-source-shebangs
-                    (assoc-ref %standard-phases 'patch-source-shebangs)))
-               (mkdir "xorg-cf-files")
-               (with-directory-excursion "xorg-cf-files"
-                 (apply unpack (list #:source cf-files))
-                 (apply patch-source-shebangs (list #:source cf-files))
-                 (substitute* '("mingw.cf" "Imake.tmpl" "nto.cf" "os2.cf"
-                                "linux.cf" "Amoeba.cf" "cygwin.cf")
-                   (("/bin/sh") (which "bash")))
-                 (invoke "./configure"
-                         (string-append "SHELL=" (which "bash"))
-                         (string-append "--prefix=" out))
-                 (invoke "make" "install"))))))))
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'install 'install-data
+                 (lambda* (#:key inputs outputs #:allow-other-keys)
+                   (let ((out (assoc-ref outputs "out"))
+                         (unpack (assoc-ref %standard-phases 'unpack))
+                         (patch-source-shebangs
+                          (assoc-ref %standard-phases 'patch-source-shebangs)))
+                     (mkdir "xorg-cf-files")
+                     (with-directory-excursion "xorg-cf-files"
+                       (unpack #:source #$xorg-cf-files)
+                       (patch-source-shebangs #:source #$xorg-cf-files)
+                       (substitute* '("mingw.cf" "Imake.tmpl" "nto.cf" "os2.cf"
+                                      "linux.cf" "Amoeba.cf" "cygwin.cf")
+                         (("/bin/sh") (which "bash")))
+                       (invoke "./configure"
+                               (string-append "SHELL=" (which "bash"))
+                               (string-append "--prefix=" out))
+                       (invoke "make" "install"))))))))
     (home-page "https://www.x.org/")
     (synopsis "Source code configuration and build system")
     (description
@@ -189,9 +204,9 @@ autotools system.")
                 "0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (inputs
-     `(("xorgproto" ,xorgproto)))
+     (list xorgproto))
     (home-page "https://www.x.org/")
     (synopsis "Symlink directory into tree")
     (description "Create a shadow directory of symbolic links to another
@@ -214,9 +229,9 @@ directory tree.")
             "18hiscgljrz10zjcws25bis32nyrg3hzgmiq6scrh7izqmgz0kab"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libxfont" ,libxfont2)))
+      (list libxfont2))
     (native-inputs
-       `(("pkg-config" ,pkg-config)))
+       (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Convert X font from BDF to PCF")
     (description
@@ -228,18 +243,18 @@ which can be read by any architecture.")
 (define-public xorgproto
   (package
     (name "xorgproto")
-    (version "2019.2")
+    (version "2021.5")
     (source (origin
               (method url-fetch)
-              (uri (string-append "mirror://xorg/individual/proto/"
+              (uri (string-append "ftp://ftp.freedesktop.org/pub/xorg//individual/proto/"
                                   "xorgproto-" version ".tar.bz2"))
               (sha256
                (base32
-                "13kvir8dz9dvzhvyfndpff1z7k8h14s7kkl7mbl427andhax1v26"))))
+                "05d0kib351qmnlfimaznaw0220fr0ym7fx2gn9h2jqxxilxncbxa"))))
     (build-system gnu-build-system)
     (propagated-inputs
      ;; To get util-macros in (almost?) all package inputs.
-     `(("util-macros" ,util-macros)))
+     (list util-macros))
     (home-page "https://cgit.freedesktop.org/xorg/proto/xorgproto")
     (synopsis "Xorg protocol headers")
     (description
@@ -262,7 +277,7 @@ the core protocol and (many) extensions for the X Window System.")
           (base32
             "07hvfm84scz8zjw14riiln2v4w03jlhp756ypwhq27g48jmic8a6"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg BigReqsProto protocol headers")
     (description
@@ -287,9 +302,9 @@ requests that exceed 262140 bytes in length.")
             "1z0crmf669hirw4s7972mmp8xig80kfndja9h559haqbpvq5k4q4"))))
     (build-system gnu-build-system)
     (inputs
-      `(("xorgproto" ,xorgproto)))
+      (list xorgproto))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg CompositeProto protocol headers")
     (description
@@ -313,7 +328,7 @@ the damage protocol.")
           (base32
             "0nzwr5pv9hg7c21n995pdiv0zqhs91yz3r8rn3aska4ykcp12z2w"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg DamageProto protocol headers")
     (description
@@ -337,7 +352,7 @@ the damage protocol.")
           (base32
             "02b5x9dkgajizm8dqyx2w6hmqx3v25l67mgf35nj6sz0lgk52877"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg DMXProto protocol headers")
     (description
@@ -419,11 +434,9 @@ provided.")
        (list (string-append "--with-appdefaultdir="
                             %output ,%app-defaults-dir))))
     (inputs
-     `(("libxaw" ,libxaw)
-       ("libxmu" ,libxmu)
-       ("libxt" ,libxt)))
+     (list libxaw libxmu libxt))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Tool to browse and edit X Toolkit resource specifications")
     (description
@@ -452,9 +465,9 @@ Resources file.")
           (base32 "0caafx0yqqnqyvbalxhh3mb0r9v36xmcy5zjhygb2i508dhy35mx"))))
     (build-system gnu-build-system)
     (inputs
-      `(("mkfontscale" ,mkfontscale)))
+      (list mkfontscale))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg font encoding files")
     (description "Xorg font encoding files.")
@@ -489,11 +502,9 @@ Resources file.")
              "0m60f5bd0caambrk8ksknb5dks7wzsg7g7xaf0j21jxmx8rq9h5j"))
     (build-system gnu-build-system)
     (inputs
-      `(("bdftopcf" ,bdftopcf)
-        ("font-util" ,font-util)
-        ("mkfontdir" ,mkfontdir)))
+      (list bdftopcf font-util mkfontdir))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (arguments
       `(#:configure-flags (list
         ;; install fonts into subdirectory of package output instead of
@@ -514,11 +525,9 @@ Resources file.")
              "02advcv9lyxpvrjv8bjh1b797lzg6jvhipclz49z8r8y98g4l0n6"))
     (build-system gnu-build-system)
     (inputs
-      `(("bdftopcf" ,bdftopcf)
-        ("font-util" ,font-util)
-        ("mkfontdir" ,mkfontdir)))
+      (list bdftopcf font-util mkfontdir))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (arguments
       `(#:configure-flags (list
         (string-append "--with-fontrootdir=" %output "/share/fonts/X11"))))
@@ -542,7 +551,7 @@ Resources file.")
              name version
              "0xjjjindczv3g7m1597l0x19zz75xy70wh5garghz61fpzl1l4gk"))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (arguments
      `(#:phases (modify-phases %standard-phases
                   (add-after
@@ -577,10 +586,9 @@ For example: @code{6x10}, @code{9x15bold}, etc.")
              "1x246dfnxnmflzf0qzy62k8jdpkb6jkgspcjgbk8jcq9lw99npah"))
     (build-system gnu-build-system)
     (inputs
-      `(("mkfontdir" ,mkfontdir)
-        ("bdftopcf" ,bdftopcf)))
+      (list mkfontdir bdftopcf))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg arabic-misc font")
     (description "Xorg arabic-misc font.")
@@ -607,10 +615,9 @@ For example: @code{6x10}, @code{9x15bold}, etc.")
              "0ai1v4n61k8j9x2a1knvfbl2xjxk3xxmqaq3p9vpqrspc69k31kf"))
     (build-system gnu-build-system)
     (inputs
-      `(("mkfontdir" ,mkfontdir)
-        ("bdftopcf" ,bdftopcf)))
+      (list mkfontdir bdftopcf))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg cronyx-cyrillic font")
     (description "Xorg cronyx-cyrillic font.")
@@ -633,10 +640,9 @@ For example: @code{6x10}, @code{9x15bold}, etc.")
              "0yzza0l4zwyy7accr1s8ab7fjqkpwggqydbm2vc19scdby5xz7g1"))
     (build-system gnu-build-system)
     (inputs
-      `(("mkfontdir" ,mkfontdir)
-        ("bdftopcf" ,bdftopcf)))
+      (list mkfontdir bdftopcf))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg dec-misc font")
     (description "Xorg dec-misc font.")
@@ -655,10 +661,9 @@ For example: @code{6x10}, @code{9x15bold}, etc.")
              "0rx8q02rkx673a7skkpnvfkg28i8gmqzgf25s9yi0lar915sn92q"))
     (build-system gnu-build-system)
     (inputs
-      `(("mkfontdir" ,mkfontdir)
-        ("bdftopcf" ,bdftopcf)))
+      (list mkfontdir bdftopcf))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg isas-misc font")
     (description "Xorg isas-misc font.")
@@ -678,10 +683,9 @@ For example: @code{6x10}, @code{9x15bold}, etc.")
              "1dldxlh54zq1yzfnrh83j5vm0k4ijprrs5yl18gm3n9j1z0q2cws"))
     (build-system gnu-build-system)
     (inputs
-      `(("mkfontdir" ,mkfontdir)
-        ("bdftopcf" ,bdftopcf)))
+      (list mkfontdir bdftopcf))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg micro-misc font")
     (description "Xorg micro-misc font.")
@@ -697,10 +701,9 @@ For example: @code{6x10}, @code{9x15bold}, etc.")
              "0q2ybxs8wvylvw95j6x9i800rismsmx4b587alwbfqiw6biy63z4"))
     (build-system gnu-build-system)
     (inputs
-      `(("mkfontdir" ,mkfontdir)
-        ("bdftopcf" ,bdftopcf)))
+      (list mkfontdir bdftopcf))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg misc-cyrillic fonts")
     (description "Xorg misc-cyrillic fonts.")
@@ -716,10 +719,9 @@ For example: @code{6x10}, @code{9x15bold}, etc.")
              "1q2azkdwc4x3kh53xclwpf9q654k70lhiyns1cjq594wvxnhz339"))
     (build-system gnu-build-system)
     (inputs
-      `(("mkfontdir" ,mkfontdir)
-        ("mkfontscale" ,mkfontscale)))
+      (list mkfontdir mkfontscale))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg misc-ethiopic fonts")
     (description "Xorg misc-ethiopic fonts.")
@@ -739,11 +741,9 @@ For example: @code{6x10}, @code{9x15bold}, etc.")
              "150pq6n8n984fah34n3k133kggn9v0c5k07igv29sxp1wi07krxq"))
     (build-system gnu-build-system)
     (inputs
-      `(("mkfontdir" ,mkfontdir)
-        ("font-util" ,font-util)
-        ("bdftopcf" ,bdftopcf)))
+      (list mkfontdir font-util bdftopcf))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (arguments
       `(#:configure-flags (list
         (string-append "--with-fontrootdir=" %output "/share/fonts/X11"))))
@@ -762,10 +762,9 @@ For example: @code{6x10}, @code{9x15bold}, etc.")
              "13qghgr1zzpv64m0p42195k1kc77pksiv059fdvijz1n6kdplpxx"))
     (build-system gnu-build-system)
     (inputs
-      `(("mkfontdir" ,mkfontdir)
-        ("bdftopcf" ,bdftopcf)))
+      (list mkfontdir bdftopcf))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg mutt-misc fonts")
     (description "Xorg mutt-misc fonts.")
@@ -781,11 +780,9 @@ For example: @code{6x10}, @code{9x15bold}, etc.")
              "0nkym3n48b4v36y4s927bbkjnsmicajarnf6vlp7wxp0as304i74"))
     (build-system gnu-build-system)
     (inputs
-      `(("mkfontdir" ,mkfontdir)
-        ("font-util" ,font-util)
-        ("bdftopcf" ,bdftopcf)))
+      (list mkfontdir font-util bdftopcf))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (arguments
       `(#:configure-flags (list
         (string-append "--with-fontrootdir=" %output "/share/fonts/X11"))))
@@ -804,10 +801,9 @@ For example: @code{6x10}, @code{9x15bold}, etc.")
              "0yayf1qlv7irf58nngddz2f1q04qkpr5jwp4aja2j5gyvzl32hl2"))
     (build-system gnu-build-system)
     (inputs
-      `(("mkfontdir" ,mkfontdir)
-        ("bdftopcf" ,bdftopcf)))
+      (list mkfontdir bdftopcf))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg screen-cyrillic fonts")
     (description "Xorg screen-cyrillic fonts.")
@@ -823,10 +819,9 @@ For example: @code{6x10}, @code{9x15bold}, etc.")
              "1xfgcx4gsgik5mkgkca31fj3w72jw9iw76qyrajrsz1lp8ka6hr0"))
     (build-system gnu-build-system)
     (inputs
-      `(("mkfontdir" ,mkfontdir)
-        ("bdftopcf" ,bdftopcf)))
+      (list mkfontdir bdftopcf))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg sony-misc fonts")
     (description "Xorg sony-misc fonts.")
@@ -842,10 +837,9 @@ For example: @code{6x10}, @code{9x15bold}, etc.")
              "1q6jcqrffg9q5f5raivzwx9ffvf7r11g6g0b125na1bhpz5ly7s8"))
     (build-system gnu-build-system)
     (inputs
-      `(("mkfontdir" ,mkfontdir)
-        ("bdftopcf" ,bdftopcf)))
+      (list mkfontdir bdftopcf))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg sun-misc fonts")
     (description "Xorg sun-misc fonts.")
@@ -866,7 +860,7 @@ For example: @code{6x10}, @code{9x15bold}, etc.")
         (sha256
           (base32 "10i2a8b3d1h3w7klsqf31iz7zbd6l8wglil54fkhdb1385281n1s"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg font utilities")
     (description
@@ -883,10 +877,9 @@ For example: @code{6x10}, @code{9x15bold}, etc.")
              "181n1bgq8vxfxqicmy1jpm1hnr6gwn1kdhl6hr4frjigs1ikpldb"))
     (build-system gnu-build-system)
     (inputs
-      `(("mkfontdir" ,mkfontdir)
-        ("bdftopcf" ,bdftopcf)))
+      (list mkfontdir bdftopcf))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg winitzki-cyrillic font")
     (description "Xorg winitzki-cyrillic font.")
@@ -902,10 +895,9 @@ For example: @code{6x10}, @code{9x15bold}, etc.")
              "0jp3zc0qfdaqfkgzrb44vi9vi0a8ygb35wp082yz7rvvxhmg9sya"))
     (build-system gnu-build-system)
     (inputs
-      `(("mkfontdir" ,mkfontdir)
-        ("mkfontscale" ,mkfontscale)))
+      (list mkfontdir mkfontscale))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg xfree86-type1 font")
     (description "Xorg xfree86-type1 font.")
@@ -927,7 +919,7 @@ For example: @code{6x10}, @code{9x15bold}, etc.")
           (base32
             "1f2sdsd74y34nnaf4m1zlcbhyv8xb6irnisc99f84c4ivnq4d415"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg FontsProto protocol headers")
     (description
@@ -951,7 +943,7 @@ the fonts protocol.")
           (base32
             "0h5ykmcddwid5qj6sbrszgkcypwn3mslvswxpgy2n2iixnyr9amd"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg GLProto protocol headers")
     (description
@@ -976,9 +968,9 @@ rendering commands to the X server.")
             "1ik0mdidmyvy48hn8p2hwvf3535rf3m96hhf0mvcqrbj44x23vp6"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libice" ,libice)))
+      (list libice))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "ICE authority file utility")
     (description
@@ -1004,7 +996,7 @@ authentication records.")
           (base32
             "07gk7v006zqn3dcfh16l06gnccy7xnqywf3vl9c209ikazsnlfl9"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg InputProto protocol headers")
     (description
@@ -1028,7 +1020,7 @@ devices management such as graphic tablets.")
           (base32
             "0mxqj1pzhjpz9495vrjnpi10kv2n1s4vs7di0sh3yvipfq5j30pq"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg KBProto protocol headers")
     (description
@@ -1059,11 +1051,9 @@ of new capabilities and controls for text keyboards.")
     (arguments
      '(#:configure-flags '("--disable-static")))
     (inputs
-      `(("xorgproto" ,xorgproto)
-        ("libxext" ,libxext)
-        ("libx11" ,libx11)))
+      (list xorgproto libxext libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg DMX library")
     (description
@@ -1086,8 +1076,8 @@ of new capabilities and controls for text keyboards.")
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--disable-static")))
-    (native-inputs `(("pkg-config" ,pkg-config)))
-    (inputs `(("xorgproto" ,xorgproto)))
+    (native-inputs (list pkg-config))
+    (inputs (list xorgproto))
     (home-page "https://www.x.org/")
     (synopsis "Xorg shared memory fences library")
     (description
@@ -1116,10 +1106,9 @@ synchronization between the X server and direct-rendering clients.")
     (arguments
      '(#:configure-flags '("--disable-static")))
     (inputs
-      `(("zlib" ,zlib)
-        ("xorgproto" ,xorgproto)))
+      (list zlib xorgproto))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://gitlab.freedesktop.org/xorg/lib/libfontenc")
     (synopsis "Xorg font encoding library")
     (description "Xorg font encoding library.")
@@ -1141,10 +1130,9 @@ synchronization between the X server and direct-rendering clients.")
           (base32 "03xxyvpfa3rhqcld4p2chkil482jn9cp80hj17jdybcv2hkkgqf8"))))
     (build-system gnu-build-system)
     (inputs
-      `(("xtrans" ,xtrans)
-        ("xorgproto" ,xorgproto)))
+      (list xtrans xorgproto))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Font Service client library")
     (description
@@ -1190,10 +1178,9 @@ themselves.")
                   (string-append "-L" zlib "/lib -lz")))
                #t))))))
     (inputs
-     `(("zlib" ,zlib)
-       ("pciutils" ,pciutils)))                   ;for 'pci.ids.gz'
+     (list zlib pciutils))                   ;for 'pci.ids.gz'
     (native-inputs
-       `(("pkg-config" ,pkg-config)))
+       (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg PCI access library")
     (description "Xorg Generic PCI access library.")
@@ -1215,7 +1202,7 @@ themselves.")
           (base32
             "0cz7s9w8lqgzinicd4g36rjg08zhsbyngh0w68c3np8nlc8mkl74"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Library with pthread stubs")
     (description
@@ -1245,12 +1232,12 @@ hit when running single-threaded.")
     (arguments
      '(#:configure-flags '("--disable-static")))
     (propagated-inputs
-      `(("libice" ,libice))) ; SMlib.h includes ICElib.h
+      (list libice)) ; SMlib.h includes ICElib.h
     (inputs
       `(("xtrans" ,xtrans)
         ("libuuid" ,util-linux "lib")))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Session Management library")
     (description "Xorg Session Management library.")
@@ -1273,11 +1260,9 @@ hit when running single-threaded.")
             "1p0flwb67xawyv6yhri9w17m1i4lji5qnd0gq8v1vsfb8zw7rw15"))))
     (build-system gnu-build-system)
     (inputs
-      `(("xorgproto" ,xorgproto)
-        ("libxext" ,libxext)
-        ("libx11" ,libx11)))
+      (list xorgproto libxext libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg WindowsWM library")
     (description
@@ -1307,11 +1292,9 @@ with the Cygwin XWin server when running X11 in a rootless mode.")
      '(#:configure-flags '("--disable-static")))
     (propagated-inputs
      ;; xcomposite.pc refers to all these.
-      `(("xorgproto" ,xorgproto)
-        ("libxfixes" ,libxfixes)
-        ("libx11" ,libx11)))
+      (list xorgproto libxfixes libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Composite library")
     (description
@@ -1337,10 +1320,9 @@ with the Cygwin XWin server when running X11 in a rootless mode.")
     (arguments
      '(#:configure-flags '("--disable-static")))
     (inputs
-      `(("libbsd" ,libbsd)
-        ("xorgproto" ,xorgproto)))
+      (list libbsd xorgproto))
     (native-inputs
-       `(("pkg-config" ,pkg-config)))
+       (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Display Manager Control Protocol library")
     (description "Xorg Display Manager Control Protocol library.")
@@ -1370,10 +1352,9 @@ with the Cygwin XWin server when running X11 in a rootless mode.")
         ("freetype" ,freetype)
         ("fontconfig" ,fontconfig)))
     (inputs
-      `(("libx11" ,libx11)
-        ("xorgproto" ,xorgproto)))
+      (list libx11 xorgproto))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg FreeType library")
     (description
@@ -1388,22 +1369,23 @@ configuration files.")
     (name "libxkbfile")
     (version "1.1.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (string-append
-               "mirror://xorg/individual/lib/libxkbfile-"
-               version
-               ".tar.bz2"))
-        (sha256
-          (base32
-            "1irq9crvscd3yb8sr802dhvvfr35jdy1n2yz094xplmd42mbv3bm"))))
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://xorg/individual/lib/libxkbfile-"
+             version
+             ".tar.bz2"))
+       (sha256
+        (base32
+         "1irq9crvscd3yb8sr802dhvvfr35jdy1n2yz094xplmd42mbv3bm"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--disable-static")))
-    (inputs
-      `(("libx11" ,libx11)))
+    (propagated-inputs
+     ;; Required in xkbfile.pc.
+     (list libx11 kbproto))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg XKB file handling library")
     (description "Xorg XKB file handling library.")
@@ -1428,11 +1410,9 @@ configuration files.")
     (arguments
      '(#:configure-flags '("--disable-static")))
     (inputs
-      `(("libxt" ,libxt)
-        ("xorgproto" ,xorgproto)
-        ("libxext" ,libxext)))
+      (list libxt xorgproto libxext))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Xmu library")
     (description
@@ -1462,9 +1442,7 @@ treat it as part of their software base when porting.")
     (arguments
      '(#:configure-flags '("--disable-static")))
     (inputs
-      `(("libxt" ,libxt)
-        ("xorgproto" ,xorgproto)
-        ("libxext" ,libxext)))
+      (list libxt xorgproto libxext))
     (native-inputs
      `(("gettext" ,gettext-minimal)
        ("pkg-config" ,pkg-config)))
@@ -1477,7 +1455,7 @@ treat it as part of their software base when porting.")
 (define-public libxres
   (package
     (name "libxres")
-    (version "1.2.0")
+    (version "1.2.1")
     (source
       (origin
         (method url-fetch)
@@ -1487,16 +1465,14 @@ treat it as part of their software base when porting.")
                ".tar.bz2"))
         (sha256
           (base32
-            "1m0jr0lbz9ixpp9ihk68349q0i7ry2379lnfzdy4mrl86ijc2xgz"))))
+            "049b7dk6hx47161hg47ryjrm6pwsp27r5pby05b0wqb1pcggprmn"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--disable-static")))
     (inputs
-      `(("xorgproto" ,xorgproto)
-        ("libxext" ,libxext)
-        ("libx11" ,libx11)))
+      (list xorgproto libxext libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Resource extension library")
     (description "X Resource extension library.")
@@ -1521,11 +1497,9 @@ treat it as part of their software base when porting.")
     (arguments
      '(#:configure-flags '("--disable-static")))
     (propagated-inputs
-      `(("libx11" ,libx11)
-        ("libxext" ,libxext)
-        ("xorgproto" ,xorgproto)))
+      (list libx11 libxext xorgproto))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Screen Saver library")
     (description "X11 Screen Saver extension client library.")
@@ -1547,12 +1521,11 @@ treat it as part of their software base when porting.")
     (arguments
      '(#:configure-flags '("--disable-static")))
     (propagated-inputs
-     `(("xorgproto" ,xorgproto)))
+     (list xorgproto))
     (inputs
-     `(("libx11" ,libx11)
-       ("libxext" ,libxext)))
+     (list libx11 libxext))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg XFree86-DGA library")
     (description "Client library for the XFree86-DGA extension.")
@@ -1578,9 +1551,9 @@ treat it as part of their software base when porting.")
         (patches (search-patches "luit-posix.patch"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libfontenc" ,libfontenc)))
+      (list libfontenc))
     (native-inputs
-       `(("pkg-config" ,pkg-config)))
+       (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Convert terminal I/O from legacy encodings to UTF-8")
     (description
@@ -1607,8 +1580,8 @@ input from UTF-8 into the locale's encoding.")
             "072h9nzh8s5vqfz35dli4fba36fnr219asjrb7p89n8ph0paan6m"))))
     (build-system gnu-build-system)
     (inputs
-      `(("xorgproto" ,xorgproto)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+      (list xorgproto))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg makedepend utility")
     (description
@@ -1631,12 +1604,9 @@ input from UTF-8 into the locale's encoding.")
           (base32 "1ixsnsm2mn0zy9ksdid0lj6irnhvasfik9mz8bbrs5sajzmra16a"))))
     (build-system gnu-build-system)
     (inputs
-      `(("zlib" ,zlib)
-        ("xorgproto" ,xorgproto)
-        ("freetype" ,freetype)
-        ("libfontenc" ,libfontenc)))
+      (list zlib xorgproto freetype libfontenc))
     (native-inputs
-       `(("pkg-config" ,pkg-config)))
+       (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Create an index of scalable font files for X server")
     (description
@@ -1686,7 +1656,7 @@ mechanism than copying the contents of the source pixmap.")
           (base32
             "06liap8n4s25sgp27d371cc7yg9a08dxcr3pmdjp761vyin3360j"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg PrintProto protocol headers")
     (description
@@ -1710,7 +1680,7 @@ network-transparent printing system.")
           (base32
             "0s4496z61y5q45q20gldwpf788b9nsa8hb13gnck1mwwwwrmarsc"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg RandRProto protocol headers")
     (description
@@ -1736,7 +1706,7 @@ window of a screen.")
           (base32
             "0w3kgr1zabwf79bpc28dcnj0fpni6r53rpi82ngjbalj5s6m8xx7"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg RecordProto protocol headers")
     (description
@@ -1760,7 +1730,7 @@ of user actions in the X Window System.")
           (base32
             "0dr5xw6s0qmqg0q5pdkb4jkdhaja0vbfqla79qh5j1xjj9dmlwq6"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg RenderProto protocol headers")
     (description
@@ -1784,7 +1754,7 @@ as the foundation of a new rendering model within the X Window System.")
           (base32
             "0638iyfiiyjw1hg3139pai0j6m65gkskrvd9684zgc6ydcx00riw"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg ResourceProto protocol headers")
     (description
@@ -1808,7 +1778,7 @@ query the X server about its usage of various resources.")
           (base32
             "0rfdbfwd35d761xkfifcscx56q0n56043ixlmv70r4v4l66hmdwb"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg ScrnSaverProto protocol headers")
     (description
@@ -1830,9 +1800,9 @@ features and to query screensaver info on specific windows.")
         (base32 "0crczl25zynkrslmm8sjaxszhrh4i33m7h5fg4wfdb3k8aarxjyz"))))
     (build-system gnu-build-system)
     (inputs
-      `(("xorgproto" ,xorgproto)))
+      (list xorgproto))
     (native-inputs
-       `(("pkg-config" ,pkg-config)))
+       (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Register X sessions in system utmp/utmpx databases")
     (description
@@ -1858,11 +1828,9 @@ used with other display managers such as gdm or kdm.")
             "1xdrxs65v7d0rw1yaz0vsz55w4hxym99216p085ya9978j379wlg"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libxkbfile" ,libxkbfile)
-        ("xkeyboard-config" ,xkeyboard-config)
-        ("libx11" ,libx11)))
+      (list libxkbfile xkeyboard-config libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (arguments
      `(#:configure-flags
        (list (string-append "--with-xkb-config-root="
@@ -1893,10 +1861,9 @@ listed on the command line.")
             "0rkjyzmsdqmlrkx8gy2j4q6iksk58hcc92xzdprkf8kml9ar3wbc"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libxt" ,libxt)
-        ("libxmu" ,libxmu)))
+      (list libxt libxmu))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Session Manager Proxy")
     (description
@@ -1908,7 +1875,7 @@ management to participate in an X11R6 session.")
 (define-public util-macros
   (package
     (name "util-macros")
-    (version "1.19.2")
+    (version "1.19.3")
     (source
       (origin
         (method url-fetch)
@@ -1918,9 +1885,9 @@ management to participate in an X11R6 session.")
                ".tar.bz2"))
         (sha256
           (base32
-            "04p7ydqxgq37jklnfj18b70zsifiz4h50wvrk94i2112mmv37r6p"))))
+            "0w8ryfqylprz37zj9grl4jzdsqq67ibfwq5raj7vm1i7kmp2x08g"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
@@ -1962,7 +1929,7 @@ generate new versions of their configure scripts with autoconf.")
           (base32
             "00m7rh3pwmsld4d5fpii3xfk5ciqn17kkk38gfpzrrh8zn4ki067"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg VideoProto protocol headers")
     (description
@@ -1986,7 +1953,7 @@ mainly to rescale video playback in the video controller hardware.")
           (base32
             "0syjxgy4m8l94qrm03nvn5k6bkxc8knnlld1gbllym97nvnv0ny0"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg WindowsWMProto protocol headers")
     (description
@@ -2013,12 +1980,9 @@ server.")
             "0d3wh6z6znwhfdiv0zaggfj0xgish98xa10yy76b9517zj7hnzhw"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libx11" ,libx11)
-        ("libxft" ,libxft)
-        ("libxmu" ,libxmu)
-        ("libxrender" ,libxrender)))
+      (list libx11 libxft libxmu libxrender))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "X server performance benchmarker")
     (description
@@ -2039,13 +2003,9 @@ server.")
         (base32 "032klzzw8r09z36x1272ssd79bcisz8j5p8gbdy111fiknvx27bd"))))
     (build-system gnu-build-system)
     (inputs
-     `(("libxmu" ,libxmu)
-       ("libxext" ,libxext)
-       ("libxau" ,libxau)
-       ("libx11" ,libx11)))
+     (list libxmu libxext libxau libx11))
     (native-inputs
-     `(("cmdtest" ,cmdtest)
-       ("pkg-config" ,pkg-config)))
+     (list cmdtest pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "X authority file utility")
     (description
@@ -2070,10 +2030,9 @@ information used in connecting to the X server.")
             "1plssg0s3pbslg6rfzxp9sx8ryvn8l32zyvc8zp9zsbsfwjg69rs"))))
     (build-system gnu-build-system)
     (inputs
-     `(("libxcb" ,libxcb)
-       ("xcb-util" ,xcb-util)))
+     (list libxcb xcb-util))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Control display backlight")
     (description
@@ -2099,7 +2058,7 @@ the same way.")
           (base32
             "1vh73sc13s7w5r6gnc6irca56s7998bja7wgdivkfn8jccawgw5r"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "X bitmaps")
     (description
@@ -2130,9 +2089,9 @@ legacy X clients.")
                                        ,%app-defaults-dir "\n")))
                      #t)))))
     (inputs
-     `(("libxaw" ,libxaw)))
+     (list libxaw))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Hand calculator for the X Window system")
     (description "Xcalc is a scientific calculator desktop accessory that can
@@ -2151,8 +2110,15 @@ emulate a TI-30 or an HP-10C.")
                "https://xcb.freedesktop.org/dist/xcb-proto-"
                version ".tar.xz"))
         (sha256
-          (base32
-           "01d62r286yfc3rpz714nqdgkl0wk9j0wqkd4ylas1d7r4vmkqshq"))))
+         (base32
+          "01d62r286yfc3rpz714nqdgkl0wk9j0wqkd4ylas1d7r4vmkqshq"))
+        (modules '((guix build utils)))
+        (snippet
+         '(begin
+            ;; fractions.gcd has been deprecated since python-3.5.
+            (substitute* "xcbgen/align.py"
+              (("from fractions import gcd") "from math import gcd"))
+            #t))))
     (build-system gnu-build-system)
     (native-inputs
       `(("pkg-config" ,pkg-config) ("python" ,python-minimal-wrapper)))
@@ -2186,7 +2152,7 @@ generators in individual language bindings.")
           (base32
             "1pyjv45wivnwap2wvsbrzdvjc5ql8bakkbkrvcv6q9bjjf33ccmi"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg XCMiscProto protocol headers")
     (description
@@ -2211,9 +2177,9 @@ to query the server for available resource IDs.")
             "1ik7gzlp2igz183x70883000ygp99r20x3aah6xhaslbpdhm6n75"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libx11" ,libx11)))
+      (list libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Device Color Characterization utility")
     (description
@@ -2240,10 +2206,9 @@ X11 Inter-Client Communication Conventions Manual (ICCCM).")
             "16a96li0s0ggg60v7f6ywxmsrmxdfizcw55ccv7sp4qjfisca7pf"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libxcursor" ,libxcursor)
-        ("xcursorgen" ,xcursorgen)))
+      (list libxcursor xcursorgen))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (arguments
      `(#:configure-flags
        (list (string-append "--with-cursordir="
@@ -2256,65 +2221,56 @@ X11 Inter-Client Communication Conventions Manual (ICCCM).")
 X server: @code{handhelds}, @code{redglass} and @code{whiteglass}.")
     (license license:x11)))
 
-
 (define-public hackneyed-x11-cursors
-  ;; The current release 0.8 suffers from non-deterministic build problems.
-  (let ((revision "1")
-        (commit "9423cef2e2e5ff6b1d65d61f7108c97bc7f5fdfb"))
-    (package
-      (name "hackneyed-x11-cursors")
-      (version (git-version "0.8.1" revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://gitlab.com/Enthymeme/hackneyed-x11-cursors.git")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32
-           "0f637i76sdwz3nm1g1iynamq6j0i6k3c70fpl0fmd0dlynm8ga96"))))
-      (build-system gnu-build-system)
-      (arguments
-       `(#:tests? #f                    ;no test suite
-         #:make-flags (list (string-append "PREFIX=" %output))
-         #:phases
-         (modify-phases %standard-phases
-           (delete 'configure)
-           (add-before 'build 'set-inkscape-environment-variable
-             (lambda* (#:key inputs #:allow-other-keys)
-               (let ((inkscape (string-append (assoc-ref inputs "inkscape")
-                                              "/bin/inkscape")))
-                 (setenv "INKSCAPE" inkscape)
-                 #t)))
-           (add-before 'build 'placate-inkscape-warnings
-             (lambda _
-               (setenv "HOME" (getcwd))
-               #t))
-           (add-after 'build 'generate-black-cursors
-             (lambda* (#:key make-flags parallel-build #:allow-other-keys)
-               (let ((build (assoc-ref %standard-phases 'build))
-                     (make-flags/extended
-                      `(,@make-flags
-                        "THEME_NAME=Hackneyed-Dark"
-                        "COMMON_SOURCE=theme/common-dark.svg"
-                        "RSVG_SOURCE=theme/right-handed-dark.svg"
-                        "LSVG_SOURCE=theme/left-handed-dark.svg")))
-                 (build #:make-flags make-flags/extended
-                        #:parallel-build parallel-build))))
-           (add-after 'install 'install-black-cursors
-             (lambda* (#:key make-flags #:allow-other-keys)
-               (apply invoke `("make" "install" ,@make-flags
-                               "THEME_NAME=Hackneyed-Dark")))))))
-      (native-inputs `(("imagemagick" ,imagemagick)
-                       ("inkscape" ,inkscape)
-                       ("xcursorgen" ,xcursorgen)))
-      (home-page "https://gitlab.com/Enthymeme/hackneyed-x11-cursors")
-      (synopsis "Classic cursor theme for X11")
-      (description "Hackneyed is a scalable cursor theme mildly resembling old
+  (package
+    (name "hackneyed-x11-cursors")
+    (version "0.8.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://gitlab.com/Enthymeme/hackneyed-x11-cursors.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1mjwbny4rid9dzz6xfb8l5rkwki41sfhdp970cf3w2pi9kyg1njs"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ;no test suite
+       #:make-flags (list (string-append "PREFIX=" %output))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-before 'build 'set-inkscape-environment-variable
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((inkscape (search-input-file inputs "/bin/inkscape")))
+               (setenv "INKSCAPE" inkscape))))
+         (add-before 'build 'placate-inkscape-warnings
+           (lambda _
+             (setenv "HOME" (getcwd))))
+         (add-after 'build 'generate-black-cursors
+           (lambda* (#:key make-flags parallel-build #:allow-other-keys)
+             (let ((build (assoc-ref %standard-phases 'build))
+                   (make-flags/extended
+                    `(,@make-flags
+                      "THEME_NAME=Hackneyed-Dark"
+                      "COMMON_SOURCE=theme/common-dark.svg"
+                      "RSVG_SOURCE=theme/right-handed-dark.svg"
+                      "LSVG_SOURCE=theme/left-handed-dark.svg")))
+               (build #:make-flags make-flags/extended
+                      #:parallel-build parallel-build))))
+         (add-after 'install 'install-black-cursors
+           (lambda* (#:key make-flags #:allow-other-keys)
+             (apply invoke `("make" "install" ,@make-flags
+                             "THEME_NAME=Hackneyed-Dark")))))))
+    (native-inputs (list imagemagick inkscape xcursorgen))
+    (home-page "https://gitlab.com/Enthymeme/hackneyed-x11-cursors")
+    (synopsis "Classic cursor theme for X11")
+    (description "Hackneyed is a scalable cursor theme mildly resembling old
 Windows 3.x cursors.  The cursors are available in white and black colors.  A
 left-handed version of the cursors is also included.")
-      (license license:x11))))
+    (license license:x11)))
 
 (define-public xcursorgen
   (package
@@ -2332,10 +2288,9 @@ left-handed version of the cursors is also included.")
             "0ggbv084cavp52hjgcz3vdj0g018axs0m23c03lpc5sgn92gidim"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libxcursor" ,libxcursor)
-        ("libpng" ,libpng)))
+      (list libxcursor libpng))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Create an X cursor file from PNG images")
     (description
@@ -2359,18 +2314,18 @@ left-handed version of the cursors is also included.")
             "0ldgrj4w2fa8jng4b3f3biaj0wyn8zvya88pnk70d7k12pcqw8rh"))))
     (build-system gnu-build-system)
     (inputs
-      `(("xorgproto" ,xorgproto)
-        ("libx11" ,libx11)
-        ("libxxf86vm" ,libxxf86vm)
-        ("libxxf86dga" ,libxxf86dga)
-        ("libxtst" ,libxtst)
-        ("libxrender" ,libxrender)
-        ("libxinerama" ,libxinerama)
-        ("libxi" ,libxi)
-        ("libxcomposite" ,libxcomposite)
-        ("libdmx" ,libdmx)))
-    (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list xorgproto
+            libx11
+            libxxf86vm
+            libxxf86dga
+            libxtst
+            libxrender
+            libxinerama
+            libxi
+            libxcomposite
+            libdmx))
+    (native-inputs
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg display information utility")
     (description
@@ -2398,10 +2353,9 @@ available.")
             "0lcx8h3zd11m4w8wf7dyp89826d437iz78cyrix436bqx31x5k6r"))))
     (build-system gnu-build-system)
     (inputs
-      `(("mesa" ,mesa)
-        ("libx11" ,libx11)))
+      (list mesa libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Query DRI configuration information")
     (description
@@ -2425,13 +2379,11 @@ DRI (Direct Rendering Infrastructure) drivers.")
           (base32
             "1ql592pdhddhkipkrsxn929y9l2nn02a5fh2z3dx47kmzs5y006p"))))
     (build-system gnu-build-system)
+    (arguments `(#:configure-flags ',(malloc0-flags)))
     (inputs
-      `(("libxrender" ,libxrender)
-        ("libxrandr" ,libxrandr)
-        ("xorgproto" ,xorgproto)
-        ("libx11" ,libx11)))
+      (list libxrender libxrandr xorgproto libx11))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://gitlab.freedesktop.org/xorg/app/xev")
     (synopsis "Print contents of X events")
     (description
@@ -2460,7 +2412,7 @@ usage.")
           (base32
             "1c2vma9gqgc2v06rfxdiqgwhxmzk2cbmknwf1ng3m76vr0xb5x7k"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg XExtProto protocol headers")
     (description
@@ -2486,7 +2438,7 @@ XC-APPGROUP, XTEST.")
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags '("--disable-static")))
-    (native-inputs `(("python" ,python)))
+    (native-inputs (list python))
     (home-page "https://www.freedesktop.org/wiki/Software/libevdev/")
     (synopsis "Wrapper library for evdev devices")
     (description
@@ -2519,7 +2471,7 @@ devices, thus making direct access unnecessary.")
         ("libevdev" ,libevdev)
         ("mtdev" ,mtdev)
         ("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (arguments
      `(#:configure-flags
        (list (string-append "--with-sdkdir="
@@ -2536,7 +2488,7 @@ including most mice, keyboards, tablets and touchscreens.")
 (define-public xf86-input-libinput
   (package
     (name "xf86-input-libinput")
-    (version "1.0.1")
+    (version "1.1.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2544,14 +2496,14 @@ including most mice, keyboards, tablets and touchscreens.")
                     name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "0nr4r9x8c7y1l0ipivjch5zps093mxmg2nqmfn2934am26fc9ppx"))))
+                "05ldqr10f2rrnshyk3lc773rz0gp3ccdzwa8n7lsc94i850jl7g1"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags
        (list (string-append "--with-sdkdir="
                             %output "/include/xorg"))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (inputs
      `(("libinput" ,libinput-minimal)
        ("xorg-server" ,xorg-server)))
@@ -2579,8 +2531,8 @@ provide all features that libinput supports it does little beyond.")
           (base32
             "1awfq496d082brgjbr60lhm6jvr9537rflwxqdfqwfzjy3n6jxly"))))
     (build-system gnu-build-system)
-    (inputs `(("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorg-server))
+    (native-inputs (list pkg-config))
     (arguments
      `(#:configure-flags
        (list (string-append "--with-sdkdir="
@@ -2609,8 +2561,8 @@ It is used to control the pointer with a joystick device.")
           (base32
             "12032yg412kyvnmc5fha1in7mpi651d8sa1bk4138s2j2zr01jgp"))))
     (build-system gnu-build-system)
-    (inputs `(("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Keyboard input driver for X server")
     (description
@@ -2633,8 +2585,8 @@ It is used to control the pointer with a joystick device.")
           (base32
             "1iawr1wyl2qch1mqszcs0s84i92mh4xxprflnycbw1adc18b7v4k"))))
     (build-system gnu-build-system)
-    (inputs `(("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorg-server))
+    (native-inputs (list pkg-config))
     (arguments
      `(#:configure-flags
        (list (string-append "--with-sdkdir="
@@ -2665,12 +2617,8 @@ as USB mice.")
           (base32
             "0xhm03qywwfgkpfl904d08lx00y28m1b6lqmks5nxizixwk3by3s"))))
     (build-system gnu-build-system)
-    (inputs `(("libx11" ,libx11)
-              ("libxi" ,libxi)
-              ("libevdev" ,libevdev)
-              ("mtdev" ,mtdev)
-              ("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list libx11 libxi libevdev mtdev xorg-server))
+    (native-inputs (list pkg-config))
     (arguments
      `(#:configure-flags
        (list (string-append "--with-sdkdir="
@@ -2701,8 +2649,8 @@ as USB mice.")
           (base32
             "171k8b8s42s3w73l7ln9jqwk88w4l7r1km2blx1vy898c854yvpr"))))
     (build-system gnu-build-system)
-    (inputs `(("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Void (null) input driver for X server")
     (description
@@ -2712,17 +2660,17 @@ as USB mice.")
 (define-public xf86-video-amdgpu
   (package
     (name "xf86-video-amdgpu")
-    (version "19.1.0")
+    (version "21.0.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://xorg/individual/driver/"
                            "xf86-video-amdgpu-" version ".tar.bz2"))
        (sha256
-        (base32 "0pgy4ihnja0vm8504qw7qxh3pdpa3p9k6967nz15m6b1mvha83jg"))))
+        (base32 "125dq85n46yqmnmr2hknxwcqicwlvz2b2phf0m963fpg9l1j6y30"))))
     (build-system gnu-build-system)
-    (inputs `(("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "AMD Radeon video driver for X server")
     (description
@@ -2746,8 +2694,8 @@ X server.")
            "07p5vdsj2ckxb6wh02s61akcv4qfg6s1d5ld3jn3lfaayd3f1466"))
         (patches (search-patches "xf86-video-ark-remove-mibstore.patch"))))
     (build-system gnu-build-system)
-    (inputs `(("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Ark Logic video driver for X server")
     (description
@@ -2768,8 +2716,8 @@ X server.")
                (base32
                 "1pm2cy81ma7ldsw0yfk28b33h9z2hcj5rccrxhfxfgvxsiavrnqy"))))
     (build-system gnu-build-system)
-    (inputs `(("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorg-server))
+    (native-inputs (list pkg-config))
     (synopsis "ASpeed Technologies video driver for X server")
     (description
      "xf86-video-ast is an ASpeed Technologies video driver for the Xorg
@@ -2777,27 +2725,31 @@ X server.")
     (license license:x11)))
 
 (define-public xf86-video-ati
-  (package
-    (name "xf86-video-ati")
-    (version "19.1.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://xorg/individual/driver/"
-                           "xf86-video-ati-" version ".tar.bz2"))
-       (sha256
-        (base32 "0j9w4axsqlycv4v14g53xyhkm9h7d27b2fcv9lrzb9gf54b5m7v5"))))
-    (build-system gnu-build-system)
-    (inputs `(("mesa" ,mesa)
-              ("xorgproto" ,xorgproto)
-              ("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
-    (home-page "https://www.x.org/wiki/")
-    (synopsis "ATI Radeon video driver for X server")
-    (description
-     "xf86-video-ati is an ATI Radeon video driver for the Xorg
+  ;; The current release is too old to build with our inputs.
+  (let ((commit "5eba006e4129e8015b822f9e1d2f1e613e252cda")
+        (revision "1"))
+    (package
+      (name "xf86-video-ati")
+      (version (git-version "19.1.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1n49wx0v13jh8vv17sxgrmmpi1mk3n2wph07jfmxmzqahpcn4lkn"))))
+      (build-system gnu-build-system)
+      (inputs (list mesa xorgproto xorg-server))
+      (native-inputs
+       (list pkg-config autoconf automake libtool))
+      (home-page "https://www.x.org/wiki/")
+      (synopsis "ATI Radeon video driver for X server")
+      (description
+       "xf86-video-ati is an ATI Radeon video driver for the Xorg
 X server.")
-    (license license:x11)))
+      (license license:x11))))
 
 
 (define-public xf86-video-cirrus
@@ -2815,8 +2767,8 @@ X server.")
           (base32
             "1asifc6ld2g9kap15vfhvsvyl69lj7pw3d9ra9mi4najllh7pj7d"))))
     (build-system gnu-build-system)
-    (inputs `(("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Cirrus Logic video driver for X server")
     (description
@@ -2836,8 +2788,8 @@ X server.")
        (sha256
         (base32 "1fcm9vwgv8wnffbvkzddk4yxrh3kc0np6w65wj8k88q7jf3bn4ip"))))
     (build-system gnu-build-system)
-    (inputs `(("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Dummy video driver for X server")
     (description
@@ -2860,8 +2812,8 @@ X server.")
           (base32
             "16a66zr0l1lmssa07i3rzy07djxnb45c17ks8c71h8l06xgxihyw"))))
     (build-system gnu-build-system)
-    (inputs `(("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Framebuffer device video driver for X server")
     (description
@@ -2895,17 +2847,20 @@ framebuffer device.")
          ("xorg-server" ,xorg-server)
          ("zlib" ,zlib)))
       (native-inputs
-       `(("pkg-config" ,pkg-config)
-         ("autoconf" ,autoconf)
-         ("automake" ,automake)
-         ("libtool" ,libtool)))
+       (list pkg-config autoconf automake libtool))
        ;; This driver is only supported on ARM systems.
       (supported-systems '("armhf-linux" "aarch64-linux"))
       (arguments
        `(#:configure-flags
          (list (string-append "--with-xorg-conf-dir="
                               (assoc-ref %outputs "out")
-                              "/share/X11/xorg.conf.d"))))
+                              "/share/X11/xorg.conf.d"))
+         #:phases
+         (modify-phases %standard-phases
+           (replace 'bootstrap
+             (lambda _
+               ;; autogen.sh calls configure unconditionally.
+               (invoke "autoreconf" "-vfi"))))))
       (home-page "https://www.x.org/wiki/")
       (synopsis "Adreno video driver for X server")
       (description
@@ -2926,8 +2881,8 @@ It supports a variety of Adreno graphics chipsets.")
        (sha256
         (base32 "0r2dz0agg0k5wrqdbicji6mh6svzyl0xgqk76hpcfdlzn2zx15zl"))))
     (build-system gnu-build-system)
-    (inputs `(("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorg-server))
+    (native-inputs (list pkg-config))
     (supported-systems
      ;; This driver is only supported on i686 systems.
      (filter (lambda (system) (string-prefix? "i686-" system))
@@ -2984,9 +2939,8 @@ compositing.  Both support Xv overlay and dynamic rotation with XRandR.")
           (base32
            "1lkpspvrvrp9s539bhfdjfh4andaqyk63l6zjn8m3km95smk6a45"))))
     (build-system gnu-build-system)
-    (inputs `(("xorgproto" ,xorgproto)
-              ("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorgproto xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "GLINT/Permedia video driver for X server")
     (description
@@ -3010,8 +2964,8 @@ X server.")
           (base32
            "1snhpv1igrhifcls3r498kjd14ml6x2xvih7zk9xlsd1ymmhlb4g"))))
     (build-system gnu-build-system)
-    (inputs `(("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "I128 video driver for X server")
     (description
@@ -3044,10 +2998,7 @@ X server.")
                 ("libxfont" ,libxfont2)
                 ("xorg-server" ,xorg-server)))
       (native-inputs
-       `(("pkg-config" ,pkg-config)
-         ("autoconf" ,autoconf)
-         ("automake" ,automake)
-         ("libtool" ,libtool)))
+       (list pkg-config autoconf automake libtool))
       (supported-systems
        ;; This driver is only supported on Intel systems.
        (filter (lambda (system) (or (string-prefix? "i686-" system)
@@ -3077,13 +3028,12 @@ It supports a variety of Intel graphics chipsets.")
         (sha256
           (base32
            "171wg8r6py1l138s58rlapin3rlpwsg9spmvhc7l68mm3g3hf1vs"))
-        (patches (search-patches "xf86-video-mach64-glibc-2.20.patch"))))
+        (patches (search-patches "xf86-video-mach64-glibc-2.20.patch"
+                                 "xf86-video-mach64-bool-to-boolean.patch"))))
     (build-system gnu-build-system)
-    (inputs `(("mesa" ,mesa)
-              ("xorgproto" ,xorgproto)
-              ("xorg-server" ,xorg-server)))
+    (inputs (list mesa xorgproto xorg-server))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Mach64 video driver for X server")
     (description
@@ -3110,10 +3060,8 @@ the same level of support for generic VGA or 8514/A adapters.")
           (base32
            "0yaxpgyyj9398nzzr5vnsfxcis76z46p9814yzj8179yl7hld296"))))
     (build-system gnu-build-system)
-    (inputs `(("mesa" ,mesa)
-              ("xorgproto" ,xorgproto)
-              ("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list mesa xorgproto xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Matrox video driver for X server")
     (description
@@ -3135,9 +3083,8 @@ the same level of support for generic VGA or 8514/A adapters.")
           (base32
             "0r4h673kw8fl7afc30anwbjlbhp82mg15fvaxf470xg7z983k0wk"))))
     (build-system gnu-build-system)
-    (inputs `(("xorgproto" ,xorgproto)
-              ("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorgproto xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "NeoMagic video driver for X server")
     (description
@@ -3187,8 +3134,8 @@ the same level of support for generic VGA or 8514/A adapters.")
           (base32
            "0bdk3pc5y0n7p53q4gc2ff7bw16hy5hwdjjxkm5j3s7hdyg6960z"))))
     (build-system gnu-build-system)
-    (inputs `(("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "NVIDIA video driver for X server")
     (description
@@ -3209,10 +3156,11 @@ supported, and the RENDER extension is not accelerated by this driver.")
        (uri (string-append "mirror://xorg/individual/driver/xf86-video-nouveau-"
                            version ".tar.bz2"))
        (sha256
-        (base32 "0sqm1jwjg15sp8v7039y2hsbhph8gpjd2bdzcqqiij2mgbi254s9"))))
+        (base32 "0sqm1jwjg15sp8v7039y2hsbhph8gpjd2bdzcqqiij2mgbi254s9"))
+       (patches (search-patches "xf86-video-nouveau-fixup-ABI.patch"))))
     (build-system gnu-build-system)
-    (inputs `(("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://nouveau.freedesktop.org")
     (synopsis "NVIDIA video driver for X server")
     (description
@@ -3235,14 +3183,14 @@ graphics cards.")
          (base32
           "0x9gq3hw6k661k82ikd1y2kkk4dmgv310xr5q59dwn4k6z37aafs"))))
     (build-system gnu-build-system)
-    (inputs `(("libx11" ,libx11)
-              ("libxext" ,libxext)
-              ("libxvmc" ,libxvmc)
-              ("mesa" ,mesa)
-              ("xorgproto" ,xorgproto)
-              ("xorg-server" ,xorg-server)))
+    (inputs (list libx11
+                  libxext
+                  libxvmc
+                  mesa
+                  xorgproto
+                  xorg-server))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Openchrome video driver for X server")
     (description
@@ -3263,15 +3211,14 @@ UniChrome Pro and Chrome9 integrated graphics processors.")
                 "xf86-video-qxl-" version ".tar.bz2"))
               (sha256
                (base32
-                "14jc24znnahhmz4kqalafmllsg8awlz0y6gpgdpk5ih38ph851mi"))))
+                "14jc24znnahhmz4kqalafmllsg8awlz0y6gpgdpk5ih38ph851mi"))
+              (patches (search-patches
+                        "xf86-video-qxl-fix-build.patch"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libxfont" ,libxfont2)
-        ("spice-protocol" ,spice-protocol)
-        ("xorg-server" ,xorg-server)
-        ("xorgproto" ,xorgproto)))
+      (list libxfont2 spice-protocol xorg-server xorgproto))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (synopsis "Qxl video driver for X server")
     (description "xf86-video-qxl is a video driver for the Xorg X server.
 This driver is intended for the spice qxl virtio device.")
@@ -3290,11 +3237,9 @@ This driver is intended for the spice qxl virtio device.")
                (base32
                 "0mz0v5mqmmbncr2drd5zvia1fb7frz2xqwflhhqbnaxx5j48c740"))))
     (build-system gnu-build-system)
-    (inputs `(("mesa" ,mesa)
-              ("xorgproto" ,xorgproto)
-              ("xorg-server" ,xorg-server)))
+    (inputs (list mesa xorgproto xorg-server))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "ATI Rage 128 video driver for X server")
     (description
@@ -3318,10 +3263,8 @@ This driver is intended for ATI Rage 128 based cards.")
           (base32
            "11pcrsdpdrwk0mrgv83s5nsx8a9i4lhmivnal3fjbrvi3zdw94rc"))))
     (build-system gnu-build-system)
-    (inputs `(("mesa" ,mesa)
-              ("xorgproto" ,xorgproto)
-              ("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list mesa xorgproto xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Savage video driver for X server")
     (description
@@ -3345,8 +3288,8 @@ This driver is intended for ATI Rage 128 based cards.")
            "1g2r6gxqrmjdff95d42msxdw6vmkg2zn5sqv0rxd420iwy8wdwyh"))
         (patches (search-patches "xf86-video-siliconmotion-fix-ftbfs.patch"))))
     (build-system gnu-build-system)
-    (inputs `(("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Silicon Motion video driver for X server")
     (description
@@ -3370,11 +3313,9 @@ Xorg X server.")
          (base32
           "0nrs6cjldlhakx5987fiiggjrlzilsbdc7l9pz22x1iwslbkz78i"))))
     (build-system gnu-build-system)
-    (inputs `(("mesa" ,mesa)
-              ("xorgproto" ,xorgproto)
-              ("xorg-server" ,xorg-server)))
+    (inputs (list mesa xorgproto xorg-server))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Sis video driver for X server")
     (description
@@ -3398,8 +3339,8 @@ This driver supports SiS chipsets of 300/315/330/340 series.")
           (base32
             "04fgwgk02m4nimlv67rrg1wnyahgymrn6rb2cjj1l8bmzkii4glr"))))
     (build-system gnu-build-system)
-    (inputs `(("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "GX/TurboGX video driver for X server")
     (description
@@ -3422,8 +3363,8 @@ This driver supports SiS chipsets of 300/315/330/340 series.")
           (base32
             "07z3ngifwg2d4jgq8pms47n5lr2yn0ai72g86xxjnb3k20n5ym7s"))))
     (build-system gnu-build-system)
-    (inputs `(("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "SUNFFB video driver for X server")
     (description
@@ -3446,10 +3387,8 @@ This driver supports SiS chipsets of 300/315/330/340 series.")
           (base32
            "0qc5wzwf1n65si9rc37bh224pzahh7gp67vfimbxs0b9yvhq0i9g"))))
     (build-system gnu-build-system)
-    (inputs `(("mesa" ,mesa)
-              ("xorgproto" ,xorgproto)
-              ("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list mesa xorgproto xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "3Dfx video driver for X server")
     (description
@@ -3473,9 +3412,8 @@ This driver supports SiS chipsets of 300/315/330/340 series.")
            "0cb161lvdgi6qnf1sfz722qn38q7kgakcvj7b45ba3i0020828r0"))
         (patches (search-patches "xf86-video-tga-remove-mibstore.patch"))))
     (build-system gnu-build-system)
-    (inputs `(("xorgproto" ,xorgproto)
-              ("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorgproto xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "TGA video driver for X server")
     (description
@@ -3499,9 +3437,8 @@ X server.")
           (base32
            "0gxcar434kx813fxdpb93126lhmkl3ikabaljhcj5qn3fkcijlcy"))))
     (build-system gnu-build-system)
-    (inputs `(("xorgproto" ,xorgproto)
-              ("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorgproto xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Trident video driver for X server")
     (description
@@ -3528,8 +3465,8 @@ X server.")
           (base32
             "0nf6ai74c60xk96kgr8q9mx6lrxm5id3765ws4d801irqzrj85hz"))))
     (build-system gnu-build-system)
-    (inputs `(("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "VESA video driver for X server")
     (description
@@ -3587,8 +3524,7 @@ X server.")
                (format #t "decompressing x86emu source code~%")
                (with-directory-excursion "libs"
                  (let ((srcs (assoc-ref inputs "xorg-server-sources"))
-                       (tar-binary (string-append (assoc-ref inputs "tar")
-                                                  "/bin/tar")))
+                       (tar-binary (search-input-file inputs "/bin/tar")))
                    (invoke tar-binary "xvf" srcs "--strip-components=3"
                            "--wildcards" "*/hw/xfree86/x86emu/")
                    ;; extract license:
@@ -3653,14 +3589,13 @@ server driver works.")
            "0v06qhm059klq40m2yx4wypzb7h53aaassbjfmm6clcyclj1k5s7"))))
     (build-system gnu-build-system)
     (inputs
-     `(("libx11" ,libx11)
-       ("libxext" ,libxext)
-       ("llvm" ,llvm)
-       ("mesa" ,mesa)                   ; for xatracker
-       ("xorg-server" ,xorg-server)))
+     (list libx11
+           libxext
+           llvm
+           mesa ; for xatracker
+           xorg-server))
     (native-inputs
-     `(("eudev" ,eudev)
-       ("pkg-config" ,pkg-config)))
+     (list eudev pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "VMware SVGA video driver for X server")
     (description
@@ -3685,9 +3620,8 @@ server driver works.")
         (patches
          (search-patches "xf86-video-voodoo-pcitag.patch"))))
     (build-system gnu-build-system)
-    (inputs `(("xorgproto" ,xorgproto)
-              ("xorg-server" ,xorg-server)))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs (list xorgproto xorg-server))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Voodoo/Voodoo2 video driver for X server")
     (description
@@ -3808,10 +3742,9 @@ configuring modelines and gamma.")
             "1lr2nb1fhg5fk2fchqxdxyl739602ggwhmgl2wiv5c8qbidw7w8f"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libxxf86vm" ,libxxf86vm)
-        ("libx11" ,libx11)))
+      (list libxxf86vm libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Alter a monitor's gamma correction")
     (description
@@ -3836,11 +3769,9 @@ monitor via the X video mode extension.")
             "15n3mnd4i5kh4z32qv11580qjgvnng0wry2y753ljrqkkrbkrp52"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libxmu" ,libxmu)
-        ("libxau" ,libxau)
-        ("libx11" ,libx11)))
+      (list libxmu libxau libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://gitlab.freedesktop.org/xorg/app/xhost")
     (synopsis "Xorg server access control utility")
     (description
@@ -3864,7 +3795,7 @@ allowed to make connections to the X server.")
           (base32
             "0ns8abd27x7gbp4r44z3wc5k9zqxxj8zjnazqpcyr4n17nxp8xcp"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg XineramaProto protocol headers")
     (description
@@ -3895,15 +3826,15 @@ alternative implementations like XRandR or TwinView.")
             "1vb6xdd1xmk5f7pwc5zcbxfray5sf1vbnscqwf2yl8lv7gfq38im"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libxrender" ,libxrender)
-        ("libxrandr" ,libxrandr)
-        ("libxinerama" ,libxinerama)
-        ("libxext" ,libxext)
-        ("libxi" ,libxi)
-        ("libx11" ,libx11)
-        ("xorgproto" ,xorgproto)))
+      (list libxrender
+            libxrandr
+            libxinerama
+            libxext
+            libxi
+            libx11
+            xorgproto))
     (native-inputs
-       `(("pkg-config" ,pkg-config)))
+       (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Configure input devices for X server")
     (description
@@ -3911,10 +3842,10 @@ alternative implementations like XRandR or TwinView.")
     (license license:x11)))
 
 
-(define xkbcomp-intermediate            ;used as input for xkeyboard-config
+(define-public xkbcomp-intermediate        ;used as input for xkeyboard-config
   (package
     (name "xkbcomp-intermediate")
-    (version "1.4.4")
+    (version "1.4.5")
     (source
      (origin
        (method url-fetch)
@@ -3922,14 +3853,12 @@ alternative implementations like XRandR or TwinView.")
                            version ".tar.bz2"))
        (sha256
         (base32
-         "0zpjkbap9160pdd6jpgb5f0yg5281w0rkkx1l0i7g887lq1ydk2r"))))
+         "0pmhshqinwqh5rip670l3szjpywky67hv232ql6gvdj489n0hlb8"))))
     (build-system gnu-build-system)
     (inputs
-     `(("xorgproto" ,xorgproto)
-       ("libxkbfile" ,libxkbfile)
-       ("libx11" ,libx11)))
+     (list xorgproto libxkbfile libx11))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Compile XKB keyboard description")
     (description
@@ -3944,11 +3873,16 @@ explicitly specify most aspects of keyboard behaviour on per-key basis
 and to more closely track the logical and physical state of the
 keyboard.  It also includes a number of keyboard controls designed to
 make keyboards more accessible to people with physical impairments.")
-    (license license:x11)))
+    (license license:x11)
+
+    ;; The only reason this package is public is to make sure it's built and
+    ;; published by the continuous integration tool.
+    (properties '((hidden? . #t)))))
 
 (define-public xkbcomp ; using xkeyboard-config as input
   (package (inherit xkbcomp-intermediate)
     (name "xkbcomp")
+    (properties '())
     (inputs
       `(,@(package-inputs xkbcomp-intermediate)
         ("xkeyboard-config" ,xkeyboard-config)))
@@ -3975,10 +3909,9 @@ make keyboards more accessible to people with physical impairments.")
             "0sprjx8i86ljk0l7ldzbz2xlk8916z5zh78cafjv8k1a63js4c14"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libxkbfile" ,libxkbfile)
-        ("libx11" ,libx11)))
+      (list libxkbfile libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "XKB event daemon demo")
     (description
@@ -3999,11 +3932,9 @@ requested commands if they occur.")
           (base32 "1yi3232g25hhp241irncd8znv3090k2gm0yjcdnz08h89y1zwn2v"))))
     (build-system gnu-build-system)
     (inputs
-     `(("libx11" ,libx11)
-       ("libxkbfile" ,libxkbfile)
-        ("xorgproto" ,xorgproto)))
+     (list libx11 libxkbfile xorgproto))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Visualise an XKB keyboard layout description")
     (description
@@ -4029,11 +3960,9 @@ one from a running X server.")
             "0c412isxl65wplhl7nsk12vxlri29lk48g3p52hbrs3m0awqm8fj"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libxt" ,libxt)
-        ("libxaw" ,libxaw)
-        ("xorgproto" ,xorgproto)))
+      (list libxt libxaw xorgproto))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "XKB utilities")
     (description
@@ -4051,21 +3980,20 @@ extension to the X11 protocol.  It includes:
 (define-public xkeyboard-config
   (package
     (name "xkeyboard-config")
-    (version "2.31")
+    (version "2.34")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-              "mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-"
+              "ftp://ftp.freedesktop.org/pub/xorg//individual/data/xkeyboard-config/xkeyboard-config-"
               version
               ".tar.bz2"))
         (sha256
           (base32
-            "18xddaxh83zm698syh50w983jg6b7b8zgv0dfaf7ha485hgihi6s"))))
+            "1kmq2ykwmh10sd6155gml4jhdxmvsll6xdg7zw86czpfhrvd48dk"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libx11" ,libx11)
-        ("xkbcomp-intermediate" ,xkbcomp-intermediate)))
+      (list libx11 xkbcomp-intermediate))
     (native-inputs
       `(("gettext" ,gettext-minimal)
         ("perl" ,perl)
@@ -4097,10 +4025,9 @@ can be combined together using the @code{rules} component of this database.")
             "0szzd9nzn0ybkhnfyizb876irwnjsnb78rcaxx6prb71jmmbpw65"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libxmu" ,libxmu)
-        ("libx11" ,libx11)))
+      (list libxmu libx11))
     (native-inputs
-       `(("pkg-config" ,pkg-config)))
+       (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Kill a client by its X resource")
     (description
@@ -4126,9 +4053,9 @@ programs that have displayed undesired windows on a user's screen.")
             "10m3a046jvaw5ywx4y65kl84lsxqan70gww1g1r7cf96ijaqz1jp"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libxcb" ,libxcb)))
+      (list libxcb))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://gitlab.freedesktop.org/xorg/app/xlsatoms")
     (synopsis "List interned X server atoms")
     (description
@@ -4152,9 +4079,9 @@ programs that have displayed undesired windows on a user's screen.")
             "1h8931sn34mcip6vpi4v7hdmr1r58gkbw4s2p97w98kykks2lgvp"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libxcb" ,libxcb)))
+      (list libxcb))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "List client applications running on a display")
     (description
@@ -4179,10 +4106,9 @@ running on X server.")
          "0s6kxgv78chkwsqmhw929f4pf91gq63f4yvixxnan1h00cx0pf49"))))
     (build-system gnu-build-system)
     (inputs
-     `(("xorgproto" ,xorgproto)
-       ("libx11" ,libx11)))
+     (list xorgproto libx11))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "List fonts available from an X server")
     (description
@@ -4208,12 +4134,9 @@ protocol.")
        (list (string-append "--with-appdefaultdir="
                             %output ,%app-defaults-dir))))
     (inputs
-     `(("libx11" ,libx11)
-       ("libxaw" ,libxaw)
-       ("libxmu" ,libxmu)
-       ("libxt" ,libxt)))
+     (list libx11 libxaw libxmu libxt))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Browse and select X font names")
     (description
@@ -4275,10 +4198,9 @@ containing one glyph per cell.")
             "0z28331i2pm16x671fa9qwsfqdmr6a43bzwmp0dm17a3sx0hjgs7"))))
     (build-system gnu-build-system)
     (inputs
-      `(("xorgproto" ,xorgproto)
-        ("libx11" ,libx11)))
+      (list xorgproto libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://gitlab.freedesktop.org/xorg/app/xmodmap")
     (synopsis "Modify keymaps and button mappings on X server")
     (description
@@ -4309,7 +4231,7 @@ tastes.")
           (base32
             "0k5pffyi5bx8dmfn033cyhgd3gf6viqj3x769fqixifwhbgy2777"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg SGML documentation tools")
     (description
@@ -4338,11 +4260,9 @@ refers to the included common xorg.css stylesheet.")
             "07qy9lwjvxighcmg6qvjkgagad3wwvidrfx0jz85lgynz3qy0dmr"))))
     (build-system gnu-build-system)
     (inputs
-      `(("xorgproto" ,xorgproto)
-        ("libxmu" ,libxmu)
-        ("libx11" ,libx11)))
+      (list xorgproto libxmu libx11))
     (native-inputs
-        `(("pkg-config" ,pkg-config)))
+        (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Print an X window dump from xwd")
     (description
@@ -4365,10 +4285,9 @@ it for output on various types of printers.")
          "18ckr8g1z50zkc01hprkpm1npwbq32yqib4b3l98c95z2q1yv4lv"))))
     (build-system gnu-build-system)
     (inputs
-     `(("libx11" ,libx11)
-       ("xorgproto" ,xorgproto)))
+     (list libx11 xorgproto))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Display X server properties")
     (description
@@ -4392,12 +4311,9 @@ an X server.")
             "0ql75s1n3dm2m3g1ilb9l6hqh15r0v709bgghpwazy3jknpnvivv"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libxrender" ,libxrender)
-        ("libxrandr" ,libxrandr)
-        ("xorgproto" ,xorgproto)
-        ("libx11" ,libx11)))
+      (list libxrender libxrandr xorgproto libx11))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Command line interface to X RandR extension")
     (description
@@ -4419,10 +4335,9 @@ and Reflect (RandR) extension.")
           (base32 "1d78prd8sfszq2rwwlb32ksph4fymf988lp75aj8iysg44f06pag"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libxmu" ,libxmu)
-        ("libx11" ,libx11)))
+      (list libxmu libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://gitlab.freedesktop.org/xorg/app/xrdb")
     (synopsis "X server resource database utility")
     (description
@@ -4450,9 +4365,9 @@ file.")
             "0lv3rlshh7s0z3aqx5ahnnf8cl082m934bk7gv881mz8nydznz98"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libx11" ,libx11)))
+      (list libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Refresh all or part of an X screen")
     (description
@@ -4478,12 +4393,9 @@ up your screen.")
             "0my987wjvra7l92ry6q44ky383yg3phzxhdbn3lqhapm1ll9bzg4"))))
     (build-system gnu-build-system)
     (inputs
-      `(("xorgproto" ,xorgproto)
-        ("libxmu" ,libxmu)
-        ("libxext" ,libxext)
-        ("libx11" ,libx11)))
+      (list xorgproto libxmu libxext libx11))
     (native-inputs
-       `(("pkg-config" ,pkg-config)))
+       (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "User preference utility for X server")
     (description
@@ -4507,11 +4419,9 @@ up your screen.")
             "0z21mqvmdl6rl63q77479wgkfygnll57liza1i3va7sr4fx45i0h"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libxmu" ,libxmu)
-        ("libxcursor" ,libxcursor)
-        ("xbitmaps" ,xbitmaps)))
+      (list libxmu libxcursor xbitmaps))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Root window parameter setting utility for X server")
     (description
@@ -4535,7 +4445,7 @@ a display running X server.")
           (base32
             "0wyp0yc6gi72hwc3kjmvm3vkj9p6s407cb6dxx37jh9wb68l8z1p"))))
     (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)))
+    (native-inputs (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Network Transport layer library")
     (description
@@ -4562,11 +4472,9 @@ libICE, the X font server, and related components.")
             "0gz7fvxavqlrqynpfbrm2nc9yx8h0ksnbnv34fj7n1q6cq6j4lq3"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libxext" ,libxext)
-        ("libxv" ,libxv)
-        ("libx11" ,libx11)))
+      (list libxext libxv libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://gitlab.freedesktop.org/xorg/app/xvinfo")
     (synopsis "Print out X-Video extension adaptor information")
     (description
@@ -4589,11 +4497,9 @@ extension.")
           (base32 "06q36fh55r62ms0igfxsanrn6gv8lh794q1bw9xzw51p2qs2papv"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libxt" ,libxt)
-        ("libxkbfile" ,libxkbfile)
-        ("xorgproto" ,xorgproto)))
+      (list libxt libxkbfile xorgproto))
     (native-inputs
-       `(("pkg-config" ,pkg-config)))
+       (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Dump current contents of X window or screen to file")
     (description
@@ -4622,10 +4528,9 @@ dump and twice when the dump is completed.")
             "03h8clirhw5ki1xxp18xbf5vynm7r0dwspsgfin6cxn4vx0m8h3s"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libx11" ,libx11)
-        ("xorgproto" ,xorgproto)))
+      (list libx11 xorgproto))
     (native-inputs
-       `(("pkg-config" ,pkg-config)))
+       (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Window information utility for X server")
     (description
@@ -4650,10 +4555,9 @@ Various information is displayed depending on which options are selected.")
             "1a8hdgy40smvblnh3s9f0vkqckl68nmivx7d48zk34m8z18p16cr"))))
     (build-system gnu-build-system)
     (inputs
-      `(("xorgproto" ,xorgproto)
-        ("libx11" ,libx11)))
+      (list xorgproto libx11))
     (native-inputs
-       `(("pkg-config" ,pkg-config)))
+       (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Display an X window dump from xwd")
     (description
@@ -4677,9 +4581,9 @@ formatted dump file, such as produced by xwd.")
             "1c76zcjs39ljil6f6jpx1x17c8fnvwazz7zvl3vbjfcrlmm7rjmv"))))
     (build-system gnu-build-system)
     (inputs
-     `(("xorgproto" ,xorgproto)))
+     (list xorgproto))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "X color name database")
     (description
@@ -4704,9 +4608,9 @@ formatted dump file, such as produced by xwd.")
             "1ki4wiq2iivx5g4w5ckzbjbap759kfqd72yg18m3zpbb4hqkybxs"))))
     (build-system gnu-build-system)
     (propagated-inputs
-      `(("xorgproto" ,xorgproto)))
+      (list xorgproto))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg FixesProto protocol headers")
     (description
@@ -4733,11 +4637,9 @@ cannot be adequately worked around on the client side of the wire.")
     (build-system gnu-build-system)
     (propagated-inputs
       ;; These are all in the Requires or Requires.private field of xdamage.pc
-      `(("libxfixes" ,libxfixes)
-        ("xorgproto" ,xorgproto)
-        ("libx11" ,libx11)))
+      (list libxfixes xorgproto libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Damage Extension library")
     (description "Xorg library for the XDamage extension.")
@@ -4759,20 +4661,20 @@ cannot be adequately worked around on the client side of the wire.")
           (base32
             "0azqxllcsfxc3ilhz6kwc6x7m8wc477p59ir9p0yrsldx766zbar"))))
     (build-system gnu-build-system)
+    (outputs '("out" "doc"))             ;man pages represent 40% of the total
     (arguments
      `(#:configure-flags
        (list "--disable-static"
-             ;; Disable zero malloc check that fails when cross-compiling.
-             ,@(if (%current-target-system)
-                   '("--disable-malloc0returnsnull")
-                   '()))))
+             (string-append "--mandir="
+                            (assoc-ref %outputs "doc")
+                            "/share/man")
+             ,@(malloc0-flags))))
     (propagated-inputs
-      `(("xorgproto" ,xorgproto)))
+      (list xorgproto))
     (inputs
-      `(("libxau" ,libxau)
-        ("libx11" ,libx11)))
+      (list libxau libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Common extensions library")
     (description
@@ -4796,14 +4698,13 @@ cannot be adequately worked around on the client side of the wire.")
             "086p0axqj57nvkaqa6r00dnr9kyrn1m8blgf0zjy25zpxkbxn200"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags '("--disable-static")))
+     `(#:configure-flags '("--disable-static" ,@(malloc0-flags))))
     (propagated-inputs
-      `(("xorgproto" ,xorgproto)))
+      (list xorgproto))
     (inputs
-      `(("libxext" ,libxext)
-        ("libx11" ,libx11)))
+      (list libxext libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Xinerama protocol library")
     (description "API for Xinerama extension to X11 protocol.")
@@ -4826,12 +4727,11 @@ cannot be adequately worked around on the client side of the wire.")
             "0mwc2jwmq03b1m9ihax5c6gw2ln8rc70zz4fsj3kb7440nchqdkz"))))
     (build-system gnu-build-system)
     (propagated-inputs
-      `(("printproto" ,printproto)))
+      (list printproto))
     (inputs
-      `(("libx11" ,libx11)
-        ("libxext" ,libxext)))
+      (list libx11 libxext))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Print Client library")
     (description "Xorg Print Client library.")
@@ -4855,17 +4755,13 @@ cannot be adequately worked around on the client side of the wire.")
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
-       (list "--disable-static"
-             ;; Disable zero malloc check that fails when cross-compiling.
-             ,@(if (%current-target-system)
-                   '("--disable-malloc0returnsnull")
-                   '()))))
+       (list "--disable-static" ,@(malloc0-flags))))
     (propagated-inputs
-      `(("xorgproto" ,xorgproto)))
+      (list xorgproto))
     (inputs
-      `(("libx11" ,libx11)))
+      (list libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Render Extension library")
     (description "Library for the Render Extension to the X11 protocol.")
@@ -4889,12 +4785,11 @@ cannot be adequately worked around on the client side of the wire.")
     (arguments
      '(#:configure-flags '("--disable-static")))
     (propagated-inputs
-     `(("libxi" ,libxi)
-       ("xorgproto" ,xorgproto)))
+     (list libxi xorgproto))
     (inputs
-      `(("libx11" ,libx11)))
+      (list libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg library for Xtest and Record extensions")
     (description
@@ -4926,14 +4821,13 @@ protocol and arbitrary X extension protocol.")
             "125hn06bd3d8y97hm2pbf5j55gg4r2hpd3ifad651i4sr7m16v6j"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags '("--disable-static")))
+     `(#:configure-flags '(,@(malloc0-flags) "--disable-static")))
     (propagated-inputs
-     `(("xorgproto" ,xorgproto)))
+     (list xorgproto))
     (inputs
-      `(("libxext" ,libxext)
-        ("libx11" ,libx11)))
+      (list libxext libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg XVideo Extension library")
     (description "Library for the X Video Extension to the X11 protocol.")
@@ -4975,14 +4869,12 @@ protocol and arbitrary X extension protocol.")
              (wrap-program (string-append (assoc-ref outputs "out")
                                           "/bin/mkfontdir")
                `("PATH" ":" prefix
-                 (,(string-append (assoc-ref inputs "mkfontscale")
-                                  "/bin"))))
-             #t)))))
+                 (,(dirname
+                    (search-input-file inputs "/bin/mkfontscale"))))))))))
     (inputs
-      `(("mkfontscale" ,mkfontscale)))
+      (list mkfontscale))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("automake" ,automake))) ;For up to date 'config.guess' and 'config.sub'.
+     (list pkg-config automake)) ;For up to date 'config.guess' and 'config.sub'.
     (home-page "https://www.x.org/wiki/")
     (synopsis "Create an index of X font files in a directory")
     (description
@@ -5007,9 +4899,9 @@ script around the mkfontscale program.")
             "0ivpxz0rx2a7nahkpkhfgymz7j0pwzaqvyqpdgw9afmxl1yp9yf6"))))
     (build-system gnu-build-system)
     (propagated-inputs
-      `(("util-macros" ,util-macros))) ; to get util-macros in (almost?) all package inputs
+      (list util-macros)) ; to get util-macros in (almost?) all package inputs
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg X11Proto protocol headers")
     (description
@@ -5042,12 +4934,11 @@ common definitions and porting layer.")
     (arguments
      '(#:configure-flags '("--disable-static")))
     (propagated-inputs
-      `(("xorgproto" ,xorgproto)))
+      (list xorgproto))
     (inputs
-      `(("libbsd" ,libbsd)
-        ("xtrans" ,xtrans)))
+      (list libbsd xtrans))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Inter-Client Exchange library")
     (description "Xorg Inter-Client Exchange library.")
@@ -5072,9 +4963,9 @@ common definitions and porting layer.")
     (arguments
      '(#:configure-flags '("--disable-static")))
     (propagated-inputs
-      `(("xorgproto" ,xorgproto)))
+      (list xorgproto))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Authorization library")
     (description
@@ -5085,7 +4976,7 @@ an X Window System display.")
 (define-public libxfixes
   (package
     (name "libxfixes")
-    (version "5.0.3")
+    (version "6.0.0")
     (source
       (origin
         (method url-fetch)
@@ -5095,16 +4986,16 @@ an X Window System display.")
                ".tar.bz2"))
         (sha256
           (base32
-            "1miana3y4hwdqdparsccmygqr3ic3hs5jrqfzp70hvi2zwxd676y"))))
+            "0k2v4i4r24y3kdr5ici1qqhp69djnja919xfqp54c2rylm6s5hd7"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--disable-static")))
     (propagated-inputs
-      `(("xorgproto" ,xorgproto)))
+      (list xorgproto))
     (inputs
-      `(("libx11" ,libx11)))
+      (list libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Fixes Extension library")
     (description "Library for the XFixes Extension to the X11 protocol.")
@@ -5128,14 +5019,11 @@ an X Window System display.")
     (arguments
      '(#:configure-flags '("--disable-static")))
     (propagated-inputs
-      `(("freetype" ,freetype)
-        ("libfontenc" ,libfontenc)
-        ("xorgproto" ,xorgproto)))
+      (list freetype libfontenc xorgproto))
     (inputs
-      `(("zlib" ,zlib)
-        ("xtrans" ,xtrans)))
+      (list zlib xtrans))
     (native-inputs
-       `(("pkg-config" ,pkg-config)))
+       (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Font handling library")
     (description
@@ -5174,15 +5062,17 @@ new API's in libXft, or the legacy API's in libX11.")
           (base32
             "0q8hz3slga3w3ch8wp0k7ay9ilhz315qnab0w1y2x9w3cf7hv8rn"))))
     (build-system gnu-build-system)
+    (outputs '("out" "doc"))             ;man pages represent 28% of the total
     (arguments
-     '(#:configure-flags '("--disable-static")))
+     `(#:configure-flags (list "--disable-static"
+                               (string-append "--mandir="
+                                              (assoc-ref %outputs "doc")
+                                              "/share/man")
+                               ,@(malloc0-flags))))
     (propagated-inputs
-      `(("xorgproto" ,xorgproto)
-        ("libx11" ,libx11)
-        ("libxext" ,libxext)
-        ("libxfixes" ,libxfixes)))
+      (list xorgproto libx11 libxext libxfixes))
     (native-inputs
-       `(("pkg-config" ,pkg-config)))
+       (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Input Extension library")
     (description "Library for the XInput Extension to the X11 protocol.")
@@ -5204,15 +5094,12 @@ new API's in libXft, or the legacy API's in libX11.")
             "08z0mqywrm7ij8bxlfrx0d2wy6kladdmkva1nw5k6qix82z0xsla"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags '("--disable-static")))
+     `(#:configure-flags '("--disable-static" ,@(malloc0-flags))))
     (propagated-inputs
       ;; In accordance with xrandr.pc.
-      `(("libx11" ,libx11)
-        ("libxext" ,libxext)
-        ("libxrender" ,libxrender)
-        ("xorgproto" ,xorgproto)))
+      (list libx11 libxext libxrender xorgproto))
     (native-inputs
-       `(("pkg-config" ,pkg-config)))
+       (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Resize and Rotate Extension library")
     (description
@@ -5235,15 +5122,13 @@ new API's in libXft, or the legacy API's in libX11.")
             "1kbdjsvkm5l7axv7g477qj18sab2wnqhliy6197syzizgfbsfgbb"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags '("--disable-static")))
+     `(#:configure-flags '(,@(malloc0-flags) "--disable-static")))
     (propagated-inputs
-      `(("libxv" ,libxv)))
+      (list libxv))
     (inputs
-      `(("xorgproto" ,xorgproto)
-        ("libxext" ,libxext)
-        ("libx11" ,libx11)))
+      (list xorgproto libxext libx11))
     (native-inputs
-       `(("pkg-config" ,pkg-config)))
+       (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg XvMC library")
     (description "Xorg XvMC library.")
@@ -5265,14 +5150,13 @@ new API's in libXft, or the legacy API's in libX11.")
             "0mydhlyn72i7brjwypsqrpkls3nm6vxw0li8b2nw0caz7kwjgvmg"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags '("--disable-static")))
+     `(#:configure-flags '("--disable-static" ,@(malloc0-flags))))
     (propagated-inputs
-      `(("libxext" ,libxext)
-        ("xorgproto" ,xorgproto)))
+      (list libxext xorgproto))
     (inputs
-      `(("libx11" ,libx11)))
+      (list libx11))
     (native-inputs
-       `(("pkg-config" ,pkg-config)))
+       (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg XF86 Video Mode Extension library")
     (description
@@ -5296,19 +5180,20 @@ protocol.")
           (base32
            "0d2chjgyn5lr9sfhacfvqgnj9l9faz11vn322a06jd6lk3dxcpm5"))))
     (build-system gnu-build-system)
+    (outputs '("out" "doc"))                      ;5.5 MiB of man pages
     (propagated-inputs
-      `(("libpthread-stubs" ,libpthread-stubs)
-        ("libxau" ,libxau)
-        ("libxdmcp" ,libxdmcp)))
+      (list libpthread-stubs libxau libxdmcp))
     (inputs
-      `(("xcb-proto" ,xcb-proto)
-        ("libxslt" ,libxslt)))
+      (list xcb-proto libxslt))
     (native-inputs
       `(("pkg-config" ,pkg-config)
         ("python" ,python-minimal-wrapper)))
     (arguments
-     `(#:configure-flags '("--enable-xkb"
-                           "--disable-static")))
+     `(#:configure-flags (list "--enable-xkb"
+                               "--disable-static"
+                               (string-append "--mandir="
+                                              (assoc-ref %outputs "doc")
+                                              "/share/man"))))
     (home-page "https://xcb.freedesktop.org/")
     (synopsis "The X C Binding (XCB) library")
     (description
@@ -5327,78 +5212,96 @@ over Xlib, including:
 - easy extension implementation: interfaces auto-generated from XML-XCB.")
     (license license:x11)))
 
+(define-public libxcvt
+  (package
+    (name "libxcvt")
+    (version "0.1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://www.x.org/releases/individual"
+                                  "/lib/libxcvt-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0acc7vrj5kfb19zvyl7f29rnsvx383dvwc19k70r8prm1lccxsr7"))))
+    (build-system meson-build-system)
+    (home-page "https://gitlab.freedesktop.org/xorg/lib/libxcvt")
+    (synopsis "VESA Coordinated Video Timings (CVT) library")
+    (description "@code{libxcvt} is a library providing a standalone version
+of the X server implementation of the VESA Coordinated Video Timings (CVT)
+standard timing modelines generator.  @code{libxcvt} also provides a
+standalone version of the command line tool @command{cvt} copied from the Xorg
+implementation and is meant to be a direct replacement to the version provided
+by the Xorg server.")
+    (license license:x11)))
 
 (define-public xorg-server
   (package
     (name "xorg-server")
-    (version "1.20.11")
+    (version "21.1.2")
     (source
-      (origin
-        (method url-fetch)
-        (uri (string-append "mirror://xorg/individual/xserver/"
-                            "xorg-server-" version ".tar.bz2"))
-        (sha256
-         (base32
-          "0jacqgin8kcyy8fyv0lhgb4if8g9hp60rm3ih3s1mgps7xp7jk4i"))
-        (patches
-         (list
-          ;; See:
-          ;;   https://lists.fedoraproject.org/archives/list/devel@lists.
-          ;;      fedoraproject.org/message/JU655YB7AM4OOEQ4MOMCRHJTYJ76VFOK/
-          (origin
-            (method url-fetch)
-            (uri (string-append
-                  "http://pkgs.fedoraproject.org/cgit/rpms/xorg-x11-server.git"
-                  "/plain/06_use-intel-only-on-pre-gen4.diff"))
-            (sha256
-             (base32
-              "0mm70y058r8s9y9jiv7q2myv0ycnaw3iqzm7d274410s0ik38w7q"))
-            (file-name "xorg-server-use-intel-only-on-pre-gen4.diff"))))))
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://xorg.freedesktop.org/archive/individual"
+                           "/xserver/xorg-server-" version ".tar.xz"))
+       (sha256
+        (base32
+         "1c4dgvpv3kib8rhw37b00vc056nlb1z66c2lwzs4prz8kxmg82y2"))
+       (patches
+        (list
+         ;; See:
+         ;;   https://lists.fedoraproject.org/archives/list/devel@lists.
+         ;;      fedoraproject.org/message/JU655YB7AM4OOEQ4MOMCRHJTYJ76VFOK/
+         (origin
+           (method url-fetch)
+           (uri (string-append
+                 "http://pkgs.fedoraproject.org/cgit/rpms/xorg-x11-server.git"
+                 "/plain/06_use-intel-only-on-pre-gen4.diff"))
+           (sha256
+            (base32
+             "0mm70y058r8s9y9jiv7q2myv0ycnaw3iqzm7d274410s0ik38w7q"))
+           (file-name "xorg-server-use-intel-only-on-pre-gen4.diff"))))))
     (build-system gnu-build-system)
     (propagated-inputs
-      `(("libpciaccess" ,libpciaccess)
-        ("mesa" ,mesa)
-        ("pixman" ,pixman)
-        ("xorgproto" ,xorgproto)))
+     ;; The following libraries are required by xorg-server.pc.
+     (list libpciaccess libxcvt mesa pixman xorgproto))
     (inputs
-      `(("udev" ,eudev)
-        ("dbus" ,dbus)
-        ("libdmx" ,libdmx)
-        ("libepoxy" ,libepoxy)
-        ("libgcrypt" ,libgcrypt)
-        ("libxau" ,libxau)
-        ("libxaw" ,libxaw)
-        ("libxdmcp" ,libxdmcp)
-        ("libxfixes" ,libxfixes)
-        ("libxfont2" ,libxfont2)
-        ("libxkbfile" ,libxkbfile)
-        ("libxrender" ,libxrender)
-        ("libxres" ,libxres)
-        ("libxshmfence" ,libxshmfence)
-        ("libxt" ,libxt)
-        ("libxv" ,libxv)
-        ("xkbcomp" ,xkbcomp)
-        ("xkeyboard-config" ,xkeyboard-config)
-        ("xtrans" ,xtrans)
-        ("zlib" ,zlib)
-        ;; Inputs for Xephyr
-        ("xcb-util" ,xcb-util)
-        ("xcb-util-image" ,xcb-util-image)
-        ("xcb-util-keysyms" ,xcb-util-keysyms)
-        ("xcb-util-renderutil" ,xcb-util-renderutil)
-        ("xcb-util-wm" ,xcb-util-wm)))
+     `(("udev" ,eudev)
+       ("dbus" ,dbus)
+       ("libdmx" ,libdmx)
+       ("libepoxy" ,libepoxy)
+       ("libgcrypt" ,libgcrypt)
+       ("libxau" ,libxau)
+       ("libxaw" ,libxaw)
+       ("libxdmcp" ,libxdmcp)
+       ("libxfixes" ,libxfixes)
+       ("libxfont2" ,libxfont2)
+       ("libxkbfile" ,libxkbfile)
+       ("libxrender" ,libxrender)
+       ("libxres" ,libxres)
+       ("libxshmfence" ,libxshmfence)
+       ("libxt" ,libxt)
+       ("libxv" ,libxv)
+       ("xkbcomp" ,xkbcomp)
+       ("xkeyboard-config" ,xkeyboard-config)
+       ("xtrans" ,xtrans)
+       ("zlib" ,zlib)
+       ;; Inputs for Xephyr
+       ("xcb-util" ,xcb-util)
+       ("xcb-util-image" ,xcb-util-image)
+       ("xcb-util-keysyms" ,xcb-util-keysyms)
+       ("xcb-util-renderutil" ,xcb-util-renderutil)
+       ("xcb-util-wm" ,xcb-util-wm)))
     (native-inputs
      `(("python" ,python-wrapper)
        ("pkg-config" ,pkg-config)))
     (arguments
-     `(#:parallel-tests? #f
-       #:configure-flags
+     `(#:configure-flags
        (list (string-append "--with-xkb-path="
                             (assoc-ref %build-inputs "xkeyboard-config")
                             "/share/X11/xkb")
              (string-append "--with-xkb-output="
                             "/tmp") ; FIXME: This is a bit doubtful; where should
-                                    ; the compiled keyboard maps go?
+                                        ; the compiled keyboard maps go?
              (string-append "--with-xkb-bin-directory="
                             (assoc-ref %build-inputs "xkbcomp")
                             "/bin")
@@ -5407,19 +5310,19 @@ over Xlib, including:
              ;; It's not used anyway, so set it to empty.
              "--with-default-font-path="
 
+             ;; Enable the X security extensions (ssh -X).
+             "--enable-xcsecurity"
+
              ;; The default is to use "uname -srm", which captures the kernel
              ;; version and makes builds non-reproducible.
              "--with-os-name=GNU"
-
-             "--with-os-vendor=GuixSD"    ;not strictly needed, but looks nice
-
+             "--with-os-vendor=Guix"    ; not strictly needed, but looks nice
 
              ;; For the log file, etc.
              "--localstatedir=/var"
-             ;; For sddm
+             ;; For sddm.
              "--enable-kdrive"
              "--enable-xephyr")
-
        #:phases
        (modify-phases %standard-phases
          (add-before 'configure 'pre-configure
@@ -5438,9 +5341,7 @@ over Xlib, including:
                (("^BUILD_DATE=.*$")
                 "BUILD_DATE=19700101\n")
                (("^BUILD_TIME=.*$")
-                "BUILD_TIME=000001\n"))
-
-             #t)))))
+                "BUILD_TIME=000001\n")))))))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg implementation of the X Window System")
     (description
@@ -5462,46 +5363,169 @@ draggable titlebars and borders.")
   (hidden-package
    (package
      (inherit xorg-server)
-     (version "1.20.10")
+     (version "21.1.1")
      (source
-       (origin
-         (method url-fetch)
-         (uri (string-append "mirror://xorg/individual/xserver/"
-                             "xorg-server-" version ".tar.bz2"))
-         (sha256
-          (base32
-           "16bwrf0ag41l7jbrllbix8z6avc5yimga7ihvq4ch3a5hb020x4p"))
-         (patches
-          (list
-           ;; See:
-           ;;   https://lists.fedoraproject.org/archives/list/devel@lists.
-           ;;      fedoraproject.org/message/JU655YB7AM4OOEQ4MOMCRHJTYJ76VFOK/
-           (origin
-             (method url-fetch)
-             (uri (string-append
-                   "http://pkgs.fedoraproject.org/cgit/rpms/xorg-x11-server.git"
-                   "/plain/06_use-intel-only-on-pre-gen4.diff"))
-             (sha256
-              (base32
-               "0mm70y058r8s9y9jiv7q2myv0ycnaw3iqzm7d274410s0ik38w7q"))
-             (file-name "xorg-server-use-intel-only-on-pre-gen4.diff")))))))))
+      (origin
+        (method url-fetch)
+        (uri (string-append "https://xorg.freedesktop.org/archive/individual"
+                            "/xserver/xorg-server-" version ".tar.xz"))
+        (sha256
+         (base32
+          "0md7dqsc5qb30gym06c4zc2cjsdc5ps8nywk1bkcpix05kppybkq"))
+        (patches
+         (list
+          ;; See:
+          ;;   https://lists.fedoraproject.org/archives/list/devel@lists.
+          ;;      fedoraproject.org/message/JU655YB7AM4OOEQ4MOMCRHJTYJ76VFOK/
+          (origin
+            (method url-fetch)
+            (uri (string-append
+                  "http://pkgs.fedoraproject.org/cgit/rpms/xorg-x11-server.git"
+                  "/plain/06_use-intel-only-on-pre-gen4.diff"))
+            (sha256
+             (base32
+              "0mm70y058r8s9y9jiv7q2myv0ycnaw3iqzm7d274410s0ik38w7q"))
+            (file-name "xorg-server-use-intel-only-on-pre-gen4.diff")))))))))
+
+(define-public eglexternalplatform
+  (package
+    (name "eglexternalplatform")
+    (version "1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/NVIDIA/eglexternalplatform")
+         (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")))))
+         (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")))))))))
+    (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 egl-wayland
+  (package
+    (name "egl-wayland")
+    (version "1.1.9")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/NVIDIA/egl-wayland")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1iz86cpc4v7izckrcslllnw0vvvgsxg1sr65yb8s9d0f8xa8djdd"))))
+    (build-system meson-build-system)
+    (native-inputs
+     (list libglvnd ;needed for headers
+           mesa-headers pkg-config))
+    (inputs
+     (list mesa wayland wayland-protocols))
+    (propagated-inputs
+     (list 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 xorg-server-xwayland
-  (package/inherit xorg-server
+  (package
     (name "xorg-server-xwayland")
-    (inputs
-     `(("wayland" ,wayland)
-       ("wayland-protocols" ,wayland-protocols)
-       ,@(package-inputs xorg-server)))
+    (version "21.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://xorg.freedesktop.org/archive/individual"
+                           "/xserver/xwayland-" version ".tar.xz"))
+       (sha256
+        (base32
+         "18pqvg76grbsyxa3mm3j06i1l8cwb28nbn2gcnqpsk7x75zpbhpb"))))
+    (inputs (list font-dejavu
+                  dbus
+                  egl-wayland
+                  eudev
+                  libfontenc
+                  libdrm
+                  libepoxy
+                  libgcrypt
+                  libtirpc
+                  libxfont2
+                  libxkbfile
+                  pixman
+                  wayland
+                  wayland-protocols
+                  xkbcomp
+                  xkeyboard-config
+                  xorgproto
+                  xtrans))
+    (native-inputs (list pkg-config))
+    (build-system meson-build-system)
     (arguments
-     (substitute-keyword-arguments (package-arguments xorg-server)
-       ((#:configure-flags flags)
-        `(cons* "--enable-xwayland" "--disable-xorg"
-                "--disable-docs"    "--disable-devel-docs"
-                "--disable-xvfb"    "--disable-xnest"
-                "--disable-xquartz" "--disable-xwin"
-                ,flags))))
-    (synopsis "Xorg server with wayland backend")))
+     `(#:configure-flags
+       (list "-Dxwayland_eglstream=true"
+             (string-append "-Dxkb_dir="
+                            (assoc-ref %build-inputs "xkeyboard-config")
+                            "/share/X11/xkb")
+             (string-append "-Dxkb_bin_dir="
+                            (assoc-ref %build-inputs "xkbcomp") "/bin")
+             ;; The build system insist on providing a default font path; give
+             ;; that of dejavu, the same used for our fontconfig package.
+             (string-append "-Ddefault_font_path="
+                            (assoc-ref %build-inputs "font-dejavu")
+                            "/share/fonts")
+             "-Dxkb_output_dir=/tmp"
+             (format #f "-Dbuilder_string=\"Build ID: ~a ~a\"" ,name ,version)
+             "-Dxcsecurity=true"
+             "-Ddri3=true"
+             "-Dglamor=true"
+             ;; For the log file, etc.
+             "--localstatedir=/var")
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'patch-/bin/sh
+                    (lambda _
+                      (substitute* (find-files "." "\\.c$")
+                        (("/bin/sh") (which "sh"))))))))
+    (synopsis "Xorg server with Wayland backend")
+    (description "Xwayland is an X server for running X clients under
+Wayland.")
+    (home-page "https://www.x.org/wiki/")
+    (license license:x11)))
 
 
 ;; packages of height 4 in the propagated-inputs tree
@@ -5509,57 +5533,36 @@ draggable titlebars and borders.")
 (define-public libx11
   (package
     (name "libx11")
-    (version "1.6.10")
+    (version "1.7.3.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (string-append
-               "mirror://xorg/individual/lib/libX11-"
-               version
-               ".tar.bz2"))
-        (sha256
-          (base32
-            "09k2pqmqbn2m1bpgl7jfxyqxaaxsnzbnp2bp8ycmqldqi5ln4j5g"))))
-    (replacement libx11/fixed)
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://xorg.freedesktop.org/archive/"
+                           "/individual/lib/libX11-" version ".tar.xz"))
+       (sha256
+        (base32
+         "1289nvs52q9fnp7zl30bdpbvqggnjjb39vy0zll511zvcrr43z9g"))))
     (build-system gnu-build-system)
     (outputs '("out"
-               "doc"))                            ;8 MiB of man pages + XML
+               "doc"))                  ;8 MiB of man pages + XML
     (arguments
      `(#:configure-flags
        (list (string-append "--mandir="
                             (assoc-ref %outputs "doc")
                             "/share/man")
              "--disable-static"
-
-             ;; Disable zero malloc check that fails when cross-compiling.
-             ,@(if (%current-target-system)
-                   '("--disable-malloc0returnsnull")
-                   '()))))
+             ,@(malloc0-flags))))
     (propagated-inputs
-      `(("xorgproto" ,xorgproto)
-        ("libxcb" ,libxcb)))
+     (list xorgproto libxcb))
     (inputs
-      `(("xtrans" ,xtrans)))
+     (list xtrans))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("xorgproto" ,xorgproto)))
+     (list pkg-config xorgproto))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Core X11 protocol client library")
     (description "Xorg Core X11 protocol client library.")
     (license license:x11)))
 
-(define-public libx11/fixed
-  (package
-    (inherit libx11)
-    (version "1.7.1A")
-    (source
-      (origin
-        (method url-fetch)
-        (uri "mirror://xorg/individual/lib/libX11-1.7.1.tar.bz2")
-        (sha256
-          (base32
-            "0isxad59hvdwggbxqqjjjg3zmih9xiq4d9mdsnqbyb2nmbg46kp6"))))))
-
 ;; packages of height 5 in the propagated-inputs tree
 
 (define-public libxcursor
@@ -5567,34 +5570,28 @@ draggable titlebars and borders.")
     (name "libxcursor")
     (version "1.2.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (string-append
-               "mirror://xorg/individual/lib/libXcursor-"
-               version
-               ".tar.bz2"))
-        (sha256
-          (base32
-            "10l7c9fm0jmpkm9ab9dz8r6m1pr87vvgqjnbx1psz50h4pwfklrs"))))
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://xorg/individual/lib/libXcursor-"
+             version
+             ".tar.bz2"))
+       (sha256
+        (base32
+         "10l7c9fm0jmpkm9ab9dz8r6m1pr87vvgqjnbx1psz50h4pwfklrs"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--disable-static")))
     (propagated-inputs
-      `(("libx11" ,libx11)
-        ("libxrender" ,libxrender)
-        ("libxfixes" ,libxfixes)
-        ("xorgproto" ,xorgproto)))
-    (native-inputs
-      `(("pkg-config" ,pkg-config)))
-;; TODO: add XCURSOR_PATH=.../share/icons to profile search paths, so
-;; libXcursor finds cursors installed into a profile.  If we solve bugs
-;; <http://bugs.gnu.org/20255> and <http://bugs.gnu.org/22138>, we can fix
-;; this with a search-path as follows:
-;;
-;;    (native-search-paths
-;;     (list (search-path-specification
-;;            (variable "XCURSOR_PATH")
-;;            (files '("share/icons")))))
+     (list libx11 libxrender libxfixes xorgproto))
+    (native-inputs
+     (list pkg-config))
+    ;; FIXME: The search path below won't be very effective until the bugs
+    ;; <http://bugs.gnu.org/20255> and <http://bugs.gnu.org/22138> are solved.
+    (native-search-paths
+     (list (search-path-specification
+            (variable "XCURSOR_PATH")
+            (files '("share/icons")))))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Cursor management library")
     (description "Xorg Cursor management library.")
@@ -5603,7 +5600,7 @@ draggable titlebars and borders.")
 (define-public libxt
   (package
     (name "libxt")
-    (version "1.2.0")
+    (version "1.2.1")
     (source
       (origin
         (method url-fetch)
@@ -5613,7 +5610,7 @@ draggable titlebars and borders.")
                ".tar.bz2"))
         (sha256
           (base32
-           "0cbqlyssr8aia88c8i7z59z9d0kp3p2hp6683xhz9ndyv8qza7dk"))
+           "0q1x7842r8rcn2m0q4q9f69h4qa097fyizs8brzx5ns62s7w1737"))
         (patches (search-patches "libxt-guix-search-paths.patch"))))
     (build-system gnu-build-system)
     (outputs '("out"
@@ -5624,18 +5621,13 @@ draggable titlebars and borders.")
                             (assoc-ref %outputs "doc")
                             "/share/man")
              "--disable-static"
-             ;; Disable zero malloc check that fails when cross-compiling.
-             ,@(if (%current-target-system)
-                   '("--disable-malloc0returnsnull")
-                   '()))))
+             ,@(malloc0-flags))))
     (propagated-inputs
-      `(("libx11" ,libx11)
-        ("libice" ,libice)
-        ("libsm" ,libsm)))
+      (list libx11 libice libsm))
     (inputs
-      `(("libx11" ,libx11)))
+      (list libx11))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg XToolkit Intrinsics library")
     (description "Xorg XToolkit Intrinsics library.")
@@ -5645,7 +5637,7 @@ draggable titlebars and borders.")
 (define-public libxaw
   (package
     (name "libxaw")
-    (version "1.0.13")
+    (version "1.0.14")
     (source
       (origin
         (method url-fetch)
@@ -5655,19 +5647,16 @@ draggable titlebars and borders.")
                ".tar.bz2"))
         (sha256
           (base32
-            "1kdhxplwrn43d9jp3v54llp05kwx210lrsdvqb6944jp29rhdy4f"))))
+            "13kg59r3086383g1dyhnwxanhp2frssh9062mrgn34nzlf7gkbkn"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--disable-static")))
     (propagated-inputs
-      `(("libxext" ,libxext)
-        ("libxmu" ,libxmu)
-        ("libxpm" ,libxpm)
-        ("libxt" ,libxt)))
+      (list libxext libxmu libxpm libxt))
     (inputs
-      `(("xorgproto" ,xorgproto)))
+      (list xorgproto))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+      (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Xaw library")
     (description
@@ -5689,13 +5678,9 @@ Intrinsics (Xt) Library.")
          "1iv8kdb18n9vk3is5fyh6l40ipq9mkgx8ppj86byf464vr1ais7l"))))
     (build-system gnu-build-system)
     (inputs
-     `(("libxt" ,libxt)
-       ("libxmu" ,libxmu)
-       ("libxext" ,libxext)
-       ("xorgproto" ,xorgproto)))
+     (list libxt libxmu libxext xorgproto))
     (native-inputs
-     `(("bison" ,bison)
-       ("pkg-config" ,pkg-config)))
+     (list bison pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Tab Window Manager for the X Window System")
     (description "Twm is a window manager for the X Window System.
@@ -5719,9 +5704,9 @@ keyboard focus, and user-specified key and pointer button bindings.")
     (arguments
      '(#:configure-flags '("--disable-static")))
     (propagated-inputs
-     `(("libxcb" ,libxcb)))
+     (list libxcb))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://cgit.freedesktop.org/xcb/util/")
     (synopsis "Core XCB utility functions")
     (description
@@ -5757,13 +5742,11 @@ The XCB util module provides the following libraries:
     (arguments
      '(#:configure-flags '("--disable-static")))
     (native-inputs
-     `(("m4" ,m4)
-       ("pkg-config" ,pkg-config)))
+     (list m4 pkg-config))
     (inputs
-     `(("libxcb" ,libxcb)))
+     (list libxcb))
     (propagated-inputs
-     `(("xcb-util-renderutil" ,xcb-util-renderutil)
-       ("xcb-util-image" ,xcb-util-image)))
+     (list xcb-util-renderutil xcb-util-image))
     (home-page "https://cgit.freedesktop.org/xcb/util-cursor/")
     (synopsis "Port of libxcursor")
     (description "XCB-util-cursor is a port of libxcursor.")
@@ -5792,10 +5775,9 @@ The XCB util module provides the following libraries:
      (build-system gnu-build-system)
      (outputs '("out"))
      (inputs
-      `(("util-macros" ,util-macros)
-        ("xcb-proto" ,xcb-proto)))
+      (list util-macros xcb-proto))
      (propagated-inputs
-      `(("libxcb" ,libxcb)))
+      (list libxcb))
      (native-inputs
       `(("autoconf" ,autoconf)
         ("automake" ,automake)
@@ -5841,11 +5823,11 @@ numbers.")
     (arguments
      '(#:configure-flags '("--disable-static")))
     (propagated-inputs
-     `(("libxcb" ,libxcb)))
+     (list libxcb))
     (inputs
-     `(("xcb-util" ,xcb-util)))
+     (list xcb-util))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://cgit.freedesktop.org/xcb/util-image/")
     (synopsis "XCB port of Xlib's XImage and XShmImage")
     (description
@@ -5877,9 +5859,9 @@ The XCB util-image module provides the following library:
     (arguments
      '(#:configure-flags '("--disable-static")))
     (propagated-inputs
-     `(("libxcb" ,libxcb)))
+     (list libxcb))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://cgit.freedesktop.org/xcb/util-keysyms/")
     (synopsis "Standard X constants and conversion to/from keycodes")
     (description
@@ -5911,9 +5893,9 @@ The XCB util-keysyms module provides the following library:
     (arguments
      '(#:configure-flags '("--disable-static")))
     (propagated-inputs
-     `(("libxcb" ,libxcb)))
+     (list libxcb))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://cgit.freedesktop.org/xcb/util-renderutil/")
     (synopsis "Convenience functions for the Render extension")
     (description
@@ -5945,10 +5927,9 @@ The XCB util-renderutil module provides the following library:
     (arguments
      '(#:configure-flags '("--disable-static")))
     (propagated-inputs
-     `(("libxcb" ,libxcb)))
+     (list libxcb))
     (native-inputs
-     `(("m4" ,m4)
-       ("pkg-config" ,pkg-config)))
+     (list m4 pkg-config))
     (home-page "https://cgit.freedesktop.org/xcb/util-wm/")
     (synopsis "Client and window-manager helpers for ICCCM and EWMH")
     (description
@@ -5979,12 +5960,11 @@ The XCB util-wm module provides the following libraries:
                 "1fdbakx59vyh474skjydj1bbglpby3y03nl7mxn0z9v8gdhqz6yy"))))
     (build-system gnu-build-system)
     (inputs
-     `(("xorgproto" ,xorgproto)
-       ("libx11" ,libx11)))
+     (list xorgproto libx11))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (propagated-inputs
-     `(("xauth" ,xauth)))
+     (list xauth))
     (home-page "https://www.x.org/")
     (synopsis "Commands to start the X Window server")
     (description
@@ -6012,13 +5992,11 @@ user-friendly mechanism to start the X server.")
             "0i653s8g25cc0mimkwid9366bqkbyhdyjhckx7bw77j20hzrkfid"))))
     (build-system gnu-build-system)
     (propagated-inputs
-      `(("libxext" ,libxext)
-        ("libxmu" ,libxmu)
-        ("libxt" ,libxt)))
+      (list libxext libxmu libxt))
     (inputs
-     `(("libx11" ,libx11)))
+     (list libx11))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Xaw3d library")
     (description
@@ -6026,6 +6004,27 @@ user-friendly mechanism to start the X server.")
 Intrinsics (Xt) Library.")
     (license license:x11)))
 
+(define-public libxpresent
+  (package
+    (name "libxpresent")
+    (version "1.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri "mirror://xorg/individual/lib/libXpresent-1.0.0.tar.bz2")
+              (sha256
+               (base32
+                "12kvvar3ihf6sw49h6ywfdiwmb8i1gh8wasg1zhzp6hs2hay06n1"))))
+    (inputs
+     (list libx11 xorgproto libxext libxfixes libxrandr))
+    (native-inputs
+     (list pkg-config))
+    (build-system gnu-build-system)
+    (home-page "https://gitlab.freedesktop.org/xorg/lib/libxpresent")
+    (synopsis "Xlib-compatible API for the Present extension")
+    (description "This package provides a Xlib-based library for the X Present
+Extension.")
+    (license license:x11)))
+
 (define-public xclock
   (package
     (name "xclock")
@@ -6043,14 +6042,14 @@ Intrinsics (Xt) Library.")
        (list (string-append "--with-appdefaultdir="
                             %output ,%app-defaults-dir))))
     (inputs
-     `(("libxmu" ,libxmu)
-       ("libx11" ,libx11)
-       ("libxaw" ,libxaw)
-       ("libxrender" ,libxrender)
-       ("libxft" ,libxft)
-       ("libxkbfile" ,libxkbfile)))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list libxmu
+           libx11
+           libxaw
+           libxrender
+           libxft
+           libxkbfile))
+    (native-inputs
+     (list pkg-config))
     (home-page "https://gitlab.freedesktop.org/xorg/app/xclock")
     (synopsis "Analog / digital clock for X")
     (description "The xclock program displays the time in analog or digital
@@ -6077,9 +6076,9 @@ form.")
        (list (string-append "--with-appdefaultdir="
                             %output ,%app-defaults-dir))))
     (inputs
-     `(("libxaw" ,libxaw)))
+     (list libxaw))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Display or capture a magnified part of a X11 screen")
     (description "Xmag displays and captures a magnified snapshot of a portion
@@ -6106,9 +6105,9 @@ of an X11 screen.")
        (list (string-append "--with-appdefaultdir="
                             %output ,%app-defaults-dir))))
     (inputs
-     `(("libxaw" ,libxaw)))
+     (list libxaw))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Displays a message or query in a window")
     (description
@@ -6120,7 +6119,7 @@ to answer a question.  Xmessage can also exit after a specified time.")
 (define-public xterm
   (package
     (name "xterm")
-    (version "368")
+    (version "370")
     (source
      (origin
        (method url-fetch)
@@ -6130,7 +6129,7 @@ to answer a question.  Xmessage can also exit after a specified time.")
              (string-append "ftp://ftp.invisible-island.net/xterm/"
                             "xterm-" version ".tgz")))
        (sha256
-        (base32 "04p7db3j3n5dk1vvlas4231rh6jgr4qi6ppvpbq9xd5n62cidx9g"))))
+        (base32 "10lc72spa69n9d7zg9nwhgwz70qzidp5i17jgw3lq3qg1a25sg4n"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts"
@@ -6150,7 +6149,7 @@ to answer a question.  Xmessage can also exit after a specified time.")
                  (("=xterm")
                   (string-append "=" out "/bin/xterm")))))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (inputs
      `(("luit" ,luit)
        ("libXft" ,libxft)
@@ -6176,7 +6175,7 @@ programs that cannot use the window system directly.")
 (define-public perl-x11-xcb
   (package
     (name "perl-x11-xcb")
-    (version "0.18")
+    (version "0.19")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -6184,7 +6183,7 @@ programs that cannot use the window system directly.")
                     "X11-XCB-" version ".tar.gz"))
               (sha256
                (base32
-                "1cjpghw7cnackw20lbd7yzm222kz5bnrwz52f8ay24d1f4pwrnxf"))))
+                "1rn8g0yy82v5zp12rhxic332dvqs63l7mykg028ngvccs7rllipp"))))
     (build-system perl-build-system)
     (arguments
      '(;; Disable parallel build to prevent a race condition.
@@ -6195,8 +6194,7 @@ programs that cannot use the window system directly.")
            (lambda _
              (setenv "PERL5LIB"
                      (string-append (getcwd) ":"
-                                    (getenv "PERL5LIB")))
-             #t))
+                                    (getenv "PERL5LIB")))))
          (add-before 'build 'patch-Makefile
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "Makefile"
@@ -6204,29 +6202,22 @@ programs that cannot use the window system directly.")
                ;; an error such as "XCB.so: undefined symbol: xcb_xinerama_id"
                (("^LDDLFLAGS = ")
                 (string-append "LDDLFLAGS = "
-                               "-lxcb -lxcb-util -lxcb-xinerama -lxcb-icccm ")))
-             #t)))
+                               "-lxcb -lxcb-util -lxcb-xinerama -lxcb-icccm "))))))
        ;; Tests require a running X11 server.
        #:tests? #f))
     (native-inputs
-     `(("perl-extutils-depends" ,perl-extutils-depends)
-       ("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig)
-       ("perl-module-install" ,perl-module-install)
-       ("perl-test-deep" ,perl-test-deep)
-       ("perl-test-exception" ,perl-test-exception)))
+     (list perl-extutils-depends perl-extutils-pkgconfig
+           perl-module-install perl-test-deep perl-test-exception))
     (propagated-inputs
-     `(("perl-data-dump" ,perl-data-dump)
-       ("perl-mouse" ,perl-mouse)
-       ("perl-mousex-nativetraits" ,perl-mousex-nativetraits)
-       ("perl-try-tiny" ,perl-try-tiny)
-       ("perl-xml-descent" ,perl-xml-descent)
-       ("perl-xml-simple" ,perl-xml-simple)
-       ("perl-xs-object-magic" ,perl-xs-object-magic)))
+     (list perl-data-dump
+           perl-mouse
+           perl-mousex-nativetraits
+           perl-try-tiny
+           perl-xml-descent
+           perl-xml-simple
+           perl-xs-object-magic))
     (inputs
-     `(("libxcb" ,libxcb)
-       ("xcb-proto" ,xcb-proto)
-       ("xcb-util" ,xcb-util)
-       ("xcb-util-wm" ,xcb-util-wm)))
+     (list libxcb xcb-proto xcb-util xcb-util-wm))
     (home-page "https://metacpan.org/release/X11-XCB")
     (synopsis "Perl bindings for libxcb")
     (description
@@ -6276,10 +6267,9 @@ perl programs to display windows and graphics on X11 servers.")
         (base32 "1x3kvic52jgp2mvd5wzrqrprqi82cdk8l4075v8b33ksvj9mjqiw"))))
     (build-system perl-build-system)
     (native-inputs
-     `(("perl-encode-hanextra" ,perl-encode-hanextra)
-       ("perl-module-util" ,perl-module-util)))
+     (list perl-encode-hanextra perl-module-util))
     (propagated-inputs
-     `(("perl-x11-protocol" ,perl-x11-protocol)))
+     (list perl-x11-protocol))
     (home-page "https://metacpan.org/release/X11-Protocol-Other")
     (synopsis "Miscellaneous helpers for @code{X11::Protocol} connections")
     (description
@@ -6305,16 +6295,14 @@ Conventions Manual) and some of the @dfn{EWMH}
        (file-name (git-file-name name version))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("autoconf" ,autoconf)
-       ("automake" ,automake)))
+     (list pkg-config autoconf automake))
     (inputs
-     `(("libX11" ,libx11)
-       ("libXext" ,libxext)
-       ("libXcomposite" ,libxcomposite)
-       ("libXfixes" ,libxfixes)
-       ("libXdamage" ,libxdamage)
-       ("libXrender" ,libxrender)))
+     (list libx11
+           libxext
+           libxcomposite
+           libxfixes
+           libxdamage
+           libxrender))
     (synopsis "X Compositing manager using RENDER")
     (description "xcompmgr is a sample compositing manager for X servers
 supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE extensions.  It enables
@@ -6326,15 +6314,16 @@ basic eye-candy effects.")
 (define-public xpra
   (package
     (name "xpra")
-    (version "4.2.1")
+    (version "4.3.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://www.xpra.org/src/xpra-"
-                           version ".tar.gz"))
+                           version ".tar.xz"))
        (sha256
-        (base32 "0gqdcw5cfk919jk8g0g4xjxbsvr5j9gskn8q3cmrz388pvfvm8x7"))
-       (patches (search-patches "xpra-4.2-systemd-run.patch"))))
+        (base32 "1adp790v9lq3v9pnkyf4skv69n2pd7fjqikzw145swhq9aginh5z"))
+       (patches (search-patches "xpra-4.2-systemd-run.patch"
+                                "xpra-4.2-install_libs.patch"))))
     (build-system python-build-system)
     ;; see also http://xpra.org/trac/wiki/Dependencies
     (inputs `(("bash-minimal" ,bash-minimal)    ; for wrap-program
@@ -6350,6 +6339,7 @@ basic eye-candy effects.")
               ("libxcomposite" ,libxcomposite)
               ("libxdamage" ,libxdamage)
               ("libxext" ,libxext)
+              ("libxres" ,libxres)
               ("gtk+" ,gtk+)
               ("python-pycairo" ,python-pycairo)
               ("python-pygobject" ,python-pygobject)
@@ -6372,9 +6362,7 @@ basic eye-candy effects.")
               ("dbus" ,dbus)               ; For dbus-launch command.
               ("python-lz4" ,python-lz4) ; Faster compression than zlib.
               ("python-netifaces" ,python-netifaces)))
-    (native-inputs `(("pkg-config" ,pkg-config)
-                     ("pandoc" ,pandoc)
-                     ("python-cython" ,python-cython)))
+    (native-inputs (list pkg-config pandoc python-cython))
     (arguments
      `(#:configure-flags '("--without-Xdummy"
 						   "--without-Xdummy_wrapper"
@@ -6387,8 +6375,12 @@ basic eye-candy effects.")
                                         ; they seem to require python2.
        #:phases
        (modify-phases %standard-phases
-         ;; built by 'install phase
-         (delete 'build)
+         ;; Must pass the same flags as 'install, otherwise enabled modules may
+         ;; not be built.
+         (replace 'build
+           (lambda* (#:key configure-flags #:allow-other-keys)
+             (apply invoke (append (list "python" "setup.py" "build")
+                                   configure-flags))))
          (add-before 'install 'fix-paths
            (lambda* (#:key inputs outputs #:allow-other-keys)
              ;; Fix binary paths.
@@ -6423,7 +6415,8 @@ basic eye-candy effects.")
                ;; The trailing -- is intentional, so we only replace it inside
                ;; a command line.
                (("dbus-launch --")
-                (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch --")))
+                (string-append (search-input-file inputs "/bin/dbus-launch")
+                               " --")))
              ;; /run/user does not exist on guix system
              (substitute* "./xpra/scripts/config.py"
                (("socket-dir.*: \"\",")
@@ -6465,11 +6458,7 @@ X11 servers, Windows, or macOS.")
          "1p7sl0js47ja4glmax93ci59h02ipqw3wxkh4f1qgaz5qjy9nn9l"))))
     (build-system gnu-build-system)
     (inputs
-     `(("anthy" ,anthy)
-       ("libedit" ,libedit)
-       ("libxft" ,libxft)
-       ("m17n-lib" ,m17n-lib)
-       ("ncurses" ,ncurses)))
+     (list anthy libedit libxft m17n-lib ncurses))
     (native-inputs
      `(("emacs" ,emacs-minimal)
        ("intltool" ,intltool)
@@ -6484,7 +6473,8 @@ X11 servers, Windows, or macOS.")
        (list "--with-anthy-utf8"
              (string-append "--with-lispdir=" %output "/share/emacs")
              ;; Set proper runpath
-             (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))
+             (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")
+             "CFLAGS=-O2 -g -fcommon")
        #:phases
        (modify-phases %standard-phases
          ;; Set path of uim-el-agent and uim-el-helper-agent executables
@@ -6536,6 +6526,10 @@ and embedded platforms.")
      `(("gtk" ,gtk+)
        ("gtk" ,gtk+-2)
        ,@(package-inputs uim)))
+    (arguments
+     (substitute-keyword-arguments (package-arguments uim)
+       ((#:configure-flags configure-flags)
+        (append configure-flags (list "CFLAGS=-O2 -g -fcommon")))))
     (synopsis "Multilingual input method framework (GTK+ support)")))
 
 (define-public uim-qt
@@ -6549,7 +6543,8 @@ and embedded platforms.")
      (substitute-keyword-arguments (package-arguments uim)
        ((#:configure-flags configure-flags)
         (append configure-flags (list "--with-qt5-immodule"
-                                      "--with-qt5")))))
+                                      "--with-qt5"
+                                      "CPPFLAGS=-fcommon")))))
     (synopsis "Multilingual input method framework (Qt support)")))
 
 (define-public keynav
@@ -6568,15 +6563,15 @@ and embedded platforms.")
          "1gizjhji3yspxxxvb90js3z1bv18rbf5phxg8rciixpj3cccff8z"))))
     (build-system gnu-build-system)
     (inputs
-     `(("cairo" ,cairo)
-       ("glib" ,glib)
-       ("libx11" ,libx11)
-       ("libxext" ,libxext)
-       ("libxinerama" ,libxinerama)
-       ("libxtst" ,libxtst)
-       ("xdotool" ,xdotool)))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list cairo
+           glib
+           libx11
+           libxext
+           libxinerama
+           libxtst
+           xdotool))
+    (native-inputs
+     (list pkg-config))
     (arguments
      `(#:tests? #f ;No tests.
        #:phases
@@ -6629,10 +6624,8 @@ mouse click.  You can do everything mouse can do with a keyboard.")
                 "0rya202y87dwl35jnmq8hs3arzdrv5z4vf1xmi0py4rnmhdpszaw"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (inputs `(("libxcomposite" ,libxcomposite)
-              ("libxdamage" ,libxdamage)
-              ("libxrender" ,libxrender)))
+     (list pkg-config))
+    (inputs (list libxcomposite libxdamage libxrender))
     (synopsis "Set the transparency of X11 windows")
     (description "@command{transset} is a simple program for X servers
 supporting the XFIXES, DAMAGE, and COMPOSITE extensions.  It lets the
@@ -6640,9 +6633,6 @@ user set the transparency on a window.")
     (home-page "https://gitlab.freedesktop.org/xorg/app/transset")
     (license license:x11)))
 
-(define-public transset-df
-  (deprecated-package "transset-df" transset))
-
 (define-public bdfresize
   (package
     (name "bdfresize")
@@ -6678,9 +6668,7 @@ user set the transparency on a window.")
               (file-name (git-file-name name version))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("autoconf" ,autoconf)
-       ("automake" ,automake)))
+     (list pkg-config autoconf automake))
     (synopsis "Resize fonts in the BDF format")
     (description
      "This package provides @command{bdfresize}, a command to magnify or
@@ -6692,7 +6680,7 @@ output.")
 (define-public console-setup
   (package
     (name "console-setup")
-    (version "1.205")
+    (version "1.207")
     (source
      (origin
        (method git-fetch)
@@ -6700,7 +6688,7 @@ output.")
              (url "https://salsa.debian.org/installer-team/console-setup.git")
              (commit version)))
        (sha256
-        (base32 "0sf560s14firyvzpgww79ydzc6p3jvjkbvsi8zsr5m3hr833w0ba"))
+        (base32 "0fj93apsknx3lzbi2025pzr19q1gwnim8g4007aqqkhidc1msgx5"))
        (file-name (git-file-name name version))))
     (build-system gnu-build-system)
     (arguments
@@ -6719,8 +6707,7 @@ output.")
              (substitute* '("Keyboard/ckbcomp")
                (("\"cat ")
                 (string-append "\"" (which "cat")
-                               " ")))
-             #t))
+                               " ")))))
          (add-before 'build 'make-doubled-bdfs
            (lambda* (#:key native-inputs inputs #:allow-other-keys)
              (invoke "make" "-C" "Fonts"
@@ -6739,13 +6726,13 @@ output.")
                                                  "bash")
                                       "/bin/bash"))))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("bdftopcf" ,bdftopcf)
-       ("bdfresize" ,bdfresize)
-       ("sharutils" ,sharutils)         ; for 'uuencode'
-       ("perl" ,perl)))
+     (list pkg-config
+           bdftopcf
+           bdfresize
+           sharutils ; for 'uuencode'
+           perl))
     (inputs
-     `(("perl" ,perl)))                 ; used by 'ckbcomp'
+     (list perl))                 ; used by 'ckbcomp'
     (synopsis "Set up the Linux console font and keyboard")
     (description
      "console-setup provides the console with the same keyboard
@@ -6782,10 +6769,9 @@ Thai).")
         (base32 "0858wn2p14bxpv9lvaz2bz1rk6zk0g8zgxf8iy595m8fqv4q2fya"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (inputs
-     `(("libpng" ,libpng)
-       ("libxcursor" ,libxcursor)))
+     (list libpng libxcursor))
     (synopsis "Decode X cursors")
     (description
      "xcur2png is a program decomposes an X cursor into a set of PNG images and
@@ -6826,7 +6812,7 @@ changed.")
                (base32
                 "16jqparb33lfq4cvd9l3jgd7fq86fk9gv2ixc8vgqibid6cnhi0x"))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (inputs
      `(("glib" ,glib)
        ("gettext" ,gettext-minimal)
@@ -6903,11 +6889,10 @@ box, and a calendar.  It uses GTK+, and will match your desktop theme.")
                (install-file "xvfb-run" bin)
                (install-file "xvfb-run.1" man)))))))
     (inputs
-     `(("util-linux" ,util-linux)       ; for getopt
-       ("xauth" ,xauth)
-       ("xorg-server" ,xorg-server)))
+     (list util-linux ; for getopt
+           xauth xorg-server))
     (native-inputs
-     `(("xterm" ,xterm)))               ; for the test
+     (list xterm))               ; for the test
     ;; This script is not part of the upstream xorg-server.  It is provided only
     ;; as a patch added to Debian's package.
     (home-page "https://packages.debian.org/sid/xorg-server-source")
@@ -6946,9 +6931,7 @@ the server and cleaning up before returning the exit status of the command.")
        (modify-phases %standard-phases
          (delete 'configure))))
     (inputs
-     `(("imlib2" ,imlib2)
-       ("libx11" ,libx11)
-       ("libxinerama" ,libxinerama)))
+     (list imlib2 libx11 libxinerama))
     (home-page "https://github.com/ttzhou/setroot")
     (synopsis "Simple X background setter inspired by imlibsetroot and feh")
     (description "Setroot is a lightweight X background setter with feh's