summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-04-28 16:24:46 +0200
committerLudovic Courtès <ludo@gnu.org>2022-04-28 16:24:46 +0200
commit284fa7264963acc5d114ef5d54c347126b1654ba (patch)
tree3e5360fcc81b6d0dce76a65aca60cf8528f2931f /gnu/packages
parent12c9da35389dfba86ae0d863132a6b2c4374205a (diff)
parent882cacc1bb5be0df334dd7ce55b385a3a1678728 (diff)
downloadguix-284fa7264963acc5d114ef5d54c347126b1654ba.tar.gz
Merge branch 'master' into staging
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/admin.scm94
-rw-r--r--gnu/packages/algebra.scm8
-rw-r--r--gnu/packages/audio.scm45
-rw-r--r--gnu/packages/autotools.scm14
-rw-r--r--gnu/packages/aux-files/linux-libre/5.17-arm.conf (renamed from gnu/packages/aux-files/linux-libre/5.16-arm.conf)164
-rw-r--r--gnu/packages/aux-files/linux-libre/5.17-arm64.conf (renamed from gnu/packages/aux-files/linux-libre/5.16-arm64.conf)220
-rw-r--r--gnu/packages/aux-files/linux-libre/5.17-i686.conf (renamed from gnu/packages/aux-files/linux-libre/5.16-i686.conf)184
-rw-r--r--gnu/packages/aux-files/linux-libre/5.17-x86_64.conf (renamed from gnu/packages/aux-files/linux-libre/5.16-x86_64.conf)203
-rw-r--r--gnu/packages/avr-xyz.scm97
-rw-r--r--gnu/packages/backup.scm122
-rw-r--r--gnu/packages/bioconductor.scm1115
-rw-r--r--gnu/packages/bioinformatics.scm647
-rw-r--r--gnu/packages/bittorrent.scm5
-rw-r--r--gnu/packages/bootloaders.scm49
-rw-r--r--gnu/packages/browser-extensions.scm4
-rw-r--r--gnu/packages/c.scm60
-rw-r--r--gnu/packages/ccache.scm6
-rw-r--r--gnu/packages/certs.scm9
-rw-r--r--gnu/packages/chromium.scm81
-rw-r--r--gnu/packages/commencement.scm4
-rw-r--r--gnu/packages/compression.scm6
-rw-r--r--gnu/packages/cpp.scm98
-rw-r--r--gnu/packages/cran.scm714
-rw-r--r--gnu/packages/crates-io.scm462
-rw-r--r--gnu/packages/curl.scm28
-rw-r--r--gnu/packages/datastructures.scm4
-rw-r--r--gnu/packages/dav.scm12
-rw-r--r--gnu/packages/diffoscope.scm8
-rw-r--r--gnu/packages/django.scm12
-rw-r--r--gnu/packages/dns.scm1
-rw-r--r--gnu/packages/docker.scm2
-rw-r--r--gnu/packages/education.scm138
-rw-r--r--gnu/packages/electronics.scm3
-rw-r--r--gnu/packages/emacs-xyz.scm272
-rw-r--r--gnu/packages/emulators.scm2
-rw-r--r--gnu/packages/engineering.scm430
-rw-r--r--gnu/packages/fcitx5.scm59
-rw-r--r--gnu/packages/file-systems.scm5
-rw-r--r--gnu/packages/finance.scm59
-rw-r--r--gnu/packages/fontutils.scm9
-rw-r--r--gnu/packages/fpga.scm3
-rw-r--r--gnu/packages/freedesktop.scm4
-rw-r--r--gnu/packages/freeipmi.scm10
-rw-r--r--gnu/packages/game-development.scm3
-rw-r--r--gnu/packages/games.scm258
-rw-r--r--gnu/packages/genimage.scm10
-rw-r--r--gnu/packages/geo.scm6
-rw-r--r--gnu/packages/gnome-xyz.scm4
-rw-r--r--gnu/packages/gnome.scm114
-rw-r--r--gnu/packages/gnucash.scm12
-rw-r--r--gnu/packages/gnunet.scm79
-rw-r--r--gnu/packages/gnuzilla.scm20
-rw-r--r--gnu/packages/golang.scm13
-rw-r--r--gnu/packages/gps.scm4
-rw-r--r--gnu/packages/graph.scm10
-rw-r--r--gnu/packages/gstreamer.scm4
-rw-r--r--gnu/packages/gtk.scm46
-rw-r--r--gnu/packages/guile-xyz.scm51
-rw-r--r--gnu/packages/haskell-apps.scm5
-rw-r--r--gnu/packages/haskell-web.scm39
-rw-r--r--gnu/packages/idris.scm35
-rw-r--r--gnu/packages/image-processing.scm109
-rw-r--r--gnu/packages/image-viewers.scm142
-rw-r--r--gnu/packages/irc.scm5
-rw-r--r--gnu/packages/java.scm15
-rw-r--r--gnu/packages/kde-frameworks.scm4
-rw-r--r--gnu/packages/kde-multimedia.scm4
-rw-r--r--gnu/packages/kde-pim.scm9
-rw-r--r--gnu/packages/kde.scm9
-rw-r--r--gnu/packages/linux.scm564
-rw-r--r--gnu/packages/lisp-xyz.scm562
-rw-r--r--gnu/packages/lisp.scm8
-rw-r--r--gnu/packages/llvm.scm245
-rw-r--r--gnu/packages/lsof.scm3
-rw-r--r--gnu/packages/machine-learning.scm8
-rw-r--r--gnu/packages/mail.scm118
-rw-r--r--gnu/packages/mate.scm4
-rw-r--r--gnu/packages/maths.scm211
-rw-r--r--gnu/packages/mercury.scm14
-rw-r--r--gnu/packages/messaging.scm24
-rw-r--r--gnu/packages/monitoring.scm4
-rw-r--r--gnu/packages/mp3.scm11
-rw-r--r--gnu/packages/mpd.scm4
-rw-r--r--gnu/packages/mpi.scm90
-rw-r--r--gnu/packages/music.scm24
-rw-r--r--gnu/packages/ncdu.scm7
-rw-r--r--gnu/packages/ncurses.scm11
-rw-r--r--gnu/packages/networking.scm6
-rw-r--r--gnu/packages/ntp.scm6
-rw-r--r--gnu/packages/ocaml.scm1154
-rw-r--r--gnu/packages/package-management.scm21
-rw-r--r--gnu/packages/pantheon.scm16
-rw-r--r--gnu/packages/parallel.scm22
-rw-r--r--gnu/packages/password-utils.scm52
-rw-r--r--gnu/packages/patches/clang-14.0-libc-search-path.patch94
-rw-r--r--gnu/packages/patches/efivar-211.patch86
-rw-r--r--gnu/packages/patches/ganeti-haskell-compat.patch18
-rw-r--r--gnu/packages/patches/ganeti-pyyaml-compat.patch41
-rw-r--r--gnu/packages/patches/ganeti-sphinx-compat.patch24
-rw-r--r--gnu/packages/patches/gtk-introspection-test.patch22
-rw-r--r--gnu/packages/patches/hwloc-1-test-btrfs.patch54
-rw-r--r--gnu/packages/patches/idris-build-with-haskeline-0.8.patch85
-rw-r--r--gnu/packages/patches/idris-build-with-megaparsec-9.patch27
-rw-r--r--gnu/packages/patches/idris-disable-test.patch19
-rw-r--r--gnu/packages/patches/idris-test-ffi008.patch26
-rw-r--r--gnu/packages/patches/openjdk-15-xcursor-no-dynamic.patch72
-rw-r--r--gnu/packages/patches/pigx-rnaseq-no-citeproc.patch33
-rw-r--r--gnu/packages/patches/pigx-sars-cov2-ww-no-citeproc.patch33
-rw-r--r--gnu/packages/patches/pigx-scrnaseq-no-citeproc.patch33
-rw-r--r--gnu/packages/patches/python-robotframework-atest.patch61
-rw-r--r--gnu/packages/patches/python-robotframework-source-date-epoch.patch153
-rw-r--r--gnu/packages/patches/python-robotframework-ug2html.patch57
-rw-r--r--gnu/packages/patches/python-w3lib-fix-test-failure.patch60
-rw-r--r--gnu/packages/patches/rust-ndarray-0.14-remove-blas-src.patch25
-rw-r--r--gnu/packages/patches/tremc-fix-decodestring.patch25
-rw-r--r--gnu/packages/patches/u-boot-allow-disabling-openssl.patch107
-rw-r--r--gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch40
-rw-r--r--gnu/packages/patches/webkitgtk-bind-all-fonts.patch25
-rw-r--r--gnu/packages/patches/webkitgtk-canonicalize-paths.patch66
-rw-r--r--gnu/packages/patches/xterm-370-explicit-xcursor.patch37
-rw-r--r--gnu/packages/patches/zig-disable-libc-note-test.patch31
-rw-r--r--gnu/packages/pciutils.scm7
-rw-r--r--gnu/packages/pikchr.scm59
-rw-r--r--gnu/packages/plotutils.scm4
-rw-r--r--gnu/packages/python-check.scm54
-rw-r--r--gnu/packages/python-science.scm65
-rw-r--r--gnu/packages/python-web.scm122
-rw-r--r--gnu/packages/python-xyz.scm616
-rw-r--r--gnu/packages/radio.scm53
-rw-r--r--gnu/packages/search.scm13
-rw-r--r--gnu/packages/security-token.scm15
-rw-r--r--gnu/packages/shells.scm12
-rw-r--r--gnu/packages/sml.scm12
-rw-r--r--gnu/packages/statistics.scm124
-rw-r--r--gnu/packages/syndication.scm6
-rw-r--r--gnu/packages/task-management.scm73
-rw-r--r--gnu/packages/terminals.scm8
-rw-r--r--gnu/packages/text-editors.scm53
-rw-r--r--gnu/packages/tls.scm57
-rw-r--r--gnu/packages/uml.scm4
-rw-r--r--gnu/packages/version-control.scm30
-rw-r--r--gnu/packages/video.scm49
-rw-r--r--gnu/packages/vim.scm34
-rw-r--r--gnu/packages/virtualization.scm153
-rw-r--r--gnu/packages/web-browsers.scm4
-rw-r--r--gnu/packages/web.scm305
-rw-r--r--gnu/packages/webkit.scm382
-rw-r--r--gnu/packages/wm.scm24
-rw-r--r--gnu/packages/xfce.scm320
-rw-r--r--gnu/packages/xml.scm18
-rw-r--r--gnu/packages/xorg.scm7
-rw-r--r--gnu/packages/zig.scm7
152 files changed, 9666 insertions, 4049 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 8331c42f8b..a200050d97 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -47,6 +47,7 @@
 ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
 ;;; Copyright © 2021 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -109,6 +110,7 @@
   #:use-module (gnu packages groff)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
+  #:use-module (gnu packages guile-xyz)
   #:use-module (gnu packages hurd)
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
@@ -266,7 +268,7 @@ the percentage of copied data.  It can also show estimated time and throughput,
 and provides a \"top-like\" mode (monitoring).")
     (license license:gpl3+)))
 
-(define-public shepherd
+(define-public shepherd-0.8
   (package
     (name "shepherd")
     (version "0.8.1")
@@ -307,14 +309,49 @@ interface and is based on GNU Guile.")
     (license license:gpl3+)
     (home-page "https://www.gnu.org/software/shepherd/")))
 
-(define-public guile2.2-shepherd
+;; Update on the next rebuild cycle.
+(define-public shepherd shepherd-0.8)
+
+(define-public shepherd-0.9
   (package
     (inherit shepherd)
+    (version "0.9.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/shepherd/shepherd-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1rdwhrcibs2ly4hjwwb5kmzb133ccjmrfvb0a70cqkv9jy1pg061"))))
+    (arguments
+     (list #:configure-flags #~'("--localstatedir=/var")
+           #:make-flags #~'("GUILE_AUTO_COMPILE=0")
+           #:phases (if (%current-target-system)
+                        #~(modify-phases %standard-phases
+                            (add-before 'configure 'set-fibers-directory
+                              (lambda _
+                                ;; When cross-compiling, refer to the target
+                                ;; Fibers, not the native one.
+                                (substitute* '("herd.in" "shepherd.in")
+                                  (("%FIBERS_SOURCE_DIRECTORY%")
+                                   #$(file-append
+                                      (this-package-input "guile-fibers")
+                                      "/share/guile/site/3.0"))
+                                  (("%FIBERS_OBJECT_DIRECTORY%")
+                                   #$(file-append
+                                      (this-package-input "guile-fibers")
+                                      "/lib/guile/3.0/site-ccache"))))))
+                        #~%standard-phases)))
+    (native-inputs (list pkg-config guile-3.0
+                         guile-fibers-1.1))       ;for cross-compilation
+    (inputs (list guile-3.0 guile-fibers-1.1))))
+
+(define-public guile2.2-shepherd
+  (package
+    (inherit shepherd-0.9)
     (name "guile2.2-shepherd")
-    (native-inputs
-     (list pkg-config guile-2.2))
-    (inputs
-     (list guile-2.2 guile2.2-readline))))
+    (native-inputs (list pkg-config guile-2.2))
+    (inputs (list guile-2.2 guile2.2-fibers))))
 
 (define-public guile2.0-shepherd
   (package
@@ -2706,15 +2743,15 @@ provides the following commands:
     (build-system python-build-system)
     (propagated-inputs
      (list ansible-core))
-    ;; The Ansible collections are found by ansible-core via PYTHONPATH; the
-    ;; following search path ensures that they are found even when Python is
-    ;; not present in the profile.
+    ;; The Ansible collections are found by ansible-core via the Python search
+    ;; path; the following search path ensures that they are found even when
+    ;; Python is not present in the profile.
     (native-search-paths
      ;; XXX: Attempting to use (package-native-search-paths python)
      ;; here would cause an error about python being an unbound
      ;; variable in the tests/cpan.scm test.
      (list (search-path-specification
-            (variable "PYTHONPATH")
+            (variable "GUIX_PYTHONPATH")
             (files (list "lib/python3.9/site-packages")))))
     (home-page "https://www.ansible.com/")
     (synopsis "Radically simple IT automation")
@@ -3017,10 +3054,17 @@ displays a table of current bandwidth usage by pairs of hosts.")
      (list openssl libgcrypt))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags
+     `(#:configure-flags
        (list "--localstatedir=/var"
              (string-append "--with-pkgconfigdir="
-                            (assoc-ref %outputs "out") "/lib/pkgconfig"))
+                            (assoc-ref %outputs "out") "/lib/pkgconfig")
+             (string-append "--with-libgcrypt-prefix="
+                            (assoc-ref %build-inputs "libgcrypt"))
+             ,@(if (%current-target-system)
+                 ;; Assume yes on pipes when cross compiling.
+                 `("ac_cv_file__dev_spx=yes"
+                   "x_ac_cv_check_fifo_recvfd=yes")
+                 '()))
        #:phases
        (modify-phases %standard-phases
          ;; XXX Many test series fail.  Some might be fixable, others do no-no
@@ -3690,6 +3734,32 @@ used in screenshots to show other users what operating system or distribution
 you are running, what theme or icon set you are using, etc.")
     (license license:expat)))
 
+(define-public hyfetch
+  (package
+    (name "hyfetch")
+    (version "1.0.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "HyFetch" version))
+        (sha256
+          (base32 "1bfkycdhsyzkk6q24gdy1xwvyz0rvkr7xk2khbn74b3nk6kp83r2"))))
+    (build-system python-build-system)
+    (inputs (list python-hypy-utils python-typing-extensions))
+    (arguments `(#:phases (modify-phases %standard-phases
+                            (add-before 'build 'set-HOME
+                              (lambda _  ;; Tries to set files in .config
+                                (setenv "HOME" "/tmp"))))))
+    (home-page "https://github.com/hykilpikonna/HyFetch")
+    (synopsis "@code{neofetch} with pride flags <3")
+    (description "HyFetch is a command-line system information tool fork of
+@code{neofetch}.  HyFetch displays information about your system next to your
+OS logo in ASCII representation.  The ASCII representation is then colored in
+the pattern of the pride flag of your choice.  The main purpose of HyFetch is to
+be used in screenshots to show other users what operating system or distribution
+you are running, what theme or icon set you are using, etc.")
+    (license license:expat)))
+
 (define-public screenfetch
   (package
     (name "screenfetch")
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 439b3b2946..72b1c8da27 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -226,7 +226,7 @@ the real span of the lattice.")
 (define-public pari-gp
   (package
     (name "pari-gp")
-    (version "2.13.3")
+    (version "2.13.4")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -234,7 +234,7 @@ the real span of the lattice.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "1jm1cz1687cz8pl8lgvmyk3l33cms1xbayv38ca4z1f60qb7zfnc"))))
+                "11g1pkrj12dmggj1n6r00ijpnmk3f3dpqsf1h51q34hmmv79xpmw"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("texlive" ,(texlive-updmap.cfg
@@ -470,7 +470,7 @@ fast arithmetic.")
 (define-public arb
   (package
     (name "arb")
-    (version "2.21.1")
+    (version "2.22.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -479,7 +479,7 @@ fast arithmetic.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1lmcl122qy6mr1g1y65bm7dk9fj0sym7gzmvar5vdgk7ln03c5iq"))))
+                "0qcyf8a7w95yxap0r3sb7xibk53nbs5kkidja3ljvqpbpk5xvpax"))))
     (build-system gnu-build-system)
     (propagated-inputs
      (list flint))               ; flint.h is included by arf.h
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 13e0f02837..3ce8269358 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1980,6 +1980,51 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
     ;; GPLv2+ with exception for compositions using these patches.
     (license license:gpl2+)))
 
+(define-public freepats-gm
+  (package
+    (name "freepats-gm")
+    (version "20210329")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://freepats.zenvoid.org/SoundSets/"
+                                  "FreePats-GeneralMIDI/FreePatsGM-SF2-"  version ".7z"))
+              (sha256
+               (base32
+                "19a1mp9yi33j2zff4mjvhrjz97dwwgjwzfdlf84j9xyydhx0crhc"))))
+    (build-system trivial-build-system)
+    (native-inputs
+     `(("p7zip" ,p7zip)))
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (let ((dir (string-append "FreePatsGM-SF2-" ,version))
+             (file (string-append "FreePatsGM-" ,version ".sf2"))
+             (out (string-append %output "/share/soundfonts"))
+             (doc (string-append %output "/share/doc/freepats-gm-" ,version)))
+         (use-modules (guix build utils))
+         (invoke (string-append (assoc-ref %build-inputs "p7zip") "/bin/7z")
+                 "e" (assoc-ref %build-inputs "source")
+                 (string-append dir "/" file)
+                 (string-append dir "/gpl.txt")
+                 (string-append dir "/cc0.txt")
+                 (string-append dir "/readme.txt"))
+         (mkdir-p out)
+         (copy-file file (string-append out "/FreePatsGM.sf2"))
+         (mkdir-p doc)
+         (for-each
+          (lambda (file)
+            (copy-file file (string-append doc "/" file)))
+          (find-files "." "\\.txt$"))
+         #t)))
+    (home-page "https://freepats.zenvoid.org/SoundSets/general-midi.html")
+    (synopsis "General MIDI sound set")
+    (description "FreePats is a project to create a free (as in free software)
+collection of digital instruments for music production.  This sound bank is a
+partial release of the General MIDI sound set.")
+    (license (list
+              license:gpl3+ ; with sampling exception
+              license:cc0))))
+
 (define-public guitarix
   (package
     (name "guitarix")
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 1eea731233..118f25ba09 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012-2018, 2020-2022 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
 ;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
 ;;; Copyright © 2015, 2017, 2018 Mark H Weaver <mhw@netris.org>
@@ -519,6 +519,18 @@ complexity of working with shared libraries across platforms.")
     (license gpl3+)
     (home-page "https://www.gnu.org/software/libtool/")))
 
+(define-public libtool-2.4.7
+  (package
+    (inherit libtool)
+    (version "2.4.7")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/libtool/libtool-"
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+                "0pb3l4x37k6fj1lwnpzws55gi3pxl0hx56jm4bzmbrkw0mzj2zsg"))))))
+
 (define-public config
   (let ((revision "1")
         (commit "c8ddc8472f8efcadafc1ef53ca1d863415fddd5f"))
diff --git a/gnu/packages/aux-files/linux-libre/5.16-arm.conf b/gnu/packages/aux-files/linux-libre/5.17-arm.conf
index 2b31848e5f..5e59afb2f1 100644
--- a/gnu/packages/aux-files/linux-libre/5.16-arm.conf
+++ b/gnu/packages/aux-files/linux-libre/5.17-arm.conf
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/arm 5.16.0 Kernel Configuration
+# Linux/arm 5.17.3 Kernel Configuration
 #
 CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.2.0"
 CONFIG_CC_IS_GCC=y
@@ -221,7 +221,6 @@ CONFIG_ELF_CORE=y
 CONFIG_BASE_FULL=y
 CONFIG_FUTEX=y
 CONFIG_FUTEX_PI=y
-CONFIG_HAVE_FUTEX_CMPXCHG=y
 CONFIG_EPOLL=y
 CONFIG_SIGNALFD=y
 CONFIG_TIMERFD=y
@@ -526,6 +525,7 @@ CONFIG_SWP_EMULATE=y
 # CONFIG_CPU_BPREDICT_DISABLE is not set
 CONFIG_CPU_SPECTRE=y
 CONFIG_HARDEN_BRANCH_PREDICTOR=y
+CONFIG_HARDEN_BRANCH_HISTORY=y
 CONFIG_KUSER_HELPERS=y
 CONFIG_VDSO=y
 CONFIG_OUTER_CACHE=y
@@ -809,6 +809,7 @@ CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
 CONFIG_HAVE_EXIT_THREAD=y
 CONFIG_ARCH_MMAP_RND_BITS=8
 CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
 CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
 CONFIG_CLONE_BACKWARDS=y
 CONFIG_OLD_SIGSUSPEND3=y
@@ -852,6 +853,7 @@ CONFIG_MODVERSIONS=y
 CONFIG_MODULE_COMPRESS_GZIP=y
 # CONFIG_MODULE_COMPRESS_XZ is not set
 # CONFIG_MODULE_COMPRESS_ZSTD is not set
+CONFIG_MODULE_DECOMPRESS=y
 # CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
 CONFIG_MODPROBE_PATH="/run/current-system/profile/bin/modprobe"
 # CONFIG_TRIM_UNUSED_KSYMS is not set
@@ -860,6 +862,7 @@ CONFIG_BLOCK=y
 CONFIG_BLK_RQ_ALLOC_TIME=y
 CONFIG_BLK_CGROUP_RWSTAT=y
 CONFIG_BLK_DEV_BSG_COMMON=y
+CONFIG_BLK_ICQ=y
 CONFIG_BLK_DEV_BSGLIB=y
 CONFIG_BLK_DEV_INTEGRITY=y
 CONFIG_BLK_DEV_INTEGRITY_T10=y
@@ -967,7 +970,6 @@ CONFIG_BOUNCE=y
 CONFIG_MMU_NOTIFIER=y
 CONFIG_KSM=y
 CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-# CONFIG_CLEANCACHE is not set
 CONFIG_FRONTSWAP=y
 CONFIG_CMA=y
 # CONFIG_CMA_DEBUG is not set
@@ -1001,6 +1003,7 @@ CONFIG_HMM_MIRROR=y
 # CONFIG_GUP_TEST is not set
 CONFIG_KMAP_LOCAL=y
 CONFIG_KMAP_LOCAL_NON_LINEAR_PTE_ARRAY=y
+CONFIG_ANON_VMA_NAME=y
 
 #
 # Data Access Monitoring
@@ -1201,7 +1204,6 @@ CONFIG_NF_TABLES_NETDEV=y
 CONFIG_NFT_NUMGEN=m
 CONFIG_NFT_CT=m
 CONFIG_NFT_FLOW_OFFLOAD=m
-CONFIG_NFT_COUNTER=m
 CONFIG_NFT_CONNLIMIT=m
 CONFIG_NFT_LOG=m
 CONFIG_NFT_LIMIT=m
@@ -1400,7 +1402,6 @@ CONFIG_NFT_REJECT_IPV4=m
 CONFIG_NFT_DUP_IPV4=m
 CONFIG_NFT_FIB_IPV4=m
 CONFIG_NF_TABLES_ARP=y
-CONFIG_NF_FLOW_TABLE_IPV4=m
 CONFIG_NF_DUP_IPV4=m
 CONFIG_NF_LOG_ARP=m
 CONFIG_NF_LOG_IPV4=m
@@ -1440,7 +1441,6 @@ CONFIG_NF_TABLES_IPV6=y
 CONFIG_NFT_REJECT_IPV6=m
 CONFIG_NFT_DUP_IPV6=m
 CONFIG_NFT_FIB_IPV6=m
-CONFIG_NF_FLOW_TABLE_IPV6=m
 CONFIG_NF_DUP_IPV6=m
 CONFIG_NF_REJECT_IPV6=m
 CONFIG_NF_LOG_IPV6=m
@@ -1836,6 +1836,7 @@ CONFIG_BT_DEBUGFS=y
 CONFIG_BT_INTEL=m
 CONFIG_BT_BCM=m
 CONFIG_BT_RTL=m
+CONFIG_BT_MTK=m
 CONFIG_BT_HCIBTUSB=m
 # CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
 CONFIG_BT_HCIBTUSB_BCM=y
@@ -1901,6 +1902,7 @@ CONFIG_RFKILL_LEDS=y
 CONFIG_RFKILL_INPUT=y
 # CONFIG_RFKILL_GPIO is not set
 CONFIG_NET_9P=m
+CONFIG_NET_9P_FD=m
 CONFIG_NET_9P_VIRTIO=m
 # CONFIG_NET_9P_XEN is not set
 CONFIG_NET_9P_RDMA=m
@@ -2052,6 +2054,7 @@ CONFIG_AUXILIARY_BUS=y
 # CONFIG_UEVENT_HELPER is not set
 CONFIG_DEVTMPFS=y
 CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_DEVTMPFS_SAFE=y
 CONFIG_STANDALONE=y
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 
@@ -2076,6 +2079,7 @@ CONFIG_DEV_COREDUMP=y
 # CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
 CONFIG_SYS_HYPERVISOR=y
 CONFIG_GENERIC_CPU_AUTOPROBE=y
+CONFIG_GENERIC_CPU_VULNERABILITIES=y
 CONFIG_SOC_BUS=y
 CONFIG_REGMAP=y
 CONFIG_REGMAP_AC97=m
@@ -2175,6 +2179,7 @@ CONFIG_ARM_SMCCC_SOC_ID=y
 # end of Firmware Drivers
 
 CONFIG_GNSS=m
+CONFIG_GNSS_USB=m
 CONFIG_MTD=y
 # CONFIG_MTD_TESTS is not set
 
@@ -2384,7 +2389,6 @@ CONFIG_XEN_BLKDEV_FRONTEND=m
 CONFIG_XEN_BLKDEV_BACKEND=m
 CONFIG_VIRTIO_BLK=m
 CONFIG_BLK_DEV_RBD=m
-# CONFIG_BLK_DEV_RSXX is not set
 CONFIG_BLK_DEV_RNBD=y
 CONFIG_BLK_DEV_RNBD_CLIENT=m
 CONFIG_BLK_DEV_RNBD_SERVER=m
@@ -2870,6 +2874,7 @@ CONFIG_NET_DSA_XRS700X=m
 CONFIG_NET_DSA_XRS700X_I2C=m
 CONFIG_NET_DSA_XRS700X_MDIO=m
 # CONFIG_NET_DSA_QCA8K is not set
+CONFIG_NET_DSA_REALTEK=m
 CONFIG_NET_DSA_REALTEK_SMI=m
 # CONFIG_NET_DSA_SMSC_LAN9303_I2C is not set
 # CONFIG_NET_DSA_SMSC_LAN9303_MDIO is not set
@@ -2970,6 +2975,9 @@ CONFIG_BE2NET_BE2=y
 CONFIG_BE2NET_BE3=y
 CONFIG_BE2NET_LANCER=y
 CONFIG_BE2NET_SKYHAWK=y
+CONFIG_NET_VENDOR_ENGLEDER=y
+CONFIG_TSNEP=m
+# CONFIG_TSNEP_SELFTESTS is not set
 CONFIG_NET_VENDOR_EZCHIP=y
 # CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set
 CONFIG_NET_VENDOR_FARADAY=y
@@ -3067,6 +3075,7 @@ CONFIG_ENC28J60=m
 # CONFIG_ENC28J60_WRITEVERIFY is not set
 # CONFIG_ENCX24J600 is not set
 # CONFIG_LAN743X is not set
+# CONFIG_LAN966X_SWITCH is not set
 CONFIG_NET_VENDOR_MICROSEMI=y
 CONFIG_MSCC_OCELOT_SWITCH_LIB=m
 CONFIG_MSCC_OCELOT_SWITCH=m
@@ -3176,6 +3185,8 @@ CONFIG_TI_CPSW=m
 CONFIG_TI_CPSW_SWITCHDEV=m
 # CONFIG_TI_CPTS is not set
 CONFIG_TLAN=m
+CONFIG_NET_VENDOR_VERTEXCOM=y
+CONFIG_MSE102X=m
 CONFIG_NET_VENDOR_VIA=y
 # CONFIG_VIA_RHINE is not set
 CONFIG_VIA_VELOCITY=m
@@ -3250,6 +3261,9 @@ CONFIG_VITESSE_PHY=m
 #
 # MCTP Device Drivers
 #
+CONFIG_MCTP_SERIAL=m
+# end of MCTP Device Drivers
+
 CONFIG_MDIO_DEVICE=y
 CONFIG_MDIO_BUS=y
 CONFIG_FWNODE_MDIO=y
@@ -3261,7 +3275,7 @@ CONFIG_MDIO_BCM_UNIMAC=m
 # CONFIG_MDIO_HISI_FEMAC is not set
 CONFIG_MDIO_I2C=m
 CONFIG_MDIO_MVUSB=m
-# CONFIG_MDIO_MSCC_MIIM is not set
+CONFIG_MDIO_MSCC_MIIM=m
 # CONFIG_MDIO_IPQ4019 is not set
 CONFIG_MDIO_IPQ8064=m
 
@@ -3471,7 +3485,6 @@ CONFIG_IWLWIFI_LEDS=y
 CONFIG_IWLDVM=m
 CONFIG_IWLMVM=m
 CONFIG_IWLWIFI_OPMODE_MODULAR=y
-# CONFIG_IWLWIFI_BCAST_FILTERING is not set
 
 #
 # Debugging Options
@@ -3623,6 +3636,7 @@ CONFIG_IEEE802154_ADF7242=m
 # Wireless WAN
 #
 CONFIG_WWAN=y
+# CONFIG_WWAN_DEBUGFS is not set
 # CONFIG_WWAN_HWSIM is not set
 CONFIG_MHI_WWAN_CTRL=m
 CONFIG_MHI_WWAN_MBIM=m
@@ -3946,6 +3960,7 @@ CONFIG_SERIAL_8250_FSL=y
 CONFIG_SERIAL_8250_DW=y
 # CONFIG_SERIAL_8250_RT288X is not set
 # CONFIG_SERIAL_8250_OMAP is not set
+CONFIG_SERIAL_8250_PERICOM=y
 CONFIG_SERIAL_8250_TEGRA=y
 CONFIG_SERIAL_OF_PLATFORM=y
 
@@ -4119,7 +4134,6 @@ CONFIG_I2C_OMAP=y
 CONFIG_I2C_PCA_PLATFORM=m
 # CONFIG_I2C_PXA is not set
 CONFIG_I2C_RK3X=m
-CONFIG_HAVE_S3C2410_I2C=y
 CONFIG_I2C_S3C2410=y
 CONFIG_I2C_SIMTEC=m
 CONFIG_I2C_SUN6I_P2WI=m
@@ -4278,15 +4292,16 @@ CONFIG_PINCTRL_AXP209=m
 CONFIG_PINCTRL_MCP23S08_I2C=m
 CONFIG_PINCTRL_MCP23S08_SPI=m
 CONFIG_PINCTRL_MCP23S08=m
+# CONFIG_PINCTRL_MICROCHIP_SGPIO is not set
+# CONFIG_PINCTRL_OCELOT is not set
+CONFIG_PINCTRL_PALMAS=y
+CONFIG_PINCTRL_RK805=m
 CONFIG_PINCTRL_ROCKCHIP=y
 CONFIG_PINCTRL_SINGLE=y
-# CONFIG_PINCTRL_SX150X is not set
 # CONFIG_PINCTRL_STMFX is not set
-CONFIG_PINCTRL_PALMAS=y
-CONFIG_PINCTRL_RK805=m
-# CONFIG_PINCTRL_OCELOT is not set
-# CONFIG_PINCTRL_MICROCHIP_SGPIO is not set
+# CONFIG_PINCTRL_SX150X is not set
 CONFIG_PINCTRL_BCM2835=y
+CONFIG_PINCTRL_MADERA=m
 CONFIG_PINCTRL_IMX=y
 CONFIG_PINCTRL_IMX51=y
 CONFIG_PINCTRL_IMX53=y
@@ -4296,6 +4311,7 @@ CONFIG_PINCTRL_IMX8MN=y
 CONFIG_PINCTRL_IMX8MP=y
 CONFIG_PINCTRL_IMX8MQ=y
 # CONFIG_PINCTRL_IMX8ULP is not set
+# CONFIG_PINCTRL_IMXRT1050 is not set
 CONFIG_PINCTRL_MVEBU=y
 CONFIG_PINCTRL_ARMADA_370=y
 CONFIG_PINCTRL_ARMADA_375=y
@@ -4341,7 +4357,6 @@ CONFIG_PINCTRL_TEGRA_XUSB=y
 CONFIG_PINCTRL_TI_IODELAY=y
 CONFIG_PINCTRL_WMT=y
 CONFIG_PINCTRL_WM8850=y
-CONFIG_PINCTRL_MADERA=m
 CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
 CONFIG_GPIOLIB=y
 CONFIG_GPIOLIB_FASTPATH_LIMIT=512
@@ -4404,7 +4419,6 @@ CONFIG_GPIO_PCF857X=m
 #
 # MFD GPIO expanders
 #
-CONFIG_GPIO_BD70528=m
 CONFIG_GPIO_BD71815=m
 CONFIG_GPIO_BD71828=m
 CONFIG_GPIO_BD9571MWV=m
@@ -4448,6 +4462,7 @@ CONFIG_GPIO_VIPERBOARD=m
 CONFIG_GPIO_AGGREGATOR=m
 # CONFIG_GPIO_MOCKUP is not set
 CONFIG_GPIO_VIRTIO=m
+# CONFIG_GPIO_SIM is not set
 # end of Virtual GPIO drivers
 
 CONFIG_W1=m
@@ -4545,6 +4560,7 @@ CONFIG_CHARGER_GPIO=m
 # CONFIG_CHARGER_LT3651 is not set
 # CONFIG_CHARGER_LTC4162L is not set
 # CONFIG_CHARGER_DETECTOR_MAX14656 is not set
+# CONFIG_CHARGER_MAX77976 is not set
 CONFIG_CHARGER_MT6360=m
 CONFIG_CHARGER_BQ2415X=m
 # CONFIG_CHARGER_BQ24190 is not set
@@ -4674,6 +4690,7 @@ CONFIG_SENSORS_NCT6775=m
 # CONFIG_SENSORS_NCT7904 is not set
 # CONFIG_SENSORS_NPCM7XX is not set
 # CONFIG_SENSORS_NZXT_KRAKEN2 is not set
+# CONFIG_SENSORS_NZXT_SMART2 is not set
 # CONFIG_SENSORS_OCC_P8_I2C is not set
 # CONFIG_SENSORS_PCF8591 is not set
 # CONFIG_PMBUS is not set
@@ -4705,6 +4722,7 @@ CONFIG_SENSORS_ADS7871=m
 CONFIG_SENSORS_AMC6821=m
 # CONFIG_SENSORS_INA209 is not set
 # CONFIG_SENSORS_INA2XX is not set
+# CONFIG_SENSORS_INA238 is not set
 # CONFIG_SENSORS_INA3221 is not set
 # CONFIG_SENSORS_TC74 is not set
 CONFIG_SENSORS_THMC50=m
@@ -5004,7 +5022,6 @@ CONFIG_TWL6040_CORE=y
 # CONFIG_MFD_WM8350_I2C is not set
 # CONFIG_MFD_WM8994 is not set
 CONFIG_MFD_ROHM_BD718XX=m
-CONFIG_MFD_ROHM_BD70528=m
 CONFIG_MFD_ROHM_BD71828=m
 CONFIG_MFD_ROHM_BD957XMUF=m
 # CONFIG_MFD_STPMIC1 is not set
@@ -5059,6 +5076,7 @@ CONFIG_REGULATOR_GPIO=m
 CONFIG_REGULATOR_MAX8893=m
 # CONFIG_REGULATOR_MAX8952 is not set
 # CONFIG_REGULATOR_MAX8973 is not set
+# CONFIG_REGULATOR_MAX20086 is not set
 CONFIG_REGULATOR_MAX77686=m
 # CONFIG_REGULATOR_MAX77802 is not set
 # CONFIG_REGULATOR_MAX77826 is not set
@@ -5697,6 +5715,7 @@ CONFIG_VIDEO_OV5648=m
 CONFIG_VIDEO_OV6650=m
 CONFIG_VIDEO_OV5670=m
 CONFIG_VIDEO_OV5675=m
+# CONFIG_VIDEO_OV5693 is not set
 CONFIG_VIDEO_OV5695=m
 CONFIG_VIDEO_OV7251=m
 CONFIG_VIDEO_OV772X=m
@@ -6005,9 +6024,8 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
 CONFIG_DRM_TTM=m
 CONFIG_DRM_VRAM_HELPER=m
 CONFIG_DRM_TTM_HELPER=m
-CONFIG_DRM_GEM_CMA_HELPER=y
-CONFIG_DRM_KMS_CMA_HELPER=y
-CONFIG_DRM_GEM_SHMEM_HELPER=y
+CONFIG_DRM_GEM_CMA_HELPER=m
+CONFIG_DRM_GEM_SHMEM_HELPER=m
 CONFIG_DRM_SCHED=m
 
 #
@@ -6073,7 +6091,8 @@ CONFIG_DRM_UDL=m
 # CONFIG_DRM_MGAG200 is not set
 # CONFIG_DRM_ARMADA is not set
 # CONFIG_DRM_RCAR_DW_HDMI is not set
-# CONFIG_DRM_RCAR_LVDS is not set
+# CONFIG_DRM_RCAR_USE_LVDS is not set
+# CONFIG_DRM_RCAR_MIPI_DSI is not set
 # CONFIG_DRM_SUN4I is not set
 CONFIG_DRM_OMAP=m
 # CONFIG_OMAP2_DSS_DEBUG is not set
@@ -6115,6 +6134,7 @@ CONFIG_DRM_PANEL=y
 # CONFIG_DRM_PANEL_ABT_Y030XX067A is not set
 CONFIG_DRM_PANEL_ARM_VERSATILE=m
 CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596=m
+# CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0 is not set
 CONFIG_DRM_PANEL_BOE_HIMAX8279D=m
 CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
 CONFIG_DRM_PANEL_DSI_CM=m
@@ -6130,6 +6150,7 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m
 CONFIG_DRM_PANEL_INNOLUX_EJ030NA=m
 # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
 # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
+# CONFIG_DRM_PANEL_JDI_R63452 is not set
 # CONFIG_DRM_PANEL_KHADAS_TS050 is not set
 # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
 # CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
@@ -6139,6 +6160,7 @@ CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829=m
 # CONFIG_DRM_PANEL_LG_LG4573 is not set
 # CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
 CONFIG_DRM_PANEL_NOVATEK_NT35510=m
+# CONFIG_DRM_PANEL_NOVATEK_NT35950 is not set
 # CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set
 # CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
 CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=m
@@ -6170,6 +6192,7 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
 # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
 CONFIG_DRM_PANEL_SONY_ACX424AKP=m
 # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
+# CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521 is not set
 # CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
 # CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
 # CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
@@ -6246,6 +6269,7 @@ CONFIG_DRM_CIRRUS_QEMU=m
 CONFIG_DRM_GM12U320=m
 CONFIG_DRM_SIMPLEDRM=m
 # CONFIG_TINYDRM_HX8357D is not set
+# CONFIG_TINYDRM_ILI9163 is not set
 # CONFIG_TINYDRM_ILI9225 is not set
 # CONFIG_TINYDRM_ILI9341 is not set
 CONFIG_TINYDRM_ILI9486=m
@@ -6268,6 +6292,7 @@ CONFIG_DRM_LEGACY=y
 CONFIG_DRM_VIA=m
 CONFIG_DRM_SAVAGE=m
 CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
+CONFIG_DRM_NOMODESET=y
 
 #
 # Frame buffer Devices
@@ -6384,6 +6409,7 @@ CONFIG_HDMI=y
 #
 CONFIG_DUMMY_CONSOLE=y
 CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set
 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
 CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
 # CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
@@ -6580,6 +6606,7 @@ CONFIG_SND_SOC_ADI=m
 CONFIG_SND_SOC_ADI_AXI_I2S=m
 CONFIG_SND_SOC_ADI_AXI_SPDIF=m
 # CONFIG_SND_SOC_AMD_ACP is not set
+# CONFIG_SND_AMD_ACP_CONFIG is not set
 # CONFIG_SND_ATMEL_SOC is not set
 CONFIG_SND_BCM2835_SOC_I2S=m
 CONFIG_SND_BCM63XX_I2S_WHISTLER=m
@@ -6726,6 +6753,7 @@ CONFIG_SND_SOC_ADAU7118_HW=m
 CONFIG_SND_SOC_ADAU7118_I2C=m
 # CONFIG_SND_SOC_AK4104 is not set
 # CONFIG_SND_SOC_AK4118 is not set
+# CONFIG_SND_SOC_AK4375 is not set
 CONFIG_SND_SOC_AK4458=m
 # CONFIG_SND_SOC_AK4554 is not set
 # CONFIG_SND_SOC_AK4613 is not set
@@ -6831,6 +6859,7 @@ CONFIG_SND_SOC_SGTL5000=m
 # CONFIG_SND_SOC_TDA7419 is not set
 # CONFIG_SND_SOC_TFA9879 is not set
 # CONFIG_SND_SOC_TFA989X is not set
+# CONFIG_SND_SOC_TLV320ADC3XXX is not set
 CONFIG_SND_SOC_TLV320AIC23=m
 CONFIG_SND_SOC_TLV320AIC23_I2C=m
 # CONFIG_SND_SOC_TLV320AIC23_SPI is not set
@@ -6963,6 +6992,7 @@ CONFIG_HID_KENSINGTON=m
 CONFIG_HID_LCPOWER=m
 CONFIG_HID_LED=m
 CONFIG_HID_LENOVO=m
+CONFIG_HID_LETSKETCH=m
 CONFIG_HID_LOGITECH=m
 CONFIG_HID_LOGITECH_DJ=m
 CONFIG_HID_LOGITECH_HIDPP=m
@@ -7116,6 +7146,7 @@ CONFIG_USB_U132_HCD=m
 # CONFIG_USB_HCD_BCMA is not set
 # CONFIG_USB_HCD_SSB is not set
 # CONFIG_USB_HCD_TEST_MODE is not set
+CONFIG_USB_XEN_HCD=m
 
 #
 # USB Device Class drivers
@@ -7604,6 +7635,10 @@ CONFIG_LEDS_TRIGGER_PANIC=y
 # CONFIG_LEDS_TRIGGER_PATTERN is not set
 CONFIG_LEDS_TRIGGER_AUDIO=m
 CONFIG_LEDS_TRIGGER_TTY=m
+
+#
+# Simple LED drivers
+#
 CONFIG_ACCESSIBILITY=y
 CONFIG_A11Y_BRAILLE_CONSOLE=y
 
@@ -8063,6 +8098,7 @@ CONFIG_COMMON_CLK_SI5341=m
 # CONFIG_COMMON_CLK_CDCE706 is not set
 # CONFIG_COMMON_CLK_CDCE925 is not set
 # CONFIG_COMMON_CLK_CS2000_CP is not set
+# CONFIG_COMMON_CLK_LAN966X is not set
 CONFIG_COMMON_CLK_S2MPS11=m
 CONFIG_CLK_TWL6040=m
 CONFIG_COMMON_CLK_AXI_CLKGEN=m
@@ -8269,6 +8305,7 @@ CONFIG_ROCKCHIP_PM_DOMAINS=y
 CONFIG_SOC_SAMSUNG=y
 CONFIG_EXYNOS_ASV_ARM=y
 CONFIG_EXYNOS_CHIPID=y
+# CONFIG_EXYNOS_USI is not set
 CONFIG_EXYNOS_PMU=y
 CONFIG_EXYNOS_PMU_ARM_DRIVERS=y
 CONFIG_EXYNOS_PM_DOMAINS=y
@@ -8309,6 +8346,7 @@ CONFIG_ARM_IMX_BUS_DEVFREQ=m
 CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m
 CONFIG_ARM_TEGRA_DEVFREQ=m
 # CONFIG_ARM_RK3399_DMC_DEVFREQ is not set
+# CONFIG_ARM_SUN8I_A33_MBUS_DEVFREQ is not set
 # CONFIG_PM_DEVFREQ_EVENT is not set
 CONFIG_EXTCON=y
 
@@ -8480,6 +8518,12 @@ CONFIG_XILINX_XADC=m
 # end of Analog to digital converters
 
 #
+# Analog to digital and digital to analog converters
+#
+# CONFIG_AD74413R is not set
+# end of Analog to digital and digital to analog converters
+
+#
 # Analog Front Ends
 #
 # CONFIG_IIO_RESCALE is not set
@@ -8544,6 +8588,7 @@ CONFIG_IIO_ST_SENSORS_CORE=m
 #
 # Digital to analog converters
 #
+# CONFIG_AD3552R is not set
 # CONFIG_AD5064 is not set
 # CONFIG_AD5360 is not set
 # CONFIG_AD5380 is not set
@@ -8563,6 +8608,7 @@ CONFIG_IIO_ST_SENSORS_CORE=m
 # CONFIG_AD5766 is not set
 # CONFIG_AD5770R is not set
 # CONFIG_AD5791 is not set
+# CONFIG_AD7293 is not set
 # CONFIG_AD7303 is not set
 # CONFIG_AD8801 is not set
 # CONFIG_DPOT_DAC is not set
@@ -8587,6 +8633,11 @@ CONFIG_IIO_ST_SENSORS_CORE=m
 # end of IIO dummy driver
 
 #
+# Filters
+#
+# end of Filters
+
+#
 # Frequency Synthesizers DDS/PLL
 #
 
@@ -8601,6 +8652,7 @@ CONFIG_IIO_ST_SENSORS_CORE=m
 #
 # CONFIG_ADF4350 is not set
 CONFIG_ADF4371=m
+CONFIG_ADMV1013=m
 # CONFIG_ADRF6780 is not set
 # end of Phase-Locked Loop (PLL) frequency synthesizers
 # end of Frequency Synthesizers DDS/PLL
@@ -8948,6 +9000,7 @@ CONFIG_PHY_CADENCE_TORRENT=m
 # CONFIG_PHY_CADENCE_SALVO is not set
 # CONFIG_PHY_FSL_IMX8MQ_USB is not set
 CONFIG_PHY_MIXEL_MIPI_DPHY=m
+# CONFIG_PHY_FSL_IMX8M_PCIE is not set
 CONFIG_ARMADA375_USBCLUSTER_PHY=y
 CONFIG_PHY_MVEBU_A3700_COMPHY=m
 CONFIG_PHY_MVEBU_A3700_UTMI=m
@@ -8956,6 +9009,7 @@ CONFIG_PHY_MVEBU_CP110_COMPHY=m
 CONFIG_PHY_MVEBU_CP110_UTMI=m
 # CONFIG_PHY_PXA_28NM_HSIC is not set
 # CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_LAN966X_SERDES is not set
 # CONFIG_PHY_CPCAP_USB is not set
 # CONFIG_PHY_MAPPHONE_MDM6600 is not set
 # CONFIG_PHY_OCELOT_SERDES is not set
@@ -9167,6 +9221,7 @@ CONFIG_FSCACHE_STATS=y
 # CONFIG_FSCACHE_DEBUG is not set
 CONFIG_CACHEFILES=m
 # CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_ERROR_INJECTION is not set
 # end of Caches
 
 #
@@ -9693,28 +9748,6 @@ CONFIG_CRYPTO_USER_API_AEAD=m
 CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
 # CONFIG_CRYPTO_STATS is not set
 CONFIG_CRYPTO_HASH_INFO=y
-
-#
-# Crypto library routines
-#
-CONFIG_CRYPTO_LIB_AES=y
-CONFIG_CRYPTO_LIB_ARC4=m
-CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=m
-CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m
-CONFIG_CRYPTO_LIB_BLAKE2S=m
-CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m
-CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
-CONFIG_CRYPTO_LIB_CHACHA=m
-CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
-CONFIG_CRYPTO_LIB_CURVE25519=m
-CONFIG_CRYPTO_LIB_DES=m
-CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9
-CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m
-CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
-CONFIG_CRYPTO_LIB_POLY1305=m
-CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
-CONFIG_CRYPTO_LIB_SHA256=y
-CONFIG_CRYPTO_LIB_SM4=m
 CONFIG_CRYPTO_HW=y
 CONFIG_CRYPTO_DEV_ALLWINNER=y
 CONFIG_CRYPTO_DEV_SUN4I_SS=m
@@ -9785,6 +9818,29 @@ CONFIG_RATIONAL=y
 CONFIG_GENERIC_PCI_IOMAP=y
 CONFIG_STMP_DEVICE=y
 CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
+
+#
+# Crypto library routines
+#
+CONFIG_CRYPTO_LIB_AES=y
+CONFIG_CRYPTO_LIB_ARC4=m
+CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
+CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_DES=m
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9
+CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
+CONFIG_CRYPTO_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_SHA256=y
+CONFIG_CRYPTO_LIB_SM4=m
+# end of Crypto library routines
+
 CONFIG_CRC_CCITT=m
 CONFIG_CRC16=y
 CONFIG_CRC_T10DIF=y
@@ -9975,6 +10031,13 @@ CONFIG_DEBUG_KERNEL=y
 CONFIG_DEBUG_MISC=y
 
 #
+# Networking Debugging
+#
+# CONFIG_NET_DEV_REFCNT_TRACKER is not set
+# CONFIG_NET_NS_REFCNT_TRACKER is not set
+# end of Networking Debugging
+
+#
 # Memory Debugging
 #
 CONFIG_PAGE_EXTENSION=y
@@ -10000,6 +10063,12 @@ CONFIG_HAVE_ARCH_KASAN=y
 CONFIG_CC_HAS_KASAN_GENERIC=y
 CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
 # CONFIG_KASAN is not set
+CONFIG_HAVE_ARCH_KFENCE=y
+CONFIG_KFENCE=y
+CONFIG_KFENCE_SAMPLE_INTERVAL=0
+CONFIG_KFENCE_NUM_OBJECTS=255
+# CONFIG_KFENCE_STATIC_KEYS is not set
+CONFIG_KFENCE_STRESS_TEST_FAULTS=0
 # end of Memory Debugging
 
 # CONFIG_DEBUG_SHIRQ is not set
@@ -10090,6 +10159,8 @@ CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
 CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
 CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
 CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y
+CONFIG_BUILDTIME_MCOUNT_SORT=y
 CONFIG_TRACER_MAX_TRACE=y
 CONFIG_TRACE_CLOCK=y
 CONFIG_RING_BUFFER=y
@@ -10133,6 +10204,7 @@ CONFIG_SYNTH_EVENTS=y
 # CONFIG_TRACE_EVAL_MAP_FILE is not set
 # CONFIG_FTRACE_RECORD_RECURSION is not set
 # CONFIG_FTRACE_STARTUP_TEST is not set
+# CONFIG_FTRACE_SORT_STARTUP_TEST is not set
 # CONFIG_RING_BUFFER_STARTUP_TEST is not set
 # CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set
 # CONFIG_PREEMPTIRQ_DELAY_TEST is not set
@@ -10148,6 +10220,7 @@ CONFIG_IO_STRICT_DEVMEM=y
 CONFIG_ARM_PTDUMP_CORE=y
 # CONFIG_ARM_PTDUMP_DEBUGFS is not set
 CONFIG_UNWINDER_FRAME_POINTER=y
+# CONFIG_BACKTRACE_VERBOSE is not set
 # CONFIG_DEBUG_USER is not set
 # CONFIG_DEBUG_LL is not set
 CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
@@ -10174,6 +10247,7 @@ CONFIG_RUNTIME_TESTING_MENU=y
 # CONFIG_TEST_MIN_HEAP is not set
 # CONFIG_TEST_DIV64 is not set
 # CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_TEST_REF_TRACKER is not set
 # CONFIG_RBTREE_TEST is not set
 # CONFIG_REED_SOLOMON_TEST is not set
 # CONFIG_INTERVAL_TREE_TEST is not set
@@ -10192,7 +10266,7 @@ CONFIG_TEST_SCANF=m
 CONFIG_TEST_XARRAY=m
 # CONFIG_TEST_OVERFLOW is not set
 # CONFIG_TEST_RHASHTABLE is not set
-# CONFIG_TEST_HASH is not set
+# CONFIG_TEST_SIPHASH is not set
 # CONFIG_TEST_IDA is not set
 # CONFIG_TEST_LKM is not set
 CONFIG_TEST_BITOPS=m
diff --git a/gnu/packages/aux-files/linux-libre/5.16-arm64.conf b/gnu/packages/aux-files/linux-libre/5.17-arm64.conf
index eca75bd9fb..5b61d43a04 100644
--- a/gnu/packages/aux-files/linux-libre/5.16-arm64.conf
+++ b/gnu/packages/aux-files/linux-libre/5.17-arm64.conf
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/arm64 5.16.0 Kernel Configuration
+# Linux/arm64 5.17.3 Kernel Configuration
 #
 CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.2.0"
 CONFIG_CC_IS_GCC=y
@@ -225,7 +225,6 @@ CONFIG_ELF_CORE=y
 CONFIG_BASE_FULL=y
 CONFIG_FUTEX=y
 CONFIG_FUTEX_PI=y
-CONFIG_HAVE_FUTEX_CMPXCHG=y
 CONFIG_EPOLL=y
 CONFIG_SIGNALFD=y
 CONFIG_TIMERFD=y
@@ -246,6 +245,7 @@ CONFIG_RSEQ=y
 # CONFIG_DEBUG_RSEQ is not set
 # CONFIG_EMBEDDED is not set
 CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_GUEST_PERF_EVENTS=y
 # CONFIG_PC104 is not set
 
 #
@@ -368,6 +368,8 @@ CONFIG_ARM64_ERRATUM_1286807=y
 CONFIG_ARM64_ERRATUM_1463225=y
 CONFIG_ARM64_ERRATUM_1542419=y
 CONFIG_ARM64_ERRATUM_1508412=y
+CONFIG_ARM64_ERRATUM_2051678=y
+CONFIG_ARM64_ERRATUM_2077057=y
 CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y
 CONFIG_ARM64_ERRATUM_2054223=y
 CONFIG_ARM64_ERRATUM_2067961=y
@@ -404,10 +406,6 @@ CONFIG_NR_CPUS=256
 CONFIG_HOTPLUG_CPU=y
 CONFIG_NUMA=y
 CONFIG_NODES_SHIFT=2
-CONFIG_USE_PERCPU_NUMA_NODE_ID=y
-CONFIG_HAVE_SETUP_PER_CPU_AREA=y
-CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
-CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
 # CONFIG_HZ_100 is not set
 CONFIG_HZ_250=y
 # CONFIG_HZ_300 is not set
@@ -416,7 +414,6 @@ CONFIG_HZ=250
 CONFIG_SCHED_HRTICK=y
 CONFIG_ARCH_SPARSEMEM_ENABLE=y
 CONFIG_HW_PERF_EVENTS=y
-CONFIG_ARCH_HAS_FILTER_PGPROT=y
 CONFIG_PARAVIRT=y
 # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
 CONFIG_KEXEC=y
@@ -428,6 +425,7 @@ CONFIG_XEN_DOM0=y
 CONFIG_XEN=y
 CONFIG_FORCE_MAX_ZONEORDER=11
 CONFIG_UNMAP_KERNEL_AT_EL0=y
+CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y
 CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
 # CONFIG_ARM64_SW_TTBR0_PAN is not set
 CONFIG_ARM64_TAGGED_ADDR_ABI=y
@@ -600,6 +598,7 @@ CONFIG_ARCH_SUPPORTS_ACPI=y
 CONFIG_ACPI=y
 CONFIG_ACPI_GENERIC_GSI=y
 CONFIG_ACPI_CCA_REQUIRED=y
+CONFIG_ACPI_TABLE_LIB=y
 # CONFIG_ACPI_DEBUGGER is not set
 CONFIG_ACPI_SPCR_TABLE=y
 # CONFIG_ACPI_EC_DEBUGFS is not set
@@ -632,9 +631,11 @@ CONFIG_ACPI_HMAT=y
 CONFIG_HAVE_ACPI_APEI=y
 # CONFIG_ACPI_APEI is not set
 # CONFIG_ACPI_CONFIGFS is not set
+CONFIG_ACPI_PFRUT=m
 CONFIG_ACPI_IORT=y
 CONFIG_ACPI_GTDT=y
 CONFIG_ACPI_PPTT=y
+CONFIG_ACPI_PCC=y
 # CONFIG_PMIC_OPREGION is not set
 CONFIG_ACPI_VIOT=y
 CONFIG_IRQ_BYPASS_MANAGER=y
@@ -748,6 +749,7 @@ CONFIG_ARCH_MMAP_RND_BITS=18
 CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
 CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11
 CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
 CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
 CONFIG_CLONE_BACKWARDS=y
 CONFIG_OLD_SIGSUSPEND3=y
@@ -796,6 +798,7 @@ CONFIG_ASM_MODVERSIONS=y
 CONFIG_MODULE_COMPRESS_GZIP=y
 # CONFIG_MODULE_COMPRESS_XZ is not set
 # CONFIG_MODULE_COMPRESS_ZSTD is not set
+CONFIG_MODULE_DECOMPRESS=y
 # CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
 CONFIG_MODPROBE_PATH="/run/current-system/profile/bin/modprobe"
 # CONFIG_TRIM_UNUSED_KSYMS is not set
@@ -804,6 +807,7 @@ CONFIG_BLOCK=y
 CONFIG_BLK_RQ_ALLOC_TIME=y
 CONFIG_BLK_CGROUP_RWSTAT=y
 CONFIG_BLK_DEV_BSG_COMMON=y
+CONFIG_BLK_ICQ=y
 CONFIG_BLK_DEV_BSGLIB=y
 CONFIG_BLK_DEV_INTEGRITY=y
 CONFIG_BLK_DEV_INTEGRITY_T10=m
@@ -978,7 +982,10 @@ CONFIG_HWPOISON_INJECT=m
 CONFIG_TRANSPARENT_HUGEPAGE=y
 CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
 # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
-# CONFIG_CLEANCACHE is not set
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_USE_PERCPU_NUMA_NODE_ID=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
 CONFIG_FRONTSWAP=y
 CONFIG_CMA=y
 # CONFIG_CMA_DEBUG is not set
@@ -1020,6 +1027,7 @@ CONFIG_VMAP_PFN=y
 CONFIG_ARCH_HAS_PTE_SPECIAL=y
 CONFIG_MAPPING_DIRTY_HELPERS=y
 CONFIG_SECRETMEM=y
+CONFIG_ANON_VMA_NAME=y
 
 #
 # Data Access Monitoring
@@ -1223,7 +1231,6 @@ CONFIG_NF_TABLES_NETDEV=y
 CONFIG_NFT_NUMGEN=m
 CONFIG_NFT_CT=m
 # CONFIG_NFT_FLOW_OFFLOAD is not set
-CONFIG_NFT_COUNTER=m
 CONFIG_NFT_CONNLIMIT=m
 CONFIG_NFT_LOG=m
 CONFIG_NFT_LIMIT=m
@@ -1423,7 +1430,6 @@ CONFIG_NFT_REJECT_IPV4=m
 CONFIG_NFT_DUP_IPV4=m
 CONFIG_NFT_FIB_IPV4=m
 CONFIG_NF_TABLES_ARP=y
-CONFIG_NF_FLOW_TABLE_IPV4=m
 CONFIG_NF_DUP_IPV4=m
 CONFIG_NF_LOG_ARP=m
 CONFIG_NF_LOG_IPV4=m
@@ -1463,7 +1469,6 @@ CONFIG_NF_TABLES_IPV6=y
 CONFIG_NFT_REJECT_IPV6=m
 CONFIG_NFT_DUP_IPV6=m
 CONFIG_NFT_FIB_IPV6=m
-CONFIG_NF_FLOW_TABLE_IPV6=m
 CONFIG_NF_DUP_IPV6=m
 CONFIG_NF_REJECT_IPV6=m
 CONFIG_NF_LOG_IPV6=m
@@ -1862,6 +1867,7 @@ CONFIG_BT_INTEL=m
 CONFIG_BT_BCM=m
 CONFIG_BT_RTL=m
 CONFIG_BT_QCA=m
+CONFIG_BT_MTK=m
 CONFIG_BT_HCIBTUSB=m
 # CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
 CONFIG_BT_HCIBTUSB_BCM=y
@@ -1941,6 +1947,7 @@ CONFIG_RFKILL_LEDS=y
 CONFIG_RFKILL_INPUT=y
 # CONFIG_RFKILL_GPIO is not set
 CONFIG_NET_9P=m
+CONFIG_NET_9P_FD=m
 CONFIG_NET_9P_VIRTIO=m
 # CONFIG_NET_9P_XEN is not set
 CONFIG_NET_9P_RDMA=m
@@ -2018,6 +2025,7 @@ CONFIG_PCI_IOV=y
 # CONFIG_PCI_PRI is not set
 # CONFIG_PCI_PASID is not set
 CONFIG_PCI_LABEL=y
+CONFIG_PCI_HYPERV=m
 # CONFIG_PCIE_BUS_TUNE_OFF is not set
 CONFIG_PCIE_BUS_DEFAULT=y
 # CONFIG_PCIE_BUS_SAFE is not set
@@ -2046,6 +2054,7 @@ CONFIG_PCI_HOST_THUNDER_ECAM=y
 CONFIG_PCIE_ROCKCHIP=y
 CONFIG_PCIE_ROCKCHIP_HOST=m
 CONFIG_PCIE_BRCMSTB=m
+CONFIG_PCI_HYPERV_INTERFACE=m
 CONFIG_PCIE_MICROCHIP_HOST=y
 CONFIG_PCIE_APPLE_MSI_DOORBELL_ADDR=0xfffff000
 CONFIG_PCIE_APPLE=m
@@ -2112,6 +2121,7 @@ CONFIG_AUXILIARY_BUS=y
 # CONFIG_UEVENT_HELPER is not set
 CONFIG_DEVTMPFS=y
 # CONFIG_DEVTMPFS_MOUNT is not set
+CONFIG_DEVTMPFS_SAFE=y
 CONFIG_STANDALONE=y
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 
@@ -2252,6 +2262,7 @@ CONFIG_GNSS_SERIAL=m
 CONFIG_GNSS_MTK_SERIAL=m
 CONFIG_GNSS_SIRF_SERIAL=m
 CONFIG_GNSS_UBX_SERIAL=m
+CONFIG_GNSS_USB=m
 CONFIG_MTD=m
 # CONFIG_MTD_TESTS is not set
 
@@ -2466,7 +2477,6 @@ CONFIG_XEN_BLKDEV_FRONTEND=m
 CONFIG_XEN_BLKDEV_BACKEND=m
 CONFIG_VIRTIO_BLK=m
 CONFIG_BLK_DEV_RBD=m
-# CONFIG_BLK_DEV_RSXX is not set
 CONFIG_BLK_DEV_RNBD=y
 CONFIG_BLK_DEV_RNBD_CLIENT=m
 CONFIG_BLK_DEV_RNBD_SERVER=m
@@ -2974,6 +2984,7 @@ CONFIG_NET_DSA_XRS700X=m
 CONFIG_NET_DSA_XRS700X_I2C=m
 CONFIG_NET_DSA_XRS700X_MDIO=m
 # CONFIG_NET_DSA_QCA8K is not set
+CONFIG_NET_DSA_REALTEK=m
 CONFIG_NET_DSA_REALTEK_SMI=m
 # CONFIG_NET_DSA_SMSC_LAN9303_I2C is not set
 # CONFIG_NET_DSA_SMSC_LAN9303_MDIO is not set
@@ -3087,6 +3098,9 @@ CONFIG_BE2NET_BE2=y
 CONFIG_BE2NET_BE3=y
 CONFIG_BE2NET_LANCER=y
 CONFIG_BE2NET_SKYHAWK=y
+CONFIG_NET_VENDOR_ENGLEDER=y
+CONFIG_TSNEP=m
+# CONFIG_TSNEP_SELFTESTS is not set
 CONFIG_NET_VENDOR_EZCHIP=y
 # CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set
 CONFIG_NET_VENDOR_FREESCALE=y
@@ -3192,6 +3206,7 @@ CONFIG_NET_VENDOR_MICROCHIP=y
 # CONFIG_ENC28J60 is not set
 # CONFIG_ENCX24J600 is not set
 # CONFIG_LAN743X is not set
+# CONFIG_LAN966X_SWITCH is not set
 CONFIG_NET_VENDOR_MICROSEMI=y
 CONFIG_MSCC_OCELOT_SWITCH_LIB=m
 CONFIG_MSCC_OCELOT_SWITCH=m
@@ -3307,6 +3322,8 @@ CONFIG_TEHUTI=m
 CONFIG_NET_VENDOR_TI=y
 # CONFIG_TI_CPSW_PHY_SEL is not set
 CONFIG_TLAN=m
+CONFIG_NET_VENDOR_VERTEXCOM=y
+CONFIG_MSE102X=m
 CONFIG_NET_VENDOR_VIA=y
 # CONFIG_VIA_RHINE is not set
 CONFIG_VIA_VELOCITY=m
@@ -3383,6 +3400,9 @@ CONFIG_VITESSE_PHY=m
 #
 # MCTP Device Drivers
 #
+CONFIG_MCTP_SERIAL=m
+# end of MCTP Device Drivers
+
 CONFIG_MDIO_DEVICE=m
 CONFIG_MDIO_BUS=m
 CONFIG_FWNODE_MDIO=m
@@ -3611,7 +3631,6 @@ CONFIG_IWLWIFI_LEDS=y
 CONFIG_IWLDVM=m
 CONFIG_IWLMVM=m
 CONFIG_IWLWIFI_OPMODE_MODULAR=y
-# CONFIG_IWLWIFI_BCAST_FILTERING is not set
 
 #
 # Debugging Options
@@ -3776,6 +3795,7 @@ CONFIG_IEEE802154_MCR20A=m
 # Wireless WAN
 #
 CONFIG_WWAN=y
+# CONFIG_WWAN_DEBUGFS is not set
 # CONFIG_WWAN_HWSIM is not set
 CONFIG_MHI_WWAN_CTRL=m
 CONFIG_MHI_WWAN_MBIM=m
@@ -4001,6 +4021,7 @@ CONFIG_SERIAL_8250_BCM2835AUX=y
 CONFIG_SERIAL_8250_FSL=y
 CONFIG_SERIAL_8250_DW=y
 # CONFIG_SERIAL_8250_RT288X is not set
+CONFIG_SERIAL_8250_PERICOM=y
 CONFIG_SERIAL_8250_TEGRA=y
 CONFIG_SERIAL_OF_PLATFORM=y
 
@@ -4017,6 +4038,7 @@ CONFIG_SERIAL_MESON_CONSOLE=y
 CONFIG_SERIAL_SAMSUNG=m
 CONFIG_SERIAL_SAMSUNG_UARTS_4=y
 CONFIG_SERIAL_SAMSUNG_UARTS=4
+CONFIG_SERIAL_SAMSUNG_CONSOLE=y
 CONFIG_SERIAL_TEGRA=y
 CONFIG_SERIAL_TEGRA_TCU=m
 # CONFIG_SERIAL_MAX3100 is not set
@@ -4093,6 +4115,7 @@ CONFIG_HW_RANDOM_OPTEE=m
 CONFIG_HW_RANDOM_CCTRNG=m
 CONFIG_HW_RANDOM_XIPHERA=m
 CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=m
+CONFIG_HW_RANDOM_CN10K=m
 # CONFIG_APPLICOM is not set
 CONFIG_DEVMEM=y
 CONFIG_DEVPORT=y
@@ -4346,21 +4369,22 @@ CONFIG_GENERIC_PINMUX_FUNCTIONS=y
 CONFIG_PINCONF=y
 CONFIG_GENERIC_PINCONF=y
 # CONFIG_DEBUG_PINCTRL is not set
+CONFIG_PINCTRL_AMD=y
 CONFIG_PINCTRL_APPLE_GPIO=m
 CONFIG_PINCTRL_AXP209=m
-CONFIG_PINCTRL_AMD=y
 CONFIG_PINCTRL_BM1880=y
+CONFIG_PINCTRL_KEEMBAY=m
+CONFIG_PINCTRL_MAX77620=y
 # CONFIG_PINCTRL_MCP23S08 is not set
+# CONFIG_PINCTRL_MICROCHIP_SGPIO is not set
+# CONFIG_PINCTRL_OCELOT is not set
+# CONFIG_PINCTRL_RK805 is not set
 CONFIG_PINCTRL_ROCKCHIP=y
 CONFIG_PINCTRL_SINGLE=y
-# CONFIG_PINCTRL_SX150X is not set
 # CONFIG_PINCTRL_STMFX is not set
-CONFIG_PINCTRL_MAX77620=y
-# CONFIG_PINCTRL_RK805 is not set
-# CONFIG_PINCTRL_OCELOT is not set
-# CONFIG_PINCTRL_MICROCHIP_SGPIO is not set
-CONFIG_PINCTRL_KEEMBAY=m
+# CONFIG_PINCTRL_SX150X is not set
 CONFIG_PINCTRL_BCM2835=y
+CONFIG_PINCTRL_MADERA=m
 CONFIG_PINCTRL_IMX=y
 CONFIG_PINCTRL_IMX_SCU=y
 CONFIG_PINCTRL_IMX8MM=y
@@ -4371,6 +4395,15 @@ CONFIG_PINCTRL_IMX8QM=y
 CONFIG_PINCTRL_IMX8QXP=y
 CONFIG_PINCTRL_IMX8DXL=y
 CONFIG_PINCTRL_IMX8ULP=y
+# CONFIG_PINCTRL_IMXRT1050 is not set
+CONFIG_PINCTRL_MESON=y
+CONFIG_PINCTRL_MESON_GXBB=y
+CONFIG_PINCTRL_MESON_GXL=y
+CONFIG_PINCTRL_MESON8_PMX=y
+CONFIG_PINCTRL_MESON_AXG=y
+CONFIG_PINCTRL_MESON_AXG_PMX=y
+CONFIG_PINCTRL_MESON_G12A=y
+CONFIG_PINCTRL_MESON_A1=y
 CONFIG_PINCTRL_MVEBU=y
 CONFIG_PINCTRL_ARMADA_AP806=y
 CONFIG_PINCTRL_ARMADA_CP110=y
@@ -4408,9 +4441,11 @@ CONFIG_PINCTRL_QCOM_SSBI_PMIC=y
 # CONFIG_PINCTRL_SM6115 is not set
 # CONFIG_PINCTRL_SM6125 is not set
 # CONFIG_PINCTRL_SM6350 is not set
+# CONFIG_PINCTRL_SDX65 is not set
 CONFIG_PINCTRL_SM8150=m
 CONFIG_PINCTRL_SM8250=m
 # CONFIG_PINCTRL_SM8350 is not set
+# CONFIG_PINCTRL_SM8450 is not set
 # CONFIG_PINCTRL_LPASS_LPI is not set
 
 #
@@ -4447,15 +4482,6 @@ CONFIG_PINCTRL_TEGRA124=y
 CONFIG_PINCTRL_TEGRA210=y
 CONFIG_PINCTRL_TEGRA194=y
 CONFIG_PINCTRL_TEGRA_XUSB=y
-CONFIG_PINCTRL_MESON=y
-CONFIG_PINCTRL_MESON_GXBB=y
-CONFIG_PINCTRL_MESON_GXL=y
-CONFIG_PINCTRL_MESON8_PMX=y
-CONFIG_PINCTRL_MESON_AXG=y
-CONFIG_PINCTRL_MESON_AXG_PMX=y
-CONFIG_PINCTRL_MESON_G12A=y
-CONFIG_PINCTRL_MESON_A1=y
-CONFIG_PINCTRL_MADERA=m
 CONFIG_PINCTRL_VISCONTI=y
 CONFIG_PINCTRL_TMPV7700=y
 CONFIG_GPIOLIB=y
@@ -4522,7 +4548,6 @@ CONFIG_GPIO_PCA9570=m
 #
 # MFD GPIO expanders
 #
-CONFIG_GPIO_BD70528=m
 CONFIG_GPIO_BD71815=m
 CONFIG_GPIO_BD71828=m
 CONFIG_GPIO_MADERA=m
@@ -4562,6 +4587,7 @@ CONFIG_GPIO_VIPERBOARD=m
 CONFIG_GPIO_AGGREGATOR=m
 # CONFIG_GPIO_MOCKUP is not set
 CONFIG_GPIO_VIRTIO=m
+# CONFIG_GPIO_SIM is not set
 # end of Virtual GPIO drivers
 
 CONFIG_W1=m
@@ -4654,6 +4680,7 @@ CONFIG_CHARGER_GPIO=m
 # CONFIG_CHARGER_LT3651 is not set
 # CONFIG_CHARGER_LTC4162L is not set
 # CONFIG_CHARGER_DETECTOR_MAX14656 is not set
+# CONFIG_CHARGER_MAX77976 is not set
 # CONFIG_CHARGER_MT6360 is not set
 CONFIG_CHARGER_QCOM_SMBB=m
 # CONFIG_CHARGER_BQ2415X is not set
@@ -4784,6 +4811,7 @@ CONFIG_SENSORS_NCT6775=m
 # CONFIG_SENSORS_NCT7904 is not set
 # CONFIG_SENSORS_NPCM7XX is not set
 CONFIG_SENSORS_NZXT_KRAKEN2=m
+CONFIG_SENSORS_NZXT_SMART2=m
 # CONFIG_SENSORS_OCC_P8_I2C is not set
 # CONFIG_SENSORS_PCF8591 is not set
 # CONFIG_PMBUS is not set
@@ -4815,6 +4843,7 @@ CONFIG_SENSORS_ADS7871=m
 CONFIG_SENSORS_AMC6821=m
 # CONFIG_SENSORS_INA209 is not set
 # CONFIG_SENSORS_INA2XX is not set
+# CONFIG_SENSORS_INA238 is not set
 # CONFIG_SENSORS_INA3221 is not set
 # CONFIG_SENSORS_TC74 is not set
 CONFIG_SENSORS_THMC50=m
@@ -4942,6 +4971,7 @@ CONFIG_MESON_WATCHDOG=m
 CONFIG_ARM_SMC_WATCHDOG=m
 CONFIG_PM8916_WATCHDOG=m
 CONFIG_VISCONTI_WATCHDOG=m
+CONFIG_APPLE_WATCHDOG=m
 # CONFIG_ALIM7101_WDT is not set
 # CONFIG_I6300ESB_WDT is not set
 CONFIG_BCM2835_WDT=m
@@ -5105,7 +5135,6 @@ CONFIG_MFD_SYSCON=y
 # CONFIG_MFD_WM8350_I2C is not set
 CONFIG_MFD_WM8994=m
 CONFIG_MFD_ROHM_BD718XX=m
-CONFIG_MFD_ROHM_BD70528=m
 CONFIG_MFD_ROHM_BD71828=m
 CONFIG_MFD_ROHM_BD957XMUF=m
 # CONFIG_MFD_STPMIC1 is not set
@@ -5163,6 +5192,7 @@ CONFIG_REGULATOR_MAX77620=m
 # CONFIG_REGULATOR_MAX8893 is not set
 # CONFIG_REGULATOR_MAX8952 is not set
 # CONFIG_REGULATOR_MAX8973 is not set
+# CONFIG_REGULATOR_MAX20086 is not set
 # CONFIG_REGULATOR_MAX77826 is not set
 # CONFIG_REGULATOR_MCP16502 is not set
 CONFIG_REGULATOR_MP5416=m
@@ -5787,6 +5817,7 @@ CONFIG_VIDEO_OV5648=m
 CONFIG_VIDEO_OV6650=m
 CONFIG_VIDEO_OV5670=m
 CONFIG_VIDEO_OV5675=m
+CONFIG_VIDEO_OV5693=m
 CONFIG_VIDEO_OV5695=m
 CONFIG_VIDEO_OV7251=m
 CONFIG_VIDEO_OV772X=m
@@ -6096,9 +6127,8 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
 CONFIG_DRM_TTM=m
 CONFIG_DRM_VRAM_HELPER=m
 CONFIG_DRM_TTM_HELPER=m
-CONFIG_DRM_GEM_CMA_HELPER=y
-CONFIG_DRM_KMS_CMA_HELPER=y
-CONFIG_DRM_GEM_SHMEM_HELPER=y
+CONFIG_DRM_GEM_CMA_HELPER=m
+CONFIG_DRM_GEM_SHMEM_HELPER=m
 CONFIG_DRM_SCHED=m
 
 #
@@ -6167,7 +6197,8 @@ CONFIG_DRM_UDL=m
 CONFIG_DRM_AST=m
 # CONFIG_DRM_MGAG200 is not set
 # CONFIG_DRM_RCAR_DW_HDMI is not set
-# CONFIG_DRM_RCAR_LVDS is not set
+# CONFIG_DRM_RCAR_USE_LVDS is not set
+# CONFIG_DRM_RCAR_MIPI_DSI is not set
 # CONFIG_DRM_SUN4I is not set
 CONFIG_DRM_QXL=m
 CONFIG_DRM_VIRTIO_GPU=m
@@ -6195,6 +6226,7 @@ CONFIG_DRM_PANEL=y
 # CONFIG_DRM_PANEL_ABT_Y030XX067A is not set
 CONFIG_DRM_PANEL_ARM_VERSATILE=m
 CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596=m
+CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0=m
 CONFIG_DRM_PANEL_BOE_HIMAX8279D=m
 CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
 CONFIG_DRM_PANEL_DSI_CM=m
@@ -6210,6 +6242,7 @@ CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m
 # CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
 # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
 # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
+# CONFIG_DRM_PANEL_JDI_R63452 is not set
 CONFIG_DRM_PANEL_KHADAS_TS050=m
 # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
 # CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
@@ -6219,6 +6252,7 @@ CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829=m
 # CONFIG_DRM_PANEL_LG_LG4573 is not set
 # CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
 CONFIG_DRM_PANEL_NOVATEK_NT35510=m
+CONFIG_DRM_PANEL_NOVATEK_NT35950=m
 # CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set
 # CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
 CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=m
@@ -6250,6 +6284,7 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
 # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
 CONFIG_DRM_PANEL_SONY_ACX424AKP=m
 # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
+CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521=m
 # CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
 # CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
 # CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
@@ -6326,6 +6361,7 @@ CONFIG_DRM_CIRRUS_QEMU=m
 CONFIG_DRM_GM12U320=m
 CONFIG_DRM_SIMPLEDRM=m
 # CONFIG_TINYDRM_HX8357D is not set
+# CONFIG_TINYDRM_ILI9163 is not set
 # CONFIG_TINYDRM_ILI9225 is not set
 # CONFIG_TINYDRM_ILI9341 is not set
 CONFIG_TINYDRM_ILI9486=m
@@ -6348,6 +6384,7 @@ CONFIG_DRM_LEGACY=y
 CONFIG_DRM_VIA=m
 CONFIG_DRM_SAVAGE=m
 CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
+CONFIG_DRM_NOMODESET=y
 
 #
 # Frame buffer Devices
@@ -6466,6 +6503,7 @@ CONFIG_DUMMY_CONSOLE=y
 CONFIG_DUMMY_CONSOLE_COLUMNS=80
 CONFIG_DUMMY_CONSOLE_ROWS=25
 CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set
 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
 CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
 # CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
@@ -6608,6 +6646,9 @@ CONFIG_SND_HDA_RECONFIG=y
 CONFIG_SND_HDA_INPUT_BEEP=y
 CONFIG_SND_HDA_INPUT_BEEP_MODE=1
 CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_SCODEC_CS35L41=m
+CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m
+CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m
 CONFIG_SND_HDA_CODEC_REALTEK=m
 CONFIG_SND_HDA_CODEC_ANALOG=m
 CONFIG_SND_HDA_CODEC_SIGMATEL=m
@@ -6668,6 +6709,7 @@ CONFIG_SND_SOC_ADI=m
 CONFIG_SND_SOC_ADI_AXI_I2S=m
 CONFIG_SND_SOC_ADI_AXI_SPDIF=m
 # CONFIG_SND_SOC_AMD_ACP is not set
+# CONFIG_SND_AMD_ACP_CONFIG is not set
 # CONFIG_SND_ATMEL_SOC is not set
 CONFIG_SND_BCM2835_SOC_I2S=m
 CONFIG_SND_BCM63XX_I2S_WHISTLER=m
@@ -6840,6 +6882,7 @@ CONFIG_SND_SOC_ADAU7118_HW=m
 CONFIG_SND_SOC_ADAU7118_I2C=m
 # CONFIG_SND_SOC_AK4104 is not set
 # CONFIG_SND_SOC_AK4118 is not set
+# CONFIG_SND_SOC_AK4375 is not set
 CONFIG_SND_SOC_AK4458=m
 # CONFIG_SND_SOC_AK4554 is not set
 # CONFIG_SND_SOC_AK4613 is not set
@@ -6856,6 +6899,7 @@ CONFIG_SND_SOC_CROS_EC_CODEC=m
 # CONFIG_SND_SOC_CS35L34 is not set
 # CONFIG_SND_SOC_CS35L35 is not set
 # CONFIG_SND_SOC_CS35L36 is not set
+CONFIG_SND_SOC_CS35L41_LIB=m
 # CONFIG_SND_SOC_CS35L41_SPI is not set
 # CONFIG_SND_SOC_CS35L41_I2C is not set
 # CONFIG_SND_SOC_CS42L42 is not set
@@ -6927,6 +6971,7 @@ CONFIG_SND_SOC_RT5677=m
 CONFIG_SND_SOC_RT5677_SPI=m
 CONFIG_SND_SOC_RT5682=m
 CONFIG_SND_SOC_RT5682_I2C=m
+CONFIG_SND_SOC_RT5682S=m
 # CONFIG_SND_SOC_RT9120 is not set
 CONFIG_SND_SOC_SGTL5000=m
 CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
@@ -6951,10 +6996,11 @@ CONFIG_SND_SOC_SSM2518=m
 # CONFIG_SND_SOC_TDA7419 is not set
 # CONFIG_SND_SOC_TFA9879 is not set
 CONFIG_SND_SOC_TFA989X=m
+# CONFIG_SND_SOC_TLV320ADC3XXX is not set
 CONFIG_SND_SOC_TLV320AIC23=m
 CONFIG_SND_SOC_TLV320AIC23_I2C=m
 # CONFIG_SND_SOC_TLV320AIC23_SPI is not set
-# CONFIG_SND_SOC_TLV320AIC31XX is not set
+CONFIG_SND_SOC_TLV320AIC31XX=m
 # CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set
 # CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set
 CONFIG_SND_SOC_TLV320AIC3X=m
@@ -7082,6 +7128,7 @@ CONFIG_HID_KENSINGTON=m
 CONFIG_HID_LCPOWER=m
 CONFIG_HID_LED=m
 CONFIG_HID_LENOVO=m
+CONFIG_HID_LETSKETCH=m
 CONFIG_HID_LOGITECH=m
 CONFIG_HID_LOGITECH_DJ=m
 CONFIG_HID_LOGITECH_HIDPP=m
@@ -7244,6 +7291,7 @@ CONFIG_USB_U132_HCD=m
 # CONFIG_USB_HCD_BCMA is not set
 # CONFIG_USB_HCD_SSB is not set
 # CONFIG_USB_HCD_TEST_MODE is not set
+CONFIG_USB_XEN_HCD=m
 
 #
 # USB Device Class drivers
@@ -7761,6 +7809,10 @@ CONFIG_LEDS_TRIGGER_PANIC=y
 # CONFIG_LEDS_TRIGGER_PATTERN is not set
 CONFIG_LEDS_TRIGGER_AUDIO=m
 CONFIG_LEDS_TRIGGER_TTY=m
+
+#
+# Simple LED drivers
+#
 CONFIG_ACCESSIBILITY=y
 CONFIG_A11Y_BRAILLE_CONSOLE=y
 
@@ -7824,6 +7876,7 @@ CONFIG_EDAC_ALTERA_ETHERNET=y
 CONFIG_EDAC_ALTERA_NAND=y
 CONFIG_EDAC_ALTERA_USB=y
 CONFIG_EDAC_ALTERA_SDMMC=y
+CONFIG_EDAC_SYNOPSYS=m
 CONFIG_EDAC_XGENE=m
 # CONFIG_EDAC_QCOM is not set
 CONFIG_EDAC_DMC520=m
@@ -8269,6 +8322,7 @@ CONFIG_COMMON_CLK_BM1880=y
 # CONFIG_COMMON_CLK_CDCE706 is not set
 # CONFIG_COMMON_CLK_CDCE925 is not set
 # CONFIG_COMMON_CLK_CS2000_CP is not set
+# CONFIG_COMMON_CLK_LAN966X is not set
 CONFIG_COMMON_CLK_AXI_CLKGEN=m
 CONFIG_COMMON_CLK_XGENE=y
 # CONFIG_COMMON_CLK_PWM is not set
@@ -8351,6 +8405,7 @@ CONFIG_MDM_GCC_9607=m
 # CONFIG_MSM_GCC_8953 is not set
 # CONFIG_MSM_GCC_8974 is not set
 # CONFIG_MSM_MMCC_8974 is not set
+# CONFIG_MSM_GCC_8976 is not set
 # CONFIG_MSM_MMCC_8994 is not set
 # CONFIG_MSM_GCC_8994 is not set
 CONFIG_MSM_GCC_8996=y
@@ -8387,6 +8442,7 @@ CONFIG_SDM_DISPCC_845=m
 CONFIG_SDM_LPASSCC_845=m
 CONFIG_SDX_GCC_55=m
 CONFIG_SM_CAMCC_8250=m
+CONFIG_SDX_GCC_65=m
 CONFIG_SM_DISPCC_8250=m
 # CONFIG_SM_GCC_6115 is not set
 CONFIG_SM_GCC_6125=m
@@ -8394,6 +8450,7 @@ CONFIG_SM_GCC_6125=m
 # CONFIG_SM_GCC_8150 is not set
 CONFIG_SM_GCC_8250=m
 CONFIG_SM_GCC_8350=m
+CONFIG_SM_GCC_8450=m
 # CONFIG_SM_GPUCC_8150 is not set
 # CONFIG_SM_GPUCC_8250 is not set
 # CONFIG_SM_VIDEOCC_8150 is not set
@@ -8428,6 +8485,7 @@ CONFIG_SUN8I_DE2_CCU=y
 CONFIG_SUN8I_R_CCU=y
 CONFIG_CLK_TEGRA_BPMP=y
 CONFIG_TEGRA_CLK_DFLL=y
+CONFIG_COMMON_CLK_VISCONTI=y
 # CONFIG_XILINX_VCU is not set
 # CONFIG_HWSPINLOCK is not set
 
@@ -8542,6 +8600,12 @@ CONFIG_MESON_SECURE_PM_DOMAINS=y
 # end of Amlogic SoC drivers
 
 #
+# Apple SoC drivers
+#
+CONFIG_APPLE_PMGR_PWRSTATE=y
+# end of Apple SoC drivers
+
+#
 # Broadcom SoC drivers
 #
 CONFIG_BCM2835_POWER=y
@@ -8634,6 +8698,7 @@ CONFIG_ARM_IMX_BUS_DEVFREQ=m
 CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m
 CONFIG_ARM_TEGRA_DEVFREQ=m
 # CONFIG_ARM_RK3399_DMC_DEVFREQ is not set
+CONFIG_ARM_SUN8I_A33_MBUS_DEVFREQ=m
 # CONFIG_PM_DEVFREQ_EVENT is not set
 CONFIG_EXTCON=y
 
@@ -8795,6 +8860,12 @@ CONFIG_XILINX_XADC=m
 # end of Analog to digital converters
 
 #
+# Analog to digital and digital to analog converters
+#
+CONFIG_AD74413R=m
+# end of Analog to digital and digital to analog converters
+
+#
 # Analog Front Ends
 #
 # CONFIG_IIO_RESCALE is not set
@@ -8858,6 +8929,7 @@ CONFIG_IIO_SCMI=m
 #
 # Digital to analog converters
 #
+CONFIG_AD3552R=m
 # CONFIG_AD5064 is not set
 # CONFIG_AD5360 is not set
 # CONFIG_AD5380 is not set
@@ -8877,6 +8949,7 @@ CONFIG_AD5446=m
 # CONFIG_AD5766 is not set
 # CONFIG_AD5770R is not set
 # CONFIG_AD5791 is not set
+# CONFIG_AD7293 is not set
 # CONFIG_AD7303 is not set
 # CONFIG_AD8801 is not set
 # CONFIG_DPOT_DAC is not set
@@ -8901,6 +8974,12 @@ CONFIG_AD5446=m
 # end of IIO dummy driver
 
 #
+# Filters
+#
+CONFIG_ADMV8818=m
+# end of Filters
+
+#
 # Frequency Synthesizers DDS/PLL
 #
 
@@ -8915,6 +8994,7 @@ CONFIG_AD5446=m
 #
 # CONFIG_ADF4350 is not set
 CONFIG_ADF4371=m
+CONFIG_ADMV1013=m
 # CONFIG_ADRF6780 is not set
 # end of Phase-Locked Loop (PLL) frequency synthesizers
 # end of Frequency Synthesizers DDS/PLL
@@ -9281,6 +9361,7 @@ CONFIG_PHY_CADENCE_TORRENT=m
 CONFIG_PHY_CADENCE_SALVO=m
 CONFIG_PHY_FSL_IMX8MQ_USB=m
 CONFIG_PHY_MIXEL_MIPI_DPHY=m
+CONFIG_PHY_FSL_IMX8M_PCIE=m
 CONFIG_PHY_HI6220_USB=m
 CONFIG_PHY_HI3660_USB=m
 CONFIG_PHY_HI3670_USB=m
@@ -9294,10 +9375,12 @@ CONFIG_PHY_MVEBU_CP110_COMPHY=m
 CONFIG_PHY_MVEBU_CP110_UTMI=m
 # CONFIG_PHY_PXA_28NM_HSIC is not set
 # CONFIG_PHY_PXA_28NM_USB2 is not set
+CONFIG_PHY_LAN966X_SERDES=m
 # CONFIG_PHY_CPCAP_USB is not set
 # CONFIG_PHY_MAPPHONE_MDM6600 is not set
 # CONFIG_PHY_OCELOT_SERDES is not set
 CONFIG_PHY_QCOM_APQ8064_SATA=m
+CONFIG_PHY_QCOM_EDP=m
 CONFIG_PHY_QCOM_IPQ4019_USB=m
 CONFIG_PHY_QCOM_IPQ806X_SATA=m
 CONFIG_PHY_QCOM_PCIE2=m
@@ -9347,7 +9430,9 @@ CONFIG_THUNDERX2_PMU=m
 # CONFIG_XGENE_PMU is not set
 # CONFIG_ARM_SPE_PMU is not set
 CONFIG_ARM_DMC620_PMU=m
+CONFIG_MARVELL_CN10K_TAD_PMU=m
 # CONFIG_HISI_PMU is not set
+CONFIG_HISI_PCIE_PMU=m
 # end of Performance monitor support
 
 CONFIG_RAS=y
@@ -9368,7 +9453,6 @@ CONFIG_ND_CLAIM=y
 CONFIG_ND_BTT=y
 CONFIG_BTT=y
 CONFIG_OF_PMEM=y
-CONFIG_DAX_DRIVER=y
 CONFIG_DAX=y
 CONFIG_DEV_DAX=m
 CONFIG_DEV_DAX_HMEM=m
@@ -9429,7 +9513,9 @@ CONFIG_INTERCONNECT_QCOM=y
 CONFIG_INTERCONNECT_QCOM_MSM8916=m
 CONFIG_INTERCONNECT_QCOM_MSM8939=m
 # CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
+CONFIG_INTERCONNECT_QCOM_MSM8996=m
 CONFIG_INTERCONNECT_QCOM_OSM_L3=m
+CONFIG_INTERCONNECT_QCOM_QCM2290=m
 # CONFIG_INTERCONNECT_QCOM_QCS404 is not set
 CONFIG_INTERCONNECT_QCOM_SDM660=m
 CONFIG_INTERCONNECT_QCOM_SMD_RPM=m
@@ -9542,6 +9628,7 @@ CONFIG_FSCACHE_STATS=y
 # CONFIG_FSCACHE_DEBUG is not set
 CONFIG_CACHEFILES=m
 # CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_ERROR_INJECTION is not set
 # end of Caches
 
 #
@@ -10075,27 +10162,6 @@ CONFIG_CRYPTO_USER_API_AEAD=m
 CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
 # CONFIG_CRYPTO_STATS is not set
 CONFIG_CRYPTO_HASH_INFO=y
-
-#
-# Crypto library routines
-#
-CONFIG_CRYPTO_LIB_AES=y
-CONFIG_CRYPTO_LIB_ARC4=m
-CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m
-CONFIG_CRYPTO_LIB_BLAKE2S=m
-CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m
-CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
-CONFIG_CRYPTO_LIB_CHACHA=m
-CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
-CONFIG_CRYPTO_LIB_CURVE25519=m
-CONFIG_CRYPTO_LIB_DES=m
-CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9
-CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m
-CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
-CONFIG_CRYPTO_LIB_POLY1305=m
-CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
-CONFIG_CRYPTO_LIB_SHA256=y
-CONFIG_CRYPTO_LIB_SM4=m
 CONFIG_CRYPTO_HW=y
 CONFIG_CRYPTO_DEV_ALLWINNER=y
 CONFIG_CRYPTO_DEV_SUN4I_SS=m
@@ -10195,7 +10261,6 @@ CONFIG_HAVE_ARCH_BITREVERSE=y
 CONFIG_GENERIC_STRNCPY_FROM_USER=y
 CONFIG_GENERIC_STRNLEN_USER=y
 CONFIG_GENERIC_NET_UTILS=y
-CONFIG_GENERIC_FIND_FIRST_BIT=y
 CONFIG_CORDIC=m
 CONFIG_PRIME_NUMBERS=m
 CONFIG_RATIONAL=y
@@ -10205,6 +10270,28 @@ CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
 CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
 CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
 # CONFIG_INDIRECT_PIO is not set
+
+#
+# Crypto library routines
+#
+CONFIG_CRYPTO_LIB_AES=y
+CONFIG_CRYPTO_LIB_ARC4=m
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
+CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_DES=m
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9
+CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
+CONFIG_CRYPTO_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_SHA256=y
+CONFIG_CRYPTO_LIB_SM4=m
+# end of Crypto library routines
+
 CONFIG_CRC_CCITT=m
 CONFIG_CRC16=y
 CONFIG_CRC_T10DIF=y
@@ -10402,13 +10489,22 @@ CONFIG_HAVE_ARCH_KGDB=y
 # CONFIG_KGDB is not set
 CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
 # CONFIG_UBSAN is not set
+CONFIG_HAVE_ARCH_KCSAN=y
 CONFIG_HAVE_KCSAN_COMPILER=y
+# CONFIG_KCSAN is not set
 # end of Generic Kernel Debugging Instruments
 
 CONFIG_DEBUG_KERNEL=y
 CONFIG_DEBUG_MISC=y
 
 #
+# Networking Debugging
+#
+# CONFIG_NET_DEV_REFCNT_TRACKER is not set
+# CONFIG_NET_NS_REFCNT_TRACKER is not set
+# end of Networking Debugging
+
+#
 # Memory Debugging
 #
 CONFIG_PAGE_EXTENSION=y
@@ -10445,7 +10541,7 @@ CONFIG_HAVE_ARCH_KFENCE=y
 CONFIG_KFENCE=y
 CONFIG_KFENCE_SAMPLE_INTERVAL=0
 CONFIG_KFENCE_NUM_OBJECTS=255
-CONFIG_KFENCE_STATIC_KEYS=y
+# CONFIG_KFENCE_STATIC_KEYS is not set
 CONFIG_KFENCE_STRESS_TEST_FAULTS=0
 # end of Memory Debugging
 
@@ -10612,12 +10708,12 @@ CONFIG_FUNCTION_ERROR_INJECTION=y
 # CONFIG_FAULT_INJECTION is not set
 CONFIG_ARCH_HAS_KCOV=y
 CONFIG_CC_HAS_SANCOV_TRACE_PC=y
-# CONFIG_KCOV is not set
 CONFIG_RUNTIME_TESTING_MENU=y
 # CONFIG_LKDTM is not set
 # CONFIG_TEST_MIN_HEAP is not set
 # CONFIG_TEST_DIV64 is not set
 # CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_TEST_REF_TRACKER is not set
 # CONFIG_RBTREE_TEST is not set
 # CONFIG_REED_SOLOMON_TEST is not set
 # CONFIG_INTERVAL_TREE_TEST is not set
@@ -10636,7 +10732,7 @@ CONFIG_TEST_SCANF=m
 CONFIG_TEST_XARRAY=m
 # CONFIG_TEST_OVERFLOW is not set
 # CONFIG_TEST_RHASHTABLE is not set
-# CONFIG_TEST_HASH is not set
+# CONFIG_TEST_SIPHASH is not set
 # CONFIG_TEST_IDA is not set
 # CONFIG_TEST_LKM is not set
 CONFIG_TEST_BITOPS=m
diff --git a/gnu/packages/aux-files/linux-libre/5.16-i686.conf b/gnu/packages/aux-files/linux-libre/5.17-i686.conf
index 74306fd525..1eb0fcd62f 100644
--- a/gnu/packages/aux-files/linux-libre/5.16-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/5.17-i686.conf
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/i386 5.16.0 Kernel Configuration
+# Linux/i386 5.17.3 Kernel Configuration
 #
 CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.2.0"
 CONFIG_CC_IS_GCC=y
@@ -256,6 +256,7 @@ CONFIG_RSEQ=y
 # CONFIG_DEBUG_RSEQ is not set
 # CONFIG_EMBEDDED is not set
 CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_GUEST_PERF_EVENTS=y
 # CONFIG_PC104 is not set
 
 #
@@ -299,9 +300,6 @@ CONFIG_ARCH_MAY_HAVE_PC_FDC=y
 CONFIG_GENERIC_CALIBRATE_DELAY=y
 CONFIG_ARCH_HAS_CPU_RELAX=y
 CONFIG_ARCH_HAS_FILTER_PGPROT=y
-CONFIG_HAVE_SETUP_PER_CPU_AREA=y
-CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
-CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
 CONFIG_ARCH_HIBERNATION_POSSIBLE=y
 CONFIG_ARCH_NR_GPIO=512
 CONFIG_ARCH_SUSPEND_POSSIBLE=y
@@ -536,6 +534,7 @@ CONFIG_ACPI=y
 CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
 CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
 CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
+CONFIG_ACPI_TABLE_LIB=y
 # CONFIG_ACPI_DEBUGGER is not set
 CONFIG_ACPI_SPCR_TABLE=y
 CONFIG_ACPI_SLEEP=y
@@ -582,6 +581,7 @@ CONFIG_DPTF_PCH_FIVR=m
 CONFIG_ACPI_WATCHDOG=y
 CONFIG_ACPI_EXTLOG=m
 CONFIG_ACPI_CONFIGFS=m
+CONFIG_ACPI_PCC=y
 # CONFIG_PMIC_OPREGION is not set
 CONFIG_TPS68470_PMIC_OPREGION=y
 CONFIG_ACPI_VIOT=y
@@ -617,6 +617,7 @@ CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
 #
 CONFIG_X86_INTEL_PSTATE=y
 CONFIG_X86_PCC_CPUFREQ=y
+CONFIG_X86_AMD_PSTATE=y
 CONFIG_X86_ACPI_CPUFREQ=y
 CONFIG_X86_ACPI_CPUFREQ_CPB=y
 CONFIG_X86_POWERNOW_K6=m
@@ -687,9 +688,11 @@ CONFIG_COMPAT_32=y
 
 CONFIG_HAVE_ATOMIC_IOMAP=y
 CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_PFNCACHE=y
 CONFIG_HAVE_KVM_IRQCHIP=y
 CONFIG_HAVE_KVM_IRQFD=y
 CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_DIRTY_RING=y
 CONFIG_HAVE_KVM_EVENTFD=y
 CONFIG_KVM_MMIO=y
 CONFIG_KVM_ASYNC_PF=y
@@ -797,6 +800,7 @@ CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
 CONFIG_HAVE_EXIT_THREAD=y
 CONFIG_ARCH_MMAP_RND_BITS=8
 CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
 CONFIG_ISA_BUS_API=y
 CONFIG_CLONE_BACKWARDS=y
 CONFIG_OLD_SIGSUSPEND3=y
@@ -847,6 +851,7 @@ CONFIG_MODULE_SRCVERSION_ALL=y
 CONFIG_MODULE_COMPRESS_GZIP=y
 # CONFIG_MODULE_COMPRESS_XZ is not set
 # CONFIG_MODULE_COMPRESS_ZSTD is not set
+CONFIG_MODULE_DECOMPRESS=y
 # CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
 CONFIG_MODPROBE_PATH="/run/current-system/profile/bin/modprobe"
 # CONFIG_TRIM_UNUSED_KSYMS is not set
@@ -855,6 +860,7 @@ CONFIG_BLOCK=y
 CONFIG_BLK_RQ_ALLOC_TIME=y
 CONFIG_BLK_CGROUP_RWSTAT=y
 CONFIG_BLK_DEV_BSG_COMMON=y
+CONFIG_BLK_ICQ=y
 CONFIG_BLK_DEV_BSGLIB=y
 CONFIG_BLK_DEV_INTEGRITY=y
 CONFIG_BLK_DEV_INTEGRITY_T10=y
@@ -970,7 +976,9 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
 CONFIG_TRANSPARENT_HUGEPAGE=y
 CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
 # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
-CONFIG_CLEANCACHE=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
 CONFIG_FRONTSWAP=y
 CONFIG_CMA=y
 # CONFIG_CMA_DEBUG is not set
@@ -1011,6 +1019,7 @@ CONFIG_ARCH_HAS_PTE_SPECIAL=y
 CONFIG_MAPPING_DIRTY_HELPERS=y
 CONFIG_KMAP_LOCAL=y
 CONFIG_SECRETMEM=y
+CONFIG_ANON_VMA_NAME=y
 
 #
 # Data Access Monitoring
@@ -1217,7 +1226,6 @@ CONFIG_NF_TABLES_NETDEV=y
 CONFIG_NFT_NUMGEN=m
 CONFIG_NFT_CT=m
 CONFIG_NFT_FLOW_OFFLOAD=m
-CONFIG_NFT_COUNTER=m
 CONFIG_NFT_CONNLIMIT=m
 CONFIG_NFT_LOG=m
 CONFIG_NFT_LIMIT=m
@@ -1416,7 +1424,6 @@ CONFIG_NFT_REJECT_IPV4=m
 CONFIG_NFT_DUP_IPV4=m
 CONFIG_NFT_FIB_IPV4=m
 CONFIG_NF_TABLES_ARP=y
-CONFIG_NF_FLOW_TABLE_IPV4=m
 CONFIG_NF_DUP_IPV4=m
 CONFIG_NF_LOG_ARP=m
 CONFIG_NF_LOG_IPV4=m
@@ -1456,7 +1463,6 @@ CONFIG_NF_TABLES_IPV6=y
 CONFIG_NFT_REJECT_IPV6=m
 CONFIG_NFT_DUP_IPV6=m
 CONFIG_NFT_FIB_IPV6=m
-CONFIG_NF_FLOW_TABLE_IPV6=m
 CONFIG_NF_DUP_IPV6=m
 CONFIG_NF_REJECT_IPV6=m
 CONFIG_NF_LOG_IPV6=m
@@ -1904,6 +1910,7 @@ CONFIG_BT_INTEL=m
 CONFIG_BT_BCM=m
 CONFIG_BT_RTL=m
 CONFIG_BT_QCA=m
+CONFIG_BT_MTK=m
 CONFIG_BT_HCIBTUSB=m
 # CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
 CONFIG_BT_HCIBTUSB_BCM=y
@@ -1987,6 +1994,7 @@ CONFIG_RFKILL_LEDS=y
 CONFIG_RFKILL_INPUT=y
 CONFIG_RFKILL_GPIO=m
 CONFIG_NET_9P=m
+CONFIG_NET_9P_FD=m
 CONFIG_NET_9P_VIRTIO=m
 CONFIG_NET_9P_XEN=m
 CONFIG_NET_9P_RDMA=m
@@ -2177,9 +2185,7 @@ CONFIG_RAPIDIO_MPORT_CDEV=m
 #
 # RapidIO Switch drivers
 #
-CONFIG_RAPIDIO_TSI57X=m
 CONFIG_RAPIDIO_CPS_XX=m
-CONFIG_RAPIDIO_TSI568=m
 CONFIG_RAPIDIO_CPS_GEN2=m
 CONFIG_RAPIDIO_RXS_GEN3=m
 # end of RapidIO Switch drivers
@@ -2192,6 +2198,7 @@ CONFIG_UEVENT_HELPER=y
 CONFIG_UEVENT_HELPER_PATH=""
 CONFIG_DEVTMPFS=y
 CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_DEVTMPFS_SAFE=y
 # CONFIG_STANDALONE is not set
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 
@@ -2310,6 +2317,7 @@ CONFIG_GNSS_SERIAL=m
 CONFIG_GNSS_MTK_SERIAL=m
 CONFIG_GNSS_SIRF_SERIAL=m
 CONFIG_GNSS_UBX_SERIAL=m
+CONFIG_GNSS_USB=m
 CONFIG_MTD=m
 # CONFIG_MTD_TESTS is not set
 
@@ -2566,7 +2574,6 @@ CONFIG_XEN_BLKDEV_FRONTEND=y
 CONFIG_XEN_BLKDEV_BACKEND=m
 CONFIG_VIRTIO_BLK=y
 CONFIG_BLK_DEV_RBD=m
-CONFIG_BLK_DEV_RSXX=m
 CONFIG_BLK_DEV_RNBD=y
 CONFIG_BLK_DEV_RNBD_CLIENT=m
 CONFIG_BLK_DEV_RNBD_SERVER=m
@@ -2871,7 +2878,6 @@ CONFIG_ATA_BMDMA=y
 CONFIG_ATA_PIIX=y
 CONFIG_SATA_DWC=m
 # CONFIG_SATA_DWC_OLD_DMA is not set
-# CONFIG_SATA_DWC_DEBUG is not set
 CONFIG_SATA_MV=m
 CONFIG_SATA_NV=m
 CONFIG_SATA_PROMISE=m
@@ -3153,6 +3159,7 @@ CONFIG_NET_DSA_XRS700X=m
 CONFIG_NET_DSA_XRS700X_I2C=m
 CONFIG_NET_DSA_XRS700X_MDIO=m
 CONFIG_NET_DSA_QCA8K=m
+CONFIG_NET_DSA_REALTEK=m
 CONFIG_NET_DSA_REALTEK_SMI=m
 CONFIG_NET_DSA_SMSC_LAN9303=m
 CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
@@ -3272,6 +3279,9 @@ CONFIG_BE2NET_BE2=y
 CONFIG_BE2NET_BE3=y
 CONFIG_BE2NET_LANCER=y
 CONFIG_BE2NET_SKYHAWK=y
+CONFIG_NET_VENDOR_ENGLEDER=y
+CONFIG_TSNEP=m
+# CONFIG_TSNEP_SELFTESTS is not set
 CONFIG_NET_VENDOR_EZCHIP=y
 CONFIG_NET_VENDOR_FUJITSU=y
 CONFIG_PCMCIA_FMVJ18X=m
@@ -3301,6 +3311,7 @@ CONFIG_IAVF=m
 CONFIG_I40EVF=m
 CONFIG_ICE=m
 CONFIG_ICE_SWITCHDEV=y
+CONFIG_ICE_HWTS=y
 CONFIG_FM10K=m
 CONFIG_IGC=m
 CONFIG_NET_VENDOR_MICROSOFT=y
@@ -3468,6 +3479,8 @@ CONFIG_TEHUTI=m
 CONFIG_NET_VENDOR_TI=y
 # CONFIG_TI_CPSW_PHY_SEL is not set
 CONFIG_TLAN=m
+CONFIG_NET_VENDOR_VERTEXCOM=y
+CONFIG_MSE102X=m
 CONFIG_NET_VENDOR_VIA=y
 CONFIG_VIA_RHINE=m
 CONFIG_VIA_RHINE_MMIO=y
@@ -3550,6 +3563,9 @@ CONFIG_MICREL_KS8995MA=m
 #
 # MCTP Device Drivers
 #
+CONFIG_MCTP_SERIAL=m
+# end of MCTP Device Drivers
+
 CONFIG_MDIO_DEVICE=y
 CONFIG_MDIO_BUS=y
 CONFIG_FWNODE_MDIO=y
@@ -3774,7 +3790,6 @@ CONFIG_IWLWIFI_LEDS=y
 CONFIG_IWLDVM=m
 CONFIG_IWLMVM=m
 CONFIG_IWLWIFI_OPMODE_MODULAR=y
-# CONFIG_IWLWIFI_BCAST_FILTERING is not set
 
 #
 # Debugging Options
@@ -3967,6 +3982,7 @@ CONFIG_IEEE802154_MCR20A=m
 # Wireless WAN
 #
 CONFIG_WWAN=y
+# CONFIG_WWAN_DEBUGFS is not set
 # CONFIG_WWAN_HWSIM is not set
 CONFIG_MHI_WWAN_CTRL=m
 CONFIG_MHI_WWAN_MBIM=m
@@ -4394,6 +4410,7 @@ CONFIG_SERIAL_8250_DW=m
 CONFIG_SERIAL_8250_RT288X=y
 CONFIG_SERIAL_8250_LPSS=m
 CONFIG_SERIAL_8250_MID=m
+CONFIG_SERIAL_8250_PERICOM=m
 
 #
 # Non-8250 serial port support
@@ -4745,6 +4762,7 @@ CONFIG_PINCTRL_MCP23S08_I2C=m
 CONFIG_PINCTRL_MCP23S08_SPI=m
 CONFIG_PINCTRL_MCP23S08=m
 CONFIG_PINCTRL_SX150X=y
+CONFIG_PINCTRL_MADERA=m
 
 #
 # Intel pinctrl drivers
@@ -4774,7 +4792,6 @@ CONFIG_PINCTRL_TIGERLAKE=m
 #
 # end of Renesas pinctrl drivers
 
-CONFIG_PINCTRL_MADERA=m
 CONFIG_GPIOLIB=y
 CONFIG_GPIOLIB_FASTPATH_LIMIT=512
 CONFIG_GPIO_ACPI=y
@@ -4892,6 +4909,7 @@ CONFIG_GPIO_VIPERBOARD=m
 CONFIG_GPIO_AGGREGATOR=m
 # CONFIG_GPIO_MOCKUP is not set
 CONFIG_GPIO_VIRTIO=m
+# CONFIG_GPIO_SIM is not set
 # end of Virtual GPIO drivers
 
 CONFIG_W1=m
@@ -4988,6 +5006,7 @@ CONFIG_CHARGER_LT3651=m
 CONFIG_CHARGER_LTC4162L=m
 CONFIG_CHARGER_MAX14577=m
 CONFIG_CHARGER_MAX77693=m
+CONFIG_CHARGER_MAX77976=m
 CONFIG_CHARGER_MAX8997=m
 CONFIG_CHARGER_MAX8998=m
 CONFIG_CHARGER_MP2629=m
@@ -5135,6 +5154,7 @@ CONFIG_SENSORS_NCT7802=m
 CONFIG_SENSORS_NCT7904=m
 CONFIG_SENSORS_NPCM7XX=m
 CONFIG_SENSORS_NZXT_KRAKEN2=m
+CONFIG_SENSORS_NZXT_SMART2=m
 CONFIG_SENSORS_PCF8591=m
 CONFIG_PMBUS=m
 CONFIG_SENSORS_PMBUS=m
@@ -5142,6 +5162,7 @@ CONFIG_SENSORS_ADM1266=m
 CONFIG_SENSORS_ADM1275=m
 CONFIG_SENSORS_BEL_PFE=m
 CONFIG_SENSORS_BPA_RS600=m
+CONFIG_SENSORS_DELTA_AHE50DC_FAN=m
 CONFIG_SENSORS_FSP_3Y=m
 CONFIG_SENSORS_IBM_CFFPS=m
 CONFIG_SENSORS_DPS920AB=m
@@ -5149,6 +5170,7 @@ CONFIG_SENSORS_INSPUR_IPSPS=m
 CONFIG_SENSORS_IR35221=m
 CONFIG_SENSORS_IR36021=m
 CONFIG_SENSORS_IR38064=m
+CONFIG_SENSORS_IR38064_REGULATOR=y
 CONFIG_SENSORS_IRPS5401=m
 CONFIG_SENSORS_ISL68137=m
 CONFIG_SENSORS_LM25066=m
@@ -5165,6 +5187,7 @@ CONFIG_SENSORS_MAX34440=m
 CONFIG_SENSORS_MAX8688=m
 CONFIG_SENSORS_MP2888=m
 CONFIG_SENSORS_MP2975=m
+CONFIG_SENSORS_MP5023=m
 CONFIG_SENSORS_PIM4328=m
 CONFIG_SENSORS_PM6764TR=m
 CONFIG_SENSORS_PXE1610=m
@@ -5202,6 +5225,7 @@ CONFIG_SENSORS_ADS7871=m
 CONFIG_SENSORS_AMC6821=m
 CONFIG_SENSORS_INA209=m
 CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_INA238=m
 CONFIG_SENSORS_INA3221=m
 CONFIG_SENSORS_TC74=m
 CONFIG_SENSORS_THMC50=m
@@ -5236,6 +5260,8 @@ CONFIG_SENSORS_INTEL_M10_BMC_HWMON=m
 #
 CONFIG_SENSORS_ACPI_POWER=m
 CONFIG_SENSORS_ATK0110=m
+CONFIG_SENSORS_ASUS_WMI=m
+CONFIG_SENSORS_ASUS_WMI_EC=m
 CONFIG_THERMAL=y
 CONFIG_THERMAL_NETLINK=y
 # CONFIG_THERMAL_STATISTICS is not set
@@ -5349,6 +5375,7 @@ CONFIG_MACHZ_WDT=m
 CONFIG_SBC_EPX_C3_WATCHDOG=m
 CONFIG_NI903X_WDT=m
 CONFIG_NIC7018_WDT=m
+CONFIG_SIEMENS_SIMATIC_IPC_WDT=m
 CONFIG_MEN_A21_WDT=m
 CONFIG_XEN_WDT=m
 
@@ -5443,7 +5470,6 @@ CONFIG_MFD_INTEL_LPSS=m
 CONFIG_MFD_INTEL_LPSS_ACPI=m
 CONFIG_MFD_INTEL_LPSS_PCI=m
 CONFIG_MFD_INTEL_PMC_BXT=m
-CONFIG_MFD_INTEL_PMT=m
 CONFIG_MFD_IQS62X=m
 CONFIG_MFD_JANZ_CMODIO=m
 CONFIG_MFD_KEMPLD=m
@@ -5568,6 +5594,7 @@ CONFIG_REGULATOR_MAX8925=m
 CONFIG_REGULATOR_MAX8952=m
 CONFIG_REGULATOR_MAX8997=m
 CONFIG_REGULATOR_MAX8998=m
+CONFIG_REGULATOR_MAX20086=m
 CONFIG_REGULATOR_MAX77693=m
 CONFIG_REGULATOR_MAX77826=m
 CONFIG_REGULATOR_MC13XXX_CORE=m
@@ -5615,6 +5642,7 @@ CONFIG_REGULATOR_TPS6524X=m
 CONFIG_REGULATOR_TPS6586X=m
 CONFIG_REGULATOR_TPS65910=m
 CONFIG_REGULATOR_TPS65912=m
+CONFIG_REGULATOR_TPS68470=m
 CONFIG_REGULATOR_TWL4030=m
 CONFIG_REGULATOR_WM831X=m
 CONFIG_REGULATOR_WM8350=m
@@ -6207,6 +6235,7 @@ CONFIG_VIDEO_OV5648=m
 CONFIG_VIDEO_OV6650=m
 CONFIG_VIDEO_OV5670=m
 CONFIG_VIDEO_OV5675=m
+CONFIG_VIDEO_OV5693=m
 CONFIG_VIDEO_OV5695=m
 CONFIG_VIDEO_OV7251=m
 CONFIG_VIDEO_OV772X=m
@@ -6525,9 +6554,8 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
 CONFIG_DRM_TTM=m
 CONFIG_DRM_VRAM_HELPER=m
 CONFIG_DRM_TTM_HELPER=m
-CONFIG_DRM_GEM_CMA_HELPER=y
-CONFIG_DRM_KMS_CMA_HELPER=y
-CONFIG_DRM_GEM_SHMEM_HELPER=y
+CONFIG_DRM_GEM_CMA_HELPER=m
+CONFIG_DRM_GEM_SHMEM_HELPER=m
 CONFIG_DRM_SCHED=m
 
 #
@@ -6644,6 +6672,7 @@ CONFIG_DRM_CIRRUS_QEMU=m
 CONFIG_DRM_GM12U320=m
 # CONFIG_DRM_SIMPLEDRM is not set
 CONFIG_TINYDRM_HX8357D=m
+CONFIG_TINYDRM_ILI9163=m
 CONFIG_TINYDRM_ILI9225=m
 CONFIG_TINYDRM_ILI9341=m
 CONFIG_TINYDRM_ILI9486=m
@@ -6658,6 +6687,8 @@ CONFIG_DRM_GUD=m
 CONFIG_DRM_HYPERV=m
 # CONFIG_DRM_LEGACY is not set
 CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
+CONFIG_DRM_NOMODESET=y
+CONFIG_DRM_PRIVACY_SCREEN=y
 
 #
 # Frame buffer Devices
@@ -6838,6 +6869,7 @@ CONFIG_DUMMY_CONSOLE=y
 CONFIG_DUMMY_CONSOLE_COLUMNS=80
 CONFIG_DUMMY_CONSOLE_ROWS=25
 CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set
 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
 CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
 # CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
@@ -6948,7 +6980,9 @@ CONFIG_SND_MSND_PINNACLE=m
 CONFIG_SND_MSND_CLASSIC=m
 CONFIG_SND_PCI=y
 CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
 CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
 CONFIG_SND_ASIHPI=m
 CONFIG_SND_ATIIXP=m
 CONFIG_SND_ATIIXP_MODEM=m
@@ -6956,6 +6990,7 @@ CONFIG_SND_AU8810=m
 CONFIG_SND_AU8820=m
 CONFIG_SND_AU8830=m
 CONFIG_SND_AW2=m
+CONFIG_SND_AZT3328=m
 CONFIG_SND_BT87X=m
 # CONFIG_SND_BT87X_OVERCLOCK is not set
 CONFIG_SND_CA0106=m
@@ -6984,18 +7019,26 @@ CONFIG_SND_INDIGOIOX=m
 CONFIG_SND_INDIGODJX=m
 CONFIG_SND_EMU10K1=m
 CONFIG_SND_EMU10K1_SEQ=m
+CONFIG_SND_EMU10K1X=m
 CONFIG_SND_ENS1370=m
 CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_ES1968_INPUT=y
+CONFIG_SND_ES1968_RADIO=y
 CONFIG_SND_FM801=m
 CONFIG_SND_FM801_TEA575X_BOOL=y
 CONFIG_SND_HDSP=m
 CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
 CONFIG_SND_ICE1724=m
 CONFIG_SND_INTEL8X0=m
 CONFIG_SND_INTEL8X0M=m
 CONFIG_SND_KORG1212=m
 CONFIG_SND_LOLA=m
 CONFIG_SND_LX6464ES=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MAESTRO3_INPUT=y
 CONFIG_SND_MIXART=m
 CONFIG_SND_NM256=m
 CONFIG_SND_PCXHR=m
@@ -7003,6 +7046,9 @@ CONFIG_SND_RIPTIDE=m
 CONFIG_SND_RME32=m
 CONFIG_SND_RME96=m
 CONFIG_SND_RME9652=m
+CONFIG_SND_SIS7019=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
 CONFIG_SND_VIA82XX=m
 CONFIG_SND_VIA82XX_MODEM=m
 CONFIG_SND_VIRTUOSO=m
@@ -7020,6 +7066,9 @@ CONFIG_SND_HDA_RECONFIG=y
 CONFIG_SND_HDA_INPUT_BEEP=y
 CONFIG_SND_HDA_INPUT_BEEP_MODE=0
 CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_SCODEC_CS35L41=m
+CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m
+CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m
 CONFIG_SND_HDA_CODEC_REALTEK=m
 CONFIG_SND_HDA_CODEC_ANALOG=m
 CONFIG_SND_HDA_CODEC_SIGMATEL=m
@@ -7099,6 +7148,7 @@ CONFIG_SND_SOC_AMD_ACP5x=m
 CONFIG_SND_SOC_AMD_VANGOGH_MACH=m
 CONFIG_SND_SOC_AMD_ACP6x=m
 CONFIG_SND_SOC_AMD_YC_MACH=m
+CONFIG_SND_AMD_ACP_CONFIG=m
 CONFIG_SND_SOC_AMD_ACP_COMMON=m
 CONFIG_SND_SOC_AMD_ACP_I2S=m
 CONFIG_SND_SOC_AMD_ACP_PCM=m
@@ -7193,6 +7243,7 @@ CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m
 CONFIG_SND_SOC_INTEL_SOF_CS42L42_MACH=m
 CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m
 CONFIG_SND_SOC_INTEL_SOF_ES8336_MACH=m
+CONFIG_SND_SOC_INTEL_SOF_NAU8825_MACH=m
 CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH=m
 CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m
 CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m
@@ -7207,6 +7258,9 @@ CONFIG_SND_SOC_SOF_ACPI_DEV=m
 # CONFIG_SND_SOC_SOF_DEVELOPER_SUPPORT is not set
 CONFIG_SND_SOC_SOF=m
 CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE=y
+CONFIG_SND_SOC_SOF_AMD_TOPLEVEL=m
+CONFIG_SND_SOC_SOF_AMD_COMMON=m
+CONFIG_SND_SOC_SOF_AMD_RENOIR=m
 CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y
 CONFIG_SND_SOC_SOF_INTEL_HIFI_EP_IPC=m
 CONFIG_SND_SOC_SOF_INTEL_ATOM_HIFI_EP=m
@@ -7268,6 +7322,7 @@ CONFIG_SND_SOC_ADAU7118_HW=m
 CONFIG_SND_SOC_ADAU7118_I2C=m
 CONFIG_SND_SOC_AK4104=m
 CONFIG_SND_SOC_AK4118=m
+CONFIG_SND_SOC_AK4375=m
 CONFIG_SND_SOC_AK4458=m
 CONFIG_SND_SOC_AK4554=m
 CONFIG_SND_SOC_AK4613=m
@@ -7283,6 +7338,8 @@ CONFIG_SND_SOC_CS35L33=m
 CONFIG_SND_SOC_CS35L34=m
 CONFIG_SND_SOC_CS35L35=m
 CONFIG_SND_SOC_CS35L36=m
+CONFIG_SND_SOC_CS35L41_LIB=m
+CONFIG_SND_SOC_CS35L41=m
 CONFIG_SND_SOC_CS35L41_SPI=m
 CONFIG_SND_SOC_CS35L41_I2C=m
 CONFIG_SND_SOC_CS42L42=m
@@ -7405,6 +7462,7 @@ CONFIG_SND_SOC_TAS6424=m
 CONFIG_SND_SOC_TDA7419=m
 CONFIG_SND_SOC_TFA9879=m
 CONFIG_SND_SOC_TFA989X=m
+CONFIG_SND_SOC_TLV320ADC3XXX=m
 CONFIG_SND_SOC_TLV320AIC23=m
 CONFIG_SND_SOC_TLV320AIC23_I2C=m
 CONFIG_SND_SOC_TLV320AIC23_SPI=m
@@ -7537,6 +7595,7 @@ CONFIG_HID_KENSINGTON=m
 CONFIG_HID_LCPOWER=m
 CONFIG_HID_LED=m
 CONFIG_HID_LENOVO=m
+CONFIG_HID_LETSKETCH=m
 CONFIG_HID_LOGITECH=m
 CONFIG_HID_LOGITECH_DJ=m
 CONFIG_HID_LOGITECH_HIDPP=m
@@ -7685,6 +7744,7 @@ CONFIG_USB_R8A66597_HCD=m
 CONFIG_USB_HCD_BCMA=m
 CONFIG_USB_HCD_SSB=m
 # CONFIG_USB_HCD_TEST_MODE is not set
+CONFIG_USB_XEN_HCD=m
 
 #
 # USB Device Class drivers
@@ -8177,6 +8237,11 @@ CONFIG_LEDS_TRIGGER_NETDEV=m
 CONFIG_LEDS_TRIGGER_PATTERN=m
 CONFIG_LEDS_TRIGGER_AUDIO=m
 CONFIG_LEDS_TRIGGER_TTY=m
+
+#
+# Simple LED drivers
+#
+CONFIG_LEDS_SIEMENS_SIMATIC_IPC=m
 # CONFIG_ACCESSIBILITY is not set
 CONFIG_INFINIBAND=m
 CONFIG_INFINIBAND_USER_MAD=m
@@ -8794,7 +8859,6 @@ CONFIG_FB_TFT_TLS8204=m
 CONFIG_FB_TFT_UC1611=m
 CONFIG_FB_TFT_UC1701=m
 CONFIG_FB_TFT_UPD161704=m
-CONFIG_FB_TFT_WATTEROTT=m
 CONFIG_MOST_COMPONENTS=m
 CONFIG_MOST_NET=m
 CONFIG_MOST_VIDEO=m
@@ -8813,6 +8877,7 @@ CONFIG_PEAQ_WMI=m
 CONFIG_NVIDIA_WMI_EC_BACKLIGHT=m
 CONFIG_XIAOMI_WMI=m
 CONFIG_GIGABYTE_WMI=m
+CONFIG_YOGABOOK_WMI=m
 CONFIG_ACERHDF=m
 CONFIG_ACER_WIRELESS=m
 CONFIG_ACER_WMI=m
@@ -8823,6 +8888,7 @@ CONFIG_ASUS_LAPTOP=m
 CONFIG_ASUS_WIRELESS=m
 CONFIG_ASUS_WMI=m
 CONFIG_ASUS_NB_WMI=m
+CONFIG_ASUS_TF103C_DOCK=m
 CONFIG_MERAKI_MX100=m
 CONFIG_EEEPC_LAPTOP=m
 CONFIG_EEEPC_WMI=m
@@ -8883,6 +8949,7 @@ CONFIG_INTEL_MRFLD_PWRBTN=m
 CONFIG_INTEL_PUNIT_IPC=m
 CONFIG_INTEL_RST=m
 CONFIG_INTEL_SMARTCONNECT=m
+CONFIG_INTEL_VSEC=m
 CONFIG_MSI_LAPTOP=m
 CONFIG_MSI_WMI=m
 CONFIG_PCENGINES_APU2=m
@@ -8904,6 +8971,7 @@ CONFIG_TOPSTAR_LAPTOP=m
 CONFIG_I2C_MULTI_INSTANTIATE=m
 # CONFIG_MLX_PLATFORM is not set
 # CONFIG_TOUCHSCREEN_DMI is not set
+# CONFIG_X86_ANDROID_TABLETS is not set
 CONFIG_FW_ATTR_CLASS=m
 CONFIG_INTEL_IMR=y
 CONFIG_INTEL_IPS=m
@@ -8912,6 +8980,7 @@ CONFIG_INTEL_SCU=y
 CONFIG_INTEL_SCU_PCI=y
 CONFIG_INTEL_SCU_PLATFORM=m
 CONFIG_INTEL_SCU_IPC_UTIL=m
+CONFIG_SIEMENS_SIMATIC_IPC=m
 CONFIG_PMC_ATOM=y
 CONFIG_CHROME_PLATFORMS=y
 CONFIG_CHROMEOS_LAPTOP=m
@@ -8947,6 +9016,7 @@ CONFIG_COMMON_CLK_SI5341=m
 CONFIG_COMMON_CLK_SI5351=m
 CONFIG_COMMON_CLK_SI544=m
 CONFIG_COMMON_CLK_CDCE706=m
+CONFIG_COMMON_CLK_TPS68470=m
 CONFIG_COMMON_CLK_CS2000_CP=m
 CONFIG_CLK_TWL6040=m
 CONFIG_COMMON_CLK_PALMAS=m
@@ -9228,6 +9298,9 @@ CONFIG_TI_ADC128S052=m
 CONFIG_TI_ADC161S626=m
 CONFIG_TI_ADS1015=m
 CONFIG_TI_ADS7950=m
+CONFIG_TI_ADS8344=m
+CONFIG_TI_ADS8688=m
+CONFIG_TI_ADS124S08=m
 CONFIG_TI_ADS131E08=m
 CONFIG_TI_AM335X_ADC=m
 CONFIG_TI_TLC4541=m
@@ -9239,6 +9312,12 @@ CONFIG_XILINX_XADC=m
 # end of Analog to digital converters
 
 #
+# Analog to digital and digital to analog converters
+#
+CONFIG_AD74413R=m
+# end of Analog to digital and digital to analog converters
+
+#
 # Analog Front Ends
 #
 # end of Analog Front Ends
@@ -9312,6 +9391,7 @@ CONFIG_IIO_ST_SENSORS_CORE=m
 #
 # Digital to analog converters
 #
+CONFIG_AD3552R=m
 CONFIG_AD5064=m
 CONFIG_AD5360=m
 CONFIG_AD5380=m
@@ -9333,6 +9413,7 @@ CONFIG_AD5764=m
 CONFIG_AD5766=m
 CONFIG_AD5770R=m
 CONFIG_AD5791=m
+CONFIG_AD7293=m
 CONFIG_AD7303=m
 CONFIG_AD8801=m
 CONFIG_DS4424=m
@@ -9340,6 +9421,7 @@ CONFIG_LTC1660=m
 CONFIG_LTC2632=m
 CONFIG_M62332=m
 CONFIG_MAX517=m
+CONFIG_MAX5821=m
 CONFIG_MCP4725=m
 CONFIG_MCP4922=m
 CONFIG_TI_DAC082S085=m
@@ -9357,6 +9439,11 @@ CONFIG_IIO_SIMPLE_DUMMY=m
 # end of IIO dummy driver
 
 #
+# Filters
+#
+# end of Filters
+
+#
 # Frequency Synthesizers DDS/PLL
 #
 
@@ -9371,6 +9458,7 @@ CONFIG_AD9523=m
 #
 CONFIG_ADF4350=m
 CONFIG_ADF4371=m
+CONFIG_ADMV1013=m
 CONFIG_ADRF6780=m
 # end of Phase-Locked Loop (PLL) frequency synthesizers
 # end of Frequency Synthesizers DDS/PLL
@@ -9781,7 +9869,6 @@ CONFIG_ND_CLAIM=y
 CONFIG_ND_BTT=m
 CONFIG_BTT=y
 CONFIG_NVDIMM_KEYS=y
-CONFIG_DAX_DRIVER=y
 CONFIG_DAX=y
 CONFIG_DEV_DAX=m
 CONFIG_NVMEM=y
@@ -9963,6 +10050,7 @@ CONFIG_FSCACHE_STATS=y
 # CONFIG_FSCACHE_DEBUG is not set
 CONFIG_CACHEFILES=m
 # CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_ERROR_INJECTION is not set
 # end of Caches
 
 #
@@ -10524,6 +10612,7 @@ CONFIG_CRYPTO_DRBG_HASH=y
 CONFIG_CRYPTO_DRBG_CTR=y
 CONFIG_CRYPTO_DRBG=y
 CONFIG_CRYPTO_JITTERENTROPY=y
+CONFIG_CRYPTO_KDF800108_CTR=y
 CONFIG_CRYPTO_USER_API=m
 CONFIG_CRYPTO_USER_API_HASH=m
 CONFIG_CRYPTO_USER_API_SKCIPHER=m
@@ -10533,25 +10622,6 @@ CONFIG_CRYPTO_USER_API_AEAD=m
 CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
 # CONFIG_CRYPTO_STATS is not set
 CONFIG_CRYPTO_HASH_INFO=y
-
-#
-# Crypto library routines
-#
-CONFIG_CRYPTO_LIB_AES=y
-CONFIG_CRYPTO_LIB_ARC4=m
-CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m
-CONFIG_CRYPTO_LIB_BLAKE2S=m
-CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
-CONFIG_CRYPTO_LIB_CHACHA=m
-CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
-CONFIG_CRYPTO_LIB_CURVE25519=m
-CONFIG_CRYPTO_LIB_DES=m
-CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1
-CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
-CONFIG_CRYPTO_LIB_POLY1305=m
-CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
-CONFIG_CRYPTO_LIB_SHA256=y
-CONFIG_CRYPTO_LIB_SM4=m
 CONFIG_CRYPTO_HW=y
 CONFIG_CRYPTO_DEV_PADLOCK=y
 CONFIG_CRYPTO_DEV_PADLOCK_AES=m
@@ -10611,7 +10681,6 @@ CONFIG_BITREVERSE=y
 CONFIG_GENERIC_STRNCPY_FROM_USER=y
 CONFIG_GENERIC_STRNLEN_USER=y
 CONFIG_GENERIC_NET_UTILS=y
-CONFIG_GENERIC_FIND_FIRST_BIT=y
 CONFIG_CORDIC=m
 CONFIG_PRIME_NUMBERS=m
 CONFIG_RATIONAL=y
@@ -10619,6 +10688,26 @@ CONFIG_GENERIC_PCI_IOMAP=y
 CONFIG_GENERIC_IOMAP=y
 CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
 CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
+
+#
+# Crypto library routines
+#
+CONFIG_CRYPTO_LIB_AES=y
+CONFIG_CRYPTO_LIB_ARC4=m
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
+CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_DES=m
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1
+CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
+CONFIG_CRYPTO_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_SHA256=y
+CONFIG_CRYPTO_LIB_SM4=m
+# end of Crypto library routines
+
 CONFIG_CRC_CCITT=y
 CONFIG_CRC16=y
 CONFIG_CRC_T10DIF=y
@@ -10814,6 +10903,13 @@ CONFIG_DEBUG_KERNEL=y
 CONFIG_DEBUG_MISC=y
 
 #
+# Networking Debugging
+#
+# CONFIG_NET_DEV_REFCNT_TRACKER is not set
+# CONFIG_NET_NS_REFCNT_TRACKER is not set
+# end of Networking Debugging
+
+#
 # Memory Debugging
 #
 CONFIG_PAGE_EXTENSION=y
@@ -10850,7 +10946,7 @@ CONFIG_HAVE_ARCH_KFENCE=y
 CONFIG_KFENCE=y
 CONFIG_KFENCE_SAMPLE_INTERVAL=0
 CONFIG_KFENCE_NUM_OBJECTS=255
-CONFIG_KFENCE_STATIC_KEYS=y
+# CONFIG_KFENCE_STATIC_KEYS is not set
 CONFIG_KFENCE_STRESS_TEST_FAULTS=0
 # end of Memory Debugging
 
@@ -10951,6 +11047,8 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
 CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
 CONFIG_HAVE_FENTRY=y
 CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y
+CONFIG_BUILDTIME_MCOUNT_SORT=y
 CONFIG_TRACER_MAX_TRACE=y
 CONFIG_TRACE_CLOCK=y
 CONFIG_RING_BUFFER=y
@@ -10998,6 +11096,7 @@ CONFIG_SYNTH_EVENTS=y
 # CONFIG_TRACE_EVAL_MAP_FILE is not set
 # CONFIG_FTRACE_RECORD_RECURSION is not set
 # CONFIG_FTRACE_STARTUP_TEST is not set
+# CONFIG_FTRACE_SORT_STARTUP_TEST is not set
 # CONFIG_RING_BUFFER_STARTUP_TEST is not set
 # CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set
 # CONFIG_MMIOTRACE_TEST is not set
@@ -11053,6 +11152,7 @@ CONFIG_RUNTIME_TESTING_MENU=y
 # CONFIG_TEST_MIN_HEAP is not set
 # CONFIG_TEST_DIV64 is not set
 # CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_TEST_REF_TRACKER is not set
 # CONFIG_RBTREE_TEST is not set
 # CONFIG_REED_SOLOMON_TEST is not set
 CONFIG_INTERVAL_TREE_TEST=m
@@ -11071,7 +11171,7 @@ CONFIG_TEST_UUID=m
 CONFIG_TEST_XARRAY=m
 CONFIG_TEST_OVERFLOW=m
 CONFIG_TEST_RHASHTABLE=m
-CONFIG_TEST_HASH=m
+CONFIG_TEST_SIPHASH=m
 CONFIG_TEST_IDA=m
 CONFIG_TEST_PARMAN=m
 CONFIG_TEST_LKM=m
diff --git a/gnu/packages/aux-files/linux-libre/5.16-x86_64.conf b/gnu/packages/aux-files/linux-libre/5.17-x86_64.conf
index f4746b40e2..90fa28fedc 100644
--- a/gnu/packages/aux-files/linux-libre/5.16-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/5.17-x86_64.conf
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.16.0 Kernel Configuration
+# Linux/x86 5.17.3 Kernel Configuration
 #
 CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.2.0"
 CONFIG_CC_IS_GCC=y
@@ -269,6 +269,7 @@ CONFIG_RSEQ=y
 # CONFIG_DEBUG_RSEQ is not set
 # CONFIG_EMBEDDED is not set
 CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_GUEST_PERF_EVENTS=y
 # CONFIG_PC104 is not set
 
 #
@@ -313,9 +314,6 @@ CONFIG_ARCH_MAY_HAVE_PC_FDC=y
 CONFIG_GENERIC_CALIBRATE_DELAY=y
 CONFIG_ARCH_HAS_CPU_RELAX=y
 CONFIG_ARCH_HAS_FILTER_PGPROT=y
-CONFIG_HAVE_SETUP_PER_CPU_AREA=y
-CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
-CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
 CONFIG_ARCH_HIBERNATION_POSSIBLE=y
 CONFIG_ARCH_NR_GPIO=1024
 CONFIG_ARCH_SUSPEND_POSSIBLE=y
@@ -511,7 +509,6 @@ CONFIG_LIVEPATCH=y
 
 CONFIG_ARCH_HAS_ADD_PAGES=y
 CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
-CONFIG_USE_PERCPU_NUMA_NODE_ID=y
 
 #
 # Power management and ACPI options
@@ -546,6 +543,7 @@ CONFIG_ACPI=y
 CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
 CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
 CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
+CONFIG_ACPI_TABLE_LIB=y
 # CONFIG_ACPI_DEBUGGER is not set
 CONFIG_ACPI_SPCR_TABLE=y
 CONFIG_ACPI_FPDT=y
@@ -602,6 +600,8 @@ CONFIG_ACPI_WATCHDOG=y
 CONFIG_ACPI_EXTLOG=m
 CONFIG_ACPI_ADXL=y
 CONFIG_ACPI_CONFIGFS=m
+CONFIG_ACPI_PFRUT=m
+CONFIG_ACPI_PCC=y
 # CONFIG_PMIC_OPREGION is not set
 CONFIG_TPS68470_PMIC_OPREGION=y
 CONFIG_ACPI_VIOT=y
@@ -631,6 +631,7 @@ CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
 #
 CONFIG_X86_INTEL_PSTATE=y
 CONFIG_X86_PCC_CPUFREQ=y
+CONFIG_X86_AMD_PSTATE=y
 CONFIG_X86_ACPI_CPUFREQ=y
 CONFIG_X86_ACPI_CPUFREQ_CPB=y
 CONFIG_X86_POWERNOW_K8=y
@@ -683,9 +684,11 @@ CONFIG_SYSVIPC_COMPAT=y
 # end of Binary Emulations
 
 CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_PFNCACHE=y
 CONFIG_HAVE_KVM_IRQCHIP=y
 CONFIG_HAVE_KVM_IRQFD=y
 CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_DIRTY_RING=y
 CONFIG_HAVE_KVM_EVENTFD=y
 CONFIG_KVM_MMIO=y
 CONFIG_KVM_ASYNC_PF=y
@@ -805,6 +808,7 @@ CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
 CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
 CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
 CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
 CONFIG_HAVE_STACK_VALIDATION=y
 CONFIG_HAVE_RELIABLE_STACKTRACE=y
 CONFIG_ISA_BUS_API=y
@@ -828,9 +832,11 @@ CONFIG_HAVE_STATIC_CALL_INLINE=y
 CONFIG_HAVE_PREEMPT_DYNAMIC=y
 CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
 CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
 CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
 CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
 CONFIG_DYNAMIC_SIGFRAME=y
+CONFIG_HAVE_ARCH_NODE_DEV_GROUP=y
 
 #
 # GCOV-based kernel profiling
@@ -859,6 +865,7 @@ CONFIG_MODULE_SRCVERSION_ALL=y
 CONFIG_MODULE_COMPRESS_GZIP=y
 # CONFIG_MODULE_COMPRESS_XZ is not set
 # CONFIG_MODULE_COMPRESS_ZSTD is not set
+CONFIG_MODULE_DECOMPRESS=y
 # CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
 CONFIG_MODPROBE_PATH="/run/current-system/profile/bin/modprobe"
 # CONFIG_TRIM_UNUSED_KSYMS is not set
@@ -867,6 +874,7 @@ CONFIG_BLOCK=y
 CONFIG_BLK_RQ_ALLOC_TIME=y
 CONFIG_BLK_CGROUP_RWSTAT=y
 CONFIG_BLK_DEV_BSG_COMMON=y
+CONFIG_BLK_ICQ=y
 CONFIG_BLK_DEV_BSGLIB=y
 CONFIG_BLK_DEV_INTEGRITY=y
 CONFIG_BLK_DEV_INTEGRITY_T10=y
@@ -999,7 +1007,10 @@ CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
 # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
 CONFIG_ARCH_WANTS_THP_SWAP=y
 CONFIG_THP_SWAP=y
-CONFIG_CLEANCACHE=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_USE_PERCPU_NUMA_NODE_ID=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
 CONFIG_FRONTSWAP=y
 CONFIG_CMA=y
 # CONFIG_CMA_DEBUG is not set
@@ -1047,6 +1058,7 @@ CONFIG_ARCH_HAS_PKEYS=y
 CONFIG_ARCH_HAS_PTE_SPECIAL=y
 CONFIG_MAPPING_DIRTY_HELPERS=y
 CONFIG_SECRETMEM=y
+CONFIG_ANON_VMA_NAME=y
 
 #
 # Data Access Monitoring
@@ -1256,7 +1268,6 @@ CONFIG_NF_TABLES_NETDEV=y
 CONFIG_NFT_NUMGEN=m
 CONFIG_NFT_CT=m
 CONFIG_NFT_FLOW_OFFLOAD=m
-CONFIG_NFT_COUNTER=m
 CONFIG_NFT_CONNLIMIT=m
 CONFIG_NFT_LOG=m
 CONFIG_NFT_LIMIT=m
@@ -1456,7 +1467,6 @@ CONFIG_NFT_REJECT_IPV4=m
 CONFIG_NFT_DUP_IPV4=m
 CONFIG_NFT_FIB_IPV4=m
 CONFIG_NF_TABLES_ARP=y
-CONFIG_NF_FLOW_TABLE_IPV4=m
 CONFIG_NF_DUP_IPV4=m
 CONFIG_NF_LOG_ARP=m
 CONFIG_NF_LOG_IPV4=m
@@ -1496,7 +1506,6 @@ CONFIG_NF_TABLES_IPV6=y
 CONFIG_NFT_REJECT_IPV6=m
 CONFIG_NFT_DUP_IPV6=m
 CONFIG_NFT_FIB_IPV6=m
-CONFIG_NF_FLOW_TABLE_IPV6=m
 CONFIG_NF_DUP_IPV6=m
 CONFIG_NF_REJECT_IPV6=m
 CONFIG_NF_LOG_IPV6=m
@@ -1934,6 +1943,7 @@ CONFIG_BT_INTEL=m
 CONFIG_BT_BCM=m
 CONFIG_BT_RTL=m
 CONFIG_BT_QCA=m
+CONFIG_BT_MTK=m
 CONFIG_BT_HCIBTUSB=m
 # CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
 CONFIG_BT_HCIBTUSB_BCM=y
@@ -2017,6 +2027,7 @@ CONFIG_RFKILL_LEDS=y
 CONFIG_RFKILL_INPUT=y
 CONFIG_RFKILL_GPIO=m
 CONFIG_NET_9P=m
+CONFIG_NET_9P_FD=m
 CONFIG_NET_9P_VIRTIO=m
 CONFIG_NET_9P_XEN=m
 CONFIG_NET_9P_RDMA=m
@@ -2206,9 +2217,7 @@ CONFIG_RAPIDIO_MPORT_CDEV=m
 #
 # RapidIO Switch drivers
 #
-CONFIG_RAPIDIO_TSI57X=m
 CONFIG_RAPIDIO_CPS_XX=m
-CONFIG_RAPIDIO_TSI568=m
 CONFIG_RAPIDIO_CPS_GEN2=m
 CONFIG_RAPIDIO_RXS_GEN3=m
 # end of RapidIO Switch drivers
@@ -2221,6 +2230,7 @@ CONFIG_UEVENT_HELPER=y
 CONFIG_UEVENT_HELPER_PATH=""
 CONFIG_DEVTMPFS=y
 CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_DEVTMPFS_SAFE=y
 # CONFIG_STANDALONE is not set
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 
@@ -2336,6 +2346,7 @@ CONFIG_GNSS_SERIAL=m
 CONFIG_GNSS_MTK_SERIAL=m
 CONFIG_GNSS_SIRF_SERIAL=m
 CONFIG_GNSS_UBX_SERIAL=m
+CONFIG_GNSS_USB=m
 CONFIG_MTD=m
 # CONFIG_MTD_TESTS is not set
 
@@ -2586,7 +2597,6 @@ CONFIG_XEN_BLKDEV_FRONTEND=y
 CONFIG_XEN_BLKDEV_BACKEND=m
 CONFIG_VIRTIO_BLK=y
 CONFIG_BLK_DEV_RBD=m
-CONFIG_BLK_DEV_RSXX=m
 CONFIG_BLK_DEV_RNBD=y
 CONFIG_BLK_DEV_RNBD_CLIENT=m
 CONFIG_BLK_DEV_RNBD_SERVER=m
@@ -2884,7 +2894,6 @@ CONFIG_ATA_BMDMA=y
 CONFIG_ATA_PIIX=y
 CONFIG_SATA_DWC=m
 # CONFIG_SATA_DWC_OLD_DMA is not set
-# CONFIG_SATA_DWC_DEBUG is not set
 CONFIG_SATA_MV=m
 CONFIG_SATA_NV=m
 CONFIG_SATA_PROMISE=m
@@ -3158,6 +3167,7 @@ CONFIG_NET_DSA_XRS700X=m
 CONFIG_NET_DSA_XRS700X_I2C=m
 CONFIG_NET_DSA_XRS700X_MDIO=m
 CONFIG_NET_DSA_QCA8K=m
+CONFIG_NET_DSA_REALTEK=m
 CONFIG_NET_DSA_REALTEK_SMI=m
 CONFIG_NET_DSA_SMSC_LAN9303=m
 CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
@@ -3277,6 +3287,9 @@ CONFIG_BE2NET_BE2=y
 CONFIG_BE2NET_BE3=y
 CONFIG_BE2NET_LANCER=y
 CONFIG_BE2NET_SKYHAWK=y
+CONFIG_NET_VENDOR_ENGLEDER=y
+CONFIG_TSNEP=m
+# CONFIG_TSNEP_SELFTESTS is not set
 CONFIG_NET_VENDOR_EZCHIP=y
 CONFIG_NET_VENDOR_FUJITSU=y
 CONFIG_PCMCIA_FMVJ18X=m
@@ -3308,6 +3321,7 @@ CONFIG_IAVF=m
 CONFIG_I40EVF=m
 CONFIG_ICE=m
 CONFIG_ICE_SWITCHDEV=y
+CONFIG_ICE_HWTS=y
 CONFIG_FM10K=m
 CONFIG_IGC=m
 CONFIG_NET_VENDOR_MICROSOFT=y
@@ -3474,6 +3488,8 @@ CONFIG_TEHUTI=m
 CONFIG_NET_VENDOR_TI=y
 # CONFIG_TI_CPSW_PHY_SEL is not set
 CONFIG_TLAN=m
+CONFIG_NET_VENDOR_VERTEXCOM=y
+CONFIG_MSE102X=m
 CONFIG_NET_VENDOR_VIA=y
 CONFIG_VIA_RHINE=m
 CONFIG_VIA_RHINE_MMIO=y
@@ -3556,6 +3572,9 @@ CONFIG_MICREL_KS8995MA=m
 #
 # MCTP Device Drivers
 #
+CONFIG_MCTP_SERIAL=m
+# end of MCTP Device Drivers
+
 CONFIG_MDIO_DEVICE=y
 CONFIG_MDIO_BUS=y
 CONFIG_FWNODE_MDIO=y
@@ -3782,7 +3801,6 @@ CONFIG_IWLWIFI_LEDS=y
 CONFIG_IWLDVM=m
 CONFIG_IWLMVM=m
 CONFIG_IWLWIFI_OPMODE_MODULAR=y
-# CONFIG_IWLWIFI_BCAST_FILTERING is not set
 
 #
 # Debugging Options
@@ -3982,6 +4000,7 @@ CONFIG_IEEE802154_MCR20A=m
 # Wireless WAN
 #
 CONFIG_WWAN=y
+# CONFIG_WWAN_DEBUGFS is not set
 # CONFIG_WWAN_HWSIM is not set
 CONFIG_MHI_WWAN_CTRL=m
 CONFIG_MHI_WWAN_MBIM=m
@@ -4398,6 +4417,7 @@ CONFIG_SERIAL_8250_DW=m
 CONFIG_SERIAL_8250_RT288X=y
 CONFIG_SERIAL_8250_LPSS=m
 CONFIG_SERIAL_8250_MID=m
+CONFIG_SERIAL_8250_PERICOM=m
 
 #
 # Non-8250 serial port support
@@ -4737,6 +4757,7 @@ CONFIG_PINCTRL_MCP23S08_I2C=m
 CONFIG_PINCTRL_MCP23S08_SPI=m
 CONFIG_PINCTRL_MCP23S08=m
 CONFIG_PINCTRL_SX150X=y
+CONFIG_PINCTRL_MADERA=m
 
 #
 # Intel pinctrl drivers
@@ -4766,7 +4787,6 @@ CONFIG_PINCTRL_TIGERLAKE=m
 #
 # end of Renesas pinctrl drivers
 
-CONFIG_PINCTRL_MADERA=m
 CONFIG_GPIOLIB=y
 CONFIG_GPIOLIB_FASTPATH_LIMIT=512
 CONFIG_GPIO_ACPI=y
@@ -4880,6 +4900,7 @@ CONFIG_GPIO_VIPERBOARD=m
 CONFIG_GPIO_AGGREGATOR=m
 # CONFIG_GPIO_MOCKUP is not set
 CONFIG_GPIO_VIRTIO=m
+# CONFIG_GPIO_SIM is not set
 # end of Virtual GPIO drivers
 
 CONFIG_W1=m
@@ -4976,6 +4997,7 @@ CONFIG_CHARGER_LT3651=m
 CONFIG_CHARGER_LTC4162L=m
 CONFIG_CHARGER_MAX14577=m
 CONFIG_CHARGER_MAX77693=m
+CONFIG_CHARGER_MAX77976=m
 CONFIG_CHARGER_MAX8997=m
 CONFIG_CHARGER_MAX8998=m
 CONFIG_CHARGER_MP2629=m
@@ -5125,6 +5147,7 @@ CONFIG_SENSORS_NCT7802=m
 CONFIG_SENSORS_NCT7904=m
 CONFIG_SENSORS_NPCM7XX=m
 CONFIG_SENSORS_NZXT_KRAKEN2=m
+CONFIG_SENSORS_NZXT_SMART2=m
 CONFIG_SENSORS_PCF8591=m
 CONFIG_PMBUS=m
 CONFIG_SENSORS_PMBUS=m
@@ -5132,6 +5155,7 @@ CONFIG_SENSORS_ADM1266=m
 CONFIG_SENSORS_ADM1275=m
 CONFIG_SENSORS_BEL_PFE=m
 CONFIG_SENSORS_BPA_RS600=m
+CONFIG_SENSORS_DELTA_AHE50DC_FAN=m
 CONFIG_SENSORS_FSP_3Y=m
 CONFIG_SENSORS_IBM_CFFPS=m
 CONFIG_SENSORS_DPS920AB=m
@@ -5139,6 +5163,7 @@ CONFIG_SENSORS_INSPUR_IPSPS=m
 CONFIG_SENSORS_IR35221=m
 CONFIG_SENSORS_IR36021=m
 CONFIG_SENSORS_IR38064=m
+CONFIG_SENSORS_IR38064_REGULATOR=y
 CONFIG_SENSORS_IRPS5401=m
 CONFIG_SENSORS_ISL68137=m
 CONFIG_SENSORS_LM25066=m
@@ -5155,6 +5180,7 @@ CONFIG_SENSORS_MAX34440=m
 CONFIG_SENSORS_MAX8688=m
 CONFIG_SENSORS_MP2888=m
 CONFIG_SENSORS_MP2975=m
+CONFIG_SENSORS_MP5023=m
 CONFIG_SENSORS_PIM4328=m
 CONFIG_SENSORS_PM6764TR=m
 CONFIG_SENSORS_PXE1610=m
@@ -5192,6 +5218,7 @@ CONFIG_SENSORS_ADS7871=m
 CONFIG_SENSORS_AMC6821=m
 CONFIG_SENSORS_INA209=m
 CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_INA238=m
 CONFIG_SENSORS_INA3221=m
 CONFIG_SENSORS_TC74=m
 CONFIG_SENSORS_THMC50=m
@@ -5226,6 +5253,8 @@ CONFIG_SENSORS_INTEL_M10_BMC_HWMON=m
 #
 CONFIG_SENSORS_ACPI_POWER=m
 CONFIG_SENSORS_ATK0110=m
+CONFIG_SENSORS_ASUS_WMI=m
+CONFIG_SENSORS_ASUS_WMI_EC=m
 CONFIG_THERMAL=y
 CONFIG_THERMAL_NETLINK=y
 # CONFIG_THERMAL_STATISTICS is not set
@@ -5338,6 +5367,7 @@ CONFIG_MACHZ_WDT=m
 CONFIG_SBC_EPX_C3_WATCHDOG=m
 CONFIG_NI903X_WDT=m
 CONFIG_NIC7018_WDT=m
+CONFIG_SIEMENS_SIMATIC_IPC_WDT=m
 CONFIG_MEN_A21_WDT=m
 CONFIG_XEN_WDT=m
 
@@ -5424,7 +5454,6 @@ CONFIG_MFD_INTEL_LPSS=m
 CONFIG_MFD_INTEL_LPSS_ACPI=m
 CONFIG_MFD_INTEL_LPSS_PCI=m
 CONFIG_MFD_INTEL_PMC_BXT=m
-CONFIG_MFD_INTEL_PMT=m
 CONFIG_MFD_IQS62X=m
 CONFIG_MFD_JANZ_CMODIO=m
 CONFIG_MFD_KEMPLD=m
@@ -5547,6 +5576,7 @@ CONFIG_REGULATOR_MAX8925=m
 CONFIG_REGULATOR_MAX8952=m
 CONFIG_REGULATOR_MAX8997=m
 CONFIG_REGULATOR_MAX8998=m
+CONFIG_REGULATOR_MAX20086=m
 CONFIG_REGULATOR_MAX77693=m
 CONFIG_REGULATOR_MAX77826=m
 CONFIG_REGULATOR_MC13XXX_CORE=m
@@ -5594,6 +5624,7 @@ CONFIG_REGULATOR_TPS6524X=m
 CONFIG_REGULATOR_TPS6586X=m
 CONFIG_REGULATOR_TPS65910=m
 CONFIG_REGULATOR_TPS65912=m
+CONFIG_REGULATOR_TPS68470=m
 CONFIG_REGULATOR_TWL4030=m
 CONFIG_REGULATOR_WM831X=m
 CONFIG_REGULATOR_WM8350=m
@@ -6170,6 +6201,7 @@ CONFIG_VIDEO_OV5648=m
 CONFIG_VIDEO_OV6650=m
 CONFIG_VIDEO_OV5670=m
 CONFIG_VIDEO_OV5675=m
+CONFIG_VIDEO_OV5693=m
 CONFIG_VIDEO_OV5695=m
 CONFIG_VIDEO_OV7251=m
 CONFIG_VIDEO_OV772X=m
@@ -6482,9 +6514,8 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
 CONFIG_DRM_TTM=m
 CONFIG_DRM_VRAM_HELPER=m
 CONFIG_DRM_TTM_HELPER=m
-CONFIG_DRM_GEM_CMA_HELPER=y
-CONFIG_DRM_KMS_CMA_HELPER=y
-CONFIG_DRM_GEM_SHMEM_HELPER=y
+CONFIG_DRM_GEM_CMA_HELPER=m
+CONFIG_DRM_GEM_SHMEM_HELPER=m
 CONFIG_DRM_SCHED=m
 
 #
@@ -6603,6 +6634,7 @@ CONFIG_DRM_CIRRUS_QEMU=m
 CONFIG_DRM_GM12U320=m
 # CONFIG_DRM_SIMPLEDRM is not set
 CONFIG_TINYDRM_HX8357D=m
+CONFIG_TINYDRM_ILI9163=m
 CONFIG_TINYDRM_ILI9225=m
 CONFIG_TINYDRM_ILI9341=m
 CONFIG_TINYDRM_ILI9486=m
@@ -6617,6 +6649,8 @@ CONFIG_DRM_GUD=m
 CONFIG_DRM_HYPERV=m
 # CONFIG_DRM_LEGACY is not set
 CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
+CONFIG_DRM_NOMODESET=y
+CONFIG_DRM_PRIVACY_SCREEN=y
 
 #
 # Frame buffer Devices
@@ -6790,6 +6824,7 @@ CONFIG_DUMMY_CONSOLE=y
 CONFIG_DUMMY_CONSOLE_COLUMNS=80
 CONFIG_DUMMY_CONSOLE_ROWS=25
 CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set
 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
 CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
 # CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
@@ -6860,7 +6895,9 @@ CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
 CONFIG_SND_SB_COMMON=m
 CONFIG_SND_PCI=y
 CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
 CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
 CONFIG_SND_ASIHPI=m
 CONFIG_SND_ATIIXP=m
 CONFIG_SND_ATIIXP_MODEM=m
@@ -6868,6 +6905,7 @@ CONFIG_SND_AU8810=m
 CONFIG_SND_AU8820=m
 CONFIG_SND_AU8830=m
 CONFIG_SND_AW2=m
+CONFIG_SND_AZT3328=m
 CONFIG_SND_BT87X=m
 # CONFIG_SND_BT87X_OVERCLOCK is not set
 CONFIG_SND_CA0106=m
@@ -6894,18 +6932,26 @@ CONFIG_SND_INDIGOIOX=m
 CONFIG_SND_INDIGODJX=m
 CONFIG_SND_EMU10K1=m
 CONFIG_SND_EMU10K1_SEQ=m
+CONFIG_SND_EMU10K1X=m
 CONFIG_SND_ENS1370=m
 CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_ES1968_INPUT=y
+CONFIG_SND_ES1968_RADIO=y
 CONFIG_SND_FM801=m
 CONFIG_SND_FM801_TEA575X_BOOL=y
 CONFIG_SND_HDSP=m
 CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
 CONFIG_SND_ICE1724=m
 CONFIG_SND_INTEL8X0=m
 CONFIG_SND_INTEL8X0M=m
 CONFIG_SND_KORG1212=m
 CONFIG_SND_LOLA=m
 CONFIG_SND_LX6464ES=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MAESTRO3_INPUT=y
 CONFIG_SND_MIXART=m
 CONFIG_SND_NM256=m
 CONFIG_SND_PCXHR=m
@@ -6913,6 +6959,8 @@ CONFIG_SND_RIPTIDE=m
 CONFIG_SND_RME32=m
 CONFIG_SND_RME96=m
 CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
 CONFIG_SND_VIA82XX=m
 CONFIG_SND_VIA82XX_MODEM=m
 CONFIG_SND_VIRTUOSO=m
@@ -6930,6 +6978,9 @@ CONFIG_SND_HDA_RECONFIG=y
 CONFIG_SND_HDA_INPUT_BEEP=y
 CONFIG_SND_HDA_INPUT_BEEP_MODE=0
 CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_SCODEC_CS35L41=m
+CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m
+CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m
 CONFIG_SND_HDA_CODEC_REALTEK=m
 CONFIG_SND_HDA_CODEC_ANALOG=m
 CONFIG_SND_HDA_CODEC_SIGMATEL=m
@@ -7009,6 +7060,7 @@ CONFIG_SND_SOC_AMD_ACP5x=m
 CONFIG_SND_SOC_AMD_VANGOGH_MACH=m
 CONFIG_SND_SOC_AMD_ACP6x=m
 CONFIG_SND_SOC_AMD_YC_MACH=m
+CONFIG_SND_AMD_ACP_CONFIG=m
 CONFIG_SND_SOC_AMD_ACP_COMMON=m
 CONFIG_SND_SOC_AMD_ACP_I2S=m
 CONFIG_SND_SOC_AMD_ACP_PCM=m
@@ -7103,6 +7155,7 @@ CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m
 CONFIG_SND_SOC_INTEL_SOF_CS42L42_MACH=m
 CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m
 CONFIG_SND_SOC_INTEL_SOF_ES8336_MACH=m
+CONFIG_SND_SOC_INTEL_SOF_NAU8825_MACH=m
 CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH=m
 CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m
 CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m
@@ -7117,6 +7170,9 @@ CONFIG_SND_SOC_SOF_ACPI_DEV=m
 # CONFIG_SND_SOC_SOF_DEVELOPER_SUPPORT is not set
 CONFIG_SND_SOC_SOF=m
 CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE=y
+CONFIG_SND_SOC_SOF_AMD_TOPLEVEL=m
+CONFIG_SND_SOC_SOF_AMD_COMMON=m
+CONFIG_SND_SOC_SOF_AMD_RENOIR=m
 CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y
 CONFIG_SND_SOC_SOF_INTEL_HIFI_EP_IPC=m
 CONFIG_SND_SOC_SOF_INTEL_ATOM_HIFI_EP=m
@@ -7179,6 +7235,7 @@ CONFIG_SND_SOC_ADAU7118_HW=m
 CONFIG_SND_SOC_ADAU7118_I2C=m
 CONFIG_SND_SOC_AK4104=m
 CONFIG_SND_SOC_AK4118=m
+CONFIG_SND_SOC_AK4375=m
 CONFIG_SND_SOC_AK4458=m
 CONFIG_SND_SOC_AK4554=m
 CONFIG_SND_SOC_AK4613=m
@@ -7194,6 +7251,8 @@ CONFIG_SND_SOC_CS35L33=m
 CONFIG_SND_SOC_CS35L34=m
 CONFIG_SND_SOC_CS35L35=m
 CONFIG_SND_SOC_CS35L36=m
+CONFIG_SND_SOC_CS35L41_LIB=m
+CONFIG_SND_SOC_CS35L41=m
 CONFIG_SND_SOC_CS35L41_SPI=m
 CONFIG_SND_SOC_CS35L41_I2C=m
 CONFIG_SND_SOC_CS42L42=m
@@ -7329,6 +7388,7 @@ CONFIG_SND_SOC_TAS6424=m
 CONFIG_SND_SOC_TDA7419=m
 CONFIG_SND_SOC_TFA9879=m
 CONFIG_SND_SOC_TFA989X=m
+CONFIG_SND_SOC_TLV320ADC3XXX=m
 CONFIG_SND_SOC_TLV320AIC23=m
 CONFIG_SND_SOC_TLV320AIC23_I2C=m
 CONFIG_SND_SOC_TLV320AIC23_SPI=m
@@ -7396,6 +7456,7 @@ CONFIG_SND_SIMPLE_CARD_UTILS=m
 CONFIG_SND_SIMPLE_CARD=m
 CONFIG_SND_X86=y
 CONFIG_HDMI_LPE_AUDIO=m
+CONFIG_SND_SYNTH_EMUX=m
 CONFIG_SND_XEN_FRONTEND=m
 CONFIG_SND_VIRTIO=m
 CONFIG_AC97_BUS=m
@@ -7464,6 +7525,7 @@ CONFIG_HID_KENSINGTON=m
 CONFIG_HID_LCPOWER=m
 CONFIG_HID_LED=m
 CONFIG_HID_LENOVO=m
+CONFIG_HID_LETSKETCH=m
 CONFIG_HID_LOGITECH=m
 CONFIG_HID_LOGITECH_DJ=m
 CONFIG_HID_LOGITECH_HIDPP=m
@@ -7634,6 +7696,7 @@ CONFIG_USB_R8A66597_HCD=m
 CONFIG_USB_HCD_BCMA=m
 CONFIG_USB_HCD_SSB=m
 # CONFIG_USB_HCD_TEST_MODE is not set
+CONFIG_USB_XEN_HCD=m
 
 #
 # USB Device Class drivers
@@ -8123,6 +8186,11 @@ CONFIG_LEDS_TRIGGER_NETDEV=m
 CONFIG_LEDS_TRIGGER_PATTERN=m
 CONFIG_LEDS_TRIGGER_AUDIO=m
 CONFIG_LEDS_TRIGGER_TTY=m
+
+#
+# Simple LED drivers
+#
+CONFIG_LEDS_SIEMENS_SIMATIC_IPC=m
 # CONFIG_ACCESSIBILITY is not set
 CONFIG_INFINIBAND=m
 CONFIG_INFINIBAND_USER_MAD=m
@@ -8773,7 +8841,6 @@ CONFIG_FB_TFT_TLS8204=m
 CONFIG_FB_TFT_UC1611=m
 CONFIG_FB_TFT_UC1701=m
 CONFIG_FB_TFT_UPD161704=m
-CONFIG_FB_TFT_WATTEROTT=m
 CONFIG_MOST_COMPONENTS=m
 CONFIG_MOST_NET=m
 CONFIG_MOST_VIDEO=m
@@ -8792,6 +8859,7 @@ CONFIG_PEAQ_WMI=m
 CONFIG_NVIDIA_WMI_EC_BACKLIGHT=m
 CONFIG_XIAOMI_WMI=m
 CONFIG_GIGABYTE_WMI=m
+CONFIG_YOGABOOK_WMI=m
 CONFIG_ACERHDF=m
 CONFIG_ACER_WIRELESS=m
 CONFIG_ACER_WMI=m
@@ -8802,6 +8870,7 @@ CONFIG_ASUS_LAPTOP=m
 CONFIG_ASUS_WIRELESS=m
 CONFIG_ASUS_WMI=m
 CONFIG_ASUS_NB_WMI=m
+CONFIG_ASUS_TF103C_DOCK=m
 CONFIG_MERAKI_MX100=m
 CONFIG_EEEPC_LAPTOP=m
 CONFIG_EEEPC_WMI=m
@@ -8872,6 +8941,7 @@ CONFIG_INTEL_RST=m
 CONFIG_INTEL_SMARTCONNECT=m
 # CONFIG_INTEL_TURBO_MAX_3 is not set
 CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
+CONFIG_INTEL_VSEC=m
 CONFIG_MSI_LAPTOP=m
 CONFIG_MSI_WMI=m
 CONFIG_PCENGINES_APU2=m
@@ -8893,6 +8963,7 @@ CONFIG_TOPSTAR_LAPTOP=m
 CONFIG_I2C_MULTI_INSTANTIATE=m
 # CONFIG_MLX_PLATFORM is not set
 # CONFIG_TOUCHSCREEN_DMI is not set
+CONFIG_X86_ANDROID_TABLETS=m
 CONFIG_FW_ATTR_CLASS=m
 CONFIG_INTEL_IPS=m
 CONFIG_INTEL_SCU_IPC=y
@@ -8900,6 +8971,7 @@ CONFIG_INTEL_SCU=y
 CONFIG_INTEL_SCU_PCI=y
 CONFIG_INTEL_SCU_PLATFORM=m
 CONFIG_INTEL_SCU_IPC_UTIL=m
+CONFIG_SIEMENS_SIMATIC_IPC=m
 CONFIG_PMC_ATOM=y
 CONFIG_CHROME_PLATFORMS=y
 CONFIG_CHROMEOS_LAPTOP=m
@@ -8950,6 +9022,7 @@ CONFIG_COMMON_CLK_SI5341=m
 CONFIG_COMMON_CLK_SI5351=m
 CONFIG_COMMON_CLK_SI544=m
 CONFIG_COMMON_CLK_CDCE706=m
+CONFIG_COMMON_CLK_TPS68470=m
 CONFIG_COMMON_CLK_CS2000_CP=m
 CONFIG_CLK_TWL6040=m
 CONFIG_COMMON_CLK_PALMAS=m
@@ -9244,6 +9317,9 @@ CONFIG_TI_ADC128S052=m
 CONFIG_TI_ADC161S626=m
 CONFIG_TI_ADS1015=m
 CONFIG_TI_ADS7950=m
+CONFIG_TI_ADS8344=m
+CONFIG_TI_ADS8688=m
+CONFIG_TI_ADS124S08=m
 CONFIG_TI_ADS131E08=m
 CONFIG_TI_AM335X_ADC=m
 CONFIG_TI_TLC4541=m
@@ -9255,6 +9331,12 @@ CONFIG_XILINX_XADC=m
 # end of Analog to digital converters
 
 #
+# Analog to digital and digital to analog converters
+#
+CONFIG_AD74413R=m
+# end of Analog to digital and digital to analog converters
+
+#
 # Analog Front Ends
 #
 # end of Analog Front Ends
@@ -9328,6 +9410,7 @@ CONFIG_IIO_ST_SENSORS_CORE=m
 #
 # Digital to analog converters
 #
+CONFIG_AD3552R=m
 CONFIG_AD5064=m
 CONFIG_AD5360=m
 CONFIG_AD5380=m
@@ -9349,6 +9432,7 @@ CONFIG_AD5764=m
 CONFIG_AD5766=m
 CONFIG_AD5770R=m
 CONFIG_AD5791=m
+CONFIG_AD7293=m
 CONFIG_AD7303=m
 CONFIG_AD8801=m
 CONFIG_DS4424=m
@@ -9356,6 +9440,7 @@ CONFIG_LTC1660=m
 CONFIG_LTC2632=m
 CONFIG_M62332=m
 CONFIG_MAX517=m
+CONFIG_MAX5821=m
 CONFIG_MCP4725=m
 CONFIG_MCP4922=m
 CONFIG_TI_DAC082S085=m
@@ -9373,6 +9458,12 @@ CONFIG_IIO_SIMPLE_DUMMY=m
 # end of IIO dummy driver
 
 #
+# Filters
+#
+CONFIG_ADMV8818=m
+# end of Filters
+
+#
 # Frequency Synthesizers DDS/PLL
 #
 
@@ -9387,6 +9478,7 @@ CONFIG_AD9523=m
 #
 CONFIG_ADF4350=m
 CONFIG_ADF4371=m
+CONFIG_ADMV1013=m
 CONFIG_ADRF6780=m
 # end of Phase-Locked Loop (PLL) frequency synthesizers
 # end of Frequency Synthesizers DDS/PLL
@@ -9803,14 +9895,12 @@ CONFIG_ND_PFN=m
 CONFIG_NVDIMM_PFN=y
 CONFIG_NVDIMM_DAX=y
 CONFIG_NVDIMM_KEYS=y
-CONFIG_DAX_DRIVER=y
 CONFIG_DAX=y
 CONFIG_DEV_DAX=m
 CONFIG_DEV_DAX_PMEM=m
 CONFIG_DEV_DAX_HMEM=m
 CONFIG_DEV_DAX_HMEM_DEVICES=y
 CONFIG_DEV_DAX_KMEM=m
-CONFIG_DEV_DAX_PMEM_COMPAT=m
 CONFIG_NVMEM=y
 CONFIG_NVMEM_SYSFS=y
 CONFIG_NVMEM_SPMI_SDAM=m
@@ -9994,6 +10084,7 @@ CONFIG_FSCACHE_STATS=y
 # CONFIG_FSCACHE_DEBUG is not set
 CONFIG_CACHEFILES=m
 # CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_ERROR_INJECTION is not set
 # end of Caches
 
 #
@@ -10274,8 +10365,7 @@ CONFIG_NLS_MAC_TURKISH=m
 CONFIG_NLS_UTF8=m
 CONFIG_DLM=m
 # CONFIG_DLM_DEBUG is not set
-CONFIG_UNICODE=y
-# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
+# CONFIG_UNICODE is not set
 CONFIG_IO_WQ=y
 # end of File systems
 
@@ -10585,6 +10675,7 @@ CONFIG_CRYPTO_DRBG_HASH=y
 CONFIG_CRYPTO_DRBG_CTR=y
 CONFIG_CRYPTO_DRBG=y
 CONFIG_CRYPTO_JITTERENTROPY=y
+CONFIG_CRYPTO_KDF800108_CTR=y
 CONFIG_CRYPTO_USER_API=m
 CONFIG_CRYPTO_USER_API_HASH=m
 CONFIG_CRYPTO_USER_API_SKCIPHER=m
@@ -10594,29 +10685,6 @@ CONFIG_CRYPTO_USER_API_AEAD=m
 CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
 # CONFIG_CRYPTO_STATS is not set
 CONFIG_CRYPTO_HASH_INFO=y
-
-#
-# Crypto library routines
-#
-CONFIG_CRYPTO_LIB_AES=y
-CONFIG_CRYPTO_LIB_ARC4=m
-CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=m
-CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m
-CONFIG_CRYPTO_LIB_BLAKE2S=m
-CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m
-CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
-CONFIG_CRYPTO_LIB_CHACHA=m
-CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=m
-CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
-CONFIG_CRYPTO_LIB_CURVE25519=m
-CONFIG_CRYPTO_LIB_DES=m
-CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
-CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m
-CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
-CONFIG_CRYPTO_LIB_POLY1305=m
-CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
-CONFIG_CRYPTO_LIB_SHA256=y
-CONFIG_CRYPTO_LIB_SM4=m
 CONFIG_CRYPTO_HW=y
 CONFIG_CRYPTO_DEV_PADLOCK=y
 CONFIG_CRYPTO_DEV_PADLOCK_AES=m
@@ -10678,7 +10746,6 @@ CONFIG_BITREVERSE=y
 CONFIG_GENERIC_STRNCPY_FROM_USER=y
 CONFIG_GENERIC_STRNLEN_USER=y
 CONFIG_GENERIC_NET_UTILS=y
-CONFIG_GENERIC_FIND_FIRST_BIT=y
 CONFIG_CORDIC=m
 CONFIG_PRIME_NUMBERS=m
 CONFIG_RATIONAL=y
@@ -10687,6 +10754,30 @@ CONFIG_GENERIC_IOMAP=y
 CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
 CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
 CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
+
+#
+# Crypto library routines
+#
+CONFIG_CRYPTO_LIB_AES=y
+CONFIG_CRYPTO_LIB_ARC4=m
+CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
+CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_DES=m
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
+CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
+CONFIG_CRYPTO_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_SHA256=y
+CONFIG_CRYPTO_LIB_SM4=m
+# end of Crypto library routines
+
 CONFIG_CRC_CCITT=y
 CONFIG_CRC16=y
 CONFIG_CRC_T10DIF=y
@@ -10887,11 +10978,19 @@ CONFIG_DEBUG_KERNEL=y
 CONFIG_DEBUG_MISC=y
 
 #
+# Networking Debugging
+#
+# CONFIG_NET_DEV_REFCNT_TRACKER is not set
+# CONFIG_NET_NS_REFCNT_TRACKER is not set
+# end of Networking Debugging
+
+#
 # Memory Debugging
 #
 # CONFIG_PAGE_EXTENSION is not set
 # CONFIG_DEBUG_PAGEALLOC is not set
 # CONFIG_PAGE_OWNER is not set
+# CONFIG_PAGE_TABLE_CHECK is not set
 # CONFIG_PAGE_POISONING is not set
 # CONFIG_DEBUG_PAGE_REF is not set
 # CONFIG_DEBUG_RODATA_TEST is not set
@@ -10925,7 +11024,7 @@ CONFIG_HAVE_ARCH_KFENCE=y
 CONFIG_KFENCE=y
 CONFIG_KFENCE_SAMPLE_INTERVAL=0
 CONFIG_KFENCE_NUM_OBJECTS=255
-CONFIG_KFENCE_STATIC_KEYS=y
+# CONFIG_KFENCE_STATIC_KEYS is not set
 CONFIG_KFENCE_STRESS_TEST_FAULTS=0
 # end of Memory Debugging
 
@@ -11030,6 +11129,8 @@ CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
 CONFIG_HAVE_FENTRY=y
 CONFIG_HAVE_OBJTOOL_MCOUNT=y
 CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y
+CONFIG_BUILDTIME_MCOUNT_SORT=y
 CONFIG_TRACER_MAX_TRACE=y
 CONFIG_TRACE_CLOCK=y
 CONFIG_RING_BUFFER=y
@@ -11078,6 +11179,7 @@ CONFIG_SYNTH_EVENTS=y
 # CONFIG_TRACE_EVAL_MAP_FILE is not set
 # CONFIG_FTRACE_RECORD_RECURSION is not set
 # CONFIG_FTRACE_STARTUP_TEST is not set
+# CONFIG_FTRACE_SORT_STARTUP_TEST is not set
 # CONFIG_RING_BUFFER_STARTUP_TEST is not set
 # CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set
 # CONFIG_MMIOTRACE_TEST is not set
@@ -11138,6 +11240,7 @@ CONFIG_RUNTIME_TESTING_MENU=y
 # CONFIG_TEST_MIN_HEAP is not set
 # CONFIG_TEST_DIV64 is not set
 # CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_TEST_REF_TRACKER is not set
 # CONFIG_RBTREE_TEST is not set
 # CONFIG_REED_SOLOMON_TEST is not set
 CONFIG_INTERVAL_TREE_TEST=m
@@ -11156,7 +11259,7 @@ CONFIG_TEST_UUID=m
 CONFIG_TEST_XARRAY=m
 CONFIG_TEST_OVERFLOW=m
 CONFIG_TEST_RHASHTABLE=m
-CONFIG_TEST_HASH=m
+CONFIG_TEST_SIPHASH=m
 CONFIG_TEST_IDA=m
 CONFIG_TEST_PARMAN=m
 CONFIG_TEST_LKM=m
diff --git a/gnu/packages/avr-xyz.scm b/gnu/packages/avr-xyz.scm
new file mode 100644
index 0000000000..a05157ede7
--- /dev/null
+++ b/gnu/packages/avr-xyz.scm
@@ -0,0 +1,97 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages avr-xyz)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix utils)
+  #:use-module (guix gexp)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix packages)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
+  #:use-module (gnu packages avr)
+  #:use-module (gnu packages elf)
+  #:use-module (gnu packages gl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages version-control)
+  #:use-module (gnu packages ruby))
+
+(define-public simavr
+  (package
+    (name "simavr")
+    (version "1.7")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/buserror/simavr")
+             (commit (string-append "v" version))))
+       (sha256
+        (base32 "0njz03lkw5374x1lxrq08irz4b86lzj2hibx46ssp7zv712pq55q"))
+       (file-name (git-file-name name version))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:tests? #f
+      #:modules '((guix build gnu-build-system)
+                  (guix build utils))
+      #:phases #~(modify-phases %standard-phases
+                   (delete 'configure)
+                   (replace 'check
+                     (lambda* (#:key tests? outputs #:allow-other-keys)
+                       (when tests?
+                         (invoke "make"
+                                 "-C"
+                                 "tests"
+                                 (string-append "CC=" #$(cc-for-target))
+                                 "RELEASE=1"
+                                 "run_tests")))))
+      #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
+                           "RELEASE=1"
+                           (string-append "PREFIX=" #$output)
+                           (string-append "DESTDIR=" #$output))))
+    (propagated-inputs
+     (list avr-toolchain))
+    (native-inputs
+     (list autoconf
+           which
+           git
+           automake
+           pkg-config
+           ncurses
+           ruby))
+    (inputs
+     (list bash-minimal libelf freeglut))
+    (home-page "https://github.com/buserror/simavr")
+    (synopsis "Lean, mean and hackable simulator for AVR CPUs/MCUs")
+    (description
+     "simavr is a new AVR simulator for GNU/Linux or any platform that uses
+@command{avr-gcc}.  It uses avr-gcc's own register definition to simplify
+creating new targets for supported AVR devices.  The core was made to be small
+and compact, and hackable so allow quick prototyping of an AVR project.  The
+AVR core is now stable for use with parts with <= 128KB flash, and with
+preliminary support for the bigger parts.  The simulator loads ELF files
+directly, and there is even a way to specify simulation parameterps directly
+in the emulated code using an @code{.elf} section.  You can also load
+multipart HEX files.")
+    (license license:gpl3)))
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index afa2573363..7bddd1c378 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2015, 2020 Eric Bavier <bavier@posteo.net>
 ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
-;;; Copyright © 2015, 2016, 2017, 2021 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2015, 2016, 2017, 2021, 2022 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;; Copyright © 2017, 2021 Arun Isaac <arunisaac@systemreboot.net>
@@ -22,6 +22,7 @@
 ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
 ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022 Feng Shu <tumashu@163.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -62,6 +63,7 @@
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages datastructures)
+  #:use-module (gnu packages digest)
   #:use-module (gnu packages dbm)
   #:use-module (gnu packages dejagnu)
   #:use-module (gnu packages ftp)
@@ -70,6 +72,7 @@
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages gperf)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages guile-xyz)
   #:use-module (gnu packages linux)
@@ -629,13 +632,13 @@ detection, and lossless compression.")
 (define-public borg
   (package
     (name "borg")
-    (version "1.1.17")
+    (version "1.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "borgbackup" version))
        (sha256
-        (base32 "0x0ncy0b0bmf586hbdgrif3gjmkdw760vfnfxndr493v07y29fbs"))
+        (base32 "0rvzmy9qyicfs65qwy0n1nkvsidkcvx7kix43885dx1fj13mb6p3"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -645,8 +648,6 @@ detection, and lossless compression.")
            ;; generate the wrong list.
            (for-each delete-file
                      '("src/borg/algorithms/checksums.c"
-                       "src/borg/algorithms/msgpack/_packer.cpp"
-                       "src/borg/algorithms/msgpack/_unpacker.cpp"
                        "src/borg/chunker.c"
                        "src/borg/compress.c"
                        "src/borg/crypto/low_level.c"
@@ -656,11 +657,12 @@ detection, and lossless compression.")
                        "src/borg/platform/freebsd.c"
                        "src/borg/platform/linux.c"
                        "src/borg/platform/posix.c"
-                       "src/borg/platform/syncfilerange.c"))
+                       "src/borg/platform/syncfilerange.c"
+                       "src/borg/platform/windows.c"))
            ;; Remove bundled shared libraries.
            (with-directory-excursion "src/borg/algorithms"
              (for-each delete-file-recursively
-                       (list "blake2" "lz4" "zstd")))
+                       (list "lz4" "xxh64" "zstd")))
            #t))))
     (build-system python-build-system)
     (arguments
@@ -672,12 +674,12 @@ detection, and lossless compression.")
          (add-after 'unpack 'set-env
            (lambda* (#:key inputs #:allow-other-keys)
              (let ((openssl (assoc-ref inputs "openssl"))
-                   (libb2 (assoc-ref inputs "libb2"))
                    (lz4 (assoc-ref inputs "lz4"))
+                   (xxhash (assoc-ref inputs "xxhash"))
                    (zstd (assoc-ref inputs "zstd")))
                (setenv "BORG_OPENSSL_PREFIX" openssl)
-               (setenv "BORG_LIBB2_PREFIX" libb2)
                (setenv "BORG_LIBLZ4_PREFIX" lz4)
+               (setenv "BORG_LIBXXHASH_PREFIX" xxhash)
                (setenv "BORG_LIBZSTD_PREFIX" zstd)
                (setenv "PYTHON_EGG_CACHE" "/tmp")
                ;; The test 'test_return_codes[python]' fails when
@@ -687,32 +689,37 @@ detection, and lossless compression.")
          ;; The tests need to be run after Borg is installed.
          (delete 'check)
          (add-after 'install 'check
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             ;; Make the installed package available for the test suite.
-             (add-installed-pythonpath inputs outputs)
-             ;; The tests should be run in an empty directory.
-             (mkdir-p "tests")
-             (with-directory-excursion "tests"
-               (invoke "py.test" "-v" "--pyargs" "borg.testsuite" "-k"
-                       (string-append
-                        ;; These tests need to write to '/var'.
-                        "not test_get_cache_dir "
-                        "and not test_get_config_dir "
-                        "and not test_get_keys_dir "
-                        "and not test_get_security_dir "
-                        ;; These tests assume there is a root user in
-                        ;; '/etc/passwd'.
-                        "and not test_access_acl "
-                        "and not test_default_acl "
-                        "and not test_non_ascii_acl "
-                        "and not test_create_stdin "
-                        ;; This test needs the unpackaged pytest-benchmark.
-                        "and not benchmark "
-                        ;; These tests assume the kernel supports FUSE.
-                        "and not test_fuse "
-                        "and not test_fuse_allow_damaged_files "
-                        "and not test_mount_hardlinks "
-                        "and not test_readonly_mount ")))))
+           (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+             (when tests?
+              ;; Make the installed package available for the test suite.
+              (add-installed-pythonpath inputs outputs)
+              ;; The tests should be run in an empty directory.
+              (mkdir-p "tests")
+              (with-directory-excursion "tests"
+                (invoke "py.test" "-v" "--pyargs" "borg.testsuite" "-k"
+                        (string-append
+                         ;; These tests need to write to '/var'.
+                         "not test_get_cache_dir "
+                         "and not test_get_config_dir "
+                         "and not test_get_keys_dir "
+                         "and not test_get_security_dir "
+                         ;; These tests assume there is a root user in '/etc/passwd'.
+                         "and not test_access_acl "
+                         "and not test_default_acl "
+                         "and not test_get_item_uid_gid "
+                         "and not test_non_ascii_acl "
+                         "and not test_create_content_from_command "
+                         "and not test_create_content_from_command_with_failed_command "
+                         "and not test_create_stdin "
+                         ;; We don't need to run benchmarks
+                         "and not benchmark "
+                         ;; These tests assume the kernel supports FUSE.
+                         "and not test_fuse "
+                         "and not test_fuse_allow_damaged_files "
+                         "and not test_mount_hardlinks "
+                         "and not test_readonly_mount "
+                         "and not test_fuse_versions_view "
+                         "and not test_migrate_lock_alive"))))))
          (add-after 'install 'install-doc
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -720,10 +727,10 @@ detection, and lossless compression.")
                     (misc (string-append out "/share/borg/misc")))
                (for-each (cut install-file <> misc)
                          '("docs/misc/create_chunker-params.txt"
+                           "docs/misc/borg-data-flow.png"
                            "docs/misc/internals-picture.txt"
                            "docs/misc/prune-example.txt"))
-               (copy-recursively "docs/man" man)
-               #t)))
+               (copy-recursively "docs/man" man))))
          (add-after 'install-docs 'install-shell-completions
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -735,24 +742,27 @@ detection, and lossless compression.")
                  (install-file "zsh/_borg"
                                (string-append share "/zsh/site-functions"))
                  (install-file "fish/borg.fish"
-                               (string-append share "/fish/vendor_completions.d")))
-               #t))))))
+                               (string-append share "/fish/vendor_completions.d")))))))))
     (native-inputs
-     (list python-cython python-setuptools-scm python-pytest))
+     (list python-cython python-dateutil python-setuptools-scm python-pytest))
     (inputs
      (list acl
-           libb2
            lz4
            openssl
+           ;; This is the latest version of msgpack accepted by 'setup.py'.
+           python-msgpack-1.0.2
+           ;; FUSE 3 isn't working well, so we stick with FUSE 2 for now:
+           ;; <https://issues.guix.gnu.org/53407>
            python-llfuse
-           `(,zstd "lib")))
+           `(,zstd "lib")
+           xxhash))
     (synopsis "Deduplicated, encrypted, authenticated and compressed backups")
     (description "Borg is a deduplicating backup program.  Optionally, it
 supports compression and authenticated encryption.  The main goal of Borg is to
 provide an efficient and secure way to backup data.  The data deduplication
 technique used makes Borg suitable for daily backups since only changes are
-stored.  The authenticated encryption technique makes it suitable for
-storing backups on untrusted computers.")
+stored.  The authenticated encryption technique makes it suitable for storing
+backups on untrusted computers.")
     (home-page "https://www.borgbackup.org/")
     (license license:bsd-3)))
 
@@ -1332,3 +1342,27 @@ tool.  It supports the use of remote backup repositories.  It can perform
 scheduled backups, and has a graphical tool for browsing and extracting the Borg
 archives.")
     (license license:gpl3+)))
+
+(define-public grsync
+  (package
+    (name "grsync")
+    (version "1.3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://www.opbyte.it/release/"
+                                  "grsync-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1z1m782b50x348kgynzf753apy8yszkl31y32y1jsc055skcdixp"))))
+    (build-system gnu-build-system)
+    (native-inputs (list intltool pkg-config))
+    (inputs (list gtk+))
+    (propagated-inputs (list rsync))
+    (home-page "http://www.opbyte.it/grsync/")
+    (synopsis "GTK frontend for rsync")
+    (description
+     "Grsync is a simple graphical interface using GTK for the @command{rsync}
+command line program.  It currently supports only a limited set of the most
+important rsync features, but can be used effectively for local directory
+synchronization.")
+    (license license:gpl2)))
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 55d397e5cf..a78903becc 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2017, 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019, 2020, 2021, 2022 Simon Tournier <zimon.toutoune@gmail.com>
 ;;; Copyright © 2020 Peter Lo <peterloleungyau@gmail.com>
-;;; Copyright © 2020, 2021 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
+;;; Copyright © 2020, 2021, 2022 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;; Copyright © 2021 Hong Li <hli@mdc-berlin.de>
 ;;; Copyright © 2021 Tim Howes <timhowes@lavabit.com>
@@ -557,6 +557,32 @@ several related annotation packages.")
 from several related annotation packages.")
     (license license:artistic2.0)))
 
+(define-public r-illuminahumanmethylation450kanno-ilmn12-hg19
+  (package
+    (name "r-illuminahumanmethylation450kanno-ilmn12-hg19")
+    (version "0.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri
+             "IlluminaHumanMethylation450kanno.ilmn12.hg19"
+             version 'annotation))
+       (sha256
+        (base32
+         "059vlxsx3p3fcnywwirahsc6mlk813zpqnbv0jsrag6x5bb8z6r4"))))
+    (properties
+     `((upstream-name
+        . "IlluminaHumanMethylation450kanno.ilmn12.hg19")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-minfi))
+    (home-page
+     "https://bioconductor.org/packages/IlluminaHumanMethylation450kanno.ilmn12.hg19/")
+    (synopsis "Annotation for Illumina's 450k methylation arrays")
+    (description
+     "This package provides manifests and annotation for Illumina's 450k array
+data.")
+    (license license:artistic2.0)))
+
 (define-public r-org-ce-eg-db
   (package
     (name "r-org-ce-eg-db")
@@ -775,6 +801,44 @@ Ensembl.")
 Ensembl.")
     (license license:artistic2.0)))
 
+(define-public r-snplocs-hsapiens-dbsnp144-grch37
+  (package
+    (name "r-snplocs-hsapiens-dbsnp144-grch37")
+    (version "0.99.20")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "SNPlocs.Hsapiens.dbSNP144.GRCh37"
+                                     version 'annotation))
+              (sha256
+               (base32
+                "1z8kx43ki1jvj7ms7pcybakcdimfwr6zpjvspkjmma97bdz093iz"))))
+    (build-system r-build-system)
+    ;; As this package provides little more than a very large data file it
+    ;; doesn't make sense to build substitutes.
+    (arguments `(#:substitutable? #f))
+    (propagated-inputs
+     (list r-biocgenerics
+           r-s4vectors
+           r-iranges
+           r-genomeinfodb
+           r-genomicranges
+           r-bsgenome
+           r-biostrings))
+    (home-page
+     "https://bioconductor.org/packages/SNPlocs.Hsapiens.dbSNP144.GRCh37/")
+    (synopsis "SNP locations for Homo sapiens (dbSNP Build 144)")
+    (description "This package provides SNP locations and alleles for Homo
+sapiens extracted from NCBI dbSNP Build 144.  The source data files used for
+this package were created by NCBI on May 29-30, 2015, and contain SNPs mapped
+to reference genome GRCh37.p13.  Note that the GRCh37.p13 genome is a
+patched version of GRCh37.  However the patch doesn't alter chromosomes 1-22,
+X, Y, MT.  GRCh37 itself is the same as the hg19 genome from UCSC *except* for
+the mitochondrion chromosome.  Therefore, the SNPs in this package can be
+injected in @code{BSgenome.Hsapiens.UCSC.hg19} and they will land at the
+correct position but this injection will exclude chrM (i.e. nothing will be
+injected in that sequence).")
+    (license license:artistic2.0)))
+
 (define-public r-txdb-dmelanogaster-ucsc-dm6-ensgene
   (package
     (name "r-txdb-dmelanogaster-ucsc-dm6-ensgene")
@@ -1118,48 +1182,6 @@ All datasets are restricted to protein coding genes.")
    (description "This package contains data used by @code{AneuFinder}.")
    (license license:artistic2.0)))
 
-(define-public r-aneufinder
-  (package
-    (name "r-aneufinder")
-    (version "1.22.0")
-    (source (origin
-              (method url-fetch)
-              (uri (bioconductor-uri "AneuFinder" version))
-              (sha256
-               (base32
-                "0xn8952fkchhx7m8dam6gjy86j551xp1cs67510s1qrmfgzpkjp0"))))
-    (build-system r-build-system)
-    (native-inputs
-     (list r-knitr))
-    (propagated-inputs
-     (list r-genomicranges
-           r-aneufinderdata
-           r-ecp
-           r-foreach
-           r-doparallel
-           r-biocgenerics
-           r-s4vectors
-           r-genomeinfodb
-           r-iranges
-           r-rsamtools
-           r-bamsignals
-           r-dnacopy
-           r-biostrings
-           r-genomicalignments
-           r-ggplot2
-           r-reshape2
-           r-ggdendro
-           r-ggrepel
-           r-reordercluster
-           r-mclust
-           r-cowplot))
-    (home-page "https://bioconductor.org/packages/AneuFinder/")
-    (synopsis "Copy number variation analysis in single-cell-sequencing data")
-    (description "This package implements functions for copy number variant
-calling, plotting, export and analysis from whole-genome single cell
-sequencing data.")
-    (license license:artistic2.0)))
-
 (define-public r-arrmdata
   (package
     (name "r-arrmdata")
@@ -1253,34 +1275,6 @@ single-cell data or deconvolution of bulk RNA-seq.")
 chromstaR package.")
     (license license:gpl3)))
 
-(define-public r-chromvarmotifs
-  (let ((commit "38bed559c1f4770b6c91c80bf3f8ea965da26076")
-        (revision "1"))
-    (package
-      (name "r-chromvarmotifs")
-      (version (git-version "0.2.0" revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/GreenleafLab/chromVARmotifs")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32 "0i9v1m1hrg1lkd2pnkj5nnrpks6vhhhpbdhsfl2lmjak4npxxr5q"))))
-      (properties `((upstream-name . "chromVARmotifs")))
-      (build-system r-build-system)
-      (propagated-inputs
-       `(("r-tfbstools" ,r-tfbstools)))
-      (home-page "https://github.com/GreenleafLab/chromVARmotifs")
-      (synopsis "Stores motif collections for use with motifmatchr or chromVAR")
-      (description
-       "This package stores motif collections as lists of @dfn{position
-frequency matrix} (PWMatrixList) objects provided by the @code{TFBSTools}
-package for use in R with packages like @code{motifmatchr} or
-@code{chromVAR}.")
-      (license license:expat))))
-
 (define-public r-copyhelper
   (package
     (name "r-copyhelper")
@@ -1532,6 +1526,399 @@ TCGAbiolinksGUI package.")
 
 ;;; Packages
 
+(define-public r-abarray
+  (package
+    (name "r-abarray")
+    (version "1.62.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "ABarray" version))
+              (sha256
+               (base32
+                "0yh7jmkwdg3kmm98ii0cxbla3s5bwy84fpg6xcpggsrriwzwfb5k"))))
+    (properties `((upstream-name . "ABarray")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-biobase r-multtest))
+    (home-page "https://bioconductor.org/packages/ABarray")
+    (synopsis
+     "Gene expression analysis for Applied Biosystems Genome Survey Microarray")
+    (description
+     "The package @code{ABarray} is designed to work with Applied Biosystems
+whole genome microarray platform, as well as any other platform whose data can
+be transformed into expression data matrix.  Functions include data
+preprocessing, filtering, control probe analysis, statistical analysis in one
+single function.  A @dfn{graphical user interface} (GUI) is also provided.  The
+raw data, processed data, graphics output and statistical results are organized
+into folders according to the analysis settings used.")
+    (license license:gpl2+)))
+
+(define-public r-absseq
+  (package
+    (name "r-absseq")
+    (version "1.48.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "ABSSeq" version))
+              (sha256
+               (base32
+                "0l2hh6qv4lhw1g1kciw2f3ssj3lw83hqxnkmxzmv7snik3k6i650"))))
+    (properties `((upstream-name . "ABSSeq")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-limma r-locfit))
+    (home-page "https://bioconductor.org/packages/ABSSeq")
+    (synopsis
+     "RNA-Seq analysis based on modelling absolute expression differences")
+    (description
+     "This package implements a new RNA-Seq analysis method and integrates two
+modules: a basic model for pairwise comparison and a linear model for complex
+design.  RNA-Seq quantifies gene expression with reads count, which usually
+consists of conditions (or treatments) and several replicates for each
+condition.  This software infers differential expression directly by the
+counts difference between conditions.  It assumes that the sum counts
+difference between conditions follow a negative binomial distribution.  In
+addition, @code{ABSSeq} moderates the fold-changes by two steps: the
+expression level and gene-specific dispersion, that might facilitate the gene
+ranking by fold-change and visualization.")
+    (license license:gpl3+)))
+
+(define-public r-adam
+  (package
+    (name "r-adam")
+    (version "1.10.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "ADAM" version))
+              (sha256
+               (base32
+                "18zwci0ab54q7rdwj0n63w0i14lfrb4cccp09bcrq10gl1ki07f5"))))
+    (properties `((upstream-name . "ADAM")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-dplyr
+                             r-dt
+                             r-go-db
+                             r-keggrest
+                             r-knitr
+                             r-pbapply
+                             r-rcpp
+                             r-stringr
+                             r-summarizedexperiment))
+    (native-inputs (list r-knitr))
+    (home-page "https://bioconductor.org/packages/ADAM")
+    (synopsis "Gene activity and diversity analysis module")
+    (description
+     "This software @code{ADAM} is a @dfn{Gene set enrichment analysis} (GSEA)
+package created to group a set of genes from comparative samples (control
+versus experiment) belonging to different species according to their respective
+functions.  The corresponding roles are extracted from the default collections
+like Gene ontology and @dfn{Kyoto encyclopedia of genes and genomes} (KEGG).
+@code{ADAM} show their significance by calculating the p-values referring to
+gene diversity and activity.  Each group of genes is called @dfn{Group of
+functionally associated genes} (GFAG).")
+    (license license:gpl2+)))
+
+(define-public r-adamgui
+  (package
+    (name "r-adamgui")
+    (version "1.10.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "ADAMgui" version))
+              (sha256
+               (base32
+                "0n06bb9djigha0249lxx84pn9q0xiryxbv25qsc3p2h46iaxi3wq"))))
+    (properties `((upstream-name . "ADAMgui")))
+    (build-system r-build-system)
+    (propagated-inputs
+     (list r-adam
+           r-colorramps
+           r-data-table
+           r-dplyr
+           r-dt
+           r-ggplot2
+           r-ggpubr
+           r-ggrepel
+           r-ggsignif
+           r-go-db
+           r-gridextra
+           r-knitr
+           r-rcolorbrewer
+           r-reshape2
+           r-shiny
+           r-shinyjs
+           r-stringi
+           r-stringr
+           r-testthat
+           r-varhandle))
+    (native-inputs (list r-knitr))
+    (home-page "https://bioconductor.org/packages/ADAMgui/")
+    (synopsis "GUI for gene activity and diversity analysis")
+    (description
+     "This package @code{ADAMgui} is a @dfn{graphical user interface} (GUI)
+for the @code{ADAM} package.  The @code{ADAMgui} package provides two
+shiny-based applications that allows the user to study the output of the
+@code{ADAM} package files through different plots.  It's possible, for
+example, to choose a specific @dfn{group of functionally associated
+genes} (GFAG) and observe the gene expression behavior with the plots created
+with the @code{GFAGtargetUi} function.  Features such as differential
+expression and fold change can be easily seen with aid of the plots made with
+the @code{GFAGpathUi} function.")
+    (license license:gpl2+)))
+
+(define-public r-adimpute
+  (package
+    (name "r-adimpute")
+    (version "1.4.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "ADImpute" version))
+              (sha256
+               (base32
+                "1bkq1hd8sqg9r28r70a9vd3gb2nsmg6dybf002d621p88cdfjib2"))))
+    (properties `((upstream-name . "ADImpute")))
+    (build-system r-build-system)
+    (propagated-inputs
+     (list r-biocparallel
+           r-checkmate
+           r-data-table
+           r-drimpute
+           r-kernlab
+           r-mass
+           r-matrix
+           r-rsvd
+           r-s4vectors
+           r-saver
+           r-singlecellexperiment
+           r-summarizedexperiment))
+    (native-inputs (list r-knitr))
+    (home-page "https://bioconductor.org/packages/ADImpute")
+    (synopsis "Adaptive computational prediction for dropout imputations")
+    (description
+     "@dfn{Single-cell RNA sequencing} (scRNA-seq) methods are typically
+unable to quantify the expression levels of all genes in a cell, creating a
+need for the computational prediction of missing values (dropout imputation).
+Most existing dropout imputation methods are limited in the sense that they
+exclusively use the scRNA-seq dataset at hand and do not exploit external
+gene-gene relationship information.  The @code{ADImpute} package proposes two
+methods to address this issue:
+
+@enumerate
+@item a gene regulatory network-based approach using gene-gene relationships
+  learnt from external data;
+@item a baseline approach corresponding to a sample-wide average.
+@end enumerate
+
+@code{ADImpute} implements these novel methods and also combines them with
+existing imputation methods like @code{DrImpute} and @code{SAVER}.
+@code{ADImpute} can learn the best performing method per gene and combine the
+results from different methods into an ensemble.")
+    (license license:gpl3+)))
+
+(define-public r-adsplit
+  (package
+    (name "r-adsplit")
+    (version "1.64.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "adSplit" version))
+              (sha256
+               (base32
+                "1b4ck371h3a76m5h0brvlzsyg1g6q5fjrhra5hqv9pwxr330h9r2"))))
+    (properties `((upstream-name . "adSplit")))
+    (build-system r-build-system)
+    (propagated-inputs
+     (list r-annotationdbi
+           r-biobase
+           r-cluster
+           r-go-db
+           r-keggrest
+           r-multtest))
+    (home-page "https://compdiag.molgen.mpg.de/software/adSplit.shtml")
+    (synopsis "Annotation-driven splits in microarray data")
+    (description
+     "This package implements clustering of microarray gene expression
+profiles according to functional annotations.  For each term genes are
+annotated to, splits into two subclasses are computed and a significance of
+the supporting gene set is determined.")
+    (license license:gpl2+)))
+
+(define-public r-affixcan
+  (package
+    (name "r-affixcan")
+    (version "1.12.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "AffiXcan" version))
+              (sha256
+               (base32
+                "06yn87briv2141jqad934gg5rcd90w5nghrgmbhqnmwafn72gj9d"))))
+    (properties `((upstream-name . "AffiXcan")))
+    (build-system r-build-system)
+    (propagated-inputs
+     (list r-biocparallel
+           r-crayon
+           r-multiassayexperiment
+           r-summarizedexperiment))
+    (native-inputs (list r-knitr))
+    (home-page "https://bioconductor.org/packages/AffiXcan")
+    (synopsis "Functional approach to impute genetically regulated expression")
+    (description
+     "The @code{AffiXcan} package imputes a @dfn{genetically regulated
+expression} (GReX) for a set of genes in a sample of individuals, using a
+method based on the @dfn{total binding affinity} (TBA).  Statistical models to
+impute GReX can be trained with a training dataset where the real total
+expression values are known.")
+    (license license:gpl3)))
+
+(define-public r-affyrnadegradation
+  (package
+    (name "r-affyrnadegradation")
+    (version "1.40.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "AffyRNADegradation" version))
+              (sha256
+               (base32
+                "00hzr62xn1i1w4g8krsxhivzwn8hd7hwhkdxyrpz6cs9vgr4x9kd"))))
+    (properties `((upstream-name . "AffyRNADegradation")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-affy))
+    (home-page "https://bioconductor.org/packages/AffyRNADegradation")
+    (synopsis
+     "Analyze and correct probe positional bias in data due to RNA degradation")
+    (description
+     "The @code{AffyRNADegradation} package helps with the assessment and
+correction of RNA degradation effects in Affymetrix 3 expression arrays.  The
+parameter @code{d} gives a robust and accurate measure of RNA integrity.  The
+correction removes the probe positional bias, and thus improves comparability
+of samples that are affected by RNA degradation.")
+    ;; the R file header specifies GPL2 or later
+    (license license:gpl2+)))
+
+(define-public r-agdex
+  (package
+    (name "r-agdex")
+    (version "1.42.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "AGDEX" version))
+              (sha256
+               (base32
+                "0y0q4zdybr5hlsi7qy2hf6c2sqr2z2211wz36dz70jkqyr0ggw64"))))
+    (properties `((upstream-name . "AGDEX")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-biobase r-gseabase))
+    (home-page "https://bioconductor.org/packages/AGDEX")
+    (synopsis
+     "Evaluate agreement of differential expression for cross-species genomics")
+    (description
+     "The objective of @code{AGDEX} is to evaluate whether the results of a
+pair of two-group differential expression analysis comparisons show a level of
+agreement that is greater than expected if the group labels for each two-group
+comparison are randomly assigned.  The agreement is evaluated for the entire
+transcriptome and (optionally) for a collection of pre-defined gene-sets.
+Additionally, the procedure performs permutation-based differential expression
+and meta analysis at both gene and gene-set levels of the data from each
+experiment.")
+    (license license:gpl2+)))
+
+(define-public r-aggregatebiovar
+  (package
+    (name "r-aggregatebiovar")
+    (version "1.4.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "aggregateBioVar" version))
+              (sha256
+               (base32
+                "1wbfp1pf62di6pzxsf36lmzk6y9dllz1n4iv3mhpb1x8cvy4hqqk"))))
+    (properties `((upstream-name . "aggregateBioVar")))
+    (build-system r-build-system)
+    (propagated-inputs
+     (list r-matrix
+           r-rlang
+           r-s4vectors
+           r-singlecellexperiment
+           r-summarizedexperiment
+           r-tibble))
+    (native-inputs (list r-knitr))
+    (home-page "https://github.com/jasonratcliff/aggregateBioVar")
+    (synopsis "Differential gene expression analysis for multi-subject scRNA-seq")
+    (description
+     "This package @code{aggregateBioVar} contains tools to summarize single
+cell gene expression profiles at the level of subject for single cell RNA-seq
+data collected from more than one subject (e.g. biological sample or technical
+replicates).  A @code{SingleCellExperiment} object is taken as input and
+converted to a list of @code{SummarizedExperiment} objects, where each list
+element corresponds to an assigned cell type.  The @code{SummarizedExperiment}
+objects contain aggregate gene-by-subject count matrices and inter-subject
+column metadata for individual subjects that can be processed using downstream
+bulk RNA-seq tools.")
+    (license license:gpl3)))
+
+(define-public r-agilp
+  (package
+    (name "r-agilp")
+    (version "3.26.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "agilp" version))
+              (sha256
+               (base32
+                "02cyc2y4v3y16zlrnax2c96b2qfxj6b2j37ps4g2gdqgas08n9xp"))))
+    (properties `((upstream-name . "agilp")))
+    (build-system r-build-system)
+    (home-page "https://bioconductor.org/packages/agilp")
+    (synopsis "Processing of Agilent expression array")
+    (description
+     "This package aims to provide a pipeline for the low-level analysis of
+gene expression microarray data, primarily focused on the Agilent platform,
+but which also provides utilities which may be useful for other platforms.")
+    ;; Some files are under GPLv2+ but the combined work is released under the
+    ;; GPLv3.
+    (license license:gpl3)))
+
+(define-public r-aneufinder
+  (package
+    (name "r-aneufinder")
+    (version "1.22.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "AneuFinder" version))
+              (sha256
+               (base32
+                "0xn8952fkchhx7m8dam6gjy86j551xp1cs67510s1qrmfgzpkjp0"))))
+    (build-system r-build-system)
+    (native-inputs
+     (list r-knitr))
+    (propagated-inputs
+     (list r-genomicranges
+           r-aneufinderdata
+           r-ecp
+           r-foreach
+           r-doparallel
+           r-biocgenerics
+           r-s4vectors
+           r-genomeinfodb
+           r-iranges
+           r-rsamtools
+           r-bamsignals
+           r-dnacopy
+           r-biostrings
+           r-genomicalignments
+           r-ggplot2
+           r-reshape2
+           r-ggdendro
+           r-ggrepel
+           r-reordercluster
+           r-mclust
+           r-cowplot))
+    (home-page "https://bioconductor.org/packages/AneuFinder/")
+    (synopsis "Copy number variation analysis in single-cell-sequencing data")
+    (description "This package implements functions for copy number variant
+calling, plotting, export and analysis from whole-genome single cell
+sequencing data.")
+    (license license:artistic2.0)))
+
 (define-public r-biocversion
   (package
     (name "r-biocversion")
@@ -2052,14 +2439,14 @@ mapping.")
 (define-public r-nmf
   (package
     (name "r-nmf")
-    (version "0.23.0")
+    (version "0.24.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "NMF" version))
        (sha256
         (base32
-         "0ls7q9yc9l1z10jphq5a11wkfgcxc3gm3sfjj376zx3vnc0wl30g"))))
+         "14yxra6in5c1md5nr75y8cdmh9pg0lxqabqflvlhgg1vbg9i2628"))))
     (properties `((upstream-name . "NMF")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2402,14 +2789,14 @@ databases.  Packages produced are intended to be used with AnnotationDbi.")
 (define-public r-annotationhub
   (package
     (name "r-annotationhub")
-    (version "3.2.0")
+    (version "3.2.2")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "AnnotationHub" version))
        (sha256
         (base32
-         "0ks8yzvvs2r66pb9687mkskf0n3wgvp7h92k83b0a1q32sca5wng"))))
+         "08dk4h07gpi3rk9s80wrbx2ww2chj688qzbwlx8n4dz788lqbfz8"))))
     (properties `((upstream-name . "AnnotationHub")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2519,13 +2906,13 @@ on Bioconductor or which replace R functions.")
 (define-public r-biomart
   (package
     (name "r-biomart")
-    (version "2.50.1")
+    (version "2.50.3")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "biomaRt" version))
               (sha256
                (base32
-                "1lm8axjmi2k1d2x0gdlvs0fzsd68xvxx7sn1wn6v4wr0pv85qhkz"))))
+                "01mv05fj5iqvjb5xz9k92kx1a9d95mprb6isy57n0x20vd3cxdx1"))))
     (properties
      `((upstream-name . "biomaRt")))
     (build-system r-build-system)
@@ -3137,14 +3524,14 @@ CAGE.")
 (define-public r-ensembldb
   (package
     (name "r-ensembldb")
-    (version "2.18.2")
+    (version "2.18.4")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ensembldb" version))
        (sha256
         (base32
-         "0q56gv0isa9ayw505py7i7x65pvcshmd2j1mna1wpbk66wqj4qzx"))))
+         "1nsdcsghhh3ikv0hbn1aazdam7a6pqf1p6rz68ll2h6965kl4qzp"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-annotationdbi
@@ -3327,13 +3714,13 @@ genomic intervals.  In addition, it can use BAM or BigWig files as input.")
 (define-public r-genomeinfodb
   (package
     (name "r-genomeinfodb")
-    (version "1.30.0")
+    (version "1.30.1")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomeInfoDb" version))
               (sha256
                (base32
-                "1r0wblz9w4hqxm15wdssz0invx7hxhg3bnblkia6w3aazh30s6ns"))))
+                "1ly851w6xy144qvmpdv7p64yc45bqxmvny2rzgz691h3qbin3x55"))))
     (properties
      `((upstream-name . "GenomeInfoDb")))
     (build-system r-build-system)
@@ -3387,13 +3774,13 @@ alignments.")
 (define-public r-genomicfeatures
   (package
     (name "r-genomicfeatures")
-    (version "1.46.3")
+    (version "1.46.5")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomicFeatures" version))
               (sha256
                (base32
-                "0a3shdzc1r0f12q9w679hgj8ywrwbg36z7k0yp47dgfjl14lachk"))))
+                "1fhahqh87cikfrwqkm2z4nq3jyi530qvsbmf09j2hyhsm87hhrgg"))))
     (properties
      `((upstream-name . "GenomicFeatures")))
     (build-system r-build-system)
@@ -3667,16 +4054,37 @@ Shiny-based display methods for Bioconductor objects.")
 @dfn{Kyoto Encyclopedia of Genes and Genomes} (KEGG) REST server.")
     (license license:artistic2.0)))
 
+(define-public r-lfa
+  (package
+    (name "r-lfa")
+    (version "1.24.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "lfa" version))
+       (sha256
+        (base32 "02b90xjb2lfm86hbsdrvzpv20pijnq78ibz4dwjzqd9v4xhia3wr"))))
+    (properties `((upstream-name . "lfa")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-corpcor))
+    (native-inputs (list r-knitr))
+    (home-page "https://github.com/StoreyLab/lfa")
+    (synopsis "Logistic Factor Analysis for categorical data")
+    (description
+     "@dfn{Logistic Factor Analysis} (LFA) is a method for a PCA analogue on
+Binomial data via estimation of latent structure in the natural parameter.")
+    (license license:gpl3)))
+
 (define-public r-limma
   (package
     (name "r-limma")
-    (version "3.50.0")
+    (version "3.50.3")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "limma" version))
               (sha256
                (base32
-                "05ypmax1s6y1nz42bxn61wxhzzw6185q633crzpdcbbz3dz4vgvy"))))
+                "1p46sif1aygmw2p8ifiylxrrbfbgvcsa0zp40nxlxawc7h56rybp"))))
     (build-system r-build-system)
     (home-page "http://bioinf.wehi.edu.au/limma")
     (synopsis "Package for linear models for microarray and RNA-seq data")
@@ -3763,14 +4171,14 @@ throughput genetic sequencing data sets using regression methods.")
 (define-public r-mutationalpatterns
   (package
     (name "r-mutationalpatterns")
-    (version "3.4.0")
+    (version "3.4.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "MutationalPatterns" version))
        (sha256
         (base32
-         "1n9rakj57yf17hay1bzvwc2h761yijmlflb3crg1bzwvmn32yhsl"))))
+         "0i6fq6736gvrqn45r7nrhl0ns45qwj1bl4yc6qlalw2g46mjxf6k"))))
     (build-system r-build-system)
     (native-inputs
      (list r-knitr))
@@ -3809,14 +4217,14 @@ in SNV base substitution data.")
 (define-public r-msnbase
   (package
     (name "r-msnbase")
-    (version "2.20.1")
+    (version "2.20.4")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "MSnbase" version))
        (sha256
         (base32
-         "0ip614mdwisz2hlmyfgngysq1s3hajb88cgdmygfc8i6kyxjkjzl"))))
+         "0d3b0i154dyz1wvy2jwf5831bzbmalw7rzvxj8rd7658zjhghgzc"))))
     (properties `((upstream-name . "MSnbase")))
     (build-system r-build-system)
     (propagated-inputs
@@ -4150,14 +4558,14 @@ library implementing most of the pipeline's features.")
 (define-public r-regioner
   (package
     (name "r-regioner")
-    (version "1.26.0")
+    (version "1.26.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "regioneR" version))
        (sha256
         (base32
-         "0y1mawzfvxrympc47q3isk96sl9d1bc8kdsxpm8rnhqg5bmgwya6"))))
+         "0k500fdmv5l0v7b9pj73bjk3h9k261mfqi6vl52khlw0fafn9b6p"))))
     (properties `((upstream-name . "regioneR")))
     (build-system r-build-system)
     (propagated-inputs
@@ -4231,13 +4639,13 @@ browser.")
 (define-public r-rhdf5
   (package
     (name "r-rhdf5")
-    (version "2.38.0")
+    (version "2.38.1")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "rhdf5" version))
               (sha256
                (base32
-                "13zm993l3i9f98gqdpxgsrzf9fgqppx2ajvrl0i3f7cvpifcgxqg"))))
+                "1mlwp7bblhbpmd90sxj02zpq1q3fyg8v7ankyjb1y284xaymp02y"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-rhdf5filters r-rhdf5lib))
@@ -4710,13 +5118,13 @@ structures to hold pseudotime inference results.")
 (define-public r-slingshot
   (package
    (name "r-slingshot")
-   (version "2.2.0")
+   (version "2.2.1")
    (source (origin
             (method url-fetch)
             (uri (bioconductor-uri "slingshot" version))
             (sha256
              (base32
-              "081kp9b0lpw2xq9xvd2kykqqrqcj322mp7xa44xc3kf0nzsivqfa"))))
+              "10kjpmckhzjf41yfhzg7c8idqa9cxz33r4rza6rwihnqnw1liff3"))))
    (build-system r-build-system)
    (propagated-inputs
     (list r-igraph
@@ -4739,16 +5147,39 @@ events and allows for the incorporation of prior knowledge through supervised
 graph construction.")
    (license license:artistic2.0)))
 
+(define-public r-stager
+  (package
+    (name "r-stager")
+    (version "1.16.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "stageR" version))
+       (sha256
+        (base32 "0vpx0v04hgkhzi0bm7ipnb9xr37n5wvnnr45lljgni8pwabfkf6y"))))
+    (properties `((upstream-name . "stageR")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-summarizedexperiment))
+    (native-inputs (list r-knitr))
+    (home-page "https://bioconductor.org/packages/stageR")
+    (synopsis "Stage-wise analysis of high throughput gene expression data")
+    (description
+     "The stageR package allows automated stage-wise analysis of
+high-throughput gene expression data.  The method is published in Genome
+Biology at
+@url{https://genomebiology.biomedcentral.com/articles/10.1186/s13059-017-1277-0}.")
+    (license license:gpl3)))
+
 (define-public r-stringdb
   (package
     (name "r-stringdb")
-    (version "2.6.0")
+    (version "2.6.5")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "STRINGdb" version))
        (sha256
-        (base32 "1hvb73anhbf1g82nn5m11s783z6ihvlavf7p30w29qggxggnl6lm"))))
+        (base32 "0n2r2zc2sx1a2a8wqqxz6z7i4ynaj18iwbwgif7469n13agji5mv"))))
     (properties `((upstream-name . "STRINGdb")))
     (build-system r-build-system)
     (propagated-inputs
@@ -4877,14 +5308,14 @@ unmodeled, or latent sources of noise.")
 (define-public r-systempiper
   (package
     (name "r-systempiper")
-    (version "2.0.5")
+    (version "2.0.8")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "systemPipeR" version))
        (sha256
         (base32
-         "1j91pyfjsqngxxlxjqc477pznlfax4vayrks2q12rxw76ija80hf"))))
+         "0ajlw9yg6fha76rkkmsk5niq99s33k9437bkgi9whgh3pa6bkab2"))))
     (properties `((upstream-name . "systemPipeR")))
     (build-system r-build-system)
     (propagated-inputs
@@ -5077,6 +5508,43 @@ their variance is independent of the mean, and they are usually more sensitive
 and specific in detecting differential transcription.")
     (license license:artistic2.0)))
 
+;; There is no source tarball, so we fetch the code from the Bioconductor git
+;; repository.
+(define-public r-xcir
+  (let ((commit "3b59d456f2ad7f70285915b036b1dc4279687277")
+        (revision "1"))
+    (package
+      (name "r-xcir")
+      (version (git-version "1.8.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://git.bioconductor.org/packages/XCIR")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1xxw5ady5j2p7z7zjxgx7lhm85x7fxbljiv49lc2ghsvh9wm937p"))))
+      (properties `((upstream-name . "XCIR")))
+      (build-system r-build-system)
+      (propagated-inputs (list r-biomart
+                               r-biostrings
+                               r-data-table
+                               r-ggplot2
+                               r-iranges
+                               r-readxl
+                               r-s4vectors
+                               r-seqminer
+                               r-variantannotation))
+      (native-inputs (list r-knitr))
+      (home-page "https://github.com/SRenan/XCIR")
+      (synopsis "Analysis of X chromosome inactivation")
+      (description
+       "This package is an R package that offers models and tools for subject
+level analysis of @dfn{X chromosome inactivation} (XCI) and XCI-escape
+inference.")
+      (license license:gpl2))))
+
 (define-public r-xina
   (package
     (name "r-xina")
@@ -5432,14 +5900,14 @@ signal in the input, that lead to spurious peaks during peak calling.")
 (define-public r-diffbind
   (package
     (name "r-diffbind")
-    (version "3.4.3")
+    (version "3.4.11")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "DiffBind" version))
        (sha256
         (base32
-         "1bz03ls7pkb09p6nkz7gfnhjlh06mgbp3j98ppnzibiar3cjrnfj"))))
+         "1xprj3x3s3yh6fwsdcl4zgfbhn640422x1lhhrmvdr836jr8sxcj"))))
     (properties `((upstream-name . "DiffBind")))
     (build-system r-build-system)
     (propagated-inputs
@@ -5670,14 +6138,14 @@ determining dependencies between variables, code improvement suggestions.")
 (define-public r-chippeakanno
   (package
     (name "r-chippeakanno")
-    (version "3.28.0")
+    (version "3.28.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ChIPpeakAnno" version))
        (sha256
         (base32
-         "05fbq8zvww1nlyykrri0hf4248i1i7w5cr453giagmjq7lgg4v3b"))))
+         "0v2qz3rp5lmj3s1ziahjqym6cjlh4wdvf050k1x6dx8404jhi8kw"))))
     (properties `((upstream-name . "ChIPpeakAnno")))
     (build-system r-build-system)
     (propagated-inputs
@@ -6453,14 +6921,14 @@ possible, parallelization is achieved using the BiocParallel framework.")
 (define-public r-destiny
   (package
     (name "r-destiny")
-    (version "3.8.0")
+    (version "3.8.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "destiny" version))
        (sha256
         (base32
-         "01662p5j9l12ylf5a5djg4cjppd2n3chrygzw8nnrcf1806xn58y"))))
+         "1f2mp2sxbf1zi61npj5rl5pl7z30rkj5953521iiv0w99mdfwhsc"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-biobase
@@ -6486,7 +6954,7 @@ possible, parallelization is achieved using the BiocParallel framework.")
            r-tidyselect
            r-vim))
     (native-inputs
-     (list r-nbconvertr)) ; for vignettes
+     (list r-knitr r-nbconvertr)) ; for vignettes
     (home-page "https://bioconductor.org/packages/destiny/")
     (synopsis "Create and plot diffusion maps")
     (description "This package provides tools to create and plot diffusion
@@ -6699,13 +7167,13 @@ gene and isoform level using RNA-seq data")
 (define-public r-karyoploter
   (package
     (name "r-karyoploter")
-    (version "1.20.0")
+    (version "1.20.3")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "karyoploteR" version))
               (sha256
                (base32
-                "0x3mld9q55r2fy452wxq5sjzmms10zmpkzs71c3w1fdli5hwszdq"))))
+                "0bcc1ln7602lrbm9wckgyfd9slsqiljjmymj28rfpax1n8rbq44m"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-annotationdbi
@@ -7231,14 +7699,14 @@ high-throughput analyses.")
 (define-public r-geoquery
   (package
     (name "r-geoquery")
-    (version "2.62.1")
+    (version "2.62.2")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "GEOquery" version))
        (sha256
         (base32
-         "0plmh4x37r848g6ilvl1x8cim90rp85gikfc5m8lgi2i4xkq7hbq"))))
+         "1hncr0p54qdg82a771yjjm4w1k2myrc26jzvci3g37mq7bgv3mxw"))))
     (properties `((upstream-name . "GEOquery")))
     (build-system r-build-system)
     (propagated-inputs
@@ -7947,14 +8415,14 @@ data.")
 (define-public r-enrichplot
   (package
     (name "r-enrichplot")
-    (version "1.14.1")
+    (version "1.14.2")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "enrichplot" version))
        (sha256
         (base32
-         "0nsx96mkcg0hhg3x8jndzq3xvq9bq7m4yf1b3ry73b17ladx81ch"))))
+         "1rjiqmc32c9gxckgrgbypxpp0m8y0kahvhzvjzymda25xp8zqjs2"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-aplot
@@ -7985,14 +8453,14 @@ All the visualization methods are developed based on ggplot2 graphics.")
 (define-public r-clusterprofiler
   (package
     (name "r-clusterprofiler")
-    (version "4.2.1")
+    (version "4.2.2")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "clusterProfiler" version))
        (sha256
         (base32
-         "08jhcbanz24x7zdkxznxz787g0nk3jfzd7zsap13sra7qnwaswq4"))))
+         "1y8ay3fxvcc7a7yqvfc95jfn800ikvs56j17byyp6v08w2j00y76"))))
     (properties
      `((upstream-name . "clusterProfiler")))
     (build-system r-build-system)
@@ -8528,14 +8996,14 @@ type and symbol colors.")
 (define-public r-genomicscores
   (package
     (name "r-genomicscores")
-    (version "2.6.0")
+    (version "2.6.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "GenomicScores" version))
        (sha256
         (base32
-         "18fzi2qi95851ci7qrzwpb7v6fhwp6xi1d1vk11xbygpbvql5mls"))))
+         "17v2v7aklljy17nivwmani2jxkbffqs2yr38hlspjlvgpidpf9ln"))))
     (properties `((upstream-name . "GenomicScores")))
     (build-system r-build-system)
     (propagated-inputs
@@ -8565,14 +9033,14 @@ position-specific scores within R and Bioconductor.")
 (define-public r-atacseqqc
   (package
     (name "r-atacseqqc")
-    (version "1.18.0")
+    (version "1.18.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ATACseqQC" version))
        (sha256
         (base32
-         "0i1i3bfkp1xsjdl1nd56mlh66qz3aasd1hp09d4i31njz2f9znwn"))))
+         "1jmlialnhs9df1hv6l4qk2c4qjyjbz9mdj8vr52ms8vlxlxplz6c"))))
     (properties `((upstream-name . "ATACseqQC")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9230,14 +9698,14 @@ genes.")
 (define-public r-massspecwavelet
   (package
     (name "r-massspecwavelet")
-    (version "1.60.0")
+    (version "1.60.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "MassSpecWavelet" version))
        (sha256
         (base32
-         "1icqyxkx5a9y3wahkxpxngw85c7l4hih1ym9nwwn9qy93pnw1zi4"))))
+         "00irq3i5kfck7rnm8ll7rqhqfpp3bisv2h8is50a7wbd7480z7ij"))))
     (properties
      `((upstream-name . "MassSpecWavelet")))
     (build-system r-build-system)
@@ -9292,6 +9760,47 @@ imports from AIA/ANDI NetCDF, mzXML, mzData and mzML files.  It preprocesses
 data for high-throughput, untargeted analyte profiling.")
     (license license:gpl2+)))
 
+(define-public r-wppi
+  (package
+    (name "r-wppi")
+    (version "1.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "wppi" version))
+              (sha256
+               (base32
+                "1spwa8p6w3pyw21dvd1lrhcz1sphdsmsd408jv55ss9nbgvgrp23"))))
+    (properties `((upstream-name . "wppi")))
+    (build-system r-build-system)
+    ;; This is necessary because omnipathr attempts to write a configuration
+    ;; file to HOME.
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'set-HOME
+           (lambda _ (setenv "HOME" "/tmp"))))))
+    (propagated-inputs (list r-dplyr
+                             r-igraph
+                             r-logger
+                             r-magrittr
+                             r-matrix
+                             r-omnipathr
+                             r-progress
+                             r-purrr
+                             r-rcurl
+                             r-rlang
+                             r-tibble
+                             r-tidyr))
+    (native-inputs (list r-knitr))
+    (home-page "https://github.com/AnaGalhoz37/wppi")
+    (synopsis "Weighting protein-protein interactions")
+    (description
+     "This package predicts functional relevance of protein-protein
+interactions based on functional annotations such as Human Protein Ontology
+and Gene Ontology, and prioritizes genes based on network topology, functional
+scores and a path search algorithm.")
+    (license license:expat)))
+
 (define-public r-wrench
   (package
     (name "r-wrench")
@@ -9544,14 +10053,14 @@ Infinium HumanMethylation 450k assay.")
 (define-public r-biocfilecache
   (package
     (name "r-biocfilecache")
-    (version "2.2.0")
+    (version "2.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "BiocFileCache" version))
        (sha256
         (base32
-         "11qayqmgv274hc4h1v222sma07wkxjm8002fl6w3yvi225zq1qc1"))))
+         "0gaj0z6dk2p2vhvqz685xwd5q2mkvpimh2493p3w04s2rlsvi3jb"))))
     (properties `((upstream-name . "BiocFileCache")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9617,6 +10126,18 @@ Gaussian distributions.")
          "0ardmryx6ac7v6n900a1klrrldvbmh7bxvy8ldz8rwid19h29ikr"))))
     (properties `((upstream-name . "Rbowtie")))
     (build-system r-build-system)
+    (arguments
+     `(#:phases
+       ;; Disable unsupported `popcnt' instructions on
+       ;; architectures other than x86_64
+       ,(if (string-prefix? "x86_64"
+                            (or (%current-target-system)
+                                (%current-system)))
+            '%standard-phases
+            '(modify-phases %standard-phases
+               (add-after 'unpack 'patch-sources
+                 (lambda _
+                   (setenv "POPCNT_CAPABILITY" "0")))))))
     (inputs (list zlib))
     (native-inputs
      (list r-knitr))
@@ -9797,18 +10318,18 @@ graphics.")
 (define-public r-birewire
   (package
     (name "r-birewire")
-    (version "3.26.0")
+    (version "3.26.5")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "BiRewire" version))
        (sha256
         (base32
-         "0ki4rcwjgbixzy5q9s30ajx5zhpl18q50znrb60fchvl4hj9h93w"))))
+         "041i5d08bsc5jqx3309fixjacizs4yi992cwazxghm8mrk3kicbr"))))
     (properties `((upstream-name . "BiRewire")))
     (build-system r-build-system)
     (propagated-inputs
-     (list r-igraph r-matrix r-slam r-tsne))
+     (list r-igraph r-matrix r-rtsne r-slam))
     (home-page "https://bioconductor.org/packages/release/bioc/html/BiRewire.html")
     (synopsis "Tools for randomization of bipartite graphs")
     (description
@@ -9887,14 +10408,14 @@ packages.")
 (define-public r-ropls
   (package
     (name "r-ropls")
-    (version "1.26.0")
+    (version "1.26.4")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ropls" version))
        (sha256
         (base32
-         "0mz5lrdsihx66sgx9klnvpxvw1mjjcbijcsdbgxwaimzl9k1kr05"))))
+         "19f3wd55860x959h5n7mrivyjdas5b3jmx74lf24xnx23g26f8rn"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-biobase r-multidataset))
@@ -9994,14 +10515,14 @@ annotations.")
 (define-public r-rsubread
   (package
     (name "r-rsubread")
-    (version "2.8.1")
+    (version "2.8.2")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "Rsubread" version))
        (sha256
         (base32
-         "0lpx0dp5570kbrq7v0g573axkhi00qrf38si59vmvnqxhmkvsixn"))))
+         "078zcchw9xl6vs2wihzzji349vq0m1a039m86jdlvb7nc3i1imfk"))))
     (properties `((upstream-name . "Rsubread")))
     (build-system r-build-system)
     (inputs (list zlib))
@@ -10066,17 +10587,60 @@ and to both short and long sequence reads.")
 cluster count and membership by stability evidence in unsupervised analysis.")
     (license license:gpl2)))
 
+;; This is the latest commit and it solves a bug from the latest release.
+(define-public r-cycombine
+  (let ((commit "f18504bc83ff5daee2b5eb4b28f09abdaaa66698") (revision "1"))
+    (package
+      (name "r-cycombine")
+      (version (git-version "0.2.6" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/biosurf/cyCombine")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1fiwnik8iahg01732fik85xhz359x32f1xc59h443pdf7jancskm"))))
+      (properties `((upstream-name . "cyCombine")))
+      (build-system r-build-system)
+      (propagated-inputs
+       (list r-biobase
+             r-cytolib
+             r-dplyr
+             r-flowcore
+             r-ggplot2
+             r-knitr
+             r-kohonen
+             r-magrittr
+             r-purrr
+             r-rcolorbrewer
+             r-readr
+             r-readxl
+             r-stringr
+             r-sva
+             r-tibble
+             r-tidyr))
+      (native-inputs (list r-knitr))
+      (home-page "https://github.com/biosurf/cyCombine")
+      (synopsis "Integration of single-cell cytometry datasets")
+      (description
+       "This package provides a method for combining single-cell cytometry
+datasets, which increases the analytical flexibility and the statistical power
+of the analyses while minimizing technical noise.")
+      (license license:expat))))
+
 (define-public r-cytolib
   (package
     (name "r-cytolib")
-    (version "2.6.1")
+    (version "2.6.2")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "cytolib" version))
        (sha256
         (base32
-         "16m5w6cp28p4fs2p8c8rjcg1d686xl8mpas816i7zxfh8m0bcqc9"))))
+         "0ycr4wmkfi0rvzwicblkfjgppk72gwwpim0rfiz1s44lycsf4py5"))))
     (properties `((upstream-name . "cytolib")))
     (build-system r-build-system)
     (native-inputs
@@ -10950,32 +11514,6 @@ regulatory networks from expression data.")
 Characteristic} (ROC) curves, with a focus on micro arrays.")
     (license license:artistic2.0)))
 
-(define-public r-illuminahumanmethylation450kanno-ilmn12-hg19
-  (package
-    (name "r-illuminahumanmethylation450kanno-ilmn12-hg19")
-    (version "0.6.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (bioconductor-uri
-             "IlluminaHumanMethylation450kanno.ilmn12.hg19"
-             version 'annotation))
-       (sha256
-        (base32
-         "059vlxsx3p3fcnywwirahsc6mlk813zpqnbv0jsrag6x5bb8z6r4"))))
-    (properties
-     `((upstream-name
-        . "IlluminaHumanMethylation450kanno.ilmn12.hg19")))
-    (build-system r-build-system)
-    (propagated-inputs (list r-minfi))
-    (home-page
-     "https://bioconductor.org/packages/IlluminaHumanMethylation450kanno.ilmn12.hg19/")
-    (synopsis "Annotation for Illumina's 450k methylation arrays")
-    (description
-     "This package provides manifests and annotation for Illumina's 450k array
-data.")
-    (license license:artistic2.0)))
-
 (define-public r-watermelon
   (package
     (name "r-watermelon")
@@ -11125,44 +11663,6 @@ and parameters of which are trained on a set of aligned reads and a reference
 genome sequence.")
     (license license:lgpl3)))
 
-(define-public r-snplocs-hsapiens-dbsnp144-grch37
-  (package
-    (name "r-snplocs-hsapiens-dbsnp144-grch37")
-    (version "0.99.20")
-    (source (origin
-              (method url-fetch)
-              (uri (bioconductor-uri "SNPlocs.Hsapiens.dbSNP144.GRCh37"
-                                     version 'annotation))
-              (sha256
-               (base32
-                "1z8kx43ki1jvj7ms7pcybakcdimfwr6zpjvspkjmma97bdz093iz"))))
-    (build-system r-build-system)
-    ;; As this package provides little more than a very large data file it
-    ;; doesn't make sense to build substitutes.
-    (arguments `(#:substitutable? #f))
-    (propagated-inputs
-     (list r-biocgenerics
-           r-s4vectors
-           r-iranges
-           r-genomeinfodb
-           r-genomicranges
-           r-bsgenome
-           r-biostrings))
-    (home-page
-     "https://bioconductor.org/packages/SNPlocs.Hsapiens.dbSNP144.GRCh37/")
-    (synopsis "SNP locations for Homo sapiens (dbSNP Build 144)")
-    (description "This package provides SNP locations and alleles for Homo
-sapiens extracted from NCBI dbSNP Build 144.  The source data files used for
-this package were created by NCBI on May 29-30, 2015, and contain SNPs mapped
-to reference genome GRCh37.p13.  Note that the GRCh37.p13 genome is a
-patched version of GRCh37.  However the patch doesn't alter chromosomes 1-22,
-X, Y, MT.  GRCh37 itself is the same as the hg19 genome from UCSC *except* for
-the mitochondrion chromosome.  Therefore, the SNPs in this package can be
-injected in @code{BSgenome.Hsapiens.UCSC.hg19} and they will land at the
-correct position but this injection will exclude chrM (i.e. nothing will be
-injected in that sequence).")
-    (license license:artistic2.0)))
-
 (define-public r-reqon
   (package
     (name "r-reqon")
@@ -11383,19 +11883,20 @@ arrays based on fast wavelet-based functional models.")
 (define-public r-variancepartition
   (package
     (name "r-variancepartition")
-    (version "1.24.0")
+    (version "1.24.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "variancePartition" version))
        (sha256
         (base32
-         "0f5y61dpzwmr8v7npim18zvxa8n49rbzclb9j72haba0px6ibhvw"))))
+         "14aki7d9xl4rhhzv3cl09mbj1q7xhxg69s4kzms9hfv3cqjryqd7"))))
     (properties
      `((upstream-name . "variancePartition")))
     (build-system r-build-system)
     (propagated-inputs
-     (list r-biobase
+     (list r-aod
+           r-biobase
            r-biocparallel
            r-doparallel
            r-foreach
@@ -11409,7 +11910,9 @@ arrays based on fast wavelet-based functional models.")
            r-matrix
            r-pbkrtest
            r-progress
+           r-rdpack
            r-reshape2
+           r-rhpcblasctl
            r-rlang
            r-scales))
     (native-inputs
@@ -11482,14 +11985,14 @@ data.")
 (define-public r-universalmotif
   (package
     (name "r-universalmotif")
-    (version "1.12.2")
+    (version "1.12.4")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "universalmotif" version))
        (sha256
         (base32
-         "1p9zdrsxqn4ayvbj05xgpzpbzkzrh7k0d62x10069687vfl6dlxg"))))
+         "01skcvzd815m3c15ka2pk7z6bggc4l8bhvaf4z9v95i36k4mn5zd"))))
     (properties
      `((upstream-name . "universalmotif")))
     (build-system r-build-system)
@@ -11527,6 +12030,111 @@ enrichment, comparison, P-value calculation, shuffling, trimming, higher-order
 motifs, and others.")
     (license license:gpl3)))
 
+(define-public r-ace
+  (package
+    (name "r-ace")
+    (version "1.12.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "ACE" version))
+              (sha256
+               (base32
+                "1nkbxldn5ba4fzfh4skwjc37gm6apwp09vzwnj2jw3b7ivmr0yr6"))))
+    (properties `((upstream-name . "ACE")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-biobase r-genomicranges r-ggplot2 r-qdnaseq))
+    (native-inputs (list r-knitr))
+    (home-page "https://github.com/tgac-vumc/ACE")
+    (synopsis
+     "Absolute copy number estimation from low-coverage whole genome sequencing")
+    (description
+     "This package uses segmented copy number data to estimate tumor cell
+percentage and produce copy number plots displaying absolute copy numbers.  For
+this it uses segmented data from the @code{QDNAseq} package, which in turn uses
+a number of dependencies to turn mapped reads into segmented data.  @code{ACE}
+will run @code{QDNAseq} or use its output rds-file of segmented data.  It will
+subsequently run through all samples in the object(s), for which it will create
+individual subdirectories.  For each sample, it will calculate how well the
+segments fit (the relative error) to integer copy numbers for each percentage
+of @dfn{tumor cells} (cells with divergent segments).")
+    (license license:gpl2)))
+
+(define-public r-acgh
+  (package
+    (name "r-acgh")
+    (version "1.72.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "aCGH" version))
+              (sha256
+               (base32
+                "1r1q6iq3g7svfn5m4jxlxp413djb40mvf6lh595y86sgwav5k6l4"))))
+    (properties `((upstream-name . "aCGH")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-biobase r-cluster r-multtest r-survival))
+    (home-page "https://bioconductor.org/packages/aCGH")
+    (synopsis
+     "Classes and functions for array comparative genomic hybridization data")
+    (description
+     "This package provides functions for reading
+@dfn{array comparative genomic hybridization} (aCGH) data from image analysis
+output files and clone information files, creation of @code{aCGH} objects for
+storing these data.  Basic methods are accessing/replacing, subsetting,
+printing and plotting @code{aCGH} objects.")
+    (license license:gpl2)))
+
+(define-public r-acme
+  (package
+    (name "r-acme")
+    (version "2.50.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "ACME" version))
+              (sha256
+               (base32
+                "0h4bqbbqcwc938q7lysk5l35f64xz9d1bsniv2wshmlr4rr0zpcg"))))
+    (properties `((upstream-name . "ACME")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-biobase r-biocgenerics))
+    (home-page "https://bioconductor.org/packages/aCGH/")
+    (synopsis "Calculating microarray enrichment")
+    (description
+     "This package implements @dfn{algorithms for calculating microarray
+enrichment} (ACME), and it is a set of tools for analysing tiling array of
+@dfn{combined chromatin immunoprecipitation with DNA microarray} (ChIP/chip),
+DNAse hypersensitivity, or other experiments that result in regions of the
+genome showing enrichment.  It does not rely on a specific array technology
+(although the array should be a tiling array), is very general (can be applied
+in experiments resulting in regions of enrichment), and is very insensitive to
+array noise or normalization methods.  It is also very fast and can be applied
+on whole-genome tiling array experiments quite easily with enough memory.")
+    (license license:gpl2+)))
+
+(define-public r-acde
+  (package
+    (name "r-acde")
+    (version "1.24.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "acde" version))
+              (sha256
+               (base32
+                "13ks87am73m3bjn9ljapxml2a9cxdpgv9flwvly8aqmi3ndxyqi6"))))
+    (properties `((upstream-name . "acde")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-boot))
+    (home-page "https://bioconductor.org/packages/acde")
+    (synopsis
+     "Identification of differentially expressed genes with artificial components")
+    (description
+     "This package provides a multivariate inferential analysis method for
+detecting differentially expressed genes in gene expression data.  It uses
+artificial components, close to the data's principal components but with an
+exact interpretation in terms of differential genetic expression, to identify
+differentially expressed genes while controlling the @dfn{false discovery
+rate} (FDR).")
+    (license license:gpl3)))
+
 ;; This is a CRAN package, but it depends on Bioconductor packages, so we put
 ;; it here.
 (define-public r-activedriverwgs
@@ -12235,14 +12843,14 @@ also known as views, in a controlled vocabulary.")
 (define-public r-experimenthub
   (package
     (name "r-experimenthub")
-    (version "2.2.0")
+    (version "2.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ExperimentHub" version))
        (sha256
         (base32
-         "15las4qmqvrn81hczxa3ylikqh54kp1lg9r8rcyfvrx5l0kgwlfq"))))
+         "0lvd6hyqdfsn5ji714v46qdrb8vr1y38lv0pgw8priab0hpqrbm5"))))
     (properties `((upstream-name . "ExperimentHub")))
     (build-system r-build-system)
     (propagated-inputs
@@ -12791,13 +13399,13 @@ routines.")
 (define-public r-s4vectors
   (package
     (name "r-s4vectors")
-    (version "0.32.3")
+    (version "0.32.4")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "S4Vectors" version))
               (sha256
                (base32
-                "0wp29v41f9cf6khq2ww0f63nsq6219l1ycajzdqp3a2xda734ncw"))))
+                "17dvypxcwp8c7ih23hi2366110by6zq1mjgxkmlbiklzachg9780"))))
     (properties
      `((upstream-name . "S4Vectors")))
     (build-system r-build-system)
@@ -13315,13 +13923,13 @@ libraries.")
 (define-public r-singler
   (package
     (name "r-singler")
-    (version "1.8.0")
+    (version "1.8.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "SingleR" version))
        (sha256
-        (base32 "19lsn3cpghkhfbx4jqgbwwrnacrl7vj3r91ymd1gk02c9pn5dmci"))))
+        (base32 "0j0h6ipm65wv38qx40z16h01mfirpshfn4lhlwlg2nri4vmihlpi"))))
     (properties `((upstream-name . "SingleR")))
     (build-system r-build-system)
     (propagated-inputs
@@ -13527,14 +14135,14 @@ memory usage and processing time is minimized.")
 (define-public r-mscoreutils
   (package
     (name "r-mscoreutils")
-    (version "1.6.0")
+    (version "1.6.2")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "MsCoreUtils" version))
        (sha256
         (base32
-         "1w8d1v2r3plwwcz23zhbpvklhapf2a6x3xmglyh4sh6sy9ynkgrv"))))
+         "0614a830gf676ck8j5lkm04158pfvhjb61p3xfdd69gg3d44mk1d"))))
     (properties `((upstream-name . "MsCoreUtils")))
     (build-system r-build-system)
     (propagated-inputs
@@ -13671,14 +14279,14 @@ relevant, and the minimum expression of the most abundant condition.")
 (define-public r-catalyst
   (package
     (name "r-catalyst")
-    (version "1.18.0")
+    (version "1.18.1")
     (source
       (origin
         (method url-fetch)
         (uri (bioconductor-uri "CATALYST" version))
         (sha256
           (base32
-            "15lah45lf16zh1ankbpjvz8zp38lldvq074nmvb99rhhqys2gbgi"))))
+            "0dvcs7nz1yawcrsf9lqiwdcrvjmbs8ajrmvj0ji4qq2a86n3dkg0"))))
     (properties `((upstream-name . "CATALYST")))
     (build-system r-build-system)
     (propagated-inputs
@@ -13710,20 +14318,25 @@ relevant, and the minimum expression of the most abundant condition.")
             r-summarizedexperiment))
     (native-inputs
      (list r-knitr))
-    (home-page
-      "https://github.com/HelenaLC/CATALYST")
+    (home-page "https://github.com/HelenaLC/CATALYST")
     (synopsis "Cytometry data analysis tools")
     (description
-      "This package is Cytometry dATa anALYSis Tools (CATALYST).  Mass
-cytometry (CyTOF) uses heavy metal isotopes rather than fluorescent tags as
-reporters to label antibodies, thereby substantially decreasing spectral
-overlap and allowing for examination of over 50 parameters at the single cell
-level.  While spectral overlap is significantly less pronounced in CyTOF than
-flow cytometry, spillover due to detection sensitivity, isotopic impurities,
-and oxide formation can impede data interpretability.  We designed
-CATALYST (Cytometry dATa anALYSis Tools) to provide a pipeline for
-preprocessing of cytometry data, including i) normalization using bead
-standards, ii) single-cell deconvolution, and iii) bead-based compensation.")
+     "This package is @dfn{Cytometry dATa anALYSis Tools} (CATALYST).  Mass
+cytometry like @dfn{Cytometry by time of flight} (CyTOF) uses heavy metal
+isotopes rather than fluorescent tags as reporters to label antibodies,
+thereby substantially decreasing spectral overlap and allowing for examination
+of over 50 parameters at the single cell level.  While spectral overlap is
+significantly less pronounced in CyTOF than flow cytometry, spillover due to
+detection sensitivity, isotopic impurities, and oxide formation can impede
+data interpretability.  @code{CATALYST} was designed to provide a pipeline for
+preprocessing of cytometry data, including:
+
+@enumerate
+@item normalization using bead standards;
+@item single-cell deconvolution;
+@item bead-based compensation.
+@end enumerate
+")
     (license license:gpl2+)))
 
 (define-public r-erma
@@ -13937,14 +14550,14 @@ family of feature/genome hypotheses.")
 (define-public r-gviz
   (package
     (name "r-gviz")
-    (version "1.38.0")
+    (version "1.38.4")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "Gviz" version))
        (sha256
         (base32
-         "0nqa7m300d7gpsayb6c6rv64d3y8c390wvwgz7v29zs9c025s9a8"))))
+         "14qybi5b3h9z5b0m127jf7z695amf612rh5wq2g2n1yirfhzbdja"))))
     (properties `((upstream-name . "Gviz")))
     (build-system r-build-system)
     (propagated-inputs
@@ -14106,20 +14719,21 @@ on the plot.")
 (define-public r-abn
   (package
     (name "r-abn")
-    (version "2.6-0")
+    (version "2.7-0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "abn" version))
        (sha256
         (base32
-         "0fr5pyc43hly5ry5bbygibbh9mnql7vl4r5qz42d0ry4hahyxa4w"))))
+         "13i2f4lw1rzj89bp31sn03prq1bqj7bsxwdr8z2ql02yqks9phg0"))))
     (build-system r-build-system)
     (inputs
      (list gsl))
     (propagated-inputs
      (list r-doparallel
            r-foreach
+           r-graph
            r-lme4
            r-nnet
            r-rcpp
@@ -14452,14 +15066,14 @@ all RNA-Seq libraries of each species integrated in Bgee.")
 (define-public r-bgeedb
   (package
     (name "r-bgeedb")
-    (version "2.20.0")
+    (version "2.20.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "BgeeDB" version))
        (sha256
         (base32
-         "0pjymal01sjl5dc37g66wykgxnksarlbvwnbvhg7w0i7y92zavqk"))))
+         "0mrw7fwjx8k0a5c3iw2j94h1yn5pkvqil7fbzih9xiafnpbn374m"))))
     (properties `((upstream-name . "BgeeDB")))
     (build-system r-build-system)
     (propagated-inputs
@@ -15153,13 +15767,13 @@ interest on transformed methylation proportions.")
 (define-public r-omnipathr
   (package
     (name "r-omnipathr")
-    (version "3.2.0")
+    (version "3.2.8")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "OmnipathR" version))
        (sha256
-        (base32 "1q89mxnp8cig9r1499g7fb9p9x9ryz1dmc3w6ps5ww9n6rl8jqk8"))))
+        (base32 "0vr16ar3rbjsfw4qz2g86lbhvmqwgq0vcahc6vrc4d9rdjxwg6sb"))))
     (properties `((upstream-name . "OmnipathR")))
     (build-system r-build-system)
     (arguments
@@ -15256,13 +15870,13 @@ estimates, etc.")
 (define-public r-tcgabiolinks
   (package
     (name "r-tcgabiolinks")
-    (version "2.22.2")
+    (version "2.22.4")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "TCGAbiolinks" version))
        (sha256
-        (base32 "0l7hfwgd8aiqv2k98jchkr3sdp9hwdg7pzm3bnvr6k7p93ifr6wc"))))
+        (base32 "071wz6dm6dypbfzvxd6j67l1iawlb6d5sfzq871zh06fzaxjm332"))))
     (properties `((upstream-name . "TCGAbiolinks")))
     (build-system r-build-system)
     (propagated-inputs
@@ -15308,6 +15922,43 @@ regions) and methods for visualization (e.g., survival plots, volcano plots,
 starburst plots) in order to easily develop complete analysis pipelines.")
     (license license:gpl3+)))
 
+(define-public r-tricycle
+  (package
+    (name "r-tricycle")
+    (version "1.2.1")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "tricycle" version))
+              (sha256
+               (base32
+                "19yh7yif8630j845m9rddva2z0xy4jcw9j4hvyr076jqbyxz998r"))))
+    (properties `((upstream-name . "tricycle")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-annotationdbi
+                             r-circular
+                             r-dplyr
+                             r-genomicranges
+                             r-ggplot2
+                             r-iranges
+                             r-rcolorbrewer
+                             r-s4vectors
+                             r-scater
+                             r-scattermore
+                             r-singlecellexperiment
+                             r-summarizedexperiment))
+    (native-inputs (list r-knitr))
+    (home-page "https://github.com/hansenlab/tricycle")
+    (synopsis "Transferable representation and inference of cell cycle")
+    (description
+     "The package contains functions to infer and visualize cell cycle process
+using Single-cell RNA-Seq data.  It exploits the idea of transfer learning,
+projecting new data to the previous learned biologically interpretable space.
+The @code{tricycle} provides a pre-learned cell cycle space, which could be
+used to infer cell cycle time of human and mouse single cell samples.  In
+addition, it also offer functions to visualize cell cycle time on different
+embeddings and functions to build new reference.")
+    (license license:gpl3)))
+
 (define-public r-tximeta
   (package
     (name "r-tximeta")
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index ada5965e5f..40ccba247c 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -8,7 +8,7 @@
 ;;; Copyright © 2016, 2020, 2022 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2016, 2018 Raoul Bonnal <ilpuccio.febo@gmail.com>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2017, 2021 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2017, 2021, 2022 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
 ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
 ;;; Copyright © 2018, 2019, 2020, 2021 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
@@ -4788,7 +4788,7 @@ performance.")
                            "--enable-libcurl"
                            "--enable-s3")))
     (inputs
-     (list curl openssl))
+     (list bzip2 curl openssl xz))
     ;; This is referred to in the pkg-config file as a required library.
     (propagated-inputs
      (list zlib))
@@ -6668,7 +6668,7 @@ subsequent visualization, annotation and storage of results.")
 (define-public plink-ng
   (package (inherit plink)
     (name "plink-ng")
-    (version "2.00a2.3")
+    (version "2.00a3-20220315")
     (source
      (origin
        (method git-fetch)
@@ -6677,7 +6677,7 @@ subsequent visualization, annotation and storage of results.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1p88lz9agzjlspjhciz61qjc36cfniv4nkxszyy0njqyc5rzc0cd"))))
+        (base32 "19inr47jwddkjb9kfb14yxc7xb16c73lkhgxj9sncb0fsiskb4x8"))))
     (build-system gnu-build-system)
     (arguments
      `(#:make-flags
@@ -8981,6 +8981,34 @@ analysis, variant tools is project based and provides a whole set of tools to
 manipulate and analyze genetic variants.")
     (license license:gpl3+)))
 
+(define-public r-chromvarmotifs
+  (let ((commit "38bed559c1f4770b6c91c80bf3f8ea965da26076")
+        (revision "1"))
+    (package
+      (name "r-chromvarmotifs")
+      (version (git-version "0.2.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/GreenleafLab/chromVARmotifs")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0i9v1m1hrg1lkd2pnkj5nnrpks6vhhhpbdhsfl2lmjak4npxxr5q"))))
+      (properties `((upstream-name . "chromVARmotifs")))
+      (build-system r-build-system)
+      (propagated-inputs
+       `(("r-tfbstools" ,r-tfbstools)))
+      (home-page "https://github.com/GreenleafLab/chromVARmotifs")
+      (synopsis "Stores motif collections for use with motifmatchr or chromVAR")
+      (description
+       "This package stores motif collections as lists of @dfn{position
+frequency matrix} (PWMatrixList) objects provided by the @code{TFBSTools}
+package for use in R with packages like @code{motifmatchr} or
+@code{chromVAR}.")
+      (license license:expat))))
+
 (define-public r-raremetals2
   (package
     (name "r-raremetals2")
@@ -9009,6 +9037,43 @@ for analyzing gene-level association tests in meta-analyses for binary
 trait.")
     (license license:gpl3)))
 
+(define-public r-rnaseqdtu
+  (let ((commit "5bee1e769d2e1dc6a3f1cecb78078050eeb5b9ac")
+        (revision "1"))
+    (package
+      (name "r-rnaseqdtu")
+      (version (git-version "2.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/mikelove/rnaseqDTU/")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0jfi1ydsk8m5nadwnih48v87nnxdc7s3f0pny4axmnj40dd42as0"))))
+      (properties `((upstream-name . "rnaseqDTU")))
+      (build-system r-build-system)
+      (propagated-inputs
+       (list r-deseq2
+             r-devtools
+             r-dexseq
+             r-drimseq
+             r-edger
+             r-rafalib
+             r-stager))
+      (native-inputs (list r-knitr))
+      (home-page "https://github.com/mikelove/rnaseqDTU/")
+      (synopsis "RNA-seq workflow for differential transcript usage")
+      (description
+       "This package provides an RNA-seq workflow for differential transcript
+usage (DTU) following Salmon quantification.  This workflow performs a DTU
+analysis on simulated data.  It also shows how to use stageR to perform
+two-stage testing of DTU, a statistical framework to screen at the gene level
+and then confirm which transcripts within the significant genes show evidence
+of DTU.")
+      (license license:artistic2.0))))
+
 (define-public r-dropbead
   (let ((commit "d746c6f3b32110428ea56d6a0001ce52a251c247")
         (revision "2"))
@@ -9101,6 +9166,44 @@ droplet sequencing.  It has been particularly tailored for Drop-seq.")
 communication networks from scRNA-seq data.")
       (license license:gpl3))))
 
+(define-public r-copykat
+  (let ((commit                         ;no tag
+         "256de33dfc1b80a1a0ac9e098c5557f95a4e0d53")
+        (revision "0"))
+    (package
+      (name "r-copykat")
+      (version (git-version "1.0.8" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/navinlabcode/copykat")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0ckyqnial3imcqlgd6xfgwk5w977l1i87sx4kdbwdvg40w0vh1j8"))))
+      (properties `((upstream-name . "copykat")))
+      (build-system r-build-system)
+      (propagated-inputs
+       (list r-cluster
+             r-dlm
+             r-gplots
+             r-mcmcpack
+             r-mixtools
+             r-paralleldist
+             r-rcolorbrewer))
+      (native-inputs (list r-knitr))
+      (home-page "https://github.com/navinlabcode/copykat")
+      (synopsis "Inference of genomic copy number from single cell RNAseq data")
+      (description
+       "This package Copynumber KAryotyping of Tumors infers genomic copy
+number and subclonal structure of human tumors using integrative Bayesian
+approaches to identify genome-wide aneuploidy at 5MB resolution in single
+cells data.  It separates tumor cells and tumor subclones from normal cells
+using high-throughput sc-RNAseq data.")
+      (license license:gpl2))))
+
 (define-public sambamba
   (package
     (name "sambamba")
@@ -10266,7 +10369,7 @@ variational inference.")
 (define-public python-loompy
   (package
     (name "python-loompy")
-    (version "2.0.17")
+    (version "3.0.7")
     ;; The tarball on Pypi does not include the tests.
     (source (origin
               (method git-fetch)
@@ -10276,16 +10379,33 @@ variational inference.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "12a5kjgiikapv93wahfw0frszx1lblnppyz3vs5gy8fgmgngra07"))))
+                "0xmw2yv1y3y7vh5jcbrmlkn43nmfs0pf6z78k1yxqs3qy248m9b0"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (replace 'check
+         ;; See https://github.com/linnarsson-lab/loompy/issues/169
+         (add-after 'unpack 'fix-h5py-error
            (lambda _
-             (invoke "pytest" "tests"))))))
+             (substitute* "tests/test_file_attribute_manager.py"
+               (("h5py.File\\(f.name\\)")
+                "h5py.File(f.name, 'a')"))))
+         ;; Numba needs a writable dir to cache functions.
+         (add-before 'check 'set-numba-cache-dir
+           (lambda _
+             (setenv "NUMBA_CACHE_DIR" "/tmp")))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "pytest" "tests")))))))
     (propagated-inputs
-     (list python-h5py python-numpy python-pandas python-scipy))
+     (list python-click
+           python-h5py
+           python-numba
+           python-numpy
+           python-numpy-groupies
+           python-pandas
+           python-scipy))
     (native-inputs
      (list python-pytest))
     (home-page "https://github.com/linnarsson-lab/loompy")
@@ -10869,7 +10989,7 @@ once.  This package provides tools to perform Drop-seq analyses.")
 (define-public pigx-rnaseq
   (package
     (name "pigx-rnaseq")
-    (version "0.0.19")
+    (version "0.0.20")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/BIMSBbioinfo/pigx_rnaseq/"
@@ -10877,8 +10997,7 @@ once.  This package provides tools to perform Drop-seq analyses.")
                                   "/pigx_rnaseq-" version ".tar.gz"))
               (sha256
                (base32
-                "1ja3bda1appxrzbfy7wp7khy30mm7lic8xbq3gkbpc5bld3as9cm"))
-              (patches (search-patches "pigx-rnaseq-no-citeproc.patch"))))
+                "0bf65qqvlkc77vl7cmmzacq70f0qav4p6nf8pp3x1vdd0nvhr24f"))))
     (build-system gnu-build-system)
     (arguments
      `(#:parallel-tests? #f             ; not supported
@@ -10909,6 +11028,7 @@ once.  This package provides tools to perform Drop-seq analyses.")
            sed
            gzip
            snakemake
+           megadepth
            multiqc
            star-for-pigx
            hisat2
@@ -11115,7 +11235,7 @@ methylation and segmentation.")
 (define-public pigx-scrnaseq
   (package
     (name "pigx-scrnaseq")
-    (version "1.1.7")
+    (version "1.1.8")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/BIMSBbioinfo/pigx_scrnaseq/"
@@ -11123,65 +11243,63 @@ methylation and segmentation.")
                                   "/pigx_scrnaseq-" version ".tar.gz"))
               (sha256
                (base32
-                "1h5mcxzwj3cidlkvy9ly5wmi48vwfsjf8dxjfirknqxr9a92hwlx"))
-              (patches (search-patches "pigx-scrnaseq-no-citeproc.patch"))))
+                "1lc42hl8mz95kilh0z39s3wnv092mhm6vl2i394n0yfvdzk4f885"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:phases
+     '(#:phases
        (modify-phases %standard-phases
-         (add-before 'bootstrap 'autoreconf
-           (lambda _
-             (invoke "autoreconf" "-vif")))
-         (add-before 'configure 'set-PYTHONPATH
+         (add-before 'configure 'set-additional-environment-variables
            (lambda _
+             ;; Needed because of loompy
+             (setenv "NUMBA_CACHE_DIR" "/tmp")
+             ;; Needed to capture environment
              (setenv "PYTHONPATH" (getenv "GUIX_PYTHONPATH")))))))
-    (native-inputs
-     (list automake autoconf))
     (inputs
-     `(("coreutils" ,coreutils)
-       ("perl" ,perl)
-       ("fastqc" ,fastqc)
-       ("flexbar" ,flexbar)
-       ("java" ,icedtea-8)
-       ("jellyfish" ,jellyfish)
-       ("python-wrapper" ,python-wrapper)
-       ("python-pyyaml" ,python-pyyaml)
-       ("python-pandas" ,python-pandas)
-       ("python-magic" ,python-magic)
-       ("python-numpy" ,python-numpy)
-       ("python-loompy" ,python-loompy)
-       ("pandoc" ,pandoc)
-       ("samtools" ,samtools)
-       ("snakemake" ,snakemake)
-       ("star" ,star-for-pigx)
-       ("r-minimal" ,r-minimal)
-       ("r-argparser" ,r-argparser)
-       ("r-cowplot" ,r-cowplot)
-       ("r-data-table" ,r-data-table)
-       ("r-delayedarray" ,r-delayedarray)
-       ("r-delayedmatrixstats" ,r-delayedmatrixstats)
-       ("r-dplyr" ,r-dplyr)
-       ("r-dropbead" ,r-dropbead)
-       ("r-dt" ,r-dt)
-       ("r-genomicalignments" ,r-genomicalignments)
-       ("r-genomicfiles" ,r-genomicfiles)
-       ("r-genomicranges" ,r-genomicranges)
-       ("r-ggplot2" ,r-ggplot2)
-       ("r-hdf5array" ,r-hdf5array)
-       ("r-pheatmap" ,r-pheatmap)
-       ("r-rmarkdown" ,r-rmarkdown)
-       ("r-rsamtools" ,r-rsamtools)
-       ("r-rtracklayer" ,r-rtracklayer)
-       ("r-rtsne" ,r-rtsne)
-       ("r-scater" ,r-scater)
-       ("r-scran" ,r-scran)
-       ("r-seurat" ,r-seurat)
-       ("r-singlecellexperiment" ,r-singlecellexperiment)
-       ("r-stringr" ,r-stringr)
-       ("r-yaml" ,r-yaml)))
+     (list coreutils
+           perl
+           fastqc
+           flexbar
+           icedtea-8
+           jellyfish
+           python-wrapper
+           python-pyyaml
+           python-pandas
+           python-magic
+           python-numpy
+           python-loompy
+           pandoc
+           samtools
+           snakemake
+           star-for-pigx
+           r-minimal
+           r-argparser
+           r-cowplot
+           r-data-table
+           r-delayedarray
+           r-delayedmatrixstats
+           r-dplyr
+           r-dropbead
+           r-dt
+           r-genomicalignments
+           r-genomicfiles
+           r-genomicranges
+           r-ggplot2
+           r-hdf5array
+           r-pheatmap
+           r-rmarkdown
+           r-rsamtools
+           r-rtracklayer
+           r-rtsne
+           r-scater
+           r-scran
+           r-seurat
+           r-singlecellexperiment
+           r-stringr
+           r-yaml))
     (home-page "https://bioinformatics.mdc-berlin.de/pigx/")
     (synopsis "Analysis pipeline for single-cell RNA sequencing experiments")
-    (description "PiGX scRNAseq is an analysis pipeline for preprocessing and
+    (description
+     "PiGX scRNAseq is an analysis pipeline for preprocessing and
 quality control for single cell RNA sequencing experiments.  The inputs are
 read files from the sequencing experiment, and a configuration file which
 describes the experiment.  It produces processed files for downstream analysis
@@ -11192,7 +11310,7 @@ based methods.")
 (define-public pigx-sars-cov2-ww
   (package
     (name "pigx-sars-cov2-ww")
-    (version "0.0.4")
+    (version "0.0.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/BIMSBbioinfo/pigx_sarscov2_ww/"
@@ -11200,11 +11318,11 @@ based methods.")
                                   "/pigx_sars-cov2-ww-" version ".tar.gz"))
               (sha256
                (base32
-                "0axnmz4d8zgir888mc0cilcq4m3v41xmjmpp3w3444lciwnxydvs"))
-              (patches (search-patches "pigx-sars-cov2-ww-no-citeproc.patch"))))
+                "1fkr9gp09zl5n7kdqmy9lrnq28k2z97wg74wgkyfssfyxvmq9cr2"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:phases
+     `(#:tests? #f ;requires huge kraken database
+       #:phases
        (modify-phases %standard-phases
          (add-before 'bootstrap 'autoreconf
            (lambda _
@@ -11813,6 +11931,105 @@ distributions.  Homotypic doublet proportion estimation is achieved by finding
 the sum of squared cell annotation frequencies.")
       (license license:cc0))))
 
+;; There have been no releases.
+(define-public r-cytobackbone
+  (let ((commit "4c1a0a35cc5ae1f8f516127cec92351d96fe26e7")
+        (revision "1"))
+    (package
+      (name "r-cytobackbone")
+      (version (git-version "1.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/tchitchek-lab/CytoBackBone")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0ahiad14zcgdk42xzw5xryic2ibn2l8lkrcdvl2b5sz2js028yb3"))))
+      (properties `((upstream-name . "CytoBackBone")))
+      (build-system r-build-system)
+      (propagated-inputs
+       (list r-flowcore
+             r-flowutils
+             r-fnn
+             r-ggplot2
+             r-preprocesscore))
+      (native-inputs (list r-knitr))
+      (home-page "https://github.com/tchitchek-lab/CytoBackBone")
+      (synopsis "Merge phenotype information from different cytometric profiles")
+      (description
+       "This package implements an algorithm which increases the number of
+simultaneously measurable markers and in this way helps with study of the
+immune responses.  Thus, the present algorithm, named @code{CytoBackBone},
+allows combining phenotypic information of cells from different cytometric
+profiles obtained from different cytometry panels.  This computational
+approach is based on the principle that each cell has its own phenotypic and
+functional characteristics that can be used as an identification card.
+@code{CytoBackBone} uses a set of predefined markers, that we call the
+backbone, to define this identification card.  The phenotypic information of
+cells with similar identification cards in the different cytometric profiles
+is then merged.")
+      (license license:gpl2))))
+
+(define-public r-giotto
+  (let ((commit "68d7390dce87223cac11d4d8f31705fe0144d011")
+        (revision "1"))
+    (package
+      (name "r-giotto")
+      (version (git-version "1.1.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/RubD/Giotto/")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0mv60khc05wrxzr4ir6cirn7dpqvgwan5hm00lmafsyalr51nf5i"))))
+      (properties `((upstream-name . "Giotto")))
+      (build-system r-build-system)
+      (propagated-inputs
+       (list r-clusterr
+             r-complexheatmap
+             r-cowplot
+             r-data-table
+             r-dbscan
+             r-deldir
+             r-farver
+             r-fitdistrplus
+             r-ggdendro
+             r-ggplot2
+             r-ggraph
+             r-ggrepel
+             r-igraph
+             r-irlba
+             r-lfa
+             r-limma
+             r-magick
+             r-magrittr
+             r-matrix
+             r-matrixstats
+             r-plotly
+             r-qvalue
+             r-r-utils
+             r-rcolorbrewer
+             r-rcpp
+             r-reshape2
+             r-reticulate
+             r-rfast
+             r-rlang
+             r-rtsne
+             r-scales
+             r-uwot))
+      (native-inputs (list r-knitr))
+      (home-page "https://github.com/RubD/Giotto/")
+      (synopsis "Spatial single-cell transcriptomics toolbox")
+      (description
+       "This package provides a toolbox to process, analyze and visualize
+spatial single-cell expression data.")
+      (license license:expat))))
+
 (define-public gffread
   ;; We cannot use the tagged release because it is not in sync with gclib.
   ;; See https://github.com/gpertea/gffread/issues/26
@@ -13461,6 +13678,13 @@ repeated areas between contigs.")
        (snippet
         '(for-each delete-file (find-files "." "\\.c")))))
     (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         ;; Numba needs a writable dir to cache functions.
+         (add-before 'check 'set-numba-cache-dir
+           (lambda _
+             (setenv "NUMBA_CACHE_DIR" "/tmp"))))))
     (native-inputs
      (list python-joblib))
     (propagated-inputs
@@ -14116,51 +14340,59 @@ some of the details of opening and jumping in tabix-indexed files.")
          (base32 "0i9d8zrxpiracw3mxzd9siybpy62p06rqz9mc2w93arajgbk45bs"))))
       (build-system gnu-build-system)
       (arguments
-       `(#:tests? #f ; There are no tests to run.
-         #:make-flags '("libsw.a" "all")
+       (list
+         #:tests? #f ; There are no tests to run.
+         #:make-flags
+         #~(list (string-append "CXX=" #$(cxx-for-target))
+                 "libsw.a" "all")
          #:phases
-         (modify-phases %standard-phases
-           (delete 'configure) ; There is no configure phase.
-           (add-after 'unpack 'patch-source
-             (lambda _
-               (substitute* "Makefile"
-                 (("-c ") "-c -fPIC "))
-               #t))
-           (add-after 'build 'build-dynamic
-             (lambda _
-               (invoke "g++"
-                       "-shared" "-o" "libsmithwaterman.so"
-                       "smithwaterman.o" "SmithWatermanGotoh.o"
-                       "disorder.o" "BandedSmithWaterman.o"
-                       "LeftAlign.o" "Repeats.o" "IndelAllele.o")))
-           (replace 'install
-             (lambda* (#:key outputs #:allow-other-keys)
-               (let* ((out (assoc-ref outputs "out"))
-                      (bin (string-append out "/bin"))
-                      (lib (string-append out "/lib")))
-                 (install-file "smithwaterman" bin)
-                 (for-each
-                   (lambda (file)
-                     (install-file file (string-append out "/include/smithwaterman")))
-                   (find-files "." "\\.h$"))
-                 (install-file "libsmithwaterman.so" lib)
-                 (install-file "libsw.a" lib)
-                 (mkdir-p (string-append lib "/pkgconfig"))
-                 (with-output-to-file (string-append lib "/pkgconfig/smithwaterman.pc")
-                   (lambda _
-                     (format #t "prefix=~a~@
-                             exec_prefix=${prefix}~@
-                             libdir=${exec_prefix}/lib~@
-                             includedir=${prefix}/include/smithwaterman~@
-                             ~@
-                             ~@
-                             Name: smithwaterman~@
-                             Version: ~a~@
-                             Description: smith-waterman-gotoh alignment algorithm~@
-                             Libs: -L${libdir} -lsmithwaterman~@
-                             Cflags: -I${includedir}~%"
-                             out ,version))))
-               #t)))))
+         #~(modify-phases %standard-phases
+             (delete 'configure) ; There is no configure phase.
+             (add-after 'unpack 'patch-source
+               (lambda _
+                 (substitute* "Makefile"
+                   (("-c ") "-c -fPIC "))
+                 #$@(if (%current-target-system)
+                     #~((substitute* "Makefile"
+                          (("\tld")
+                           (string-append "\t" #$(%current-target-system) "-ld"))
+                          (("\tar")
+                           (string-append "\t" #$(%current-target-system) "-ar"))))
+                     '())))
+             (add-after 'build 'build-dynamic
+               (lambda _
+                 (invoke #$(cxx-for-target)
+                         "-shared" "-o" "libsmithwaterman.so"
+                         "smithwaterman.o" "SmithWatermanGotoh.o"
+                         "disorder.o" "BandedSmithWaterman.o"
+                         "LeftAlign.o" "Repeats.o" "IndelAllele.o")))
+             (replace 'install
+               (lambda* (#:key outputs #:allow-other-keys)
+                 (let* ((out (assoc-ref outputs "out"))
+                        (bin (string-append out "/bin"))
+                        (lib (string-append out "/lib")))
+                   (install-file "smithwaterman" bin)
+                   (for-each
+                     (lambda (file)
+                       (install-file file (string-append out "/include/smithwaterman")))
+                     (find-files "." "\\.h$"))
+                   (install-file "libsmithwaterman.so" lib)
+                   (install-file "libsw.a" lib)
+                   (mkdir-p (string-append lib "/pkgconfig"))
+                   (with-output-to-file (string-append lib "/pkgconfig/smithwaterman.pc")
+                     (lambda _
+                       (format #t "prefix=~a~@
+                               exec_prefix=${prefix}~@
+                               libdir=${exec_prefix}/lib~@
+                               includedir=${prefix}/include/smithwaterman~@
+                               ~@
+                               ~@
+                               Name: smithwaterman~@
+                               Version: ~a~@
+                               Description: smith-waterman-gotoh alignment algorithm~@
+                               Libs: -L${libdir} -lsmithwaterman~@
+                               Cflags: -I${includedir}~%"
+                               out #$version)))))))))
       (home-page "https://github.com/ekg/smithwaterman")
       (synopsis "Implementation of the Smith-Waterman algorithm")
       (description "Implementation of the Smith-Waterman algorithm.")
@@ -14304,7 +14536,7 @@ library automatically handles index file generation and use.")
 (define-public vcflib
   (package
     (name "vcflib")
-    (version "1.0.2")
+    (version "1.0.3")
     (source
      (origin
        (method git-fetch)
@@ -14313,7 +14545,7 @@ library automatically handles index file generation and use.")
               (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1k1z3876kbzifj1sqfzsf3lgb4rw779hvkg6ryxbyq5bc2paj9kh"))
+        (base32 "1r7pnajg997zdjkf1b38m14v0zqnfx52w7nbldwh1xpbpahb1hjh"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -14336,8 +14568,7 @@ library automatically handles index file generation and use.")
              (("Fasta.h") "fastahack/Fasta.h"))
            (for-each delete-file-recursively
                      '("fastahack" "filevercmp" "fsom" "googletest" "intervaltree"
-                       "libVCFH" "multichoose" "smithwaterman"))
-           #t))))
+                       "libVCFH" "multichoose" "smithwaterman"))))))
     (build-system cmake-build-system)
     (inputs
      (list bzip2
@@ -14366,8 +14597,7 @@ library automatically handles index file generation and use.")
              (substitute* "CMakeLists.txt"
                (("vcflib STATIC") "vcflib SHARED"))
              (substitute* "test/Makefile"
-               (("libvcflib.a") "libvcflib.so"))
-             #t))
+               (("libvcflib.a") "libvcflib.so"))))
          (add-after 'unpack 'unpack-submodule-sources
            (lambda* (#:key inputs #:allow-other-keys)
              (let ((unpack (lambda (source target)
@@ -14382,8 +14612,7 @@ library automatically handles index file generation and use.")
                 (unpack "filevercmp-src" "filevercmp")
                 (unpack "fsom-src" "fsom")
                 (unpack "intervaltree-src" "intervaltree")
-                (unpack "multichoose-src" "multichoose"))
-               #t)))
+                (unpack "multichoose-src" "multichoose")))))
          ;; This pkg-config file is provided by other distributions.
          (add-after 'install 'install-pkg-config-file
            (lambda* (#:key outputs #:allow-other-keys)
@@ -14441,6 +14670,7 @@ manipulations on VCF files.")
        ("parallel" ,parallel)
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
+       ("python" ,python)
        ("samtools" ,samtools)
        ("simde" ,simde)
        ;; This submodule is needed to run the tests.
@@ -15275,11 +15505,11 @@ translates between different variant encodings.")
       (license license:asl2.0))))
 
 (define-public r-signac
-  (let ((commit "e0512d348adeda4a3f23a2e8f56d1fe09840e03c")
-        (revision "1"))
+  (let ((commit "458e647b503c3472b0b98c0aeca934f452e039ee")
+        (revision "2"))
     (package
       (name "r-signac")
-      (version (git-version "1.1.1" revision commit))
+      (version (git-version "1.6.0" revision commit))
       (source
        (origin
          (method git-fetch)
@@ -15288,16 +15518,12 @@ translates between different variant encodings.")
                (commit commit)))
          (file-name (git-file-name name version))
          (sha256
-          (base32
-           "1yihhrv7zs87ax61la1nb4y12lg3knraw4b20k5digbcwm8488lb"))))
+          (base32 "1hgwpgighkvfkai80n4d2252s4sdpa4faag4ncdiylicl5wa7lbj"))))
       (properties `((upstream-name . "Signac")))
       (build-system r-build-system)
       (inputs (list zlib))
       (propagated-inputs
-       (list r-annotationfilter
-             r-biocgenerics
-             r-biostrings
-             r-biovizbase
+       (list r-biocgenerics
              r-data-table
              r-dplyr
              r-fastmatch
@@ -15305,7 +15531,6 @@ translates between different variant encodings.")
              r-future-apply
              r-genomeinfodb
              r-genomicranges
-             r-ggbio
              r-ggforce
              r-ggplot2
              r-ggrepel
@@ -15316,6 +15541,7 @@ translates between different variant encodings.")
              r-matrix
              r-patchwork
              r-pbapply
+             r-qlcmatrix
              r-rcpp
              r-rcpproll
              r-rsamtools
@@ -15324,7 +15550,8 @@ translates between different variant encodings.")
              r-seurat
              r-seuratobject
              r-stringi
-             r-tidyr))
+             r-tidyr
+             r-tidyselect))
       (home-page "https://github.com/timoast/signac/")
       (synopsis "Analysis of single-cell chromatin data")
       (description
@@ -15722,7 +15949,11 @@ populations.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1k8hllr5if6k2mm2zj391fv40sfc008cjm04l9vgfsdppb80i112"))))
+                "1k8hllr5if6k2mm2zj391fv40sfc008cjm04l9vgfsdppb80i112"))
+              (snippet
+               #~(begin
+                   (use-modules ((guix build utils)))
+                   (delete-file "src/scregseg/_utils.c")))))
     (build-system python-build-system)
     (arguments
      `(#:tests? #false                  ; tests require network access
@@ -16069,3 +16300,155 @@ workflows from concise descriptions in ccwl.  It is implemented as an
 @acronym{EDSL, Embedded Domain Specific Language} in the Scheme programming
 language.")
     (license license:gpl3+)))
+
+(define-public wfmash
+  (package
+    (name "wfmash")
+    (version "0.8.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/ekg/wfmash/releases/download/v"
+                           version "/wfmash-v" version ".tar.gz"))
+       (sha256
+        (base32
+         "031cm1arpfckvihb28vlk69mirpnmlag81zcscfba1bac58wvr7c"))
+       (snippet
+        #~(begin
+            (use-modules (guix build utils))
+            ;; Unbundle atomic-queue.
+            (delete-file-recursively "src/common/atomic_queue")
+            (substitute* "src/align/include/computeAlignments.hpp"
+              (("\"common/atomic_queue/atomic_queue.h\"")
+               "<atomic_queue/atomic_queue.h>"))
+            ;; Remove compiler optimizations.
+            (substitute* (find-files "." "CMakeLists\\.txt")
+              (("-mcx16 ") "")
+              (("-march=native ") ""))
+            ;; Allow building on architectures other than x86_64.
+            (substitute* "src/common/dset64.hpp"
+              (("!__x86_64__") "0"))))))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+       #:phases
+       #~(modify-phases %standard-phases
+           (replace 'check
+             ;; Adapted from .github/workflows/test_on_push.yml
+             (lambda* (#:key tests? inputs #:allow-other-keys)
+               (when tests?
+                 (let ((samtools (search-input-file inputs "/bin/samtools")))
+                   ;; This is the easiest way to access the data
+                   ;; needed for the test suite.
+                   (symlink (string-append "../wfmash-v" #$version "/data")
+                            "data")
+                   (and
+                     ;; This test takes 60 minutes on riscv64-linux.
+                     #$@(if (not (target-riscv64?))
+                          #~((begin
+                               ;; Test with a subset of the LPA dataset (PAF output)
+                               (setenv "ASAN_OPTIONS" "detect_leaks=1:symbolize=1")
+                               (setenv "LSAN_OPTIONS" "verbosity=0:log_threads=1")
+                               (with-output-to-file "LPA.subset.paf"
+                                 (lambda _
+                                   (invoke "bin/wfmash"
+                                           "data/LPA.subset.fa.gz"
+                                           "data/LPA.subset.fa.gz"
+                                           "-X" "-n" "10" "-T" "wflign_info."
+                                           "-u" "./")))
+                               (invoke "head" "LPA.subset.paf")))
+                          #~())
+                     ;; This test takes about 5 hours on riscv64-linux.
+                     #$@(if (not (target-riscv64?))
+                          #~((begin
+                               ;; Test with a subset of the LPA dataset (SAM output)
+                               (setenv "ASAN_OPTIONS" "detect_leaks=1:symbolize=1")
+                               (setenv "LSAN_OPTIONS" "verbosity=0:log_threads=1")
+                               (with-output-to-file "LPA.subset.sam"
+                                 (lambda _
+                                   (invoke "bin/wfmash"
+                                           "data/LPA.subset.fa.gz"
+                                           "data/LPA.subset.fa.gz"
+                                           "-X" "-N" "-a" "-T" "wflign_info.")))
+                               (with-output-to-file "LPA.subset.sam-view"
+                                 (lambda _
+                                   (invoke samtools "view" "LPA.subset.sam" "-bS")))
+                               (with-output-to-file "LPA.subset.bam"
+                                 (lambda _
+                                   (invoke samtools "sort" "LPA.subset.sam-view")))
+                               (invoke samtools "index" "LPA.subset.bam")
+                               ;; samtools view LPA.subset.bam | head | cut -f 1-9
+                               ;(invoke samtools "view" "LPA.subset.bam")
+                               ;; There should be an easier way to do this with pipes.
+                               (with-output-to-file "LPA.subset.bam-incr1"
+                                 (lambda _
+                                   (invoke samtools "view" "LPA.subset.bam")))
+                               (with-output-to-file "LPA.subset.bam-incr2"
+                                 (lambda _
+                                   (invoke "head" "LPA.subset.bam-incr1")))
+                               (invoke "cut" "-f" "1-9" "LPA.subset.bam-incr2")))
+                          #~())
+                     ;; This test takes 60 minutes on riscv64-linux.
+                     #$@(if (not (target-riscv64?))
+                          #~((begin
+                               ;; Test with a subset of the LPA dataset,
+                               ;; setting a lower identity threshold (PAF output)
+                               (setenv "ASAN_OPTIONS" "detect_leaks=1:symbolize=1")
+                               (setenv "LSAN_OPTIONS" "verbosity=0:log_threads=1")
+                               (with-output-to-file "LPA.subset.p90.paf"
+                                 (lambda _
+                                   (invoke "bin/wfmash"
+                                           "data/LPA.subset.fa.gz"
+                                           "data/LPA.subset.fa.gz"
+                                           "-X" "-p" "90" "-n" "10"
+                                           "-T" "wflign_info.")))
+                               (invoke "head" "LPA.subset.p90.paf")))
+                          #~())
+                     (begin
+                       ;; Test aligning short reads (500 bps) to a reference (SAM output)
+                       (setenv "ASAN_OPTIONS" "detect_leaks=1:symbolize=1")
+                       (setenv "LSAN_OPTIONS" "verbosity=0:log_threads=1")
+                       (with-output-to-file "reads.500bps.sam"
+                         (lambda _
+                           (invoke "bin/wfmash"
+                                   "data/reference.fa.gz"
+                                   "data/reads.500bps.fa.gz"
+                                   "-s" "0.5k" "-N" "-a")))
+                       (with-output-to-file "reads.500bps.sam-view"
+                         (lambda _
+                           (invoke samtools "view" "reads.500bps.sam" "-bS")))
+                       (with-output-to-file "reads.500bps.bam"
+                         (lambda _
+                           (invoke samtools "sort" "reads.500bps.sam-view")))
+                       (invoke samtools "index" "reads.500bps.bam")
+                       (with-output-to-file "reads.500bps.bam-view"
+                         (lambda _
+                           (invoke samtools "view" "reads.500bps.bam")))
+                       (invoke "head" "reads.500bps.bam-view"))
+                     (begin
+                       ;; Test with few very short reads (255bps) (PAF output)
+                       (setenv "ASAN_OPTIONS" "detect_leaks=1:symbolize=1")
+                       (setenv "LSAN_OPTIONS" "verbosity=0:log_threads=1")
+                       (with-output-to-file "reads.255bps.paf"
+                         (lambda _
+                           (invoke "bin/wfmash"
+                                   "data/reads.255bps.fa.gz"
+                                   "data/reads.255bps.fa.gz"
+                                   "-X" "-w" "16")))
+                       (invoke "head" "reads.255bps.paf"))))))))))
+    (inputs
+     (list atomic-queue
+           gsl
+           htslib
+           jemalloc
+           zlib))
+    (native-inputs
+     (list samtools))
+    (synopsis "Base-accurate DNA sequence aligner")
+    (description "@code{wfmash} is a DNA sequence read mapper based on mash
+distances and the wavefront alignment algorithm.  It is a fork of MashMap that
+implements base-level alignment via the wflign tiled wavefront global
+alignment algorithm.  It completes MashMap with a high-performance alignment
+module capable of computing base-level alignments for very large sequences.")
+    (home-page "https://github.com/ekg/wfmash")
+    (license license:expat)))
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index 0e939d93ac..0191bb8e1b 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -226,7 +226,7 @@ XML-RPC over SCGI.")
 (define-public tremc
   (package
     (name "tremc")
-    (version "0.9.2")
+    (version "0.9.3")
     (source
      (origin
        (method git-fetch)
@@ -236,8 +236,7 @@ XML-RPC over SCGI.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1fqspp2ckafplahgba54xmx0sjidx1pdzyjaqjhz0ivh98dkx2n5"))
-       (patches (search-patches "tremc-fix-decodestring.patch"))))
+         "11izsgwj435skkgvw96an6ddcm1hk3ff1gji4ksnidlyv6g6npyv"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                      ; no test suite
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 7987641031..7ea6f5a647 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -517,7 +517,7 @@ tree binary files.  These are board description files used by Linux and BSD.")
 (define u-boot
   (package
     (name "u-boot")
-    (version "2021.10")
+    (version "2022.04")
     (source (origin
 	      (patches
                (list %u-boot-rockchip-inno-usb-patch
@@ -530,19 +530,22 @@ tree binary files.  These are board description files used by Linux and BSD.")
                     "u-boot-" version ".tar.bz2"))
               (sha256
                (base32
-                "1m0bvwv8r62s4wk4w3cmvs888dhv9gnfa98dczr4drk2jbhj7ryd"))))
+                "1l5w13dznj0z1ibqv2d6ljx2ma1gnf5x5ay3dqkqwxr6750nbq38"))))
     (native-inputs
      `(("bc" ,bc)
        ("bison" ,bison)
        ("dtc" ,dtc)
+       ("gnutls" ,gnutls)
        ("flex" ,flex)
        ("lz4" ,lz4)
+       ("tinfo" ,ncurses/tinfo)
        ("perl" ,perl)
        ("python" ,python)
        ("python-coverage" ,python-coverage)
        ("python-pycryptodomex" ,python-pycryptodomex)
        ("python-pytest" ,python-pytest)
-       ("swig" ,swig)))
+       ("swig" ,swig)
+       ("libuuid" ,util-linux "lib")))
     (build-system  gnu-build-system)
     (home-page "https://www.denx.de/wiki/U-Boot/")
     (synopsis "ARM bootloader")
@@ -911,14 +914,7 @@ to Novena upstream, does not load u-boot.img from the first partition.")
   (make-u-boot-package "qemu-riscv64" "riscv64-linux-gnu"))
 
 (define-public u-boot-qemu-riscv64-smode
-  (let ((base (make-u-boot-package "qemu-riscv64_smode" "riscv64-linux-gnu")))
-    (package
-      (inherit base)
-      (source (origin
-                (inherit (package-source u-boot))
-                (patches
-                 (search-patches "u-boot-riscv64-fix-extlinux.patch"
-                                 %u-boot-allow-disabling-openssl-patch)))))))
+  (make-u-boot-package "qemu-riscv64_smode" "riscv64-linux-gnu"))
 
 (define-public u-boot-sifive-unleashed
   (make-u-boot-package "sifive_unleashed" "riscv64-linux-gnu"))
@@ -986,6 +982,37 @@ to Novena upstream, does not load u-boot.img from the first partition.")
                 (lambda* (#:key inputs #:allow-other-keys)
                   (setenv "BL31"
                           (search-input-file inputs "/bl31.elf"))))
+              (add-after 'unpack 'patch-config
+                (lambda _
+                  (substitute* "configs/rockpro64-rk3399_defconfig"
+                    (("CONFIG_USB=y") "\
+CONFIG_USB=y
+CONFIG_AHCI=y
+CONFIG_AHCI_PCI=y
+CONFIG_SATA=y
+CONFIG_SATA_SIL=y
+CONFIG_SCSI=y
+CONFIG_SCSI_AHCI=y
+CONFIG_DM_SCSI=y
+"))
+                  (substitute* "include/config_distro_bootcmd.h"
+                    (("\"scsi_need_init=false")
+                     "\"setenv scsi_need_init false")
+                    (("#define BOOTENV_SET_SCSI_NEED_INIT \"scsi_need_init=;")
+                     "#define BOOTENV_SET_SCSI_NEED_INIT \"setenv scsi_need_init;"))
+                  (substitute* "include/configs/rockchip-common.h"
+                    (("#define BOOT_TARGET_DEVICES\\(func\\)")
+                     "
+#if CONFIG_IS_ENABLED(CMD_SCSI)
+       #define BOOT_TARGET_SCSI(func) func(SCSI, scsi, 0)
+#else
+       #define BOOT_TARGET_SCSI(func)
+#endif
+#define BOOT_TARGET_DEVICES(func)")
+                    (("BOOT_TARGET_NVME\\(func\\) \\\\")
+                     "\
+BOOT_TARGET_NVME(func) \\
+       BOOT_TARGET_SCSI(func) \\"))))
               ;; Phases do not succeed on the bl31 ELF.
               (delete 'strip)
               (delete 'validate-runpath)))))
diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm
index 1ec19c003c..f305552076 100644
--- a/gnu/packages/browser-extensions.scm
+++ b/gnu/packages/browser-extensions.scm
@@ -51,7 +51,7 @@ supported content to the Kodi media center.")
 (define ublock-origin
   (package
     (name "ublock-origin")
-    (version "1.41.6")
+    (version "1.42.4")
     (home-page "https://github.com/gorhill/uBlock")
     (source (origin
               (method git-fetch)
@@ -62,7 +62,7 @@ supported content to the Kodi media center.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "05flr4jksa3l4cwi0fgkzmzn46rg5znaqd73615lwnxmnpr4va9d"))))
+                "1is55pxnlylcr1pfigwgfn7kcx1rapy1cafdh6g83bdhscgh75g3"))))
     (build-system gnu-build-system)
     (outputs '("xpi" "firefox" "chromium"))
     (arguments
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index d545d98938..3450037c74 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -585,7 +585,7 @@ portability.")
   (package
     (name "aws-c-common")
     ; Update only when updating aws-crt-cpp.
-    (version "0.6.11")
+    (version "0.6.20")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -594,7 +594,7 @@ portability.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1v4dhygiynl75y3702lbp9j8kph88j4f2sq39s4lkhn6lmbz5f0f"))))
+                "089grcj58n4xs41kmnpaqpwsalcisjbqqb5yqahxxyfx2lf1j9c9"))))
     (build-system cmake-build-system)
     (arguments
      '(#:configure-flags
@@ -671,7 +671,7 @@ communication.")
   (package
     (name "aws-c-io")
     ; Update only when updating aws-crt-cpp.
-    (version "0.10.9")
+    (version "0.10.20")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -680,7 +680,7 @@ communication.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "14rxa3k842fgk43702nz7z9y3clfhvax8j0k93i0c5vg14wj38yp"))))
+                "07l5rfbm1irkigfv51sfygs992af8rxicmay97frbx6z21khdjnr"))))
     (build-system cmake-build-system)
     (arguments
      '(#:configure-flags
@@ -700,7 +700,7 @@ event-driven, asynchronous network application protocols.")
   (package
     (name "aws-c-cal")
     ; Update only when updating aws-crt-cpp.
-    (version "0.5.12")
+    (version "0.5.17")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -709,7 +709,7 @@ event-driven, asynchronous network application protocols.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "09zqf610x4g2mcjcaf9nh88k6dkw14pi721yr8hxb5rmsx7rlfrb"))))
+                "0gd7xfzv509vcysifzfa8j2rykkc1prhiry7953snblkzm7airm5"))))
     (build-system cmake-build-system)
     (arguments
      '(#:configure-flags
@@ -727,6 +727,34 @@ cryptographic primitives for the @acronym{AWS,Amazon Web Services} SDK.")
     (home-page "https://github.com/awslabs/aws-c-cal")
     (license license:asl2.0)))
 
+(define-public aws-c-sdkutils
+  (package
+    (name "aws-c-sdkutils")
+    ; Update only when updating aws-crt-cpp.
+    (version "0.1.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url (string-append "https://github.com/awslabs/" name))
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "14wpl3dxwjbbzas44v6m6m3ll89rgz34x9gb140qz624gwzs9v0v"))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:configure-flags
+       (list "-DBUILD_SHARED_LIBS=ON"
+             (string-append "-DCMAKE_PREFIX_PATH="
+                            (assoc-ref %build-inputs "aws-c-common")))))
+    (propagated-inputs
+     (list aws-c-common))
+    (synopsis "Amazon Web Service utility library")
+    (description "This library provides for parsing and management of profiles
+for the @acronym{AWS,Amazon Web Services} SDK.")
+    (home-page "https://github.com/awslabs/aws-c-sdkutils")
+    (license license:asl2.0)))
+
 (define-public pcl
   (package
     (name "pcl")
@@ -750,7 +778,7 @@ low level functionality for coroutines.")
   (package
     (name "aws-c-http")
     ; Update only when updating aws-crt-cpp.
-    (version "0.6.7")
+    (version "0.6.13")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -759,7 +787,7 @@ low level functionality for coroutines.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1s06bz6w7355ldyhwjidcpbff7591ch4lwwjcj47a6k2kczdmiz4"))))
+                "125glc9b3906r95519zqfbzzz6wj5ib4im2n45yxrigwkkpffbq9"))))
     (build-system cmake-build-system)
     (arguments
      '(#:configure-flags
@@ -809,7 +837,7 @@ currently limited to Huffman encoding and decoding.")
   (package
     (name "aws-c-auth")
     ; Update only when updating aws-crt-cpp.
-    (version "0.6.4")
+    (version "0.6.11")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -818,7 +846,7 @@ currently limited to Huffman encoding and decoding.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "120p69lj279yq3d2b81f45kgfrvf32j6m7s03m8hh27w8yd4vbfp"))
+                "0frfnbifkrib9l68mj92a3g1x8xc8hpdlzbga2a801zgf2flx4fy"))
               (patches
                (search-patches
                 "aws-c-auth-install-private-headers.patch"))))
@@ -830,7 +858,7 @@ currently limited to Huffman encoding and decoding.")
                             (assoc-ref %build-inputs "aws-c-common"))
              "-DENABLE_NET_TESTS=OFF")))
     (propagated-inputs
-     (list aws-c-cal aws-c-common aws-c-http aws-c-io))
+     (list aws-c-cal aws-c-common aws-c-http aws-c-io aws-c-sdkutils))
     (synopsis "Amazon Web Services client-side authentication library")
     (description
      "This library provides a C99 implementation for AWS client-side
@@ -842,7 +870,7 @@ authentication.")
   (package
     (name "aws-c-s3")
     ; Update only when updating aws-crt-cpp.
-    (version "0.1.26")
+    (version "0.1.38")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -851,7 +879,7 @@ authentication.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0gaxnwwk0jbvkgjnxcgchq13xmn7jk5vjvjsps6b0vaz6bf12wv8"))))
+                "0n2y8hzb1bx3vnzlpb5hsav18dg33pwav0mpji6krz98y2l8msya"))))
     (build-system cmake-build-system)
     (arguments
      '(#:configure-flags
@@ -860,7 +888,7 @@ authentication.")
                             (assoc-ref %build-inputs "aws-c-common"))
              "-DENABLE_NET_TESTS=OFF")))
     (propagated-inputs
-     (list aws-c-auth aws-c-http))
+     (list aws-c-auth aws-c-http aws-checksums))
     (synopsis "Amazon Web Services client library for Amazon S3")
     (description
      "This library provides a C99 client implementation of the Simple Storage
@@ -872,7 +900,7 @@ Service (S3) protocol for object storage.")
   (package
     (name "aws-c-mqtt")
     ; Update only when updating aws-crt-cpp.
-    (version "0.7.8")
+    (version "0.7.10")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -881,7 +909,7 @@ Service (S3) protocol for object storage.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "19j6nw2v36c4yff4p0fbf0748s06fd5r9cp2yakry9ybn1ada99c"))))
+                "0qmzx8b4wcsq9s99q2zrhx1s3jdmfy8zs16qys9bqv45gspi3ybr"))))
     (build-system cmake-build-system)
     (arguments
      '(#:configure-flags
diff --git a/gnu/packages/ccache.scm b/gnu/packages/ccache.scm
index 2923a998c8..d359e30f81 100644
--- a/gnu/packages/ccache.scm
+++ b/gnu/packages/ccache.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2014, 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
+;;; Copyright © 2021, 2022 Greg Hogan <code@greghogan.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -32,14 +32,14 @@
 (define-public ccache
   (package
     (name "ccache")
-    (version "4.5.1")
+    (version "4.6")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/ccache/ccache/releases/download/v"
                            version "/ccache-" version ".tar.xz"))
        (sha256
-        (base32 "05wmflxdc8h3d00gr3kilr5dmrqxj6lcmq9ic575ydi60fz6w62i"))))
+        (base32 "1sa576ff8hc1swq55mdfp5gsnpys276gf37n83k6k49myihbharx"))))
     (build-system cmake-build-system)
     (native-inputs (list perl ; for test/run
                          (@ (gnu packages base) which)))
diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm
index 28c2f84f98..d410b05860 100644
--- a/gnu/packages/certs.scm
+++ b/gnu/packages/certs.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016, 2017, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016-2017, 2021-2022 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@@ -169,7 +169,12 @@ that was originally contributed to Debian.")
                 '(set-paths install-locale unpack))
          (add-after 'unpack 'install
            (lambda _
-             (let ((certsdir (string-append %output "/etc/ssl/certs/")))
+             ;; TODO: On the next rebuild cycle, remove references to
+             ;; '%output' and '%outputs'.
+             (let ((certsdir (string-append ,(if (%current-target-system)
+                                                 '(assoc-ref %outputs "out")
+                                                 '%output)
+                                            "/etc/ssl/certs/")))
                (with-directory-excursion "nss/lib/ckfw/builtins/"
                  (unless (file-exists? "blacklist.txt")
                    (call-with-output-file "blacklist.txt" (const #t)))
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index 7ef1e5ac1b..8344dad3ed 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -129,10 +129,13 @@
     "third_party/cros_system_api" ;BSD-3
     "third_party/dav1d" ;BSD-2
     "third_party/dawn" ;ASL2.0
-    "third_party/dawn/third_party/tint"
+    "third_party/dawn/third_party/khronos/gl.xml" ;ASL2.0
+    "third_party/dawn/third_party/tint" ;ASL2.0
     "third_party/depot_tools/owners.py" ;BSD-3
     "third_party/devtools-frontend" ;BSD-3
     "third_party/devtools-frontend/src/front_end/third_party/acorn" ;Expat
+    "third_party/devtools-frontend/src/front_end/third_party\
+/additional_readme_paths.json" ;no explicit license; trivial
     "third_party/devtools-frontend/src/front_end/third_party/axe-core" ;MPL2.0
     "third_party/devtools-frontend/src/front_end/third_party/chromium" ;BSD-3
     "third_party/devtools-frontend/src/front_end/third_party/codemirror" ;Expat
@@ -256,7 +259,6 @@
     "third_party/swiftshader/third_party/marl" ;ASL2.0
     "third_party/swiftshader/third_party/subzero" ;NCSA
     "third_party/swiftshader/third_party/SPIRV-Headers" ;X11-style
-    "third_party/tcmalloc/chromium" ;BSD-3
     "third_party/tensorflow-text" ;ASL2.0
     "third_party/tflite" ;ASL2.0
     "third_party/tflite/src/third_party/eigen3" ;MPL2.0
@@ -310,9 +312,9 @@
   ;; run the Blink performance tests, just remove everything to save ~70MiB.
   '("third_party/blink/perf_tests"))
 
-(define %chromium-version "98.0.4758.102")
+(define %chromium-version "100.0.4896.127")
 (define %ungoogled-revision (string-append %chromium-version "-1"))
-(define %debian-revision "debian/90.0.4430.85-1")
+(define %debian-revision "debian/100.0.4896.60-1")
 
 (define %ungoogled-origin
   (origin
@@ -322,7 +324,7 @@
     (file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
     (sha256
      (base32
-      "0baz90fnzpldw0wwibhmh4pmki7vlpci9b9vvifa0rj5cwckl8a0"))))
+      "192kyhr0fa97csciv5kp496y9zwcsknwlrmdr4jic3rvv8ig1q9y"))))
 
 (define* (debian-patch name hash #:optional (revision %debian-revision))
   (origin
@@ -335,14 +337,12 @@
     (sha256 (base32 hash))))
 
 (define %debian-patches
-  (list (debian-patch "fixes/nomerge.patch"
-                      "0lybs2b5gk08j8cr6vjrs9d3drd7qfw013z2r0y00by8dnpm74i3")
-        (debian-patch "system/jsoncpp.patch"
-                      "16lvhci10hz0q9axc6p921b95a76kbzcla5cl81czxzfwnynr1w5")
+  (list (debian-patch "system/jsoncpp.patch"
+                      "092jkvbkiw474lin62hbkv5vm251qpg0vz3j2qwavqln7qv6mcw1")
         (debian-patch "system/zlib.patch"
-                      "0j313bd3q8qc065j60x97dckrfgbwl4qxc8jhz33iihvv4lwziwv")
+                      "1iw4k8in5j6a1qxf12qd5z3sjayvnh5sq5z3qqg8m3cp0v4p947r")
         (debian-patch "system/openjpeg.patch"
-                      "048405xh84pys0kky81vlqhaxjyxvcql4py217z01qxiv991zxaj")))
+                      "1dq4zffhjahw8yd5w7d0zzvjpdb5dzhyfd4icjflrdb7fyf5ykc2")))
 
 (define %guix-patches
   (list (local-file
@@ -451,7 +451,7 @@
                                   %chromium-version ".tar.xz"))
               (sha256
                (base32
-                "0gpk13k8pfk65vinlmkg3p7mm0qb8z35psajkxzx0v3n2bllfns1"))
+                "0kgq38dy9mjyc44556i9gxhlsgd7dfvv1xi1ibk92b4p7i2y6427"))
               (modules '((guix build utils)))
               (snippet (force ungoogled-chromium-snippet))))
     (build-system gnu-build-system)
@@ -595,16 +595,14 @@
                                "#include \"opus/opus_types.h\"")))
                           (find-files (string-append "third_party/webrtc/modules"
                                                      "/audio_coding/codecs/opus")))
+                (substitute* "media/audio/audio_opus_encoder.h"
+                  (("\"third_party/opus/src/include/opus.h\"")
+                   "<opus/opus.h>"))
 
                 (substitute* "third_party/webrtc/rtc_base/strings/json.h"
                   (("#include \"third_party/jsoncpp/")
                    "#include \"json/"))
 
-                ;; This can be removed for M99.
-                (substitute* "media/gpu/chromeos/video_decoder_pipeline.cc"
-                  (("third_party/libdrm/src/include/drm/drm_fourcc\\.h")
-                   "libdrm/drm_fourcc.h"))
-
                 ;; Many files try to include ICU headers from "third_party/icu/...".
                 ;; Remove the "third_party/" prefix to use system headers instead.
                 (substitute* (find-files "chrome" "\\.cc$")
@@ -636,8 +634,18 @@
                     (libudev.so.1 (search-input-file inputs "/lib/libudev.so.1"))
                     (libvulkan.so.1 (search-input-file inputs
                                                        "/lib/libvulkan.so.1"))
+                    (icd.d (search-input-directory inputs "share/vulkan/icd.d"))
                     (mesa-lib (dirname (search-input-file inputs
-                                                          "/lib/libGL.so.1"))))
+                                                          "/lib/libGL.so.1")))
+                    (gtk-libs '("libgio-2.0.so.0"
+                                "libgdk_pixbuf-2.0.so.0"
+                                "libgdk-3.so.0"
+                                "libgtk-3.so.0")))
+                (for-each (lambda (lib)
+                            (substitute* "ui/gtk/gtk_compat.cc"
+                              ((lib) (search-input-file
+                                      inputs (string-append "lib/" lib)))))
+                          gtk-libs)
                 (substitute* "printing/cups_config_helper.py"
                   (("cups_config =.*")
                    (string-append "cups_config = '" cups-config "'\n")))
@@ -645,8 +653,31 @@
                   (("libnssckbi\\.so") libnssckbi.so))
                 (substitute* "device/udev_linux/udev1_loader.cc"
                   (("libudev\\.so\\.1") libudev.so.1))
-                (substitute* "third_party/dawn/src/dawn_native/vulkan/BackendVk.cpp"
+
+                ;; Patch libvulkan.so everywhere.
+                (substitute*
+                    '("third_party/swiftshader/include/vulkan/vulkan.hpp"
+                      "third_party/vulkan-deps/vulkan-tools\
+/src/vulkaninfo/vulkaninfo.h"
+                      "third_party/vulkan-deps/vulkan-headers\
+/src/include/vulkan/vulkan.hpp"
+                      "content/gpu/gpu_sandbox_hook_linux.cc"
+                      "ui/ozone/platform/wayland/gpu/vulkan_implementation_wayland.cc"
+                      "ui/ozone/platform/drm/gpu/vulkan_implementation_gbm.cc"
+                      "ui/ozone/platform/x11/vulkan_implementation_x11.cc"
+                      "third_party/skia/tools/sk_app/unix\
+/DawnVulkanWindowContext_unix.cpp")
                   (("libvulkan\\.so\\.1") libvulkan.so.1))
+                (substitute* "content/gpu/gpu_sandbox_hook_linux.cc"
+                  (("/usr/share/vulkan/icd\\.d") icd.d))
+
+                ;; Add the libvulkan directory to dawn built-in search paths.
+                (substitute* "third_party/dawn/src/dawn/native/Instance.cpp"
+                  (("^([[:blank:]]+)mRuntimeSearchPaths\\.push_back\\(\"\"\\);"
+                    all indent)
+                   (string-append indent "mRuntimeSearchPaths.push_back(\""
+                                  (dirname libvulkan.so.1) "/\");\n" all)))
+
                 (substitute*
                     '("ui/ozone/platform/x11/gl_ozone_glx.cc"
                       "ui/ozone/common/egl_util.cc"
@@ -738,8 +769,9 @@
                       #$(local-file
                          (search-auxiliary-file
                           "chromium/master-preferences.json")))
-                     (gtk+           (assoc-ref inputs "gtk+"))
-                     (xdg-utils      (assoc-ref inputs "xdg-utils")))
+                     (gtk (dirname (dirname
+                                    (search-input-file inputs "lib/libgtk-3.so"))))
+                     (xdg-utils (dirname (search-input-file inputs "bin/xdg-open"))))
 
                 (substitute* '("chrome/app/resources/manpage.1.in"
                                "chrome/installer/linux/common/desktop.template")
@@ -775,8 +807,8 @@
 
                   (wrap-program exe
                     ;; Avoid file manager crash.  See <https://bugs.gnu.org/26593>.
-                    `("XDG_DATA_DIRS" ":" prefix (,(string-append gtk+ "/share")))
-                    `("PATH" ":" prefix (,(string-append xdg-utils "/bin")))))
+                    `("XDG_DATA_DIRS" ":" prefix (,(string-append gtk "/share")))
+                    `("PATH" ":" prefix (,xdg-utils))))
 
                 (with-directory-excursion "chrome/app/theme/chromium"
                   (for-each
@@ -789,7 +821,7 @@
                    '("24" "48" "64" "128" "256")))))))))
     (native-inputs
      (list bison
-           clang-13
+           clang-14
            gn
            gperf
            lld-as-ld-wrapper
@@ -804,6 +836,7 @@
     (inputs
      (list alsa-lib
            atk
+           at-spi2-atk
            cups
            curl
            dbus
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index e8b47fbeab..1fed8bcd6e 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3613,7 +3613,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
   (with-boot4 (hidden-package
                (package-with-bootstrap-guile guile-3.0/fixed))))
 
-(define glibc-utf8-locales-final
+(define-public glibc-utf8-locales-final
   ;; Now that we have GUILE-FINAL, build the UTF-8 locales.  They are needed
   ;; by the build processes afterwards so their 'scm_to_locale_string' works
   ;; with the full range of Unicode codepoints (remember
@@ -3621,6 +3621,8 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
   ;; function.)
   (package
     (inherit glibc-utf8-locales)
+    (properties `((hidden? . #t)
+                  ,@(package-properties glibc-utf8-locales)))
     (native-inputs
      `(("glibc" ,glibc-final)
        ("gzip" ,(with-boot4 gzip))))))
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 3edaecd951..e1d8f721a3 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -411,8 +411,10 @@ decompression.")
        `(#:phases
          (modify-phases %standard-phases
            (add-after 'unpack 'unpack-gnulib
-             (lambda* (#:key inputs #:allow-other-keys)
-               (let ((gnulib (assoc-ref inputs "gnulib")))
+             (lambda* (#:key inputs native-inputs #:allow-other-keys)
+               (let ((gnulib
+                      (dirname (search-input-file (or native-inputs inputs)
+                                                  "gnulib-tool.py"))))
                  (copy-recursively gnulib "lib")
                  (setenv "PATH" (string-append "lib:" (getenv "PATH")))
                  #t)))
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index bb7f5ab95a..645fa8e47c 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -1064,7 +1064,7 @@ parsers according to a Parsing Expression Grammar (PEG).")
 (define-public cxxopts
   (package
     (name "cxxopts")
-    (version "2.2.1")
+    (version "3.0.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1073,7 +1073,7 @@ parsers according to a Parsing Expression Grammar (PEG).")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0d3y747lsh1wkalc39nxd088rbypxigm991lk3j91zpn56whrpha"))))
+                "08x7j168l1xwj0r3rv89cgghmfhsx98lpq35r3vkh504m1pd55a6"))))
     (build-system cmake-build-system)
     (synopsis "Lightweight C++ command line option parser")
     (description
@@ -1085,7 +1085,7 @@ standard GNU style syntax for options.")
 (define-public folly
   (package
     (name "folly")
-    (version "2021.10.04.00")
+    (version "2022.04.11.00")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1094,7 +1094,7 @@ standard GNU style syntax for options.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1h7apl42idymqra0xgw7s5ys3dxrqd8gq0f99g048k4g5fxl64s9"))))
+                "03c1my66xncn8yvgih4kc7j83ckmjbi2w29hdb28j30ixbn0bsjg"))))
     (build-system cmake-build-system)
     (arguments
      '(;; Tests must be explicitly enabled
@@ -1157,57 +1157,55 @@ of C++14 components that complements @code{std} and Boost.")
                 (("ENABLE_TESTS") "FALSE")))))))
     (home-page "https://pocoproject.org/")
     (synopsis "Portable C++ components")
-    (description "A collection of libraries intended to be useful for building
-network-based applications.")
+    (description "This package provides a collection of C++ libraries intended
+to be useful for building network-based applications.")
     (license license:boost1.0)))
 
 (define-public aws-crt-cpp
-  (let* ((commit "b6d311d76b504bf8ace5134d3fca0e672c36c9c3")
-         (revision "1"))
-    (package
-      (name "aws-crt-cpp")
-      ; Update only when updating aws-sdk-cpp, and when updating also update
-      ; versions of library dependencies linked from from
-      ; https://github.com/awslabs/aws-crt-cpp/tree/{aws-crt-cpp commit}/crt
-      (version (git-version "0.17.1" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/awslabs/aws-crt-cpp")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "1n0nlbz91j3ycwwrh9652f0h5qr2sj5b1l0i5sg40ajzs7wvzd32"))))
-      (build-system cmake-build-system)
-      (arguments
-       '(#:configure-flags
-         (list "-DBUILD_DEPS=OFF"
-               "-DBUILD_SHARED_LIBS=ON"
-               (string-append "-DCMAKE_PREFIX_PATH="
-                            (assoc-ref %build-inputs "aws-c-common"))
-               "-DENABLE_NET_TESTS=OFF")))
-      (propagated-inputs
-       (list aws-c-auth
-             aws-c-cal
-             aws-c-event-stream
-             aws-c-http
-             aws-c-mqtt
-             aws-c-s3))
-      (synopsis "C++ wrapper for Amazon Web Services C libraries")
-      (description "The AWS Common Runtime (CRT) library provides a C++ wrapper
+  (package
+    (name "aws-crt-cpp")
+    ; Update only when updating aws-sdk-cpp, and when updating also update
+    ; versions of library dependencies linked from from
+    ; https://github.com/awslabs/aws-crt-cpp/tree/{aws-crt-cpp commit}/crt
+    (version "0.17.27")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/awslabs/aws-crt-cpp")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "14g8pn7yii1klby7phcw08qnld1qv11vwmbdz8cs3mlpqahxrh4i"))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:configure-flags
+       (list "-DBUILD_DEPS=OFF"
+             "-DBUILD_SHARED_LIBS=ON"
+             (string-append "-DCMAKE_PREFIX_PATH="
+                          (assoc-ref %build-inputs "aws-c-common"))
+             "-DENABLE_NET_TESTS=OFF")))
+    (propagated-inputs
+     (list aws-c-auth
+           aws-c-cal
+           aws-c-event-stream
+           aws-c-http
+           aws-c-mqtt
+           aws-c-s3))
+    (synopsis "C++ wrapper for Amazon Web Services C libraries")
+    (description "The AWS Common Runtime (CRT) library provides a C++ wrapper
 implementation for the following @acronym{AWS,Amazon Web Services} C libraries:
 aws-c-auth, aws-c-cal, aws-c-common, aws-c-compression, aws-c-event-stream,
 aws-c-http, aws-c-io, aws-c-mqtt, aws-checksums, and s2n.")
-      (home-page "https://github.com/awslabs/aws-crt-cpp")
-      (license license:asl2.0))))
+    (home-page "https://github.com/awslabs/aws-crt-cpp")
+    (license license:asl2.0)))
 
 (define-public aws-sdk-cpp
   (package
     (name "aws-sdk-cpp")
     ; When updating also check for a tagged update to aws-crt-cpp from
     ; https://github.com/aws/aws-sdk-cpp/tree/main/crt
-    (version "1.9.136")
+    (version "1.9.236")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1216,7 +1214,7 @@ aws-c-http, aws-c-io, aws-c-mqtt, aws-checksums, and s2n.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0ap7g7nmbnrcajy3b788bnpqd87dwmg83dhll1q8qzli04bcg47i"))))
+                "13qhxsbfn81r7lg382wb4d3xfc4a287ikww5i7whddk5yz0j8384"))))
     (build-system cmake-build-system)
     (arguments
      '(;; Tests are run during the build phase.
@@ -1294,11 +1292,19 @@ provides a number of utilities to make coding with expected cleaner.")
      `(#:configure-flags '("-Dbenchmarks=false")
        #:phases
        (modify-phases %standard-phases
+         ,@(if (%current-target-system)
+               `(;; boost is a test dependency. We don't run tests when
+                 ;; cross-compiling. Disable all targets that depend on it.
+                 (add-after 'unpack 'do-not-check-for-boost
+                   (lambda _
+                     (substitute* "meson.build"
+                       (("unit_test_framework = [^\n]*" all)
+                        "unit_test_framework = disabler()")))))
+               '())
          (replace 'check
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests?
-               (lambda _
-                 (invoke "make" "run_tests")))))
+               (invoke "./tests"))))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (copy-recursively "../source/include/atomic_queue"
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 23645faa8a..1609682b8d 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -112,6 +112,29 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
+(define-public r-aod
+  (package
+    (name "r-aod")
+    (version "1.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "aod" version))
+       (sha256
+        (base32 "0p2i536s0aa54rah1l465g77k2ldn6jm6s25y9vc06mk29xvx1cv"))))
+    (properties `((upstream-name . "aod")))
+    (build-system r-build-system)
+    (home-page "https://cran.r-project.org/package=aod")
+    (synopsis "Analysis of overdispersed data")
+    (description
+     "This package provides a set of functions to analyze overdispersed counts
+or proportions.  Most of the methods are already available elsewhere but are
+scattered in different packages.  The proposed functions should be considered
+as complements to more sophisticated methods such as @dfn{generalized
+estimating equations} (GEE) or @dfn{generalized linear mixed effect
+models} (GLMM).")
+    (license license:gpl2+)))
+
 (define-public r-brio
   (package
     (name "r-brio")
@@ -207,14 +230,14 @@ etc.")
 (define-public r-datawizard
   (package
     (name "r-datawizard")
-    (version "0.3.0")
+    (version "0.4.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "datawizard" version))
        (sha256
         (base32
-         "1jmrkfymh66d0n4256hamvrbqipfl3bl05q618z4flmq2byifibs"))))
+         "1j26xv1zm7qwp80gy6vlysq3zxdj9r8ivi54b1d6s0ckqkww6gja"))))
     (properties `((upstream-name . "datawizard")))
     (build-system r-build-system)
     (propagated-inputs
@@ -229,6 +252,35 @@ clean, transform, and prepare your data for analysis.  It also forms the data
 wrangling backend for the packages in the @code{easystats} ecosystem.")
     (license license:gpl3)))
 
+(define-public r-dbscan
+  (package
+    (name "r-dbscan")
+    (version "1.1-10")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "dbscan" version))
+       (sha256
+        (base32 "1h8x1v9kk5zmw5qd575cyr16yz8l226lsaq71n079l4i8crcrzg1"))))
+    (properties `((upstream-name . "dbscan")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-rcpp))
+    (native-inputs (list r-knitr))
+    (home-page "https://github.com/mhahsler/dbscan")
+    (synopsis "Density-based spatial clustering of applications with noise")
+    (description
+     "This package provides a fast reimplementation of several density-based
+algorithms of the DBSCAN family.  It includes the clustering algorithms DBSCAN
+(density-based spatial clustering of applications with noise) and
+@dfn{hierarchical DBSCAN} (HDBSCAN), the ordering algorithm @dfn{ordering
+points to identify the clustering structure} (OPTICS), shared nearest neighbor
+clustering, and the outlier detection algorithms @dfn{local outlier
+factor} (LOF) and @dfn{global-local outlier score from hierarchies} (GLOSH).
+The implementations use the kd-tree data structure for faster k-nearest
+neighbor search.  An R interface to fast kNN and fixed-radius NN search is
+also provided.")
+    (license license:gpl2+)))
+
 (define-public r-diffobj
   (package
     (name "r-diffobj")
@@ -325,6 +377,34 @@ Distance (EMD).")
     (description "This package lets you manage Google Drive files from R.")
     (license license:expat)))
 
+(define-public r-guix-install
+  (package
+    (name "r-guix-install")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "guix.install" version))
+       (sha256
+        (base32 "0s3wb5781yc43c9zwrn7i87zcbrlx7xr0ms0v9hvgs7qsv02id9j"))))
+    (properties `((upstream-name . "guix.install")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-runit))
+    (home-page "https://github.com/BIMSBbioinfo/guix.install")
+    (synopsis "Install R packages with GNU Guix")
+    (description
+     "This R package provides a single procedure @code{guix.install()}, which
+allows users to install R packages via Guix right from within their running R
+session.  If the requested R package does not exist in Guix at this time, the
+package and all its missing dependencies will be imported recursively and the
+generated package definitions will be written to @file{~/.Rguix/packages.scm}.
+This record of imported packages can be used later to reproduce the
+environment, and to add the packages in question to a proper Guix channel (or
+Guix itself).  @code{guix.install()} not only supports installing packages
+from CRAN, but also from Bioconductor or even arbitrary git or mercurial
+repositories, replacing the need for installation via @code{devtools}.")
+    (license license:gpl3+)))
+
 (define-public r-ids
   (package
     (name "r-ids")
@@ -387,14 +467,14 @@ can read and write both the metadata and the cell data in a Sheet.")
 (define-public r-waldo
   (package
     (name "r-waldo")
-    (version "0.3.1")
+    (version "0.4.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "waldo" version))
        (sha256
         (base32
-         "16q1xjbl9g04l1r1x3nid9hmz1sa35q6j33bigdzh4y4zcd8qb7c"))))
+         "1aky28rn70l24s0sygl36267cf7hjzhchagsz26abfxwr7p8kvjp"))))
     (properties `((upstream-name . "waldo")))
     (build-system r-build-system)
     (propagated-inputs
@@ -659,6 +739,26 @@ size and can be easily tested locally before being sent to a remote.")
 the system clipboards.")
     (license license:gpl3)))
 
+(define-public r-dlm
+  (package
+    (name "r-dlm")
+    (version "1.1-5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "dlm" version))
+       (sha256
+        (base32 "1aksm66sfa7ipl5xgs4j5giac7q2m744wjl40mva56xn6i674h4r"))))
+    (properties `((upstream-name . "dlm")))
+    (build-system r-build-system)
+    (home-page "https://cran.r-project.org/package=dlm")
+    (synopsis "Bayesian and Likelihood Analysis of Dynamic Linear Models")
+    (description
+     "This package provides routines for Maximum likelihood, Kalman filtering
+and smoothing, and Bayesian analysis of Normal linear State Space models, also
+known as Dynamic Linear Models.")
+    (license license:gpl2+)))
+
 (define-public r-zoo
   (package
     (name "r-zoo")
@@ -783,14 +883,14 @@ variables.")
 (define-public r-ggpp
   (package
     (name "r-ggpp")
-    (version "0.4.3")
+    (version "0.4.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggpp" version))
        (sha256
         (base32
-         "175mk5zcnhwr8hvs1567x0k0vmq7g2qnq250pnxlwnv1wpmvrqhz"))))
+         "0wcaczxjav5yg8h2197cf288mqk13p3iq675q0x0di9g8lnblvk1"))))
     (properties `((upstream-name . "ggpp")))
     (build-system r-build-system)
     (propagated-inputs
@@ -874,13 +974,13 @@ axis} (SMA), and @dfn{ranged major axis} (RMA).")
 (define-public r-ggpmisc
   (package
     (name "r-ggpmisc")
-    (version "0.4.5")
+    (version "0.4.6")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "ggpmisc" version))
               (sha256
                (base32
-                "036y3zhl9ndj5wlqy2nkp95vi7pjfpvf63ndsigramzad0fz0c98"))))
+                "1iq39rx4nj1lf37hnj4df0c7gbk9374d0mzcnhdr7aqpxaxgs3ys"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-dplyr
@@ -1074,6 +1174,31 @@ consistent fashion.  It seeks to combine functionality from lower level
 functions which can speed up workflow.")
     (license license:gpl2)))
 
+(define-public r-paralleldist
+  (package
+    (name "r-paralleldist")
+    (version "0.2.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "parallelDist" version))
+       (sha256
+        (base32 "01ly4hxwa64a0ya5gla8rvv72s9mcknsfznivjkh937pbjwb7iih"))))
+    (properties `((upstream-name . "parallelDist")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-rcpp r-rcpparmadillo r-rcppparallel))
+    (home-page "https://github.com/alexeckert/parallelDist")
+    (synopsis "Parallel Distance Matrix Computation using multiple threads")
+    (description
+     "This package provides a fast parallelized alternative to R's native
+@code{dist} function to calculate distance matrices for continuous, binary,
+and multi-dimensional input matrices, which supports a broad variety of
+predefined distance functions from other R packages, as well as user- defined
+functions written in C++.  For ease of use, the @code{parDist} function
+extends the signature of the @code{dist} function and uses the same parameter
+naming conventions as distance methods of existing R packages.")
+    (license license:gpl2+)))
+
 (define-public r-pheatmap
   (package
     (name "r-pheatmap")
@@ -1298,13 +1423,13 @@ objects.")
 (define-public r-mboost
   (package
    (name "r-mboost")
-   (version "2.9-5")
+   (version "2.9-6")
    (source (origin
             (method url-fetch)
             (uri (cran-uri "mboost" version))
             (sha256
              (base32
-              "0yg07fdd1sbjfhhxn1dqgph2vzqyq7l52cdk5iq2a2zy1vh176yg"))))
+              "1gvcq1y9prpgxw5kxa20l31p384gksfx0pn7gf29jbl3cknqiyix"))))
    (build-system r-build-system)
    (propagated-inputs
     (list r-lattice
@@ -1676,17 +1801,19 @@ mixture models.")
 (define-public r-readxl
   (package
     (name "r-readxl")
-    (version "1.3.1")
+    (version "1.4.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "readxl" version))
        (sha256
         (base32
-         "15mambxr8c7k2ikdfsl1w3vxvm54dsnk0cl1qvks6iig7rql3d14"))))
+         "1xwi4k5si48hwkgfc59icfmp9dzlvfri59k5fsgn96zp9713k4mb"))))
     (build-system r-build-system)
     (propagated-inputs
-     (list r-cellranger r-progress r-rcpp r-tibble))
+     (list r-cellranger r-cpp11 r-progress r-tibble))
+    (native-inputs
+     (list r-knitr))
     (home-page "https://readxl.tidyverse.org")
     (synopsis "Read Excel files")
     (description
@@ -1758,13 +1885,13 @@ into a pipeline of data manipulation and visualisation.")
 (define-public r-hmm
   (package
     (name "r-hmm")
-    (version "1.0")
+    (version "1.0.1")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "HMM" version))
               (sha256
                (base32
-                "0z0hcqfixx1l2a6d3lpy5hmh0n4gjgs0jnck441akpp3vh37glzw"))))
+                "03b548bnwqpnd7zypb4gvy9chyi5li2hp99a9vrh4qszxg2ihas7"))))
     (properties `((upstream-name . "HMM")))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/HMM/")
@@ -2036,14 +2163,14 @@ callback or connection interfaces.")
 (define-public r-hwriter
   (package
     (name "r-hwriter")
-    (version "1.3.2")
+    (version "1.3.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "hwriter" version))
        (sha256
         (base32
-         "0arjsz854rfkfqhgvpqbm9lfni97dcjs66isdsfvwfd2wz932dbb"))))
+         "1wxnv8h9cs65m3z01dpnnkgn2cpwfsck70g1jz9nbkr7mdaa4bzd"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/hwriter")
     (synopsis "Output R objects in HTML format")
@@ -2212,14 +2339,14 @@ jQuery.")
 (define-public r-sass
   (package
     (name "r-sass")
-    (version "0.4.0")
+    (version "0.4.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "sass" version))
        (sha256
         (base32
-         "0axw358bbk3vxsqg3wq0bz3xigasa6af8fxvi2ga8hli4cawl1kx"))))
+         "1fq8wqnxmx10lg0dh4qzmxdkhd22fjh8vhassapxb1chsimwn3w5"))))
     (properties `((upstream-name . "sass")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2234,6 +2361,41 @@ generate dynamic style sheets.  The package uses the Sass CSS extension
 language, which is stable, powerful, and CSS compatible.")
     (license license:expat)))
 
+(define-public r-saver
+  (package
+    (name "r-saver")
+    (version "1.1.2")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "SAVER" version))
+              (sha256
+               (base32
+                "1s1kw8idkaj7j90fw4qn9k0wd4vz0sblsk06ry6lm4afcar0p158"))))
+    (properties `((upstream-name . "SAVER")))
+    (build-system r-build-system)
+    (propagated-inputs
+     (list r-doparallel
+           r-foreach
+           r-glmnet
+           r-iterators
+           r-matrix))
+    (native-inputs (list r-knitr))
+    (home-page "https://github.com/mohuangx/SAVER")
+    (synopsis
+     "Recovery of gene expression profile in noisy and sparse scRNA-seq data")
+    (description
+     "This package is an implementation of a regularized regression prediction
+and empirical Bayes method to recover the true gene expression profile in noisy
+and sparse single-cell RNA-seq data.  In @dfn{single-cell RNA sequencing}
+(scRNA-seq) studies, only a small fraction of the transcripts present in each
+cell are sequenced.  This leads to unreliable quantification of genes with low
+or moderate expression, which hinders downstream analysis.  This package
+@dfn{single-cell analysis via expression recovery} (SAVER) implements an
+expression recovery method for unique molecule index (UMI)-based scRNA-seq
+data that borrows information across genes and cells to provide accurate
+expression estimates for all genes.")
+    (license license:gpl2)))
+
 ;; This package includes minified JavaScript files.  When upgrading please
 ;; check that there are no new minified JavaScript files.
 (define-public r-bslib
@@ -2821,6 +2983,31 @@ distributions, and a variety of utility functions.")
     ;; Either version of the GPL.
     (license (list license:gpl2 license:gpl3))))
 
+(define-public r-homologene
+  (package
+    (name "r-homologene")
+    (version "1.4.68.19.3.27")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "homologene" version))
+       (sha256
+        (base32 "0d7wxisk0vqk1n165v1i19bc02zv78h5r5d3jqai5y6nkmwn01sh"))))
+    (properties `((upstream-name . "homologene")))
+    (build-system r-build-system)
+    (propagated-inputs
+     (list r-dplyr r-magrittr r-purrr r-r-utils r-readr))
+    (home-page "https://github.com/oganm/homologene")
+    (synopsis "Quick access to homologene and gene annotation updates")
+    (description
+     "This package provides a wrapper for the homologene database by the
+National Center for Biotechnology Information (NCBI).  It allows searching for
+gene homologs across species.  The package also includes an updated version of
+the homologene database where gene identifiers and symbols are replaced with
+their latest (at the time of submission) version and functions to fetch latest
+annotation data to keep updated.")
+    (license license:expat)))
+
 (define-public r-ggtern
   (package
     (name "r-ggtern")
@@ -3573,13 +3760,13 @@ value for each cluster in a dendrogram.")
 (define-public r-rcpp
   (package
     (name "r-rcpp")
-    (version "1.0.8.2")
+    (version "1.0.8.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "Rcpp" version))
        (sha256
-        (base32 "01bvqlbg8qkc9z3gasz1ga5dwlpilknb05ikj79a055718djxgif"))))
+        (base32 "1gzqfn1xjawzig30ama3rldykqpcn6bd8sg684mrfvpmv96bi9cx"))))
     (build-system r-build-system)
     (home-page "http://www.rcpp.org")
     (synopsis "Seamless R and C++ integration")
@@ -3597,14 +3784,14 @@ and Francois (2011, JSS), and the book by Eddelbuettel (2013, Springer); see
 (define-public r-rcppthread
   (package
     (name "r-rcppthread")
-    (version "2.1.2")
+    (version "2.1.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "RcppThread" version))
        (sha256
         (base32
-         "0a8767q4p76rfamss1w2vnx4h1229nmwymp1q63li2q5b87wipqp"))))
+         "0iprpidf7q1wlrgr9dwiikb6apqk80pyjcyni56k64nl7lrkszhj"))))
     (properties `((upstream-name . "RcppThread")))
     (build-system r-build-system)
     (home-page
@@ -3699,14 +3886,14 @@ bindings that call a C++ function.")
 (define-public r-auc
   (package
     (name "r-auc")
-    (version "0.3.0")
+    (version "0.3.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "AUC" version))
        (sha256
         (base32
-         "0ripcib2qz0m7rgr1kiz68nx8f6p408l1ww7j78ljqik7p3g41g7"))))
+         "07xf47kypqbsg2mixmq6mnh4s89aqan9bgl6kfv6lbx8ajv2asw3"))))
     (properties `((upstream-name . "AUC")))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/AUC")
@@ -4038,13 +4225,13 @@ curve to a data matrix in arbitrary dimensions.")
 (define-public r-restrserve
   (package
     (name "r-restrserve")
-    (version "0.4.1")
+    (version "1.0.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "RestRserve" version))
        (sha256
-        (base32 "1486hrzj5q5w4nbrsbqlv7vv20ly01y90qc2vygl5syzwvyjd422"))))
+        (base32 "0qb1x13n2sm0lg52x3289jsln3gw9rawfs1z2372pvr9ydpjsfqb"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-checkmate
@@ -4378,14 +4565,14 @@ or excesses over a high threshold.")
 (define-public r-lmtest
   (package
     (name "r-lmtest")
-    (version "0.9-39")
+    (version "0.9-40")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "lmtest" version))
        (sha256
         (base32
-         "126l0y7j2iy6g1w4zii1qkfcjq6wrnc3w2li0bz376smpryddy3i"))))
+         "15yr2kx08wy085bnziqmj1p6hf9mg3qp2a8465jk2df6di6hsh34"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-zoo))
@@ -5035,14 +5222,14 @@ Delaunay triangulation and convex hull computation.")
 (define-public r-ddalpha
   (package
     (name "r-ddalpha")
-    (version "1.3.12")
+    (version "1.3.13")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ddalpha" version))
        (sha256
         (base32
-         "07q6yrs1cqplbwv4wyvq26w4aj04jyajk4qh7vixm6i515cipsil"))))
+         "1bjfgb3lbzhjb5wx9hzp90jppq7vnj59bmd2n9ymi8sh1570m9p4"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-bh
@@ -5140,14 +5327,14 @@ problems as well as resampling based estimators of prediction error.")
 (define-public r-psych
   (package
     (name "r-psych")
-    (version "2.1.9")
+    (version "2.2.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "psych" version))
        (sha256
         (base32
-         "032h33i2qlwsw2iq82nri5y8hs7d593w40aghcvnibpi2wxf0x8l"))))
+         "0fi7gcaxcb1mdyfpgjm03sxz3qgp1s0hnrgx8pyswni5skb903pn"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-lattice r-mnormt r-nlme))
@@ -6094,13 +6281,13 @@ constants, and control debugging of packages via environment variables.")
 (define-public r-processx
   (package
     (name "r-processx")
-    (version "3.5.2")
+    (version "3.5.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "processx" version))
        (sha256
-        (base32 "0azw8sx6nv6pp8m8jrwq01b9na2swrnznn7dwrhn07268w82svzd"))))
+        (base32 "0ail3w8n5g1ibdamgpxcfpla18kqkilmppiasm7ms67cavx2k5k7"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-ps r-r6))
@@ -6204,14 +6391,14 @@ Markdown documents.")
 (define-public r-seriation
   (package
     (name "r-seriation")
-    (version "1.3.3")
+    (version "1.3.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "seriation" version))
        (sha256
         (base32
-         "1f6hxbrixqaj4vh4svff5pz9ny9h10snrrigk2r9c59amhkgih80"))))
+         "0dlj0mqpg585m6i7yn0h878i8ag6pyqph98xkk42i2nvghpy01gr"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-cluster
@@ -6301,17 +6488,17 @@ to variables on the left-hand side of the assignment.")
 (define-public r-vctrs
   (package
     (name "r-vctrs")
-    (version "0.3.8")
+    (version "0.4.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "vctrs" version))
        (sha256
         (base32
-         "1c8v5lmap6iq4jpi7p3w05hsv2dq7rjg057pvnfyc5d1xmsqnkkz"))))
+         "0bslr22jnnwxx45s1a19az6saqf2svi8vkjf64pnpc6rma4ygpl9"))))
     (build-system r-build-system)
     (propagated-inputs
-     (list r-ellipsis r-glue r-rlang))
+     (list r-cli r-glue r-rlang))
     (native-inputs
      (list r-knitr))
     (home-page "https://github.com/r-lib/vctrs")
@@ -6388,14 +6575,14 @@ packages that work with genomic data.")
 (define-public r-uuid
   (package
     (name "r-uuid")
-    (version "1.0-3")
+    (version "1.0-4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "uuid" version))
        (sha256
         (base32
-         "0il35jnci537r8zkinyiy5jp5q530p85ln6dswpj884zclrlcvj5"))))
+         "08j3ylf49l9qslhlcxvix3mqw6hh8kxainnklv0qmwmwj6q6i5i8"))))
     (build-system r-build-system)
     (home-page "https://www.rforge.net/uuid")
     (synopsis "Tools for generating and handling of UUIDs")
@@ -6407,14 +6594,14 @@ packages that work with genomic data.")
 (define-public r-tinytex
   (package
     (name "r-tinytex")
-    (version "0.37")
+    (version "0.38")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tinytex" version))
        (sha256
         (base32
-         "1na8g4z1crq0ia9ba17d0qxaif47jij2z3y14xlxjv7x243k6krg"))))
+         "11hww4x4q44xg559gplmjc6hmzmap0w249nnzyw5dy2ys30bbhga"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-xfun))
@@ -6676,13 +6863,13 @@ information between package updates.")
 (define-public r-leaflet
   (package
     (name "r-leaflet")
-    (version "2.1.0")
+    (version "2.1.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "leaflet" version))
        (sha256
-        (base32 "0i2ziy3zmya3i0v4ma0b1ymw4mds7di0xjirs452n20z8l31lhhs"))
+        (base32 "0xsng9n08i1w7qj4hbi706m6d8jm9ixrnwq5xac2s3csfm1s1xij"))
        (snippet
         '(for-each
           delete-file
@@ -6973,14 +7160,14 @@ financial trading strategies.")
 (define-public r-tseries
   (package
     (name "r-tseries")
-    (version "0.10-49")
+    (version "0.10-50")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tseries" version))
        (sha256
         (base32
-         "1fhldj95d16cwygw8xg0kvr4xk569mpzprdvahlsf4hzykc2dgs5"))))
+         "16654v691jqpgiisz442h9znlxgj96c9gvhk3pgmm48bfsxs6iqw"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-quadprog r-quantmod r-zoo))
@@ -7111,14 +7298,14 @@ applied econometric analysis.")
 (define-public r-cubature
   (package
     (name "r-cubature")
-    (version "2.0.4.2")
+    (version "2.0.4.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "cubature" version))
        (sha256
         (base32
-         "0kk9lw3s66h0sayza3in8rdj7bmgqn4v5lfckhslarpvj2fxsnv0"))))
+         "0sfmcy5xpa40w3qn0jbg7b802wksl5k8glz9jpx77n159wn3nyq8"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-rcpp))
@@ -7464,6 +7651,26 @@ files.")
 environment within Shiny.")
     (license license:expat)))
 
+(define-public r-rafalib
+  (package
+    (name "r-rafalib")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "rafalib" version))
+       (sha256
+        (base32 "1dmxjl66bfdgrybhwyaa8d4i460liqcdw8b29a6w7shgksh29m0k"))))
+    (properties `((upstream-name . "rafalib")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-rcolorbrewer))
+    (home-page "https://cran.r-project.org/package=rafalib")
+    (synopsis "Convenience functions for routine data exploration")
+    (description
+     "This package provides a series of shortcuts for routine tasks to
+facilitate data exploration.")
+    (license license:artistic2.0)))
+
 (define-public r-randomizr
   (package
     (name "r-randomizr")
@@ -8210,16 +8417,18 @@ using the @code{snow} package.")
 (define-public r-fstcore
   (package
     (name "r-fstcore")
-    (version "0.9.8")
+    (version "0.9.12")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "fstcore" version))
        (sha256
-        (base32 "1qicjwsm87wgjm5mxrsgi697fmcfz6wyqcxfgngwxrf8kq4awjsf"))))
+        (base32 "1a5m68n2dqhi3r8wf5jwg4vjvl550c7wypcf5j0xmkvl836yg1lg"))))
     (properties `((upstream-name . "fstcore")))
     (build-system r-build-system)
     (propagated-inputs (list r-rcpp))
+    (inputs (list zlib))
+    (native-inputs (list pkg-config))
     (home-page "https://www.fstpackage.org/fstcore/")
     (synopsis "R bindings to the fstlib library")
     (description
@@ -9049,14 +9258,14 @@ steps and provides ggplot2-based elegant data visualization.")
 (define-public r-fansi
   (package
     (name "r-fansi")
-    (version "1.0.2")
+    (version "1.0.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "fansi" version))
        (sha256
         (base32
-         "0mxm06png4lrl5gy5giws5dgig2faryang8y0wcvwfk120pczqni"))))
+         "0sn0kflgcn2qrrv646pzqylm02cx8l5ws473ppmvla4xihyvi9w6"))))
     (build-system r-build-system)
     (native-inputs
      (list r-knitr)) ; for vignettes
@@ -9171,15 +9380,16 @@ contrasts).")
 (define-public r-polynom
   (package
     (name "r-polynom")
-    (version "1.4-0")
+    (version "1.4-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "polynom" version))
        (sha256
         (base32
-         "1pflscwc0qzdf0y60j7s0dkglgmz18xajywfbn6s263idyr8idy5"))))
+         "0y4j07syjwpnq5w6a1d90z6h1hjzijmm42pq0f8jk2vcn5xxn7mw"))))
     (build-system r-build-system)
+    (native-inputs (list r-knitr))
     (home-page "https://cran.r-project.org/web/packages/polynom/")
     (synopsis "Functions for univariate polynomial manipulations")
     (description
@@ -9269,14 +9479,14 @@ hierarchical models using Markov Chain Monte Carlo (MCMC) simulation.")
 (define-public r-rbibutils
   (package
     (name "r-rbibutils")
-    (version "2.2.7")
+    (version "2.2.8")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rbibutils" version))
        (sha256
         (base32
-         "1iamdbww3hvxy0bbywc307kyhiczx0bvfhw7nngsm33balcng7kw"))))
+         "0lnia2fk8zlvkkgnl7r7dyi1ip5vqlw448qrvqs2s14rpbpcvbpi"))))
     (properties `((upstream-name . "rbibutils")))
     (build-system r-build-system)
     (home-page "https://geobosh.github.io/rbibutils/")
@@ -9291,14 +9501,14 @@ implemented in bibutils.")
 (define-public r-rdpack
   (package
     (name "r-rdpack")
-    (version "2.1.4")
+    (version "2.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "Rdpack" version))
        (sha256
         (base32
-         "0r242a352wa7kha0n62ng6ri0qi14hwjknnyjvfcd7mx4qvfwhgv"))))
+         "1igpa4hnpiykbdnq57mglby5jsbind6izkkfy81wx4ib6nw1lpn4"))))
     (properties `((upstream-name . "Rdpack")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9317,19 +9527,17 @@ references and Rd files.")
 (define-public r-officer
   (package
     (name "r-officer")
-    (version "0.4.1")
+    (version "0.4.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "officer" version))
        (sha256
         (base32
-         "1gfx299zr4q2264q37994pirv5bd5isn1cszccz603ij3q40wajr"))))
+         "0qmn62srh9zicgizyblanirbdva7f09g967yb86kfrn05ckh5y10"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-r6 r-uuid r-xml2 r-zip))
-    (native-inputs
-     (list r-knitr))
     (home-page "https://davidgohel.github.io/officer")
     (synopsis "Manipulation of Word and PowerPoint documents")
     (description
@@ -9535,14 +9743,14 @@ other add-on packages.")
 (define-public r-insight
   (package
     (name "r-insight")
-    (version "0.16.0")
+    (version "0.17.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "insight" version))
        (sha256
         (base32
-         "0gcyps0889rys04bj70br5zfvzcqxd55yawykmns17n9hsixfi3r"))))
+         "1rxcy8nyg3y50czm3y1x2pibivywcb1bjmvpyqlzg4yy2j84v69p"))))
     (build-system r-build-system)
     (native-inputs
      (list r-knitr))
@@ -9563,17 +9771,17 @@ information are missing.")
 (define-public r-sjlabelled
   (package
     (name "r-sjlabelled")
-    (version "1.1.8")
+    (version "1.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "sjlabelled" version))
        (sha256
         (base32
-         "17gskxr43rgbg7syla3b78g2qgksq2kj07iad4139xycqxblxya0"))))
+         "1va86q5wddyvqgdpy8d0an2c7v1qbb4hpn0ai6y1v5v1ff87w73k"))))
     (build-system r-build-system)
     (propagated-inputs
-     (list r-insight))
+     (list r-datawizard r-insight))
     (native-inputs
      (list r-knitr))
     (home-page "https://github.com/strengejacke/sjlabelled")
@@ -9845,14 +10053,14 @@ and automatically generate usage notices.")
 (define-public r-hash
   (package
     (name "r-hash")
-    (version "2.2.6.1")
+    (version "2.2.6.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "hash" version))
        (sha256
         (base32
-         "0b3fl0rvgwb992knl81vm99lsldg5clvaqjh6mamm6zqmb6dz056"))))
+         "17scs675a86c34hjbxmwi8kny4yyv97x3515s449zafj2i0ad8vm"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/hash/")
     (synopsis "Implementation of hash/associated arrays/dictionaries")
@@ -10179,14 +10387,14 @@ and make comparisons between different methodologies straightforward.")
 (define-public r-infotheo
   (package
     (name "r-infotheo")
-    (version "1.2.0")
+    (version "1.2.0.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "infotheo" version))
        (sha256
         (base32
-         "18xacczfq3z3xpy434js4nf3l19lczngzd0lq26wh22pvg1yniwv"))))
+         "1m1979vf8rvq3534mp1hihfadikhxrg3p6ac3hirz96kgb4qxyy0"))))
     (build-system r-build-system)
     (home-page "http://homepage.meyerp.com/software")
     (synopsis "Information-theoretic measures")
@@ -10580,14 +10788,14 @@ both to consistency and asymptotic normality.")
 (define-public r-dofuture
   (package
     (name "r-dofuture")
-    (version "0.12.0")
+    (version "0.12.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "doFuture" version))
        (sha256
         (base32
-         "1hqzdlgcrc5l6xjwdylsc9iiysi2wx8k1j1vmw3wryj26057c9y4"))))
+         "0fhk32ih9cbwxw3mvkddqjv0dsaw9xk8qjdslfcabvmixhnh3s6m"))))
     (properties `((upstream-name . "doFuture")))
     (build-system r-build-system)
     (arguments
@@ -11650,13 +11858,13 @@ series.")
 (define-public r-acceptancesampling
   (package
     (name "r-acceptancesampling")
-    (version "1.0-7")
+    (version "1.0-8")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "AcceptanceSampling" version))
        (sha256
-        (base32 "13k3zczjycw24n5yp0qmrm233id5j8h6fvra57f1n6js7ljxiiq2"))))
+        (base32 "1ja1g0v8qvf7yj81x37wc6i7fkwpc573756jgvazazi8yf1gm12p"))))
     (properties
      `((upstream-name . "AcceptanceSampling")))
     (build-system r-build-system)
@@ -11817,14 +12025,14 @@ the differences were not significantly different.")
 (define-public r-emmeans
   (package
     (name "r-emmeans")
-    (version "1.7.2")
+    (version "1.7.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "emmeans" version))
        (sha256
         (base32
-         "1g112yvqvxi83x128hwz4qpifwihlm0y5szg82cdsx3c9cm1rrfk"))))
+         "0kbbin3zfxqkm5awq4331fv7y2kfpdhkwrqh91prl7qpf8kscin6"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-estimability r-mvtnorm r-numderiv r-xtable))
@@ -11946,14 +12154,14 @@ Bayesian modeling.")
 (define-public r-tmb
   (package
     (name "r-tmb")
-    (version "1.8.0")
+    (version "1.8.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "TMB" version))
        (sha256
         (base32
-         "158spsz8inxhs3dw6cq2wwkkhvgkfjyyz577s89x08yly7layq2l"))))
+         "1hzvvx1g5nkmiqwzihj8nir48k7idbw1jvb14ldjk9rsikgpywdl"))))
     (properties `((upstream-name . "TMB")))
     (build-system r-build-system)
     (propagated-inputs
@@ -12076,14 +12284,14 @@ ROPE percentage and pd).")
 (define-public r-performance
   (package
     (name "r-performance")
-    (version "0.8.0")
+    (version "0.9.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "performance" version))
        (sha256
         (base32
-         "1xjjnhqmwfflm5yfgjhycjn0fj0manvsvkk2ppifn0373bajp5n2"))))
+         "1znr4i1pjv6z3lj6qrma2i3l94rz1z29w92mrxxfy3ch0s71crww"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-bayestestr r-datawizard r-insight))
@@ -12102,14 +12310,14 @@ effects models and Bayesian models.")
 (define-public r-ggeffects
   (package
     (name "r-ggeffects")
-    (version "1.1.1")
+    (version "1.1.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggeffects" version))
        (sha256
         (base32
-         "0xrb105kblkj3l9zlj9yy52rjlmx5x2aai1wwb5zvjr1f6nlc84l"))))
+         "01yyfw7fkbxrp0gpwni5y8m4w9l3xckwc3crnvy1fqs1d6gwx3xx"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-insight r-mass r-sjlabelled))
@@ -12385,14 +12593,14 @@ user credentials.")
 (define-public r-gert
   (package
     (name "r-gert")
-    (version "1.5.0")
+    (version "1.6.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "gert" version))
        (sha256
         (base32
-         "1bm2fjyh527y6x0dr5cs8h31jgl1fkk09ljzj1h37d0c7f4k1hwz"))))
+         "0r19vi77yyjw5gbhgjibdysjlszlw2095v14f6sv675zpbp0li4c"))))
     (properties `((upstream-name . "gert")))
     (build-system r-build-system)
     (inputs
@@ -12558,17 +12766,17 @@ of the individual checks.")
 (define-public r-rapportools
   (package
     (name "r-rapportools")
-    (version "1.0")
+    (version "1.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rapportools" version))
        (sha256
         (base32
-         "1sgv4sc737i12arh5dc3263kjsz3dzg06qihfmrqyax94mv2d01b"))))
+         "0qr86idng12g6hdd764j0wmli700v7rjhw7jdjxj0ka8xm5v7ymm"))))
     (build-system r-build-system)
     (propagated-inputs
-     (list r-pander r-plyr r-reshape))
+     (list r-mass r-pander r-plyr r-reshape2))
     (home-page "https://cran.r-project.org/web/packages/rapportools/")
     (synopsis "Miscellaneous helper functions with sane defaults for reporting")
     (description
@@ -12580,14 +12788,14 @@ quick reporting.")
 (define-public r-pander
   (package
     (name "r-pander")
-    (version "0.6.4")
+    (version "0.6.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "pander" version))
        (sha256
         (base32
-         "1knjcr50xxns3w3kh15myjpsizn4d7fdqx071a4yj90imif07qjh"))))
+         "144zkq5w7v6fpzk3x40i0baybbp0y6x2ckh4b9qljryas9mhgp9a"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-digest r-rcpp))
@@ -12778,14 +12986,14 @@ analysing multivariate abundance data in community ecology.")
 (define-public r-afex
   (package
     (name "r-afex")
-    (version "1.0-1")
+    (version "1.1-0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "afex" version))
        (sha256
         (base32
-         "1k04n6gwk2n8kg0l3yk5j3wrqgkv5f6w04yjpif9y451hx5w7svg"))))
+         "0h8zqv82dqll19l3p89a2csvgnx8ayb2bajq7b35a8svhj427zax"))))
     (build-system r-build-system)
     ;; This is needed for the vignette builder
     (arguments
@@ -13408,13 +13616,13 @@ Anderson-Darling Distribution\".")
 (define-public r-admisc
   (package
     (name "r-admisc")
-    (version "0.25")
+    (version "0.26")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "admisc" version))
        (sha256
-        (base32 "0cf8dy0mi3ynm2ic8jp0qi1samyzashwlzz0l64izqqv2s4hpyzp"))))
+        (base32 "19zkwyp8gvq8f74midmwld4azx44sbqxqx9mgs726i6dhnls6821"))))
     (properties `((upstream-name . "admisc")))
     (build-system r-build-system)
     (home-page "https://github.com/dusadrian/admisc")
@@ -14031,13 +14239,13 @@ Touzet and Varre (2007).")
 (define-public r-rncl
   (package
     (name "r-rncl")
-    (version "0.8.4")
+    (version "0.8.6")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "rncl" version))
               (sha256
                (base32
-                "0ss9jqrvv7bhvl5j74cjrp8r866d9dlavrbbfscwz3mhkgfx06bb"))))
+                "1ywgwqn82z8h6zpcxxq4hgngdpfa6dj0lr7bfq4cwfml9z075jgw"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-progress r-rcpp))
@@ -14273,14 +14481,14 @@ be imported and then exported via the @code{gridSVG} package.")
 (define-public r-kohonen
   (package
     (name "r-kohonen")
-    (version "3.0.10")
+    (version "3.0.11")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "kohonen" version))
        (sha256
         (base32
-         "1ck7j13x701g67bx81x7plszz804jfhl1yg42krcj9x88vm5cscr"))))
+         "1bk3j0n8w4fhffv89rgyn4n21c0wcx6lr8jv4wbagpxprl585381"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-rcpp))
@@ -14548,14 +14756,14 @@ preparing, executing, and processing HTTP requests.")
 (define-public r-gmp
   (package
     (name "r-gmp")
-    (version "0.6-4")
+    (version "0.6-5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "gmp" version))
        (sha256
         (base32
-         "0vfhz5cpffcrmq011h7jvy1r6d5pbbpkxj8431bhj5x5h25x7sjn"))))
+         "0llyd1wx606vpgvv7d61m0fv2a5yxsmisd38fhzanbjl2wynzrwa"))))
     (build-system r-build-system)
     (arguments
      '(#:phases
@@ -15290,14 +15498,14 @@ library.")
 (define-public r-protviz
   (package
     (name "r-protviz")
-    (version "0.7.0")
+    (version "0.7.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "protViz" version))
        (sha256
         (base32
-         "0l1pmfr9kmc90rl5s9b0141451rxrjmiiasp3lsvl2x3ps0smqaj"))))
+         "0f6jwzcqi0w37hvg3i5dlk0c3anpkqh54ibf94vaf17r8sykr4nw"))))
     (properties `((upstream-name . "protViz")))
     (build-system r-build-system)
     (propagated-inputs (list r-rcpp))
@@ -15543,14 +15751,14 @@ them in distributed compute environments.")
 (define-public r-parallelly
   (package
     (name "r-parallelly")
-    (version "1.30.0")
+    (version "1.31.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "parallelly" version))
        (sha256
         (base32
-         "0fwzkzw9vjblwk5rg56yl8qfn7irnbpm70405lmj7awvf35q1c5a"))))
+         "0kjwxgxnlpjbxpr1dyzk3nyx9fwa6vwqr22bvsxz56xwxnirzdxx"))))
     (properties `((upstream-name . "parallelly")))
     (build-system r-build-system)
     (home-page "https://github.com/HenrikBengtsson/parallelly")
@@ -15902,14 +16110,14 @@ database.")
 (define-public r-outliers
   (package
     (name "r-outliers")
-    (version "0.14")
+    (version "0.15")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "outliers" version))
        (sha256
         (base32
-         "0vcqfqmmv4yblyp3s6bd25r49pxb7hjzipiic5a82924nqfqzkmn"))))
+         "1yrmwvjjb0a6sbx940k9svf23cykcxz8rrwcgyic7lpgzbrdfcfc"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/outliers/index.html")
     (synopsis "Tests for outliers")
@@ -16195,14 +16403,14 @@ select colors to use in your R code.")
 (define-public r-ggextra
   (package
     (name "r-ggextra")
-    (version "0.9")
+    (version "0.10.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggExtra" version))
        (sha256
         (base32
-         "18mbi6gblqmrsciad1d2c9ngllk6mayaqj43k40hjq9ydqnvjbgj"))))
+         "1rd3qv6ah3zphr1jicjhgxms73vi496mjnxnsrcgl7z8nyxmas6w"))))
     (properties `((upstream-name . "ggExtra")))
     (build-system r-build-system)
     (propagated-inputs
@@ -16314,14 +16522,14 @@ probabilities from a standard bivariate normal CDF.")
 (define-public r-lavaan
   (package
     (name "r-lavaan")
-    (version "0.6-10")
+    (version "0.6-11")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "lavaan" version))
        (sha256
         (base32
-         "0dwc8rgrzyrrb0ivx297ln2qbrsxbpn6mdf7laiffhspdpml8sad"))))
+         "026k32paf51lpy6zxm9m81zg9szx14j37dxdip6nba334jw97h9c"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-mass r-mnormt r-numderiv r-pbivnorm))
@@ -16437,14 +16645,14 @@ also provides tools for efficient random number generation and graphics.")
 (define-public r-beanplot
   (package
     (name "r-beanplot")
-    (version "1.2")
+    (version "1.3.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "beanplot" version))
        (sha256
         (base32
-         "0wmkr704fl8kdxkjwmaxw2a2h5dwzfgsgpncnk2p2wd4768jknj9"))))
+         "1b8mvlcsv5l9g08ag92hndsvk8jmgxvznhzgazc8y4296kp8l5a9"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/beanplot/")
     (synopsis "Visualization via beanplots")
@@ -17195,13 +17403,13 @@ datum transformations.")
 (define-public r-spdep
   (package
     (name "r-spdep")
-    (version "1.2-2")
+    (version "1.2-3")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "spdep" version))
               (sha256
                (base32
-                "08sya6vy7s87h337g2fanncw6xx9y9z8nxpqalbdxv9vpsc6zx4l"))
+                "0qd7qjblx49gp07pcf4qb2f93ab3p126pa77g6mq4z3jaa510hak"))
               (snippet
                '(for-each delete-file '("inst/doc/CO69.html"
                                         "inst/doc/CO69.R"
@@ -17640,13 +17848,13 @@ SELECT or UPDATE queries to an end-point.")
 (define-public r-bookdown
   (package
     (name "r-bookdown")
-    (version "0.24")
+    (version "0.25")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "bookdown" version))
               (sha256
                (base32
-                "1qqvvfbpbd6sin8vpvr3zzlhlyx1i6b98yp77xj5zl220nid5slb"))))
+                "0v5nlm3lbm0h5cvd9j2211yqk68rkm416aq8qp6r8klj69xm1bri"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-htmltools
@@ -17695,13 +17903,13 @@ that accept short and long options.")
 (define-public r-kernlab
   (package
     (name "r-kernlab")
-    (version "0.9-29")
+    (version "0.9-30")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "kernlab" version))
        (sha256
-        (base32 "0vqhndl4zm7pvkfvq0f6i9cbrm7pij6kmdp7d7w39pa100x6knn3"))))
+        (base32 "10gfb542nbl1d5pfy6r7gcg3j1ikra9l18r6xjv8lzp5ka1kmz28"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/kernlab")
     (synopsis "Kernel-based machine learning tools")
@@ -18000,14 +18208,14 @@ the XKCD web comic.")
 (define-public r-babelgene
   (package
     (name "r-babelgene")
-    (version "21.4")
+    (version "22.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "babelgene" version))
        (sha256
         (base32
-         "1gk5pm3b3shr1id66a11ywc1b823gbj8yckg24szzfhj8g4ixyf0"))))
+         "1735h4s2vahv55pmq65zkgxq8d5x71i1is03rf17dric8yynjjhg"))))
     (properties `((upstream-name . "babelgene")))
     (build-system r-build-system)
     (propagated-inputs
@@ -18030,14 +18238,14 @@ compiled by the HGNC Comparison of Orthology Predictions (HCOP).")
 (define-public r-msigdbr
   (package
     (name "r-msigdbr")
-    (version "7.4.1")
+    (version "7.5.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "msigdbr" version))
        (sha256
         (base32
-         "103m52av68pkjfh8f81qh6j3cs1mj1lg831ciwybr34cax767jr1"))))
+         "1jna9bkq0a7r6f8nhxziyiw75kfhsyh1rv7sx5d4551mvxxlhc6w"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-babelgene
@@ -18600,14 +18808,14 @@ repository.")
 (define-public r-mpm
   (package
     (name "r-mpm")
-    (version "1.0-22")
+    (version "1.0-23")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "mpm" version))
        (sha256
         (base32
-         "0wijw8v0wmbfrda5564cmnp788qmlkk21yn5cp5qk8aprm9l1fnk"))))
+         "1jpv2ddmw7aarqbbyfys1yb840arw33319wnny3v2hk84hldmayj"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-kernsmooth r-mass))
@@ -18668,14 +18876,14 @@ function for computing a matrix of correlation p-values.")
 (define-public r-ggfun
   (package
     (name "r-ggfun")
-    (version "0.0.5")
+    (version "0.0.6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggfun" version))
        (sha256
         (base32
-         "10spayf5jzmizhs6aassjplrjr9mr6bcww30pyxzyb1djfl41qxi"))))
+         "06si42b60hp8wprs5nbks93qlb9s269k9kw7akcirizwc399x62r"))))
     (properties `((upstream-name . "ggfun")))
     (build-system r-build-system)
     (propagated-inputs
@@ -18961,14 +19169,14 @@ external dependencies.  This package has is implemented purely in R.")
 (define-public r-aplot
   (package
     (name "r-aplot")
-    (version "0.1.2")
+    (version "0.1.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "aplot" version))
        (sha256
         (base32
-         "1w09flb6a4fxibfrm1z24pg672r80b7phgc0m7mv3vfw3l84v749"))))
+         "10cqa35bh4lhpnybaalp3d69k392b25ba16dgbngqz0vikzp4czk"))))
     (properties `((upstream-name . "aplot")))
     (build-system r-build-system)
     (propagated-inputs
@@ -18991,14 +19199,14 @@ matched.")
 (define-public r-ggnewscale
   (package
     (name "r-ggnewscale")
-    (version "0.4.6")
+    (version "0.4.7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggnewscale" version))
        (sha256
         (base32
-         "08xqhv6y9m9f2p8q3h0dh7mbpqg3r2i590x2983k69plfa5jxzv3"))))
+         "108a7y6sqqvzyfk247lbmnacfpwdl405rf1b3fa62cgx8ycsq4kb"))))
     (properties `((upstream-name . "ggnewscale")))
     (build-system r-build-system)
     (propagated-inputs
@@ -19124,14 +19332,14 @@ industry for machine learning tasks.")
 (define-public r-float
   (package
     (name "r-float")
-    (version "0.2-6.1")
+    (version "0.3-0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "float" version))
        (sha256
         (base32
-         "07b3zaccrybd1vail8hs4kmcn3djqmr72j63h01rkmij2ry8pv8d"))))
+         "0m7bf3548vlgkk1c78jyrgj72ngwg0gsccap2iqinm3l3qrm4zbs"))))
     (properties `((upstream-name . "float")))
     (build-system r-build-system)
     (native-inputs
@@ -19220,14 +19428,14 @@ multicore machines.")
 (define-public r-mcmcpack
   (package
     (name "r-mcmcpack")
-    (version "1.6-1")
+    (version "1.6-2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "MCMCpack" version))
        (sha256
         (base32
-         "1skanp6czfk83s13dnjrb699m9z6a0r59q0f79fv0k560jc8vbrj"))))
+         "18nyncvgb75q8flndni99ldr7ynqhillphkj7ydsmfv5w8b0zvqp"))))
     (properties `((upstream-name . "MCMCpack")))
     (build-system r-build-system)
     (propagated-inputs
@@ -19880,17 +20088,17 @@ easily.")
 (define-public r-umap
   (package
     (name "r-umap")
-    (version "0.2.7.0")
+    (version "0.2.8.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "umap" version))
        (sha256
         (base32
-         "191vpy84s0bar06y9z1qx43x2kc4qp7lmrcmd0cvz2pnzq722jab"))))
+         "0aiarnzc8gl932gi8fxd9f9rshaiwh9vj570l135fkiaja3q2wap"))))
     (build-system r-build-system)
     (propagated-inputs
-     (list r-openssl r-rcpp r-reticulate r-rspectra))
+     (list r-matrix r-openssl r-rcpp r-reticulate r-rspectra))
     (native-inputs
      (list r-knitr))
     (home-page "https://github.com/tkonopka/umap")
@@ -20354,23 +20562,24 @@ files is supported.")
 (define-public r-tidygraph
   (package
     (name "r-tidygraph")
-    (version "1.2.0")
+    (version "1.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tidygraph" version))
        (sha256
         (base32
-         "17qjns33zcj82jcsl7bn7i4zxcm7ric50zyf7agi0i01zi16qz85"))))
+         "0dmdff3bkg53xn0c51xd6k2d9c7l250x1lhl5z3libf533dw5g9g"))))
     (properties `((upstream-name . "tidygraph")))
     (build-system r-build-system)
     (propagated-inputs
-     (list r-dplyr
+     (list r-cli
+           r-cpp11
+           r-dplyr
            r-igraph
            r-magrittr
            r-pillar
            r-r6
-           r-rcpp
            r-rlang
            r-tibble
            r-tidyr))
@@ -20468,13 +20677,13 @@ effect size.")
 (define-public r-rgdal
   (package
     (name "r-rgdal")
-    (version "1.5-28")
+    (version "1.5-30")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rgdal" version))
        (sha256
-        (base32 "18k1w8cb77h4mw1m5b21r0fng40arb1md24fyriv83ccz8n46m3z"))))
+        (base32 "1f4zshgkaifbfcgq61vqb7jw5w2cc128d98rq2465r8696q2p0s9"))))
     (properties `((upstream-name . "rgdal")))
     (build-system r-build-system)
     (inputs
@@ -20599,13 +20808,13 @@ programming problems.")
 (define-public r-desolve
   (package
     (name "r-desolve")
-    (version "1.30")
+    (version "1.31")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "deSolve" version))
        (sha256
-        (base32 "0j7mmg1mimdpql8f4i9dn920ciyyq80a5qnc4fq5xn5lyrx5vxir"))))
+        (base32 "06gsh514msqdmri78969snhgh22d2bzmnkqfgh0s74aprfd93m8r"))))
     (properties `((upstream-name . "deSolve")))
     (build-system r-build-system)
     (native-inputs
@@ -20628,13 +20837,13 @@ to ODEs by numerical differencing.")
 (define-public r-pmcmrplus
   (package
     (name "r-pmcmrplus")
-    (version "1.9.3")
+    (version "1.9.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "PMCMRplus" version))
        (sha256
-        (base32 "00sgk4c7vpmbfifrsbqd5gh7hwdpm8kymlpnnrdzlhvkymhbmfkn"))))
+        (base32 "16m1pdrzjq9vnx5v7zv56mz9r1205rkw92883cxaqbvdpds6dhqy"))))
     (properties `((upstream-name . "PMCMRplus")))
     (build-system r-build-system)
     (inputs (list gmp))
@@ -21310,14 +21519,14 @@ Social Sciences\" by Mark S. Handcock and Martina Morris, Springer-Verlag,
 (define-public r-accept
   (package
     (name "r-accept")
-    (version "0.8.3")
+    (version "0.9.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "accept" version))
        (sha256
         (base32
-         "0qn4lm6bk0z2iijwsfbymx1c9y39988fw124ncgmlrgw5kv80b7x"))))
+         "13kx8fbnbpasjklgbq2rf4n73j2s8rvy5v77ywqhfzln24937qgh"))))
     (properties `((upstream-name . "accept")))
     (build-system r-build-system)
     (propagated-inputs
@@ -21522,23 +21731,21 @@ and mixture of Gaussian models.")
 (define-public r-accsda
   (package
     (name "r-accsda")
-    (version "1.0.0")
+    (version "1.1.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "accSDA" version))
        (sha256
         (base32
-         "0sgxy5y8kkc1n35657kifwfjsba7y5m1vbr7rkk5lmbpkzahqm61"))))
+         "104xdz63mnibh6827xm0pfr9zbhbi2a7iw4m1x27xjqi7zqvbky6"))))
     (properties `((upstream-name . "accSDA")))
     (build-system r-build-system)
     (propagated-inputs
      (list r-ggplot2
            r-ggthemes
            r-gridextra
-           r-mass
-           r-rarpack
-           r-sparselda))
+           r-mass))
     (home-page "https://github.com/gumeo/accSDA/wiki")
     (synopsis "Accelerated sparse discriminant analysis")
     (description
@@ -21663,14 +21870,14 @@ See e.g. Gentle (2003) @url{doi:10.1007/b97336}.")
 (define-public r-lhs
   (package
     (name "r-lhs")
-    (version "1.1.4")
+    (version "1.1.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "lhs" version))
        (sha256
         (base32
-         "1dim6pw2vjvsk269dff5bzpnyh9rp4qa9gj8y61bd31384q5c92c"))))
+         "0fb3bc3s5pbwg92qkjbg7v8ah36wm6qs05vf098hwjakr7f6yg3s"))))
     (properties `((upstream-name . "lhs")))
     (build-system r-build-system)
     (propagated-inputs (list r-rcpp))
@@ -22095,14 +22302,14 @@ provided as well.")
 (define-public r-tuner
   (package
     (name "r-tuner")
-    (version "1.3.3.1")
+    (version "1.4.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tuneR" version))
        (sha256
         (base32
-         "12nixpqrc5gp7p2clr7ia6jwb0jq2i3brlxiwlp00ixmnm5g1jyd"))))
+         "1sd0drxzbdy71bh35fccg9ajhpdhdpy0m9nja2lw82p1pzhyl7jn"))))
     (properties `((upstream-name . "tuneR")))
     (build-system r-build-system)
     (propagated-inputs (list r-signal))
@@ -22221,14 +22428,14 @@ both exponential and logistic loss on a given data set.")
 (define-public r-genalg
   (package
     (name "r-genalg")
-    (version "0.2.0")
+    (version "0.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "genalg" version))
        (sha256
         (base32
-         "1wzfamq8k5yhwbdx0wy1w5bks93brj0p890xxc4yqrja4w38ja3s"))))
+         "1y4qz1s85zpd1r3259gr542arssf2vpd4drhy0wnq5q47ignrvna"))))
     (properties `((upstream-name . "genalg")))
     (build-system r-build-system)
     (home-page "https://github.com/egonw/genalg")
@@ -22943,14 +23150,14 @@ communities\" by MS Johnson (1926) @url{doi:10.2307/1373575}.")
 (define-public r-expint
   (package
     (name "r-expint")
-    (version "0.1-6")
+    (version "0.1-7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "expint" version))
        (sha256
         (base32
-         "0iai25cglcdnf44d2d1fz1xpw4q600my4zq4493fk4cs5673mlf7"))))
+         "01d0a7pc4qx7044a0cymnv5ld88r90vdvlqjbnzg9qlfbizdgyvw"))))
     (properties `((upstream-name . "expint")))
     (build-system r-build-system)
     (home-page "https://gitlab.com/vigou3/expint")
@@ -22966,14 +23173,14 @@ API; see the package vignette for details.")
 (define-public r-actuar
   (package
     (name "r-actuar")
-    (version "3.2-1")
+    (version "3.2-2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "actuar" version))
        (sha256
         (base32
-         "1avqgkls4xvwgfr6j7g2f7p474rlpi82q5aksw8nzf8wcyp7592f"))))
+         "0dhpaivyga0jwvw1csagbx74biy9jfkw4a8sa871579njxl1x7p1"))))
     (properties `((upstream-name . "actuar")))
     (build-system r-build-system)
     (propagated-inputs (list r-expint))
@@ -23309,14 +23516,14 @@ Johnson-Graybill, LBI, Tusell and modified Tukey non-additivity tests.")
 (define-public r-flexclust
   (package
     (name "r-flexclust")
-    (version "1.4-0")
+    (version "1.4-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "flexclust" version))
        (sha256
         (base32
-         "0x7wxk8y46ndyz6fdacym0rd6p9wh3pcfr28chjcg5d7fm849zl2"))))
+         "13akk3w6a76jpws5v9108c3hdmb8i6gm0sc06lr2hqly0pgpfyfn"))))
     (properties `((upstream-name . "flexclust")))
     (build-system r-build-system)
     (propagated-inputs
@@ -24552,14 +24759,14 @@ package by providing:
 (define-public r-sem
   (package
     (name "r-sem")
-    (version "3.1-14")
+    (version "3.1-15")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "sem" version))
        (sha256
         (base32
-         "18m54hjl3w57n4ygnkcy80w0dc9dz1zvavjqh9sl6nqs52f9m246"))))
+         "05hk72zxvyv6kkjhk5y6qw253c64108az7030z8j1sz8wq03n0md"))))
     (properties `((upstream-name . "sem")))
     (build-system r-build-system)
     (propagated-inputs
@@ -24797,14 +25004,14 @@ output in R.")
 (define-public r-bdgraph
   (package
     (name "r-bdgraph")
-    (version "2.64")
+    (version "2.65")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "BDgraph" version))
        (sha256
         (base32
-         "0pnzbw09c7amsvj8l4p1jnmss4rkbr1dsmagiygh8lj5fbrklgr4"))))
+         "0rg3wi9xwsbj90gb60p3vzkfrf76hwh47nc6fwv6c21yzd3s7vm4"))))
     (properties `((upstream-name . "BDgraph")))
     (build-system r-build-system)
     (propagated-inputs
@@ -24923,14 +25130,14 @@ translated to input syntax for the R packages @code{sem} and @code{lavaan}.")
 (define-public r-cdm
   (package
     (name "r-cdm")
-    (version "7.5-15")
+    (version "7.6-11")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "CDM" version))
        (sha256
         (base32
-         "159ny2dz0rf1r3k1mqlfwambffc8rx425sggf5bn51nybpzanq3l"))))
+         "0k3arkzz7nzswjcsr7fdmpfs94ilg8l265dyn49555fw3673cgqj"))))
     (properties `((upstream-name . "CDM")))
     (build-system r-build-system)
     (propagated-inputs
@@ -25244,14 +25451,14 @@ using the @code{rstan} and @code{rstanarm} packages).")
 (define-public r-rstantools
   (package
     (name "r-rstantools")
-    (version "2.1.1")
+    (version "2.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rstantools" version))
        (sha256
         (base32
-         "0b9x8rzj3dr4m7yjx476nn42z22xd1xnw85m9frfwxy5ivg1any9"))))
+         "1dsfgi02hps878n3vimfdbzpm4gr5n3ccrmnc61ncrqcp6p0p0fb"))))
     (properties `((upstream-name . "rstantools")))
     (build-system r-build-system)
     (inputs (list pandoc))
@@ -25272,13 +25479,13 @@ recommendations for developers.")
 (define-public r-loo
   (package
     (name "r-loo")
-    (version "2.4.1")
+    (version "2.5.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "loo" version))
        (sha256
-        (base32 "0l2v8zpashqbnck3qx5lp1gqjcfphzky8mxyw5gfk9wk99mzn8dw"))))
+        (base32 "1wa5hxk7lkr88mway6b7xd5arrkkl2ldl9rf0v1nqwp8lia2ysl6"))))
     (properties `((upstream-name . "loo")))
     (build-system r-build-system)
     (inputs
@@ -25304,14 +25511,14 @@ techniques to average Bayesian predictive distributions.")
 (define-public r-rstan
   (package
     (name "r-rstan")
-    (version "2.21.3")
+    (version "2.21.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rstan" version))
        (sha256
         (base32
-         "1ccjdwh0xspna2c0m5p8as8y2b0lnhdyk9hfd3jh58j6n8fbzg3n"))))
+         "1smr5cjrqvpdnkmjpjp73p96sy581x15mwrn4fqd1p4d5mbgxr46"))))
     (properties `((upstream-name . "rstan")))
     (build-system r-build-system)
     (arguments
@@ -25354,14 +25561,14 @@ need to derive the partial derivatives.")
 (define-public r-rstanarm
   (package
     (name "r-rstanarm")
-    (version "2.21.1")
+    (version "2.21.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rstanarm" version))
        (sha256
         (base32
-         "04ggzak3f7jaxza3dxyrmxp5b48qcgyspy22ykbhr03g4hzp7jk8"))))
+         "19rj396q84maxnd9d2xcd5rblg3310xn7sqbd6k18kwf3dvd7wp9"))))
     (properties `((upstream-name . "rstanarm")))
     (build-system r-build-system)
     (inputs
@@ -25396,14 +25603,14 @@ a formula and @code{data.frame} plus some additional arguments for priors.")
 (define-public r-kendall
   (package
     (name "r-kendall")
-    (version "2.2")
+    (version "2.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "Kendall" version))
        (sha256
         (base32
-         "0z2yr3x2nvdm81w2imb61hxwcbmg14kfb2bxgh3wmkmv3wfjwkwn"))))
+         "1xmk95l4i3kj9jn0xh1chi2rj322k29jq14ra5pa7316gwf9vx2m"))))
     (properties `((upstream-name . "Kendall")))
     (build-system r-build-system)
     (propagated-inputs
@@ -26264,14 +26471,14 @@ here.")
 (define-public r-projpred
   (package
     (name "r-projpred")
-    (version "2.0.2")
+    (version "2.1.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "projpred" version))
        (sha256
         (base32
-         "0nx514mrfh3gv854pr71w5x3zgdnn0kinf5nh7z90q3h7ysry2mg"))))
+         "170pskvcsyk22xl4q8mklx8nw29miqzb42wajcab7bki8ap1ix46"))))
     (properties `((upstream-name . "projpred")))
     (build-system r-build-system)
     (propagated-inputs
@@ -26281,14 +26488,12 @@ here.")
            r-lme4
            r-loo
            r-magrittr
-           r-mass
            r-mgcv
-           r-optimx
+           r-mvtnorm
            r-rcpp
            r-rcpparmadillo
-           r-rngtools
-           r-rstantools
-           r-tidyverse))
+           r-rlang
+           r-rstantools))
     (native-inputs (list r-knitr))
     (home-page "https://mc-stan.org/projpred/")
     (synopsis "Projection predictive feature selection")
@@ -26880,14 +27085,14 @@ you can automate browsers locally or remotely.")
 (define-public r-conquer
   (package
     (name "r-conquer")
-    (version "1.2.2")
+    (version "1.3.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "conquer" version))
        (sha256
         (base32
-         "1z07p4xcrxvnicwgga7hqvqzcxavwirw828285i0xlnz54rqhsc8"))))
+         "1ynmaf7lgqjb8grsifx5dzy29cd5kz4x3yh0abnl2vxdr4c4wddc"))))
     (properties `((upstream-name . "conquer")))
     (build-system r-build-system)
     (propagated-inputs
@@ -27112,14 +27317,14 @@ matrix calculations that are common in statistics, such as quadratic forms.")
 (define-public r-spatstat-data
   (package
     (name "r-spatstat-data")
-    (version "2.1-2")
+    (version "2.1-4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "spatstat.data" version))
        (sha256
         (base32
-         "1r8s4xl25xr71h4g5qqi5y370h2ik3kz5fb4qyml2b6dwsl1ildv"))))
+         "0bq9randa3lgkh2q932iss5cxazq743q6p8asiqqf0yi32b003jq"))))
     (properties `((upstream-name . "spatstat.data")))
     (build-system r-build-system)
     (propagated-inputs
@@ -27134,14 +27339,14 @@ package.")
 (define-public r-spatstat-geom
   (package
     (name "r-spatstat-geom")
-    (version "2.3-2")
+    (version "2.4-0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "spatstat.geom" version))
        (sha256
         (base32
-         "0aihimb4r6hmk3g7764d3b43a0znf9bzmc96i1lkqq9hwabj7151"))))
+         "0rwysq9a0ylbsr53q5kfh7wjk5mcdji211sc3s8gwzz8ki09mf1j"))))
     (properties `((upstream-name . "spatstat.geom")))
     (build-system r-build-system)
     (propagated-inputs
@@ -27157,14 +27362,14 @@ for the geometry of linear networks.")
 (define-public r-spatstat-core
   (package
     (name "r-spatstat-core")
-    (version "2.4-0")
+    (version "2.4-2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "spatstat.core" version))
        (sha256
         (base32
-         "1dx6fh6l3bqxqfaczm9gxx1sirmdpx8biag462pj9wjqmw9m4j35"))))
+         "0bhdxyw212yf9y9nsvbz4yy08ka3wr3hkjqpag0ys2s1p22c51b9"))))
     (properties `((upstream-name . "spatstat.core")))
     (build-system r-build-system)
     (propagated-inputs
@@ -27219,13 +27424,13 @@ for spatial data on a linear network.")
 (define-public r-spatstat-random
   (package
     (name "r-spatstat-random")
-    (version "2.1-0")
+    (version "2.2-0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "spatstat.random" version))
        (sha256
-        (base32 "0ggzl64iqf7b6n81ga66wb01sm4rmzrbimv2pmgy047mjnqsnpq4"))))
+        (base32 "0kb01s8k67ydcfqcnz3i55vpiksihh4xsg0w2p2bclxxkpdvpw25"))))
     (properties `((upstream-name . "spatstat.random")))
     (build-system r-build-system)
     (propagated-inputs (list r-spatstat-data r-spatstat-geom r-spatstat-utils))
@@ -27247,14 +27452,14 @@ sampler).")
 (define-public r-spatstat
   (package
     (name "r-spatstat")
-    (version "2.3-3")
+    (version "2.3-4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "spatstat" version))
        (sha256
         (base32
-         "0skk377fw448gvdk6jkcviqbqdjn2vdz19vfk8aiilxax4xba1hr"))))
+         "1nlrp7660y68axlm4pczc5rxbdhbbac1ylh69azr4swj1gbzi82f"))))
     (properties `((upstream-name . "spatstat")))
     (build-system r-build-system)
     (propagated-inputs
@@ -27666,14 +27871,14 @@ and @url{https://doi.org/10.1093/molbev/msw275,Didelot et al. (2017)}.")
 (define-public r-km-ci
   (package
     (name "r-km-ci")
-    (version "0.5-2")
+    (version "0.5-6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "km.ci" version))
        (sha256
         (base32
-         "1l6kw8jppaa1802yc5pbfwwgac56nhwc9p076ivylhms4w7cdf8v"))))
+         "18sc9vhbdgks8lhk2nfxkkayh8j4j227hl63fm5p04f7z4wm6wc1"))))
     (properties `((upstream-name . "km.ci")))
     (build-system r-build-system)
     (propagated-inputs
@@ -27711,14 +27916,14 @@ Springer.")
 (define-public r-survmisc
   (package
     (name "r-survmisc")
-    (version "0.5.5")
+    (version "0.5.6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "survMisc" version))
        (sha256
         (base32
-         "00nvvl8gz4477ab24rd0xvfksm8msv8h021b9ld5c9cizc41n2bm"))))
+         "014cf7sfndmib9jmj0p3h67sr750k2pvw7m865zwdpvlqddi44fr"))))
     (properties `((upstream-name . "survMisc")))
     (build-system r-build-system)
     (propagated-inputs
@@ -27954,14 +28159,14 @@ model.")
 (define-public r-igraph
   (package
     (name "r-igraph")
-    (version "1.2.11")
+    (version "1.3.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "igraph" version))
        (sha256
         (base32
-         "1ph042yinl8ig2x7laha5j1xr14fky9771l5ha87svhynrg732qw"))))
+         "09dzc8lslljvhj2q46075vxcmlgkvq2qs500zdqyy9g8scq6iqbi"))))
     (build-system r-build-system)
     (native-inputs
      (list gfortran))
@@ -27981,19 +28186,18 @@ more.")
 (define-public r-workflows
   (package
     (name "r-workflows")
-    (version "0.2.4")
+    (version "0.2.6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "workflows" version))
        (sha256
         (base32
-         "1sxrgza922p137z41jcj2iwk19lxzwh6kp4kz7h9kw0b8rvfqwab"))))
+         "0xhc1j25fjipw8hvcpdbvfm640kp0flwvifj5f7g4n6b3wb8cm6a"))))
     (properties `((upstream-name . "workflows")))
     (build-system r-build-system)
     (propagated-inputs
      (list r-cli
-           r-ellipsis
            r-generics
            r-glue
            r-hardhat
@@ -28255,14 +28459,14 @@ Design} (SFD) and to test their quality.")
 (define-public r-dials
   (package
     (name "r-dials")
-    (version "0.1.0")
+    (version "0.1.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "dials" version))
        (sha256
         (base32
-         "02i9ddzi7gk5bwg87x8bpazk89mn102awgxzp9yw85dgbafqsydh"))))
+         "1h695g9vklqn0vd53j9k03s0989xjpjr11h5qhz3a0v6465fwm8a"))))
     (properties `((upstream-name . "dials")))
     (build-system r-build-system)
     (propagated-inputs
@@ -28289,14 +28493,14 @@ for creating, simulating, or validating values for such parameters.")
 (define-public r-tune
   (package
     (name "r-tune")
-    (version "0.1.6")
+    (version "0.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tune" version))
        (sha256
         (base32
-         "1356w98ljiay8fwa7narr7j5hfbvi69gy03gr7kqiwnfglyksrza"))))
+         "05gxlsaqv6sjk11r5g4nkdd6hlb3bnfmc29cx4vln1blha37jx4i"))))
     (properties `((upstream-name . "tune")))
     (build-system r-build-system)
     (propagated-inputs
@@ -28333,14 +28537,14 @@ methods, and post-processing steps.")
 (define-public r-workflowsets
   (package
     (name "r-workflowsets")
-    (version "0.1.0")
+    (version "0.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "workflowsets" version))
        (sha256
         (base32
-         "0596hb17mshpag3vjy2wl6fi2mdw54i9gc5za10vzy8vpkigb9jy"))))
+         "0q42nhnw0mbivadcfb07v71fp39x8fcnjipvn5l5yhjzc56cfxi8"))))
     (properties `((upstream-name . "workflowsets")))
     (build-system r-build-system)
     (propagated-inputs
@@ -28569,14 +28773,14 @@ analysis using @code{dplyr}, @code{ggplot2}, and other Tidy tools.")
 (define-public r-parsnip
   (package
     (name "r-parsnip")
-    (version "0.2.0")
+    (version "0.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "parsnip" version))
        (sha256
         (base32
-         "0g213c91lzwq9hd22yxkj3igqw04czncnbc4jddnpghp4gpfn1kn"))))
+         "195i4j38mljv9193yx8lmh65h85yhc52y9vc1mk8zvxi52ks1yln"))))
     (properties `((upstream-name . "parsnip")))
     (build-system r-build-system)
     (propagated-inputs
@@ -28689,14 +28893,14 @@ use.")
 (define-public r-tidymodels
   (package
     (name "r-tidymodels")
-    (version "0.1.4")
+    (version "0.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tidymodels" version))
        (sha256
         (base32
-         "18krycdn0h1i8swrq6bgj8qnb200rr0pqhr6maq3h1jc66x0y7nd"))))
+         "1xkv4s4kn7k9137svb39zrm5302gxpxyp1jv5bb6z0xrvj5wwa4i"))))
     (properties `((upstream-name . "tidymodels")))
     (build-system r-build-system)
     (propagated-inputs
@@ -28722,7 +28926,7 @@ use.")
            r-workflowsets
            r-yardstick))
     (native-inputs
-     (list r-knitr r-rmarkdown pandoc))
+     (list r-knitr))
     (home-page "https://github.com/tidymodels/tidymodels")
     (synopsis "Tidy collection for modeling and statistical analysis")
     (description
@@ -28760,14 +28964,14 @@ this variability problem can be overcome.")
 (define-public r-mlecens
   (package
     (name "r-mlecens")
-    (version "0.1-4")
+    (version "0.1-5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "MLEcens" version))
        (sha256
         (base32
-         "0zlmrcjraypscgs2v0w4s4hm7qccsmaz4hjsgqpn0058vx622945"))))
+         "0cdl0y44clds4sg8hikhk354a5xrfbyfg8lxrbh1bfg410rkj186"))))
     (properties `((upstream-name . "MLEcens")))
     (build-system r-build-system)
     (home-page "http://stat.ethz.ch/~maathuis/")
@@ -29297,13 +29501,13 @@ Journal of Statistical Software, 39(10), 1-24.")
 (define-public r-densestbayes
   (package
     (name "r-densestbayes")
-    (version "1.0-2")
+    (version "1.0-2.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "densEstBayes" version))
        (sha256
-        (base32 "16fb7vkic9q5p8s4f0f215zmb36fcizqr4r2vm9dxxj9rasrg2f3"))))
+        (base32 "1pzmgn65lv91zg1588qhwczy9f2zgciknlc4l072mvh2i7hncw2b"))))
     (properties `((upstream-name . "densEstBayes")))
     (build-system r-build-system)
     (propagated-inputs
@@ -29664,14 +29868,14 @@ vector machines, and gradient boosting.")
 (define-public r-bbotk
   (package
     (name "r-bbotk")
-    (version "0.5.1")
+    (version "0.5.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "bbotk" version))
        (sha256
         (base32
-         "1171vcs96j8f4n0rjsbbiscs4nxgd4209lr9biy99lvhjvjdsfsm"))))
+         "0k1vlh14mfbcgdw2yfhab7shkrqm4d2h6af12mybr9gks26xmw82"))))
     (properties `((upstream-name . "bbotk")))
     (build-system r-build-system)
     (propagated-inputs
@@ -29694,13 +29898,13 @@ annealing.")
 (define-public r-mlr3tuning
   (package
     (name "r-mlr3tuning")
-    (version "0.12.1")
+    (version "0.13.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "mlr3tuning" version))
               (sha256
                (base32
-                "0qly6bsfazqcf0a7c2a6k3wghczm8v1fxw9pxa76gpw51x2j2ld0"))))
+                "0czlpi8bshn8cjq7pa1cyy7lpv35g4hv2nbyhc59zrcykzfv8afm"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-bbotk
@@ -29869,14 +30073,14 @@ unit tests of graphics).")
 (define-public r-vdiffr
   (package
     (name "r-vdiffr")
-    (version "1.0.2")
+    (version "1.0.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "vdiffr" version))
        (sha256
         (base32
-         "1zjwjw8lqqnx7cxj2aik5rn1g67zsyf0bq08yfwwmsi7v2x6ly3x"))))
+         "1z8nn8yh6jfzb9r7ylmigwh1p30lrclqm6khmp323qqphzmzfdwy"))))
     (properties `((upstream-name . "vdiffr")))
     (build-system r-build-system)
     (inputs
@@ -30527,14 +30731,14 @@ or into raw bitmap vectors for further processing in R.")
 (define-public r-antiword
   (package
     (name "r-antiword")
-    (version "1.3")
+    (version "1.3.1")
     (source
       (origin
         (method url-fetch)
         (uri (cran-uri "antiword" version))
         (sha256
           (base32
-            "034znb0g9wwb8gi1r3z75v3sbb4mh83qrc4y8mbfx5lbgh8zhj6j"))
+            "123v8zlczwh6fr1v3x7dl3885xlmddq1bqlcxih8zh07w0hlk1k2"))
       (modules '((guix build utils)))
       (snippet
        '(begin
@@ -30970,14 +31174,14 @@ join the effort of providing interesting text visualisations.")
 (define-public r-gsa
   (package
     (name "r-gsa")
-    (version "1.03.1")
+    (version "1.03.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "GSA" version))
        (sha256
         (base32
-         "05x9wspah1cdznjpncqam1iawsxdiigyl8v2anyhss2k7wwd94p1"))))
+         "1f1mrxxdbdlnibgav6nsvbpniz2x3km2svc0hf43spb4zicn0z8p"))))
     (properties `((upstream-name . "GSA")))
     (build-system r-build-system)
     (home-page "https://statweb.stanford.edu/~tibs/GSA/")
@@ -31135,14 +31339,14 @@ in order to customise how it should change with time.")
 (define-public r-tzdb
  (package
     (name "r-tzdb")
-    (version "0.2.0")
+    (version "0.3.0")
     (source
       (origin
         (method url-fetch)
         (uri (cran-uri "tzdb" version))
         (sha256
           (base32
-            "1afmav7s29fb5cd920h6vrzg9cvc4jsidfalxpvhlh1b8mfr0df3"))))
+            "0f3h4zaf9f4l371k6nc1mq6z2f9aj1vaf2inni8jnsds3zng16b0"))))
     (properties `((upstream-name . "tzdb")))
     (build-system r-build-system)
     (propagated-inputs (list r-cpp11))
@@ -31319,14 +31523,14 @@ Apache2.")
 (define-public r-exactextractr
   (package
     (name "r-exactextractr")
-    (version "0.7.2")
+    (version "0.8.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "exactextractr" version))
        (sha256
         (base32
-         "0n39dqgsfzybi9yvnpnfdyypl8c9fml80jq0wxssik2n47mvbcif"))))
+         "11s58vc63r9kah815a18ihb0x2nmnjnpngybw3yr2d6715sz89nc"))))
     (properties `((upstream-name . "exactextractr")))
     (build-system r-build-system)
     (inputs (list geos))
@@ -31802,14 +32006,14 @@ fully reproducible.")
 (define-public r-paws-common
   (package
     (name "r-paws-common")
-    (version "0.3.16")
+    (version "0.3.17")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "paws.common" version))
        (sha256
         (base32
-         "0mdbnbjprghiwz4i9abh62l5q6mncz3iq76wxvj7ncinf89kd83w"))))
+         "1dg18hwnrjd6m1vjcxfs2vm1zxciivf4vzhq0z76dmmiqz2yjm28"))))
     (properties `((upstream-name . "paws.common")))
     (build-system r-build-system)
     (propagated-inputs
@@ -32440,13 +32644,13 @@ convert dates to MMWR day, week, and year and the reverse.")
 (define-public r-cccd
   (package
     (name "r-cccd")
-    (version "1.5")
+    (version "1.6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "cccd" version))
        (sha256
-        (base32 "0m364zsrgr7mh1yhl2lqxpaf71gzq3y3pp9qgnj4spiy4iadyy7i"))))
+        (base32 "0cxh19jqappc6zq9nz3m40ybdmsp12mf7yvflsz96wks3ly2ld4y"))))
     (properties `((upstream-name . "cccd")))
     (build-system r-build-system)
     (propagated-inputs (list r-deldir r-fnn r-igraph r-proxy))
@@ -32962,3 +33166,23 @@ setting individual scales per panel, resizing panels and providing nested
 facets.  It also allows multiple colour, fill scales per plot and hosts a
 smaller collection of stats, geoms and axis guides.")
     (license license:expat)))
+
+(define-public r-zoeppritz
+  (package
+    (name "r-zoeppritz")
+    (version "1.0-8")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "zoeppritz" version))
+              (sha256
+               (base32
+                "1711szx9zz17q6pfinyzlyrw7m9772c8ywlixqar2l165bkjalgm"))))
+    (properties `((upstream-name . "zoeppritz")))
+    (build-system r-build-system)
+    (home-page "https://cran.r-project.org/package=zoeppritz")
+    (synopsis "Seismic reflection and scattering coefficients for waves")
+    (description
+     "The @code{r-zoeppritz} package calculates and plots scattering matrix
+coefficients or scattering amplitudes, for seismological P and S-waves at an
+interface.")
+    (license license:gpl2+)))
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 90c95b6368..bebc1fce8d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12030,28 +12030,29 @@ colors.")
 (define-public rust-combine-4
   (package
     (name "rust-combine")
-    (version "4.5.2")
+    (version "4.6.3")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "combine" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0zkvqp21fbhznf7sjssdiw3zgx3x3q8w10c9mmjdzkf0wjsnjhyc"))))
+        (base32 "0qihymj493vvs054gzpcmp4lzb098zrj2p9miv19yzvrrjm2gdsh"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-bytes" ,rust-bytes-0.5)
-        ("rust-bytes" ,rust-bytes-1)
+       (("rust-bytes" ,rust-bytes-1)
+        ("rust-bytes" ,rust-bytes-0.5)
+        ("rust-futures-core" ,rust-futures-core-0.3)
         ("rust-futures-io" ,rust-futures-io-0.3)
-        ("rust-futures-util" ,rust-futures-util-0.3)
         ("rust-memchr" ,rust-memchr-2)
         ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
         ("rust-regex" ,rust-regex-1)
         ("rust-tokio" ,rust-tokio-1)
+        ("rust-tokio" ,rust-tokio-0.3)
         ("rust-tokio" ,rust-tokio-0.2)
-        ("rust-tokio" ,rust-tokio-0.3))))
+        ("rust-tokio-util" ,rust-tokio-util-0.6))))
     (home-page "https://github.com/Marwes/combine")
     (synopsis "Parser combinators on arbitrary streams with zero-copy support")
     (description
@@ -13927,7 +13928,7 @@ Rust.")
 (define-public rust-criterion-0.3
   (package
     (name "rust-criterion")
-    (version "0.3.4")
+    (version "0.3.5")
     (source
      (origin
        (method url-fetch)
@@ -13935,7 +13936,7 @@ Rust.")
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "08rx789365x6l9kbsg2r9c5yg25rd3pj1giwyhpcqis56pbpwcmb"))))
+        (base32 "044d2x7cxfvw2g558lzyllcv7jcdkw9xmacmb0nzx8pv4pyxl10n"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
@@ -13962,9 +13963,9 @@ Rust.")
         ("rust-tokio" ,rust-tokio-1)
         ("rust-walkdir" ,rust-walkdir-2))
        #:cargo-development-inputs
-       (("rust-approx" ,rust-approx-0.4)
+       (("rust-approx" ,rust-approx-0.5)
         ("rust-futures" ,rust-futures-0.3)
-        ("rust-quickcheck" ,rust-quickcheck-0.9)
+        ("rust-quickcheck" ,rust-quickcheck-1)
         ("rust-rand" ,rust-rand-0.8)
         ("rust-tempfile" ,rust-tempfile-3))))
     (home-page "https://bheisler.github.io/criterion.rs/book/index.html")
@@ -14039,7 +14040,7 @@ criterion.")
 (define-public rust-criterion-plot-0.4
   (package
     (name "rust-criterion-plot")
-    (version "0.4.3")
+    (version "0.4.4")
     (source
      (origin
        (method url-fetch)
@@ -14047,13 +14048,12 @@ criterion.")
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "17c8v5fv064181yspagkdcfd6jhs7233ba6g94bbl7v0xjnzw8p0"))))
+        (base32 "0mys2zkizh5az6ax77m5aqifk0vz35rn0a6wykvmjx9gkzg9c2fh"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-cast" ,rust-cast-0.2)
-        ("rust-itertools" ,rust-itertools-0.9))
+        ("rust-itertools" ,rust-itertools-0.10))
        #:cargo-development-inputs
        (("rust-itertools-num" ,rust-itertools-num-0.1)
         ("rust-num-complex" ,rust-num-complex-0.2)
@@ -18590,6 +18590,24 @@ from macros.")
         ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
         ("rust-strsim" ,rust-strsim-0.5))))))
 
+(define-public rust-document-features-0.2
+  (package
+    (name "rust-document-features")
+    (version "0.2.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "document-features" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "121wr2bd8a4s5i5yrxjz8c5amw2l69xmqqma86x6y4xmcgyhj75h"))))
+    (build-system cargo-build-system)
+    (home-page "https://slint-ui.com")
+    (synopsis "Extract documentation for feature flags from Cargo.toml")
+    (description "Extract documentation for the feature flags from comments in
+@code{Cargo.toml}.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-downcast-0.10
   (package
     (name "rust-downcast")
@@ -20663,7 +20681,7 @@ decoding.")
 (define-public rust-escargot-0.5
   (package
     (name "rust-escargot")
-    (version "0.5.0")
+    (version "0.5.7")
     (source
       (origin
         (method url-fetch)
@@ -20671,18 +20689,17 @@ decoding.")
         (file-name
          (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "0vd9phbpd6yrnsksn2as8flvq8ykzvck2zlz143xpp42qaz9dkvl"))))
+         (base32 "19h1yvg9x7lvyb7p75ypyb94sacns5dkxwc4fa56mcksgnhlnn7m"))))
     (build-system cargo-build-system)
     (arguments
      `(#:tests? #f      ; not all test files included
        #:cargo-inputs
-       (("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-log" ,rust-log-0.4)
+       (("rust-log" ,rust-log-0.4)
+        ("rust-once-cell" ,rust-once-cell-1)
         ("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1))
        #:cargo-development-inputs
-       (("rust-assert-fs" ,rust-assert-fs-0.11))))
+       (("rust-assert-fs" ,rust-assert-fs-1))))
     (home-page "https://github.com/crate-ci/escargot")
     (synopsis "Cargo API written in Paris")
     (description "Cargo API written in Paris.")
@@ -23007,7 +23024,7 @@ macOS API for file changes notifications")
 (define-public rust-fst-0.4
   (package
     (name "rust-fst")
-    (version "0.4.0")
+    (version "0.4.7")
     (source
       (origin
         (method url-fetch)
@@ -23015,13 +23032,17 @@ macOS API for file changes notifications")
         (file-name
          (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "0ybmdzkknhv1wx6ws86iyixfyzc04l4nm71b9va7953r1m3i6z1z"))))
+         (base32 "06mnksicgv9rp8b7w0ykkshf355l05zym3ygm74qr5z30ndmpf3s"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-utf8-ranges" ,rust-utf8-ranges-1))))
+     `(#:cargo-inputs
+       (("rust-utf8-ranges" ,rust-utf8-ranges-1))
+       #:cargo-development-inputs
+       (("rust-doc-comment" ,rust-doc-comment-0.3)
+        ("rust-fnv" ,rust-fnv-1)
+        ("rust-memmap" ,rust-memmap-0.7)
+        ("rust-quickcheck" ,rust-quickcheck-0.9)
+        ("rust-rand" ,rust-rand-0.7))))
     (home-page "https://github.com/BurntSushi/fst")
     (synopsis "Represent sets or maps of large numbers of strings")
     (description
@@ -28300,7 +28321,7 @@ with hyper.")
 (define-public rust-hyphenation-commons-0.8
   (package
     (name "rust-hyphenation-commons")
-    (version "0.8.0")
+    (version "0.8.4")
     (source
      (origin
        (method url-fetch)
@@ -28308,19 +28329,14 @@ with hyper.")
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "089jv1pr718aq0yjfcv6x0zljw9f73jm15khdsydzfln3ci7n4hj"))))
+        (base32 "1gq59h9h8597k04yl53an0j56cvb0in98pxpp27dkiz5mnifgssz"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build?
-       #t
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-fst" ,rust-fst-0.4)
         ("rust-serde" ,rust-serde-1))))
-    (home-page
-     "https://github.com/tapeinosyne/hyphenation")
-    (synopsis
-     "Proemial code for the @code{hyphenation} library")
+    (home-page "https://github.com/tapeinosyne/hyphenation")
+    (synopsis "Proemial code for the @code{hyphenation} library")
     (description
      "This package provides a proemial code for the @code{hyphenation} library.")
     (license (list license:asl2.0 license:expat))))
@@ -28328,7 +28344,7 @@ with hyper.")
 (define-public rust-hyphenation-0.8
   (package
     (name "rust-hyphenation")
-    (version "0.8.0")
+    (version "0.8.4")
     (source
      (origin
        (method url-fetch)
@@ -28336,31 +28352,23 @@ with hyper.")
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "117h952d2zlpyqmy0kb49wb42rd3l5m5kl3ldfhgygv6lin09b2w"))))
+        (base32 "1w2hib167vpz7jbg3zs92ifihj4akirlhb5509aib1df8i6dvx5w"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build?
-       #t
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-bincode" ,rust-bincode-1)
-        ("rust-bincode" ,rust-bincode-1)
         ("rust-fst" ,rust-fst-0.4)
-        ("rust-fst" ,rust-fst-0.4)
-        ("rust-hyphenation-commons"
-         ,rust-hyphenation-commons-0.8)
-        ("rust-hyphenation-commons"
-         ,rust-hyphenation-commons-0.8)
-        ("rust-pocket-resources"
-         ,rust-pocket-resources-0.3)
-        ("rust-serde" ,rust-serde-1)
+        ("rust-hyphenation-commons" ,rust-hyphenation-commons-0.8)
+        ("rust-pocket-resources" ,rust-pocket-resources-0.3)
         ("rust-serde" ,rust-serde-1)
-        ("rust-unicode-normalization"
-         ,rust-unicode-normalization-0.1))))
-    (home-page
-     "https://github.com/tapeinosyne/hyphenation")
-    (synopsis
-     "Knuth-Liang hyphenation for a variety of languages")
+        ("rust-unicode-normalization" ,rust-unicode-normalization-0.1))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-once-cell" ,rust-once-cell-1)
+        ("rust-quickcheck" ,rust-quickcheck-1)
+        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1))))
+    (home-page "https://github.com/tapeinosyne/hyphenation")
+    (synopsis "Knuth-Liang hyphenation for a variety of languages")
     (description
      "This package provides a Knuth-Liang hyphenation for a variety of languages.")
     (license (list license:asl2.0 license:expat))))
@@ -30492,6 +30500,32 @@ kernel32.")
     (description "This package provides a kqueue interface for BSDs.")
     (license license:expat)))
 
+(define-public rust-kstring-1
+  (package
+    (name "rust-kstring")
+    (version "1.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "kstring" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "1r4n9fa5scikqvl736nxghcfa6s3b07xz61w43hyzs2qb3wmd3nk"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t     ; Uses unstable features.
+       #:cargo-inputs
+       (("rust-document-features" ,rust-document-features-0.2)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-static-assertions" ,rust-static-assertions-1))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-proptest" ,rust-proptest-1))))
+    (home-page "https://github.com/cobalt-org/kstring")
+    (synopsis "String optimized for map keys")
+    (description "Key String provides a Rust package optimized for map keys.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-kv-log-macro-1
   (package
     (name "rust-kv-log-macro")
@@ -32148,6 +32182,33 @@ in plain text.  It is smart about where a link ends, such as with trailing
 punctuation.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-lipsum-0.8
+  (package
+    (name "rust-lipsum")
+    (version "0.8.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "lipsum" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "0sn5k0hgx099x2qdx0xlx8a5b74sfc55qnbyrhnh72baqxqp5vj2"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-rand" ,rust-rand-0.8)
+        ("rust-rand-chacha" ,rust-rand-chacha-0.3))
+       #:cargo-development-inputs
+       (("rust-version-sync" ,rust-version-sync-0.9))))
+    (home-page "https://github.com/mgeisler/lipsum/")
+    (synopsis "Lorem ipsum text generation library in Rust")
+    (description
+     "Lipsum is a lorem ipsum text generation library.  Use this if you need
+some filler text for your application.  The text is generated using a simple
+Markov chain, which you can also instantiate to generate your own pieces of
+pseudo-random text.")
+    (license license:expat)))
+
 (define-public rust-libssh2-sys-0.2
   (package
     (name "rust-libssh2-sys")
@@ -36219,6 +36280,36 @@ general elements and for numerics.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-ndarray-0.14
+  (package
+    (inherit rust-ndarray-0.15)
+    (name "rust-ndarray")
+    (version "0.14.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ndarray" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "011wqzmrd9gpfcfvy1xfbskqfiahn96pmi2d0r9x34d682amq3bc"))
+        (patches (search-patches "rust-ndarray-0.14-remove-blas-src.patch"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-approx" ,rust-approx-0.4)
+        ("rust-cblas-sys" ,rust-cblas-sys-0.1)
+        ("rust-matrixmultiply" ,rust-matrixmultiply-0.2)
+        ("rust-num-complex" ,rust-num-complex-0.3)
+        ("rust-num-integer" ,rust-num-integer-0.1)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-rawpointer" ,rust-rawpointer-0.2)
+        ("rust-rayon" ,rust-rayon-1)
+        ("rust-serde" ,rust-serde-1))
+       #:cargo-development-inputs
+       (("rust-approx" ,rust-approx-0.4)
+        ("rust-defmac" ,rust-defmac-0.2)
+        ("rust-itertools" ,rust-itertools-0.9)
+        ("rust-quickcheck" ,rust-quickcheck-0.9))))))
+
 (define-public rust-ndarray-0.13
   (package
     (inherit rust-ndarray-0.15)
@@ -39593,8 +39684,33 @@ under its new name.")
      "This library detects the operating system type and version.")
     (license license:expat)))
 
+(define-public rust-os-pipe-1
+  (package
+    (name "rust-os-pipe")
+    (version "1.0.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "os-pipe" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "0mczqmqrkzmln4xg5ki1gwgykf4dsii0h4p7fxf667889ysz54ic"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (native-inputs
+     (list python-minimal-wrapper))     ; For the tests.
+    (home-page "https://github.com/oconnor663/os_pipe.rs")
+    (synopsis "Library for opening OS pipes")
+    (description
+     "This package provides a cross-platform library for opening OS pipes.")
+    (license license:expat)))
+
 (define-public rust-os-pipe-0.9
   (package
+    (inherit rust-os-pipe-1)
     (name "rust-os-pipe")
     (version "0.9.2")
     (source
@@ -39606,19 +39722,7 @@ under its new name.")
        (sha256
         (base32
          "04yjs1hf88jjm17g8a2lr7ibxyyg460rzbgcw9f1yzihq833y8zv"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-winapi" ,rust-winapi-0.3))))
-    (home-page
-     "https://github.com/oconnor663/os_pipe.rs")
-    (synopsis
-     "Cross-platform library for opening OS pipes")
-    (description
-     "A cross-platform library for opening OS pipes.")
-    (license license:expat)))
+    (native-inputs (list))))
 
 (define-public rust-os-pipe-0.5
   (package
@@ -39641,8 +39745,56 @@ under its new name.")
         ("rust-nix" ,rust-nix-0.8)
         ("rust-winapi" ,rust-winapi-0.2))))))
 
+(define-public rust-os-str-bytes-6
+  (package
+    (name "rust-os-str-bytes")
+    (version "6.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "os-str-bytes" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "0r5z5xds2wzzqlqjaw96dpjsz5nqyzc1rflm4mh09aa32qyl88lf"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-memchr" ,rust-memchr-2)
+        ("rust-print-bytes" ,rust-print-bytes-0.5)
+        ("rust-uniquote" ,rust-uniquote-3))
+       #:cargo-development-inputs
+       (("rust-getrandom" ,rust-getrandom-0.2))))
+    (home-page "https://github.com/dylni/os_str_bytes")
+    (synopsis
+     "Traits for converting between byte sequences and platform-native strings")
+    (description
+     "This package provides a traits for converting between byte sequences and
+platform-native strings.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-os-str-bytes-4
+  (package
+    (inherit rust-os-str-bytes-6)
+    (name "rust-os-str-bytes")
+    (version "4.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "os-str-bytes" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "16d70qzd2g18i28i6znjcpck0r9hjd5gz5qcr1cl2l9s6d1sknmd"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-memchr" ,rust-memchr-2)
+        ("rust-print-bytes" ,rust-print-bytes-0.4)
+        ("rust-uniquote" ,rust-uniquote-3))
+       #:cargo-development-inputs
+       (("rust-getrandom" ,rust-getrandom-0.2))))))
+
 (define-public rust-os-str-bytes-2
   (package
+    (inherit rust-os-str-bytes-4)
     (name "rust-os-str-bytes")
     (version "2.4.0")
     (source
@@ -39654,16 +39806,7 @@ under its new name.")
        (sha256
         (base32
          "11agh8n3x2l4sr3sxvx6byc1j3ryb1g6flb1ywn0qhq7xv1y3cmg"))))
-    (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page
-     "https://github.com/dylni/os_str_bytes")
-    (synopsis
-     "Traits for converting between byte sequences and platform-native strings")
-    (description
-     "This package provides a traits for converting between byte sequences and
-platform-native strings.")
-    (license (list license:expat license:asl2.0))))
+    (arguments `(#:skip-build? #t))))
 
 (define-public rust-ouroboros-macro-0.14
   (package
@@ -44377,6 +44520,47 @@ replacements, adding colorful diffs.")
 formatted tables in terminal.")
     (license license:bsd-3)))
 
+(define-public rust-print-bytes-0.5
+  (package
+    (name "rust-print-bytes")
+    (version "0.5.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "print-bytes" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "0d4i9y3jx1chi6w97a8rgdbwm9g3cppr53rw53zl6fcaq31qx0b6"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+       (("rust-os-str-bytes" ,rust-os-str-bytes-4))))
+    (home-page "https://github.com/dylni/print_bytes")
+    (synopsis "Print bytes as losslessly as possible")
+    (description "This package contains a Rust library to print bytes as
+losslessly as possible.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-print-bytes-0.4
+  (package
+    (inherit rust-print-bytes-0.5)
+    (name "rust-print-bytes")
+    (version "0.4.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "print-bytes" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "1zmvbaxfl4r780j0smg2kn1q3agks601aa43s5zdlzgcp32yjfvm"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+       (("rust-os-str-bytes" ,rust-os-str-bytes-2))))))
+
 (define-public rust-proc-macro-crate-1
   (package
     (name "rust-proc-macro-crate")
@@ -55624,14 +55808,14 @@ some context).")
 (define-public rust-shlex-1
   (package
     (name "rust-shlex")
-    (version "1.0.0")
+    (version "1.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "shlex" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0gf773p2snqpw69rzh8s1wdlq8dc8c1ypmiv516il1fdyb46i9a2"))))
+        (base32 "18zqcay2dgxgrd1r645mb79m4q745jcrqj659k11bwh99lx8bcj3"))))
     (build-system cargo-build-system)
     (home-page "https://github.com/comex/rust-shlex")
     (synopsis "Split a string into shell words, like Python's shlex")
@@ -56916,6 +57100,33 @@ control on the fields.")
     (description "This package provides compact inlined strings.")
     (license license:mpl2.0)))
 
+(define-public rust-smawk-0.3
+  (package
+    (name "rust-smawk")
+    (version "0.3.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "smawk" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "0hv0q1mw1r1brk7v3g4a80j162p7g1dri4bdidykrakzfqjd4ypn"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-ndarray" ,rust-ndarray-0.14))
+       #:cargo-development-inputs
+       (("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-rand" ,rust-rand-0.8)
+        ("rust-rand-chacha" ,rust-rand-chacha-0.3)
+        ("rust-version-sync" ,rust-version-sync-0.9))))
+    (home-page "https://github.com/mgeisler/smawk")
+    (synopsis "Functions for finding row-minima in a totally monotone matrix")
+    (description
+     "This package provides functions for finding row-minima in a totally
+monotone matrix.")
+    (license license:expat)))
+
 (define-public rust-smol-1
   (package
     (name "rust-smol")
@@ -61730,17 +61941,17 @@ writing colored text to a terminal.")
 (define-public rust-terminal-size-0.1
   (package
     (name "rust-terminal-size")
-    (version "0.1.16")
+    (version "0.1.17")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "terminal-size" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "01i4zlv8dplx8ps328wl14xv7w1ah0ni6i3g0w1dnd07fpnqrjl6"))))
+        (base32 "1pq60ng1a7fjp597ifk1cqlz8fv9raz9xihddld1m1pfdia1lg33"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #f
+     `(#:tests? #f          ; Tests require /dev/stderr
        #:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ("rust-winapi" ,rust-winapi-0.3))))
@@ -67480,6 +67691,27 @@ char type that allow for the querying if whether or not a character is
 a member of a certain category of Unicode characters.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-unicode-linebreak-0.1
+  (package
+    (name "rust-unicode-linebreak")
+    (version "0.1.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "unicode-linebreak" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "0grq6bsn967q4vpifld53s7a140nlmpq5vy8ghgr73f4n2mdqlis"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-regex" ,rust-regex-1))))
+    (home-page "https://github.com/axelf4/unicode-linebreak")
+    (synopsis "Implementation of the Unicode Line Breaking Algorithm")
+    (description "This package provides an Implementation of the Unicode Line
+Breaking Algorithm in Rust.")
+    (license license:asl2.0)))
+
 (define-public rust-unicode-normalization-0.1
   (package
     (name "rust-unicode-normalization")
@@ -67622,6 +67854,24 @@ whitespace from a string.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-uniquote-3
+  (package
+    (name "rust-uniquote")
+    (version "3.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "uniquote" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "1bkl0n41yvs415mqny4b434kr456ysnb3dhic1zrrzppwx95jvxa"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/dylni/uniquote")
+    (synopsis "Quote strings for clear display in output")
+    (description "This package provides a Rust library to quote strings for
+clear display in the output.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-universal-hash-0.4
   (package
     (name "rust-universal-hash")
@@ -68602,8 +68852,40 @@ numbers, and test them against various comparison operators.")
 
 (define-public rust-version-compare-0.0 rust-version-compare-0.0.11)
 
+(define-public rust-version-sync-0.9
+  (package
+    (name "rust-version-sync")
+    (version "0.9.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "version-sync" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "1w0v20p6k13yhfmgmcwhgy3371znyqcn83lhrf47swq7xhf81l4r"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.8)
+        ("rust-regex" ,rust-regex-1)
+        ("rust-semver" ,rust-semver-1)
+        ("rust-syn" ,rust-syn-1)
+        ("rust-toml" ,rust-toml-0.5)
+        ("rust-url" ,rust-url-2))
+       #:cargo-development-inputs
+       (("rust-tempfile" ,rust-tempfile-3))))
+    (home-page "https://github.com/mgeisler/version-sync")
+    (synopsis
+     "Ensure that version numbers are updated when the crate version changes")
+    (description
+     "Simple crate for ensuring that version numbers in README files are
+updated when the crate version changes.")
+    (license license:expat)))
+
 (define-public rust-version-sync-0.8
   (package
+    (inherit rust-version-sync-0.9)
     (name "rust-version-sync")
     (version "0.8.1")
     (source
@@ -68615,7 +68897,6 @@ numbers, and test them against various comparison operators.")
         (sha256
          (base32
           "01pq0ia7ak7d69c3chjgdmaaq271yrspgbzmk6wmrwb74hx3skw4"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
@@ -68626,14 +68907,7 @@ numbers, and test them against various comparison operators.")
         ("rust-semver-parser" ,rust-semver-parser-0.9)
         ("rust-syn" ,rust-syn-0.15)
         ("rust-toml" ,rust-toml-0.5)
-        ("rust-url" ,rust-url-1))))
-    (home-page "https://github.com/mgeisler/version-sync")
-    (synopsis
-     "Ensure that version numbers are updated when the crate version changes")
-    (description
-     "Simple crate for ensuring that version numbers in README files are
-updated when the crate version changes.")
-    (license license:expat)))
+        ("rust-url" ,rust-url-1))))))
 
 (define-public rust-version-sync-0.6
   (package
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index d36519260e..a83ecbaa09 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -362,3 +362,31 @@ curl to obtain exactly that HTTP request.")
     (description "Coeurl is a simple library to do HTTP requests
 asynchronously via cURL in C++.")
     (license license:expat)))
+
+(define-public curlie
+  (package
+    (name "curlie")
+    (version "1.6.9")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/rs/curlie")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1b94wfliivfq06i5sf664nhmp3v1k0lpz33cv9lyk6s59awb2hnw"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/rs/curlie"))
+    (inputs
+     (list curl go-golang-org-x-crypto go-golang-org-x-sys))
+    (home-page "https://curlie.io")
+    (synopsis "The power of curl, the ease of use of httpie")
+    (description "If you like the interface of HTTPie but miss the features of
+curl, curlie is what you are searching for.  Curlie is a frontend to
+@code{curl} that adds the ease of use of @code{httpie}, without compromising
+on features and performance.  All @code{curl} options are exposed with syntax
+sugar and output formatting inspired from @code{httpie}.")
+    (license license:expat)))
diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm
index 07cd2aa872..f247231ecf 100644
--- a/gnu/packages/datastructures.scm
+++ b/gnu/packages/datastructures.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2015, 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016, 2017, 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
-;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019, 2020, 2022 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2020 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
 ;;;
@@ -266,7 +266,7 @@ to the structure and choosing one or more fields to act as the key.")
                           Cflags: -I${includedir}~%"
                           out ,version)))
               #t))))))
-    (native-inputs
+    (propagated-inputs
      (list libdivsufsort))
     (home-page "https://github.com/simongog/sdsl-lite")
     (synopsis "Succinct data structure library")
diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm
index 8738eb36f2..59015baa40 100644
--- a/gnu/packages/dav.scm
+++ b/gnu/packages/dav.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2021 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2022 Jonathan Brielmaier <jonathan.brielmaier@web.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -40,18 +41,23 @@
 (define-public radicale
   (package
     (name "radicale")
-    (version "3.0.6")
+    (version "3.1.5")
     (source
      (origin
        ;; There are no tests in the PyPI tarball.
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/Kozea/Radicale")
-             (commit version)))
+             (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1xlsvrmx6jhi71j6j8z9sli5vwxasivzjyqf8zq8r0l5p7350clf"))))
+        (base32 "0wg0dg5bq221c6mj6fq53x82w0hb5hyyi8dqxkf6qnhf99bx8qrw"))))
     (build-system python-build-system)
+    (arguments
+      (list
+       ;; TODO: enable again when https://github.com/Kozea/Radicale/issues/1184
+       ;; is fixed
+       #:tests? #f))
     (native-inputs
      (list python-pytest
            python-pytest-cov
diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm
index ca71ecc952..89cf3cebc8 100644
--- a/gnu/packages/diffoscope.scm
+++ b/gnu/packages/diffoscope.scm
@@ -74,7 +74,7 @@
 (define-public diffoscope
   (package
     (name "diffoscope")
-    (version "207")
+    (version "209")
     (source
      (origin
        (method git-fetch)
@@ -83,7 +83,7 @@
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0djpkq9fpw8dpiqaghbbg5dshl27xgkqrifalx9nq87dix5c1y6d"))
+        (base32 "18avlxra2jrqg5xklb86ikafyqad58m8c906s3l8lwxwpjqkx794"))
        (patches
         (search-patches "diffoscope-fix-llvm-test.patch"))))
     (build-system python-build-system)
@@ -239,7 +239,7 @@ install.")
 (define-public reprotest
   (package
     (name "reprotest")
-    (version "0.7.18")
+    (version "0.7.20")
     (source
      (origin
        (method git-fetch)
@@ -249,7 +249,7 @@ install.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "19lwsxq53isgfkvlxvxqqmbjfcim3lhcxwk7m9ddfjiynhq74949"))))
+         "0c3nyiha9gh1xzl0dn9ji2yqa8y06d83v84pz0dqanihm40ljjsm"))))
     (inputs
      (list python-debian python-distro python-libarchive-c python-rstr))
     (native-inputs
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 1161d3bc18..d62f4376b6 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -53,13 +53,13 @@
 (define-public python-django-4.0
   (package
     (name "python-django")
-    (version "4.0.2")
+    (version "4.0.4")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "Django" version))
               (sha256
                (base32
-                "0jlmxylag7dah9jl3wm2swnn9kbisx1gqnddfbh5kjifn67va3qi"))))
+                "1da0vy3nas2m2j50dc5c3s1nv529lagg4c04riipah94hn2pg0af"))))
     (build-system python-build-system)
     (arguments
      '(#:phases
@@ -140,13 +140,13 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
 (define-public python-django-3.2
   (package
     (inherit python-django-4.0)
-    (version "3.2.12")
+    (version "3.2.13")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "Django" version))
               (sha256
                (base32
-                "1qj1kvb6mk2f4b33n4n5l4rh5kqllrk2v0v076crxr83ay9ycwlp"))))
+                "1dn4irl4m21skcqb2mbj55vgryqfqk6wqa8s1c7bmxlv19x4k4vd"))))
     (native-search-paths '())           ;no need for TZDIR
     (propagated-inputs
      (modify-inputs (package-propagated-inputs python-django-4.0)
@@ -156,13 +156,13 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
 (define-public python-django-2.2
   (package
     (inherit python-django-3.2)
-    (version "2.2.27")
+    (version "2.2.28")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "Django" version))
               (sha256
                (base32
-                "04y9knxd8v9jn54ws5rbdwxyq5im69kx009s7gl62axzn1371qqy"))))
+                "04vl7aivsshzsnn547lm4jdinr67afhdspc40f0c06xzmxbvc002"))))
     (native-inputs
      (modify-inputs (package-native-inputs python-django-3.2)
        (prepend ;; 2.2 requires Selenium for the test suite.
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index afea1aaf86..dacada7897 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -309,6 +309,7 @@ prompt the user with the option to go with insecure DNS only.")
        (modify-phases %standard-phases (delete 'configure))
        #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
                           (string-append "CC=" ,(cc-for-target))
+                          (string-append "PKG_CONFIG=" ,(pkg-config-for-target))
                           "COPTS=\"-DHAVE_DBUS\"")
        #:tests? #f))                    ; no ‘check’ target
     (home-page "http://www.thekelleys.org.uk/dnsmasq/doc.html")
diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index 3f52f4f8db..07731886ae 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -122,7 +122,7 @@ client.")
            python-docopt
            python-dotenv
            python-jsonschema
-           python-pyyaml
+           python-pyyaml-5
            python-requests
            python-six
            python-texttable
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 7c3e59117a..213c8f717b 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -37,6 +37,7 @@
   #:use-module (gnu packages databases)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fonts)
+  #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages game-development)
   #:use-module (gnu packages gettext)
@@ -48,8 +49,10 @@
   #:use-module (gnu packages javascript)
   #:use-module (gnu packages kde)
   #:use-module (gnu packages kde-frameworks) ; extra-cmake-modules
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -62,8 +65,10 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
+  #:use-module (gnu packages xiph)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages xml)
+  #:use-module (guix gexp)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -147,7 +152,7 @@ of categories with some of the activities available in that category.
      (origin
        (method url-fetch)
        (uri (string-append
-             "https://download.kde.org/stable/gcompris/qt/src/gcompris-qt-"
+             "mirror://kde/stable/gcompris/qt/src/gcompris-qt-"
              version ".tar.xz"))
        (sha256
         (base32 "0qncknaaf168anh4cjp7dqz6qzgx948kvgr32j2vga8mjakqn1aj"))))
@@ -543,6 +548,137 @@ letters of the alphabet, spelling, eye-hand coordination, etc.")
     (home-page "http://www.schoolsplay.org")
     (license license:gpl3+)))
 
+(define-public openboard
+  ;; The last release builds from qtwebkit, which is planned for removal in
+  ;; Guix, so use the latest commit of the 1.7-dev branch, which builds with
+  ;; qtwebengine.
+  (let ((commit "39e914f600d26565706f0e5b6ea2482b8b4038c7") ;1.6.2-rc0311
+        (revision "1"))
+    (package
+      (name "openboard")
+      (version (git-version "1.6.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/OpenBoard-org/OpenBoard")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1763l5dywirzidzc93726dggf9819p47hh6a7p7dwzd1bfq1wb2q"))))
+      (build-system qt-build-system)
+      (arguments
+       (list
+        #:tests? #f                     ;no tests
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'set-initial-values
+              ;; Remove useless "Check for updates" action from menu.
+              ;; Also prevent pop-up window about importing Open Sankore
+              ;; documents since we don't package OpenBoard-Importer.
+              (lambda _
+                (substitute* "src/core/UBSettings.cpp"
+                  (("(appHideCheckForSoftwareUpdate = .*?)false(\\);)" _ beg end)
+                   (string-append beg "true" end))
+                  (("(appLookForOpenSankoreInstall = .*?)true(\\);)" _ beg end)
+                   (string-append beg "false" end)))))
+            (add-after 'unpack 'fix-build-error
+              ;; XXX: `errorOpeningVirtualKeyboard' variable is only
+              ;; defined when building for OSX.  Yet,
+              ;; "UBBoardController.cpp" relies on it unconditionally,
+              ;; resulting in a build failure.  Here, we get rid of
+              ;; that variable, assuming it is always false (its
+              ;; default value when building for OSX).
+              (lambda _
+                (substitute* "src/board/UBBoardController.cpp"
+                  (("if \\(!UBPlatformUtils::errorOpeningVirtualKeyboard\\)")
+                   ""))))
+            (add-after 'unpack 'fix-hard-coded-env
+              (lambda* (#:key inputs #:allow-other-keys)
+                (substitute* "src/frameworks/UBPlatformUtils_linux.cpp"
+                  (("/usr/bin/env") (search-input-file inputs "/bin/env")))))
+            (add-after 'unpack 'fix-library-path
+              (lambda* (#:key inputs #:allow-other-keys)
+                (substitute* "OpenBoard.pro"
+                  (("/usr/include/quazip")
+                   (search-input-directory inputs "/include/quazip5"))
+                  (("/usr/include/poppler")
+                   (search-input-directory inputs "/include/poppler")))))
+            (replace 'configure
+              (lambda _
+                (invoke "qmake" "OpenBoard.pro")))
+            (replace 'install
+              (lambda* (#:key inputs #:allow-other-keys)
+                (let* ((share (string-append #$output "/share"))
+                       (openboard (string-append share "/openboard"))
+                       (i18n (string-append openboard "/i18n")))
+                  ;; Install data.
+                  (with-directory-excursion "resources"
+                    (for-each (lambda (directory)
+                                (let ((target
+                                       (string-append openboard "/" directory)))
+                                  (mkdir-p target)
+                                  (copy-recursively directory target)))
+                              '("customizations" "etc" "library"))
+                    (mkdir-p i18n)
+                    (for-each (lambda (f)
+                                (install-file f i18n))
+                              (find-files "i18n" "\\.qm$")))
+                  ;; Install desktop file an icon.
+                  (install-file "resources/images/OpenBoard.png"
+                                (string-append share
+                                               "/icons/hicolor/64x64/apps/"))
+                  (make-desktop-entry-file
+                   (string-append share "/applications/" #$name ".desktop")
+                   #:name "OpenBoard"
+                   #:comment "Interactive whiteboard application"
+                   #:exec "openboard %f"
+                   #:icon "OpenBoard"
+                   #:mime-type "application/ubz"
+                   #:categories '("Education"))
+                  ;; Install executable.
+                  (install-file "build/linux/release/product/OpenBoard" openboard)
+                  (let ((bin (string-append #$output "/bin")))
+                    (mkdir-p bin)
+                    (symlink (string-append openboard "/OpenBoard")
+                             (string-append bin "/openboard")))))))))
+      (native-inputs
+       (list qttools))
+      (inputs
+       (list alsa-lib
+             coreutils-minimal          ;for patched 'env' shebang
+             ffmpeg
+             freetype
+             lame
+             libass
+             libfdk
+             libressl
+             libtheora
+             libva
+             libvorbis
+             libvpx
+             libx264
+             opus
+             poppler
+             qtbase-5
+             qtdeclarative
+             qtmultimedia
+             qtsvg
+             qtwebchannel
+             qtwebengine
+             qtxmlpatterns
+             quazip-0
+             sdl
+             zlib))
+      (home-page "https://openboard.ch/")
+      (synopsis "Interactive whiteboard for schools and universities")
+      (description
+       "OpenBoard is a teaching software for interactive whiteboard
+designed primarily for use in schools and universities.  It can be
+used both with interactive whiteboards or in a dual-screen setup with
+a pen-tablet display and a beamer.")
+      (license license:gpl3))))
+
 (define-public omnitux
   (package
     (name "omnitux")
diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index ab72c36563..6e303f3fdc 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -257,8 +257,7 @@ supported devices, as well as input/output file format support.")
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/OpenBoardView/OpenBoardView")
-                    (commit version)
-                    (recursive? #t)))   ;for the "src/imgui" submodule
+                    (commit version)))
               (file-name (git-file-name name version))
               (modules '((ice-9 ftw)
                          (srfi srfi-26)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 42fc13f4c2..db1663c677 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -18,8 +18,8 @@
 ;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
-;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
-;;; Copyright © 2017, 2018, 2019, 2020, 2021 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2017, 2018, 2019, 2020, 2022 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2017, 2018, 2019, 2020, 2021, 2022 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
 ;;; Copyright © 2017, 2018 Kyle Meyer <kyle@kyleam.com>
 ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
@@ -31,7 +31,7 @@
 ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
 ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
-;;; Copyright © 2017, 2018, 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2017, 2018, 2019, 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com>
 ;;; Copyright © 2018, 2019 Mathieu Lirzin <mthl@gnu.org>
 ;;; Copyright © 2018, 2019, 2020, 2021 Pierre Neidhardt <mail@ambrevar.xyz>
@@ -74,7 +74,7 @@
 ;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2020 Ryan Desfosses <rdes@protonmail.com>
 ;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
-;;; Copyright © 2020 Fredrik Salomonsson <plattfot@gmail.com>
+;;; Copyright © 2020, 2022 Fredrik Salomonsson <plattfot@posteo.net>
 ;;; Copyright © 2020 Eric Bavier <bavier@posteo.net>
 ;;; Copyright © 2020, 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
 ;;; Copyright © 2020 Peng Mei Yu <i@pengmeiyu.com>
@@ -86,7 +86,7 @@
 ;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com>
 ;;; Copyright © 2020 Noah Landis <noahlandis@posteo.net>
 ;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
-;;; Copyright © 2020 André A. Gomes <andremegafone@gmail.com>
+;;; Copyright © 2020, 2022 André A. Gomes <andremegafone@gmail.com>
 ;;; Copyright © 2020 Jonathan Rostran <rostranjj@gmail.com>
 ;;; Copyright © 2020, 2021 Noah Evans <noah@nevans.me>
 ;;; Copyright © 2020 Brit Butler <brit@kingcons.io>
@@ -108,6 +108,7 @@
 ;;; Copyright © 2021, 2022 Taiju HIGASHI <higashi@taiju.info>
 ;;; Copyright © 2022 Brandon Lucas <br@ndon.dk>
 ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
+;;; Copyright © 2022 jgart <jgart@dismail.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -157,6 +158,7 @@
   #:use-module (gnu packages emacs)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages games)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages gtk)
@@ -271,7 +273,7 @@
     (native-inputs
      (list texinfo))
     (propagated-inputs
-     (list emacs-transient))
+     (list emacs-project emacs-transient))
     (home-page "https://nongnu.org/geiser/")
     (synopsis "Collection of Emacs modes for Scheme hacking")
     (description
@@ -3055,7 +3057,7 @@ of bibliographic references.")
 (define-public emacs-corfu
   (package
     (name "emacs-corfu")
-    (version "0.20")
+    (version "0.22")
     (source
      (origin
        (method git-fetch)
@@ -3064,8 +3066,19 @@ of bibliographic references.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "14hz2frz55smzhamynkahys2m4qbm9pha9w9v2rwaffw89jg6ia9"))))
+        (base32 "062lxyqh7nfaixmgfgmqfbkainxc8ypdkj6qjq38xigk55s7c5wk"))))
     (build-system emacs-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         ;; Move the extensions source files to the top level, which is included in
+         ;; the EMACSLOADPATH.
+         (add-after 'unpack 'move-source-files
+           (lambda _
+             (let ((el-files (find-files "./extensions" ".*\\.el$")))
+               (for-each (lambda (f)
+                           (rename-file f (basename f)))
+                         el-files)))))))
     (home-page "https://github.com/minad/corfu")
     (synopsis "Completion overlay region function")
     (description "Corfu enhances the default completion in region function
@@ -4829,38 +4842,40 @@ result.")
     (license license:gpl2+)))
 
 (define-public emacs-rg
-  (package
-    (name "emacs-rg")
-    (version "2.2.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/dajva/rg.el")
-             (commit version)))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "0a16g9phyy6c6vn5zfkpcpi90ixbx1ivp4wapwg189v77k2810by"))))
-    (build-system emacs-build-system)
-    (arguments
-     '(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'remove-rg-path
-           ;; Remove the path to ripgrep so that it works on remote systems.
-           (lambda _
-             (let ((file "rg.el"))
-               (chmod file #o644)
-               (emacs-substitute-sexps file
-                 ("(defcustom rg-executable" "rg"))))))))
-    (propagated-inputs
-     (list emacs-s emacs-transient emacs-wgrep ripgrep))
-    (home-page "https://rgel.readthedocs.io/en/latest/")
-    (synopsis "Search tool based on @code{ripgrep}")
-    (description
-     "@code{rg} is an Emacs search package based on the @code{ripgrep} command
+  (let ((commit "444a8ccfea0b38452a0bc4c390a8ee01cfe30017")
+        (revision "0"))
+    (package
+      (name "emacs-rg")
+      (version (git-version "2.2.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/dajva/rg.el")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1nxzplpk5cf6hhr2v85bmg68i6am96shi2zq7m83fs96bilhwsp5"))))
+      (build-system emacs-build-system)
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'remove-rg-path
+             ;; Remove the path to ripgrep so that it works on remote systems.
+             (lambda _
+               (let ((file "rg.el"))
+                 (chmod file #o644)
+                 (emacs-substitute-sexps file
+                   ("(defcustom rg-executable" "rg"))))))))
+      (propagated-inputs
+       (list emacs-s emacs-transient emacs-wgrep ripgrep))
+      (home-page "https://rgel.readthedocs.io/en/latest/")
+      (synopsis "Search tool based on @code{ripgrep}")
+      (description
+       "@code{rg} is an Emacs search package based on the @code{ripgrep} command
 line tool.  It allows one to interactively search based on the editing context
 then refine or modify the search results.")
-    (license license:gpl3+)))
+      (license license:gpl3+))))
 
 (define-public emacs-inf-ruby
   (package
@@ -8269,8 +8284,8 @@ package provides a light and a dark variant.")
     (license license:gpl3+)))
 
 (define-public emacs-poet-theme
-  (let ((commit "d84f7b259cc9b6ff8d442cf4c38bd6c7065ff8f4")
-        (revision "0"))
+  (let ((commit "16eb694f0755c04c4db98614d0eca1199fddad70")
+        (revision "1"))
     (package
       (name "emacs-poet-theme")
       (version (git-version "0" revision commit))
@@ -8283,7 +8298,7 @@ package provides a light and a dark variant.")
          (file-name (git-file-name name version))
          (sha256
           (base32
-           "0a84jdaj619mb59a46dmkk2sfs42rylqk9ryl1drgs8d3lia79mz"))))
+           "0zm8jbviddyj7jnyssh77jx43jghbpjwr77n9s3cjp3bmadwkrv5"))))
       (build-system emacs-build-system)
       (home-page "https://github.com/kunalb/poet/")
       (synopsis "Emacs theme for prose")
@@ -8453,7 +8468,8 @@ board and goal value can be customized.")
           (add-after 'install 'install-pieces
             (lambda _
               (let ((pieces
-                     (string-append #$output "/share/emacs/site-lisp/pieces")))
+                     (string-append #$output "/share/emacs/site-lisp/chess-"
+                                    #$version "/pieces")))
                 (mkdir-p pieces)
                 (copy-recursively "pieces" pieces)))))))
     (home-page "https://elpa.gnu.org/packages/chess.html")
@@ -8676,7 +8692,7 @@ style, or as multiple word prefixes.")
 (define-public emacs-consult
   (package
     (name "emacs-consult")
-    (version "0.16")
+    (version "0.17")
     (source
      (origin
        (method git-fetch)
@@ -8684,7 +8700,7 @@ style, or as multiple word prefixes.")
              (url "https://github.com/minad/consult")
              (commit version)))
        (sha256
-        (base32 "1mravx5aapy8bcgk6nvi1jvb5jgl7jsn7pd7br7v7fqadcp225m6"))
+        (base32 "08l3h7b5j1q9nwcq660667b245qspl20ikhfdvd9k3g3n2p6p5kz"))
        (file-name (git-file-name name version))))
     (build-system emacs-build-system)
     (home-page "https://github.com/minad/consult")
@@ -10847,10 +10863,12 @@ indentation guides in Emacs:
       (license license:gpl2+))))
 
 (define-public emacs-elpy
-  ;; Use the latest commit, as it contains unreleased fixes for Python 3.9 and
-  ;; Jedi 0.18.
-  (let ((commit "8d0de310d41ebf06b22321a8534546447456870c")
-        (revision "0"))
+  ;; Using the latest commit fixes outstanding bugs such as the following:
+  ;; https://github.com/jorgenschaefer/elpy/issues/1824
+  ;; https://github.com/jorgenschaefer/elpy/pull/1951
+  ;; https://github.com/jorgenschaefer/elpy/issues/1940.
+  (let ((commit "1746e7009000b7635c0ea6f1559018143aa61642")
+        (revision "1"))
     (package
       (name "emacs-elpy")
       (version (git-version "1.35.0" revision commit))
@@ -10862,7 +10880,7 @@ indentation guides in Emacs:
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "0hg6yk0wkfh2rwcc4h0bb6m2p3dg62ja22mjpa94khq52lv1piwf"))))
+                  "120xzzaa8jxls3lri6d53zq6gafnkc6d9mlg09an334kkmh8k2fc"))))
       (build-system emacs-build-system)
       (arguments
        `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
@@ -11605,12 +11623,13 @@ CIDER).")
 
 (define-public emacs-sly
   ;; Update together with sbcl-slynk.
-  (let ((commit "0470c0281498b9de072fcbf3718fc66720eeb3d0"))
+  (let ((commit "4513c382f07a2a2cedb3c046231b69eae2f5e6f0")
+        (revision "6"))
     ;; Versions are not always tagged.  Besides, latest master contains
     ;; important fixes.
     (package
       (name "emacs-sly")
-      (version (git-version "1.0.43" "5" commit))
+      (version (git-version "1.0.43" revision commit))
       (source
        (origin
          (method git-fetch)
@@ -11620,7 +11639,7 @@ CIDER).")
          (file-name (git-file-name name version))
          (sha256
           (base32
-           "1ws2a9azmdkkg47xnd4jggna45nf0bh54gyp0799b44c4bgjp029"))))
+           "10bzxhi5d7h18hqclxqy2z857d0sfbsnyxvrhmfkdi0h75zz7m4n"))))
       (build-system emacs-build-system)
       (native-inputs
        (list texinfo))
@@ -13296,32 +13315,34 @@ automatically using existing List-ID headers in your mu database.  Just press
 automatically discovered and presented in recency order.")
       (license license:gpl3+))))
 
-(define-public emacs-mu4e-patch
-  (let ((commit "522da46c1653b1cacc79cde91d6534da7ae9517d")
-        (revision "1"))
+(define-public emacs-message-view-patch
+  (let ((commit "40bc2e554fc1d0b6f0c403192c0a3ceaa019a78d")
+        (revision "2"))
     (package
-      (name "emacs-mu4e-patch")
-      (version (git-version "0.1.0" revision commit))
+      (name "emacs-message-view-patch")
+      (version (git-version "0.2.0" revision commit))
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                      (url "https://github.com/seanfarley/mu4e-patch")
+                      (url "https://github.com/seanfarley/message-view-patch")
                       (commit commit)))
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "10lzf3b70pk6rzdrgx0ww0gc94v0ydh9zj1gbsa20xw27ds7hmfn"))))
+                  "0cmkiggrl42sjx31dwnzac32bs3q2ksmamkq1pjjl8fwshp4g8sv"))))
       (build-system emacs-build-system)
-      (propagated-inputs
-       (list mu))
-      (home-page "https://github.com/seanfarley/mu4e-patch")
-      (synopsis "Colorize patch-like emails in mu4e")
+      (inputs (list emacs-magit))
+      (home-page "https://github.com/seanfarley/message-view-patch")
+      (synopsis "Colorize patch-like emails in mu4e or gnus")
       (description
-        "Extension for mu4e to colorize patch-like emails with diff-mode.
+       "Extension for mu4e or gnus to colorize patch-like emails with diff-mode.
 This is based on Frank Terbeck's @code{gnus-article-treat-patch.el} but has
-been adapted to work with mu4e.")
+been adapted to also work with mu4e.")
       (license license:gpl3+))))
 
+(define-public emacs-mu4e-patch
+  (deprecated-package "emacs-mu4e-patch" emacs-message-view-patch))
+
 (define-public emacs-pretty-mode
   (package
     (name "emacs-pretty-mode")
@@ -14752,20 +14773,23 @@ on mouse-control.")
          "138gzdyi8scqimvs49da66j8f5a43bhgpasn1bxzdj2zffwlwp6g"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:phases (modify-phases %standard-phases
-                  (add-after 'unpack 'configure-default-gnugo-xpms-variable
-                    (lambda _
-                      (substitute* "gnugo.el"
-                        (("defvar gnugo-xpms nil")
-                         "defvar gnugo-xpms #'gnugo-imgen-create-xpms"))
-                      #t)))))
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'configure
+           (lambda* (#:key inputs #:allow-other-keys)
+             (emacs-substitute-variables "gnugo.el"
+               ("gnugo-xpms" "#'gnugo-imgen-create-xpms" (as-display))
+               ("gnugo-program" (search-input-file inputs "/bin/gnugo"))))))))
+    (inputs (list gnugo))
     (propagated-inputs
      (list emacs-ascii-art-to-unicode emacs-xpm))
     (home-page "https://elpa.gnu.org/packages/gnugo.html")
     (synopsis "Emacs major mode for playing GNU Go")
-    (description "This package provides an Emacs based interface for GNU Go.
-It has a graphical mode where the board and stones are drawn using XPM images
-and supports the use of a mouse.")
+    (description "This package provides an Emacs based interface for GNU Go,
+which can be started via @samp{M-x gnugo}.  It has a graphical mode where the
+board and stones are drawn using XPM images and supports the use of a mouse.
+You can switch to the graphical mode by running @samp{M-x
+gnugo-image-display-mode}.")
     (license license:gpl3+)))
 
 (define-public emacs-gnuplot
@@ -16809,7 +16833,7 @@ from @code{groovy-mode} for editing Jenkins declarative pipeline files.")
 (define-public emacs-scratch-el
   (package
     (name "emacs-scratch-el")
-    (version "1.3")
+    (version "1.4")
     (source
      (origin
        (method git-fetch)
@@ -16818,7 +16842,7 @@ from @code{groovy-mode} for editing Jenkins declarative pipeline files.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0yiwq2gc4gdgfhaagpawhb7yrzc4fsnyb10w5d0q4whv64cj8555"))))
+        (base32 "174d8ancnkgb7q62196kd6nrfib6rnwxw4visgbk1c6yd1w8kray"))))
     (build-system emacs-build-system)
     (native-inputs
      (list texinfo))
@@ -19593,7 +19617,7 @@ powerful Org contents.")
 (define-public emacs-org-re-reveal
   (package
     (name "emacs-org-re-reveal")
-    (version "3.12.5")
+    (version "3.13.0")
     (source
      (origin
        (method git-fetch)
@@ -19602,7 +19626,7 @@ powerful Org contents.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1njib0ah1913lk3ma18y8m5k8jqki17i9298cc03k7vvfw3l19wz"))))
+        (base32 "02y6qm4va43c25i7b0q3pvk888war64rrb2p9bmv5p8176dy1mjw"))))
     (build-system emacs-build-system)
     (propagated-inputs
      (list emacs-htmlize emacs-org))
@@ -22088,6 +22112,29 @@ Pandoc, the document-conversion tool.")
 and @code{C++} files through the @code{ccls} language server.")
       (license license:expat))))
 
+(define-public emacs-cpreproc
+  (package
+   (name "emacs-cpreproc")
+   (version "1.0.0")
+   (source
+    (origin
+     (method git-fetch)
+     (uri (git-reference
+           (url "https://git.sr.ht/~plattfot/cpreproc")
+           (commit version)))
+     (sha256
+      (base32
+       "0n4lhj9bbnkbzvifrj9q6z3j7z6jqzkaa36y239cfxdcc7i86c1c"))
+     (file-name (git-file-name name version))))
+   (build-system emacs-build-system)
+   (home-page "https://sr.ht/~plattfot/cpreproc")
+   (synopsis "Wrap C/C++ code in preprocessor macros")
+   (description
+    "Aim for this project is to make it easier to generate preprocessor macros
+from Emacs for C/C++ code that needs to be build against multiple incompatible
+versions of third party libraries or @code{C++} standards.")
+   (license license:gpl3+)))
+
 (define-public emacs-org-brain
   (package
     (name "emacs-org-brain")
@@ -25920,7 +25967,7 @@ all of your projects, then override or add variables on a per-project basis.")
 (define-public emacs-el-patch
   (package
     (name "emacs-el-patch")
-    (version "2.4")
+    (version "3.0")
     (source
      (origin
        (method git-fetch)
@@ -25929,14 +25976,8 @@ all of your projects, then override or add variables on a per-project basis.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0vankik1dh2yd554h59s5vlzanwx8sx9j31kr15830m3hfgikygz"))))
+        (base32 "0qkx7f19kl85n56bp3q40200a6ynpkhimcnb3k6x4n6idn6ff2pa"))))
     (build-system emacs-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         ;; XXX: The `validate-compiled-autoloads' phase fails with "Symbol’s
-         ;; value as variable is void: el-patch-deftype".
-         (delete 'validate-compiled-autoloads))))
     (home-page "https://github.com/raxod502/el-patch")
     (synopsis "Future-proof your Emacs customizations")
     (description "This package allows for an alternate definition of an Elisp
@@ -26663,7 +26704,7 @@ it forcibly
 (define-public emacs-elpher
   (package
     (name "emacs-elpher")
-    (version "3.3.2")
+    (version "3.3.3")
     (source
      (origin
        (method git-fetch)
@@ -26672,7 +26713,7 @@ it forcibly
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1p43x7mf14q84armxhp294xaclq5c6mpggq619ravia0kdrqij1w"))))
+        (base32 "166fjq9d883hifa35zklyjrm4c575nd6zxdx7akbwibrgwi65bl0"))))
     (build-system emacs-build-system)
     (arguments
      (list
@@ -29314,7 +29355,7 @@ snippets for Emacs.")
 (define-public emacs-org-roam
   (package
     (name "emacs-org-roam")
-    (version "2.2.1")
+    (version "2.2.2")
     (source
      (origin
        (method git-fetch)
@@ -29323,7 +29364,7 @@ snippets for Emacs.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0c5vxz423lz386dxa9nqyf396jmyb36q79paxf27is1dhq1vwd5w"))))
+        (base32 "09wcqdqy2gcsyd1mbcm90b70y3qj921m4ky8l3avhzpdwgyw8wy5"))))
     (build-system emacs-build-system)
     (arguments
      (list
@@ -30368,7 +30409,7 @@ and preferred services can easily be configured.")
 (define-public emacs-vertico
   (package
     (name "emacs-vertico")
-    (version "0.21")
+    (version "0.23")
     (source
      (origin
        (method git-fetch)
@@ -30377,7 +30418,7 @@ and preferred services can easily be configured.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1gfn95f7rdfwxks3wsr8r9pq8p3nhr5pbaawfwnwgcgb4g27scgs"))))
+        (base32 "1lyvnpqplwdawlplriz0rphsjsaqdcbc3nwzpd7bs9qghpsfb56z"))))
     (build-system emacs-build-system)
     (arguments
      `(#:phases
@@ -30804,6 +30845,28 @@ audio volume via amixer.")
  Fennel code within Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-org-modern
+  (package
+   (name "emacs-org-modern")
+   (version "0.3")
+   (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/minad/org-modern")
+             (commit version)))
+       (sha256
+        (base32 "187fxw2rg0kw1d2binpa32ckp67r4v10j6ypr077g9qn6nkmyvvn"))
+       (file-name (git-file-name name version))))
+   (build-system emacs-build-system)
+   (home-page "https://github.com/minad/org-modern")
+   (synopsis "Modern Org Style")
+   (description
+"@code{emacs-org-modern} implements a modern style for your Org
+buffers using font locking and text properties.  The package styles
+headlines, keywords, tables and source blocks.")
+   (license license:gpl3+)))
+
 (define-public emacs-osm
   (package
     (name "emacs-osm")
@@ -30833,3 +30896,26 @@ audio volume via amixer.")
 zoomable and moveable map display, display of tracks and POIs from GPX files,
 parallel fetching of tiles with cURL, and more.")
     (license license:gpl3+)))
+
+(define-public emacs-bitbake-modes
+  (package
+   (name "emacs-bitbake-modes")
+   (version "0.5.3")
+   (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://bitbucket.org/olanilsson/bitbake-modes")
+             (commit (string-append "v" version))))
+       (sha256
+        (base32 "1580cfpfmsjwiq6v2vsqjwhzj9m4lrhhf3nffmbzp36r6q5n8611"))
+       (file-name (git-file-name name version))))
+   (build-system emacs-build-system)
+   (propagated-inputs (list emacs-mmm-mode))
+   (home-page "https://bitbucket.org/olanilsson/bitbake-modes")
+   (synopsis "Emacs major modes for bitbake")
+   (description
+"@code{emacs-bitbake-modes} is a collection of major modes and tools that can
+be useful when working with the bitbake files in Yocto and OpenEmbedded
+projects.")
+   (license license:gpl3+)))
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index d2f360cee9..323909ac12 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -1358,7 +1358,7 @@ towards a working Mupen64Plus for casual users.")
      (list autoconf autoconf-archive automake pkg-config))
     (inputs
      `(("fltk" ,fltk)
-       ("fontconfig", fontconfig)
+       ("fontconfig" ,fontconfig)
        ("libarchive" ,libarchive)
        ("libepoxy" ,libepoxy)
        ("libxft" ,libxft)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index c73cf937ef..1c945eb07b 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -29,6 +29,8 @@
 ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
 ;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com>
 ;;; Copyright © 2022 Olivier Dion <olivier.dion@polymtl.ca>
+;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
+;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -74,6 +76,7 @@
   #:use-module (gnu packages cmake)
   #:use-module (gnu packages commencement)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages dejagnu)
   #:use-module (gnu packages digest)
@@ -116,14 +119,19 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pretty-print)
+  #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-check)
   #:use-module (gnu packages python-crypto)
+  #:use-module (gnu packages python-science)
+  #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages stb)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages tbb)
   #:use-module (gnu packages tcl)
@@ -931,7 +939,7 @@ Emacs).")
 (define-public kicad
   (package
     (name "kicad")
-    (version "6.0.1")
+    (version "6.0.4")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -939,7 +947,7 @@ Emacs).")
                     (commit version)))
               (sha256
                (base32
-                "1vpcbhhw8844hm6vpk3kk405wak531pvcvcpc66z0b48iprk3imr"))
+                "0lki59ws0ncqkp9wxrhyni1ck2sx5z07mmpkjg0d9jpkync9hx9y"))
               (file-name (git-file-name name version))))
     (build-system cmake-build-system)
     (arguments
@@ -1046,7 +1054,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0zaafa9ckvdgsim6nhp3flj4r2fzzmwn054lc3iijwgga82qy7il"))))
+                "0p3ypfs11ck2w7dmqiy763krpj0slan4jvpzxs6z1473gdpbzgbs"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags (list "-DBUILD_FORMATS=html")
@@ -1080,7 +1088,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1azjx1bmxaz8bniyw75lq60mc8hvay00jn9qdc2zp7isy3c9ibp0"))))
+                "12lyc187337bf2frl3jvwqdwwnd69f7l414k3kxhccs3sa2mcf1y"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f))                    ; no tests exist
@@ -1109,7 +1117,7 @@ libraries.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0mv9xs0mmmfn0yhzx1v55r5app13ckagb16249rabyiz3v5crdpb"))))
+                "0px2g9jansky0rvc0bdjylbmv8xwhc0q63g88hd2nzbknqli9f1y"))))
     (synopsis "Official KiCad footprint libraries")
     (description "This package contains the official KiCad footprint libraries.")))
 
@@ -1126,7 +1134,7 @@ libraries.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0vwcbzq42hzjl4f0zjaswmiff1x59hv64g5n00mx1gl0gwngnyla"))))
+                "0ms9py93qyihxrhh9wm2ziycmdn88m36r8adx22ynjnxixw1f9ja"))))
     (synopsis "Official KiCad 3D model libraries")
     (description "This package contains the official KiCad 3D model libraries.")))
 
@@ -1148,6 +1156,34 @@ libraries.")
     (description "This package contains the official KiCad project and
 worksheet templates.")))
 
+(define-public librseq
+  ;; There's no release.
+  (let ((commit "170f840b498e1aff068b90188727a656111bfc2f")
+        (revision "1"))
+    (package
+      (name "librseq")
+      (version (git-version "0.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/compudj/librseq.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0rdx59y8y9x8cfmmx5gl66gibkzpk3kw5lrrqhrxan8zr37a055y"))))
+      (build-system gnu-build-system)
+      (native-inputs (list autoconf automake libtool))
+      (home-page "https://github.com/compudj/librseq")
+      (synopsis "Userspace library for restartable sequences")
+      (description "A restartable sequence is a critical region delimited by a
+program where if its execution is preempted or interrupted, the kernel will
+divert the program control flow to a defined abort handler.  They are a good
+alternative to atomic operations for critical fast paths and are usually used
+in the context of per-cpu data.  The library offers ABI headers to interface
+with the kernel and various utilities such as per-cpu counters.")
+      (license (list license:lgpl2.1 license:expat)))))
+
 (define-public linsmith
   (package
     (name "linsmith")
@@ -3148,7 +3184,7 @@ visualization, matrix manipulation.")
 (define-public prusa-slicer
   (package
     (name "prusa-slicer")
-    (version "2.4.0")
+    (version "2.4.1")
     (source
      (origin
        (method git-fetch)
@@ -3157,7 +3193,7 @@ visualization, matrix manipulation.")
          (url "https://github.com/prusa3d/PrusaSlicer")
          (commit (string-append "version_" version))))
        (file-name (git-file-name name version))
-       (sha256 (base32 "1mb7v0khrmsgy3inmh4mjn709jlhx422kvbnrhsqziph2wwak9bz"))
+       (sha256 (base32 "0q1m8fcz39s03r9csq411ss8vbbpjx45icj8vgkysy8hqgqz3gz0"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -3245,3 +3281,381 @@ connector pinouts.  It takes plain text, YAML-formatted files as input and
 produces beautiful graphical output thanks to GraphViz.  It handles automatic
 BOM creation and has a lot of extra features.")
     (license license:gpl3)))
+
+(define-public libarcus
+  (package
+    (name "libarcus")
+    (version "4.13.0") ; Should same version as Cura package.
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Ultimaker/libArcus")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "19fi0y0lk45cyampczgh3kz2swai4zcgzkffp0xf5h55rxxrdpvk"))))
+    (build-system cmake-build-system)
+    (inputs
+     (list protobuf
+           python
+           python-sip-4))
+    (arguments
+     `(#:tests? #f
+       #:configure-flags '("-DBUILD_EXAMPLES=OFF")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'fix-python-sitearch
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "cmake/FindSIP.cmake"
+               (("\\$\\{_process_output\\} Python3_SITEARCH")
+                (string-append (assoc-ref outputs "out")
+                               "/lib/python"
+                               ,(version-major+minor
+                                 (package-version python))
+                               "/site-packages"
+                               " Python3_SITEARCH"))))))))
+    (home-page "https://github.com/Ultimaker/libArcus")
+    (synopsis "Communication library for Ultimaker software components")
+    (description "This library contains C++ code and Python3 bindings for
+creating a socket in a thread and using this socket to send and receive
+messages based on the Protocol Buffers library.  It is designed to
+facilitate the communication between Cura and its backend and similar code.")
+    (license license:lgpl3+)))
+
+(define-public cura-engine
+  (package
+    (name "cura-engine")
+    (version "4.13.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+               (url "https://github.com/Ultimaker/CuraEngine")
+               (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0xp2r0m5wwfsh9wdb3biqzvfqfz5jsmyw4bww93aksw0rgli07bp"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     (list googletest pkg-config))
+    (inputs
+     (list libarcus protobuf stb-image))
+    (arguments
+     `(#:configure-flags '("-DBUILD_TESTS=ON")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-paths
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "../source/cmake/FindStb.cmake"
+               (("/usr/include")
+                (string-append (assoc-ref inputs "stb-image")
+                               "/include"))
+               (("stb/stb_image_resize.h")
+                "stb_image.h"))
+             (substitute*
+                 "../source/src/infill/ImageBasedDensityProvider.cpp"
+               (("stb/stb_image.h")
+                "stb_image.h")))))))
+    (home-page "https://github.com/Ultimaker/CuraEngine")
+    (synopsis "Cura slicing engine")
+    (description "CuraEngine is a powerful, fast and robust engine for
+processing 3D models into 3D printing instruction for Ultimaker and other
+GCode based 3D printers.  It is part of the larger open source project called
+Cura.")
+    (license license:agpl3+)))
+
+(define-public cura-binary-data
+  (package
+    (name "cura-binary-data")
+    (version "4.13.1")
+    (source
+     (origin
+       (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Ultimaker/cura-binary-data")
+               (commit version)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "11dra399adky7jxpaqqk1swrg5y3cc1086l54c3injg3ccgrvwik"))
+         (modules '((guix build utils)))
+         (snippet
+          '(begin
+             ;; Remove Windows executables and prebuilt firmware files.
+             (delete-file-recursively "cura/resources/firmware")
+             (delete-file-recursively "windows")))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f ; No test suite.
+       #:configure-flags '("-DENABLE_FIRMWARE_INSTALL=OFF")))
+    (home-page "https://github.com/Ultimaker/cura-binary-data")
+    (synopsis "Binary data for Cura, like compiled translations")
+    (description "This package contains binary data for Cura releases, like
+compiled translations.  Prebuilt Firmware files are removed.")
+    (license license:agpl3)))
+
+(define-public uranium
+  (package
+    (name "uranium")
+    (version "4.13.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+               (url "https://github.com/Ultimaker/Uranium")
+               (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1nyxm3fdyrsisqkxbqld66bljd852wnc1yc6i1lyvncwvzn8ai32"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     (list doxygen
+           gettext-minimal
+           graphviz
+           pkg-config
+           python-pytest
+           python-mypy
+           python-certifi
+           python-twisted))
+    (propagated-inputs
+     (list cura-binary-data
+           libarcus
+           python
+           python-cryptography
+           python-numpy
+           python-pyqt
+           python-scipy
+           python-shapely
+           python-trimesh
+           python-zeroconf
+           qtbase
+           qtdeclarative
+           qtgraphicaleffects
+           qtquickcontrols
+           qtquickcontrols2
+           qtsvg))
+    (arguments
+     `(;; FIXME: tests are disabled, because they cause an infinite loop.
+       #:tests? #f
+       #:configure-flags
+       ,#~(list (string-append "-DGETTEXT_MSGINIT_EXECUTABLE="
+                               #$(this-package-native-input "gettext-minimal")
+                               "/bin/msginit")
+                (string-append "-DCURA_BINARY_DATA_DIRECTORY="
+                               #$(this-package-input "cura-binary-data")))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-uranium-plugin-path
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "UM/Application.py"
+               (("app_root =.*$")
+                (string-append "app_root = \""
+                               (assoc-ref outputs "out") "\"\n"))
+               (("app_root, \"share\", \"uranium\", \"plugins\"")
+                "app_root, \"lib\", \"uranium\", \"plugins\"")))))))
+    (home-page "https://github.com/Ultimaker/Uranium")
+    (synopsis "Python framework for building desktop applications")
+    (description "Uranium is a Python Framework for building 3D printing
+related desktop applications using PyQt5.  It belongs to the Cura project
+from Ultimaker.")
+    (license license:lgpl3+)))
+
+(define-public libnest2d-for-cura
+  ;; Cura uses a custom fork of the libnest2d library.
+  (package
+    (name "libnest2d-for-cura")
+    (version "4.12.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Ultimaker/libnest2d")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1wk7cv8sqnxy7srq61scrr18dz2i0l4s4slmjfh4890iy0wf9i7n"))))
+    (build-system cmake-build-system)
+    (inputs
+     (list boost clipper nlopt))
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'fix-clipper-detection
+           (lambda* (#:key inputs #:allow-other-keys)
+             (setenv "CLIPPER_PATH" (assoc-ref inputs "clipper")))))))
+    (home-page "https://github.com/Ultimaker/libnest2d")
+    (synopsis "2D irregular bin packaging and nesting library")
+    (description
+     "Libnest2D is a library and framework for the 2D bin packaging
+problem.  It was inspired from the SVGNest Javascript library.")
+    (license license:lgpl3)))
+
+(define-public python-pynest2d
+  (package
+    (name "python-pynest2d")
+    (version "4.12.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Ultimaker/pynest2d")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0jhqfylg6vzlbz9rqs981bg6y8s18iklw1p8hmax72xq2c7561s1"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     (list pkg-config))
+    (inputs
+     (list boost
+           clipper
+           libnest2d-for-cura
+           nlopt
+           python
+           python-sip-4))
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'fix-clipper-detection
+           (lambda* (#:key inputs #:allow-other-keys)
+             (setenv "CLIPPER_PATH" (assoc-ref inputs "clipper"))))
+         (add-before 'configure 'fix-python-sitearch
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((path (string-append (assoc-ref outputs "out")
+                                        "/lib/python"
+                                        ,(version-major+minor
+                                          (package-version python))
+                                        "/site-packages")))
+               (substitute* "cmake/FindSIP.cmake"
+                 (("\\$\\{_process_output\\} Python3_SITEARCH")
+                  (string-append path " Python3_SITEARCH"))
+                 (("\\$\\{_process_output\\} Python3_SITELIB")
+                  (string-append path " Python3_SITELIB")))))))))
+    (home-page "https://github.com/Ultimaker/pynest2d")
+    (synopsis "Python bindings for libnest2d")
+    (description
+     "This package contains CPython bindings for libnest2d-for-cura.")
+    (license license:lgpl3+)))
+
+(define-public libcharon
+  (package
+    (name "libcharon")
+    (version "4.13.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+               (url "https://github.com/Ultimaker/libCharon")
+               (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0ibv15y7lfxs09k6rbc3kiaz13gq3v9vqxrk20rqp6bdclk3izff"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     (list python-pytest))
+    (inputs
+     (list python))
+    (home-page "https://github.com/Ultimaker/libCharon")
+    (synopsis "File metadata and streaming library")
+    (description "LibCharon is a Python file metadata and streaming library.  It
+belongs to the Cura project from Ultimaker.")
+    (license license:lgpl3+)))
+
+(define-public libsavitar
+  (package
+    (name "libsavitar")
+    (version "4.13.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Ultimaker/libSavitar")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1cq85x0xizsjwf9nl7v7x4i9vl335mgv2lda3q2c9fcwrndsc3wk"))))
+    (build-system cmake-build-system)
+    (inputs
+     (list python python-sip-4))
+    (arguments
+     `(#:tests? #f ; No test suite.
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'fix-python-sitearch
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((path (string-append (assoc-ref outputs "out")
+                                        "/lib/python"
+                                        ,(version-major+minor
+                                          (package-version python))
+                                        "/site-packages")))
+               (substitute* "cmake/FindSIP.cmake"
+                 (("\\$\\{_process_output\\} Python3_SITEARCH")
+                  (string-append path " Python3_SITEARCH"))
+                 (("\\$\\{_process_output\\} Python3_SITELIB")
+                  (string-append path " Python3_SITELIB")))))))))
+    (home-page "https://github.com/Ultimaker/libSavitar")
+    (synopsis "C++ implementation of 3mf loading with SIP python bindings")
+    (description "LibSavitar is a C++ implementation of 3mf loading with SIP
+python bindings.  It belongs to the Cura project from Ultimaker.")
+    (license license:lgpl3+)))
+
+(define-public cura
+  (package
+    (name "cura")
+    (version "4.13.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Ultimaker/Cura")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0yg17pcrj5gm02aqcjfk40ynvpb9r9aaq9rj108dkpki1is15ks7"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list python-certifi
+           python-mypy
+           python-pytest
+           python-requests))
+    (inputs
+     (list cura-engine
+           libcharon
+           libsavitar
+           python
+           python-keyring
+           python-pynest2d
+           python-pyserial
+           python-sentry-sdk
+           python-sip
+           uranium))
+    (arguments
+     `(;; TODO: Fix tests.
+       #:tests? #f
+       #:configure-flags '("-DURANIUM_SCRIPTS_DIR=")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'link-to-CuraEngine
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (symlink (string-append (assoc-ref inputs "cura-engine")
+                                     "/bin/CuraEngine")
+                      (string-append (assoc-ref outputs "out")
+                                     "/bin/CuraEngine"))))
+         (add-after 'link-to-CuraEngine 'wrap-pythonpath
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (wrap-program (string-append out "/bin/cura")
+                 (list "GUIX_PYTHONPATH"
+                       'prefix (list (string-append out
+                                                    "/lib/python"
+                                                    ,(version-major+minor
+                                                      (package-version python))
+                                                    "/site-packages")
+                                     (getenv "GUIX_PYTHONPATH"))))))))))
+    (home-page "https://github.com/Ultimaker/Cura")
+    (synopsis "Slicer for 3D printers")
+    (description "Cura is a slicing software from Ultimaker.  A @emph{slicer}
+generates G-Code for 3D printers.")
+    (license license:lgpl3+)))
diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm
index 13031d6d3d..ca2d8f6827 100644
--- a/gnu/packages/fcitx5.scm
+++ b/gnu/packages/fcitx5.scm
@@ -205,7 +205,8 @@ editors.")
       #~(list (string-append "-DGOBJECT_INTROSPECTION_GIRDIR="
                              #$output "/share/gir-1.0")
               (string-append "-DGOBJECT_INTROSPECTION_TYPELIBDIR="
-                             #$output "/lib/girepository-1.0"))
+                             #$output "/lib/girepository-1.0")
+              "-DENABLE_GTK4_IM_MODULE=OFF")
       #:phases
       #~(modify-phases %standard-phases
           (add-before 'configure 'patch-install-prefix
@@ -218,11 +219,10 @@ editors.")
                    (string-append output "/lib"))))
 
               (let ((gtk2 #$output:gtk2)
-                    (gtk3 #$output:gtk3)
-                    (gtk4 #$output:gtk4))
+                    (gtk3 #$output:gtk3))
                 (for-each split-immodule
-                          '("gtk2" "gtk3" "gtk4")
-                          (list gtk2 gtk3 gtk4))))))))
+                          '("gtk2" "gtk3")
+                          (list gtk2 gtk3))))))))
     (inputs
      (list fcitx5
            fmt
@@ -232,12 +232,11 @@ editors.")
            gobject-introspection
            gtk+-2
            gtk+
-           gtk
            glib))
     (native-inputs
      (list extra-cmake-modules pkg-config
            `(,glib "bin")))           ;for glib-genmarshal
-    (outputs '("out" "gtk2" "gtk3" "gtk4"))
+    (outputs '("out" "gtk2" "gtk3"))
     (home-page "https://github.com/fcitx/fcitx5-gtk")
     (synopsis "GLib-based D-Bus client and GTK IM module for Fcitx 5")
     (description "Fcitx5-gtk provides the following functionality in the
@@ -250,11 +249,53 @@ GLib-based D-Bus client of Fcitx5.
 IM module for GTK+2 applications.
 @item gtk3
 IM module for GTK+3 applications.
-@item gtk4
-IM module for GTK4 applications.
 @end table")
     (license license:lgpl2.1+)))
 
+;; XXX: This package is separated from fcitx5-gtk for following reasons.
+;; 1. GTK4 has a lot more dependencies, some of which maybe unavailable on
+;;    platforms other than x86_64. See <https://issues.guix.gnu.org/53648>.
+;; 2. GTK4 now propagates pango@1.50, it will conflict with GTK3 and GTK2
+;;    (propagates pango@1.48) if they're all in the inputs of same package.
+;;    See <https://issues.guix.gnu.org/54261>.
+(define-public fcitx5-gtk4
+  (package
+    (inherit fcitx5-gtk)
+    (name "fcitx5-gtk4")
+    (arguments
+     (list
+      #:tests? #f                       ;No test
+      #:configure-flags
+      #~(list (string-append "-DCMAKE_CXX_FLAGS=-I"
+                             #$(this-package-input "fcitx5-gtk")
+                             "/include/Fcitx5/GClient")
+              "-DENABLE_GTK2_IM_MODULE=OFF"
+              "-DENABLE_GTK3_IM_MODULE=OFF")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'configure 'fix-gclient
+            (lambda* (#:key inputs #:allow-other-keys)
+              (define gclient
+                (search-input-file inputs "lib/libFcitx5GClient.so"))
+              ;; Force cmake search libFcitx5GClient.so in library search
+              ;; path instead of compiling again.
+              (substitute* "gtk4/CMakeLists.txt"
+                (("Fcitx5::GClient")
+                 gclient))))
+          (add-before 'build 'enter-gtk4-subdirectory
+            (lambda _
+              (chdir "gtk4")))
+          (add-after 'install 'leave-gtk4-subdirectory
+            (lambda _
+              (chdir ".."))))))
+    (inputs
+     (modify-inputs (package-inputs fcitx5-gtk)
+       (delete "gtk+")
+       (prepend fcitx5-gtk gtk)))
+    (outputs '("out"))
+    (synopsis "GTK4 IM module for Fcitx 5")
+    (description "Fcitx5-gtk4 provides IM module for GTK4 applications.")))
+
 (define-public fcitx5-qt
   (package
     (name "fcitx5-qt")
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index b1f3f4158f..e6ec51fe40 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
 ;;; Copyright © 2021 Noisytoot <noisytoot@disroot.org>
 ;;; Copyright © 2021 Kaelyn Takata <kaelyn.alexi@protonmail.com>
+;;; Copyright © 2022 Brian Cully <bjc@spork.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1145,7 +1146,7 @@ with the included @command{xfstests-check} helper.")
 (define-public zfs
   (package
     (name "zfs")
-    (version "2.1.2")
+    (version "2.1.4")
     (outputs '("out" "module" "src"))
     (source
       (origin
@@ -1154,7 +1155,7 @@ with the included @command{xfstests-check} helper.")
                               "/download/zfs-" version
                               "/zfs-" version ".tar.gz"))
           (sha256
-           (base32 "1rxrr329y6zgkcqv0gah8bgi9ih6pqaay7mnk4xqlrhzgb8z3315"))))
+           (base32 "1xmcy4f0damf1pkb1sy1339ir1jkky0dwzd8vhwgc1pqjgac0liv"))))
     (build-system linux-module-build-system)
     (arguments
      `(;; The ZFS kernel module should not be downloaded since the license
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 9f2d055048..b10aa857eb 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -11,7 +11,7 @@
 ;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com>
 ;;; Copyright © 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2019, 2020, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
 ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
 ;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
 ;;; Copyright © 2019 Sebastian Schott <sschott@mailbox.org>
@@ -19,7 +19,7 @@
 ;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org>
 ;;; Copyright © 2020 Tom Zander <tomz@freedommail.ch>
 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2020 Carlo Holl <carloholl@gmail.com>
 ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2021 ZmnSCPxj jxPCSnmZ <ZmnSCPxj@protonmail.com>
@@ -273,14 +273,14 @@ Accounting.")
 (define-public homebank
   (package
     (name "homebank")
-    (version "5.5.4")
+    (version "5.5.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://homebank.free.fr/public/homebank-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0rapdqv2j61cj2jzfk0fiby3na4k5g5i7shkqbjhld4rl2y6j1hd"))))
+                "0rwykjpv4w7bffyvx2j6py17nxw9jcbml7ma4is194i3npn0bkmy"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      (list pkg-config intltool))
@@ -508,7 +508,7 @@ do so.")
 (define-public electrum
   (package
     (name "electrum")
-    (version "4.1.5")
+    (version "4.2.1")
     (source
      (origin
        (method url-fetch)
@@ -516,7 +516,7 @@ do so.")
                            version "/Electrum-"
                            version ".tar.gz"))
        (sha256
-        (base32 "188r4zji985z8pm9b942xhmvv174yndk6jxagxl7ljk03wl2wiwi"))
+        (base32 "0w41411zq07kx0351wxkmpn0wr42wd2nx0m6v0iwvpsggx654b6r"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -525,22 +525,23 @@ do so.")
            #t))))
     (build-system python-build-system)
     (inputs
-     (list python-pyqt
-           python-qrcode
-           python-protobuf
+     (list libsecp256k1
            python-aiohttp
            python-aiohttp-socks
-           python-aiorpcx-0.18
-           python-certifi
-           python-bitstring
+           python-aiorpcx
            python-attrs
+           python-bitstring
+           python-btchip-python
+           python-certifi
            python-cryptography
-           python-qdarkstyle
            python-dnspython
            python-hidapi
            python-ledgerblue
-           python-btchip-python
-           libsecp256k1))
+           python-protobuf
+           python-pyqt
+           python-qdarkstyle
+           python-qrcode
+           zbar))
     (arguments
      `(#:tests? #f                      ; no tests
        #:phases
@@ -582,7 +583,7 @@ other machines/servers.  Electrum does not download the Bitcoin blockchain.")
 (define-public electron-cash
   (package
     (name "electron-cash")
-    (version "4.2.6")
+    (version "4.2.7")
     (source
      (origin
        (method git-fetch)
@@ -591,7 +592,7 @@ other machines/servers.  Electrum does not download the Bitcoin blockchain.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "193krlnski9wjyfjkxfp4gcs7dgmqkwxgsy2m8x1515vb5bzv5pz"))))
+        (base32 "1qiql2svjyxlgbg4c5b7grgsv8nx2cx33x3x13mvjjngjz3vgilv"))))
     (build-system python-build-system)
     (inputs
      `(("libevent" ,libevent)
@@ -1156,6 +1157,9 @@ the KeepKey Hardware Wallet.")
     (arguments
      `(#:phases
        (modify-phases %standard-phases
+         ;; This package only has a Python script, not a Python module, so the
+         ;; sanity-check phase can't work.
+         (delete 'sanity-check)
          (add-after 'wrap 'fixup-agent-py
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out")))
@@ -1520,7 +1524,7 @@ following three utilities are included with the library:
 (define-public bitcoin-unlimited
   (package
     (name "bitcoin-unlimited")
-    (version "1.9.2.0")
+    (version "1.10.0.0")
     (source
      (origin
        (method git-fetch)
@@ -1529,7 +1533,7 @@ following three utilities are included with the library:
              (commit (string-append "BCHunlimited" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1cmrvh7azz0g89rsx6i8apd1li6r1lb3jrmbbf8fic1918lwv62m"))))
+        (base32 "12yb2rbd6hsns43qyxc5dm7h5k4sph9sb64q7kkbqi3xhgrrsjdq"))))
     (build-system gnu-build-system)
     (native-inputs
      (list autoconf
@@ -1570,30 +1574,17 @@ following three utilities are included with the library:
        (modify-phases %standard-phases
          (add-after 'unpack 'fix-tests
            (lambda _
-             ;; Fix data specific test failure
-             ;; https://reviews.bitcoinabc.org/rABC67bbd3d0aaee2952ff1cb5da51d1fd0b50c2b63a
-             (substitute* "src/test/rpc_tests.cpp"
-               (("1607731200") "9907731200"))
-
              ;; Disable utilprocess_tests because it never ends.
              ;; It looks like it tries to start /bin/sleep and waits until it
              ;; is in the list of running processes, but /bin/sleep doesn't
              ;; exist.
              (substitute* "src/Makefile.test.include"
                (("test/utilprocess_tests.cpp")
-                ""))
-
-             ;; Some transaction validation rules have changed (see upstream
-             ;; commit f208400825d4641b9310a1fba023d56e0862e3b0), which makes
-             ;; a test fail. Disable it for now.
-             ;; TODO: Remove this when the next version is released.
-             (substitute* "src/Makefile.test.include"
-               (("test/txvalidationcache_tests.cpp")
                 ""))))
          (add-before 'check 'set-home
            (lambda _
-             (setenv "HOME" (getenv "TMPDIR")) ; tests write to $HOME
-             #t)))))
+             ;; Tests write to $HOME
+             (setenv "HOME" (getenv "TMPDIR")))))))
     (home-page "https://www.bitcoinunlimited.info/")
     (synopsis "Client for the Bitcoin Cash protocol")
     (description
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 04b868d31b..c8c32fd5a9 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -286,7 +286,7 @@ work with most software requiring Type 1 fonts.")
     (build-system cmake-build-system)
     (outputs '("out" "bin"))
     (arguments
-     `(#:tests? #f                      ; No target
+     `(#:tests? #f                      ;no test suite
        #:configure-flags
        (list
         (string-append "-DCMAKE_INSTALL_BINDIR="
@@ -305,12 +305,11 @@ work with most software requiring Type 1 fonts.")
            (lambda _
              (substitute* "CMakeLists.txt"
                (("NOT BUILD_SHARED_LIBS")
-                "BUILD_SHARED_LIBS"))
-             #t)))))
+                "BUILD_SHARED_LIBS")))))))
     (native-inputs
      (list pkg-config))
-    (inputs
-     (list brotli))
+    (propagated-inputs
+     (list brotli))                     ;libwoff2dec.pc requires libbrotlidec
     (synopsis "Libraries and tools for WOFF2 font format")
     (description "WOFF2 provides libraries and tools to handle the Web Open
 Font Format (WOFF).")
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 3b2938aff0..b8f98ca63e 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2019 Amin Bandali <bandali@gnu.org>
 ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2021 Andrew Miloradovsky <andrew@interpretmath.pw>
+;;; Copyright © 2022 Christian Gelinek <cgelinek@radlogic.com.au>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -111,7 +112,7 @@ formal verification.")
     (arguments
      `(#:make-flags (list (string-append "CC=" ,(cc-for-target)))))
     (native-inputs
-     (list flex bison ghostscript))   ; ps2pdf
+     (list flex bison ghostscript zlib))   ; ps2pdf
     (home-page "http://iverilog.icarus.com/")
     (synopsis "FPGA Verilog simulation and synthesis tool")
     (description "Icarus Verilog is a Verilog simulation and synthesis tool.
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 55bde8e705..f4b63cefe6 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1693,7 +1693,9 @@ wish to perform colour calibration.")
      (list `(,glib "bin")               ; for {glib-,}mkenums
            gobject-introspection
            gtk-doc/stable               ; for 88 KiB of API documentation
-           pkg-config))
+           pkg-config
+           ;; For tests
+           python-minimal))
     (inputs
      (list gusb
            libgudev
diff --git a/gnu/packages/freeipmi.scm b/gnu/packages/freeipmi.scm
index 75019dbdcc..762cfcee78 100644
--- a/gnu/packages/freeipmi.scm
+++ b/gnu/packages/freeipmi.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2015, 2016, 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -38,7 +38,13 @@
                "0w8af1i57szmxl9vfifwwyal7xh8aixz2l9487wvy6yckqk6m92a"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags '("--disable-static")))
+     `(#:configure-flags '("--disable-static"
+                           ,@(if (%current-target-system)
+                               ;; We cannot check for these devices
+                               ;; when cross compiling.
+                               `("ac_cv_file__dev_random=yes"
+                                 "ac_cv_file__dev_urandom=yes")
+                               '()))))
     (inputs
      (list libgcrypt))
     (home-page "https://www.gnu.org/software/freeipmi/")
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 295ee20a90..daeeec42cb 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -2554,8 +2554,7 @@ physics engine is just a system for procedural animation.")
          (add-after 'unpack 'change-to-build-dir
            (lambda _
              (chdir "buildsys/autotools")
-             (patch-shebang "get_version.py")
-             #t)))))
+             (patch-shebang "get_version.py"))))))
     (native-inputs
      (list autoconf
            automake
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 8cc29b3487..83c75e8dcf 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -59,7 +59,7 @@
 ;;; Copyright © 2020 Tomás Ortín Fernández <tomasortin@mailbox.org>
 ;;; Copyright © 2021 Olivier Rojon <o.rojon@posteo.net>
 ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
-;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
+;;; Copyright © 2021, 2022 Greg Hogan <code@greghogan.com>
 ;;; Copyright © 2021 David Pflug <david@pflug.io>
 ;;; Copyright © 2021, 2022 Felix Gruber <felgru@posteo.net>
 ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
@@ -69,6 +69,7 @@
 ;;; Copyright © 2021 Christopher Baines <mail@cbaines.net>
 ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
 ;;; Copyright © 2022 Yovan Naumovski <yovan@gorski.stream>
+;;; Copyright © 2022 Roman Riabenko <roman@riabenko.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2250,6 +2251,38 @@ utilizing the art assets from the @code{SuperTux} project.")
                      license:gpl2+
                      license:gpl3+)))))
 
+(define-public robotfindskitten
+  (package
+    (name "robotfindskitten")
+    (version "2.8284271.702")            ; 1600003_201b is older, see ChangeLog
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/" name "/" name
+                                  "/releases/download/" version "/"
+                                  name "-" version ".tar.gz"))
+              (sha256
+                (base32
+                 "1bwrkxm83r9ajpkd6x03nqvmdfpf5vz6yfy0c97pq3v3ykj74082"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:tests? #f                       ; there are no tests
+      #:make-flags
+      #~(list
+         ;; Required for colorized output, see <http://bugs.gnu.org/54607>.
+         "CFLAGS=-D_XOPEN_SOURCE=600"
+         (string-append "execgamesdir=" #$output "/bin"))))
+    (inputs (list ncurses))
+    (outputs (list "out" "debug"))
+    (synopsis "Thematic meditative game")
+    (description
+     "You are a robot moving around in a realm filled with ASCII characters.
+Examine humourously described though useless items as you search for a kitten
+among them.  The theme of this Zen simulation is continued in its
+documentation.")
+    (home-page "http://robotfindskitten.org/")
+    (license license:gpl2+)))
+
 (define-public roguebox-adventures
   (package
     (name "roguebox-adventures")
@@ -4229,15 +4262,15 @@ world}, @uref{http://evolonline.org, Evol Online} and
                "1qz7ld55m9cvgr4mkv6c11y0zf2aph3ba605l45qj41hk2wzb2r5"))))
     (build-system cmake-build-system)
     (inputs
-     `(("allegro" ,allegro)
-       ("fontconfig" ,fontconfig)
-       ("freetype" ,freetype)
-       ("icu4c" ,icu4c)
-       ("libpng" ,libpng)
-       ("lzo" ,lzo)
-       ("sdl" ,sdl)
-       ("xz" ,xz)
-       ("zlib" ,zlib)))
+     (list allegro
+           fontconfig
+           freetype
+           icu4c
+           libpng
+           lzo
+           sdl
+           xz
+           zlib))
     (synopsis "Transportation economics simulator game")
     (description "OpenTTD is a game in which you transport goods and
 passengers by land, water and air.  It is a re-implementation of Transport
@@ -4267,22 +4300,24 @@ engine.  When you start it you will be prompted to download a graphics set.")
          "0nhzlk6s73qvznm5fdwcs1b42g2plf26s5ag39fvck45zm7m48jk"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:make-flags (list (string-append "CC=" ,(cc-for-target))
-                          (string-append "INSTALL_DIR="
-                                         (assoc-ref %outputs "out")
-                                         "/share/games/openttd/baseset/opengfx"))
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'configure
-           (lambda _
-             ;; Make sure HOME is writable for GIMP.
-             (setenv "HOME" (getcwd))
+     (list
+      #:make-flags
+      #~(list (string-append "CC=" #$(cc-for-target))
+              (string-append "INSTALL_DIR="
+                             #$output
+                             "/share/games/openttd/baseset/opengfx"))
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'configure
+            (lambda _
+              ;; Make sure HOME is writable for GIMP.
+              (setenv "HOME" (getcwd))
 
-             ;; Redirect stdout, not stderr, to /dev/null. This prevents
-             ;; dos2unix from receiving its version information as a flag.
-             (substitute* "Makefile"
-               (("\\$\\(UNIX2DOS\\) -q --version 2>/dev/null")
-                "$(UNIX2DOS) -q --version 1>/dev/null")))))
+              ;; Redirect stdout, not stderr, to /dev/null. This prevents
+              ;; dos2unix from receiving its version information as a flag.
+              (substitute* "Makefile"
+                (("\\$\\(UNIX2DOS\\) -q --version 2>/dev/null")
+                 "$(UNIX2DOS) -q --version 1>/dev/null")))))
        ;; The check phase for this package only checks the md5sums of the built
        ;; GRF files against the md5sums of the release versions. Because we use
        ;; different software versions than upstream does, some of the md5sums
@@ -4290,12 +4325,13 @@ engine.  When you start it you will be prompted to download a graphics set.")
        ;; to disable this test.
        #:tests? #f
        #:parallel-build? #f))
-    (native-inputs `(("dos2unix" ,dos2unix)
-                     ("gimp" ,gimp)
-                     ("grfcodec" ,grfcodec)
-                     ("nml" ,nml)
-                     ("which" ,which)
-                     ("python" ,python)))
+    (native-inputs
+     (list dos2unix
+           gimp
+           grfcodec
+           nml
+           which
+           python))
     (home-page "http://dev.openttdcoop.org/projects/opengfx")
     (synopsis "Base graphics set for OpenTTD")
     (description
@@ -4327,34 +4363,34 @@ OpenGFX provides you with...
          "0aym026lg0r7dp3jxxs9c0rj8lwy1fz3v9hmk3mml6sycsg3fv42"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("catcodec" ,catcodec)
-       ("python" ,python)
-       ("tar" ,tar)))
+     (list catcodec
+           python
+           tar))
     (arguments
-     `(#:make-flags
-       (list (string-append "DIR_NAME=opensfx")
-             (string-append "TAR="
-                            (search-input-file %build-inputs "/bin/tar")))
-       ;; The check phase only verifies md5sums, see openttd-opengfx.
-       #:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'make-reproducible
-           (lambda _
-             ;; Remove the time dependency of the installed tarball by setting
-             ;; the modification times if its members to 0.
-             (substitute* "scripts/Makefile.def"
-               (("-cf") " --mtime=@0 -cf"))
-             #t))
-         (delete 'configure)
-         (add-before 'build 'prebuild
-           (lambda _ (invoke "make" "opensfx.cat")))
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (copy-recursively "opensfx"
-                               (string-append (assoc-ref outputs "out")
-                                              "/share/games/openttd/baseset"
-                                              "/opensfx")))))))
+     (list
+      #:make-flags
+      #~(list (string-append "DIR_NAME=opensfx")
+              (string-append "TAR="
+                             (search-input-file %build-inputs "/bin/tar")))
+      ;; The check phase only verifies md5sums, see openttd-opengfx.
+      #:tests? #f
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'make-reproducible
+            (lambda _
+              ;; Remove the time dependency of the installed tarball by setting
+              ;; the modification times if its members to 0.
+              (substitute* "scripts/Makefile.def"
+                (("-cf") " --mtime=@0 -cf"))))
+          (delete 'configure)
+          (add-before 'build 'prebuild
+            (lambda _ (invoke "make" "opensfx.cat")))
+          (replace 'install
+            (lambda* (#:key outputs #:allow-other-keys)
+              (copy-recursively "opensfx"
+                                (string-append (assoc-ref outputs "out")
+                                               "/share/games/openttd/baseset"
+                                               "/opensfx")))))))
     (home-page "http://dev.openttdcoop.org/projects/opensfx")
     (synopsis "Base sounds for OpenTTD")
     (description "OpenSFX is a set of free base sounds for OpenTTD which make
@@ -4377,27 +4413,28 @@ the original Transport Tycoon Deluxe.")
          "0h583d8fxy78kc3jvpp78r76a48qhxrhm4q7jbnj74aw0kwrcl8g"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("grfcodec" ,grfcodec)
-       ; Scripts are Python3 compatible, but call the interpreter as
-       ; python instead of python3.
-       ("python" ,python-wrapper)
-       ("tar" ,tar)))
+     (list grfcodec
+           ;; Scripts are Python3 compatible, but call the interpreter as
+           ;; python instead of python3.
+           python-wrapper
+           tar))
     (arguments
-     `(#:make-flags
-       (list (string-append "DIR_NAME=openmsx")
-             (string-append "TAR="
-                            (search-input-file %build-inputs "/bin/tar")))
-       ;; The check phase only verifies md5sums, see openttd-opengfx.
-       #:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'configure)
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (copy-recursively "openmsx"
-                               (string-append (assoc-ref outputs "out")
-                                              "/share/games/openttd/baseset"
-                                              "/openmsx")))))))
+     (list
+      #:make-flags
+      #~(list (string-append "DIR_NAME=openmsx")
+              (string-append "TAR="
+                             (search-input-file %build-inputs "/bin/tar")))
+      ;; The check phase only verifies md5sums, see openttd-opengfx.
+      #:tests? #f
+      #:phases
+      #~(modify-phases %standard-phases
+          (delete 'configure)
+          (replace 'install
+            (lambda* (#:key outputs #:allow-other-keys)
+              (copy-recursively "openmsx"
+                                (string-append (assoc-ref outputs "out")
+                                               "/share/games/openttd/baseset"
+                                               "/openmsx")))))))
     (home-page "http://dev.openttdcoop.org/projects/openmsx")
     (synopsis "Music set for OpenTTD")
     (description "OpenMSX is a music set for OpenTTD which makes it possible
@@ -4410,26 +4447,36 @@ Transport Tycoon Deluxe.")
     (inherit openttd-engine)
     (name "openttd")
     (arguments
-     `(#:configure-flags
-       (let* ((out (assoc-ref %outputs "out")))
-         (list (string-append "-DCMAKE_INSTALL_BINDIR=" out "/bin")))
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'install-data
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (for-each
-              (lambda (input)
-                (copy-recursively (assoc-ref inputs input)
-                                  (assoc-ref outputs "out")))
-              (list "opengfx" "openmsx" "opensfx")))))))
+     (list
+      #:configure-flags
+      #~(list (string-append "-DCMAKE_INSTALL_BINDIR=" #$output "/bin"))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-sources
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "src/music/fluidsynth.cpp"
+                (("default_sf\\[\\] = \\{" all)
+                 (string-append all "
+\t/* Guix hardcoded :P */
+\t\"" (search-input-file inputs "/share/soundfonts/FreePatsGM.sf2") "\",
+")))))
+          (add-before 'check 'install-data
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let ((base "/share/games/openttd"))
+                (for-each
+                 (lambda (dir)
+                   ;; Copy the entire input, so as to not omit documentation
+                   ;; etc.
+                   (copy-recursively
+                    (string-drop-right dir (string-length base))
+                    (assoc-ref outputs "out")))
+                 (search-path-as-list (list base) (map cdr inputs)))))))))
     (inputs
      (modify-inputs (package-inputs openttd-engine)
-       (prepend timidity++)))
+       (prepend fluidsynth freepats-gm)))
     (native-inputs
-     `(("opengfx" ,openttd-opengfx)
-       ("openmsx" ,openttd-openmsx)
-       ("opensfx" ,openttd-opensfx)
-       ,@(package-native-inputs openttd-engine)))))
+     (modify-inputs (package-native-inputs openttd-engine)
+       (prepend openttd-opengfx openttd-openmsx openttd-opensfx)))))
 
 (define openrct2-title-sequences
   (package
@@ -11910,10 +11957,10 @@ etc.  You can also play games on FICS or against an engine.")
     (license license:gpl2+)))
 
 (define-public stockfish
-  (let ((neural-network-revision "13406b1dcbe0")) ; also update hash below
+  (let ((neural-network-revision "6877cd24400e")) ; also update hash below
     (package
       (name "stockfish")
-      (version "14.1")
+      (version "15")
       (source
        (origin
          (method git-fetch)
@@ -11922,7 +11969,7 @@ etc.  You can also play games on FICS or against an engine.")
                (commit (string-append "sf_" version))))
          (file-name (git-file-name name version))
          (sha256
-          (base32 "0apqqcgpcflm3c6mcl13ln2y04f6zksnljmk4ys7naf7xk4vdgkd"))))
+          (base32 "1v19v6qhwbf31wpc3qcih4dvqxwqkh0p426skgjin6ags31hkbmh"))))
       (build-system gnu-build-system)
       (inputs
        `(("neural-network"
@@ -11932,19 +11979,25 @@ etc.  You can also play games on FICS or against an engine.")
                                  neural-network-revision ".nnue"))
              (sha256
               (base32
-               "0vr3hcmlqqm74pn7hc54gmfs9drqvgc53nh7bvy6v8z0rcfnnh0k"))))))
+               "1qyna598c0v7gdpycc6kpl12h5a2wa50dqray6gv208f80jcsxv8"))))))
       (arguments
        `(#:tests? #f
          #:make-flags (list "-C" "src"
                             "build"
                             (string-append "PREFIX="
                                            (assoc-ref %outputs "out"))
+                            ,@(if (target-ppc32?)
+                                `("EXTRALDFLAGS=-latomic")
+                                `())
                             (string-append "ARCH="
                                            ,(match (%current-system)
                                               ("x86_64-linux" "x86-64")
                                               ("i686-linux" "x86-32")
                                               ("aarch64-linux" "armv8")
                                               ("armhf-linux" "armv7")
+                                              ("powerpc-linux" "ppc-32")
+                                              ("powerpc64le-linux" "ppc-64")
+                                              ("riscv64-linux" "general-64")
                                               ("mips64el-linux" "general-64")
                                               (_ "general-32"))))
          #:phases (modify-phases %standard-phases
@@ -11955,7 +12008,12 @@ etc.  You can also play games on FICS or against an engine.")
                       (lambda* (#:key inputs #:allow-other-keys)
                         (copy-file (assoc-ref inputs "neural-network")
                                    (format #f "src/nn-~a.nnue"
-                                           ,neural-network-revision)))))))
+                                           ,neural-network-revision))))
+                    ;; Guix doesn't use a multiarch gcc.
+                    (add-after 'unpack 'remove-m-flag
+                      (lambda _
+                        (substitute* "src/Makefile"
+                          (("-m\\$\\(bits\\)") "")))))))
       (synopsis "Strong chess engine")
       (description
        "Stockfish is a very strong chess engine.  It is much stronger than the
diff --git a/gnu/packages/genimage.scm b/gnu/packages/genimage.scm
index eb50141374..4a9d24fe78 100644
--- a/gnu/packages/genimage.scm
+++ b/gnu/packages/genimage.scm
@@ -41,11 +41,11 @@
   #:use-module (gnu packages virtualization))
 
 (define-public genimage
-  (let ((commit "11bb04455eaf5434f0723c91a2224918ebd0a196")
+  (let ((commit "ec44ae086c705e6f0439e742c5a2e9b8f3d6ca82")
         (revision "1"))
     (package
       (name "genimage")
-      (version (git-version "14" revision commit))
+      (version (git-version "15" revision commit))
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
@@ -54,7 +54,7 @@
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "1dq3lk0awk12v2aidry35gvrci5a3nr6rzcq0j9hyyf0w1z1rn0l"))
+                  "0amj2vjff58yna6kq959i2gqmbjywqr8j5kr5pjqsvbqam3vgg0r"))
                 (patches
                  (search-patches "genimage-mke2fs-test.patch"))))
       (build-system gnu-build-system)
@@ -93,9 +93,13 @@
                ;; We don't have /etc/passwd so uid 0 is not known as "root".
                ;; Thus patch it out.
                (substitute* '("test/ext2test.0.dump"
+                              "test/ext2test.1.dump"
                               "test/ext3test.0.dump"
+                              "test/ext3test.1.dump"
                               "test/ext4test.0.dump"
+                              "test/ext4test.1.dump"
                               "test/ext2test-percent.0.dump"
+                              "test/ext2test-percent.1.dump"
                               "test/mke2fs.0.dump")
                  (("root") "unknown"))))
            (add-before 'check 'setenv-check
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 538db2dde4..c2569c27d4 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -13,7 +13,7 @@
 ;;; Copyright © 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2020 Christopher Baines <mail@cbaines.net>
-;;; Copyright © 2020, 2021 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2020, 2021, 2022 Felix Gruber <felgru@posteo.net>
 ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
 ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2021 Clément Lassieur <clement@lassieur.org>
@@ -1047,14 +1047,14 @@ Shapely capabilities
 (define-public postgis
   (package
     (name "postgis")
-    (version "3.2.0")
+    (version "3.2.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://download.osgeo.org/postgis/source/postgis-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1zbwa15rsvr05rmcidk21q3amndd0q4df4psp3zhqz4lqraf3fbs"))))
+                "0gl9d6xy2an82ldb9sixz5blyngjryq8m3509fr38ffawvfniazv"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f
diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm
index adbadfb313..fb071cb89b 100644
--- a/gnu/packages/gnome-xyz.scm
+++ b/gnu/packages/gnome-xyz.scm
@@ -543,7 +543,7 @@ currently focused application in the top panel of the GNOME shell.")
 (define-public gnome-shell-extension-just-perfection
   (package
     (name "gnome-shell-extension-just-perfection")
-    (version "16.0")
+    (version "20.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -552,7 +552,7 @@ currently focused application in the top panel of the GNOME shell.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "05zbzgs92zqlmjq4h2q2gggrf1qiz8l6739zzg1x5090gvk4iak3"))))
+                "1b1hzibgryn861av2bjnfh5bmzs2bxfcsyl0ardkaj97228xsjzy"))))
     (build-system copy-build-system)
     (arguments
      `(#:install-plan
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index e6e576d7f7..51ce1cd936 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -69,6 +69,8 @@
 ;;; Copyright © 2022 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
 ;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la>
+;;; Copyright © 2022 Rene Saavedra <nanuui@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1191,12 +1193,10 @@ Library reference documentation.")
               (substitute* "data/meson.build"
                 (("udev\\.get_pkgconfig_variable\\('udevdir'\\)")
                  (format #f "'~a'" rules))))))
-        (add-before 'check 'start-virtual-dir-server
-          ;; The same server when started by tests/virtual-dir returns an
-          ;; unexpected status (4 instead of 200) and fails a test.  It is
-          ;; unclear why starting it manually here makes it pass.
+        (add-before 'check 'set-temporary-home
+          ;; Tests want to write into HOME.
           (lambda _
-            (system "tests/virtual-dir-server &"))))))
+            (setenv "HOME" "/tmp"))))))
    (native-inputs
     `(("docbook-xml" ,docbook-xml-4.3)
       ("gettext" ,gettext-minimal)
@@ -1205,7 +1205,7 @@ Library reference documentation.")
       ("gtk-doc" ,gtk-doc/stable)
       ("pkg-config" ,pkg-config)))
    (inputs
-    (list avahi libgudev libsoup))
+    (list avahi libgudev libsoup-minimal-2))
    (synopsis "WebDav server implementation using libsoup")
    (description "PhoDav was initially developed as a file-sharing mechanism for Spice,
 but it is generic enough to be reused in other projects,
@@ -5843,17 +5843,17 @@ throughout GNOME for API documentation).")
                 (string-append all "\n#include <EGL/eglmesaext.h>\n")))
              #t))
          (add-before 'check 'start-xorg-server
-                     (lambda* (#:key tests? inputs #:allow-other-keys)
-                       (if tests?
-                           (begin
-                             ;; The test suite requires a running X server.
-                             (system (format #f "~a/bin/Xvfb :1 +extension GLX &"
-                                             (assoc-ref inputs "xorg-server")))
-                             (setenv "DISPLAY" ":1")
-                             #t)
-                           (format #t "test suite not run~%"))
-                       #t)))))
-    (home-page "https://www.cogl3d.org")
+           (lambda* (#:key tests? inputs #:allow-other-keys)
+             (if tests?
+                 (begin
+                   ;; The test suite requires a running X server.
+                   (system (format #f "~a/bin/Xvfb :1 +extension GLX &"
+                                   (assoc-ref inputs "xorg-server")))
+                   (setenv "DISPLAY" ":1")
+                   #t)
+                 (format #t "test suite not run~%"))
+             #t)))))
+    (home-page "http://www.clutter-project.org")
     (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
     (description
      "Cogl is a small library for using 3D graphics hardware to draw pretty
@@ -11773,45 +11773,45 @@ these services on the Guix System.")
                       (system "Xvfb :1 &")
                       (setenv "DISPLAY" ":1"))))))
     (inputs
-     `(("enchant" ,enchant)
-       ("folks" ,folks)
-       ("gcr" ,gcr)
-       ("glib" ,glib)
-       ("gmime" ,gmime)
-       ("gnome-online-accounts:lib"
-        ,gnome-online-accounts "lib")
-       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
-       ("gspell" ,gspell)
-       ("gsound" ,gsound)
-       ("gtk+" ,gtk+)
-       ("iso-codes" ,iso-codes)
-       ("json-glib" ,json-glib)
-       ("libcanberra" ,libcanberra)
-       ("libgee" ,libgee)
-       ("libhandy" ,libhandy)
-       ("libpeas" ,libpeas)
-       ("libsecret" ,libsecret)
-       ("libstemmer" ,libstemmer)
-       ("libunwind" ,libunwind)
-       ("sqlite" ,sqlite)
-       ("webkitgtk" ,webkitgtk-with-libsoup2)
-       ("ytnef" ,ytnef)))
+     (list enchant
+           folks
+           gcr
+           glib
+           gmime
+           `(,gnome-online-accounts "lib")
+           gsettings-desktop-schemas
+           gspell
+           gsound
+           gtk+
+           iso-codes
+           json-glib
+           libcanberra
+           libgee
+           libhandy
+           libpeas
+           libsecret
+           libstemmer
+           libunwind
+           sqlite
+           webkitgtk-with-libsoup2
+           ytnef))
     (native-inputs
-     `(("appstream-glib" ,appstream-glib)
-       ("cmake-minimal" ,cmake-minimal)
-       ("desktop-file-utils" ,desktop-file-utils)
-       ("gettext" ,gettext-minimal)
-       ("glib" ,glib)
-       ("glib:bin" ,glib "bin")
-       ("gmime" ,gmime)
-       ("gobject-introspection" ,gobject-introspection)
-       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
-       ("itstool" ,itstool)
-       ("libarchive" ,libarchive)
-       ("libxml2" ,libxml2)
-       ("pkg-config" ,pkg-config)
-       ("vala" ,vala)
-       ("xvfb" ,xorg-server-for-tests)))
+     (list appstream-glib
+           cmake-minimal
+           desktop-file-utils
+           gettext-minimal
+           glib
+           `(,glib "bin")
+           gmime
+           gobject-introspection
+           gsettings-desktop-schemas
+           itstool
+           libarchive
+           libxml2
+           pkg-config
+           python-minimal
+           vala
+           xorg-server-for-tests))
     (synopsis "GNOME email application built around conversations")
     (description
      "Geary collects related messages together into conversations,
@@ -12406,7 +12406,7 @@ profiler via Sysprof, debugging support, and more.")
 (define-public komikku
   (package
     (name "komikku")
-    (version "0.37.0")
+    (version "0.38.0")
     (source
      (origin
        (method git-fetch)
@@ -12416,7 +12416,7 @@ profiler via Sysprof, debugging support, and more.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1ab17xjpfy9ks6dzgcnh2p5n9hl82mi6f8zbaz7s36115dmp4fbf"))))
+         "1khf51r8001j0cvjja5rkqi07v08nqyz97hx8fjyi7p3l5b5vkwc"))))
     (build-system meson-build-system)
     (arguments
      `(#:glib-or-gtk? #t
diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm
index ee7ca3cfde..ec50c8aaa6 100644
--- a/gnu/packages/gnucash.scm
+++ b/gnu/packages/gnucash.scm
@@ -63,14 +63,14 @@
   ;; directory.
   (package
     (name "gnucash")
-    (version "4.6")
+    (version "4.10")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/"
                            version "/gnucash-" version ".tar.bz2"))
        (sha256
-        (base32 "0csp8iddhc901vv09gl5lj970g6ili696vwj4vdpkiprp7gh26r5"))))
+        (base32 "0fy9p5fgi2i0x7acg5fnkfdrxxd3dypi3ykvnj53hfbfky8vpm3z"))))
     (build-system cmake-build-system)
     (inputs
      `(("guile" ,guile-3.0)
@@ -229,10 +229,10 @@ installed as well as Yelp, the Gnome help browser.")
        (origin
          (method url-fetch)
          (uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/"
-                             version "/gnucash-docs-" version revision ".tar.gz"))
+                             version "/gnucash-docs-" version ".1" revision ".tar.gz"))
          (sha256
-          (base32 "1365k4wb8zfm2zyg7zqyvajbzh9311m2zi1vpvbpp8p4sibqjksw"))))
-      (build-system gnu-build-system)
+          (base32 "0cf2m1lgpq6if89w8anz522nar5kwpfzi0kacymw17m42fzxz0cg"))))
+      (build-system cmake-build-system)
       ;; These are native-inputs because they are only required for building the
       ;; documentation.
       (native-inputs
@@ -243,6 +243,8 @@ installed as well as Yelp, the Gnome help browser.")
          ("libxslt" ,libxslt)
          ("docbook-xsl" ,docbook-xsl)
          ("scrollkeeper" ,scrollkeeper)))
+      (arguments
+       `(#:tests? #f)) ;no test target
       (home-page "https://www.gnucash.org/")
       (synopsis "Documentation for GnuCash")
       (description
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 1c09c9047b..41e8f3b80f 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -254,7 +254,7 @@ supports HTTP, HTTPS and GnuTLS.")
 (define-public gnunet
   (package
    (name "gnunet")
-   (version "0.13.1")
+   (version "0.16.3")
    (source
     (origin
       (method url-fetch)
@@ -262,66 +262,37 @@ supports HTTP, HTTPS and GnuTLS.")
                           ".tar.gz"))
       (sha256
        (base32
-        "15jnca5zxng7r6m3qzq9lr73xxq0v6mvcp0lny3zrlkz5s2nmmq3"))))
+        "12n33r9nnkl5xwx8pwf571l2zvnvfllc8vm6mamrlyjk2cphaf9j"))))
    (build-system gnu-build-system)
    (inputs
-    `(("bluez" ,bluez)
-      ("glpk" ,glpk)
-      ("gnurl" ,gnurl)
-      ("gnutls" ,gnutls/dane)
-      ("gstreamer" ,gstreamer)
-      ("jansson" ,jansson)
-      ("libextractor" ,libextractor)
-      ("libidn" ,libidn2)
-      ("libgcrypt" ,libgcrypt)
-      ("libjpeg" ,libjpeg-turbo)
-      ("libltdl" ,libltdl)
-      ("libmicrohttpd" ,libmicrohttpd)
-      ("libogg" ,libogg)
-      ("libsodium" ,libsodium)
-      ("libunistring" ,libunistring)
-      ("miniupnpc" ,miniupnpc)
-      ("opus" ,opus)
-      ("pulseaudio" ,pulseaudio)
-      ("sqlite" ,sqlite)
-      ("zbar" ,zbar)
-      ("zlib" ,zlib)))
+    (list bluez
+          glpk
+          gnurl
+          gnutls/dane
+          gstreamer
+          jansson
+          libextractor
+          libidn2
+          libgcrypt
+          libjpeg-turbo
+          libltdl
+          libmicrohttpd
+          libogg
+          libsodium
+          libunistring
+          miniupnpc
+          opus
+          pulseaudio
+          sqlite
+          zbar
+          zlib))
    (native-inputs
-    (list curl pkg-config python xxd
+    (list curl openssl pkg-config python xxd
           (@ (gnu packages base) which)))
    (arguments
     '(#:parallel-tests? #f ; Parallel tests aren't supported.
       #:phases
       (modify-phases %standard-phases
-        (add-after 'configure 'remove-failing-tests
-          ;; These tests fail in Guix's building environment.
-          (lambda _
-            (substitute* "src/transport/Makefile"
-              (("\\$\\(am__EXEEXT_15\\)") "") ; test_transport_api_https
-              (("test_transport_api_manipulation_cfg\\$\\(EXEEXT\\) \\\\\n") "")
-              (("test_transport_api_udp_nat\\$\\(EXEEXT\\) \\\\\n") "")
-              (("test_transport_blacklisting_multiple_plugins\\$\\(EXEEXT\\) \\\\\n") ""))
-            (substitute* "src/testbed/Makefile"
-              (("test_testbed_api_2peers_1controller\\$\\(EXEEXT\\) \\\\\n") "")
-              (("test_testbed_api_statistics\\$\\(EXEEXT\\) \\\\\n") "")
-              (("test_testbed_api_test\\$\\(EXEEXT\\) \\\\\n") "")
-              (("test_testbed_api_test_timeout\\$\\(EXEEXT\\) \\\\\n") "")
-              (("test_testbed_api_topology\\$\\(EXEEXT\\) \\\\\n") "")
-              (("test_testbed_api_topology_clique\\$\\(EXEEXT\\) \\\\\n") ""))
-            (substitute* "src/topology/Makefile"
-              (("^check_PROGRAMS.*") "\n")
-              (("test_gnunet_daemon_topology\\$\\(EXEEXT\\)\n") ""))
-            (substitute* "src/namestore/Makefile"
-              (("\\$\\(am__append_2\\)") ""))
-            (substitute* "src/gns/Makefile"
-              (("\\$\\(am__append_4\\)") ""))
-            (substitute* "contrib/Makefile"
-              (("^check_PROGRAMS.*") "\n"))
-            ;; 'test' from coreutils doesn't behave as the test expects.
-            (substitute* '("src/gns/gnunet-gns-proxy-setup-ca.in"
-                           "src/transport/gnunet-transport-certificate-creation.in")
-              (("gnutls-certtool") "certtool"))
-            #t))
         (add-before 'check 'set-env-var-for-tests
           (lambda _
             (setenv "LANG" "en_US.UTF-8")))
@@ -344,7 +315,7 @@ that sense aims to replace the current internet protocol stack.  Along with
 an application for secure publication of files, it has grown to include all
 kinds of basic applications for the foundation of a GNU internet.")
    (license license:agpl3+)
-   (home-page "https://gnunet.org/")))
+   (home-page "https://gnunet.org/en/")))
 
 (define-public guile-gnunet                       ;GSoC 2015!
   (let ((commit "d12167ab3c8d7d6caffd9c606e389ef043760602")
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 2096f712bb..71e63543c2 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -716,8 +716,8 @@ in C/C++.")
 ;; XXXX: Workaround 'snippet' limitations.
 (define computed-origin-method (@@ (guix packages) computed-origin-method))
 
-(define %icecat-version "91.7.0-guix0-preview1")
-(define %icecat-build-id "20220307000000") ;must be of the form YYYYMMDDhhmmss
+(define %icecat-version "91.8.0-guix0-preview1")
+(define %icecat-build-id "20220405000000") ;must be of the form YYYYMMDDhhmmss
 
 ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
 ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@@ -739,11 +739,11 @@ in C/C++.")
                   "firefox-" upstream-firefox-version ".source.tar.xz"))
             (sha256
              (base32
-              "0npf1w6ic14zjn2h5zp8il4l0s61l9mykgnbcinxc47gw6myjflw"))))
+              "0fkz12grzl9892b8ncd5y93xhzhbvkik4d0944vgkizmrd9si0yl"))))
 
-         (upstream-icecat-base-version "91.7.0") ; maybe older than base-version
+         (upstream-icecat-base-version "91.8.0") ; maybe older than base-version
          ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
-         (gnuzilla-commit "76e23c5f1bcebc22f7936baa29f75c6c9415935e")
+         (gnuzilla-commit "3aec3e591e7b1de0bfe5025a54ef5771a9823917")
          (gnuzilla-source
           (origin
             (method git-fetch)
@@ -755,7 +755,7 @@ in C/C++.")
                                       (string-take gnuzilla-commit 8)))
             (sha256
              (base32
-              "1qvhpyws73f5is7l5isiag6lbqj9gkbdkc9gj29lhhhgla8j6qyg"))))
+              "1mianwz71yixqdb3bji3hvn8ixsmhz4ygq06fnb1p3dpbaphspa1"))))
 
          ;; 'search-patch' returns either a valid file name or #f, so wrap it
          ;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
@@ -1338,11 +1338,11 @@ standards of the IceCat project.")
        (cpe-version . ,(first (string-split version #\-)))))))
 
 ;; Update this together with icecat!
-(define %icedove-build-id "20220308000000") ;must be of the form YYYYMMDDhhmmss
+(define %icedove-build-id "20220405000000") ;must be of the form YYYYMMDDhhmmss
 (define-public icedove
   (package
     (name "icedove")
-    (version "91.7")
+    (version "91.8")
     (source icecat-source)
     (properties
      `((cpe-name . "thunderbird_esr")))
@@ -1628,7 +1628,7 @@ standards of the IceCat project.")
         ;; in the Thunderbird release tarball.  We don't use the release
         ;; tarball because it duplicates the Icecat sources and only adds the
         ;; "comm" directory, which is provided by this repository.
-        ,(let ((changeset "39ccd0b9ea033f3292af90667e470b98a79eb8c9"))
+        ,(let ((changeset "525d4941f4870a56f714af775b7d7bc18175021d"))
            (origin
              (method hg-fetch)
              (uri (hg-reference
@@ -1637,7 +1637,7 @@ standards of the IceCat project.")
              (file-name (string-append "thunderbird-" version "-checkout"))
              (sha256
               (base32
-               "0zk6f3yxqq5dn4dh96jmip3xy66n4lnai5fan31kl2l63vfcm1ag")))))
+               "1kq6564bjzd80nsggyih4ypbkf35p32j5akaq589sm3xbjgd1zq6")))))
        ("cargo" ,rust "cargo")
        ("clang" ,clang-11)
        ("llvm" ,llvm-11)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index ba0fcee214..60ba76b2ea 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -33,6 +33,7 @@
 ;;; Copyright © 2021 Chadwain Holness <chadwainholness@gmail.com>
 ;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
 ;;; Copyright © 2021 Lu Hui <luhux76@gmail.com>
+;;; Copyright © 2022 Pier-Hugues Pellerin <phpellerin@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -466,7 +467,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
   (package
     (inherit go-1.14)
     (name "go")
-    (version "1.16.14")
+    (version "1.16.15")
     (source
      (origin
        (method git-fetch)
@@ -476,7 +477,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "16pn7avzmlw28sldx6yv38a1afdwj7jz3x7kjvlagysqrsh5lwwl"))))
+         "0vlk0r4600ah9fg5apdd93g7i369k0rkzcgn7cs8h6qq2k6hpxjl"))))
     (arguments
      (substitute-keyword-arguments
          (strip-keyword-arguments '(#:tests?) (package-arguments go-1.14))
@@ -625,7 +626,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
   (package
     (inherit go-1.16)
     (name "go")
-    (version "1.17.7")
+    (version "1.17.8")
     (source
      (origin
        (method git-fetch)
@@ -635,7 +636,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0d0xybn7sy4za3f0s2ffb6yfv6pjabnk4jyvz7dn3hjqhd5lks7m"))))
+         "05qfs17wddxmmi349g9ci12w9fjb5vbss6qpjc4qzgqzznqf0ycy"))))
     (outputs '("out" "tests")) ; 'tests' contains distribution tests.
     (arguments
      `(#:modules ((ice-9 match)
@@ -3509,7 +3510,7 @@ middleware for Go web applications and services.")
 (define-public go-github-com-spf13-cobra
   (package
     (name "go-github-com-spf13-cobra")
-    (version "1.0.0")
+    (version "1.4.0")
     (source
      (origin
        (method git-fetch)
@@ -3519,7 +3520,7 @@ middleware for Go web applications and services.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0vbppqqhby302a5ayn0296jqr71qkcd4c9am7wzsk6z71fwdsa7h"))))
+         "0ijhnk9pcks1v1cxri4kf6v1h26ym3jikmkgv4fdfrmm7sqgva13"))))
     (build-system go-build-system)
     (arguments
      `(#:import-path "github.com/spf13/cobra"))
diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm
index b8e3433a5e..bfb6fea69b 100644
--- a/gnu/packages/gps.scm
+++ b/gnu/packages/gps.scm
@@ -138,7 +138,7 @@ between two other data points.")
 (define-public gama
   (package
     (name "gama")
-    (version "2.17")
+    (version "2.18")
     (source
       (origin
         (method url-fetch)
@@ -146,7 +146,7 @@ between two other data points.")
                             version ".tar.gz"))
         (sha256
          (base32
-          "1x8qz43q254mz0fyna9pxxna2sj8pcrm8bwxw840d36lh1qj6983"))
+          "03axw35vi5idsyxhfy7afj77bdig2v95l1s0sqy3kqw4cx5bpn2w"))
         (modules '((guix build utils)))
         (snippet
          '(begin
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index 4b46904318..981c4d4793 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2017, 2018, 2019, 2020, 2022 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
 ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2020 Alexander Krotov <krotov@iitp.ru>
 ;;; Copyright © 2020 Pierre Langlois <pierre.langlos@gmx.com>
@@ -91,7 +91,7 @@ distributions in empirical data.  SIAM Review 51, 661-703 (2009)}).")
 (define-public igraph
   (package
     (name "igraph")
-    (version "0.9.6")
+    (version "0.9.8")
     (source
      (origin
        (method url-fetch)
@@ -116,7 +116,7 @@ distributions in empirical data.  SIAM Review 51, 661-703 (2009)}).")
                      ((".*_IS_VENDORED.*")
                       ""))))
        (sha256
-        (base32 "11zkj9bpqcadb0rc4ahvjp9047dp9hna8cn3b0vl3zpc9v2rwabw"))))
+        (base32 "15v3ydq95gahnas37cip637hvc2nwrmk76xp0nv3gq53rrrk9a7r"))))
     (build-system cmake-build-system)
     (arguments
      '(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON")))
@@ -143,7 +143,7 @@ more.")
   (package
     (inherit igraph)
     (name "python-igraph")
-    (version "0.9.9")
+    (version "0.9.10")
     (source (origin
               (method git-fetch)
               ;; The PyPI archive lacks tests.
@@ -153,7 +153,7 @@ more.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0ravcww2jcr8fgi97gdxv00s5nkx59ljxy928nnniyd0231bqwlc"))))
+                "06qvwmiw2klk3bg8g5af0ppjwrm9kzy4595w5d06qh2v3gq0svbk"))))
     (build-system python-build-system)
     (arguments
      (list
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 8ff8e6242b..dd537c9d10 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -892,7 +892,7 @@ model to base your own plug-in on, here it is.")
        ("transcode" ,transcode)
        ("usrsctp" ,usrsctp)
        ("v4l" ,v4l-utils)
-       ("voaacenc", vo-aacenc)
+       ("voaacenc" ,vo-aacenc)
        ("voamrwbenc" ,vo-amrwbenc)
        ("vulkan-headers" ,vulkan-headers)
        ("vulkan-loader" ,vulkan-loader)
@@ -1076,7 +1076,7 @@ given, also pass them to the build system instead of the ones used by PKG."
        #:configure-flags
        (list (string-append
               "-Dpygi-overrides-dir="
-              (python:site-packages %build-inputs %outputs) "gi/overrides"))))
+              (python:site-packages %build-inputs %outputs) "/gi/overrides"))))
     (native-inputs
      (list pkg-config python))
     (propagated-inputs
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 0abe22d637..96297535ce 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -29,6 +29,7 @@
 ;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
 ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 ;;; Copyright © 2021 Wamm K. D. <jaft.r@outlook.com>
+;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -409,6 +410,22 @@ handling for GTK+-2.x.")
     (home-page "https://pango.gnome.org/")
     (license license:lgpl2.0+)))
 
+;; TODO: Make this the default package in next release cycle.
+(define-public pango-next
+  (package
+    (inherit pango)
+    (name "pango")
+    (version "1.50.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/pango/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (patches (search-patches "pango-skip-libthai-test.patch"))
+              (sha256
+               (base32
+                "0qn1a7ccs3p5vc6swbqm6hdzka879l0gp9220lq4bcf2gpl67bgl"))))))
+
 (define-public pango-1.42
   (package
    (inherit pango)
@@ -1059,7 +1076,7 @@ application suites.")
 (define-public gtk
   (package
     (name "gtk")
-    (version "4.4.1")
+    (version "4.6.1")
     (source
      (origin
        (method url-fetch)
@@ -1067,10 +1084,9 @@ application suites.")
                            (version-major+minor version)  "/"
                            name "-" version ".tar.xz"))
        (sha256
-        (base32 "1x6xlc063nqp7cg6py4kq1kpw9pkq49ifk5kki0brc667ncdmahg"))
+        (base32 "0pzcs24j67f90kjcp6apgn6rffynxksjm1m7d3an7kdv3k90hmfq"))
        (patches
-        (search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"
-                        "gtk-introspection-test.patch"))))
+        (search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"))))
     (build-system meson-build-system)
     (outputs '("out" "bin" "doc"))
     (arguments
@@ -1100,6 +1116,10 @@ application suites.")
          (add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
            (assoc-ref glib-or-gtk:%standard-phases
                       'generate-gdk-pixbuf-loaders-cache-file))
+         (add-after 'unpack 'patch-rst2man
+           (lambda _
+             (substitute* "docs/reference/gtk/meson.build"
+               (("find_program\\('rst2man'") "find_program('rst2man.py'"))))
          (add-after 'unpack 'patch
            (lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
              ;; Correct DTD resources of docbook.
@@ -1177,6 +1197,7 @@ application suites.")
        ("pkg-config" ,pkg-config)
        ("python-pygobject" ,python-pygobject)
        ;; These python modules are required for building documentation.
+       ("python-docutils" ,python-docutils)
        ("python-jinja2" ,python-jinja2)
        ("python-markdown" ,python-markdown)
        ("python-markupsafe" ,python-markupsafe)
@@ -1199,7 +1220,10 @@ application suites.")
            iso-codes
            json-glib
            libcloudproviders ;for cloud-providers support
+           libjpeg-turbo
+           libpng
            librsvg
+           libtiff
            python
            rest
            tracker))          ;for filechooser search support
@@ -1222,7 +1246,7 @@ application suites.")
        ("libxkbcommon" ,libxkbcommon)
        ("libxrandr" ,libxrandr)
        ("libxrender" ,libxrender)
-       ("pango" ,pango)
+       ("pango" ,pango-next)
        ("vulkan-headers" ,vulkan-headers)
        ("vulkan-loader" ,vulkan-loader) ;for vulkan graphics API support
        ("wayland" ,wayland)             ;for wayland display-backend
@@ -1603,7 +1627,7 @@ library.")
 (define-public pangomm
   (package
     (name "pangomm")
-    (version "2.48.0")
+    (version "2.50.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -1611,7 +1635,7 @@ library.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0y2vyp6azvhrii6rzs89kr08wg8z1p562awyr812131zqdsd83ly"))))
+                "0nrvvf1fyzlimh7rvxcblnrvn2l9rz8mpn2iwzlzr6kv05zafym2"))))
     (build-system meson-build-system)
     (outputs '("out" "doc"))
     (arguments
@@ -1640,7 +1664,7 @@ library.")
        ("python" ,python)
        ("xsltproc" ,libxslt)))
     (propagated-inputs
-     (list cairo cairomm glibmm pango))
+     (list cairo cairomm glibmm pango-next))
     (home-page "https://pango.gnome.org//")
     (synopsis "C++ interface to the Pango text rendering library")
     (description
@@ -1736,7 +1760,7 @@ library.")
 (define-public gtkmm
   (package
     (name "gtkmm")
-    (version "4.4.0")
+    (version "4.6.1")
     (source
      (origin
        (method url-fetch)
@@ -1745,7 +1769,7 @@ library.")
                        (version-major+minor version)  "/"
                        name "-" version ".tar.xz"))
        (sha256
-        (base32 "1nhdf1s437k41af6frbqw2sky46qci0hgkg9h86a9rlnc0r69d1f"))))
+        (base32 "1q6iycd7jfbn6rp4sq6r7ndm96dc21inq8mq1d9xsky6kv5gwphd"))))
     (build-system meson-build-system)
     (outputs '("out" "doc"))
     (arguments
@@ -1785,7 +1809,7 @@ library.")
        ("xsltproc" ,libxslt)
        ("xorg-server" ,xorg-server-for-tests)))
     (propagated-inputs
-     (list atkmm cairomm glibmm gtk pangomm))
+     (list cairomm glibmm gtk pangomm))
     (synopsis "C++ Interfaces for GTK+ and GNOME")
     (description "GTKmm is the official C++ interface for the popular GUI
 library GTK+.  Highlights include typesafe callbacks, and a comprehensive set
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 63fbf3c89f..ebecdfaa1e 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -129,7 +129,8 @@
   #:use-module (guix utils)
   #:use-module ((guix build utils) #:select (alist-replace))
   #:use-module (ice-9 match)
-  #:use-module ((srfi srfi-1) #:select (alist-delete)))
+  #:use-module ((srfi srfi-1) #:select (alist-delete))
+  #:use-module (srfi srfi-26))
 
 (define-public artanis
   (package
@@ -626,6 +627,25 @@ Unix-style DSV format and RFC 4180 format.")
                   (add-after 'unpack 'regenerate-autotools
                     (lambda _
                       (delete-file "configure")))
+                  (add-after 'unpack 'support-cross-compilation
+                    (lambda* (#:key target #:allow-other-keys)
+                      ;; Support cross-compilation.  These issues are fixed in
+                      ;; Fibers commit c4756b9c336374546a41ac90a4431fcc8f7e98ee
+                      ;; and this phase can be removed for 1.1.1.
+                      (when target
+                        (substitute* "build-aux/guile.am"
+                          (("\\$\\(AM_V_GEN\\)" all)
+                           (string-append all " FIBERS_CROSS_COMPILING=yes "))
+                          (("compile")
+                           (string-append "compile --target=" target
+                                          " -L $(abs_top_srcdir)")))
+                        (substitute* "fibers/epoll.scm"
+                          (("\\(dynamic-call")
+                           "(unless (getenv \"FIBERS_CROSS_COMPILING\") (dynamic-call")
+                          (("\\(dynamic-link.*" all)
+                           (string-append all ")\n"))
+                          (("#,(%sizeof|%offsetof)" _ prefix)
+                           prefix)))))
                   (add-after 'install 'mode-guile-objects
                     (lambda* (#:key outputs #:allow-other-keys)
                       ;; .go files are installed to "lib/guile/X.Y/cache".
@@ -640,10 +660,16 @@ Unix-style DSV format and RFC 4180 format.")
                         #t))))))
     (native-inputs
      (list texinfo pkg-config autoconf automake libtool
+           guile-3.0            ;for 'guild compile
            ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'
            gettext-minimal))
     (inputs
-     (list guile-3.0))
+     (list guile-3.0))                            ;for libguile-3.0.so
+    (supported-systems
+     ;; This version requires 'epoll' and is thus limited to Linux-based
+     ;; systems, but this may change soon:
+     ;; <https://github.com/wingo/fibers/pull/53>.
+     (filter (cut string-suffix? "-linux" <>) %supported-systems))
     (synopsis "Lightweight concurrency facility for Guile")
     (description
      "Fibers is a Guile library that implements a a lightweight concurrency
@@ -716,7 +742,12 @@ is not available for Guile 2.0.")
   (package
     (inherit guile-fibers-1.1)
     (name "guile2.2-fibers")
-    (inputs (list guile-2.2))))
+    (inputs
+     (modify-inputs (package-inputs guile-fibers-1.1)
+       (replace "guile" guile-2.2)))
+    (native-inputs
+     (modify-inputs (package-native-inputs guile-fibers-1.1)
+       (replace "guile" guile-2.2)))))
 
 (define-public guile-filesystem
   (package
@@ -3225,21 +3256,17 @@ API.")
       (license license:expat))))
 
 (define-public guile-srfi-189
-  (let ((commit "a0e3786702956c9e510d92746474ac988c2010ec")
-        (revision "0"))
+  (let ((commit "659e3cd0fc2bfca9085424eda8cad804ead2a9ea")
+        (revision "1"))
     (package
       (name "guile-srfi-189")
-      (version (git-version "0" revision commit))
+      ;; 'final' is the name of the latest git tag.
+      (version (git-version "final" revision commit))
       (source
        (origin
          (method git-fetch)
          (uri (git-reference
-               ;; This is a fork of:
-               ;; (url "https://github.com/scheme-requests-for-implementation/srfi-189")
-               ;; Upstream merge requested at:
-               ;; https://github.com/scheme-requests-for-implementation/srfi-189/pull/21
-               ;; TODO switch over to the official repo when the PR gets merged
-               (url "https://github.com/attila-lendvai-patches/srfi-189")
+               (url "https://github.com/scheme-requests-for-implementation/srfi-189")
                (commit commit)))
          (sha256
           (base32
diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index ecd1a93317..5c351fa981 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -304,14 +304,14 @@ to @code{cabal repl}).")
 (define-public git-annex
   (package
     (name "git-annex")
-    (version "10.20220222")
+    (version "10.20220322")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://hackage.haskell.org/package/"
                            "git-annex/git-annex-" version ".tar.gz"))
        (sha256
-        (base32 "119c7l2vqv19ja3pg3adaivsmrmbyg03a88j2msnzcgyhddggf8z"))))
+        (base32 "107v1c2lw53k25p6snbmxyia3ghd63kj3izvd81d8km9qncv96bv"))))
     (build-system haskell-build-system)
     (arguments
      `(#:configure-flags
@@ -425,6 +425,7 @@ to @code{cabal repl}).")
            ghc-hinotify
            ghc-hslogger
            ghc-http-client
+           ghc-http-client-restricted
            ghc-http-conduit
            ghc-http-types
            ghc-ifelse
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 70a4eccce6..1c2538b45e 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -9,7 +9,7 @@
 ;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
 ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@gmail.com>
 ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
-;;; Copyright © 2020 Kyle Meyer <kyle@kyleam.com>
+;;; Copyright © 2020, 2022 Kyle Meyer <kyle@kyleam.com>
 ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
 ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;;
@@ -221,7 +221,7 @@ responses coming back.")
 (define-public ghc-http-client
   (package
     (name "ghc-http-client")
-    (version "0.6.4.1")
+    (version "0.7.11")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://hackage.haskell.org/package/"
@@ -229,7 +229,7 @@ responses coming back.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1y12xfh6xvsfvyapbssmgrpjz025rmyccprbnmzhs0y1cmlz6hjp"))))
+                "12j7vkpkm2djws6ny7vm2324c7916d0iaf1mbvf4mfjxzy2w7imv"))))
     (build-system haskell-build-system)
     ;; Tests require access to the web.
     (arguments `(#:tests? #f))
@@ -242,6 +242,7 @@ responses coming back.")
            ghc-data-default-class
            ghc-exceptions
            ghc-http-types
+           ghc-iproute
            ghc-memory
            ghc-mime-types
            ghc-monad-control
@@ -262,7 +263,7 @@ for more user-friendly packages.")
 (define-public ghc-http-client-tls
   (package
     (name "ghc-http-client-tls")
-    (version "0.3.5.3")
+    (version "0.3.6.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://hackage.haskell.org/package/"
@@ -270,7 +271,7 @@ for more user-friendly packages.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0qj3pcpgbsfsc4m52dz35khhl4hf1i0nmcpa445z82d9567vy6j7"))))
+                "03f8p9gxdzl6slyw1r6vpv2dqhsyjvbaawbjv75kaq0vlj3gz7xi"))))
     (build-system haskell-build-system)
     ;; Tests require Internet access
     (arguments `(#:tests? #f))
@@ -291,6 +292,34 @@ connection and TLS libraries.  It is intended for use by higher-level
 libraries, such as http-conduit.")
     (license license:expat)))
 
+(define-public ghc-http-client-restricted
+  (package
+    (name "ghc-http-client-restricted")
+    (version "0.0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "http-client-restricted" version))
+       (sha256
+        (base32 "1vfm9qc3zr0rmq2ddgyg13i67020cdk8xqhyzfc2zcn1km2p6r85"))))
+    (build-system haskell-build-system)
+    (inputs
+     (list ghc-http-client
+           ghc-http-client-tls
+           ghc-connection
+           ghc-data-default
+           ghc-network
+           ghc-network-bsd
+           ghc-utf8-string))
+    (home-page "http://hackage.haskell.org/package/http-client-restricted")
+    (synopsis "Restrict the servers used by http-client")
+    (description
+     "This library makes it possible to restrict the HTTP servers that can be
+used by the @code{http-client} and @code{http-client-tls} libraries.  This is
+useful when a security policy needs to, e.g., prevent connections to HTTP
+servers on localhost or only allow connections to a specific server.")
+    (license license:expat)))
+
 (define-public ghc-http-date
   (package
     (name "ghc-http-date")
diff --git a/gnu/packages/idris.scm b/gnu/packages/idris.scm
index 3e480e06b4..8f08ed3a3e 100644
--- a/gnu/packages/idris.scm
+++ b/gnu/packages/idris.scm
@@ -2,7 +2,8 @@
 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
 ;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
 ;;; Copyright © 2018 Alex ter Weele <alex.ter.weele@gmail.com>
-;;; Copyright © 2019, 2021 Eric Bavier <bavier@posteo.net>
+;;; Copyright © 2019, 2021, 2022 Eric Bavier <bavier@posteo.net>
+;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -32,24 +33,24 @@
   #:use-module (guix build-system haskell)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix utils)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages))
 
 (define-public idris
   (package
     (name "idris")
-    (version "1.3.3")
+    (version "1.3.4")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://hackage.haskell.org/package/"
-                    "idris-" version "/idris-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/idris-lang/Idris-dev.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1pachwc6msw3n1mz2z1r1w6h518w9gbhdvbaa5vi1qp3cn3wm6q4"))
-              (patches (search-patches "idris-disable-test.patch"
-                                       "idris-build-with-haskeline-0.8.patch"
-                                       "idris-build-with-megaparsec-9.patch"))))
+                "0cd2a92323hb9a6wy8sc0cqwnisf4pv8y9y2rxvxcbyv8cs1q8g2"))
+              (patches (search-patches "idris-test-ffi008.patch"))))
     (build-system haskell-build-system)
     (native-inputs                      ;For tests
      (list perl ghc-cheapskate ghc-tasty ghc-tasty-golden
@@ -94,8 +95,7 @@
          ;; This allows us to call the 'idris' binary before installing.
          (add-after 'unpack 'set-ld-library-path
            (lambda _
-             (setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/dist/build"))
-             #t))
+             (setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/dist/build"))))
          (add-before 'configure 'update-constraints
            (lambda _
              (substitute* "idris.cabal"
@@ -103,8 +103,7 @@
                 dep))))
          (add-before 'configure 'set-cc-command
            (lambda _
-             (setenv "CC" "gcc")
-             #t))
+             (setenv "CC" ,(cc-for-target))))
          (add-after 'install 'fix-libs-install-location
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -121,7 +120,7 @@
              (let ((out (assoc-ref outputs "out")))
                (chmod "test/scripts/timeout" #o755) ;must be executable
                (setenv "TASTY_NUM_THREADS" (number->string (parallel-job-count)))
-               (setenv "IDRIS_CC" "gcc") ;Needed for creating executables
+               (setenv "IDRIS_CC" ,(cc-for-target)) ;Needed for creating executables
                (setenv "PATH" (string-append out "/bin:" (getenv "PATH")))
                (apply (assoc-ref %standard-phases 'check) args))))
          (add-before 'check 'restore-libidris_rts
@@ -133,8 +132,7 @@
                    (static (assoc-ref outputs "static"))
                    (filename "/lib/idris/rts/libidris_rts.a"))
                (rename-file (string-append static filename)
-                            (string-append out filename))
-               #t))))))
+                            (string-append out filename))))))))
     (native-search-paths
      (list (search-path-specification
             (variable "IDRIS_LIBRARY_PATH")
@@ -192,8 +190,7 @@ Epigram and Agda.")
                                                                 path))
                                                         idris-path-subdirs)))))
             ;; FIXME: Seems to be a bug in idris that causes a dubious failure.
-            (apply system* install-cmd)
-            #t))))))
+            (apply system* install-cmd)))))))
 
 (define-public idris-lightyear
   (let ((commit "6d65ad111b4bed2bc131396f8385528fc6b3678a"))
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index 272f400f67..1995f71cc2 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017 John Darrington <jmd@gnu.org>
-;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2014, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2017, 2019, 2022 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2014, 2021-2022 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -38,6 +38,7 @@
 (define-module (gnu packages image-processing)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
+  #:use-module (guix gexp)
   #:use-module (guix utils)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -69,6 +70,7 @@
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
@@ -91,6 +93,55 @@
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
+;; TODO: this is not reproducible.
+(define-public bart
+  (package
+    (name "bart")
+    (version "0.7.00")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/mrirecon/bart")
+             (commit "d1b0e576c3f759089915565d5bf57832acf7b03e")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "159rj3agr9pb9lg38b56rnw3d8wcbkmb2n718z26zpy4c6a6d9rn"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:test-target "utest"
+      #:make-flags #~(list
+                      (string-append "PREFIX=" #$output)
+                      "OPENBLAS=1"
+                      "SCALAPACK=1"
+                      (string-append "BLAS_BASE=" #$(this-package-input "openblas"))
+                      (string-append "FFTW_BASE=" #$(this-package-input "fftw")))
+      #:phases
+      #~(modify-phases %standard-phases
+          (delete 'configure)
+          (add-after 'unpack 'patch-/bin/bash
+            (lambda _
+              (substitute* "tests/pics.mk"
+                (("/bin/bash") (which "bash"))))))))
+    (inputs
+     (list fftw
+           fftwf
+           libpng
+           openblas
+           python
+           scalapack))
+    (native-inputs
+     (list doxygen
+           util-linux)) ;for flock
+    (home-page "https://mrirecon.github.io/bart/")
+    (synopsis "Toolbox for computational magnetic resonance imaging")
+    (description "The Berkeley Advanced Reconstruction Toolbox (BART) is an
+image-reconstruction framework for Computational Magnetic Resonance Imaging.
+The tools in this software implement various reconstruction algorithms for
+Magnetic Resonance Imaging.")
+    (license license:bsd-3)))
+
 (define-public dcmtk
   (package
     (name "dcmtk")
@@ -314,31 +365,31 @@ many popular formats.")
                  (("fenv.h") "cfenv")))))
        #:tests? #f))        ;XXX: test data not included
     (inputs
-     `(("double-conversion" ,double-conversion)
-       ("eigen" ,eigen)
-       ("expat" ,expat)
-       ("freetype" ,freetype)
-       ("gl2ps" ,gl2ps)
-       ("glew" ,glew)
-       ("glu" ,glu)
-       ("hdf5" ,hdf5)
-       ("jpeg" ,libjpeg-turbo)
-       ("jsoncpp" ,jsoncpp)
-       ("libtheora" ,libtheora)
-       ("libX11" ,libx11)
-       ("libxml2" ,libxml2)
-       ("libXt" ,libxt)
-       ("lz4" ,lz4)
-       ("mesa" ,mesa)
-       ("netcdf" ,netcdf)
-       ("png" ,libpng)
-       ("proj" ,proj)
-       ("python", python)
-       ;("pugixml" ,pugixml)
-       ("sqlite" ,sqlite)
-       ("tiff" ,libtiff)
-       ("xorgproto" ,xorgproto)
-       ("zlib" ,zlib)))
+     (list double-conversion
+           eigen
+           expat
+           freetype
+           gl2ps
+           glew
+           glu
+           hdf5
+           libjpeg-turbo
+           jsoncpp
+           libtheora
+           libx11
+           libxml2
+           libxt
+           lz4
+           mesa
+           netcdf
+           libpng
+           proj
+           python
+           ;("pugixml" ,pugixml)
+           sqlite
+           libtiff
+           xorgproto
+           zlib))
     (propagated-inputs
      ;; VTK's 'VTK-vtk-module-find-packages.cmake' calls
      ;; 'find_package(THEORA)', which in turns looks for libogg.
@@ -370,7 +421,8 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
                 "0pla1r5mvkgl4sl213gfdhzrypdgai0h3z5mfgm6p9jz9hsr794j"))))
     (inputs
      (modify-inputs (package-inputs vtk)
-       (replace "jsoncpp" jsoncpp-for-tensorflow)))))
+       (replace "jsoncpp" jsoncpp-for-tensorflow)
+       (replace "python" python-2)))))         ;fails to build with Python 3.9
 
 (define-public opencv
   (package
@@ -428,6 +480,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
              "-DWITH_ITT=OFF"
              "-DWITH_CAROTENE=OFF" ; only visible on arm/aarch64
              "-DENABLE_PRECOMPILED_HEADERS=OFF"
+             "-DOPENCV_GENERATE_PKGCONFIG=ON"
 
              ;; CPU-Features:
              ;; See cmake/OpenCVCompilerOptimizations.cmake
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 6ab6cf3307..7e3154be91 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -662,91 +662,71 @@ imaging.  It supports several HDR and LDR image formats, and it can:
 
 ;; CBR and RAR are currently unsupported, due to non-free dependencies.
 (define-public mcomix
-  ;; Official mcomix hasn't been updated since 2016, it's broken with
-  ;; python-pillow 6+ and only supports Python 2.  We use fork instead.
-  (let ((commit "fea55a7a9369569eefed72209eed830409c4af98"))
-    (package
-      (name "mcomix")
-      (version (git-version "1.2.1" "1" commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/multiSnow/mcomix3")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32
-           "05zl0dkjwbdcm2zlk4nz9w33amlqj8pbf32a8ymshc2356fqhhi5"))))
-      (build-system python-build-system)
-      (inputs
-       (list p7zip python-pillow python-pygobject python-pycairo))
-      (arguments
-       `(#:tests? #f                    ; FIXME: How do we run tests?
-         #:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'configure
-             (lambda* (#:key inputs #:allow-other-keys)
-               (let ((p7zip (assoc-ref inputs "p7zip")))
-                 ;; insert absolute path to 7z executable
-                 (substitute* "mcomix/mcomix/archive/sevenzip_external.py"
-                   (("_7z_executable = -1")
-                    (string-append "_7z_executable = u'" p7zip "/bin/7z'"))))
-               #t))
-           (replace 'build
-             (lambda* (#:key outputs #:allow-other-keys)
-               (let* ((out (assoc-ref outputs "out"))
-                      (pyver ,(version-major+minor (package-version python)))
-                      (lib (string-append out "/lib/python" pyver)))
-                 (invoke (which "python") "installer.py" "--srcdir=mcomix"
-                         (string-append "--target=" lib))
-                 (rename-file (string-append lib "/mcomix")
-                              (string-append lib "/site-packages"))
-                 #t)))
-           (replace 'install
-             (lambda* (#:key outputs #:allow-other-keys)
-               (let* ((out (assoc-ref outputs "out"))
-                      (share (string-append out "/share"))
-                      (bin (string-append out "/bin"))
-                      (pyver ,(version-major+minor (package-version python)))
-                      (lib (string-append out "/lib/python" pyver "/site-packages")))
-                 (mkdir-p bin)
-                 (rename-file (string-append lib "/mcomixstarter.py")
-                              (string-append bin "/mcomix"))
-                 (rename-file (string-append lib "/comicthumb.py")
-                              (string-append bin "/comicthumb"))
-                 (install-file "mime/mcomix.desktop"
-                               (string-append share "/applications"))
-                 (install-file "mime/mcomix.appdata.xml"
-                               (string-append share "/metainfo"))
-                 (install-file "mime/mcomix.xml"
-                               (string-append share "/mime/packages"))
-                 (install-file "mime/comicthumb.thumbnailer"
-                               (string-append share "/thumbnailers"))
-                 (install-file "man/mcomix.1" (string-append share "/man/man1"))
-                 (install-file "man/comicthumb.1" (string-append share "/man/man1"))
-                 (for-each
-                  (lambda (size)
-                    (install-file
-                     (format #f "mcomix/mcomix/images/~sx~s/mcomix.png" size size)
-                     (format #f "~a/icons/hicolor/~sx~s/apps/" share size size))
-                    (for-each
-                     (lambda (ext)
-                       (install-file
-                        (format #f "mime/icons/~sx~s/application-x-~a.png" size size ext)
-                        (format #f "~a/icons/hicolor/~sx~s/mimetypes/"
-                                share size size)))
-                     '("cb7" "cbr" "cbt" "cbz")))
-                  '(16 22 24 32 48))
-                 #t))))))
-      (home-page "https://sourceforge.net/p/mcomix/wiki/Home/")
-      (synopsis "Image viewer for comics")
-      (description "MComix is a customizable image viewer that specializes as
+  (package
+    (name "mcomix")
+    (version "2.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/mcomix/MComix-" version "/"
+                           "mcomix-" version ".tar.gz"))
+       (sha256
+        (base32
+         "187ca815vxb2in1ryvfiaf1zapi0bc9jxdac3c1bky0kr6x7xyap"))))
+    (build-system python-build-system)
+    (inputs
+     (list p7zip python python-pillow python-pygobject python-pycairo gtk+))
+    (arguments
+     (list
+      #:imported-modules `(,@%python-build-system-modules
+                           (guix build glib-or-gtk-build-system))
+      #:modules '((guix build python-build-system)
+                  ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
+                  (guix build utils))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-source
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "mcomix/archive/sevenzip_external.py"
+                ;; Ensure that 7z is found by hardcoding its absolute path.
+                (("_7z_executable = -1")
+                 (format #f "_7z_executable = ~s"
+                         (search-input-file inputs "/bin/7z"))))
+              (substitute* "mcomix/image_tools.py"
+                (("assert name not in supported_formats_gdk")
+                 "if name in supported_formats_gdk: continue"))))
+         (add-after 'install 'install-data
+           (lambda* (#:key outputs #:allow-other-keys)
+             (with-directory-excursion "mcomix"
+               (for-each
+                (lambda (subdir)
+                  (copy-recursively
+                   subdir
+                   (string-append
+                    (assoc-ref outputs "out")
+                    "/lib/python"
+                    #$(version-major+minor
+                       (package-version (this-package-input "python")))
+                    "/site-packages/mcomix/" subdir)))
+                '("images" "messages")))))
+         (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
+         (add-after 'wrap 'gi-wrap
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+               (for-each
+                (lambda (prog)
+                  (wrap-program prog
+                    `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
+                (list (string-append bin "/mcomix")))))))))
+    (home-page "https://sourceforge.net/p/mcomix/wiki/Home/")
+    (synopsis "Image viewer for comics")
+    (description "MComix is a customizable image viewer that specializes as
 a comic and manga reader.  It supports a variety of container formats
 including CBZ, CB7, CBT, LHA.
 
 For PDF support, install the @emph{mupdf} package.")
-      (license license:gpl2+))))
+    (license license:gpl2+)))
 
 (define-public qview
   (package
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index dcfe8defff..37d58f5d6b 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -191,14 +191,14 @@ SILC and ICB protocols via plugins.")
 (define-public weechat
   (package
     (name "weechat")
-    (version "3.4.1")
+    (version "3.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://weechat.org/files/src/weechat-"
                                   version ".tar.xz"))
               (sha256
                (base32
-                "1rza39xiv24qkjfyw4waxlzhjdl2x9qdvcd6m44cpysxml4q223y"))))
+                "030p1264rrbr5sbyww85xq0cm5zzdmnpz89y9z90ppcfxi64x47a"))))
     (build-system cmake-build-system)
     (outputs '("out" "doc"))
     (native-inputs
@@ -217,6 +217,7 @@ SILC and ICB protocols via plugins.")
            libgcrypt
            ncurses
            zlib
+           (list zstd "lib")
            ;; Scripting language plug-ins.
            guile-3.0
            lua-5.1
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index b27892841e..43422f383f 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2185,7 +2185,12 @@ new Date();"))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "168cr08nywp0q3vyj8njkhsmmnyd8rz9r58hk4xhzdzc6bdfkl1i"))))
+                "168cr08nywp0q3vyj8njkhsmmnyd8rz9r58hk4xhzdzc6bdfkl1i"))
+              (patches
+                (search-patches "openjdk-15-xcursor-no-dynamic.patch"))))
+    (inputs
+     (cons `("libxcursor" ,libxcursor) ; for our patch to work
+           (package-inputs openjdk14)))
     (native-inputs
      `(("autoconf" ,autoconf)
        ("openjdk14:jdk" ,openjdk14 "jdk")
@@ -2208,7 +2213,9 @@ new Date();"))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1ggddsbsar4dj2fycfqqqagqil7prhb30afvq6933rz7pa9apm2f"))))
+                "1ggddsbsar4dj2fycfqqqagqil7prhb30afvq6933rz7pa9apm2f"))
+              (patches
+                (search-patches "openjdk-15-xcursor-no-dynamic.patch"))))
     (native-inputs
      `(("autoconf" ,autoconf)
        ("openjdk15:jdk" ,openjdk15 "jdk")
@@ -2243,7 +2250,9 @@ new Date();"))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1l1jgbz8q7zq66npfg88r0l5xga427vrz35iys09j44b6qllrldd"))))
+                "1l1jgbz8q7zq66npfg88r0l5xga427vrz35iys09j44b6qllrldd"))
+              (patches
+                (search-patches "openjdk-15-xcursor-no-dynamic.patch"))))
     (native-inputs
      `(("autoconf" ,autoconf)
        ("openjdk16:jdk" ,openjdk16 "jdk")
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index aa88d140f5..e914499541 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2016, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2019, 2020, 2022 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016-2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2016 David Craven <david@craven.ch>
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
@@ -1281,7 +1281,7 @@ provides uniform access to generation of barcodes with data.")
     (version "1.2")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://download.kde.org/stable/pulseaudio-qt"
+              (uri (string-append "mirror://kde/stable/pulseaudio-qt"
                                   "/pulseaudio-qt-" version ".tar.xz"))
               (sha256
                (base32
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index f4e0c0cc4b..752f6b499c 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
-;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2022 Vinicius Monego <monego@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -658,7 +658,7 @@ Some features:
         (base32 "0ysa873pc2gip95cxr8yv7ifd9qql5zg6h67i9n9q3iqa6v58iyw"))))
     (build-system qt-build-system)
     (native-inputs
-     (list extra-cmake-modules librsvg pkg-config kdoctools))
+     (list extra-cmake-modules (librsvg-for-system) pkg-config kdoctools))
     (inputs
      (list alsa-lib
            audiofile
diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm
index b17b18bd12..a5acbb0da8 100644
--- a/gnu/packages/kde-pim.scm
+++ b/gnu/packages/kde-pim.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
-;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1336,8 +1336,9 @@ using a Qt/KMime C++ API.")
                       ;; <Libkdepim/MultiplyingLine> without this hack.
                       (setenv "CPLUS_INCLUDE_PATH"
                               (string-append
-                               (search-input-directory inputs "include/KF5")
-                               ":" (or (getenv "CPLUS_INCLUDE_PATH") ""))))))))
+                                (assoc-ref inputs "libkdepim")
+                                "/include/KF5:"
+                                (or (getenv "CPLUS_INCLUDE_PATH") ""))))))))
     (home-page "https://invent.kde.org/pim/messagelib")
     (synopsis "KDE PIM messaging libraries")
     (description "This package provides several libraries for messages,
@@ -1582,7 +1583,7 @@ and exchanging calendar data, vCalendar and iCalendar.")
     (version "0.1")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://download.kde.org/stable/kpeoplevcard/"
+              (uri (string-append "mirror://kde/stable/kpeoplevcard/"
                                   version "/kpeoplevcard-" version ".tar.xz"))
               (sha256
                (base32
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index e88ac7de15..ba81e1c387 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -9,7 +9,7 @@
 ;;; Copyright © 2018, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
-;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de>
 ;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com>
 ;;; Copyright © 2020, 2021, 2022 Zheng Junjie <873216071@qq.com>
 ;;; Copyright © 2021 Alexandros Theodotou <alex@zrythm.org>
@@ -987,7 +987,7 @@ Python, PHP, and Perl.")
 (define-public marble-qt
   (package
     (name "marble-qt")
-    (version "21.08.3")
+    (version "21.12.3")
     (source
      (origin
        (method git-fetch)
@@ -996,7 +996,7 @@ Python, PHP, and Perl.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "15gqym45z0gjzdc4ypfj0fki96c3dad4ygsi6lfr8yvwsx8swrb6"))))
+        (base32 "1h5a7did4shi3z5l0ad9arl6xr79xpjr7dbzx5l8xpp771pb0pcj"))))
     (build-system qt-build-system)
     (arguments
      ;; FIXME: libmarblewidget-qt5.so.28 not found.  Also enable the
@@ -1028,7 +1028,8 @@ Python, PHP, and Perl.")
            qtlocation
            qtserialport
            qtsvg
-           ;; ("qtwebengine" ,qtwebengine) ; FIXME: not found by CMake
+           qtwebchannel
+           qtwebengine
            shapelib
            shared-mime-info
            zlib))
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index c69773c37b..1903dcc669 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -98,8 +98,9 @@
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages cryptsetup)
   #:use-module (gnu packages compression)
-  #:use-module (gnu packages dbm)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages datastructures)
+  #:use-module (gnu packages dbm)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages elf)
@@ -129,6 +130,7 @@
   #:use-module (gnu packages networking)
   #:use-module (gnu packages ninja)
   #:use-module (gnu packages nss)
+  #:use-module (gnu packages onc-rpc)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pciutils)
   #:use-module (gnu packages pkg-config)
@@ -360,55 +362,55 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 ;; The current "stable" kernels. That is, the most recently released major
 ;; versions that are still supported upstream.
 
-(define-public linux-libre-5.16-version "5.16.16")
-(define-public linux-libre-5.16-gnu-revision "gnu")
-(define deblob-scripts-5.16
+(define-public linux-libre-5.17-version "5.17.5")
+(define-public linux-libre-5.17-gnu-revision "gnu")
+(define deblob-scripts-5.17
   (linux-libre-deblob-scripts
-   linux-libre-5.16-version
-   linux-libre-5.16-gnu-revision
-   (base32 "0c9c8zd85p84r8k4xhys8xw15pds71v0ca2b6hm1pr4f6lpzck0g")
-   (base32 "0hpr1qr68xh52gzzw5jbwq4i8qd2a5mfbn8s2jj378550kfsn3c0")))
-(define-public linux-libre-5.16-pristine-source
-  (let ((version linux-libre-5.16-version)
-        (hash (base32 "13qk6cjnjwgnxj25mphyv08pjf1sqz7bxxrr3fpl8gz3aghdd9yc")))
+   linux-libre-5.17-version
+   linux-libre-5.17-gnu-revision
+   (base32 "08ip5g827f30qzb3j2l19zkbdqv00sij46nbrjg75h5kkasdbfgr")
+   (base32 "0h9zm17lb5g93yp8rdzbhznrd5jbrl2k096c28wz6ic6gpz0wrvh")))
+(define-public linux-libre-5.17-pristine-source
+  (let ((version linux-libre-5.17-version)
+        (hash (base32 "11z95wsgmj97pg77yck26l0383gncbla0zwpzv4gjdj4p62x3g4v")))
    (make-linux-libre-source version
                             (%upstream-linux-source version hash)
-                            deblob-scripts-5.16)))
+                            deblob-scripts-5.17)))
 
 ;; The "longterm" kernels — the older releases with long-term upstream support.
 ;; Here are the support timelines:
 ;; <https://www.kernel.org/category/releases.html>
-(define-public linux-libre-5.15-version "5.15.30")
+(define-public linux-libre-5.15-version "5.15.36")
 (define-public linux-libre-5.15-gnu-revision "gnu")
 (define deblob-scripts-5.15
   (linux-libre-deblob-scripts
    linux-libre-5.15-version
    linux-libre-5.15-gnu-revision
-   (base32 "1rfhwfzifmbpnrhmrn3srm736nkm1v6affw915d0fgqzqgi8qfai")
-   (base32 "0mwzr1ffrr02pyy4rhwrv8msm9l59mg1d164j6qif7kkax2mdg66")))
+   (base32 "1n57mz5agvf1d0ggbg080d7hvx8p9y0iqxkq4ypg10a7n96zy7y5")
+   (base32 "1s2s1sjdhblaz80shq1jgp4kp9vi7j1bsh4vvsk28s5m6xwf6yvl")))
 (define-public linux-libre-5.15-pristine-source
   (let ((version linux-libre-5.15-version)
-        (hash (base32 "0ckiz985x88x68psg6wazyk7zpv34k8rbzpzyzj0gaph13za4ki5")))
+        (hash (base32 "1466557034q1fzvpy8vwj8ps3cv2q8s7z76af9y1jz4kgaqmsd1n")))
    (make-linux-libre-source version
                             (%upstream-linux-source version hash)
                             deblob-scripts-5.15)))
 
-(define-public linux-libre-5.10-version "5.10.107")
+(define-public linux-libre-5.10-version "5.10.113")
 (define-public linux-libre-5.10-gnu-revision "gnu1")
 (define deblob-scripts-5.10
   (linux-libre-deblob-scripts
    linux-libre-5.10-version
    linux-libre-5.10-gnu-revision
-   (base32 "1swy3y851jnnmk3hc0khllpsifb98camlwyskpn1dyvjsgjljd8x")
-   (base32 "051ig1nn45jmm3nk7cxnqabcq3nn62d4dq4ggycsbnx24ckkzfrr")))
+   (base32 "0mw7qn77y9c6wrnw4rjvf75cpm1w6n1aqqhf8cnghcb97p2yxxrf")
+   (base32 "0wx0y9fbgfbmhdb8v4ki2hq58m0w6gp66wq944sr5x0sv6m4bgf3")))
 (define-public linux-libre-5.10-pristine-source
   (let ((version linux-libre-5.10-version)
-        (hash (base32 "1snzzhkzdjlj92gqig3sanxlhv0xc0xk2xwjdjr0yds6g43w6ry4")))
+        (hash (base32 "1z3dd5hrdbn2axsi2n70n41q1dq2dvg7s8aph1p6yiajpc16llc2")))
    (make-linux-libre-source version
                             (%upstream-linux-source version hash)
                             deblob-scripts-5.10)))
 
-(define-public linux-libre-5.4-version "5.4.186")
+(define-public linux-libre-5.4-version "5.4.191")
 (define-public linux-libre-5.4-gnu-revision "gnu1")
 (define deblob-scripts-5.4
   (linux-libre-deblob-scripts
@@ -418,12 +420,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
    (base32 "1mp9d0b7mqw7cl65k0a18265cvn4qwcpnvna8r6n5m3y4pz3rik9")))
 (define-public linux-libre-5.4-pristine-source
   (let ((version linux-libre-5.4-version)
-        (hash (base32 "1f9rigm58miq5s98bx7pvylqi9hlzlfnq1nrj4cd8f4arcjcvxv1")))
+        (hash (base32 "0fharjqasvq76pciwci6qamdadpfjh2n8gdyri8fj65drmgsi318")))
    (make-linux-libre-source version
                             (%upstream-linux-source version hash)
                             deblob-scripts-5.4)))
 
-(define-public linux-libre-4.19-version "4.19.235")
+(define-public linux-libre-4.19-version "4.19.240")
 (define-public linux-libre-4.19-gnu-revision "gnu1")
 (define deblob-scripts-4.19
   (linux-libre-deblob-scripts
@@ -433,12 +435,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
    (base32 "1mp9d0b7mqw7cl65k0a18265cvn4qwcpnvna8r6n5m3y4pz3rik9")))
 (define-public linux-libre-4.19-pristine-source
   (let ((version linux-libre-4.19-version)
-        (hash (base32 "1615y3ma9icmqqr7lisl8nd8zvvkh77a81yl39yvy6qi9345l32k")))
+        (hash (base32 "1hj6vngynx6kjaczjl77jjwqq0kh0lm6jdqjvakd1cgrppaizb3j")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.19)))
 
-(define-public linux-libre-4.14-version "4.14.272")
+(define-public linux-libre-4.14-version "4.14.277")
 (define-public linux-libre-4.14-gnu-revision "gnu1")
 (define deblob-scripts-4.14
   (linux-libre-deblob-scripts
@@ -448,12 +450,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
    (base32 "1mp9d0b7mqw7cl65k0a18265cvn4qwcpnvna8r6n5m3y4pz3rik9")))
 (define-public linux-libre-4.14-pristine-source
   (let ((version linux-libre-4.14-version)
-        (hash (base32 "0scx13pc5y5jmm5xa17my242gsgb1mf0cgqzjx656g7kkh4phqcv")))
+        (hash (base32 "058vzn1gcsc194hgwrj78afawz2anm7ga8a1x5m5i4cw8p1arp73")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.14)))
 
-(define-public linux-libre-4.9-version "4.9.307")
+(define-public linux-libre-4.9-version "4.9.312")
 (define-public linux-libre-4.9-gnu-revision "gnu1")
 (define deblob-scripts-4.9
   (linux-libre-deblob-scripts
@@ -463,7 +465,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
    (base32 "0wdaj40pcq9wg5xnz2zj3jj8bawhfgqxcwp6dnavbf9lq0gca48p")))
 (define-public linux-libre-4.9-pristine-source
   (let ((version linux-libre-4.9-version)
-        (hash (base32 "1xyhz7hq8yyclxyavzk36sbl41vlb74pccd56240kq34ma1hyis7")))
+        (hash (base32 "09y6wl4j3y46fza6kmssibmxspxx0i44fqrhc2cyvrm2bgxv2bzs")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.9)))
@@ -496,8 +498,8 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
     (patches (append (origin-patches source)
                      patches))))
 
-(define-public linux-libre-5.16-source
-  (source-with-patches linux-libre-5.16-pristine-source
+(define-public linux-libre-5.17-source
+  (source-with-patches linux-libre-5.17-pristine-source
                        (list %boot-logo-patch
                              %linux-libre-arm-export-__sync_icache_dcache-patch)))
 
@@ -609,10 +611,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
     (description "Headers of the Linux-Libre kernel.")
     (license license:gpl2)))
 
-(define-public linux-libre-headers-5.16
-  (make-linux-libre-headers* linux-libre-5.16-version
-                             linux-libre-5.16-gnu-revision
-                             linux-libre-5.16-source))
+(define-public linux-libre-headers-5.17
+  (make-linux-libre-headers* linux-libre-5.17-version
+                             linux-libre-5.17-gnu-revision
+                             linux-libre-5.17-source))
 
 (define-public linux-libre-headers-5.15
   (make-linux-libre-headers* linux-libre-5.15-version
@@ -743,7 +745,9 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
                       ((option . #t)
                        (string-append option "=y"))
                       ((option . #f)
-                       (string-append option "=n")))
+                       (string-append option "=n"))
+                      ((option . string)
+                       (string-append option "=\"" string "\"")))
                     options)
                "\n"))
 
@@ -924,18 +928,18 @@ It has been modified to remove all non-free binary blobs.")
 ;;; Generic kernel packages.
 ;;;
 
-(define-public linux-libre-5.16
-  (make-linux-libre* linux-libre-5.16-version
-                     linux-libre-5.16-gnu-revision
-                     linux-libre-5.16-source
+(define-public linux-libre-5.17
+  (make-linux-libre* linux-libre-5.17-version
+                     linux-libre-5.17-gnu-revision
+                     linux-libre-5.17-source
                      '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux")
                      #:configuration-file kernel-config))
 
-(define-public linux-libre-version         linux-libre-5.16-version)
-(define-public linux-libre-gnu-revision    linux-libre-5.16-gnu-revision)
-(define-public linux-libre-pristine-source linux-libre-5.16-pristine-source)
-(define-public linux-libre-source          linux-libre-5.16-source)
-(define-public linux-libre                 linux-libre-5.16)
+(define-public linux-libre-version         linux-libre-5.17-version)
+(define-public linux-libre-gnu-revision    linux-libre-5.17-gnu-revision)
+(define-public linux-libre-pristine-source linux-libre-5.17-pristine-source)
+(define-public linux-libre-source          linux-libre-5.17-source)
+(define-public linux-libre                 linux-libre-5.17)
 
 (define-public linux-libre-5.15
   (make-linux-libre* linux-libre-5.15-version
@@ -1160,9 +1164,9 @@ It has been modified to remove all non-free binary blobs.")
 (define-public linux-libre-with-bpf
   (let ((base-linux-libre
          (make-linux-libre*
-          linux-libre-5.16-version
-          linux-libre-5.16-gnu-revision
-          linux-libre-5.16-source
+          linux-libre-5.17-version
+          linux-libre-5.17-gnu-revision
+          linux-libre-5.17-source
           '("x86_64-linux" "i686-linux" "armhf-linux"
             "aarch64-linux" "riscv64-linux")
           #:extra-version "bpf"
@@ -1343,8 +1347,8 @@ and the notification, WiFi, and Bluetooth LED.")
     (license license:gpl2)))
 
 (define-public rtl8821ce-linux-module
-  (let ((commit "ca204c60724d23ab10244f920d4e50759ed1affb")
-        (revision "4"))
+  (let ((commit "dce62b9bbb7c76339b514153fcebb3a19bafdcc7")
+        (revision "5"))
     (package
       (name "rtl8821ce-linux-module")
       (version (git-version "0.0.0" revision commit))
@@ -1357,7 +1361,7 @@ and the notification, WiFi, and Bluetooth LED.")
          (file-name (git-file-name name version))
          (sha256
           (base32
-           "18ma8a8h1l90dss0k6al7q6plwr57jc9g67p22g9917k1jfbhm97"))))
+           "0s5v6z4x7xdgr5qm4q7dr9nd5c8qy28jaw0p78hxji3m8if56vka"))))
       (build-system linux-module-build-system)
       (arguments
        (list #:make-flags
@@ -4879,45 +4883,50 @@ also contains the libsysfs library.")
     (license (list license:gpl2 license:gpl2+ license:lgpl2.1+))))
 
 (define-public cpufrequtils
-  (package
-    (name "cpufrequtils")
-    (version "008")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://kernel.org/linux/utils/kernel/cpufreq/"
-                           "cpufrequtils-" version ".tar.gz"))
-       (sha256
-        (base32 "0xjs8j44hh0cz6qpig1n0iw8xjpr6s5qmcmwh965ngapxgarr7af"))))
-    (build-system gnu-build-system)
-    (arguments
-     `(#:tests? #f                      ; no test suite
-       #:make-flags
-       (let ((out (assoc-ref %outputs "out")))
-         (list "PROC=false"             ; obsoleted by sysfs in Linux 2.6(!)
-               (string-append "CC=" ,(cc-for-target))
-               (string-append "LDFLAGS=-Wl,-rpath=" out "/lib")
-               "INSTALL=install"
-               (string-append "bindir=" out "/bin")
-               (string-append "sbindir=" out "/sbin")
-               (string-append "mandir=" out "/share/man")
-               (string-append "includedir=" out "/include")
-               (string-append "libdir=" out "/lib")
-               (string-append "localedir=" out "/share/locale")
-               (string-append "docdir=" out "/share/doc/" ,name)))
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'configure))))         ; no configure script
-    (native-inputs
-     `(("gettext" ,gettext-minimal)))
-    (home-page
-     "http://ftp.be.debian.org/pub/linux/utils/kernel/cpufreq/cpufrequtils.html")
-    (synopsis "Utilities to get and set CPU frequency on Linux")
-    (description
-     "The cpufrequtils suite contains utilities to retrieve CPU frequency
+  (let ((commit "a2f0c39d5f21596bb9f5223e895c0ff210b265d0")
+        (revision "1"))
+    (package
+      (name "cpufrequtils")
+      (version (git-version "008" revision commit ))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://git.kernel.org/pub/scm/linux/kernel/git/brodo/cpufrequtils.git")
+           (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "01n2hp6v89cilqqvqvlcprphyhnljsjclh4h1zf3b1l7ypz29lbp"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f                      ; no test suite
+         #:make-flags
+         (let ((out (assoc-ref %outputs "out")))
+           (list "PROC=false"             ; obsoleted by sysfs in Linux 2.6(!)
+                 (string-append "CC=" ,(cc-for-target))
+                 (string-append "LDFLAGS=-Wl,-rpath=" out "/lib")
+                 "INSTALL=install"
+                 (string-append "bindir=" out "/bin")
+                 (string-append "sbindir=" out "/sbin")
+                 (string-append "mandir=" out "/share/man")
+                 (string-append "includedir=" out "/include")
+                 (string-append "libdir=" out "/lib")
+                 (string-append "localedir=" out "/share/locale")
+                 (string-append "docdir=" out "/share/doc/" ,name)))
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure))))         ; no configure script
+      (native-inputs
+       `(("gettext" ,gettext-minimal)))
+      (home-page
+       "http://ftp.be.debian.org/pub/linux/utils/kernel/cpufreq/cpufrequtils.html")
+      (synopsis "Utilities to get and set CPU frequency on Linux")
+      (description
+       "The cpufrequtils suite contains utilities to retrieve CPU frequency
 information, and set the CPU frequency if supported, using the cpufreq
 capabilities of the Linux kernel.")
-    (license license:gpl2)))
+      (license license:gpl2))))
 
 (define-public libite
   (package
@@ -6188,6 +6197,14 @@ from the ntfs-3g package.  It is meant to be used in initrds.")
        ;; to do the same for consistency.
        #:configure-flags (list "-GNinja"
 
+                               ,@(if (%current-target-system)
+                                   `((string-append
+                                       "-DPKG_CONFIG_EXECUTABLE="
+                                       (search-input-file
+                                         %build-inputs
+                                         (string-append "/bin/"
+                                                        ,(pkg-config-for-target)))))
+                                   '())
                                (string-append "-DRST2MAN_EXECUTABLE="
                                               (assoc-ref %build-inputs
                                                          "python-docutils")
@@ -6706,8 +6723,7 @@ developers.")
                           (string-append "PREFIX=" %output))
        #:tests? #f))                    ; no tests
     (native-inputs
-     `(("gettext" ,gettext-minimal)
-       ("pkg-config" ,pkg-config)))
+     (list gettext-minimal pkg-config))
     (inputs
      (list libdrm libpciaccess libxcb ncurses))
     (home-page "https://github.com/clbr/radeontop/")
@@ -6731,7 +6747,10 @@ under OpenGL graphics workloads.")
                                   "-" version ".tar.bz2"))
               (sha256
                (base32
-                "0jaka7b4lccswjqiv4liclkj6w78gildg7vd6dnw3wf595pfs67h"))))
+                "0jaka7b4lccswjqiv4liclkj6w78gildg7vd6dnw3wf595pfs67h"))
+              (patches
+               (search-patches "efivar-211.patch"))))
+
     (build-system gnu-build-system)
     (arguments
      (list
@@ -7232,11 +7251,11 @@ used by nftables.")
         (base32 "08x4xw0s5sap3q7jfr91v7mrkxrydi4dvsckw85ims0qb1ibmviw"))))
     (build-system gnu-build-system)
     (arguments `(#:configure-flags
-                 '("--disable-man-doc"  ; FIXME: needs docbook2x
-                   "--disable-static"
-                   "--with-cli=readline")))
-    (inputs (list gmp libmnl libnftnl readline))
-    (native-inputs (list pkg-config bison flex))
+                 '("--disable-static"
+                   "--with-cli=readline"
+                   "--with-json")))
+    (inputs (list gmp libmnl libnftnl readline jansson))
+    (native-inputs (list pkg-config bison flex docbook2x))
     (home-page "https://www.nftables.org")
     (synopsis "Userspace utility for Linux packet filtering")
     (description "nftables is the project that aims to replace the existing
@@ -7247,6 +7266,336 @@ infrastructure such as the existing hooks, the connection tracking system, the
 userspace queueing component and the logging subsystem.")
     (license license:gpl2)))
 
+(define-public libnetfilter-conntrack
+  (package
+    (name "libnetfilter-conntrack")
+    (version "1.0.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://netfilter.org/projects/"
+                           "libnetfilter_conntrack/files/"
+                           "libnetfilter_conntrack-"
+                           version ".tar.bz2"))
+       (sha256
+        (base32
+         "1ky1mqgnplw2h9jf0kn0a69d94jkydhbiipng9l2hdcj13h3pl8c"))))
+    (build-system gnu-build-system)
+    (native-inputs (list pkg-config))
+    (inputs (list libnfnetlink libmnl))
+    (synopsis "Library for kernel connection tracking state table")
+    (description "libnetfilter_conntrack is a userspace library providing a
+programming interface (API) to the in-kernel connection tracking state table.
+The library libnetfilter_conntrack has been previously known as
+libnfnetlink_conntrack and libctnetlink.  This library is currently used by
+conntrack-tools among many other applications.")
+    (home-page "https://netfilter.org/projects/libnetfilter_conntrack/index.html")
+    (supported-systems (filter target-linux? %supported-systems))
+    (properties '((upstream-name . "libnetfilter_conntrack")))
+    (license license:gpl2+)))
+
+(define-public libnetfilter-cttimeout
+  (package
+    (name "libnetfilter-cttimeout")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://netfilter.org/projects/"
+                           "libnetfilter_cttimeout/files/"
+                           "libnetfilter_cttimeout-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "1fpyz1zlvcq80244knvyvy87909xjqlj02lmw8yblz2m9xsi5axf"))))
+    (build-system gnu-build-system)
+    (native-inputs (list pkg-config))
+    (inputs (list libmnl))
+    (synopsis "Library for kernel connection tracking timeout infrastructure")
+    (description "libnetfilter_cttimeout is the userspace library that
+provides the programming interface to the fine-grain connection tracking
+timeout infrastructure.  With this library, you can create, update and delete
+timeout policies that can be attached to traffic flows.  This library is used
+by conntrack-tools.")
+    (home-page "https://netfilter.org/projects/libnetfilter_cttimeout/index.html")
+    (supported-systems (filter target-linux? %supported-systems))
+    (properties '((upstream-name . "libnetfilter_cttimeout")))
+    (license license:gpl2)))
+
+(define-public libnetfilter-cthelper
+  (package
+    (name "libnetfilter-cthelper")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://netfilter.org/projects/"
+                           "libnetfilter_cthelper/files/"
+                           "libnetfilter_cthelper-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "0gfgzkc1fjniqwk4jxds72c0lcgfhq2591hrvjrvd9nrqiqqwq87"))))
+    (build-system gnu-build-system)
+    (native-inputs (list pkg-config))
+    (inputs (list libmnl))
+    (synopsis "Library for user-space connection tracking helpers")
+    (description "libnetfilter_cthelper is a userspace library that provides a
+programming interface to user-space connection tracking helpers.
+@enumerate
+@item
+register new user-space connection tracking helpers
+@item
+unregister user-space connection tracking helpers
+@item
+list existing registered user-space connection tracking helpers
+@end enumerate")
+    (home-page "https://netfilter.org/projects/libnetfilter_cthelper/index.html")
+    (supported-systems (filter target-linux? %supported-systems))
+    (properties '((upstream-name . "libnetfilter_cthelper")))
+    (license license:gpl2+)))
+
+(define-public libnetfilter-queue
+  (package
+    (name "libnetfilter-queue")
+    (version "1.0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://netfilter.org/projects/"
+                           "libnetfilter_queue/files/"
+                           "libnetfilter_queue-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "1xdra6i4p8jkv943ygjw646qx8df27f7p5852kc06vjx608krzzr"))))
+    (build-system gnu-build-system)
+    (native-inputs (list pkg-config))
+    (inputs (list libmnl libnfnetlink))
+    (synopsis "Library for kernel netfilter infrastructure and state")
+    (description "libnetfilter_queue is a userspace library providing an API
+to packets that have been queued by the kernel packet filter.  It is is part
+of a system that deprecates the old ip_queue/libipq mechanism.")
+    (home-page "https://netfilter.org/projects/libnetfilter_queue/index.html")
+    (supported-systems (filter target-linux? %supported-systems))
+    (properties '((upstream-name . "libnetfilter_queue")))
+    (license license:gpl2+)))
+
+(define-public conntrack-tools
+  (package
+    (name "conntrack-tools")
+    (version "1.4.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://netfilter.org/projects/"
+                           "conntrack-tools/files/"
+                           "conntrack-tools-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "0psx41bclqrh4514yzq03rvs3cq3scfpd1v4kkyxnic2hk65j22r"))))
+    (build-system gnu-build-system)
+    (native-inputs (list bison flex pkg-config))
+    (inputs (list libtirpc
+                  libnetfilter-conntrack
+                  libnetfilter-cttimeout
+                  libnetfilter-cthelper
+                  libnetfilter-queue
+                  libnfnetlink
+                  libmnl))
+    (synopsis "Set of tools targeting the conntrack kernel subsystem")
+    (description "The tool conntrack provides a full featured interface that
+is intended to replace the old @file{/proc/net/ip_conntrack} interface.  Using
+conntrack, you can view and manage the in-kernel connection tracking state
+table from userspace.  On the other hand, conntrackd covers the specific
+aspects of stateful firewalls to enable highly available scenarios, and can be
+used as statistics collector as well.
+
+Since 1.2.0, the conntrack-tools includes the @command{nfct} command line
+utility.  This utility only supports the nfnetlink_cttimeout by now.  In the
+long run, we expect that it will replace conntrack by providing a syntax
+similar to nftables.")
+    (home-page "https://netfilter.org/projects/conntrack-tools/index.html")
+    (supported-systems (filter target-linux? %supported-systems))
+    (license license:gpl2+)))
+
+(define-public libnetfilter-acct
+  (package
+    (name "libnetfilter-acct")
+    (version "1.0.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://netfilter.org/projects/"
+                           "libnetfilter_acct/files/"
+                           "libnetfilter_acct-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "06lsjndgfjsgfjr43px2n2wk3nr7whz6r405mks3887y7vpwwl22"))))
+    (build-system gnu-build-system)
+    (native-inputs (list pkg-config))
+    (inputs (list libmnl))
+    (synopsis "Library providing interface to extended accounting infrastructure")
+    (description "libnetfilter_acct is the userspace library providing interface
+to extended accounting infrastructure.
+
+@enumerate
+@item
+creating accounting objects
+@item
+retrieving accounting objects (and atomically set to zero)
+@item
+deleting accounting objects
+@end enumerate
+For the nfnetlink_acct subsystem.")
+    (home-page "https://netfilter.org/projects/libnetfilter_acct/index.html")
+    (supported-systems (filter target-linux? %supported-systems))
+    (properties '((upstream-name . "libnetfilter_acct")))
+    (license license:lgpl2.1+)))
+
+(define-public nfacct
+  (package
+    (name "nfacct")
+    (version "1.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://netfilter.org/projects/" name
+                           "/files/nfacct-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "0sdxbxjyapbqcp2ami5jd10vz4xbbdvx39f3wfy1iqsbflc25zzc"))))
+    (build-system gnu-build-system)
+    (native-inputs (list pkg-config))
+    (inputs (list libmnl libnetfilter-acct))
+    (synopsis "Command line tool to create/retrieve/delete accounting objects")
+    (description "nfacct is the command line tool to create/retrieve/delete
+accounting objects
+@enumerate
+@item
+listing the objects of the nfacct table in plain text/XML
+@item
+atomically get and reset objects of the nfacct table
+@item
+adding new objects to the nfacct table
+@item
+deleting objects from the nfacct table
+@end enumerate")
+    (home-page "https://netfilter.org/projects/nfacct/index.html")
+    (supported-systems (filter target-linux? %supported-systems))
+    (license license:gpl2+)))
+
+(define-public libnetfilter-log
+  (package
+    (name "libnetfilter-log")
+    (version "1.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://netfilter.org/projects/"
+                           "libnetfilter_log/files/"
+                           "libnetfilter_log-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "1spy9xs41v76kid5ana8n126f3mvgq6fjibbfbj4kn0larbhix73"))))
+    (build-system gnu-build-system)
+    (native-inputs (list pkg-config))
+    (inputs (list libnfnetlink libmnl))
+    (synopsis "Library providing interface to packets logged by netfilter")
+    (description "libnetfilter_log is a userspace library providing interface to
+packets that have been logged by the kernel packet filter.  It is is part of a
+system that deprecates the old syslog/dmesg based packet logging.  This library
+has been previously known as libnfnetlink_log.
+
+@enumerate
+@item
+receiving to-be-logged packets from the kernel nfnetlink_log subsystem
+@end enumerate")
+    (home-page "https://netfilter.org/projects/libnetfilter_log/index.html")
+    (supported-systems (filter target-linux? %supported-systems))
+    (properties '((upstream-name . "libnetfilter_log")))
+    (license license:gpl2+)))
+
+(define-public ulogd
+  (package
+    (name "ulogd")
+    (version "2.0.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://netfilter.org/projects/" name
+                           "/files/ulogd-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "0ax9959c4bapq78n13bbaibcf1gwjir3ngx8l2dh45lw9m4ha2lr"))))
+    (build-system gnu-build-system)
+    (outputs '("out"
+               ;; additonal non-default output plugins
+               "json" "pcap" "sqlite3" "pgsql" "mysql"))
+    (native-inputs (list pkg-config))
+    (inputs (list libnfnetlink
+                  libmnl
+                  libnetfilter-log
+                  libnetfilter-conntrack
+                  libnetfilter-acct
+                  sqlite
+                  libpcap
+                  jansson
+                  postgresql
+                  mysql
+                  zlib
+                  openssl))
+    (arguments
+     (list #:configure-flags
+           #~(list (string-append "--with-pgsql="
+                                  (assoc-ref %build-inputs "postgresql"))
+                   (string-append "--with-mysql="
+                                  (assoc-ref %build-inputs "mysql")))
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'install 'install-doc
+                 (lambda _
+                   (let ((out-etc (string-append #$output "/etc"))
+                         (ulogd.conf "ulogd.conf"))
+                     (mkdir-p out-etc)
+                     (copy-file ulogd.conf (string-append out-etc "/"
+                                                          ulogd.conf)))))
+               (add-after 'install 'setup-plugin-outputs
+                 (lambda* (#:key outputs #:allow-other-keys)
+                   (with-directory-excursion
+                       (string-append #$output "/lib/ulogd/")
+                     (for-each
+                      (lambda (output-name)
+                        (let ((output-dir (string-append
+                                           (assoc-ref outputs output-name)
+                                           "/lib/ulogd/")))
+                          (mkdir-p output-dir)
+                          (for-each
+                           (lambda (plugin)
+                             (copy-file plugin (string-append output-dir plugin))
+                             (delete-file plugin))
+                           (find-files "."
+                                       (string-append "ulogd_output_"
+                                                      (string-upcase output-name)
+                                                      ".*$")))))
+                      (list "json" "pcap" "sqlite3" "pgsql" "mysql"))))))))
+    (synopsis "Logging daemon for netfilter and iptables")
+    (description "ulogd is a userspace logging daemon for netfilter/iptables
+related logging.  This includes per-packet logging of security violations,
+per-packet logging for accounting, per-flow logging and flexible user-defined
+accounting.
+
+@enumerate
+@item
+Packet and flow-based traffic accounting
+@item
+Flexible user-defined traffic accounting via nfacct infrastructure
+@item
+SQL database back-end support: SQLite3, PostgreSQL, MySQL
+@item
+Text-based output formats: CSV, XML, Netfilter's LOG, Netfilter's conntrack
+@end enumerate")
+    (home-page "https://netfilter.org/projects/nfacct/index.html")
+    (supported-systems (filter target-linux? %supported-systems))
+    (license license:gpl2)))
+
 (define-public proot
   (package
     (name "proot")
@@ -8021,34 +8370,19 @@ from the xfsprogs package.  It is meant to be used in initrds.")
 (define-public genext2fs
   (package
     (name "genext2fs")
-    (version "1.4.1-4")
+    (version "1.5.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/jeremie-koenig/genext2fs")
-                    ;; 1.4.1-3 had a VCS tag but 1.4.1-4 doesn't.
-                    (commit "9ee43894634998b0b2b309d636f25c64314c9421")))
+                    (url "https://github.com/bestouff/genext2fs")
+                    (commit "474111097321f03de9e009aa9f7d4a8948e310b2")))
               (file-name (git-file-name name version))
               (sha256
-               (base32 "0ib5icn78ciz00zhc1bgdlrwaxvsdz7wnplwblng0jirwi9ml7sq"))))
+               (base32 "14lgvml5zz99845ja47jpf4iirjzfqv36ffzachh3hw2ggji9c7l"))))
     (build-system gnu-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'apply-debian-patches
-           ;; Debian changes (the revision after ‘-’ in VERSION) are
-           ;; maintained as separate patches.  Apply those relevant to us.
-           (lambda _
-             (for-each
-              (lambda (file-name)
-                (invoke "patch" "-p1" "-i"
-                        (string-append "debian/patches/" file-name)))
-              (list "blocksize+creator.diff" ; add -B/-o options
-                    "byteswap_fix.diff"))
-             #t)))))
     (native-inputs
      (list autoconf automake))
-    (home-page "https://github.com/jeremie-koenig/genext2fs")
+    (home-page "https://github.com/bestouff/genext2fs")
     (synopsis "Generate ext2 file system as a normal user")
     (description "This package provides a program to generate an ext2
 file system as a normal (non-root) user.  It does not require you to mount
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 85f8af31bb..4e8e0a4bfc 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -23,7 +23,7 @@
 ;;; Copyright © 2020, 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
 ;;; Copyright © 2021, 2022 Aurora <rind38@disroot.org>
 ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
-;;; Copyright © 2021 André A. Gomes <andremegafone@gmail.com>
+;;; Copyright © 2021, 2022 André A. Gomes <andremegafone@gmail.com>
 ;;; Copyright © 2021, 2022 Cage <cage-dev@twistfold.it>
 ;;; Copyright © 2021 Cameron Chaparro <cameron@cameronchaparro.com>
 ;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
@@ -32,6 +32,8 @@
 ;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
 ;;; Copyright © 2021 Jacob MacDonald <jaccarmac@gmail.com>
 ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
+;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
+;;; Copyright © 2022 Thomas Albers Raviola <thomas@thomaslabs.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -101,6 +103,7 @@
   #:use-module (gnu packages statistics)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages version-control)
   #:use-module (gnu packages video)
   #:use-module (gnu packages web)
   #:use-module (gnu packages webkit)
@@ -664,6 +667,96 @@ expression library for Common Lisp.  It is a non-recursive, backtracing VM.")
 (define-public cl-re
   (sbcl-package->cl-source-package sbcl-re))
 
+(define-public sbcl-boost-parse
+  (let ((commit "c8f7e536b950752f3e35003e7ee0446e0fd51b50")
+        (revision "0"))
+    (package
+      (name "sbcl-boost-parse")
+      (version (git-version "1.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/cl-boost/parse")
+               (commit commit)))
+         (file-name (git-file-name "cl-boost-parse" version))
+         (sha256
+          (base32 "0djnp392n9wgpr9r2ycnwkglad5mn285yvr53jx3g7anm2p8r0vf"))))
+      (build-system asdf-build-system/sbcl)
+      (home-page "https://github.com/cl-boost/parse")
+      (synopsis "Monadic parsing for Common Lisp")
+      (description
+       "BOOST-PARSE is a simple token parsing library for Common Lisp.")
+      (license license:asl2.0))))
+
+(define-public cl-boost-parse
+  (sbcl-package->cl-source-package sbcl-boost-parse))
+
+(define-public ecl-boost-parse
+  (sbcl-package->ecl-package sbcl-boost-parse))
+
+(define-public sbcl-boost-re
+  (let ((commit "d279fc58abf76d0c40aa6cde42e17a0591bc2c5d")
+        (revision "0"))
+    (package
+      (name "sbcl-boost-re")
+      (version (git-version "1.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/cl-boost/re")
+               (commit commit)))
+         (file-name (git-file-name "cl-boost-re" version))
+         (sha256
+          (base32 "1h9c2rdhw6m1pm67gqbj46y2vb1kc3i1c9y3l4qhgfz14dbk80a2"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       (list sbcl-boost-parse))
+      (home-page "https://github.com/cl-boost/re")
+      (synopsis "Lua-style string pattern matching for Common Lisp")
+      (description
+       "BOOST-RE is a small, portable, lightweight, and quick, regular
+expression library for Common Lisp.  It is a non-recursive, backtracking VM.")
+      (license license:asl2.0))))
+
+(define-public cl-boost-re
+  (sbcl-package->cl-source-package sbcl-boost-re))
+
+(define-public ecl-boost-re
+  (sbcl-package->ecl-package sbcl-boost-re))
+
+(define-public sbcl-boost-lexer
+  (let ((commit "139ca9e9580f890698deec05061e495376b7735a")
+        (revision "0"))
+    (package
+      (name "sbcl-boost-lexer")
+      (version (git-version "1.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/cl-boost/lexer")
+               (commit commit)))
+         (file-name (git-file-name "cl-boost-lexer" version))
+         (sha256
+          (base32 "01vsczb5cn62k2hkkn39xwh5fjn2x0b507n7afia98jnhhk3d5x4"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       (list sbcl-boost-re))
+      (home-page "https://github.com/cl-boost/lexer")
+      (synopsis "String tokenizing for Common Lisp")
+      (description
+       "BOOST-LEXER is a tokenizer for Common Lisp that makes heavy use of
+BOOST-RE.")
+      (license license:asl2.0))))
+
+(define-public cl-boost-lexer
+  (sbcl-package->cl-source-package sbcl-boost-lexer))
+
+(define-public ecl-boost-lexer
+  (sbcl-package->ecl-package sbcl-boost-lexer))
+
 (define-public sbcl-ubiquitous
   (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
         (revision "1"))
@@ -1025,10 +1118,11 @@ antialiased TrueType font rendering using CLX and XRender extension.")
   (sbcl-package->ecl-package sbcl-clx-truetype))
 
 (define-public sbcl-slynk
-  (let ((commit "0470c0281498b9de072fcbf3718fc66720eeb3d0"))
+  (let ((commit "4513c382f07a2a2cedb3c046231b69eae2f5e6f0")
+        (revision "6"))
     (package
       (name "sbcl-slynk")
-      (version (git-version "1.0.43" "5" commit))
+      (version (git-version "1.0.43" revision commit))
       (source
        (origin
          (method git-fetch)
@@ -1037,8 +1131,8 @@ antialiased TrueType font rendering using CLX and XRender extension.")
            (url "https://github.com/joaotavora/sly")
            (commit commit)))
          (sha256
-          (base32 "1ws2a9azmdkkg47xnd4jggna45nf0bh54gyp0799b44c4bgjp029"))
-         (file-name (git-file-name "slynk" version))))
+          (base32 "10bzxhi5d7h18hqclxqy2z857d0sfbsnyxvrhmfkdi0h75zz7m4n"))
+         (file-name (git-file-name "cl-slynk" version))))
       (build-system asdf-build-system/sbcl)
       (outputs '("out" "image"))
       (arguments
@@ -1524,6 +1618,41 @@ and macros, primarily for software projects written in CL by the author.")
 (define-public cl-piping
   (sbcl-package->cl-source-package sbcl-piping))
 
+(define-public sbcl-bobbin
+  (let ((commit "b454e8241b24ceab674eeeae464c8082b1b6d8ce")
+        (revision "0"))
+    (package
+      (name "sbcl-bobbin")
+      (version (git-version "1.0.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/sjl/bobbin")
+               (commit commit)))
+         (file-name (git-file-name "cl-bobbin" version))
+         (sha256
+          (base32 "02lw7w8cbvnxw5acbz405rb5lcqsf4fx7dvj5ldr0lhgbyv1mjnm"))))
+      (build-system asdf-build-system/sbcl)
+      (native-inputs
+       (list sbcl-1am))
+      (inputs
+       (list sbcl-split-sequence))
+      (home-page "https://docs.stevelosh.com/bobbin/")
+      (synopsis "Simple (word) wrapping utilities for strings")
+      (description
+       "Bobbin is a simple word-wrapping library for strings in Common Lisp.
+It aims to be simple, work nicely for the majority of cases, and degrade
+gracefully for edge cases.  It is not particularly concerned with speed — if
+you need very high-performance word wrapping, Bobbin is not for you.")
+      (license license:expat))))
+
+(define-public cl-bobbin
+  (sbcl-package->cl-source-package sbcl-bobbin))
+
+(define-public ecl-bobbin
+  (sbcl-package->ecl-package sbcl-bobbin))
+
 (define-public sbcl-cl-pcg
   (let ((commit "8263d85ab0ca17fb05637a4430c2d564456bce8f")
         (revision "1"))
@@ -2800,8 +2929,7 @@ is statically typed so there are differences.")
            (lambda _
              ;; This is apparently deprecated since libffi-3.3.
              (substitute* "libffi/libffi-types.lisp"
-               (("\\\(\\\(:unix64.*") ")\n"))
-             #t))
+               (("\\\(\\\(:unix64.*") ")\n"))))
          (add-after 'unpack 'fix-paths
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "libffi/libffi.lisp"
@@ -3522,23 +3650,22 @@ Lisp (from GBBopen project).")
 (define-public sbcl-usocket
   (package
     (name "sbcl-usocket")
-    (version "0.8.3")
+    (version "0.8.4")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/usocket/usocket/")
              (commit (string-append "v" version))))
-       (file-name (git-file-name "usocket" version))
+       (file-name (git-file-name "cl-usocket" version))
        (sha256
         (base32
-         "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
+         "0l5alk6nph6kxgd84pxq8d56pz3ywnpp0kpnlg4cadaics3hycg7"))))
     (build-system asdf-build-system/sbcl)
     (native-inputs
      (list sbcl-rt))
     (inputs
-     `(("bordeaux-threads" ,sbcl-bordeaux-threads)
-       ("split-sequence" ,sbcl-split-sequence)))
+     (list sbcl-bordeaux-threads sbcl-split-sequence))
     (arguments
      `(#:tests? #f ; FIXME: Tests need network access?
        #:asd-systems '("usocket"
@@ -3968,8 +4095,8 @@ defined in RFC 2616.")
 
 (define-public sbcl-cl-who
   (let ((version "1.1.4")
-        (commit "0d3826475133271ee8c590937136c1bc41b8cbe0")
-        (revision "2"))
+        (commit "07dafe9b351c32326ce20b5804e798f10d4f273d")
+        (revision "3"))
     (package
       (name "sbcl-cl-who")
       (version (git-version version revision commit))
@@ -3982,7 +4109,7 @@ defined in RFC 2616.")
          (file-name (git-file-name "cl-who" version))
          (sha256
           (base32
-           "0sc8nji9q1df04lhsiwsjy1a35996bibl31w5hp5sh8q6sa122dy"))))
+           "1rdvs113q6d46cblwhsv1vmm31p952wyzkyibqix0ypadpczlgp5"))))
       (build-system asdf-build-system/sbcl)
       (native-inputs
        (list sbcl-flexi-streams))
@@ -4826,8 +4953,8 @@ mime-type of a file.")
   (sbcl-package->ecl-package sbcl-trivial-mimes))
 
 (define-public sbcl-ningle
-  (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
-        (revision "1"))
+  (let ((commit "2e85675bbb668d6ef341514fc9f22391a0f506b1")
+        (revision "2"))
     (package
       (name "sbcl-ningle")
       (version (git-version "0.3.0" revision commit))
@@ -4837,36 +4964,12 @@ mime-type of a file.")
          (uri (git-reference
                (url "https://github.com/fukamachi/ningle")
                (commit commit)))
-         (file-name (git-file-name name version))
+         (file-name (git-file-name "cl-ningle" version))
          (sha256
-          (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
+          (base32 "0s9nn8ml1j4839rycvdjcbsynkqnhxw1zmrgpjz48smscwdf1f8p"))))
       (build-system asdf-build-system/sbcl)
       (arguments
-       ;; TODO: pull in clack-test
-       '(#:tests? #f
-         #:phases
-         (modify-phases %standard-phases
-           (delete 'cleanup-files)
-           (delete 'cleanup)
-           (add-before 'cleanup 'combine-fasls
-             (lambda* (#:key outputs #:allow-other-keys)
-               (let* ((out (assoc-ref outputs "out"))
-                      (lib (string-append out "/lib/sbcl"))
-                      (ningle-path (string-append lib "/ningle"))
-                      (fasl-files (find-files out "\\.fasl$")))
-                 (mkdir-p ningle-path)
-                 (let ((fasl-path (lambda (name)
-                                    (string-append ningle-path
-                                                   "/"
-                                                   (basename name)
-                                                   "--system.fasl"))))
-                   (for-each (lambda (file)
-                               (rename-file file
-                                            (fasl-path
-                                             (basename file ".fasl"))))
-                             fasl-files))
-                 fasl-files)
-               #t)))))
+       '(#:tests? #f)) ; TODO: pull in clack-test
       (native-inputs
        (list sbcl-prove))
       (inputs
@@ -4928,8 +5031,8 @@ mostly Common Lisp implementation.")
   (sbcl-package->ecl-package sbcl-cl-fastcgi))
 
 (define-public sbcl-clack
-  (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
-        (revision "1"))
+  (let ((commit "6fd0279424f7ba5fd4f92d69a1970846b0b11222")
+        (revision "2"))
     (package
       (name "sbcl-clack")
       (version (git-version "2.0.0" revision commit))
@@ -4939,9 +5042,9 @@ mostly Common Lisp implementation.")
          (uri (git-reference
                (url "https://github.com/fukamachi/clack")
                (commit commit)))
-         (file-name (git-file-name name version))
+         (file-name (git-file-name "cl-clack" version))
          (sha256
-          (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
+          (base32 "0sfmvqmsg9z13x0v77448rpdqgyprdq739nsbrjw9a28hv9jmkg9"))))
       (build-system asdf-build-system/sbcl)
       (inputs
        `(("alexandria" ,sbcl-alexandria)
@@ -5174,10 +5277,41 @@ port within a range.")
 (define-public ecl-find-port
   (sbcl-package->ecl-package sbcl-find-port))
 
-(define-public sbcl-py4cl
-  (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
+(define-public sbcl-numpy-file-format
+  (let ((commit "e97aef6c592a412fdd1afa9a5f09d0b1ce134510")
         (revision "1"))
     (package
+      (name "sbcl-numpy-file-format")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/marcoheisig/numpy-file-format")
+               (commit commit)))
+         (file-name (git-file-name "cl-numpy-file-format" version))
+         (sha256
+          (base32 "0j7jjcf6k3anvgpm4nf81g6gbhff44v0v9rai7kwm2bm3abzsjfd"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       (list sbcl-ieee-floats sbcl-trivial-features))
+      (home-page "https://github.com/marcoheisig/numpy-file-format")
+      (synopsis "Read and write NumPy .npy and .npz files")
+      (description
+       "The NUMPY-FILE-FORMAT library is a Common Lisp library for reading and
+writing NumPy @file{.npy} and @file{.npz} files.")
+      (license license:expat))))
+
+(define-public cl-numpy-file-format
+  (sbcl-package->cl-source-package sbcl-numpy-file-format))
+
+(define-public ecl-numpy-file-format
+  (sbcl-package->ecl-package sbcl-numpy-file-format))
+
+(define-public sbcl-py4cl
+  (let ((commit "2f2a008dd6162d4446803971292fe1b323fe0dd5")
+        (revision "2"))
+    (package
       (name "sbcl-py4cl")
       (version (git-version "0.0.0" revision commit))
       (source
@@ -5189,21 +5323,27 @@ port within a range.")
          (file-name (git-file-name name version))
          (sha256
           (base32
-           "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
+           "1zx1kpfpd8mi1qaa7gr32mki6nvl6pqcs3437fvn4xa3yf7ybsha"))
          (modules '((guix build utils)))))
       (build-system asdf-build-system/sbcl)
       (native-inputs
        (list sbcl-clunit))
       (inputs
-       (list sbcl-trivial-garbage))
+       (list python sbcl-trivial-garbage))
       (propagated-inputs
-       ;; This package doesn't do anything without python available
-       (list python
-             ;; For multi-dimensional array support
+       (list ;; For multi-dimensional array support
              python-numpy))
       (arguments
        '(#:phases
          (modify-phases %standard-phases
+           (add-after 'unpack 'fix-python3-path
+             (lambda* (#:key inputs #:allow-other-keys)
+               (substitute* "src/python-process.lisp"
+                 (("\\*python-command\\* \"python\"")
+                  (string-append "*python-command* "
+                                 "\""
+                                 (search-input-file inputs "/bin/python3")
+                                 "\"")))))
            (add-after 'unpack 'replace-*base-directory*-var
              (lambda* (#:key outputs #:allow-other-keys)
                ;; In the ASD, the author makes an attempt to
@@ -5211,12 +5351,14 @@ port within a range.")
                ;; source-code so lisp can call into "py4cl.py". We can
                ;; hard-code this since we know where this file will
                ;; reside.
-               (substitute* "src/callpython.lisp"
+               (substitute* "src/python-process.lisp"
                  (("py4cl/config:\\*base-directory\\*")
                   (string-append
                    "\""
                    (assoc-ref outputs "out")
-                   "/share/common-lisp/sbcl-source/py4cl/"
+                   "/share/common-lisp/"
+                   (%lisp-type)
+                   "/py4cl/"
                    "\""))))))))
       (synopsis "Call python from Common Lisp")
       (description
@@ -6201,27 +6343,27 @@ Trivia.")
 ;;; Split the trivia package in two to work around the circular dependency
 ;;; between guicho271828/trivia and guicho271828/type-i.
 (define-public sbcl-trivia.trivial
-  (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
-        (revision "3"))
+  (let ((commit "8b406c3f83521d290e97bb787d3f6c1eb3b716af")
+        (revision "0"))
     (package
       (name "sbcl-trivia.trivial")
-      (version (git-version "0.0.0" revision commit))
+      (version (git-version "0.1" revision commit))
       (source
        (origin
          (method git-fetch)
          (uri (git-reference
                (url "https://github.com/guicho271828/trivia")
                (commit commit)))
-         (file-name (git-file-name "trivia" version))
+         (file-name (git-file-name "cl-trivia" version))
          (sha256
           (base32
-           "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
+           "0fnnjnba07qrsf82jm4q6dini7z72xabcssy5y2bqy082r07l8l7"))))
       (build-system asdf-build-system/sbcl)
       (inputs
-       `(("alexandria" ,sbcl-alexandria)
-         ("closer-mop" ,sbcl-closer-mop)
-         ("lisp-namespace" ,sbcl-lisp-namespace)
-         ("trivial-cltl2" ,sbcl-trivial-cltl2)))
+       (list sbcl-alexandria
+             sbcl-closer-mop
+             sbcl-lisp-namespace
+             sbcl-trivial-cltl2))
       (arguments
        '(#:phases
          (modify-phases %standard-phases
@@ -6232,9 +6374,9 @@ Trivia.")
                            "trivia.ppcre.asd"
                            "trivia.quasiquote.asd"
                            "trivia.cffi.asd"
+                           "trivia.fset.asd"
                            "trivia.asd"
-                           "trivia.test.asd"))
-               #t)))))
+                           "trivia.test.asd")))))))
       (synopsis "Pattern matching in Common Lisp")
       (description "Trivia is a pattern matching compiler that is compatible
 with Optima, another pattern matching library for Common Lisp.  It is meant to
@@ -6253,21 +6395,23 @@ be faster and more extensible than Optima.")
     (inherit sbcl-trivia.trivial)
     (name "sbcl-trivia")
     (native-inputs
-     `(("fiveam" ,sbcl-fiveam)
-       ("optima" ,sbcl-optima)))
+     (list sbcl-fiveam
+           sbcl-optima))
     (inputs
-     `(("alexandria" ,sbcl-alexandria)
-       ("cffi" ,sbcl-cffi)
-       ("cl-ppcre" ,sbcl-cl-ppcre)
-       ("fare-quasiquote" ,sbcl-fare-quasiquote)
-       ("iterate" ,sbcl-iterate)
-       ("trivia.trivial" ,sbcl-trivia.trivial)
-       ("type-i" ,sbcl-type-i)))
+     (list sbcl-alexandria
+           sbcl-cffi
+           sbcl-cl-ppcre
+           sbcl-fare-quasiquote
+           sbcl-fset
+           sbcl-iterate
+           sbcl-trivia.trivial
+           sbcl-type-i))
     (arguments
      '(#:asd-systems '("trivia"
                        "trivia.ppcre"
                        "trivia.quasiquote"
-                       "trivia.cffi")
+                       "trivia.cffi"
+                       "trivia.fset")
        #:test-asd-file "trivia.test.asd"
        #:phases
        (modify-phases %standard-phases
@@ -6277,8 +6421,7 @@ be faster and more extensible than Optima.")
                        '("trivia.level0.asd"
                          "trivia.level1.asd"
                          "trivia.level2.asd"
-                         "trivia.trivial.asd"))
-             #t)))))))
+                         "trivia.trivial.asd")))))))))
 
 (define-public cl-trivia
   (sbcl-package->cl-source-package sbcl-trivia))
@@ -7832,6 +7975,39 @@ your own classes.")
 (define-public ecl-plump
   (sbcl-package->ecl-package sbcl-plump))
 
+(define-public sbcl-plump-sexp
+  (let ((commit "bbcf75e9ecda8fe7603098ab8c15828407bb4f08")
+        (revision "0"))
+    (package
+      (name "sbcl-plump-sexp")
+      (version (git-version "0.1.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/Shinmera/plump-sexp")
+           (commit commit)))
+         (file-name (git-file-name "cl-plump-sexp" version))
+         (sha256
+          (base32
+           "0zm9h0assjb8766z2v6l1k1s60y90y6f8smrl1dczwqlvc8xyln5"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       (list sbcl-plump))
+      (synopsis "Convert S-expressions into a Plump DOM and back")
+      (description
+       "The Plump-SEXP library is a backend for Plump which can convert
+between S-expressions and the Plump DOM.")
+      (home-page "https://github.com/Shinmera/plump-sexp")
+      (license license:zlib))))
+
+(define-public cl-plump-sexp
+  (sbcl-package->cl-source-package sbcl-plump-sexp))
+
+(define-public ecl-plump-sexp
+  (sbcl-package->ecl-package sbcl-plump-sexp))
+
 ;;; Split the antik package in two to work around the circular dependency
 ;;; between antik/antik and antik/gsll.
 (define-public sbcl-antik-base
@@ -10022,8 +10198,8 @@ database files (dbf and db3 files).")
   (sbcl-package->cl-source-package sbcl-db3))
 
 (define-public sbcl-dbi
-  (let ((commit "7ba050dea8d137c1f85b7e704d4fc945104bf283")
-        (revision "1"))
+  (let ((commit "738a74dd69adb2a7c21fa67e140d89c7df25b227")
+        (revision "2"))
     (package
       (name "sbcl-dbi")
       (version (git-version "0.9.5" revision commit))
@@ -10035,7 +10211,7 @@ database files (dbf and db3 files).")
                (commit commit)))
          (file-name (git-file-name "cl-dbi" version))
          (sha256
-          (base32 "0qkpsf8w7ig6chbf4r7j1j7fwa6kpi58ij4hbcxpa4irqdan8s9f"))))
+          (base32 "0f8z7an8ssg8mdf9k781r4ygdppv798v6f08ibgpd8mv8a6491fg"))))
       (build-system asdf-build-system/sbcl)
       (native-inputs
        `(("alexandria" ,sbcl-alexandria)
@@ -10815,19 +10991,20 @@ learn about each of the parameters.")
   (sbcl-package->ecl-package sbcl-exponential-backoff))
 
 (define-public sbcl-sxql
-  (let ((commit "acdd183a4c38b4e0699a285f8a711c88f6b4302c"))
+  (let ((commit "cc3478cacb0557475a59cf619dad66c5dc8080ba")
+        (revision "3"))
     (package
       (name "sbcl-sxql")
-      (version (git-version "0.1.0" "2" commit))
+      (version (git-version "0.1.0" revision commit))
       (source
        (origin
          (method git-fetch)
          (uri (git-reference
                (url "https://github.com/fukamachi/sxql")
                (commit commit)))
-         (file-name (git-file-name "sqxl" version))
+         (file-name (git-file-name "cl-sqxl" version))
          (sha256
-          (base32 "1i1crdsf2nbyxxpvjgrwmwpjxn6a4drbcmqs4q4shfi8zyap7vng"))))
+          (base32 "011an993amy8q3gl4hyqrgnc93cgny3cv9gbp679rrmyyp8zmywr"))))
       (build-system asdf-build-system/sbcl)
       (inputs
        (list sbcl-alexandria
@@ -10836,6 +11013,7 @@ learn about each of the parameters.")
              sbcl-iterate
              sbcl-optima
              sbcl-split-sequence
+             sbcl-trivia
              sbcl-trivial-types))
       (native-inputs
        (list sbcl-prove))
@@ -11976,10 +12154,11 @@ LispWorks library that are used in software such as ContextL.")
 
 (define-public sbcl-contextl
   ;; No release since 2013.
-  (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
+  (let ((commit "f4fb3f59b0844788613fc4d1cc0d2b08df9488bb")
+        (revision "2"))
     (package
       (name "sbcl-contextl")
-      (version (git-version "1.0.0" "1" commit))
+      (version (git-version "1.0.0" revision commit))
       (source
        (origin
          (method git-fetch)
@@ -11988,7 +12167,7 @@ LispWorks library that are used in software such as ContextL.")
                (commit commit)))
          (file-name (git-file-name name version))
          (sha256
-          (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
+          (base32 "0apgznz4g6lpmd86lq7w0xddfjgnirk83ig7p0j6i93xadhy9wh0"))))
       (build-system asdf-build-system/sbcl)
       (inputs
        (list sbcl-closer-mop sbcl-lw-compat))
@@ -16803,10 +16982,11 @@ running into parallelism problems when having to change directory.")
   (sbcl-package->cl-source-package sbcl-simple-inferiors))
 
 (define-public sbcl-legit
-  (let ((commit "48d50a20d8dcbd941d119683463b7c8257ba6458"))
+  (let ((commit "5f8a2d4c4f5fb8e53340eeef600433ee20e03fbe")
+        (revision "2"))
     (package
       (name "sbcl-legit")
-      (version (git-version "1.0.0" "1" commit))
+      (version (git-version "1.0.0" revision commit))
       (source
        (origin
          (method git-fetch)
@@ -16815,11 +16995,23 @@ running into parallelism problems when having to change directory.")
                (commit commit)))
          (file-name (git-file-name name version))
          (sha256
-          (base32 "181aqpj4zkfk1aavj5jw8rym6gw4ma3gd64z2h5fpryabgmwk236"))))
+          (base32 "0crr7ya7dg15di7glk3w9sgf6j8dmny347gynmxxrdvjj9pa906m"))))
       (build-system asdf-build-system/sbcl)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'patch-git-executable
+             (lambda* (#:key inputs #:allow-other-keys)
+               (substitute* "process.lisp"
+                 (("\"git")
+                  (string-append "\"" (search-input-file inputs
+                                                         "/bin/git")))))))))
       (inputs
-       (list sbcl-simple-inferiors sbcl-lambda-fiddle sbcl-cl-ppcre
-             sbcl-documentation-utils))
+       (list git
+             sbcl-cl-ppcre
+             sbcl-documentation-utils
+             sbcl-lambda-fiddle
+             sbcl-simple-inferiors))
       (home-page "https://shinmera.github.io/legit/")
       (synopsis "Interface to the git binary")
       (description
@@ -20592,22 +20784,23 @@ access lexicographic data from WordNet.")
 (define-public sbcl-nfiles
   (package
    (name "sbcl-nfiles")
-   (version "0.2.1")
+   (version "0.4.0")
    (source
     (origin
      (method git-fetch)
      (uri (git-reference
            (url "https://github.com/atlas-engineer/nfiles")
            (commit version)))
-     (file-name (git-file-name "nfiles" version))
+     (file-name (git-file-name "cl-nfiles" version))
      (sha256
       (base32
-       "1jdrqvxp4dxlkggx951rxp29lg7hm8zxq35pqq8hr9m9ydy088s7"))))
+       "0qmyv4ajcz7mlihnslx55wr1n8aaisw4clmsijnjf1w6wxh7lh7w"))))
    (build-system asdf-build-system/sbcl)
    (inputs
     (list gnupg
           sbcl-alexandria
           sbcl-hu.dwim.defclass-star
+          sbcl-quri
           sbcl-serapeum
           sbcl-trivial-garbage
           sbcl-trivial-package-local-nicknames
@@ -20836,6 +21029,113 @@ implementation for Common Lisp.")
 (define-public ecl-websocket-driver
   (sbcl-package->ecl-package sbcl-websocket-driver))
 
+(define-public sbcl-jzon
+  (let ((commit "5364590f5d2e6d6f1932d1ea3acba1ee2a82f31e")
+        (revision "0"))
+    (package
+      (name "sbcl-jzon")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Zulu-Inuoe/jzon")
+               (commit commit)))
+         (file-name (git-file-name "cl-jzon" version))
+         (sha256
+          (base32 "1048f6prz2lp859nxwcgghn6n38pc2pb580azzxpdhfcdi0034mj"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       '(#:asd-files '("src/com.inuoe.jzon.asd" "test/com.inuoe.jzon-tests.asd")
+         #:asd-systems '("com.inuoe.jzon" "com.inuoe.jzon-tests")))
+      (native-inputs
+        (list sbcl-alexandria
+              sbcl-fiveam
+              sbcl-flexi-streams))
+      (inputs
+        (list sbcl-closer-mop
+              sbcl-flexi-streams))
+      (home-page "https://github.com/Zulu-Inuoe/jzon/")
+      (synopsis "Correct and safe JSON parser")
+      (description
+       "@code{jzon} is a correct and safe JSON RFC 8259 parser for Common
+Lisp.")
+      (license license:expat))))
+
+(define-public cl-jzon
+  (sbcl-package->cl-source-package sbcl-jzon))
+
+(define-public ecl-jzon
+  (sbcl-package->ecl-package sbcl-jzon))
+
+(define-public sbcl-simple-routes
+  (let ((commit "6f88c38945a4de73e85786d3499c39cacb400598")
+        (revision "1"))
+    (package
+      (name "sbcl-simple-routes")
+      (version (git-version "0.3" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://gitlab.com/vancan1ty/simple-routes")
+               (commit commit)))
+         (file-name (git-file-name "cl-simple-routes" version))
+         (sha256
+          (base32 "0zkjl69zf1ynmqmvwccdbip3wxfyi7xplivv70qwxzd27mc0kh3k"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       (list sbcl-cl-ppcre
+             sbcl-hunchentoot))
+      (home-page "https://gitlab.com/vancan1ty/simple-routes")
+      (synopsis "URL routing library for Hunchentoot")
+      (description
+       "@code{simple-routes} is a simple Common Lisp RESTful routing facility
+on top of Hunchentoot.")
+      (license license:bsd-2))))
+
+(define-public cl-simple-routes
+  (sbcl-package->cl-source-package sbcl-simple-routes))
+
+(define-public ecl-simple-routes
+  (sbcl-package->ecl-package sbcl-simple-routes))
+
+(define-public sbcl-cl-ipfs-api2
+  (let ((commit "3ee52c80023bcc662f7d01276ea0a5814bd0011b")
+        (revision "0"))
+    (package
+      (name "sbcl-cl-ipfs-api2")
+      (version (git-version "0.51" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/JadedCtrl/cl-ipfs-api2")
+               (commit commit)))
+         (file-name (git-file-name "cl-ipfs-api2" version))
+         (sha256
+          (base32 "1h0csxk4db1hid793mk5kz3nbjyl7z4ic1zk2wy46k1vz5lnnsph"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       '(#:tests? #f)) ; There are no tests.
+      (inputs
+       (list sbcl-arnesi
+             sbcl-drakma
+             sbcl-yason))
+      (home-page "https://github.com/JadedCtrl/cl-ipfs-api2/")
+      (synopsis "Bindings for the IPFS HTTP API")
+      (description
+       "@code{cl-sbcl-cl-ipfs-api2} is a pretty simple set of IPFS bindings
+for Common Lisp, using the HTTP API for (almost) everything, except for pubsub
+(which uses the locally installed go-ipfs program).")
+      (license license:lgpl3))))
+
+(define-public cl-ipfs-api2
+  (sbcl-package->cl-source-package sbcl-cl-ipfs-api2))
+
+(define-public ecl-cl-ipfs-api2
+  (sbcl-package->ecl-package sbcl-cl-ipfs-api2))
+
 (define-public sbcl-purgatory
   (let ((commit "ade0d60a14a1067b9cc8cf06d1f1a1ca8cecdb03")
         (revision "1"))
@@ -20869,3 +21169,69 @@ the 9p network filesystem protocol.")
 
 (define-public cl-purgatory
   (sbcl-package->cl-source-package sbcl-purgatory))
+
+(define-public sbcl-just-getopt-parser
+  (package
+    (name "sbcl-just-getopt-parser")
+    (version "2021.11")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/tlikonen/cl-just-getopt-parser")
+             (commit version)))
+       (sha256
+        (base32 "0ngh8b51ngh3bqacl40j6wwiinhwxswsy02d9k7qlzv9sbjxay4s"))
+       (file-name (git-file-name "cl-just-getopt-parser" version))))
+    (build-system asdf-build-system/sbcl)
+    (synopsis "Getopt-like command-line parser for Common Lisp")
+    (description
+     "This package provides the @code{getopt} function to parse command-line
+options.  The options are organized in valid options, other arguments and
+unknown arguments.  Optional Lisp conditions for error situations are also
+defined.")
+    (home-page "https://github.com/tlikonen/cl-just-getopt-parser")
+    (license license:cc0)))
+
+(define-public ecl-just-getopt-parser
+  (sbcl-package->ecl-package sbcl-just-getopt-parser))
+
+(define-public cl-just-getopt-parser
+  (sbcl-package->cl-source-package sbcl-just-getopt-parser))
+
+(define-public sbcl-formgrep
+  (let ((commit "91238cdbdd0ad815ff5d574d032b4a502febd190")
+        (revision "0"))
+    (package
+      (name "sbcl-formgrep")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/death/formgrep")
+               (commit commit)))
+         (file-name (git-file-name "cl-formgrep" version))
+         (sha256
+          (base32 "1rqzkmz6nddg5ywvs3v0k8cvxdwas38mfwgbr3rs4fdsbps90k9r"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       (list sbcl-alexandria
+             sbcl-babel
+             sbcl-cl-fad
+             sbcl-cl-ppcre
+             sbcl-eclector))
+      (home-page "https://github.com/death/formgrep")
+      (synopsis "Find top-level Lisp forms matching an operator pattern")
+      (description
+       "This library provides the @code{FORMGREP} function and related
+utilities which find top-level Lisp forms matching the regular expression
+corresponding to an operator name, returning the matched forms and the names
+of the files and the line numbers where they were found.")
+      (license license:expat))))
+
+(define-public cl-formgrep
+  (sbcl-package->cl-source-package sbcl-formgrep))
+
+(define-public ecl-formgrep
+  (sbcl-package->ecl-package sbcl-formgrep))
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 3661042002..d5f1e94269 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -911,7 +911,7 @@ the HTML documentation of TXR.")
 (define-public txr
   (package
     (name "txr")
-    (version "273")
+    (version "274")
     (source
      (origin
        (method git-fetch)
@@ -920,7 +920,7 @@ the HTML documentation of TXR.")
              (commit (string-append "txr-" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1m4akw64458qcrfbqv71z9y8q9dszj26d7jfqblcn6nn8akx2jyb"))))
+        (base32 "0sz5wqqhmj2b9h9q95s8x4gb4cia6qddqp2mg29a5dpdh6jh3qyp"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
@@ -1152,7 +1152,7 @@ including a built-in database engine and a GUI system.")
 (define-public janet
   (package
     (name "janet")
-    (version "1.20.0")
+    (version "1.21.1")
     (source
      (origin
        (method git-fetch)
@@ -1161,7 +1161,7 @@ including a built-in database engine and a GUI system.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0983jp22nnfpsc77nhsjgp7zp7m2n47pxg9nagwfhhff6rlqw9wq"))))
+        (base32 "1c8lrwg518182rnz47mahv5r9jd3haj6ysigk0bkv8lpb0d2b760"))))
     (build-system gnu-build-system)
     (arguments
      (list #:make-flags
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index eb949bed1b..8348638614 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -16,11 +16,11 @@
 ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
 ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
-;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
+;;; Copyright © 2021, 2022 Maxime Devos <maximedevos@telenet.be>
 ;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
-;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
 ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
 ;;;
@@ -108,17 +108,21 @@ as \"x86_64-linux\"."
 (define %llvm-release-monitoring-url
   "https://github.com/llvm/llvm-project/releases")
 
-(define* (clang-runtime-from-llvm llvm hash
-                                  #:optional (patches '()))
+(define* (clang-runtime-from-llvm llvm
+                                  #:optional
+                                  hash
+                                  (patches '()))
   (package
     (name "clang-runtime")
     (version (package-version llvm))
     (source
-     (origin
-       (method url-fetch)
-       (uri (llvm-uri "compiler-rt" version))
-       (sha256 (base32 hash))
-       (patches (map search-patch patches))))
+     (if hash
+         (origin
+           (method url-fetch)
+           (uri (llvm-uri "compiler-rt" version))
+           (sha256 (base32 hash))
+           (patches (map search-patch patches)))
+         (llvm-monorepo (package-version llvm))))
     (build-system cmake-build-system)
     (native-inputs (package-native-inputs llvm))
     (inputs
@@ -162,7 +166,8 @@ compiler.  In LLVM this library is called \"compiler-rt\".")
     ;; <https://compiler-rt.llvm.org/> doesn't list MIPS as supported.
     (supported-systems (delete "mips64el-linux" %supported-systems))))
 
-(define* (clang-from-llvm llvm clang-runtime hash
+(define* (clang-from-llvm llvm clang-runtime
+                          #:optional hash
                           #:key (patches '()) tools-extra
                           (properties
                            (append `((release-monitoring-url
@@ -176,14 +181,16 @@ given PATCHES.  When TOOLS-EXTRA is given, it must point to the
     (name "clang")
     (version (package-version llvm))
     (source
-     (origin
-       (method url-fetch)
-       (uri (llvm-uri (if (version>=? version "9.0.1")
-                                   "clang"
-                                   "cfe")
-                               version))
-       (sha256 (base32 hash))
-       (patches (map search-patch patches))))
+     (if hash
+         (origin
+           (method url-fetch)
+           (uri (llvm-uri (if (version>=? version "9.0.1")
+                              "clang"
+                              "cfe")
+                          version))
+           (sha256 (base32 hash))
+           (patches (map search-patch patches)))
+         (llvm-monorepo (package-version llvm))))
     ;; Using cmake allows us to treat llvm as an external library.  There
     ;; doesn't seem to be any way to do this with clang's autotools-based
     ;; build system.
@@ -519,17 +526,27 @@ output), and Binutils.")
               ("libc-debug" ,glibc "debug")
               ("libc-static" ,glibc "static")))))
 
-(define-public llvm-13
+(define %llvm-monorepo-hashes
+  '(("14.0.0" . "1ixqzjzq4ad3mv1w44gwcg1shy34c2b3i9ja71vx1wa7l2ms2376")))
+
+(define %llvm-patches
+  '(("14.0.0" . ("clang-14.0-libc-search-path.patch"))))
+
+(define (llvm-monorepo version)
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/llvm/llvm-project")
+          (commit (string-append "llvmorg-" version))))
+    (file-name (git-file-name "llvm-project" version))
+    (sha256 (base32 (assoc-ref %llvm-monorepo-hashes version)))
+    (patches (map search-patch (assoc-ref %llvm-patches version)))))
+
+(define-public llvm-14
   (package
     (name "llvm")
-    (version "13.0.1")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (llvm-uri "llvm" version))
-      (sha256
-       (base32
-        "0d681xiixmx9inwvz14vi3xsznrcryk06a8rvk9cljiq5kc80szc"))))
+    (version "14.0.0")
+    (source (llvm-monorepo version))
     (build-system cmake-build-system)
     (outputs '("out" "opt-viewer"))
     (native-inputs
@@ -538,42 +555,46 @@ output), and Binutils.")
     (inputs
      (list libffi))
     (propagated-inputs
-     (list zlib))                 ;to use output from llvm-config
+     (list zlib))                       ;to use output from llvm-config
     (arguments
-     `(#:configure-flags
-       ,#~(quasiquote
-           ;; These options are required for cross-compiling LLVM according to
-           ;; https://llvm.org/docs/HowToCrossCompileLLVM.html.
-           (#$@(if (%current-target-system)
-                   #~(,(string-append "-DLLVM_TABLEGEN="
-                                      #+(file-append this-package
-                                                     "/bin/llvm-tblgen"))
-                      #$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE="
-                                       (%current-target-system))
-                      #$(string-append "-DLLVM_TARGET_ARCH="
-                                       (system->llvm-target))
-                      #$(string-append "-DLLVM_TARGETS_TO_BUILD="
-                                       (system->llvm-target)))
-                   #~())
-            "-DCMAKE_SKIP_BUILD_RPATH=FALSE"
-            "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
-            "-DBUILD_SHARED_LIBS:BOOL=TRUE"
-            "-DLLVM_ENABLE_FFI:BOOL=TRUE"
-            "-DLLVM_REQUIRES_RTTI=1" ; For some third-party utilities
-            "-DLLVM_INSTALL_UTILS=ON")) ; Needed for rustc.
-       ;; Don't use '-g' during the build, to save space.
-       #:build-type "Release"
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'install-opt-viewer
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (opt-viewer-out (assoc-ref outputs "opt-viewer"))
-                    (opt-viewer-share-dir (string-append opt-viewer-out "/share"))
-                    (opt-viewer-dir (string-append opt-viewer-share-dir "/opt-viewer")))
-               (mkdir-p opt-viewer-share-dir)
-               (rename-file (string-append out "/share/opt-viewer")
-                            opt-viewer-dir)))))))
+     (list
+      #:configure-flags
+      #~(list
+         ;; These options are required for cross-compiling LLVM according
+         ;; to <https://llvm.org/docs/HowToCrossCompileLLVM.html>.
+         #$@(if (%current-target-system)
+                #~(,(string-append "-DLLVM_TABLEGEN="
+                                   #+(file-append this-package
+                                                  "/bin/llvm-tblgen"))
+                   #$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE="
+                                    (%current-target-system))
+                   #$(string-append "-DLLVM_TARGET_ARCH="
+                                    (system->llvm-target))
+                   #$(string-append "-DLLVM_TARGETS_TO_BUILD="
+                                    (system->llvm-target)))
+                '())
+         "-DCMAKE_SKIP_BUILD_RPATH=FALSE"
+         "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
+         "-DBUILD_SHARED_LIBS:BOOL=TRUE"
+         "-DLLVM_ENABLE_FFI:BOOL=TRUE"
+         "-DLLVM_REQUIRES_RTTI=1"       ;for some third-party utilities
+         "-DLLVM_INSTALL_UTILS=ON")     ;needed for rustc
+      ;; Don't use '-g' during the build, to save space.
+      #:build-type "Release"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'change-directory
+            (lambda _
+              (chdir "llvm")))
+          (add-after 'install 'install-opt-viewer
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let* ((out (assoc-ref outputs "out"))
+                     (opt-viewer-out (assoc-ref outputs "opt-viewer"))
+                     (opt-viewer-share-dir (string-append opt-viewer-out "/share"))
+                     (opt-viewer-dir (string-append opt-viewer-share-dir "/opt-viewer")))
+                (mkdir-p opt-viewer-share-dir)
+                (rename-file (string-append out "/share/opt-viewer")
+                             opt-viewer-dir)))))))
     (home-page "https://www.llvm.org")
     (synopsis "Optimizing compiler infrastructure")
     (description
@@ -586,6 +607,55 @@ of programming tools as well as libraries with equivalent functionality.")
     (license license:asl2.0)
     (properties `((release-monitoring-url . ,%llvm-release-monitoring-url)))))
 
+(define-public clang-runtime-14
+  (let ((template (clang-runtime-from-llvm llvm-14)))
+    (package
+      (inherit template)
+      (arguments
+       (substitute-keyword-arguments (package-arguments template)
+         ((#:phases phases '(@ (guix build cmake-build-system) %standard-phases))
+          #~(modify-phases #$phases
+              (add-after 'unpack 'change-directory
+                (lambda _
+                  (chdir "compiler-rt")))))))
+      (native-inputs
+       `(;; FIXME: libfuzzer fails to build with GCC 10.
+         ("gcc" ,gcc-11)
+         ,@(package-native-inputs template))))))
+
+(define-public clang-14
+  (let ((template (clang-from-llvm llvm-14 clang-runtime-14)))
+    (package
+      (inherit template)
+      (arguments
+       (substitute-keyword-arguments (package-arguments template)
+         ((#:phases phases '(@ (guix build cmake-build-system) %standard-phases))
+          #~(modify-phases #$phases
+              (add-after 'unpack 'change-directory
+                (lambda _
+                  (chdir "clang"))))))))))
+
+(define-public clang-toolchain-14
+  (make-clang-toolchain clang-14))
+
+(define-public llvm-13
+  (package
+    (inherit llvm-14)
+    (version "13.0.1")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (llvm-uri "llvm" version))
+      (sha256
+       (base32
+        "0d681xiixmx9inwvz14vi3xsznrcryk06a8rvk9cljiq5kc80szc"))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments llvm-14)
+       ((#:phases phases '%standard-phases)
+        #~(modify-phases #$phases
+            (delete 'change-directory)))))
+    (properties `((release-monitoring-url . ,%llvm-release-monitoring-url)))))
+
 (define-public clang-runtime-13
   (clang-runtime-from-llvm
    llvm-13
@@ -875,8 +945,16 @@ of programming tools as well as libraries with equivalent functionality.")
     (arguments
      (substitute-keyword-arguments (package-arguments llvm)
        ((#:phases phases)
-        `(modify-phases ,phases
-           (delete 'install-opt-viewer)))))))
+        #~(modify-phases #$phases
+            (add-before 'build 'shared-lib-workaround
+              ;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen
+              ;; doesn't seem to get the correct rpath to be able to run
+              ;; from the build directory.  Set LD_LIBRARY_PATH as a
+              ;; workaround.
+              (lambda _
+                (setenv "LD_LIBRARY_PATH"
+                        (string-append (getcwd) "/lib"))))
+            (delete 'install-opt-viewer)))))))
 
 (define-public clang-runtime-3.9.1
   (clang-runtime-from-llvm
@@ -1072,9 +1150,32 @@ of programming tools as well as libraries with equivalent functionality.")
     (properties `((release-monitoring-url . ,%llvm-release-monitoring-url)))
     (license license:asl2.0)))          ;with LLVM exceptions
 
-(define-public lld
+(define-public lld-14
   (package
     (name "lld")
+    (version "14.0.0")
+    (source (llvm-monorepo version))
+    (build-system cmake-build-system)
+    (inputs
+     (list llvm-14))
+    (arguments
+     '(#:build-type "Release"
+       ;; TODO: Tests require the lit tool, which isn't installed by the LLVM
+       ;; package.
+       #:tests? #f
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'change-directory
+                    (lambda _
+                      (chdir "lld"))))))
+    (home-page "https://lld.llvm.org/")
+    (synopsis "Linker from the LLVM project")
+    (description "LLD is a high-performance linker, built as a set of reusable
+components which highly leverage existing libraries in the larger LLVM Project.")
+    (license license:asl2.0))) ; With LLVM exception
+
+(define-public lld-13
+  (package
+    (inherit lld-14)
     (version "13.0.1")
     (source (origin
               (method url-fetch)
@@ -1082,7 +1183,6 @@ of programming tools as well as libraries with equivalent functionality.")
               (sha256
                (base32
                 "1yscckcszfr234k4svhybdbsnz6w65x8pldl6c2nhyxzx12zfsk6"))))
-    (build-system cmake-build-system)
     (native-inputs
      ;; Note: check <https://bugs.llvm.org/show_bug.cgi?id=49228> to see
      ;; whether this is still necessary.
@@ -1090,20 +1190,15 @@ of programming tools as well as libraries with equivalent functionality.")
     (inputs
      (list llvm-13))
     (arguments
-     `(#:build-type "Release"
+     '(#:build-type "Release"
        ;; TODO: Tests require the lit tool, which isn't installed by the LLVM
        ;; package.
        #:tests? #f))
-    (home-page "https://lld.llvm.org/")
-    (synopsis "Linker from the LLVM project")
-    (description "LLD is a high-performance linker, built as a set of reusable
-components which highly leverage existing libraries in the larger LLVM Project.")
-    (properties `((release-monitoring-url . ,%llvm-release-monitoring-url)))
-    (license license:asl2.0))) ; With LLVM exception
+    (properties `((release-monitoring-url . ,%llvm-release-monitoring-url)))))
 
 (define-public lld-12
   (package
-    (inherit lld)
+    (inherit lld-13)
     (version "12.0.1")
     (source (origin
               (method url-fetch)
@@ -1114,6 +1209,8 @@ components which highly leverage existing libraries in the larger LLVM Project."
     (inputs (modify-inputs (package-inputs lld)
               (replace "llvm" llvm-12)))))
 
+(define-public lld lld-14)
+
 (define* (make-lld-wrapper lld #:key lld-as-ld?)
   "Return a LLD wrapper.  When LLD-AS-LD? is true, create a 'ld' symlink that
 points to 'lld'."
diff --git a/gnu/packages/lsof.scm b/gnu/packages/lsof.scm
index 98bcdab468..5f413483f4 100644
--- a/gnu/packages/lsof.scm
+++ b/gnu/packages/lsof.scm
@@ -54,6 +54,9 @@
          (replace 'configure
            (lambda _
              (setenv "LSOF_CC" ,(cc-for-target))
+             ,@(if (%current-target-system)
+                   '((setenv "LINUX_CONF_CC" "gcc"))
+                   '())
              (setenv "LSOF_MAKE" "make")
 
              ;; By default, the makefile captures the output of 'uname -a'.
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index afac56f6f7..7f082ee677 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2017, 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -3046,7 +3046,11 @@ Note: currently this package does not provide GPU support.")
        (uri (pypi-uri "hmmlearn" version))
        (sha256
         (base32
-         "1my0j3rzp17438idr32ssh0j969a98yjblx5igx5kgiiigr9qa1a"))))
+         "1my0j3rzp17438idr32ssh0j969a98yjblx5igx5kgiiigr9qa1a"))
+       (snippet
+        #~(begin
+            (use-modules ((guix build utils)))
+            (delete-file "lib/hmmlearn/_hmmc.c")))))
     (build-system python-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index d253ca7011..194f7e3fb3 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -28,7 +28,7 @@
 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
 ;;; Copyright © 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2019, 2020, 2021 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2019–2022 Tanguy Le Carrour <tanguy@bioneland.org>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;; Copyright © 2020 Justus Winter <justus@sequoia-pgp.org>
 ;;; Copyright © 2020 Eric Brown <ecbrown@ericcbrown.com>
@@ -45,6 +45,8 @@
 ;;; Copyright © 2021 Benoit Joly <benoit@benoitj.ca>
 ;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
 ;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
+;;; Copyright © 2022 Andrew Tropin <andrew@trop.in>
+;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -91,6 +93,7 @@
   #:use-module (gnu packages file)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gawk)
   #:use-module (gnu packages gdb)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
@@ -552,7 +555,7 @@ aliasing facilities to work just as they would on normal mail.")
 (define-public mutt
   (package
     (name "mutt")
-    (version "2.2.1")
+    (version "2.2.3")
     (source (origin
              (method url-fetch)
              (uri (list
@@ -562,7 +565,7 @@ aliasing facilities to work just as they would on normal mail.")
                                    version ".tar.gz")))
              (sha256
               (base32
-               "1ddbhwsycfpf430k52l5gggywd09h10hwcwzpydam43c5ga30vdp"))
+               "12cds5qm0x51wj1bz1a2f4q4qwbyfssq9pnisxz48ks5mg6xv2lp"))
              (patches (search-patches "mutt-store-references.patch"))))
     (build-system gnu-build-system)
     (inputs
@@ -1486,14 +1489,36 @@ and search library.")
   (package
     (inherit python-notmuch)
     (name "python-notmuch2")
+    (version (package-version notmuch))
     (propagated-inputs (list python-cffi))
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         ;; This python package lives in a subdirectory of the notmuch source
-         ;; tree, so chdir into it before building.
-         (add-after 'unpack 'enter-python-dir
-           (lambda _ (chdir "bindings/python-cffi"))))))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; This python package lives in a subdirectory of the notmuch source
+          ;; tree, so chdir into it before building.
+          (add-after 'unpack 'enter-python-dir
+            (lambda _ (chdir "bindings/python-cffi")))
+          ;; python-build-system does not invoke the configure script
+          ;; so _notmuch_config.py is missing
+          (add-after 'enter-python-dir 'create-notmuch-config
+            (lambda* (#:key inputs #:allow-other-keys)
+              (with-output-to-file "_notmuch_config.py"
+                (lambda _
+                  (display
+                   (string-append
+                    "NOTMUCH_INCLUDE_DIR="
+                    "'" (dirname (search-input-file inputs "include/notmuch.h")) "'\n"
+                    "NOTMUCH_LIB_DIR="
+                    "'" (dirname (search-input-file inputs "lib/libnotmuch.so")) "'"))))))
+          ;; version.txt is not included in notmuch, so we patch in the version number
+          (add-after 'create-notmuch-config 'patch-setup.py
+            (lambda _
+              (substitute* "setup.py"
+                (("NOTMUCH_VERSION_FILE")
+                 "'/dev/null'")
+                (("version=VERSION,")
+                 (string-append "version='" #$version "',"))))))))
     (synopsis "Pythonic bindings for the notmuch mail database using CFFI")
     (license license:gpl3+)))
 
@@ -1708,14 +1733,14 @@ addons which can add many functionalities to the base client.")
 (define-public msmtp
   (package
     (name "msmtp")
-    (version "1.8.19")
+    (version "1.8.20")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://marlam.de/msmtp/releases/"
+       (uri (string-append "https://marlam.de/msmtp/releases"
                            "/msmtp-" version ".tar.xz"))
        (sha256
-        (base32 "0ssj8izcw1fywihlip6wljd9i41w23cy0vp69sz4v1vn26cf389l"))))
+        (base32 "04di9qs2bwiwidnhk3afif5mh05q3ggr9cyhr5ysyj0gzjmf4fnr"))))
     (build-system gnu-build-system)
     (inputs
      (list libsecret gnutls zlib gsasl))
@@ -2722,18 +2747,55 @@ converts them to maildir format directories.")
        (file-name (git-file-name name version))
        (sha256
         (base32 "0fa8s9dp5ilwmfcwkx72x2b5i0maa5sl97hv2cdknqmc27gv0b1c"))))
+    (outputs '("out" "contrib"))
     (build-system gnu-build-system)
-    (native-inputs
-     (list perl))
+    (inputs (list bash-minimal
+                  coreutils
+                  gawk
+                  glibc
+                  gnupg
+                  ncurses
+                  openssl
+                  ruby
+                  sed))
+    (native-inputs (list perl))
     (arguments
      (list
       #:make-flags
       #~(list #$(string-append "CC=" (cc-for-target))
               "PREFIX="
               (string-append "DESTDIR=" #$output))
+      #:modules '((ice-9 ftw)
+                  (guix build utils)
+                  (guix build gnu-build-system))
       #:phases
       #~(modify-phases %standard-phases
-          (delete 'configure))))
+          (delete 'configure)
+          (add-after 'install 'install-contrib
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let* ((out (assoc-ref outputs "out"))
+                     (contrib (assoc-ref outputs "contrib"))
+                     (contrib-bin (string-append contrib "/bin"))
+                     (exe? (lambda (file)
+                             (let ((s (stat file)))
+                               (and (eq? 'regular (stat:type s))
+                                    (logtest #o100 (stat:perms s)))))))
+                (mkdir-p contrib-bin)
+                (with-directory-excursion "contrib"
+                  (for-each
+                    (lambda (prog)
+                      (install-file prog contrib-bin)
+                      (wrap-program (string-append contrib-bin "/" prog)
+                       `("PATH" =
+                         (,contrib-bin
+                          ,(string-append out "/bin")
+                          ,(string-append (assoc-ref inputs "coreutils") "/bin")
+                          ,(string-append (assoc-ref inputs "gawk") "/bin")
+                          ,(string-append (assoc-ref inputs "glibc") "/bin")
+                          ,(string-append (assoc-ref inputs "ncurses") "/bin")
+                          ,(string-append (assoc-ref inputs "openssl") "/bin")
+                          ,(string-append (assoc-ref inputs "sed") "/bin")))))
+                    (scandir "." exe?)))))))))
     (home-page "https://github.com/leahneukirchen/mblaze")
     (synopsis "Unix utilities to deal with Maildir")
     (description
@@ -3984,8 +4046,8 @@ related tools to process winmail.dat files.")
 
 (define-public l2md
   ;; No official release.
-  (let ((commit "f7286b49bb5fce25c898c143712fe34ad4d7864e")
-        (revision "1"))
+  (let ((commit "9db252bc1716ebaf0abd3a47a59ea78e4e6253d6")
+        (revision "2"))
     (package
       (name "l2md")
       (version (git-version "0.1.0" revision commit))
@@ -3997,7 +4059,7 @@ related tools to process winmail.dat files.")
                (commit commit)))
          (file-name (git-file-name name version))
          (sha256
-          (base32 "0hxz8i70v1xgv30zjclfvmjqszn073c7i8nwmswi2lr6vd7cklvp"))))
+          (base32 "1hfbngwdavdhw5ghnadmi0djg2yrr0wrkv15jdd9wcqh9h6mxy8z"))))
       (build-system gnu-build-system)
       (inputs
        (list libgit2))
@@ -4574,3 +4636,23 @@ Guix's version of @command{sendgmail} has been patched for compatibility with
 all known forks, including support for non-@code{@@gmail.com} email
 addresses.")
       (license license:asl2.0))))
+
+(define-public smtpmail
+  (package
+    (name "smtpmail")
+    (version "0.4.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://savannah/smtpmail/smtpmail-"
+                           version ".tar.gz"))
+       (sha256
+        (base32 "08ap2l2g2avkq2jx05jy993517vvapmypg7j5cwl8gvpq436gdh5"))))
+    (build-system gnu-build-system)
+    (home-page "https://www.nongnu.org/smtpmail/")
+    (synopsis "SMTP utility")
+    (description
+     "smtpmail is a little console-based tool for users who have no local
+mailserver on their machine.  It enables these users to send their mail over a
+remote SMTP server.")
+    (license license:gpl2+)))
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index dd6baa42b6..03dfabc135 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1464,9 +1464,9 @@ MATE Desktop to monitor your system resources and usage.")
            gdk-pixbuf
            polkit))
     (home-page "https://mate-desktop.org/")
-    (synopsis "DBus specific service for MATE")
+    (synopsis "Polkit authentication agent for MATE")
     (description
-     "MATE Polkit is a MATE specific DBUS service that is
+     "MATE Polkit is a MATE specific D-Bus service that is
 used to bring up authentication dialogs.")
     (license license:lgpl2.1)))
 
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index ecb85642ec..fcd9c5482f 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -19,7 +19,7 @@
 ;;; Copyright © 2017 Nikita <nikita@n0.is>
 ;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
-;;; Copyright © 2017, 2019 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2017, 2019, 2022 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Dave Love <me@fx@gnu.org>
 ;;; Copyright © 2018, 2019, 2020, 2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
@@ -45,7 +45,7 @@
 ;;; Copyright © 2021 Gerd Heber <gerd.heber@gmail.com>
 ;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr>
 ;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
-;;; Copyright © 2021 Paul A. Patience <paul@apatience.com>
+;;; Copyright © 2021, 2022 Paul A. Patience <paul@apatience.com>
 ;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
 ;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
@@ -533,6 +533,14 @@ precision floating point numbers.")
          #:phases
          (modify-phases %standard-phases
            ,@(cond
+              ((and (target-riscv64?)
+                    (%current-target-system))
+               '((add-after 'unpack 'force-bootstrap
+                   (lambda _
+                     ;; gsl ships with an old configure script that does not
+                     ;; support riscv64. Regenerate it.
+                     (delete-file "configure")))))
+
               ((or (string-prefix? "aarch64" system)
                    (string-prefix? "powerpc" system))
                ;; Some sparse matrix tests are failing on AArch64 and PowerPC:
@@ -568,6 +576,11 @@ precision floating point numbers.")
                         (string-append "exit (77);\n" all)))))))
 
               (else '()))))))
+    (native-inputs
+     (if (and (target-riscv64?)
+              (%current-target-system))
+         (list autoconf automake libtool)
+         '()))
     (home-page "https://www.gnu.org/software/gsl/")
     (synopsis "Numerical library for C and C++")
     (description
@@ -730,7 +743,7 @@ computing convex hulls.")
 (define-public lrslib
   (package
     (name "lrslib")
-    (version "7.1")
+    (version "7.2")
     (source
      (origin
        (method url-fetch)
@@ -739,7 +752,7 @@ computing convex hulls.")
                            (string-delete #\. version) ".tar.gz"))
        (sha256
         (base32
-         "05kq3hzam31dlmkccv3v358r478kpvx76mw37ka12c6ypwv5dsnk"))))
+         "1w1jsnfgny8cihndr5gfm99pvwp48qsvxkqfsi2q87gd3m57aj7w"))))
     (build-system gnu-build-system)
     (inputs
      (list gmp))
@@ -1079,14 +1092,14 @@ in the terminal or with an external viewer.")
 (define-public gnuplot
   (package
     (name "gnuplot")
-    (version "5.4.2")
+    (version "5.4.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/gnuplot/gnuplot/"
                                   version "/gnuplot-"
                                   version ".tar.gz"))
        (sha256
-        (base32 "1fp7rbhjmz2w63r72kicf8lfszzimz2csfx868fracw167hpaz75"))))
+        (base32 "112dplskbkdbaqi935m2xlk1xsw8s5l568wm7xad75hgp6x9py2i"))))
     (build-system gnu-build-system)
     (inputs (list readline cairo pango gd lua))
     (native-inputs
@@ -1924,21 +1937,20 @@ interfaces.")
 (define-public nomad-optimizer
   (package
     (name "nomad-optimizer")
-    (version "4.1.0")
+    (version "4.2.0")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/bbopt/nomad/")
-             (commit (string-append "v" version))))
+             (commit (string-append "v." version))))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0w386d8r5ldbvnv0c0g7vz95pfpvwdxis26vaalk2amsa5akl775"))))
+         "1r4ygy3xn83dnppsw1451ynklsxpb238g5gk57inn84ghmdk08mj"))))
     (build-system cmake-build-system)
     (native-inputs
-     `(("python" ,python-wrapper)
-       ("python-cython" ,python-cython)))
+     (list python-wrapper python-cython))
     (arguments
      `(#:imported-modules ((guix build python-build-system)
                            ,@%cmake-build-system-modules)
@@ -1947,7 +1959,8 @@ interfaces.")
                   (guix build cmake-build-system)
                   (guix build utils))
        #:configure-flags
-       '("-DBUILD_INTERFACES=ON"
+       '("-DBUILD_INTERFACE_C=ON"
+         "-DBUILD_INTERFACE_PYTHON=ON"
          "-DBUILD_TESTS=ON")
        #:phases
        (modify-phases %standard-phases
@@ -1981,13 +1994,38 @@ interfaces.")
                (substitute* "interfaces/PyNomad/setup_PyNomad.py"
                  (("^( +os_include_dirs = ).*" _ prefix)
                   (string-append prefix "[\"../../src\"]\n"))
-                 (("^(installed_lib_dir = ).*" _ prefix)
-                  (string-append prefix "\"" out "/lib\"\n"))))
-             #t))
+                 (("^(installed_lib_dir1 = ).*" _ prefix)
+                  (string-append prefix "\"" out "/lib\"\n"))
+                 (("^installed_lib_dir2 = .*") "")
+                 (("^ +link_args\\.append\\(\"-Wl,-rpath,\" \\+ installed_lib_dir2\\)\n")
+                  "")))))
 
          ;; Fix the tests so they run in out-of-source builds.
+         ;;
+         ;; TODO: Add support for examples/basic/batch/single_obj_MPIparallel,
+         ;; by adding openmpi to native-inputs and adjusting the example's
+         ;; BB_EXE parameter.
          (add-after 'fix-sources-for-build 'fix-sources-for-tests
            (lambda _
+             (substitute* "examples/CMakeLists.txt"
+               ;; This test passes only sometimes.
+               ;; See https://github.com/bbopt/nomad/issues/72.
+               (("^ +add_subdirectory\\(\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/advanced/library/PSDMads\\)\n")
+                "")
+               ;; examples/basic/batch/example3 is accidentally omitted.
+               (("^(add_subdirectory\\(\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/basic/batch/example)2(\\)\n)"
+                 _ prefix suffix)
+                (string-append prefix "2" suffix
+                               prefix "3" suffix))
+
+               ;; The generated runExampleTest.sh script runs the test as part
+               ;; of a pipeline and incorrectly (because pipefail is unset)
+               ;; relies on the value of the exit status immediately after the
+               ;; pipeline.
+               ;; (The patch-shebangs phase runs later than this one, so no
+               ;; need to update the path to bash here.)
+               (("#!/bin/bash") "#!/bin/bash\nset -o pipefail"))
+
              (substitute*
                  (map (lambda (d) (string-append "examples/" d "/CMakeLists.txt"))
                       (append
@@ -1998,58 +2036,74 @@ interfaces.")
                             '("FixedVariable" "NMonly" "PSDMads" "Restart"
                               "c_api/example1" "c_api/example2"
                               "exampleSuggestAndObserve"))))
-               ;; The built examples are assumed to be in the source tree
-               ;; (which isn't the case here).
+               ;; The runExampleTest.sh script is run with WORKING_DIRECTORY
+               ;; set to CMAKE_CURRENT_SOURCE_DIR.
+               ;; Other scripts invoked by that script (for example
+               ;; examples/advanced/batch/SuggestAndObserve/loopSuggestAndObserve.sh)
+               ;; are in that same directory, but compiled examples are
+               ;; located in CMAKE_CURRENT_BINARY_DIR.
                (("(COMMAND \\$\\{CMAKE_BINARY_DIR\\}/examples/runExampleTest\\.sh )\\.(/.*)"
                  _ command test)
                 (string-append command "${CMAKE_CURRENT_BINARY_DIR}" test)))
+
+             ;; The examples/basic/batch/example3 executable is already named
+             ;; bb3.exe.
+             (substitute* "examples/basic/batch/single_obj_parallel/CMakeLists.txt"
+               (("bb3.exe") "bb_parallel.exe"))
+
              ;; (Unrelated to support for out-of-source testing.)
              (make-file-writable
               "examples/advanced/library/exampleSuggestAndObserve/cache0.txt")
 
-             (let* ((builddir (string-append (getcwd) "/../build"))
-                    ;; The BB_EXE and SURROGATE_EXE paths are interpreted
-                    ;; relative to the configuration file provided to NOMAD.
-                    ;; However, the configuration files are all in the source
-                    ;; tree rather than in the build tree (unlike the compiled
-                    ;; executables).
-                    (fix-exe-path (lambda* (dir #:optional
-                                                (file "param.txt")
-                                                (exe-opt "BB_EXE"))
-                                    (substitute* (string-append dir "/" file)
-                                      (((string-append "^" exe-opt " +"))
-                                       ;; The $ prevents NOMAD from prefixing
-                                       ;; the executable with the path of the
-                                       ;; parent directory of the configuration
-                                       ;; file NOMAD was provided with as
-                                       ;; argument (param.txt or some such).
-                                       (string-append exe-opt " $"
-                                                      builddir "/" dir "/"))))))
-               (for-each
-                (lambda (dir)
-                  (let ((dir (string-append "examples/" dir)))
-                    (substitute* (string-append dir "/CMakeLists.txt")
-                      ;; The install phase has not yet run.
-                      (("COMMAND \\$\\{CMAKE_INSTALL_PREFIX\\}/bin/nomad ")
-                       "COMMAND ${CMAKE_BINARY_DIR}/src/nomad "))
-                    (fix-exe-path dir)
-                    (when (equal? dir "examples/basic/batch/surrogate_sort")
-                      (fix-exe-path dir "param.txt" "SURROGATE_EXE"))))
-                (append (map (lambda (d) (string-append "basic/batch/" d))
-                             '("example1" "example2"
-                               "single_obj" "single_obj_parallel"
-                               "surrogate_sort"))
-                        '("advanced/batch/LHonly")))
-
-               (let ((dir "examples/advanced/batch/FixedVariable"))
-                 (substitute* (string-append dir "/runFixed.sh")
-                   ;; Hardcoded path to NOMAD executable.
-                   (("^\\.\\./\\.\\./\\.\\./\\.\\./bin/nomad ")
-                    (string-append builddir "/src/nomad ")))
+             (let ((builddir (string-append (getcwd) "/../build")))
+               (let ((dir "examples/advanced/library/FixedVariable"))
+                 (substitute* (string-append dir "/fixedVariable.cpp")
+                   (("^( +std::string sExe = ).*" _ prefix)
+                    (string-append prefix "\"" builddir "/" dir "/ufl.exe" "\";\n"))))
+
+               ;; The BB_EXE and SURROGATE_EXE paths are interpreted relative
+               ;; to the configuration file provided to NOMAD.
+               ;; However, the configuration files are all in the source tree
+               ;; rather than in the build tree (unlike the compiled
+               ;; executables).
+               (let ((fix-exe-path (lambda* (dir #:optional
+                                                 (file "param.txt")
+                                                 (exe-opt "BB_EXE"))
+                                     (substitute* (string-append dir "/" file)
+                                       (((string-append "^" exe-opt " +"))
+                                        ;; The $ prevents NOMAD from prefixing
+                                        ;; the executable with the path of the
+                                        ;; parent directory of the configuration
+                                        ;; file NOMAD was provided with as
+                                        ;; argument (param.txt or some such).
+                                        (string-append exe-opt " $"
+                                                       builddir "/" dir "/"))))))
                  (for-each
-                  (lambda (f) (fix-exe-path dir f))
-                  '("param1.txt" "param2.txt" "param3.txt" "param10.txt"))))
-             #t))
+                  (lambda (dir)
+                    (let ((dir (string-append "examples/" dir)))
+                      (substitute* (string-append dir "/CMakeLists.txt")
+                        ;; The install phase has not yet run.
+                        (("COMMAND \\$\\{CMAKE_INSTALL_PREFIX\\}/bin/nomad ")
+                         "COMMAND ${CMAKE_BINARY_DIR}/src/nomad "))
+                      (fix-exe-path dir)
+                      (when (equal? dir "examples/basic/batch/surrogate_sort")
+                        (fix-exe-path dir "param.txt" "SURROGATE_EXE"))))
+                  (append (map (lambda (d) (string-append "basic/batch/" d))
+                               '("example1" "example2" "example3"
+                                 "single_obj"
+                                 "single_obj_parallel"
+                                 ;; "single_obj_MPIparallel"
+                                 "surrogate_sort"))
+                          '("advanced/batch/LHonly")))
+
+                 (let ((dir "examples/advanced/batch/FixedVariable"))
+                   (substitute* (string-append dir "/runFixed.sh")
+                     ;; Hardcoded path to NOMAD executable.
+                     (("^\\.\\./\\.\\./\\.\\./\\.\\./bin/nomad ")
+                      (string-append builddir "/src/nomad ")))
+                   (for-each
+                    (lambda (f) (fix-exe-path dir f))
+                    '("param1.txt" "param2.txt" "param3.txt" "param10.txt")))))))
 
          ;; The information in the .egg-info file is not kept up to date.
          (add-after 'install 'delete-superfluous-egg-info
@@ -2058,8 +2112,7 @@ interfaces.")
                            (site-packages inputs outputs)
                            "/PyNomad-0.0.0-py"
                            (python-version (assoc-ref inputs "python"))
-                           ".egg-info"))
-             #t)))))
+                           ".egg-info")))))))
     (home-page "https://www.gerad.ca/nomad/")
     (synopsis "Nonlinear optimization by mesh-adaptive direct search")
     (description
@@ -2801,7 +2854,7 @@ This is the certified version of the Open Cascade Technology (OCCT) library.")
 (define-public gmsh
   (package
     (name "gmsh")
-    (version "4.8.4")
+    (version "4.9.5")
     (source
      (origin
       (method git-fetch)
@@ -2812,7 +2865,7 @@ This is the certified version of the Open Cascade Technology (OCCT) library.")
                             (string-replace-substring version "." "_")))))
       (file-name (git-file-name name version))
       (sha256
-       (base32 "07mi6ja3b9libgcdp2b4dwnkap1b9ha2wi2zdn9mhmwvp3g1pxhp"))
+       (base32 "0asd9p64ng5l2zk5glc33x3ynnvdpndlflg3q9mr0jxr7y9x0lrm"))
       (modules '((guix build utils)))
       (snippet
        '(begin
@@ -6063,22 +6116,21 @@ and comparisons are supported.")
 (define-public sundials
   (package
     (name "sundials")
-    (version "3.1.1")
+    (version "6.1.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://computation.llnl.gov/projects/sundials/download/"
+       (uri (string-append "https://github.com/LLNL/sundials/releases/download/v6.1.1/"
                            "sundials-" version ".tar.gz"))
        (sha256
         (base32
-         "090s8ymhd0g1s1d44fa73r5yi32hb4biwahhbfi327zd64yn8kd2"))))
+         "0327a1fy8rilwc4brsqqb71jd1ymb7mqgxsylab06crcg5xn7byg"))))
     (build-system cmake-build-system)
     (native-inputs
-     `(("python" ,python-2)))    ;for tests; syntax incompatible with python 3
+     (list python-2))    ;for tests; syntax incompatible with python 3
     (inputs
-     `(("fortran" ,gfortran)            ;for fcmix
-       ("blas" ,openblas)
-       ("suitesparse" ,suitesparse)))   ;TODO: Add hypre
+     (list gfortran                               ;for fcmix
+           openblas petsc suitesparse))           ;TODO: Add hypre
     (arguments
      `(#:configure-flags `("-DCMAKE_C_FLAGS=-O2 -g -fcommon"
                            "-DEXAMPLES_ENABLE_C:BOOL=ON"
@@ -6107,24 +6159,17 @@ easily be incorporated into existing simulation codes.")
     (license license:bsd-3)))
 
 (define-public sundials-openmpi
-  (package (inherit sundials)
+  (package
+    (inherit sundials)
     (name "sundials-openmpi")
     (inputs
-     `(("mpi" ,openmpi)
-       ("petsc" ,petsc-openmpi)         ;support in SUNDIALS requires MPI
-       ,@(package-inputs sundials)))
+     (modify-inputs (package-inputs sundials)
+       (delete "petsc")
+       (prepend openmpi petsc-openmpi)))     ;support in SUNDIALS requires MPI
     (arguments
      (substitute-keyword-arguments (package-arguments sundials)
        ((#:configure-flags flags '())
-        `(cons* "-DMPI_ENABLE:BOOL=ON"
-                "-DPETSC_ENABLE:BOOL=ON"
-                (string-append "-DPETSC_INCLUDE_DIR="
-                               (assoc-ref %build-inputs "petsc")
-                               "/include")
-                (string-append "-DPETSC_LIBRARY_DIR="
-                               (assoc-ref %build-inputs "petsc")
-                               "/lib")
-                ,flags))
+        `(cons* "-DENABLE_MPI:BOOL=ON" ,flags))
        ((#:phases phases '%standard-phases)
         `(modify-phases ,phases
            (add-before 'check 'mpi-setup
diff --git a/gnu/packages/mercury.scm b/gnu/packages/mercury.scm
index fe02b34a97..1c7f5c5f55 100644
--- a/gnu/packages/mercury.scm
+++ b/gnu/packages/mercury.scm
@@ -31,7 +31,7 @@
   #:use-module (gnu packages shells)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages pkg-config)
-  #:use-module (ice-9 match)) ; match-lambda
+  #:use-module ((ice-9 match) #:select (match-lambda)))
 
 ;; NOTE: Mercury uses a tightly coupled fork of BDWGC and
 ;; libatomic-ops. When updating the package, please check the GitHub
@@ -100,8 +100,7 @@
                        (invoke "mv" orig-name new-name)
                        (with-directory-excursion new-name
                          (apply patch-source-shebangs (list #:source src)))))
-                    `((,libatomic-ops "source" "boehm_gc/libatomic_ops")))
-               #t)))
+                    `((,libatomic-ops "source" "boehm_gc/libatomic_ops"))))))
          (add-after 'replace-boehm-gc 'patch-paths
            (lambda _
              (substitute*
@@ -133,8 +132,7 @@
                        "boehm_gc/Makefile.direct")
                (("/bin/sh") (which "sh"))
                (("/bin/pwd") (which "pwd"))
-               (("/bin/rm") (which "rm")))
-             #t)))))
+               (("/bin/rm") (which "rm"))))))))
     (native-inputs
      `(("texinfo" ,texinfo)
        ("flex" ,flex)
@@ -227,12 +225,10 @@ separate compilation, and numerous optimization/time trade-offs.")
                         (("/bin/sh") (which "sh"))
                         (("/bin/pwd") (which "pwd"))
                         (("/bin/rm") (which "rm"))
-                        (("boehm_gc/.git") "boehm_gc"))
-                      #t))
+                        (("boehm_gc/.git") "boehm_gc"))))
                   (replace 'bootstrap
                     (lambda _
-                      (invoke "./prepare.sh")
-                      #t))))))
+                      (invoke "./prepare.sh")))))))
            ;; TODO: Uncomment phase when tests are enabled.
            ;; (replace 'check
            ;;   (lambda _
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index f40c3a7e2c..677dc4b930 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -466,7 +466,7 @@ TCP sessions from existing clients.")
 (define-public poezio
   (package
     (name "poezio")
-    (version "0.13.1")
+    (version "0.13.2")
     (source
      (origin
        (method git-fetch)
@@ -478,17 +478,16 @@ TCP sessions from existing clients.")
        (file-name
         (git-file-name name version))
        (sha256
-        (base32 "041y61pcbdb86s04qwp8s1g6bp84yskc7vdizwpi2hz18y01x5fy"))))
+        (base32 "0p92k8ssjsgavyfv1fd5cgzyw87dmdd84vaz7zvfsf5crvpr1mkf"))))
     (build-system python-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch
-           (lambda _
-             (substitute* "setup.py"
-               (("'CC', 'cc'")
-                "'CC', 'gcc'"))
-             #t)))))
+      (list #:phases
+            #~(modify-phases %standard-phases
+                (add-after 'unpack 'patch
+                  (lambda _
+                    (substitute* "setup.py"
+                      (("'CC', 'cc'")
+                       "'CC', 'gcc'")))))))
     (native-inputs
      (list pkg-config python-setuptools python-sphinx))
     (inputs
@@ -498,7 +497,6 @@ TCP sessions from existing clients.")
            python-pyasn1-modules
            python-pygments
            python-pyinotify
-           ;("python" ,python)
            python-qrcode
            python-slixmpp))
     (synopsis "Console Jabber/XMPP Client")
@@ -2354,7 +2352,7 @@ for the Matrix protocol.  It is built on to of @code{Boost.Asio}.")
 (define-public nheko
   (package
     (name "nheko")
-    (version "0.9.2")
+    (version "0.9.3")
     (source
      (origin
        (method git-fetch)
@@ -2363,7 +2361,7 @@ for the Matrix protocol.  It is built on to of @code{Boost.Asio}.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0q9yzzl7mvlixm1c2f55lksxgh9q11zb8k80mkwnhmmli8wbb05f"))
+        (base32 "1941jvk72qy9g41cs2p3d6fphkg8ccjlsiclwymvzdyi7s3ilml7"))
        (modules '((guix build utils)))
        (snippet
         '(begin
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index 7935c92815..2e04c32f0a 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -164,7 +164,7 @@ etc. via a Web interface.  Features include:
 (define-public zabbix-agentd
   (package
     (name "zabbix-agentd")
-    (version "6.0.0")
+    (version "6.0.3")
     (source
      (origin
        (method url-fetch)
@@ -172,7 +172,7 @@ etc. via a Web interface.  Features include:
              "https://cdn.zabbix.com/zabbix/sources/stable/"
              (version-major+minor version) "/zabbix-" version ".tar.gz"))
        (sha256
-        (base32 "0dlb5c34lwd3j754pgaddsvpqad5c5yqbh25y4qxfpiy4fzqmw2y"))
+        (base32 "0hihi94dk235cn4rwhrzm496dlihk0pv8785y2jyqi17jhl566g6"))
        (modules '((guix build utils)))
        (snippet
         '(substitute* '("src/zabbix_proxy/proxy.c"
diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index b95de712b0..4a8bdad711 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -561,18 +561,23 @@ compression format (.mpc files).")
 (define-public eyed3
   (package
     (name "eyed3")
-    (version "0.8.12")
+    (version "0.9.6")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "eyeD3" version))
        (sha256
-        (base32 "0vabr7hh6vy1w8gn35vmx9qwiyrfv734d5ahifg7x3pv0c5fqkp5"))))
+        (base32 "063mpg5bks9dgggjyag8968z5r7z4x50s0m0rja956dk1zn68l2b"))))
     (build-system python-build-system)
     (arguments
      `(#:tests? #f))    ; the required test data contains copyrighted material
     (propagated-inputs
-     (list python-grako python-magic python-pathlib python-six))
+     (list python-deprecation
+           python-filetype
+           python-grako
+           python-magic
+           python-pathlib
+           python-six))
     (synopsis "MP3 tag ID3 metadata editor")
     (description "eyeD3 is a Python tool for working with audio files,
 specifically mp3 files containing ID3 metadata (i.e. song info).  It provides a
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index 25c017e028..1ee6806735 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -267,14 +267,14 @@ sort playlists, and a local file system browser.")
 (define-public mpdscribble
   (package
     (name "mpdscribble")
-    (version "0.23")
+    (version "0.24")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://www.musicpd.org/download/mpdscribble/"
                                   version "/mpdscribble-" version ".tar.xz"))
               (sha256
                (base32
-                "0s66zqscb44p88cl3kcv5jkjcqsskcnrv7xgrjhzrchf2kcpwf53"))))
+                "1rx8n8pvx3a6n6z51pgy00p4rs93iqy95d3ha9q7xf5k92kwpd7n"))))
     (build-system meson-build-system)
     (inputs (list boost curl libgcrypt libmpdclient))
     (native-inputs (list pkg-config))
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index d1686f9afa..b98b713b9c 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -57,7 +57,7 @@
   ;; to migrate to 2.0.
   (package
     (name "hwloc")
-    (version "1.11.12")
+    (version "1.11.13")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.open-mpi.org/software/hwloc/v"
@@ -65,7 +65,8 @@
                                   "/downloads/hwloc-" version ".tar.bz2"))
               (sha256
                (base32
-                "0za1b9lvrm3rhn0lrxja5f64r0aq1qs4m0pxn1ji2mbi8ndppyyx"))))
+                "1j69p8a1pjpbpwn4w7l4dfxmaxxqikchjzqw1ncw05zmcmvlnjd4"))
+              (patches (search-patches "hwloc-1-test-btrfs.patch"))))
 
     (properties
      ;; Tell the 'generic-html' updater to monitor this URL for updates.
@@ -78,15 +79,8 @@
                "doc"           ;400+ section 3 man pages
                "debug"))
     (inputs
-     `(("libx11" ,libx11)
-       ("cairo" ,cairo)
-       ("ncurses" ,ncurses)
-       ("expat" ,expat)
-       ,@(if (not (string-prefix? "armhf"
-                                  (or (%current-target-system)
-                                      (%current-system))))
-             `(("numactl" ,numactl))
-             '())))
+     (append (list libx11 cairo ncurses expat)
+             (if (target-arm32?) '() (list numactl))))
     (propagated-inputs
      ;; hwloc.pc lists it in 'Requires.private'.
      (list libpciaccess))
@@ -102,8 +96,7 @@
              ;; machines: <https://github.com/open-mpi/hwloc/issues/213>.
              (substitute* "tests/linux-libnuma.c"
                (("numa_available\\(\\)")
-                "-1"))
-             #t))
+                "-1"))))
          (add-after 'install 'refine-libnuma
            ;; Give -L arguments for libraries to avoid propagation
            (lambda* (#:key inputs outputs #:allow-other-keys)
@@ -120,8 +113,7 @@
                ;; "lib" output doesn't refer to "out".
                (substitute* (string-append lib "/lib/pkgconfig/hwloc.pc")
                  (("^.*prefix=.*$")
-                  ""))
-               #t)))
+                  "")))))
          (add-after 'install 'move-man3-pages
            (lambda* (#:key outputs #:allow-other-keys)
              ;; Move section 3 man pages to the "doc" output.
@@ -129,8 +121,8 @@
                    (doc (assoc-ref outputs "doc")))
                (copy-recursively (string-append out "/share/man/man3")
                                  (string-append doc "/share/man/man3"))
-               (delete-file-recursively (string-append out "/share/man/man3"))
-               #t))))))
+               (delete-file-recursively
+                (string-append out "/share/man/man3"))))))))
     (home-page "https://www.open-mpi.org/projects/hwloc/")
     (synopsis "Abstraction of hardware architectures")
     (description
@@ -151,7 +143,7 @@ bind processes, and much more.")
   ;; Note: 2.x isn't the default yet, see above.
   (package
     (inherit hwloc-1)
-    (version "2.7.0")
+    (version "2.7.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://download.open-mpi.org/release/hwloc/v"
@@ -159,10 +151,11 @@ bind processes, and much more.")
                                   "/hwloc-" version ".tar.bz2"))
               (sha256
                (base32
-                "1q440fwvhnxz6j8k5bn3bxj86b3lzbr8fgib78l4iq6gxd9yx302"))))
+                "13ajxwshxl1pa8b5gnkmm7hcg97m6xrlgz8vj1hmsb57qcv1skhd"))))
 
     ;; libnuma is no longer needed.
-    (inputs (alist-delete "numactl" (package-inputs hwloc-1)))
+    (inputs (modify-inputs (package-inputs hwloc-1)
+              (delete "numactl")))
     (arguments
      (substitute-keyword-arguments (package-arguments hwloc-1)
        ((#:phases phases)
@@ -173,16 +166,14 @@ bind processes, and much more.")
                ;; some machines: <https://github.com/open-mpi/hwloc/issues/213>.
                (substitute* "tests/hwloc/linux-libnuma.c"
                  (("numa_available\\(\\)")
-                  "-1"))
-               #t))
+                  "-1"))))
            (add-before 'check 'skip-test-that-fails-on-qemu
              (lambda _
                ;; Skip test that fails on emulated hardware due to QEMU bug:
                ;; <https://bugs.gnu.org/40342>.
                (substitute* "tests/hwloc/hwloc_get_last_cpu_location.c"
                  (("hwloc_topology_init" all)
-                  (string-append "exit (77);\n" all)))
-               #t))))))))
+                  (string-append "exit (77);\n" all)))))))))))
 
 (define-deprecated hwloc-2.0 hwloc-2)
 
@@ -193,7 +184,7 @@ bind processes, and much more.")
 (define-public openmpi
   (package
     (name "openmpi")
-    (version "4.1.1")
+    (version "4.1.3")
     (source
      (origin
       (method url-fetch)
@@ -201,7 +192,7 @@ bind processes, and much more.")
                           (version-major+minor version)
                           "/downloads/openmpi-" version ".tar.bz2"))
       (sha256
-       (base32 "1nkwq123vvmggcay48snm9qqmrh0bdzpln0l1jnp26niidvplkz2"))
+       (base32 "0fqagib5ic0fb3rbl77z90gjrmyqk2qgyrd4f4w5vdggai6d109x"))
       (patches (search-patches "openmpi-mtl-priorities.patch"))))
 
     (properties
@@ -211,26 +202,24 @@ bind processes, and much more.")
 
     (build-system gnu-build-system)
     (inputs
-     `(("hwloc" ,hwloc-2 "lib")
-       ("gfortran" ,gfortran)
-       ("libfabric" ,libfabric)
-       ("libevent" ,libevent)
-       ("opensm" ,opensm)
-       ,@(if (and (not (%current-target-system))
-                  (member (%current-system) (package-supported-systems psm)))
-             `(("psm" ,psm))
-             '())
-       ,@(if (and (not (%current-target-system))
-                  (member (%current-system) (package-supported-systems psm2)))
-             `(("psm2" ,psm2))
-             '())
-       ,@(if (and (not (%current-target-system))
-                  (member (%current-system) (package-supported-systems ucx)))
-             `(("ucx" ,ucx))
-             '())
-       ("rdma-core" ,rdma-core)
-       ("valgrind" ,valgrind)
-       ("slurm" ,slurm)))              ;for PMI support (launching via "srun")
+     (let ((if-supported
+            (lambda (package)
+              (if (and (not (%current-target-system))
+                       (member (%current-system)
+                               (package-supported-systems package)))
+                  (list package)
+                  '()))))
+       (append (list `(,hwloc-2 "lib")
+                     gfortran
+                     libfabric
+                     libevent
+                     opensm)
+               (if-supported psm)
+               (if-supported psm2)
+               (if-supported ucx)
+               (list rdma-core
+                     valgrind
+                     slurm))))         ;for PMI support (launching via "srun")
     (native-inputs
      (list pkg-config perl))
     (outputs '("out" "debug"))
@@ -282,20 +271,17 @@ bind processes, and much more.")
                       (substitute*
                           '("./ompi/mca/io/romio321/src/io_romio321_component.c")
                         (("MCA_io_romio321_COMPLETE_CONFIGURE_FLAGS")
-                         "\"[elided to reduce closure]\""))
-                      #t))
+                         "\"[elided to reduce closure]\""))))
                   (add-before 'build 'scrub-timestamps ;reproducibility
                     (lambda _
                       (substitute* '("ompi/tools/ompi_info/param.c"
                                      "orte/tools/orte-info/param.c"
                                      "oshmem/tools/oshmem_info/param.c")
-                        ((".*(Built|Configured) on.*") ""))
-                      #t))
+                        ((".*(Built|Configured) on.*") ""))))
                   (add-after 'install 'remove-logs ;reproducibility
                     (lambda* (#:key outputs #:allow-other-keys)
                       (let ((out (assoc-ref outputs "out")))
-                        (for-each delete-file (find-files out "config.log"))
-                        #t))))))
+                        (for-each delete-file (find-files out "config.log"))))))))
     (home-page "https://www.open-mpi.org")
     (synopsis "MPI-3 implementation")
     (description
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 25f2495c02..210af3b166 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -470,7 +470,7 @@ playing your music.")
 (define-public strawberry
   (package
     (name "strawberry")
-    (version "1.0.1")
+    (version "1.0.3")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -479,7 +479,7 @@ playing your music.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "077dlj0kjcrj4g1h4w8finzykizaar67ik6yng6c8zjp2i5bam1j"))
+                "14fr2bm51k4n5byc9pwh3ba6v15s9jmqxigl1y9h00l7cvmfpbn1"))
               (modules '((guix build utils)
                          (ice-9 regex)))
               (snippet
@@ -2040,16 +2040,14 @@ Key features include:
                (("/usr/bin/aplay") "aplay")
                (("/usr/bin/timidity") "timidity")
                (("/usr/bin/mpg123") "mpg123")
-               (("/usr/bin/ogg123") "ogg123"))
-             #t))
+               (("/usr/bin/ogg123") "ogg123"))))
          (add-before 'build 'patch-python-shebangs
            (lambda _
              ;; Two python scripts begin with a Unicode BOM, so patch-shebang
              ;; has no effect.
              (substitute* '("solfege/parsetree.py"
                             "solfege/presetup.py")
-               (("#!/usr/bin/python") (string-append "#!" (which "python"))))
-             #t))
+               (("#!/usr/bin/python") (string-append "#!" (which "python"))))))
          (add-before 'build 'add-sitedirs
            ;; .pth files are not automatically interpreted unless the
            ;; directories containing them are added as "sites".  The directories
@@ -2605,7 +2603,7 @@ is subjective.")
 (define-public tuxguitar
   (package
     (name "tuxguitar")
-    (version "1.5.4")
+    (version "1.5.5")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2613,7 +2611,7 @@ is subjective.")
                     version "/tuxguitar-" version "-src.tar.gz"))
               (sha256
                (base32
-                "0fjhf56lhlhm84v08917xp4yw8y6d0qajm4qiy1gfp8dm74whwwg"))))
+                "1613aiq3x48l2nx1zxqh1cif6i5izkixfld8c9wri9nfv405b19f"))))
     (build-system ant-build-system)
     (arguments
      `(#:build-target "build"
@@ -2651,8 +2649,7 @@ is subjective.")
                                 "TuxGuitar-gm-utils"
                                 "TuxGuitar-alsa"
                                 "TuxGuitar-midi"
-                                "TuxGuitar-midi-ui"))
-               #t)))
+                                "TuxGuitar-midi-ui")))))
          (add-after 'build 'build-jni
            (lambda _
              (setenv "CC" "gcc")
@@ -2711,8 +2708,7 @@ is subjective.")
                                      " -Djava.library.path=" out "/lib"
                                      " org.herac.tuxguitar.app.TGMainSingleton"
                                      " \"$1\" \"$2\"")))))
-               (chmod (string-append bin "/tuxguitar") #o555)
-               #t))))))
+               (chmod (string-append bin "/tuxguitar") #o555)))))))
     (inputs
      (list alsa-lib java-swt))
     (home-page "http://tuxguitar.com.ar/")
@@ -5008,7 +5004,7 @@ studio.")
 (define-public gsequencer
   (package
     (name "gsequencer")
-    (version "3.14.5")
+    (version "3.18.2")
     (source
      (origin
        (method git-fetch)
@@ -5017,7 +5013,7 @@ studio.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "18pfv4w30nng1p0vgmrnkfm38522iq1x1bj8iz4qfiffiv56dsnz"))))
+        (base32 "1lkn7rfrjvmds62i69igcgmic2snscgb9f6gdg5nzyfkis1fq5iz"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/ncdu.scm b/gnu/packages/ncdu.scm
index 7089ac8c89..d133b61e16 100644
--- a/gnu/packages/ncdu.scm
+++ b/gnu/packages/ncdu.scm
@@ -59,14 +59,14 @@ ncurses installed.")
   (package
     (inherit ncdu)
     (name "ncdu2")      ; To destinguish it from the C based version.
-    (version "2.1")
+    (version "2.1.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://dev.yorhel.nl/download/ncdu-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1zlml62j57nb8k2simjy1bj2bp69zj517injy85c0p55ch5d5a2b"))))
+                "1va85adf1cd5xn2xh107zmr12q69i4p2m5s62chvch0dlm63ghnn"))))
     (arguments
      (list
        #:make-flags
@@ -88,4 +88,5 @@ ncurses installed.")
                (when tests?
                  (invoke "zig" "test" "build.zig")))))))
     (native-inputs
-     (list perl zig))))
+     (list perl zig))
+    (properties `((upstream-name . "ncdu")))))
diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm
index 311a681d09..5b00da25bb 100644
--- a/gnu/packages/ncurses.scm
+++ b/gnu/packages/ncurses.scm
@@ -247,6 +247,17 @@ ncursesw library provides wide character support.")
     (inputs
      `(("gpm" ,gpm)))))
 
+;; Needed by u-boot 2022.04+
+;; Consider merging into ncurses for next core-updates cycle.
+(define-public ncurses/tinfo
+  (package/inherit ncurses
+    (name "ncurses-with-tinfo")
+    (arguments
+     (substitute-keyword-arguments (package-arguments ncurses)
+       ((#:configure-flags cf)
+        `(cons "--with-termlib=tinfo"
+               ,cf))))))
+
 (define-public dialog
   (package
     (name "dialog")
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index b45f2f79f2..9010e1f120 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -39,7 +39,7 @@
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;; Copyright © 2020 Jesse Dowell <jessedowell@gmail.com>
 ;;; Copyright © 2020 Hamzeh Nasajpour <h.nasajpour@pantherx.org>
-;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
 ;;; Copyright © 2021 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2021 Justin Veilleux <terramorpha@cock.li>
 ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
@@ -2450,7 +2450,7 @@ the bandwidth, loss, and other parameters.")
 (define-public nethogs
   (package
     (name "nethogs")
-    (version "0.8.6")
+    (version "0.8.7")
     (source
      (origin
        (method git-fetch)
@@ -2459,7 +2459,7 @@ the bandwidth, loss, and other parameters.")
              (commit (string-append "v" version))))
        (hash
         (content-hash
-         (base32 "0sn1sdp86akwlm4r1vmkxjjl50c0xaisk91bbz57z7kcsaphxna9")
+         (base32 "10shdwvfj90lp2fxz9260342a1c2n1jbw058qy5pyq5kh3xwr9b8")
          sha256))
        (file-name (git-file-name name version))))
     (build-system gnu-build-system)
diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm
index 7a3c033b2e..75460150a2 100644
--- a/gnu/packages/ntp.scm
+++ b/gnu/packages/ntp.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -153,7 +154,10 @@ time-stamping or reference clock, sub-microsecond accuracy is possible.")
             `(("libcap" ,libcap))
             '())))
    (arguments
-    `(#:phases
+    `(;; Pass "--with-yielding-select=yes" so that 'configure' knows whether
+      ;; 'select' yields when using pthreads in a cross-compilation context.
+      #:configure-flags (list "--with-yielding-select=yes")
+      #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'disable-network-test
                    (lambda _
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 78eab203de..2cfe94106d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4476,6 +4476,7 @@ recommend using this package directly.")
       "028yxb4h3iy025iy89v8653m5brh7flrjshghs4x99pd690pmfs7"))
     (build-system dune-build-system)
     (arguments '(#:tests? #f))           ; no tests
+    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-jane-street-headers))))
     (home-page "https://github.com/janestreet/jane-street-headers")
     (synopsis "Jane Street C header files")
     (description "C header files shared between the various Jane Street
@@ -5580,33 +5581,30 @@ string conversion.")
        "11b73smf3g3bpd9lg014pr4rx285nk9mnk6g6464ph51jv0sqzhj"))
      (properties `((upstream-name . "ppx_custom_printf"))))))
 
-(define-public ocaml4.07-bin-prot
+(define-public ocaml-bin-prot
   (package
-    (name "ocaml4.07-bin-prot")
-    (version "0.11.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                  (version-major+minor version)
-                                  "/files/bin_prot-v" version ".tar.gz"))
-              (sha256
-               (base32
-                "1rsd91gx36prj4whi76nsiz1bzpgal9nzyw3pxdz1alv4ilk2il6"))))
+    (name "ocaml-bin-prot")
+    (version "0.14.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/janestreet/bin_prot")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "1qyqbfp4zdc2jb87370cdgancisqffhf9x60zgh2m31kqik8annr"))))
     (build-system dune-build-system)
-    (inputs
-      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
-        ("ocaml-ppx-compare" ,(package-with-ocaml4.07 ocaml-ppx-compare))
-        ("ocaml-ppx-custom-printf" ,(package-with-ocaml4.07 ocaml-ppx-custom-printf))
-        ("ocaml-ppx-fields-conv" ,(package-with-ocaml4.07 ocaml-ppx-fields-conv))
-        ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
-        ("ocaml-ppx-variants-conv" ,(package-with-ocaml4.07 ocaml-ppx-variants-conv))
-        ("ocaml-migrate-parsetree"
-         ,(package-with-ocaml4.07 ocaml-migrate-parsetree))))
-    (arguments
-     `(#:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
-    (properties `((upstream-name . "bin_prot")))
+    (propagated-inputs
+      (list ocaml-base
+            ocaml-ppx-compare
+            ocaml-ppx-custom-printf
+            ocaml-ppx-fields-conv
+            ocaml-ppx-optcomp
+            ocaml-ppx-sexp-conv
+            ocaml-ppx-variants-conv))
+    (properties `((upstream-name . "bin_prot")
+                  (ocaml4.07-variant . ,(delay ocaml4.07-bin-prot))))
     (home-page "https://github.com/janestreet/bin_prot")
     (synopsis "Binary protocol generator")
     (description "This library contains functionality for reading and writing
@@ -5615,9 +5613,31 @@ typically supporting type-safe marshalling and unmarshalling of even highly
 structured values at speeds sufficient to saturate a gigabit connection.  The
 protocol is also heavily optimized for size, making it ideal for long-term
 storage of large amounts of data.")
-    (license (list
-               license:asl2.0
-               license:bsd-3))))
+    (license license:expat)))
+
+(define-public ocaml4.07-bin-prot
+  (package-with-ocaml4.07
+    (package
+      (inherit ocaml-bin-prot)
+      (version "0.11.0")
+      (source (origin
+                (method url-fetch)
+                (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+                                    (version-major+minor version)
+                                    "/files/bin_prot-v" version ".tar.gz"))
+                (sha256
+                 (base32
+                  "1rsd91gx36prj4whi76nsiz1bzpgal9nzyw3pxdz1alv4ilk2il6"))))
+      (propagated-inputs (list ocaml-base
+                               ocaml-ppx-compare
+                               ocaml-ppx-custom-printf
+                               ocaml-ppx-fields-conv
+                               ocaml-ppx-variants-conv
+                               ocaml-migrate-parsetree))
+      (properties '())
+      (license (list
+                 license:asl2.0
+                 license:bsd-3)))))
 
 (define-public ocaml-octavius
   (package
@@ -5725,35 +5745,48 @@ many values).")
                  "0spx9k1v7vjjb6sigbfs69yndgq76v114jhxvzjmffw7q989cyhr"))))
      (properties `((upstream-name . "ppx_enumerate"))))))
 
-(define-public ocaml4.07-ppx-bench
+(define-public ocaml-ppx-bench
   (package
-    (name "ocaml4.07-ppx-bench")
-    (version "0.11.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                  (version-major+minor version)
-                                  "/files/ppx_bench-v" version ".tar.gz"))
-              (sha256
-               (base32
-                "0ys4pblbcjbk9dn073rqiwm7r6rc7fah03j7riklkwnb5n44andl"))))
+    (name "ocaml-ppx-bench")
+    (version "0.14.1")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/janestreet/ppx_bench")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "12r7jgqgpb4i4cry3rgyl2nmxcscs5w7mmk06diz7i49r27p96im"))))
     (build-system dune-build-system)
     (arguments
      ;; No tests
-     `(#:tests? #f
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
-    (propagated-inputs
-     `(("ocaml-ppx-inline-test" ,(package-with-ocaml4.07 ocaml-ppx-inline-test))
-        ("ocaml-migrate-parsetree"
-         ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
-        ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
-    (properties `((upstream-name . "ppx_bench")))
+     `(#:tests? #f))
+    (propagated-inputs (list ocaml-ppx-inline-test ocaml-ppxlib))
+    (properties `((upstream-name . "ppx_bench")
+                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-bench))))
     (home-page "https://github.com/janestreet/ppx_bench")
     (synopsis "Syntax extension for writing in-line benchmarks in ocaml code")
     (description "Syntax extension for writing in-line benchmarks in ocaml code.")
-    (license license:asl2.0)))
+    (license license:expat)))
+
+(define-public ocaml4.07-ppx-bench
+  (package-with-ocaml4.07
+    (package
+      (inherit ocaml-ppx-bench)
+      (version "0.11.0")
+      (source (origin
+                (method url-fetch)
+                (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+                                    (version-major+minor version)
+                                    "/files/ppx_bench-v" version ".tar.gz"))
+                (sha256
+                 (base32
+                  "0ys4pblbcjbk9dn073rqiwm7r6rc7fah03j7riklkwnb5n44andl"))))
+      (propagated-inputs
+        (list ocaml-ppx-inline-test ocaml-migrate-parsetree ocaml-ppxlib))
+      (properties '())
+      (license license:asl2.0))))
 
 (define-public ocaml-ppx-here
   (package
@@ -5786,123 +5819,228 @@ many values).")
                          "0wxcak3ay4jpigm3pfdcpr65qw4hxfa8whhkryhcd8gy71x056z5"))
      (properties `((upstream-name . "ppx_here"))))))
 
-(define-public ocaml4.07-typerep
+(define-public ocaml-typerep
   (package
-    (name "ocaml4.07-typerep")
-    (version "0.11.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                  (version-major+minor version)
-                                  "/files/typerep-v" version ".tar.gz"))
-              (sha256
-               (base32
-                "1zi7hy0prpgzqhr4lkacr04wvlvbp21jfbdfvffhrm6cd400rb5v"))))
+    (name "ocaml-typerep")
+    (version "0.14.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/janestreet/typerep")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "0wc7h853ka3s3lxxgm61ypidl0lzgc9abdkil6f72anl0c417y90"))))
     (build-system dune-build-system)
-    (arguments
-     `(#:tests? #f
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
-    (propagated-inputs `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))))
+    (arguments `(#:tests? #f)); no tests
+    (propagated-inputs (list ocaml-base))
+    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-typerep))))
     (home-page "https://github.com/janestreet/typerep")
     (synopsis "Typerep is a library for runtime types")
     (description "Typerep is a library for runtime types.")
-    (license license:asl2.0)))
+    (license license:expat)))
 
-(define-public ocaml4.07-ppx-sexp-value
+(define-public ocaml4.07-typerep
+  (package-with-ocaml4.07
+    (package
+      (inherit ocaml-typerep)
+      (version "0.11.0")
+      (source (origin
+                (method url-fetch)
+                (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+                                    (version-major+minor version)
+                                    "/files/typerep-v" version ".tar.gz"))
+                (sha256
+                 (base32
+                  "1zi7hy0prpgzqhr4lkacr04wvlvbp21jfbdfvffhrm6cd400rb5v"))))
+      (properties '())
+      (license license:asl2.0))))
+
+(define-public ocaml-ppx-sexp-value
   (package
-    (name "ocaml4.07-ppx-sexp-value")
-    (version "0.11.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                  (version-major+minor version)
-                                  "/files/ppx_sexp_value-v" version ".tar.gz"))
-              (sha256
-               (base32
-                "1xnalfrln6k5khsyxvxkg6v32q8fpr4cqamsjqfih29jdv486xrs"))))
+    (name "ocaml-ppx-sexp-value")
+    (version "0.14.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/janestreet/ppx_sexp_value")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "1d1c92pyypqkd9473d59j0sfppxvcxggbc62w8bkqnbxrdmvirn9"))))
     (build-system dune-build-system)
-    (arguments
-     `(#:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
-        ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
-        ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
-        ("ocaml-migrate-parsetree"
-         ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
-        ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
-    (properties `((upstream-name . "ppx_sexp_value")))
+      (list ocaml-base ocaml-ppx-here ocaml-ppx-sexp-conv ocaml-ppxlib))
+    (properties `((upstream-name . "ppx_sexp_value")
+                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-sexp-value))))
     (home-page "https://github.com/janestreet/ppx_sexp_value")
     (synopsis "Simplify building s-expressions from ocaml values")
-    (description "A ppx rewriter that simplifies building s-expressions from
-ocaml values.")
-    (license license:asl2.0)))
+    (description "@samp{ppx-sexp-value} is a ppx rewriter that simplifies
+building s-expressions from ocaml values.")
+    (license license:expat)))
 
-(define-public ocaml4.07-ppx-sexp-message
+(define-public ocaml4.07-ppx-sexp-value
+  (package-with-ocaml4.07
+    (package
+      (inherit ocaml-ppx-sexp-value)
+      (version "0.11.0")
+      (source (origin
+                (method url-fetch)
+                (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+                                    (version-major+minor version)
+                                    "/files/ppx_sexp_value-v" version ".tar.gz"))
+                (sha256
+                 (base32
+                  "1xnalfrln6k5khsyxvxkg6v32q8fpr4cqamsjqfih29jdv486xrs"))))
+      (propagated-inputs
+        (list ocaml-base
+              ocaml-ppx-here
+              ocaml-ppx-sexp-conv
+              ocaml-migrate-parsetree
+              ocaml-ppxlib))
+      (properties '())
+      (license license:asl2.0))))
+
+(define-public ocaml-ppx-sexp-message
   (package
-    (name "ocaml4.07-ppx-sexp-message")
-    (version "0.11.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                  (version-major+minor version)
-                                  "/files/ppx_sexp_message-v" version ".tar.gz"))
-              (sha256
-               (base32
-                "1yh440za0w9cvrbxbmqacir8715kdaw6sw24ys9xj80av9nqpiw7"))))
+    (name "ocaml-ppx-sexp-message")
+    (version "0.14.1")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/janestreet/ppx_sexp_message")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "1lvsr0d68kakih1ll33hy6dxbjkly6lmky4q6z0h0hrcbd6z48k4"))))
     (build-system dune-build-system)
-    (arguments
-     `(#:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
-        ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
-        ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
-        ("ocaml-migrate-parsetree"
-         ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
-        ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
-    (properties `((upstream-name . "ppx_sexp_message")))
+      (list ocaml-base ocaml-ppx-here ocaml-ppx-sexp-conv ocaml-ppxlib))
+    (properties `((upstream-name . "ppx_sexp_message")
+                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-sexp-message))))
     (home-page "https://github.com/janestreet/ppx_sexp_message")
     (synopsis "Ppx rewriter for easy construction of s-expressions")
     (description "Ppx_sexp_message aims to ease the creation of s-expressions
 in OCaml.  This is mainly motivated by writing error and debugging messages,
 where one needs to construct a s-expression based on various element of the
 context such as function arguments.")
-    (license license:asl2.0)))
+    (license license:expat)))
 
-(define-public ocaml4.07-ppx-pipebang
+(define-public ocaml4.07-ppx-sexp-message
+  (package-with-ocaml4.07
+    (package
+      (inherit ocaml-ppx-sexp-message)
+      (version "0.11.0")
+      (source (origin
+                (method url-fetch)
+                (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+                                    (version-major+minor version)
+                                    "/files/ppx_sexp_message-v" version ".tar.gz"))
+                (sha256
+                 (base32
+                  "1yh440za0w9cvrbxbmqacir8715kdaw6sw24ys9xj80av9nqpiw7"))))
+      (propagated-inputs
+        (list ocaml-base
+              ocaml-ppx-here
+              ocaml-ppx-sexp-conv
+              ocaml-migrate-parsetree
+              ocaml-ppxlib))
+      (properties '())
+      (license license:asl2.0))))
+
+(define-public ocaml-ppx-pipebang
   (package
-    (name "ocaml4.07-ppx-pipebang")
-    (version "0.11.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                  (version-major+minor version)
-                                  "/files/ppx_pipebang-v" version ".tar.gz"))
-              (sha256
-               (base32
-                "1wrrzlb4kdvkkcmzi01fw25jar38r2jlnyn0i6pn4z0lq4gpm9m0"))))
+    (name "ocaml-ppx-pipebang")
+    (version "0.14.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/janestreet/ppx_pipebang")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "0450b3p2rpnnn5yyvbkcd3c33jr2z0dp8blwxddaj2lv7nzl5dzf"))))
     (build-system dune-build-system)
-    (arguments
-     ;; No tests
-     `(#:tests? #f
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
-    (propagated-inputs
-      `(("ocaml-migrate-parsetree"
-         ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
-        ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
-    (properties `((upstream-name . "ppx_pipebang")))
+    (arguments `(#:tests? #f)); no tests
+    (propagated-inputs (list ocaml-ppxlib))
+    (properties `((upstream-name . "ppx_pipebang")
+                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-pipebang))))
     (home-page "https://github.com/janestreet/ppx_pipebang")
     (synopsis "Inline reverse application operators `|>` and `|!`")
     (description "A ppx rewriter that inlines reverse application operators
 @code{|>} and @code{|!}.")
-    (license license:asl2.0)))
+    (license license:expat)))
+
+(define-public ocaml4.07-ppx-pipebang
+  (package-with-ocaml4.07
+    (package
+      (inherit ocaml-ppx-pipebang)
+      (version "0.11.0")
+      (source (origin
+                (method url-fetch)
+                (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+                                    (version-major+minor version)
+                                    "/files/ppx_pipebang-v" version ".tar.gz"))
+                (sha256
+                 (base32
+                  "1wrrzlb4kdvkkcmzi01fw25jar38r2jlnyn0i6pn4z0lq4gpm9m0"))))
+      (propagated-inputs (list ocaml-migrate-parsetree ocaml-ppxlib))
+      (properties '())
+      (license license:asl2.0))))
+
+(define-public ocaml-ppx-module-timer
+  (package
+    (name "ocaml-ppx-module-timer")
+    (version "0.14.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/janestreet/ppx_module_timer")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "163q1rpblwv82fxwyf0p4j9zpsj0jzvkfmzb03r0l49gqhn89mp6"))))
+    (build-system dune-build-system)
+    (arguments
+     `(#:tests? #f)); no tests
+    (propagated-inputs
+      (list ocaml-base ocaml-ppx-base ocaml-stdio ocaml-time-now ocaml-ppxlib))
+    (properties `((upstream-name . "ppx_module_timer")))
+    (home-page "https://github.com/janestreet/ppx_module_timer")
+    (synopsis "Ppx rewriter that records top-level module startup times")
+    (description "Modules using @samp{ppx_module_timer} have instrumentation
+to record their startup time.")
+    (license license:expat)))
+
+(define-public ocaml-ppx-fixed-literal
+  (package
+    (name "ocaml-ppx-fixed-literal")
+    (version "0.14.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/janestreet/ppx_fixed_literal")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "0s7rb4dhz4ibhh42a9sfxjj3zbwfyfmaihr92hpdv5j9xqn3n8mi"))))
+    (build-system dune-build-system)
+    (arguments
+     `(#:tests? #f)); no tests
+    (propagated-inputs (list ocaml-base ocaml-ppxlib))
+    (properties `((upstream-name . "ppx_fixed_literal")))
+    (home-page "https://github.com/janestreet/ppx_fixed_literal")
+    (synopsis "Simpler notation for fixed point literals")
+    (description
+      "@samp{ppx-fixed-literal} is a ppx rewriter that rewrites fixed point
+literal of the  form 1.0v to conversion functions currently in scope.")
+    (license license:expat)))
 
 (define-public ocaml-ppx-optional
   (package
@@ -6002,35 +6140,46 @@ match expressions, and if expressions.")
 
      (properties `((upstream-name . "ppx_let"))))))
 
-(define-public ocaml4.07-ppx-fail
+(define-public ocaml-ppx-fail
   (package
-    (name "ocaml4.07-ppx-fail")
-    (version "0.11.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                  (version-major+minor version)
-                                  "/files/ppx_fail-v" version ".tar.gz"))
-              (sha256
-               (base32
-                "07plqsvljiwvngggfypwq55g46s5my55y45mvlmalrxyppzr03s8"))))
+    (name "ocaml-ppx-fail")
+    (version "0.14.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/janestreet/ppx_fail")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "012p9gv7w4sk3b4x0sdmqrmr2856w8xc424waxb6vrybid7qjs95"))))
     (build-system dune-build-system)
-    (arguments
-     `(#:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
-    (propagated-inputs
-      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
-        ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
-        ("ocaml-migrate-parsetree"
-         ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
-        ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
-    (properties `((upstream-name . "ppx_fail")))
+    (propagated-inputs (list ocaml-base ocaml-ppx-here ocaml-ppxlib))
+    (properties `((upstream-name . "ppx_fail")
+                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-fail))))
     (home-page "https://github.com/janestreet/ppx_fail")
     (synopsis "Add location to calls to failwiths")
     (description "Syntax extension that makes [failwiths] always include a
 position.")
-    (license license:asl2.0)))
+    (license license:expat)))
+
+(define-public ocaml4.07-ppx-fail
+  (package-with-ocaml4.07
+    (package
+      (inherit ocaml-ppx-fail)
+      (version "0.11.0")
+      (source (origin
+                (method url-fetch)
+                (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+                                    (version-major+minor version)
+                                    "/files/ppx_fail-v" version ".tar.gz"))
+                (sha256
+                 (base32
+                  "07plqsvljiwvngggfypwq55g46s5my55y45mvlmalrxyppzr03s8"))))
+      (propagated-inputs
+        (list ocaml-base ocaml-ppx-here ocaml-migrate-parsetree ocaml-ppxlib))
+      (properties '())
+      (license license:asl2.0))))
 
 (define-public ocaml-ppx-cold
   (package
@@ -6189,37 +6338,96 @@ packages.")
                          "0z3fc55jdjhhsblla6z4fqc13kljpcz29q79rvs5h2vsraqrldr2"))
      (properties `((upstream-name . "ppx_js_style"))))))
 
-(define-public ocaml4.07-ppx-typerep-conv
+(define-public ocaml-ppx-typerep-conv
   (package
-    (name "ocaml4.07-ppx-typerep-conv")
-    (version "0.11.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                     (url "https://github.com/janestreet/ppx_typerep_conv")
-                     (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0a13dpfrrg0rsm8qni1bh7pqcda30l70z8r6yzi5a64bmwk7g5ah"))))
+    (name "ocaml-ppx-typerep-conv")
+    (version "0.14.2")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/janestreet/ppx_typerep_conv/")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "0yk9vkpnwr8labgfncqdi4rfkj88d8mb3cr8m4gdqpi3f2r27hf0"))))
     (build-system dune-build-system)
     (arguments
-     `(#:test-target "."
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
-    (propagated-inputs
-      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
-        ("ocaml-typerep" ,ocaml4.07-typerep)
-        ("ocaml-migrate-parsetree"
-         ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
-        ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
-    (properties `((upstream-name . "ppx_typerep_conv")))
+     `(#:test-target "."))
+    (propagated-inputs (list ocaml-base ocaml-typerep ocaml-ppxlib))
+    (properties `((upstream-name . "ppx_typerep_conv")
+                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-typerep-conv))))
     (home-page "https://github.com/janestreet/ppx_typerep_conv")
     (synopsis "Generation of runtime types from type declarations")
     (description "This package can automatically generate runtime types
 from type definitions.")
-    (license license:asl2.0)))
+    (license license:expat)))
+
+(define-public ocaml4.07-ppx-typerep-conv
+  (package-with-ocaml4.07
+    (package
+      (inherit ocaml-ppx-typerep-conv)
+      (version "0.11.1")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                       (url "https://github.com/janestreet/ppx_typerep_conv")
+                       (commit (string-append "v" version))))
+                (file-name (git-file-name "ocaml4.07-ppx-typerep-conv" version))
+                (sha256
+                 (base32
+                  "0a13dpfrrg0rsm8qni1bh7pqcda30l70z8r6yzi5a64bmwk7g5ah"))))
+      (properties '())
+      (propagated-inputs
+        (list ocaml-base ocaml-typerep ocaml-migrate-parsetree ocaml-ppxlib))
+      (license license:asl2.0))))
+
+(define-public ocaml-ppx-string
+  (package
+    (name "ocaml-ppx-string")
+    (version "0.14.1")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/janestreet/ppx_string")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "0a8khmg0y32kyn3q6idwgh0d6d1s6ms1w75gj3dzng0v7y4h6jx4"))))
+    (build-system dune-build-system)
+    (arguments `(#:tests? #f)); no tests
+    (propagated-inputs
+      (list ocaml-base ocaml-ppx-base ocaml-stdio ocaml-ppxlib))
+    (properties `((upstream-name . "ppx_string")))
+    (home-page "https://github.com/janestreet/ppx_string")
+    (synopsis "Ppx extension for string interpolation")
+    (description "This extension provides a syntax for string interpolation.")
+    (license license:expat)))
+
+(define-public ocaml-ppx-stable
+  (package
+    (name "ocaml-ppx-stable")
+    (version "0.14.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/janestreet/ppx_stable")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1sp1kn23qr0pfypa4ilvhqq5y11y13xpfygfl582ra9kik5xqfa1"))))
+    (build-system dune-build-system)
+    (arguments
+     `(#:test-target "tests"))
+    (propagated-inputs (list ocaml-base ocaml-ppxlib))
+    (properties `((upstream-name . "ppx_stable")))
+    (home-page "https://github.com/janestreet/ppx_stable")
+    (synopsis "Stable types conversions generator")
+    (description "This package is a ppx extension for easier implementation of
+conversion functions between almost identical types.")
+    (license license:expat)))
 
 (define-public ocaml-ppx-base
   (package
@@ -6270,110 +6478,185 @@ verification tool.")
        ("ocaml-ppxlib" ,ocaml-ppxlib)))
     (properties `((upstream-name . "ppx_base"))))))
 
-(define-public ocaml4.07-ppx-bin-prot
+(define-public ocaml-ppx-bin-prot
   (package
-    (name "ocaml4.07-ppx-bin-prot")
-    (version "0.11.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                     (url "https://github.com/janestreet/ppx_bin_prot")
-                     (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1h60i75bzvhna1axyn662gyrzhh441l79vl142d235i5x31dmnkz"))))
+    (name "ocaml-ppx-bin-prot")
+    (version "0.14.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/janestreet/ppx_bin_prot")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "1qryjxhyz3kn5jz5wm62j59lhjhd1mp7nbsj0np9qnbpapnnr1zg"))))
     (build-system dune-build-system)
     (arguments
      ;; Cyclic dependency with ocaml-ppx-jane
-     `(#:tests? #f
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
+     `(#:tests? #f))
     (propagated-inputs
-      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
-        ("ocaml-bin-prot" ,ocaml4.07-bin-prot)
-        ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
-        ("ocaml-migrate-parsetree"
-         ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
-        ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
-    (properties `((upstream-name . "ppx_bin_prot")))
+      (list ocaml-base ocaml-bin-prot ocaml-ppx-here ocaml-ppxlib))
+    (properties `((upstream-name . "ppx_bin_prot")
+                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-bin-prot))))
     (home-page "https://github.com/janestreet/ppx_bin_prot")
     (synopsis "Generation of bin_prot readers and writers from types")
     (description "Generation of binary serialization and deserialization
 functions from type definitions.")
-    (license license:asl2.0)))
+    (license license:expat)))
 
-(define-public ocaml4.07-ppx-jane
+(define-public ocaml4.07-ppx-bin-prot
+  (package-with-ocaml4.07
+    (package
+      (inherit ocaml-ppx-bin-prot)
+      (version "0.11.1")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                       (url "https://github.com/janestreet/ppx_bin_prot")
+                       (commit (string-append "v" version))))
+                (file-name (git-file-name "ocaml4.07-ppx-bin-prot" version))
+                (sha256
+                 (base32
+                  "1h60i75bzvhna1axyn662gyrzhh441l79vl142d235i5x31dmnkz"))))
+      (propagated-inputs
+        (list ocaml-base
+              ocaml-bin-prot
+              ocaml-ppx-here
+              ocaml-migrate-parsetree
+              ocaml-ppxlib))
+      (properties '())
+      (license license:asl2.0))))
+
+(define-public ocaml-ppx-jane
   (package
-    (name "ocaml4.07-ppx-jane")
-    (version "0.11.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                  (version-major+minor version)
-                                  "/files/ppx_jane-v" version ".tar.gz"))
-              (sha256
-               (base32
-                "0lgppkw3aixrfnixihrsz2ipafv8fpvkdpy3pw8n0r615gg8x8la"))))
+    (name "ocaml-ppx-jane")
+    (version "0.14.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/janestreet/ppx_jane")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "1kk238fvrcylymwm7xwc7llbyspmx1y662ypq00vy70g112rir7j"))))
     (build-system dune-build-system)
     (arguments
-     `(#:test-target "."
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
+     `(#:test-target "."))
     (propagated-inputs
-     `(("ocaml-ppx-assert" ,(package-with-ocaml4.07 ocaml-ppx-assert))
-       ("ocaml-ppx-base" ,(package-with-ocaml4.07 ocaml-ppx-base))
-        ("ocaml-ppx-bench" ,ocaml4.07-ppx-bench)
-        ("ocaml-ppx-bin-prot" ,ocaml4.07-ppx-bin-prot)
-        ("ocaml-ppx-custom-printf" ,(package-with-ocaml4.07 ocaml-ppx-custom-printf))
-        ("ocaml-ppx-expect" ,(package-with-ocaml4.07 ocaml-ppx-expect))
-        ("ocaml-ppx-fail" ,ocaml4.07-ppx-fail)
-        ("ocaml-ppx-fields-conv" ,(package-with-ocaml4.07 ocaml-ppx-fields-conv))
-        ("ocaml-ppx-here" ,(package-with-ocaml4.07 ocaml-ppx-here))
-        ("ocaml-ppx-inline-test" ,(package-with-ocaml4.07 ocaml-ppx-inline-test))
-        ("ocaml-ppx-let" ,(package-with-ocaml4.07 ocaml-ppx-let))
-        ("ocaml-ppx-optcomp" ,(package-with-ocaml4.07 ocaml-ppx-optcomp))
-        ("ocaml-ppx-optional" ,(package-with-ocaml4.07 ocaml-ppx-optional))
-        ("ocaml-ppx-pipebang" ,ocaml4.07-ppx-pipebang)
-        ("ocaml-ppx-sexp-message" ,ocaml4.07-ppx-sexp-message)
-        ("ocaml-ppx-sexp-value" ,ocaml4.07-ppx-sexp-value)
-        ("ocaml-ppx-typerep-conv" ,ocaml4.07-ppx-typerep-conv)
-        ("ocaml-ppx-variants-conv" ,(package-with-ocaml4.07 ocaml-ppx-variants-conv))
-        ("ocaml-migrate-parsetree"
-         ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
-        ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
-    (properties `((upstream-name . "ppx_jane")))
+      (list ocaml-base-quickcheck
+            ocaml-ppx-assert
+            ocaml-ppx-base
+            ocaml-ppx-bench
+            ocaml-ppx-bin-prot
+            ocaml-ppx-custom-printf
+            ocaml-ppx-expect
+            ocaml-ppx-fields-conv
+            ocaml-ppx-fixed-literal
+            ocaml-ppx-here
+            ocaml-ppx-inline-test
+            ocaml-ppx-let
+            ocaml-ppx-module-timer
+            ocaml-ppx-optcomp
+            ocaml-ppx-optional
+            ocaml-ppx-pipebang
+            ocaml-ppx-sexp-message
+            ocaml-ppx-sexp-value
+            ocaml-ppx-stable
+            ocaml-ppx-string
+            ocaml-ppx-typerep-conv
+            ocaml-ppx-variants-conv
+            ocaml-ppxlib))
+    (properties `((upstream-name . "ppx_jane")
+                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-jane))))
     (home-page "https://github.com/janestreet/ppx_jane")
     (synopsis "Standard Jane Street ppx rewriters")
     (description "This package installs a ppx-jane executable, which is a ppx
 driver including all standard Jane Street ppx rewriters.")
-    (license license:asl2.0)))
+    (license license:expat)))
 
-(define-public ocaml4.07-splittable-random
+(define-public ocaml4.07-ppx-jane
+  (package-with-ocaml4.07
+    (package
+      (inherit ocaml-ppx-jane)
+      (version "0.11.0")
+      (source (origin
+                (method url-fetch)
+                (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+                                    (version-major+minor version)
+                                    "/files/ppx_jane-v" version ".tar.gz"))
+                (sha256
+                 (base32
+                  "0lgppkw3aixrfnixihrsz2ipafv8fpvkdpy3pw8n0r615gg8x8la"))))
+      (propagated-inputs
+        (list ocaml-ppx-assert
+              ocaml-ppx-base
+              ocaml-ppx-bench
+              ocaml-ppx-bin-prot
+              ocaml-ppx-custom-printf
+              ocaml-ppx-expect
+              ocaml-ppx-fail
+              ocaml-ppx-fields-conv
+              ocaml-ppx-here
+              ocaml-ppx-inline-test
+              ocaml-ppx-let
+              ocaml-ppx-optcomp
+              ocaml-ppx-optional
+              ocaml-ppx-pipebang
+              ocaml-ppx-sexp-message
+              ocaml-ppx-sexp-value
+              ocaml-ppx-typerep-conv
+              ocaml-ppx-variants-conv
+              ocaml-migrate-parsetree
+              ocaml-ppxlib))
+      (properties '())
+      (license license:asl2.0))))
+
+(define-public ocaml-base-bigstring
+  (package
+    (name "ocaml-base-bigstring")
+    (version "0.14.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/janestreet/base_bigstring")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1ald2m7qywhxbygv58dzpgaj54p38zn0aiqd1z7i95kf3bsnsjqa"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-base ocaml-ppx-jane))
+    (properties `((upstream-name . "base_bigstring")))
+    (home-page "https://github.com/janestreet/base_bigstring")
+    (synopsis "String type based on [Bigarray], for use in I/O and C-bindings")
+    (description "This package provides string type based on [Bigarray], for
+use in I/O and C-bindings.")
+    (license license:expat)))
+
+(define-public ocaml-splittable-random
   (package
-    (name "ocaml4.07-splittable-random")
-    (version "0.11.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                  (version-major+minor version)
-                                  "/files/splittable_random-v" version ".tar.gz"))
-              (sha256
-               (base32
-                "0l1wbd881mymlnpzlq5q53mmdz3g5d7qjhyc7lfaq1x0iaccn5lc"))))
+    (name "ocaml-splittable-random")
+    (version "0.14.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/janestreet/splittable_random")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "0ax988b1wc7km8khg4s6iphbz16y1rssh7baigxfyw3ldp0agk14"))))
     (build-system dune-build-system)
-    (arguments
-     `(#:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
     (propagated-inputs
-      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
-        ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane)
-        ("ocaml-migrate-parsetree"
-         ,(package-with-ocaml4.07 ocaml-migrate-parsetree))))
-    (properties `((upstream-name . "splittable_random")))
+      (list ocaml-base
+            ocaml-ppx-assert
+            ocaml-ppx-bench
+            ocaml-ppx-inline-test
+            ocaml-ppx-sexp-message))
+    (properties `((upstream-name . "splittable_random")
+                  (ocaml-4.07-variant . ,(delay ocaml4.07-splittable-random))))
     (home-page "https://github.com/janestreet/splittable_random")
     (synopsis "PRNG that can be split into independent streams")
     (description "This package provides a splittable
@@ -6383,7 +6666,58 @@ second, independent stream of random values.
 
 This library implements a splittable pseudo-random number generator that sacrifices
 cryptographic-quality randomness in favor of performance.")
-    (license license:asl2.0)))
+    (license license:expat)))
+
+(define-public ocaml4.07-splittable-random
+  (package-with-ocaml4.07
+    (package
+      (inherit ocaml-splittable-random)
+      (version "0.11.0")
+      (source (origin
+                (method url-fetch)
+                (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+                                    (version-major+minor version)
+                                    "/files/splittable_random-v" version ".tar.gz"))
+                (sha256
+                 (base32
+                  "0l1wbd881mymlnpzlq5q53mmdz3g5d7qjhyc7lfaq1x0iaccn5lc"))))
+      (propagated-inputs
+        (list ocaml-base ocaml-ppx-jane ocaml-migrate-parsetree))
+      (properties '())
+      (license license:asl2.0))))
+
+(define-public ocaml-base-quickcheck
+  (package
+    (name "ocaml-base-quickcheck")
+    (version "0.14.1")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/janestreet/base_quickcheck")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "0apq3d9xb0zdaqsl4cjk5skyig57ff1plndb2mh0nn3czvfhifxs"))))
+    (build-system dune-build-system)
+    (propagated-inputs
+      (list ocaml-base
+            ocaml-ppx-base
+            ocaml-ppx-fields-conv
+            ocaml-ppx-let
+            ocaml-ppx-sexp-message
+            ocaml-ppx-sexp-value
+            ocaml-splittable-random
+            ocaml-ppxlib))
+    (properties `((upstream-name . "base_quickcheck")))
+    (home-page "https://github.com/janestreet/base_quickcheck")
+    (synopsis
+      "Randomized testing framework, designed for compatibility with Base")
+    (description
+      "@samp{base-quickcheck} provides randomized testing in the style of
+Haskell's Quickcheck library, with support for built-in types as well as
+types provided by Base.")
+    (license license:expat)))
 
 (define-public ocaml4.07-jane-street-headers
   (package
@@ -6446,10 +6780,10 @@ Configurator allows one to:
 @end itemize")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-spawn
+(define-public ocaml-spawn
   (package
-    (name "ocaml4.07-spawn")
-    (version "0.13.0")
+    (name "ocaml-spawn")
+    (version "0.15.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -6458,22 +6792,12 @@ Configurator allows one to:
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1w003k1kw1lmyiqlk58gkxx8rac7dchiqlz6ah7aj7bh49b36ppf"))))
+                "1fjr91psas5zmk1hxvxh0dchhn0pkyzlr4gg232f5g9vdgissi0p"))))
     (build-system dune-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'fix-tests
-           (lambda _
-             (substitute* "test/tests.ml"
-               (("/bin/pwd") (which "pwd"))
-               (("/bin/echo") (which "echo")))
-             #t)))
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
-    (native-inputs
-     `(("ocaml-ppx-expect" ,(package-with-ocaml4.07 ocaml-ppx-expect))))
+    (propagated-inputs (list ocaml-odoc))
+    (native-inputs (list ocaml-ppx-expect))
+    (properties
+     `((ocaml4.07-variant . ,(delay ocaml4.07-spawn))))
     (home-page "https://github.com/janestreet/spawn")
     (synopsis "Spawning sub-processes")
     (description
@@ -6495,98 +6819,206 @@ thousands of times faster than fork.
 @end itemize")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-core
+(define-public ocaml4.07-spawn
+  (package-with-ocaml4.07
+    (package
+      (inherit ocaml-spawn)
+      (version "0.13.0")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                       (url "https://github.com/janestreet/spawn")
+                       (commit (string-append "v" version))))
+                (file-name (git-file-name "ocaml4.07-spawn" version))
+                (sha256
+                 (base32
+                  "1w003k1kw1lmyiqlk58gkxx8rac7dchiqlz6ah7aj7bh49b36ppf"))))
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (add-before 'check 'fix-tests
+             (lambda _
+               (substitute* "test/tests.ml"
+                 (("/bin/pwd") (which "pwd"))
+                 (("/bin/echo") (which "echo")))
+               #t)))
+         #:ocaml ,ocaml-4.07
+         #:findlib ,ocaml4.07-findlib
+         #:dune ,ocaml4.07-dune))
+      (propagated-inputs '())
+      (properties '()))))
+
+(define-public ocaml-core
   (package
-    (name "ocaml4.07-core")
-    (version "0.11.3")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                     (url "https://github.com/janestreet/core")
-                     (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0pzl8n09z4f3i7z2wq4cjxfqrr8mj6xcdp7rbg0nxap2zdhjgvrq"))))
+    (name "ocaml-core")
+    (version "0.14.1")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/janestreet/core")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "1isrcl07nkmdm6akqsqs9z8s6zvva2lvg47kaagy7gsbyszrqb82"))))
     (build-system dune-build-system)
     (arguments
      `(#:package "core"
-       #:tests? #f; Require a cyclic dependency: core_extended
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
+       #:tests? #f)); Require a cyclic dependency: core_extended
     (propagated-inputs
-      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
-        ("ocaml-configurator" ,ocaml4.07-configurator)
-        ("ocaml-core-kernel" ,ocaml4.07-core-kernel)
-        ("ocaml-ppx-assert" ,(package-with-ocaml4.07 ocaml-ppx-assert))
-        ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane)
-        ("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib))
-        ("ocaml-spawn" ,ocaml4.07-spawn)
-        ("ocaml-stdio" ,(package-with-ocaml4.07 ocaml-stdio))
-        ("ocaml-migrate-parsetree"
-         ,(package-with-ocaml4.07 ocaml-migrate-parsetree))
-        ("ocaml-ppxlib" ,(package-with-ocaml4.07 ocaml-ppxlib))))
+      (list ocaml-core-kernel
+            ocaml-jst-config
+            ocaml-ppx-jane
+            ocaml-sexplib
+            ocaml-timezone
+            ocaml-spawn))
     (home-page "https://github.com/janestreet/core")
     (synopsis "Alternative to OCaml's standard library")
     (description "The Core suite of libraries is an alternative to OCaml's
 standard library that was developed by Jane Street.")
-    ;; Also contains parts of OCaml, relicensed to asl2.0, as permitted
+    ;; Also contains parts of OCaml, relicensed to expat, as permitted
     ;; by OCaml's license for consortium members (see THIRD-PARTY.txt).
-    (license license:asl2.0)))
+    (license license:expat)))
 
-(define-public ocaml4.07-core-kernel
-  (package
-    (name "ocaml4.07-core-kernel")
-    (version "0.11.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                     (url "https://github.com/janestreet/core_kernel")
-                     (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1dg7ygy7i64c5gaakb1cp1b26p9ks81vbxmb8fd7jff2q60j2z2g"))))
+(define-public ocaml4.07-core
+  (package-with-ocaml4.07
+    (package
+      (inherit ocaml-core)
+      (version "0.11.3")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                       (url "https://github.com/janestreet/core")
+                       (commit (string-append "v" version))))
+                (file-name (git-file-name "ocaml4.07-core" version))
+                (sha256
+                 (base32
+                  "0pzl8n09z4f3i7z2wq4cjxfqrr8mj6xcdp7rbg0nxap2zdhjgvrq"))))
+      (propagated-inputs
+        (list ocaml-base
+              ocaml4.07-configurator
+              ocaml-core-kernel
+              ocaml-ppx-assert
+              ocaml-ppx-jane
+              ocaml-sexplib
+              ocaml-spawn
+              ocaml-stdio
+              ocaml-migrate-parsetree
+              ocaml-ppxlib))
+      ;; Also contains parts of OCaml, relicensed to asl2.0, as permitted
+      ;; by OCaml's license for consortium members (see THIRD-PARTY.txt).
+      (license license:asl2.0))))
+
+(define-public ocaml-core-kernel
+  (package
+    (name "ocaml-core-kernel")
+    (version "0.14.2")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/janestreet/core_kernel")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "1vxv9rq6m52n60gprm4sqjj1i1p4dd4sgns068hkp9g558d8zdjx"))))
     (build-system dune-build-system)
     (arguments
      ;; Cyclic dependency with ocaml-core
-     `(#:tests? #f
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
+     `(#:tests? #f))
     (propagated-inputs
-      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
-        ("ocaml-bin-prot" ,ocaml4.07-bin-prot)
-        ("ocaml-configurator" ,ocaml4.07-configurator)
-        ("ocaml-fieldslib" ,(package-with-ocaml4.07 ocaml-fieldslib))
-        ("ocaml-jane-street-headers" ,ocaml4.07-jane-street-headers)
-        ("ocaml-ppx-assert" ,(package-with-ocaml4.07 ocaml-ppx-assert))
-        ("ocaml-ppx-base" ,(package-with-ocaml4.07 ocaml-ppx-base))
-        ("ocaml-ppx-hash" ,(package-with-ocaml4.07 ocaml-ppx-hash))
-        ("ocaml-ppx-inline-test" ,(package-with-ocaml4.07 ocaml-ppx-inline-test))
-        ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane)
-        ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))
-        ("ocaml-ppx-sexp-message" ,ocaml4.07-ppx-sexp-message)
-        ("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib))
-        ("ocaml-splittable-random" ,ocaml4.07-splittable-random)
-        ("ocaml-stdio" ,(package-with-ocaml4.07 ocaml-stdio))
-        ("ocaml-typerep" ,ocaml4.07-typerep)
-        ("ocaml-variantslib" ,(package-with-ocaml4.07 ocaml-variantslib))
-        ("ocaml-migrate-parsetree"
-         ,(package-with-ocaml4.07 ocaml-migrate-parsetree))))
-    (properties `((upstream-name . "core_kernel")))
+      (list ocaml-base
+            ocaml-base-bigstring
+            ocaml-base-quickcheck
+            ocaml-bin-prot
+            ocaml-fieldslib
+            ocaml-jane-street-headers
+            ocaml-jst-config
+            ocaml-ppx-assert
+            ocaml-ppx-base
+            ocaml-ppx-hash
+            ocaml-ppx-inline-test
+            ocaml-ppx-jane
+            ocaml-ppx-sexp-conv
+            ocaml-ppx-sexp-message
+            ocaml-sexplib
+            ocaml-splittable-random
+            ocaml-stdio
+            ocaml-time-now
+            ocaml-typerep
+            ocaml-variantslib
+            ocaml-ppx-optcomp))
+    (properties `((upstream-name . "core_kernel")
+                  (ocaml4.07-variant . ,(delay ocaml4.07-core-kernel))))
     (home-page "https://github.com/janestreet/core_kernel")
     (synopsis "Portable standard library for OCaml")
     (description "Core is an alternative to the OCaml standard library.
 
 Core_kernel is the system-independent part of Core.  It is aimed for cases when
 the full Core is not available, such as in Javascript.")
-    (license (list
-               ;; this package and parts of OCaml, relicensed by janestreet
-               license:asl2.0
-               ;; MLton and sjs
-               license:expat))))
+    (license license:expat)))
+
+(define-public ocaml4.07-core-kernel
+  (package-with-ocaml4.07
+    (package
+      (inherit ocaml-core-kernel)
+      (version "0.11.1")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                       (url "https://github.com/janestreet/core_kernel")
+                       (commit (string-append "v" version))))
+                (file-name (git-file-name "ocaml4.07-core-kernel" version))
+                (sha256
+                 (base32
+                  "1dg7ygy7i64c5gaakb1cp1b26p9ks81vbxmb8fd7jff2q60j2z2g"))))
+      (propagated-inputs
+        (list ocaml-base
+              ocaml-bin-prot
+              ocaml4.07-configurator
+              ocaml-fieldslib
+              ocaml-jane-street-headers
+              ocaml-ppx-assert
+              ocaml-ppx-base
+              ocaml-ppx-hash
+              ocaml-ppx-inline-test
+              ocaml-ppx-jane
+              ocaml-ppx-sexp-conv
+              ocaml-ppx-sexp-message
+              ocaml-sexplib
+              ocaml-splittable-random
+              ocaml-stdio
+              ocaml-typerep
+              ocaml-variantslib
+              ocaml-migrate-parsetree))
+      (properties '())
+      (license (list
+                 ;; this package and parts of OCaml, relicensed by janestreet
+                 license:asl2.0
+                 ;; MLton and sjs
+                 license:expat)))))
+
+(define-public ocaml-timezone
+  (package
+    (name "ocaml-timezone")
+    (version "0.14.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/janestreet/timezone")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "0zf075k94nk2wxnzpxia7pnm655damwp1b58xf2s9disia1ydxg7"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-core-kernel ocaml-ppx-jane))
+    (home-page "https://github.com/janestreet/timezone")
+    (synopsis "Time-zone handling")
+    (description
+      "Timezone handles parsing timezone data and create @code{Timezone.t}
+that can later be used to manipulate time in core_kernel or core.")
+    (license license:expat)))
 
 (define-public ocaml-markup
   (package
@@ -6766,7 +7198,9 @@ then run the Bisect_ppx report tool on the generated visitation files.")
 (define-public ocaml-odoc
   (package
     (name "ocaml-odoc")
-    (version "2.1.0")
+    ;; 2.2.0-alpha contains fixes for Dune 3.0 compatibility
+    ;; (https://github.com/ocaml/odoc/commit/6ac97f3148f7791ec7451785ef4dbd9ca0daf2d1)
+    (version "2.2.0-alpha")
     (source
      (origin
        (method git-fetch)
@@ -6775,7 +7209,7 @@ then run the Bisect_ppx report tool on the generated visitation files.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1ycb468pc6vsvqj176j99bmbkrr9saxvyn9qhpazi01abbcq5d90"))))
+        (base32 "07zjkk455l51i29lcayzrc1q8j5bvbv97sscv8yhcj7x6h6q2nag"))))
     (build-system dune-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 491423d41e..9be15c0efc 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1183,7 +1183,7 @@ written entirely in Python.")
            python-pluginbase
            python-pygments
            python-pyjwt
-           python-pyyaml
+           python-pyyaml-5
            python-requests
            python-six
            python-tqdm
@@ -1267,8 +1267,8 @@ environments.")
     (license (list license:gpl3+ license:agpl3+ license:silofl1.1))))
 
 (define-public guix-build-coordinator
-  (let ((commit "f1223225144b866951f13ece7f0583fd826a5705")
-        (revision "50"))
+  (let ((commit "fff7454f8f136e2d3b0650d99d9f6b0055fa2e1c")
+        (revision "51"))
     (package
       (name "guix-build-coordinator")
       (version (git-version "0" revision commit))
@@ -1279,7 +1279,7 @@ environments.")
                       (commit commit)))
                 (sha256
                  (base32
-                  "1yw5hzmkhgb2s29wv7bsi3w50ps9zi0zd1n0faxbcfyglsryvgbs"))
+                  "1pc06wppgnj7zv6nb76agxhy23r1778ffsv82whckw6xdd08llqi"))
                 (file-name (string-append name "-" version "-checkout"))))
       (build-system gnu-build-system)
       (arguments
@@ -1575,8 +1575,8 @@ in an isolated environment, in separate namespaces.")
     (license license:gpl3+)))
 
 (define-public nar-herder
-  (let ((commit "f69da3686583d53974e720a9e66103126631cb69")
-        (revision "4"))
+  (let ((commit "e046f8a756aa24942f512b352e87dfe78fa89470")
+        (revision "5"))
     (package
       (name "nar-herder")
       (version (git-version "0" revision commit))
@@ -1587,7 +1587,7 @@ in an isolated environment, in separate namespaces.")
                       (commit commit)))
                 (sha256
                  (base32
-                  "0glcmma6gkxna45bv0yki3l13r34ha7v0jrli3vmh4ysnhsnc4ii"))
+                  "0hbc24y08znlq28k1anzqkq7n1khmv31h4qd8syd2q7ax5kx8hqa"))
                 (file-name (string-append name "-" version "-checkout"))))
       (build-system gnu-build-system)
       (arguments
@@ -1618,6 +1618,7 @@ in an isolated environment, in separate namespaces.")
                                          "guile-gcrypt"
                                          "guix"
                                          "guile-lib"
+                                         "guile-prometheus"
                                          "guile-sqlite3"
                                          "gnutls"
                                          "guile-fibers")))
@@ -1654,6 +1655,7 @@ in an isolated environment, in separate namespaces.")
              guile-gcrypt
              guix
              guile-fibers-1.1
+             guile-prometheus
              guile-lib
              guile-sqlite3))
       (inputs
@@ -1664,6 +1666,7 @@ in an isolated environment, in separate namespaces.")
              guile-gcrypt
              guix
              guile-fibers-1.1
+             guile-prometheus
              guile-lib
              guile-sqlite3
              gnutls))
@@ -1896,14 +1899,14 @@ sandboxed desktop applications on GNU/Linux.")
 (define-public akku
   (package
     (name "akku")
-    (version "1.0.1")
+    (version "1.1.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://gitlab.com/akkuscm/akku.git")
                     (commit (string-append "v" version))))
               (file-name (git-file-name name version))
-              (sha256 (base32 "1dm32ws3nshnnscd7k75zswxxs1pp25y2q4k8j5ms241hz47by3c"))))
+              (sha256 (base32 "1pi18aamg1fd6f9ynfl7zx92052xzf0zwmhi2pwcwjs1kbah19f5"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/pantheon.scm b/gnu/packages/pantheon.scm
index 756db94144..acb19a3ef8 100644
--- a/gnu/packages/pantheon.scm
+++ b/gnu/packages/pantheon.scm
@@ -67,7 +67,7 @@ in apps built for the Pantheon desktop.")
 (define-public pantheon-calculator
   (package
     (name "pantheon-calculator")
-    (version "1.5.5")
+    (version "1.7.2")
     (source
      (origin
        (method git-fetch)
@@ -77,7 +77,7 @@ in apps built for the Pantheon desktop.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1csxsr2c8qvl97xz9ahwn91z095nzgr0i1mbcb1spljll2sr9lkj"))))
+         "11rwwi6nlhwpcm29dn2mbz0239nfjdwlqlqbchm0j9sr1ypifk2k"))))
     (build-system meson-build-system)
     (arguments
      `(#:glib-or-gtk? #t
@@ -85,13 +85,13 @@ in apps built for the Pantheon desktop.")
        (modify-phases %standard-phases
          (add-after 'unpack 'disable-schema-cache-generation
            (lambda _
-             (setenv "DESTDIR" "/")
-             #t)))))
+             (setenv "DESTDIR" "/"))))))
     (inputs
-     `(("granite" ,granite)
-       ("glib" ,glib)
-       ("gtk" ,gtk+)
-       ("libgee" ,libgee)))
+      (list granite
+            glib
+            gtk+
+            libgee
+            libhandy))
     (native-inputs
      `(("cmake" ,cmake)
        ("glib:bin" ,glib "bin") ; for glib-compile-schemas
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 5f84fb6777..3d37183777 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -62,14 +62,14 @@
 (define-public parallel
   (package
     (name "parallel")
-    (version "20220222")
+    (version "20220322")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://gnu/parallel/parallel-"
                           version ".tar.bz2"))
       (sha256
-       (base32 "0id4lr3q0fh0r4vcz8sp19am9yc6j8g00m2726dgpmzacfw845pq"))))
+       (base32 "1n76lhw2sw21kj9hbd3pij9kwq460kpjl15p4qhssagmm7vcr4yz"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -182,19 +182,20 @@ when jobs finish.")
                   ;; <https://lists.gnu.org/archive/html/guix-devel/2016-02/msg00534.html>
                   ;; there are non-free bits under contribs/, though it's not
                   ;; clear which ones.  libpmi is clearly free (it used to be
-                  ;; under src/api/), so remove all of contribs/ except
-                  ;; contribs/pmi/.
+                  ;; under src/api/) and so is pmi2 (lax non-copyleft
+                  ;; license), so remove all of contribs/ except pmi and pmi2.
                   (substitute* "configure.ac"
                     (("^[[:space:]]+contribs/(.*)$" all directory)
-                     (if (and (string-prefix? "pmi" directory)
-                              (not (string-prefix? "pmi2" directory)))
+                     (if (string-prefix? "pmi" directory)
                          all
                          "")))
 
                   (rename-file "contribs/pmi" "tmp-pmi")
+                  (rename-file "contribs/pmi2" "tmp-pmi2")
                   (delete-file-recursively "contribs")
                   (mkdir "contribs")
-                  (rename-file "tmp-pmi" "contribs/pmi")))))
+                  (rename-file "tmp-pmi" "contribs/pmi")
+                  (rename-file "tmp-pmi2" "contribs/pmi2")))))
     ;; FIXME: More optional inputs could be added,
     ;; in particular mysql and gtk+.
     (inputs (list freeipmi
@@ -231,7 +232,10 @@ when jobs finish.")
                (add-after 'install 'install-libpmi
                  (lambda _
                    ;; Open MPI expects libpmi to be provided by Slurm so install it.
-                   (invoke "make" "install" "-C" "contribs/pmi"))))))
+                   (invoke "make" "install" "-C" "contribs/pmi")
+
+                   ;; Others expect pmi2.
+                   (invoke "make" "install" "-C" "contribs/pmi2"))))))
     (home-page "https://slurm.schedmd.com/")
     (synopsis "Workload manager for cluster computing")
     (description
@@ -246,6 +250,8 @@ by managing a queue of pending work.")
                    license:isc        ; src/common/strlcpy.c
                    license:lgpl2.1+   ; hilbert.[ch], src/common/slurm_time.h
                    license:zlib       ; src/common/strnatcmp.c
+                   (license:non-copyleft    ;contribs/pmi2, Argonne Natl. Lab.
+                    "https://github.com/SchedMD/slurm/blob/master/contribs/pmi2/COPYRIGHT")
                    license:gpl2+))))   ; the rest, often with OpenSSL exception
 
 ;; The SLURM client/daemon protocol and file format changes from time to time
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 35a2d0249c..86e80e8328 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -12,7 +12,7 @@
 ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
 ;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2017, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2017, 2020-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2018, 2022 Marius Bakke <marius@gnu.org>
@@ -82,6 +82,7 @@
   #:use-module (gnu packages guile)
   #:use-module (gnu packages kerberos)
   #:use-module (gnu packages libffi)
+  #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages man)
   #:use-module (gnu packages multiprecision)
@@ -130,7 +131,7 @@ human.")
 (define-public keepassxc
   (package
     (name "keepassxc")
-    (version "2.6.6")
+    (version "2.7.1")
     (source
      (origin
        (method url-fetch)
@@ -138,39 +139,50 @@ human.")
                            "/releases/download/" version "/keepassxc-"
                            version "-src.tar.xz"))
        (sha256
-        (base32 "1qm4a1k11vy35mrzbzcc7lwlpmjzw18a2zy7z93rqa4vqcdb20rn"))))
+        (base32 "1ryk2ndv93jb155cp7qkjm7jd8hjy0v5gqvdvbdidhrmdiibl0b0"))))
     (build-system cmake-build-system)
     (arguments
-     `(#:modules ((guix build cmake-build-system)
+     (list
+      #:modules '((guix build cmake-build-system)
                   (guix build qt-utils)
                   (guix build utils))
-       #:imported-modules (,@%cmake-build-system-modules
-                            (guix build qt-utils))
-       #:configure-flags '("-DWITH_XC_ALL=YES"
-                           "-DWITH_XC_UPDATECHECK=NO")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'wrap-qt
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (wrap-qt-program "keepassxc" #:output out #:inputs inputs)))))))
+      #:imported-modules `(,@%cmake-build-system-modules
+                           (guix build qt-utils))
+      #:configure-flags
+      #~(list "-DWITH_XC_ALL=YES"
+              "-DWITH_XC_UPDATECHECK=NO")
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                ;; Fails with "TestCli::testClip() Compared values are not the
+                ;; same".  That test also requires a phase with (setenv
+                ;; "QT_QPA_PLATFORM" "offscreen") in order to work.
+                (invoke "ctest" "--exclude-regex" "testcli"))))
+          (add-after 'install 'wrap-qt
+            (lambda* (#:key inputs #:allow-other-keys)
+              (wrap-qt-program "keepassxc" #:output #$output #:inputs inputs))))))
     (native-inputs
-     `(("asciidoctor" ,ruby-asciidoctor)
-       ("qttools" ,qttools)))
+     (list qttools ruby-asciidoctor))
     (inputs
      (list argon2
+           botan
            libgcrypt
-           libsodium ; XC_BROWSER
-           libyubikey ; XC_YUBIKEY
+           libsodium                    ; XC_BROWSER
+           libusb
+           libyubikey                   ; XC_YUBIKEY
            libxi
            libxtst
+           minizip
+           pcsc-lite
            qrencode
            qtbase-5
            qtsvg
            qtx11extras
-           quazip-0 ; XC_KEESHARE
+           quazip-0                     ; XC_KEESHARE
            readline
-           yubikey-personalization ; XC_YUBIKEY
+           yubikey-personalization      ; XC_YUBIKEY
            zlib))
     (home-page "https://www.keepassxc.org")
     (synopsis "Password manager")
diff --git a/gnu/packages/patches/clang-14.0-libc-search-path.patch b/gnu/packages/patches/clang-14.0-libc-search-path.patch
new file mode 100644
index 0000000000..7e439cd1ef
--- /dev/null
+++ b/gnu/packages/patches/clang-14.0-libc-search-path.patch
@@ -0,0 +1,94 @@
+Clang attempts to guess file names based on the OS and distro (yes!),
+but unfortunately, that doesn't work for us.
+
+This patch makes it easy to insert libc's $libdir so that Clang passes the
+correct absolute file name of crt1.o etc. to 'ld'.  It also disables all
+the distro-specific stuff and removes the hard-coded FHS directory names
+to make sure Clang also works on foreign distros.
+
+diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp
+--- a/clang/lib/Driver/Distro.cpp
++++ b/clang/lib/Driver/Distro.cpp
+@@ -96,6 +96,10 @@ static Distro::DistroType DetectLsbRelease(llvm::vfs::FileSystem &VFS) {
+ }
+ 
+ static Distro::DistroType DetectDistro(llvm::vfs::FileSystem &VFS) {
++  // The compiler should always behave the same, even when used via Guix on a
++  // foreign distro.
++  return Distro::UnknownDistro;
++
+   Distro::DistroType Version = Distro::UnknownDistro;
+ 
+   // Newer freedesktop.org's compilant systemd-based systems
+diff --git a/clang/lib/Driver/ToolChains/Cuda.cpp b/clang/lib/Driver/ToolChains/Cuda.cpp
+--- a/clang/lib/Driver/ToolChains/Cuda.cpp
++++ b/clang/lib/Driver/ToolChains/Cuda.cpp
+@@ -117,6 +117,9 @@ CudaInstallationDetector::CudaInstallationDetector(
+     const Driver &D, const llvm::Triple &HostTriple,
+     const llvm::opt::ArgList &Args)
+     : D(D) {
++  // Don't look for CUDA in /usr.
++  return;
++
+   struct Candidate {
+     std::string Path;
+     bool StrictChecking;
+diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
+--- a/clang/lib/Driver/ToolChains/Linux.cpp
++++ b/clang/lib/Driver/ToolChains/Linux.cpp
+@@ -186,6 +186,10 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
+ 
+   Generic_GCC::PushPPaths(PPaths);
+ 
++  // Comment out the distro-specific tweaks so that they don't bite when
++  // using Guix on a foreign distro.
++#if 0
++
+   Distro Distro(D.getVFS(), Triple);
+ 
+   if (Distro.IsAlpineLinux() || Triple.isAndroid()) {
+@@ -250,6 +254,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
+ 
+   if (IsAndroid || Distro.IsOpenSUSE())
+     ExtraOpts.push_back("--enable-new-dtags");
++#endif
+ 
+   // The selection of paths to try here is designed to match the patterns which
+   // the GCC driver itself uses, as this is part of the GCC-compatible driver.
+@@ -270,6 +275,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
+   }
+   Generic_GCC::AddMultilibPaths(D, SysRoot, OSLibDir, MultiarchTriple, Paths);
+ 
++#if 0
+   addPathIfExists(D, SysRoot + "/lib/" + MultiarchTriple, Paths);
+   addPathIfExists(D, SysRoot + "/lib/../" + OSLibDir, Paths);
+ 
+@@ -298,9 +304,11 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
+     addPathIfExists(D, SysRoot + "/" + OSLibDir + "/" + ABIName, Paths);
+     addPathIfExists(D, SysRoot + "/usr/" + OSLibDir + "/" + ABIName, Paths);
+   }
++#endif
+ 
+   Generic_GCC::AddMultiarchPaths(D, SysRoot, OSLibDir, Paths);
+ 
++#if 0
+   // Similar to the logic for GCC above, if we are currently running Clang
+   // inside of the requested system root, add its parent library path to those
+   // searched.
+@@ -313,9 +321,14 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
+     if (OSLibDir != "lib")
+       addPathIfExists(D, D.Dir + "/../" + OSLibDir, Paths);
+   }
++#endif
++
++  // Add libc's lib/ directory to the search path, so that crt1.o, crti.o,
++  // and friends can be found.
++  addPathIfExists(D, "@GLIBC_LIBDIR@", Paths);
+ 
+-  addPathIfExists(D, SysRoot + "/lib", Paths);
+-  addPathIfExists(D, SysRoot + "/usr/lib", Paths);
++  // Add GCC's lib/ directory so libstdc++.so can be found.
++  addPathIfExists(D, GCCInstallation.getParentLibPath(), Paths);
+ }
+ 
+ ToolChain::RuntimeLibType Linux::GetDefaultRuntimeLibType() const {
diff --git a/gnu/packages/patches/efivar-211.patch b/gnu/packages/patches/efivar-211.patch
new file mode 100644
index 0000000000..39d53a6ee0
--- /dev/null
+++ b/gnu/packages/patches/efivar-211.patch
@@ -0,0 +1,86 @@
+Patch from <https://github.com/rhboot/efivar/pull/211>.
+
+From 15622b7e5761f3dde3f0e42081380b2b41639a48 Mon Sep 17 00:00:00 2001
+From: itd0 <69421122+itd0@users.noreply.github.com>
+Date: Mon, 4 Apr 2022 19:59:58 +0200
+Subject: [PATCH] Avoid format error on i686
+
+On i686 definition of off_t and ssize_t differ.  Update format length
+modifiers as needed to avoid format errors with GCC.
+
+Signed-off-by: itd0 <69421122+itd0@users.noreply.github.com>
+---
+ src/esl-iter.c   | 18 +++++++++---------
+ src/secdb-dump.c |  2 +-
+ 2 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/src/esl-iter.c b/src/esl-iter.c
+index 26b5cb5e..4a1938ad 100644
+--- a/src/esl-iter.c
++++ b/src/esl-iter.c
+@@ -308,13 +308,13 @@ esl_list_iter_next_with_size_correction(esl_list_iter *iter, efi_guid_t *type,
+ 		return -1;
+ 	}
+ 	if (iter->offset < 0) {
+-		efi_error("iter->offset (%zd) < 0", iter->offset);
++		efi_error("iter->offset (%jd) < 0", (intmax_t)iter->offset);
+ 		errno = EINVAL;
+ 		return -1;
+ 	}
+ 	if ((uint32_t)iter->offset >= iter->len) {
+-		efi_error("iter->offset (%zd) >= iter->len (%zd)",
+-			  iter->offset, iter->len);
++		efi_error("iter->offset (%jd) >= iter->len (%zd)",
++			  (intmax_t)iter->offset, iter->len);
+ 		errno = EINVAL;
+ 		return -1;
+ 	}
+@@ -335,9 +335,9 @@ esl_list_iter_next_with_size_correction(esl_list_iter *iter, efi_guid_t *type,
+ 			      iter->len - iter->offset, iter->len - iter->offset,
+ 			      iter->esl->signature_list_size, iter->esl->signature_list_size);
+ 			if (correct_size && (iter->len - iter->offset) > 0) {
+-				warnx("correcting ESL size from %d to %zd at %lx",
++				warnx("correcting ESL size from %d to %jd at %lx",
+ 				      iter->esl->signature_list_size,
+-				      iter->len - iter->offset, iter->offset);
++				      (intmax_t)(iter->len - iter->offset), iter->offset);
+ 				debug("correcting ESL size from %d to %zd at %lx",
+ 				      iter->esl->signature_list_size,
+ 				      iter->len - iter->offset, iter->offset);
+@@ -360,9 +360,9 @@ esl_list_iter_next_with_size_correction(esl_list_iter *iter, efi_guid_t *type,
+ 		if (iter->len - iter->offset < iter->esl->signature_list_size) {
+ 			debug("EFI_SIGNATURE_LIST is malformed");
+ 			if (correct_size && (iter->len - iter->offset) > 0) {
+-				warnx("correcting ESL size from %d to %zd at 0x%lx",
++				warnx("correcting ESL size from %d to %jd at 0x%lx",
+ 				      iter->esl->signature_list_size,
+-				      iter->len - iter->offset, iter->offset);
++				      (intmax_t)(iter->len - iter->offset), iter->offset);
+ 				debug("correcting ESL size from %d to %zd at 0x%lx",
+ 				      iter->esl->signature_list_size,
+ 				      iter->len - iter->offset, iter->offset);
+@@ -411,9 +411,9 @@ esl_list_iter_next_with_size_correction(esl_list_iter *iter, efi_guid_t *type,
+ 	if (iter->esl->signature_list_size > iter->len - iter->offset) {
+ 		debug("EFI_SIGNATURE_LIST is malformed");
+ 		if (correct_size && (iter->len - iter->offset) > 0) {
+-			warnx("correcting ESL size from %d to %zd at 0x%lx",
++			warnx("correcting ESL size from %d to %jd at 0x%lx",
+ 			      iter->esl->signature_list_size,
+-			      iter->len - iter->offset, iter->offset);
++			      (intmax_t)(iter->len - iter->offset), iter->offset);
+ 			debug("correcting ESL size from %d to %zd at 0x%lx",
+ 			      iter->esl->signature_list_size,
+ 			      iter->len - iter->offset, iter->offset);
+diff --git a/src/secdb-dump.c b/src/secdb-dump.c
+index 02fb915b..17f64411 100644
+--- a/src/secdb-dump.c
++++ b/src/secdb-dump.c
+@@ -248,7 +248,7 @@ secdb_dump(efi_secdb_t *secdb, bool annotations)
+ 		esln += 1;
+ 	}
+ 	secdb_dump_finish();
+-	printf("%08lx\n", offset);
++	printf("%08zx\n", offset);
+ 
+ 	fflush(stdout);
+ }
diff --git a/gnu/packages/patches/ganeti-haskell-compat.patch b/gnu/packages/patches/ganeti-haskell-compat.patch
deleted file mode 100644
index 931c50e116..0000000000
--- a/gnu/packages/patches/ganeti-haskell-compat.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Adjust to type change of TupE in Template Haskell 2.16.
-
-diff --git a/src/Ganeti/THH/Types.hs b/src/Ganeti/THH/Types.hs
---- a/src/Ganeti/THH/Types.hs
-+++ b/src/Ganeti/THH/Types.hs
-@@ -123,4 +123,11 @@ curryN n = do
-   f <- newName "f"
-   ps <- replicateM n (newName "x")
-   return $ LamE (VarP f : map VarP ps)
--             (AppE (VarE f) (TupE $ map VarE ps))
-+             (AppE (VarE f) (nonUnaryTupE $ map VarE ps))
-+  where
-+    nonUnaryTupE :: [Exp] -> Exp
-+    nonUnaryTupE es = TupE $
-+#if MIN_VERSION_template_haskell(2,16,0)
-+                            map Just
-+#endif
-+                            es
diff --git a/gnu/packages/patches/ganeti-pyyaml-compat.patch b/gnu/packages/patches/ganeti-pyyaml-compat.patch
new file mode 100644
index 0000000000..2f74e48a82
--- /dev/null
+++ b/gnu/packages/patches/ganeti-pyyaml-compat.patch
@@ -0,0 +1,41 @@
+Add Loader argument to 'yaml.load' invocations as required by PyYAML 6.0.
+
+Submitted upstream:
+
+  https://github.com/ganeti/ganeti/pull/1668
+
+diff --git a/qa/qa_utils.py b/qa/qa_utils.py
+index da485df48..27428e685 100644
+--- a/qa/qa_utils.py
++++ b/qa/qa_utils.py
+@@ -450,7 +450,7 @@ def GetObjectInfo(infocmd):
+   master = qa_config.GetMasterNode()
+   cmdline = utils.ShellQuoteArgs(infocmd)
+   info_out = GetCommandOutput(master.primary, cmdline)
+-  return yaml.load(info_out)
++  return yaml.load(info_out, Loader=yaml.SafeLoader)
+ 
+ 
+ def UploadFile(node, src):
+diff --git a/test/py/ganeti.cli_unittest.py b/test/py/ganeti.cli_unittest.py
+index 9cc980afa..242aac9fd 100755
+--- a/test/py/ganeti.cli_unittest.py
++++ b/test/py/ganeti.cli_unittest.py
+@@ -1141,14 +1141,15 @@ class TestFormatPolicyInfo(unittest.TestCase):
+           self._RenameDictItem(minmax, key, keyparts[0])
+     self.assertTrue(constants.IPOLICY_DTS in parsed)
+     parsed[constants.IPOLICY_DTS] = yaml.load("[%s]" %
+-                                              parsed[constants.IPOLICY_DTS])
++                                              parsed[constants.IPOLICY_DTS],
++                                              Loader=yaml.SafeLoader)
+ 
+   @staticmethod
+   def _PrintAndParsePolicy(custom, effective, iscluster):
+     formatted = cli.FormatPolicyInfo(custom, effective, iscluster)
+     buf = StringIO()
+     cli._SerializeGenericInfo(buf, formatted, 0)
+-    return yaml.load(buf.getvalue())
++    return yaml.load(buf.getvalue(), Loader=yaml.SafeLoader)
+ 
+   def _PrintAndCheckParsed(self, policy):
+     parsed = self._PrintAndParsePolicy(policy, NotImplemented, True)
diff --git a/gnu/packages/patches/ganeti-sphinx-compat.patch b/gnu/packages/patches/ganeti-sphinx-compat.patch
deleted file mode 100644
index 4e84abbf37..0000000000
--- a/gnu/packages/patches/ganeti-sphinx-compat.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Adjust documentation for Sphinx 4.0.
-
-Discussed upstream at <https://github.com/ganeti/ganeti/pull/1615>.
-
-diff --git a/doc/index.rst b/doc/index.rst
---- a/doc/index.rst
-+++ b/doc/index.rst
-@@ -119,7 +119,6 @@ Draft designs
-    design-hotplug.rst
-    design-internal-shutdown.rst
-    design-kvmd.rst
--   design-location.rst
-    design-linuxha.rst
-    design-location.rst
-    design-lu-generated-jobs.rst
-diff --git a/lib/build/shell_example_lexer.py b/lib/build/shell_example_lexer.py
---- a/lib/build/shell_example_lexer.py
-+++ b/lib/build/shell_example_lexer.py
-@@ -79,4 +79,4 @@ class ShellExampleLexer(RegexLexer):
- 
- 
- def setup(app):
--  app.add_lexer("shell-example", ShellExampleLexer())
-+  app.add_lexer("shell-example", ShellExampleLexer)
diff --git a/gnu/packages/patches/gtk-introspection-test.patch b/gnu/packages/patches/gtk-introspection-test.patch
deleted file mode 100644
index 570ea806a9..0000000000
--- a/gnu/packages/patches/gtk-introspection-test.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-# Extend rather than stomp environment variables.
-# Upstream status: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4268
-diff --git a/testsuite/introspection/meson.build b/testsuite/introspection/meson.build
-index 6202fb7446..b59191eb0f 100644
---- a/testsuite/introspection/meson.build
-+++ b/testsuite/introspection/meson.build
-@@ -1,9 +1,10 @@
-+env = environment()
-+env.prepend('GI_TYPELIB_PATH',
-+    join_paths(project_build_root, 'gtk'),
-+    gi_dep.get_pkgconfig_variable('typelibdir'))
-+env.prepend('LD_PRELOAD', join_paths(project_build_root, 'gtk', 'libgtk-4.so'))
- 
- test('api',
-      find_program('api.py', dirs: meson.current_source_dir()),
-      suite: ['introspection'],
--     env: [
--       'GI_TYPELIB_PATH=@0@/gtk:@1@'.format(project_build_root,
--          gi_dep.get_pkgconfig_variable('typelibdir')),
--       'LD_PRELOAD=@0@/gtk/libgtk-4.so'.format(project_build_root),
--     ])
-+     env: env)
diff --git a/gnu/packages/patches/hwloc-1-test-btrfs.patch b/gnu/packages/patches/hwloc-1-test-btrfs.patch
new file mode 100644
index 0000000000..a5d3780e2d
--- /dev/null
+++ b/gnu/packages/patches/hwloc-1-test-btrfs.patch
@@ -0,0 +1,54 @@
+From 093316a897a2eb4972a7a3a5888f40975d03f6bf Mon Sep 17 00:00:00 2001
+From: Brice Goglin <Brice.Goglin@inria.fr>
+Date: Tue, 5 Apr 2022 17:39:50 +0200
+Subject: [PATCH] linux: (partial) fix the discovery of hugepages on btrfs
+ fsroot
+
+btrfs always returns 1 in directory stat.st_nlink.
+It breaks make check in tests/linux/ because the hugepages discovery
+uses st_nlink to allocate the memory page_types array.
+
+Always allocate at least 3 page_types slots
+(enough for all known cases, 1 for normal, 2 for huge pages)
+
+(partially cherry-picked from commit 7f351cec9bfe54a031f35ad16c9cfb99784d76dc)
+
+We don't reallocate later if needed as in 2.x commit 7f351cec9bfe54a031f35ad16c9cfb99784d76dc
+because v1.11 doesn't deserve a complete fix. Just commit the minimal change
+so that tests/linux/2i386-2t-hugepagesizecount with HWLOC_PAGESIZE_DEBUG=4096
+doesn't crash in btrfs anymore (test-topology.sh fails during make check if /tmp is in btrfs).
+
+Thanks to Philippe Swartvagher for the report.
+
+Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr>
+---
+ src/topology-linux.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/src/topology-linux.c b/src/topology-linux.c
+index 58c275fea..269eca7f5 100644
+--- a/src/topology-linux.c
++++ b/src/topology-linux.c
+@@ -1,6 +1,6 @@
+ /*
+  * Copyright © 2009 CNRS
+- * Copyright © 2009-2019 Inria.  All rights reserved.
++ * Copyright © 2009-2022 Inria.  All rights reserved.
+  * Copyright © 2009-2013, 2015 Université Bordeaux
+  * Copyright © 2009-2014 Cisco Systems, Inc.  All rights reserved.
+  * Copyright © 2015 Intel, Inc.  All rights reserved.
+@@ -2329,7 +2329,14 @@ hwloc_get_procfs_meminfo_info(struct hwloc_topology *topology,
+ 
+   err = hwloc_stat("/sys/kernel/mm/hugepages", &st, data->root_fd);
+   if (!err) {
+-    types = 1 + st.st_nlink-2;
++    types = 1 /* normal non-huge size */ + st.st_nlink - 2 /* ignore . and .. */;
++    if (types < 3)
++      /* some buggy filesystems (e.g. btrfs when reading from fsroot)
++       * return wrong st_nlink for directories (always 1 for btrfs).
++       * use 3 as a sane default (default page + 2 huge sizes).
++       * hwloc_parse_hugepages_info() will extend it if needed.
++       */
++      types = 3;
+     has_sysfs_hugepages = 1;
+   }
diff --git a/gnu/packages/patches/idris-build-with-haskeline-0.8.patch b/gnu/packages/patches/idris-build-with-haskeline-0.8.patch
deleted file mode 100644
index 5d1fec2409..0000000000
--- a/gnu/packages/patches/idris-build-with-haskeline-0.8.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 89a87cf666eb8b27190c779e72d0d76eadc1bc14 Mon Sep 17 00:00:00 2001
-From: Niklas Larsson <niklas@mm.st>
-Date: Sat, 6 Jun 2020 15:29:45 +0200
-Subject: [PATCH] Fix to unblock haskeline-0.8
-
----
-Taken from <https://github.com/idris-lang/Idris-dev/pull/4871>
-
- idris.cabal         |  2 +-
- src/Idris/Output.hs |  8 --------
- src/Idris/REPL.hs   | 12 +++++-------
- 3 files changed, 6 insertions(+), 16 deletions(-)
-
-diff --git a/idris.cabal b/idris.cabal
-index 38359019a9..bc9e265023 100644
---- a/idris.cabal
-+++ b/idris.cabal
-@@ -336,7 +336,7 @@ Library
-                 , directory >= 1.2.2.0 && < 1.2.3.0 || > 1.2.3.0
-                 , filepath < 1.5
-                 , fingertree >= 0.1.4.1 && < 0.2
--                , haskeline >= 0.7 && < 0.8
-+                , haskeline >= 0.8 && < 0.9
-                 , ieee754 >= 0.7 && < 0.9
-                 , megaparsec >= 7.0.4 && < 9
-                 , mtl >= 2.1 && < 2.3
-diff --git a/src/Idris/Output.hs b/src/Idris/Output.hs
-index 70b4d48a30..6b5d59948c 100644
---- a/src/Idris/Output.hs
-+++ b/src/Idris/Output.hs
-@@ -37,21 +37,13 @@ import Prelude hiding ((<$>))
- #endif
- 
- import Control.Arrow (first)
--import Control.Monad.Trans.Except (ExceptT(ExceptT), runExceptT)
- import Data.List (intersperse, nub)
- import Data.Maybe (fromJust, fromMaybe, isJust, listToMaybe)
- import qualified Data.Set as S
--import System.Console.Haskeline.MonadException (MonadException(controlIO),
--                                                RunIO(RunIO))
- import System.FilePath (replaceExtension)
- import System.IO (Handle, hPutStr, hPutStrLn)
- import System.IO.Error (tryIOError)
- 
--instance MonadException m => MonadException (ExceptT Err m) where
--    controlIO f = ExceptT $ controlIO $ \(RunIO run) -> let
--                    run' = RunIO (fmap ExceptT . run . runExceptT)
--                    in fmap runExceptT $ f run'
--
- pshow :: IState -> Err -> String
- pshow ist err = displayDecorated (consoleDecorate ist) .
-                 renderPretty 1.0 80 .
-diff --git a/src/Idris/REPL.hs b/src/Idris/REPL.hs
-index 05587d9672..5e0dc21089 100644
---- a/src/Idris/REPL.hs
-+++ b/src/Idris/REPL.hs
-@@ -122,23 +122,21 @@ repl orig mods efile
-                              (if colour && not isWindows
-                                 then colourisePrompt theme str
-                                 else str) ++ " "
--        x <- H.catch (H.withInterrupt $ getInputLine prompt)
--                     (ctrlC (return $ Just ""))
-+        x <- H.handleInterrupt (ctrlC (return $ Just "")) (H.withInterrupt $ getInputLine prompt)
-         case x of
-             Nothing -> do lift $ when (not quiet) (iputStrLn "Bye bye")
-                           return ()
-             Just input -> -- H.catch
--                do ms <- H.catch (H.withInterrupt $ lift $ processInput input orig mods efile)
--                                 (ctrlC (return (Just mods)))
-+                do ms <- H.handleInterrupt (ctrlC (return (Just mods))) (H.withInterrupt $ lift $ processInput input orig mods efile)
-                    case ms of
-                         Just mods -> let efile' = fromMaybe efile (listToMaybe mods)
-                                      in repl orig mods efile'
-                         Nothing -> return ()
- --                             ctrlC)
- --       ctrlC
--   where ctrlC :: InputT Idris a -> SomeException -> InputT Idris a
--         ctrlC act e = do lift $ iputStrLn (show e)
--                          act -- repl orig mods
-+   where ctrlC :: InputT Idris a -> InputT Idris a
-+         ctrlC act = do lift $ iputStrLn "Interrupted"
-+                        act -- repl orig mods
- 
-          showMVs c thm [] = ""
-          showMVs c thm ms = "Holes: " ++
diff --git a/gnu/packages/patches/idris-build-with-megaparsec-9.patch b/gnu/packages/patches/idris-build-with-megaparsec-9.patch
deleted file mode 100644
index 6d7ff1d713..0000000000
--- a/gnu/packages/patches/idris-build-with-megaparsec-9.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 6ea9bc913877d765048d7cdb7fc5aec60b196fac Mon Sep 17 00:00:00 2001
-From: Felix Yan <felixonmars@archlinux.org>
-Date: Wed, 16 Dec 2020 21:48:32 +0800
-Subject: [PATCH] Fix compatibility with megaparsec 9
-
----
-Taken from <https://github.com/idris-lang/Idris-dev/pull/4892>
-
- src/Idris/Parser/Stack.hs | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/Idris/Parser/Stack.hs b/src/Idris/Parser/Stack.hs
-index fb7b611440..879786f4d2 100644
---- a/src/Idris/Parser/Stack.hs
-+++ b/src/Idris/Parser/Stack.hs
-@@ -84,7 +84,11 @@ instance Message ParseError where
-       (pos, _) = P.reachOffsetNoLine (parseErrorOffset err) (parseErrorPosState err)
- #endif
-   messageText = PP.text . init . P.parseErrorTextPretty . parseError
-+#if MIN_VERSION_megaparsec(9,0,0)
-+  messageSource err = sline
-+#else
-   messageSource err = Just sline
-+#endif
-     where
- #if MIN_VERSION_megaparsec(8,0,0)
-       (sline, _) = P.reachOffset (parseErrorOffset err) (parseErrorPosState err)
diff --git a/gnu/packages/patches/idris-disable-test.patch b/gnu/packages/patches/idris-disable-test.patch
deleted file mode 100644
index ec8c7c8451..0000000000
--- a/gnu/packages/patches/idris-disable-test.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-The "pkg010" test output depends on the version of optparse-applicative being
-used.  The expected output requires optparse-applicative >= 0.15.1.0.  Skip
-the test for now.
-
---- idris-1.3.3/test/TestData.hs	2021-01-19 23:05:24.238958262 -0600
-+++ idris-1.3.3/test/TestData.hs	2021-01-19 23:10:33.314390997 -0600
-@@ -212,8 +212,10 @@
-       (  5, ANY  ),
-       (  6, ANY  ),
-       (  7, ANY  ),
--      (  8, ANY  ),
--      ( 10, ANY  )]),
-+      (  8, ANY  )]),
-+--      FIXME: Expected output depends on optparse-applicative version.
-+--      See https://github.com/idris-lang/Idris-dev/issues/4896
-+--      ( 10, ANY  )]),
-   ("prelude",         "Prelude",
-     [ (  1, ANY  )]),
-   ("primitives",      "Primitive types",
diff --git a/gnu/packages/patches/idris-test-ffi008.patch b/gnu/packages/patches/idris-test-ffi008.patch
new file mode 100644
index 0000000000..530813c20e
--- /dev/null
+++ b/gnu/packages/patches/idris-test-ffi008.patch
@@ -0,0 +1,26 @@
+Avoid "multiple definition of `mystruct'" error from `ld`:
+
+Submitted upstream at https://github.com/idris-lang/Idris-dev/issues/4914
+
+--- a/test/ffi008/ffi008.h	1969-12-31 18:00:01.000000000 -0600
++++ a/test/ffi008/ffi008.h	2022-04-13 00:32:35.561262598 -0500
+@@ -10,7 +10,7 @@
+     int16_t b;
+ };
+ 
+-struct test2 mystruct;
++extern struct test2 mystruct;
+ 
+ int size1(void);
+ int size2(void);
+--- a/test/ffi008/ffi008.c	1969-12-31 18:00:01.000000000 -0600
++++ a/test/ffi008/ffi008.c	2022-04-13 00:32:53.145186302 -0500
+@@ -11,6 +11,8 @@
+     return sizeof(struct test2);
+ }
+ 
++struct test2 mystruct;
++
+ void print_mystruct(void) {
+     printf("a: %d b: %d\n", mystruct.a, mystruct.b);
+ }
diff --git a/gnu/packages/patches/openjdk-15-xcursor-no-dynamic.patch b/gnu/packages/patches/openjdk-15-xcursor-no-dynamic.patch
new file mode 100644
index 0000000000..9325dd3da6
--- /dev/null
+++ b/gnu/packages/patches/openjdk-15-xcursor-no-dynamic.patch
@@ -0,0 +1,72 @@
+From: Danny Milosavljevic <dannym@scratchpost.org>
+Date: Thu, 31 Mar 2022 17:02:00 +0200
+Subject: Make openjdk use libxcursor directly
+
+Fixes <https://issues.guix.gnu.org/54654>.
+
+This patch makes openjdk use libxcursor directly.
+Without it, libx11 would try to dlopen("libXcursor.so.1") and fail.
+
+diff -ru orig/22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/make/modules/java.desktop/lib/Awt2dLibraries.gmk 22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/make/modules/java.desktop/lib/Awt2dLibraries.gmk
+--- orig/22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/make/modules/java.desktop/lib/Awt2dLibraries.gmk	2022-03-31 15:34:08.773419480 +0200
++++ 22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/make/modules/java.desktop/lib/Awt2dLibraries.gmk	2022-03-31 21:36:27.854273411 +0200
+@@ -217,7 +217,7 @@
+       endif
+     endif
+ 
+-    LIBAWT_XAWT_LIBS := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm
++    LIBAWT_XAWT_LIBS := $(LIBM) -lawt -lXext -lX11 -lXcursor -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm
+ 
+     ifeq ($(call isTargetOs, linux), true)
+       LIBAWT_XAWT_LIBS += -lpthread
+diff -ru orig/22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c 22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c
+--- orig/22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c	2022-03-31 15:34:11.917502206 +0200
++++ 22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c	2022-03-31 21:38:16.417253535 +0200
+@@ -40,10 +40,12 @@
+ #include <X11/keysym.h>
+ #include <X11/Sunkeysym.h>
+ #include <X11/Xlib.h>
++#include <X11/Xlibint.h>
+ #include <X11/Xatom.h>
+ #include <X11/XKBlib.h>
+ #include <X11/Xos.h>
+ #include <X11/Xutil.h>
++#include <X11/Xcursor/Xcursor.h>
+ 
+ #if defined(AIX)
+ #undef X_HAVE_UTF8_STRING
+@@ -972,10 +974,21 @@
+ 
+ }
+ 
++static XColor _Xconst foreground = { 0,    0,     0,     0  };  /* black */
++static XColor _Xconst background = { 0, 65535, 65535, 65535 };  /* white */
++
+ JNIEXPORT jint JNICALL Java_sun_awt_X11_XlibWrapper_XCreateFontCursor
+ (JNIEnv *env, jclass clazz, jlong display, jint shape) {
+     AWT_CHECK_HAVE_LOCK_RETURN(0);
+-    return XCreateFontCursor((Display *) jlong_to_ptr(display), (int) shape);
++    Display * dpy = (Display *) jlong_to_ptr(display);
++    if (dpy->cursor_font == None) {
++        dpy->cursor_font = XLoadFont(dpy, "cursor");
++        if (dpy->cursor_font == None) return None;
++    }
++    Cursor result = XcursorTryShapeCursor(dpy, dpy->cursor_font, dpy->cursor_font, (int) shape, (int) shape + 1, &foreground, &background);
++    if (!result)
++        result = XCreateFontCursor(dpy, (int) shape);
++    return result;
+ }
+ 
+ /*
+diff -ru orig/22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/test/jdk/java/awt/JAWT/Makefile.unix 22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/test/jdk/java/awt/JAWT/Makefile.unix
+--- orig/22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/test/jdk/java/awt/JAWT/Makefile.unix	2022-03-31 15:34:10.553466316 +0200
++++ 22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/test/jdk/java/awt/JAWT/Makefile.unix	2022-03-31 21:36:27.854273411 +0200
+@@ -31,7 +31,7 @@
+ 
+ J_INC =		$(TESTJAVA)/include
+ INCLUDES =	-I$(J_INC) -I$(J_INC)/$(SYST) -I.
+-LIBS =		-L$(TESTJAVA)/lib -ljawt -lX11
++LIBS =		-L$(TESTJAVA)/lib -ljawt -lX11 -lXcursor
+ 
+ all:		$(CLASSES) libmylib.so
+ 
diff --git a/gnu/packages/patches/pigx-rnaseq-no-citeproc.patch b/gnu/packages/patches/pigx-rnaseq-no-citeproc.patch
deleted file mode 100644
index 366ae3890a..0000000000
--- a/gnu/packages/patches/pigx-rnaseq-no-citeproc.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -Naur pigx_rnaseq-0.0.19/configure.ac pigx_rnaseq-0.0.19.patched/configure.ac
---- pigx_rnaseq-0.0.19/configure.ac	2021-07-23 14:01:00.304391428 +0200
-+++ pigx_rnaseq-0.0.19.patched/configure.ac	2021-10-06 13:51:29.512960106 +0200
-@@ -38,7 +38,6 @@
- find_or_override_prog([GNUBASH],         [bash])
- find_or_override_prog([SNAKEMAKE],       [snakemake])
- find_or_override_prog([PANDOC],          [pandoc])
--find_or_override_prog([PANDOC_CITEPROC], [pandoc-citeproc])
- find_or_override_prog([STAR],            [STAR])
- find_or_override_prog([HISAT2],          [hisat2])
- find_or_override_prog([HISAT2_BUILD],    [hisat2-build])
-diff -Naur pigx_rnaseq-0.0.19/Makefile.in pigx_rnaseq-0.0.19.patched/Makefile.in
---- pigx_rnaseq-0.0.19/Makefile.in	2021-08-13 13:40:10.402922844 +0200
-+++ pigx_rnaseq-0.0.19.patched/Makefile.in	2021-10-06 13:51:04.052247524 +0200
-@@ -410,7 +410,6 @@
- PACKAGE_URL = @PACKAGE_URL@
- PACKAGE_VERSION = @PACKAGE_VERSION@
- PANDOC = @PANDOC@
--PANDOC_CITEPROC = @PANDOC_CITEPROC@
- PATH_SEPARATOR = @PATH_SEPARATOR@
- PYTHON = @PYTHON@
- PYTHONPATH = @PYTHONPATH@
-diff -Naur pigx_rnaseq-0.0.19/pigx-common/common/pigx-runner.in pigx_rnaseq-0.0.19.patched/pigx-common/common/pigx-runner.in
---- pigx_rnaseq-0.0.19/pigx-common/common/pigx-runner.in	2021-08-13 13:27:50.494352532 +0200
-+++ pigx_rnaseq-0.0.19.patched/pigx-common/common/pigx-runner.in	2021-10-06 13:51:38.798220108 +0200
-@@ -379,7 +379,6 @@
-     if path.exists(bin): shutil.rmtree(bin)
-     os.makedirs(bin, exist_ok=True)
-     os.symlink('@PANDOC@', path.join(bin, "pandoc"))
--    os.symlink('@PANDOC_CITEPROC@', path.join(bin, "pandoc-citeproc"))
-     os.symlink('@RSCRIPT@', path.join(bin, "Rscript"))
-     os.environ['PATH'] = path.abspath(bin) + ":" + os.environ['PATH']
-     os.environ['PIGX_PATH'] = path.abspath(bin) + ":" + os.environ['PATH']
diff --git a/gnu/packages/patches/pigx-sars-cov2-ww-no-citeproc.patch b/gnu/packages/patches/pigx-sars-cov2-ww-no-citeproc.patch
deleted file mode 100644
index 3f34bca6b2..0000000000
--- a/gnu/packages/patches/pigx-sars-cov2-ww-no-citeproc.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -Naur pigx_sars-cov2-ww-0.0.3/configure.ac pigx_sars-cov2-ww-0.0.3.patched/configure.ac
---- pigx_sars-cov2-ww-0.0.3/configure.ac	2021-06-10 10:12:00.552889984 +0200
-+++ pigx_sars-cov2-ww-0.0.3.patched/configure.ac	2021-10-05 14:52:32.318695129 +0200
-@@ -50,7 +50,6 @@
- find_or_override_prog([MULTIQC],         [multiqc])
- find_or_override_prog([WGET],            [wget])
- find_or_override_prog([PANDOC],          [pandoc])
--find_or_override_prog([PANDOC_CITEPROC], [pandoc-citeproc])
- 
- AC_ARG_ENABLE([r-packages-check],
-   AS_HELP_STRING([--disable-r-packages-check], [Do not check any R packages.]),
-diff -Naur pigx_sars-cov2-ww-0.0.3/Makefile.in pigx_sars-cov2-ww-0.0.3.patched/Makefile.in
---- pigx_sars-cov2-ww-0.0.3/Makefile.in	2021-08-05 16:33:59.164123383 +0200
-+++ pigx_sars-cov2-ww-0.0.3.patched/Makefile.in	2021-10-05 14:52:41.272958547 +0200
-@@ -402,7 +402,6 @@
- PACKAGE_URL = @PACKAGE_URL@
- PACKAGE_VERSION = @PACKAGE_VERSION@
- PANDOC = @PANDOC@
--PANDOC_CITEPROC = @PANDOC_CITEPROC@
- PATH_SEPARATOR = @PATH_SEPARATOR@
- PRINSEQ = @PRINSEQ@
- PYTHON = @PYTHON@
-diff -Naur pigx_sars-cov2-ww-0.0.3/pigx-common/common/pigx-runner.in pigx_sars-cov2-ww-0.0.3.patched/pigx-common/common/pigx-runner.in
---- pigx_sars-cov2-ww-0.0.3/pigx-common/common/pigx-runner.in	2021-07-30 11:10:17.913115902 +0200
-+++ pigx_sars-cov2-ww-0.0.3.patched/pigx-common/common/pigx-runner.in	2021-10-05 14:52:23.602438714 +0200
-@@ -379,7 +379,6 @@
-     if path.exists(bin): shutil.rmtree(bin)
-     os.makedirs(bin, exist_ok=True)
-     os.symlink('@PANDOC@', path.join(bin, "pandoc"))
--    os.symlink('@PANDOC_CITEPROC@', path.join(bin, "pandoc-citeproc"))
-     os.symlink('@RSCRIPT@', path.join(bin, "Rscript"))
-     os.environ['PATH'] = path.abspath(bin) + ":" + os.environ['PATH']
-     os.environ['PIGX_PATH'] = path.abspath(bin) + ":" + os.environ['PATH']
diff --git a/gnu/packages/patches/pigx-scrnaseq-no-citeproc.patch b/gnu/packages/patches/pigx-scrnaseq-no-citeproc.patch
deleted file mode 100644
index 4cce33fb01..0000000000
--- a/gnu/packages/patches/pigx-scrnaseq-no-citeproc.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -Naur pigx_scrnaseq-1.1.7/configure.ac pigx_scrnaseq-1.1.7.patched/configure.ac
---- pigx_scrnaseq-1.1.7/configure.ac	2020-03-17 14:37:46.000000000 +0100
-+++ pigx_scrnaseq-1.1.7.patched/configure.ac	2021-10-06 13:55:49.779271317 +0200
-@@ -43,7 +43,6 @@
- find_or_override_prog([GNUBASH],         [bash])
- find_or_override_prog([SNAKEMAKE],       [snakemake])
- find_or_override_prog([PANDOC],          [pandoc])
--find_or_override_prog([PANDOC_CITEPROC], [pandoc-citeproc])
- find_or_override_prog([FASTQC],          [fastqc])
- find_or_override_prog([STAR],            [STAR])
- find_or_override_prog([SAMTOOLS],        [samtools])
-diff -Naur pigx_scrnaseq-1.1.7/Makefile.in pigx_scrnaseq-1.1.7.patched/Makefile.in
---- pigx_scrnaseq-1.1.7/Makefile.in	2020-11-30 16:55:48.000000000 +0100
-+++ pigx_scrnaseq-1.1.7.patched/Makefile.in	2021-10-06 13:55:52.224340194 +0200
-@@ -395,7 +395,6 @@
- PACKAGE_URL = @PACKAGE_URL@
- PACKAGE_VERSION = @PACKAGE_VERSION@
- PANDOC = @PANDOC@
--PANDOC_CITEPROC = @PANDOC_CITEPROC@
- PATH_SEPARATOR = @PATH_SEPARATOR@
- PERL = @PERL@
- PYTHON = @PYTHON@
-diff -Naur pigx_scrnaseq-1.1.7/pigx-scrnaseq.in pigx_scrnaseq-1.1.7.patched/pigx-scrnaseq.in
---- pigx_scrnaseq-1.1.7/pigx-scrnaseq.in	2020-11-30 16:08:55.000000000 +0100
-+++ pigx_scrnaseq-1.1.7.patched/pigx-scrnaseq.in	2021-10-06 13:55:47.889218079 +0200
-@@ -274,7 +274,6 @@
-     if path.exists(bin): shutil.rmtree(bin)
-     os.makedirs(bin, exist_ok=True)
-     os.symlink('@PANDOC@', path.join(bin, "pandoc"))
--    os.symlink('@PANDOC_CITEPROC@', path.join(bin, "pandoc-citeproc"))
-     os.symlink('@RSCRIPT@', path.join(bin, "Rscript"))
-     os.environ['PATH'] = path.abspath(bin) + ":" + os.environ['PATH']
-     os.environ['PIGX_PATH'] = path.abspath(bin) + ":" + os.environ['PATH']
diff --git a/gnu/packages/patches/python-robotframework-atest.patch b/gnu/packages/patches/python-robotframework-atest.patch
new file mode 100644
index 0000000000..619ed61b65
--- /dev/null
+++ b/gnu/packages/patches/python-robotframework-atest.patch
@@ -0,0 +1,61 @@
+Patch submitted upstream: https://github.com/robotframework/robotframework/pull/4286.
+
+diff --git a/atest/robot/standard_libraries/operating_system/modified_time.robot b/atest/robot/standard_libraries/operating_system/modified_time.robot
+index d144ffd34..c7681e61d 100644
+--- a/atest/robot/standard_libraries/operating_system/modified_time.robot
++++ b/atest/robot/standard_libraries/operating_system/modified_time.robot
+@@ -8,7 +8,7 @@ ${TESTFILE}       %{TEMPDIR}${/}robot-os-tests${/}f1.txt
+ *** Test Cases ***
+ Get Modified Time As Timestamp
+     ${tc} =    Check Test Case    ${TESTNAME}
+-    Should Match Regexp    ${tc.kws[0].msgs[0].message}    Last modified time of '<a href=.*</a>' is 20\\d\\d-\\d\\d-\\d\\d \\d\\d:\\d\\d:\\d\\d
++    Should Match Regexp    ${tc.kws[0].msgs[0].message}    Last modified time of '<a href=.*</a>' is \\d\\d\\d\\d-\\d\\d-\\d\\d \\d\\d:\\d\\d:\\d\\d
+ 
+ Get Modified Time As Seconds After Epoch
+     ${tc} =    Check Test Case    ${TESTNAME}
+diff --git a/atest/testdata/standard_libraries/builtin/get_time.robot b/atest/testdata/standard_libraries/builtin/get_time.robot
+index 9847d8c42..24ce732ca 100644
+--- a/atest/testdata/standard_libraries/builtin/get_time.robot
++++ b/atest/testdata/standard_libraries/builtin/get_time.robot
+@@ -11,18 +11,18 @@ Get Time As Timestamp
+ 
+ Get Time As Seconds After Epoch
+     ${time} =    Get Time    epoch
+-    Should Be True    1000000000 < ${time} < 2000000000
++    Should Be True    0 < ${time}
+ 
+ Get Time As Parts
+     @{time} =    Get Time    year, month, day, hour, min, sec
+-    Should Be True    2000 < ${time}[0] < 2100
++    Should Match Regexp    ${time}[0]    \\d{4}
+     Should Be True    1 <= int('${time}[1]') <= 12
+     Should Be True    1 <= int('${time}[2]') <= 31
+     Should Be True    0 <= int('${time}[3]') <= 23
+     Should Be True    0 <= int('${time}[4]') <= 59
+     Should Be True    0 <= int('${time}[5]') <= 59
+     ${year}    ${min}    ${sec} =    Get Time    seconds and minutes and year and whatnot
+-    Should Be True    2000 < ${year} < 2100
++    Should Match Regexp    ${year}    \\d{4}
+     Should Be True    0 <= int('${min}') <= 59
+     Should Be True    0 <= int('${sec}') <= 59
+ 
+diff --git a/atest/testdata/standard_libraries/operating_system/modified_time.robot b/atest/testdata/standard_libraries/operating_system/modified_time.robot
+index 9489b3c9c..c712ebaed 100644
+--- a/atest/testdata/standard_libraries/operating_system/modified_time.robot
++++ b/atest/testdata/standard_libraries/operating_system/modified_time.robot
+@@ -14,13 +14,13 @@ Get Modified Time As Timestamp
+ 
+ Get Modified Time As Seconds After Epoch
+     ${dirtime} =    Get Modified Time    ${CURDIR}    epoch
+-    Should Be True    1000000000 < ${dirtime} < 2000000000
++    Should Be True    ${dirtime} > 0
+     ${current} =    Get Time    epoch
+     Should Be True    ${current} >= ${dirtime}
+ 
+ Get Modified Time As Parts
+     ${year} =    Get Modified Time    ${CURDIR}    year
+-    Should Be True    2000 < ${year} < 2100
++    Should Match Regexp    ${year}    \\d{4}
+     ${yyyy}    ${mm}    ${dd} =    Get Modified Time    ${CURDIR}    year, month, day
+     Should Be Equal    ${yyyy}    ${year}
+     # Must use `int('x')` because otherwise 08 and 09 are considered octal
diff --git a/gnu/packages/patches/python-robotframework-source-date-epoch.patch b/gnu/packages/patches/python-robotframework-source-date-epoch.patch
index 11424bf4db..7f00d82061 100644
--- a/gnu/packages/patches/python-robotframework-source-date-epoch.patch
+++ b/gnu/packages/patches/python-robotframework-source-date-epoch.patch
@@ -1,12 +1,64 @@
-Do not embed any timestamp in the built documentation.
-
-Upstream issue: https://github.com/robotframework/robotframework/issues/4262.
+Patch submitted upstream: https://github.com/robotframework/robotframework/pull/4286.
 
+diff --git a/BUILD.rst b/BUILD.rst
+index 67902dd09..749c53fde 100644
+--- a/BUILD.rst
++++ b/BUILD.rst
+@@ -204,6 +204,9 @@ Creating distributions
+ 
+ 7. Documentation
+ 
++   - For a reproducible build, set the ``SOURCE_DATE_EPOCH``
++     environment variable to 1.
++
+    - Generate library documentation::
+ 
+        invoke library-docs all
+diff --git a/atest/robot/libdoc/html_output.robot b/atest/robot/libdoc/html_output.robot
+index f42a4b150..af428c967 100644
+--- a/atest/robot/libdoc/html_output.robot
++++ b/atest/robot/libdoc/html_output.robot
+@@ -15,7 +15,7 @@ Version
+ 
+ Generated
+     [Template]    Should Match Regexp
+-    ${MODEL}[generated]     \\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}
++    ${MODEL}[generated]     \\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[+-]\\d{2}:\\d{2}
+ 
+ Scope
+     ${MODEL}[scope]         GLOBAL
+diff --git a/atest/robot/libdoc/json_output.robot b/atest/robot/libdoc/json_output.robot
+index 78305a458..654603704 100644
+--- a/atest/robot/libdoc/json_output.robot
++++ b/atest/robot/libdoc/json_output.robot
+@@ -15,7 +15,7 @@ Version
+ 
+ Generated
+     [Template]    Should Match Regexp
+-    ${MODEL}[generated]     \\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}
++    ${MODEL}[generated]     \\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[+-]\\d{2}:\\d{2}
+ 
+ Scope
+     ${MODEL}[scope]         GLOBAL
+diff --git a/atest/robot/libdoc/libdoc_resource.robot b/atest/robot/libdoc/libdoc_resource.robot
+index bd7c10ecd..b7e06aacc 100644
+--- a/atest/robot/libdoc/libdoc_resource.robot
++++ b/atest/robot/libdoc/libdoc_resource.robot
+@@ -92,7 +92,8 @@ Lineno Should Be
+     Element Attribute Should Be    ${LIBDOC}    lineno    ${lineno}
+ 
+ Generated Should Be Defined
+-    Element Attribute Should Match    ${LIBDOC}    generated    ????-??-??T??:??:??Z
++    # For example, '1970-01-01T00:00:01+00:00'.
++    Element Attribute Should Match    ${LIBDOC}    generated    ????-??-??T??:??:?????:??
+ 
+ Spec version should be correct
+     Element Attribute Should Be    ${LIBDOC}    specversion    4
 diff --git a/doc/userguide/ug2html.py b/doc/userguide/ug2html.py
-index 43cdb31bd..550e74a79 100755
+index 033203552..b278c71c8 100755
 --- a/doc/userguide/ug2html.py
 +++ b/doc/userguide/ug2html.py
-@@ -158,8 +158,7 @@ def create_userguide():
+@@ -150,8 +150,7 @@ def create_userguide():
      install_file = _copy_installation_instructions()
  
      description = 'HTML generator for Robot Framework User Guide.'
@@ -17,48 +69,97 @@ index 43cdb31bd..550e74a79 100755
                   'RobotFrameworkUserGuide.html']
      os.chdir(CURDIR)
 diff --git a/src/robot/libdocpkg/model.py b/src/robot/libdocpkg/model.py
-index 4d9ffd70b..5c276d1d6 100644
+index 5f44039ef..c36bf4a49 100644
 --- a/src/robot/libdocpkg/model.py
 +++ b/src/robot/libdocpkg/model.py
-@@ -14,6 +14,7 @@
- #  limitations under the License.
+@@ -19,7 +19,7 @@ from itertools import chain
  
- import json
-+import os
- import re
- from itertools import chain
+ from robot.model import Tags
+ from robot.running import ArgumentSpec
+-from robot.utils import getshortdoc, get_timestamp, Sortable, setter
++from robot.utils import get_timestamp_for_doc, getshortdoc, Sortable, setter
  
-@@ -113,7 +114,8 @@ class LibraryDoc(object):
+ from .htmlutils import DocFormatter, DocToHtml, HtmlToText
+ from .writer import LibdocWriter
+@@ -113,7 +113,7 @@ class LibraryDoc:
              'name': self.name,
              'doc': self.doc,
              'version': self.version,
 -            'generated': get_timestamp(daysep='-', millissep=None),
-+            'generated': ('' if os.environ['SOURCE_DATE_EPOCH']
-+                          else get_timestamp(daysep='-', millissep=None)),
++            'generated': get_timestamp_for_doc(),
              'type': self.type,
              'scope': self.scope,
              'docFormat': self.doc_format,
 diff --git a/src/robot/libdocpkg/xmlwriter.py b/src/robot/libdocpkg/xmlwriter.py
-index 3882e1219..4a84fb42e 100644
+index a765ebb2b..980debebb 100644
 --- a/src/robot/libdocpkg/xmlwriter.py
 +++ b/src/robot/libdocpkg/xmlwriter.py
-@@ -14,6 +14,8 @@
+@@ -13,9 +13,7 @@
+ #  See the License for the specific language governing permissions and
  #  limitations under the License.
  
- import os.path
-+import os
-+
- from datetime import datetime
+-from datetime import datetime
+-
+-from robot.utils import XmlWriter
++from robot.utils import XmlWriter, get_timestamp_for_doc
+ 
  
- from robot.utils import WINDOWS, XmlWriter, unicode
-@@ -30,7 +32,9 @@ class LibdocXmlWriter(object):
+ class LibdocXmlWriter:
+@@ -32,12 +30,11 @@ class LibdocXmlWriter:
          self._write_end(writer)
  
      def _write_start(self, libdoc, writer):
 -        generated = datetime.utcnow().replace(microsecond=0).isoformat() + 'Z'
-+        generated = (
-+            '' if os.environ['SOURCE_DATE_EPOCH']
-+            else datetime.utcnow().replace(microsecond=0).isoformat() + 'Z')
          attrs = {'name': libdoc.name,
                   'type': libdoc.type,
                   'format': libdoc.doc_format,
+                  'scope': libdoc.scope,
+-                 'generated': generated,
++                 'generated': get_timestamp_for_doc(),
+                  'specversion': '4'}
+         self._add_source_info(attrs, libdoc)
+         writer.start('keywordspec', attrs)
+diff --git a/src/robot/utils/__init__.py b/src/robot/utils/__init__.py
+index 442ffa4f3..80793ec29 100644
+--- a/src/robot/utils/__init__.py
++++ b/src/robot/utils/__init__.py
+@@ -58,9 +58,9 @@ from .robotinspect import is_init
+ from .robotio import binary_file_writer, create_destination_directory, file_writer
+ from .robotpath import abspath, find_file, get_link_path, normpath
+ from .robottime import (elapsed_time_to_string, format_time, get_elapsed_time,
+-                        get_time, get_timestamp, secs_to_timestamp,
+-                        secs_to_timestr, timestamp_to_secs, timestr_to_secs,
+-                        parse_time)
++                        get_time, get_timestamp, get_timestamp_for_doc,
++                        secs_to_timestamp, secs_to_timestr, timestamp_to_secs,
++                        timestr_to_secs, parse_time)
+ from .robottypes import (FALSE_STRINGS, TRUE_STRINGS, is_bytes, is_dict_like, is_falsy,
+                          is_integer, is_list_like, is_number, is_pathlike, is_string,
+                          is_truthy, is_union, type_name, type_repr, typeddict_types)
+diff --git a/src/robot/utils/robottime.py b/src/robot/utils/robottime.py
+index 97a7d1af0..4a0ba2d83 100644
+--- a/src/robot/utils/robottime.py
++++ b/src/robot/utils/robottime.py
+@@ -13,6 +13,8 @@
+ #  See the License for the specific language governing permissions and
+ #  limitations under the License.
+ 
++import datetime
++import os
+ import re
+ import time
+ 
+@@ -316,6 +318,13 @@ def get_timestamp(daysep='', daytimesep=' ', timesep=':', millissep='.'):
+     return TIMESTAMP_CACHE.get_timestamp(daysep, daytimesep, timesep, millissep)
+ 
+ 
++def get_timestamp_for_doc():
++    """Return a timestamp that honors `SOURCE_DATE_EPOCH`."""
++    ts = float(os.getenv('SOURCE_DATE_EPOCH', time.time()))
++    dt = datetime.datetime.fromtimestamp(round(ts), datetime.timezone.utc)
++    return dt.isoformat()
++
++
+ def timestamp_to_secs(timestamp, seps=None):
+     try:
+         secs = _timestamp_to_millis(timestamp, seps) / 1000.0
diff --git a/gnu/packages/patches/python-robotframework-ug2html.patch b/gnu/packages/patches/python-robotframework-ug2html.patch
deleted file mode 100644
index eea88e01f3..0000000000
--- a/gnu/packages/patches/python-robotframework-ug2html.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-Do not require the obsolete robotframeworklexer.
-
-Submitted upstream at: https://github.com/robotframework/robotframework/pull/4265.
-diff --git a/doc/userguide/ug2html.py b/doc/userguide/ug2html.py
-index 43cdb31bd..033203552 100755
---- a/doc/userguide/ug2html.py
-+++ b/doc/userguide/ug2html.py
-@@ -93,34 +93,26 @@ from docutils.parsers.rst import directives
- from pygments import highlight, __version__ as pygments_version
- from pygments.lexers import get_lexer_by_name
- 
--# Use latest version, not version bundled with Pygments
--import robotframeworklexer
--
- 
- def too_old(version_string, minimum):
-     version = tuple(int(v) for v in version_string.split('.')[:2])
-     return version < minimum
- 
- 
--if too_old(getattr(robotframeworklexer, '__version__', '1.0'), (1, 1)):
--    sys.exit('robotframeworklexer >= 1.1 is required.')
--if too_old(pygments_version, (2, 1)):
--    sys.exit('Pygments >= 2.1 is required.')
-+if too_old(pygments_version, (2, 8)):
-+    sys.exit('Pygments >= 2.8 is required.')
- 
- 
- def pygments_directive(name, arguments, options, content, lineno,
-                        content_offset, block_text, state, state_machine):
-     try:
--        if arguments[0] == 'robotframework':
--            lexer = robotframeworklexer.RobotFrameworkLexer()
--        else:
--            lexer = get_lexer_by_name(arguments[0])
-+        lexer = get_lexer_by_name(arguments[0])
-     except ValueError as err:
-         raise ValueError(f'Invalid syntax highlighting language "{arguments[0]}".')
-     # take an arbitrary option if more than one is given
-     formatter = options and VARIANTS[options.keys()[0]] or DEFAULT
-     # possibility to read the content from an external file
--    filtered = [ line for line in content if line.strip() ]
-+    filtered = [line for line in content if line.strip()]
-     if len(filtered) == 1:
-         path = filtered[0].replace('/', os.sep)
-         if os.path.isfile(path):
-diff --git a/requirements-build.txt b/requirements-build.txt
-index e0f5e19a2..a2fcdcfd5 100644
---- a/requirements-build.txt
-+++ b/requirements-build.txt
-@@ -5,5 +5,4 @@ rellu >= 0.7
- twine >= 1.12
- wheel
- docutils
--pygments >= 2.1
--robotframeworklexer >= 1.1
-+pygments >= 2.8
diff --git a/gnu/packages/patches/python-w3lib-fix-test-failure.patch b/gnu/packages/patches/python-w3lib-fix-test-failure.patch
new file mode 100644
index 0000000000..f38fc749df
--- /dev/null
+++ b/gnu/packages/patches/python-w3lib-fix-test-failure.patch
@@ -0,0 +1,60 @@
+From fae6cc40e112cd13697cb0e8d79976f32c72491d Mon Sep 17 00:00:00 2001
+From: Eugenio Lacuesta <eugenio.lacuesta@gmail.com>
+Date: Wed, 10 Mar 2021 12:31:05 -0300
+Subject: [PATCH] [CI] Mark single add_or_replace_parameter test as xfail
+
+---
+This patch is based on upstream commit
+fae6cc40e112cd13697cb0e8d79976f32c72491d which is part of
+https://github.com/scrapy/w3lib/pull/166.
+
+ .gitignore        |  3 ++-
+ tests/test_url.py | 25 ++++++++++++++-----------
+ 2 files changed, 16 insertions(+), 12 deletions(-)
+
+diff --git a/tests/test_url.py b/tests/test_url.py
+index 8b07c00..0f7458e 100644
+--- a/tests/test_url.py
++++ b/tests/test_url.py
+@@ -1,12 +1,14 @@
+-# -*- coding: utf-8 -*-
+ from __future__ import absolute_import
+ import os
+ import unittest
++
++import pytest
++from six.moves.urllib.parse import urlparse
++
+ from w3lib.url import (is_url, safe_url_string, safe_download_url,
+     url_query_parameter, add_or_replace_parameter, url_query_cleaner,
+     file_uri_to_path, parse_data_uri, path_to_file_uri, any_to_uri,
+     urljoin_rfc, canonicalize_url, parse_url, add_or_replace_parameters)
+-from six.moves.urllib.parse import urlparse
+ 
+ 
+ class UrlTests(unittest.TestCase):
+@@ -310,10 +311,6 @@ def test_add_or_replace_parameter(self):
+         self.assertEqual(add_or_replace_parameter(url, 'arg3', 'nv3'),
+                          'http://domain/test?arg1=v1&arg2=v2&arg3=nv3')
+ 
+-        url = 'http://domain/test?arg1=v1;arg2=v2'
+-        self.assertEqual(add_or_replace_parameter(url, 'arg1', 'v3'),
+-                         'http://domain/test?arg1=v3&arg2=v2')
+-
+         self.assertEqual(add_or_replace_parameter("http://domain/moreInfo.asp?prodID=", 'prodID', '20'),
+                          'http://domain/moreInfo.asp?prodID=20')
+         url = 'http://rmc-offers.co.uk/productlist.asp?BCat=2%2C60&CatID=60'
+@@ -338,6 +335,13 @@ def test_add_or_replace_parameter(self):
+         self.assertEqual(add_or_replace_parameter(url, 'arg1', 'v3'),
+                          'http://domain/test?arg1=v3&arg2=v2')
+ 
++    @pytest.mark.xfail(reason="https://github.com/scrapy/w3lib/issues/164")
++    def test_add_or_replace_parameter_fail(self):
++        self.assertEqual(
++            add_or_replace_parameter('http://domain/test?arg1=v1;arg2=v2', 'arg1', 'v3'),
++            'http://domain/test?arg1=v3&arg2=v2'
++        )
++
+     def test_add_or_replace_parameters(self):
+         url = 'http://domain/test'
+         self.assertEqual(add_or_replace_parameters(url, {'arg': 'v'}),
diff --git a/gnu/packages/patches/rust-ndarray-0.14-remove-blas-src.patch b/gnu/packages/patches/rust-ndarray-0.14-remove-blas-src.patch
new file mode 100644
index 0000000000..7f100d04bd
--- /dev/null
+++ b/gnu/packages/patches/rust-ndarray-0.14-remove-blas-src.patch
@@ -0,0 +1,25 @@
+diff --git a/Cargo.toml b/Cargo.toml
+index 57924f1..0c59727 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -43,11 +43,6 @@ bench = false
+ version = "0.4"
+ optional = true
+ 
+-[dependencies.blas-src]
+-version = "0.6.1"
+-optional = true
+-default-features = false
+-
+ [dependencies.cblas-sys]
+ version = "0.1.4"
+ optional = true
+@@ -92,7 +87,7 @@ version = "0.9"
+ default-features = false
+ 
+ [features]
+-blas = ["cblas-sys", "blas-src"]
++blas = ["cblas-sys"]
+ docs = ["approx", "serde", "rayon"]
+ serde-1 = ["serde"]
+ test = ["test-blas-openblas-sys"]
diff --git a/gnu/packages/patches/tremc-fix-decodestring.patch b/gnu/packages/patches/tremc-fix-decodestring.patch
deleted file mode 100644
index 346f65e611..0000000000
--- a/gnu/packages/patches/tremc-fix-decodestring.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 79995bc82e81f0429222aab4d90a03440feef057 Mon Sep 17 00:00:00 2001
-From: Matan Ziv-Av <matan@svgalib.org>
-Date: Mon, 29 Jun 2020 15:18:03 +0300
-Subject: [PATCH] Use base64.decodebytes.
-
-Based on upstream commit 79995bc82e81f0429222aab4d90a03440feef057 which
-confuses several unrelated changes.
-
----
- tremc | 29 ++++++++++++++++++++++++++++-
- 1 file changed, 28 insertions(+), 1 deletion(-)
-
-diff --git a/tremc b/tremc
-index b47f012..c626fde 100755
---- a/tremc
-+++ b/tremc
-@@ -440,7 +443,7 @@ class Transmission(object):
-                 # TAG_TORRENT_DETAILS, but just passing seems to help.(?)
-                 try:
-                     torrent_details = response['arguments']['torrents'][0]
--                    torrent_details['pieces'] = base64.decodestring(bytes(torrent_details['pieces'], ENCODING))
-+                    torrent_details['pieces'] = base64.decodebytes(bytes(torrent_details['pieces'], ENCODING))
-                     self.torrent_details_cache = torrent_details
-                     self.upgrade_peerlist()
-                 except IndexError:
diff --git a/gnu/packages/patches/u-boot-allow-disabling-openssl.patch b/gnu/packages/patches/u-boot-allow-disabling-openssl.patch
index e3ec92be84..73e5878546 100644
--- a/gnu/packages/patches/u-boot-allow-disabling-openssl.patch
+++ b/gnu/packages/patches/u-boot-allow-disabling-openssl.patch
@@ -1,39 +1,15 @@
-From f060e90d148270307228315e2759a0065ec1d796 Mon Sep 17 00:00:00 2001
 From: Vagrant Cascadian <vagrant@debian.org>
 Date: Fri, 22 Oct 2021 17:34:53 -0700
 Subject: [PATCH] Revert "tools: kwbimage: Do not hide usage of secure header
  under CONFIG_ARMADA_38X"
 
 This reverts commit b4f3cc2c42d97967a3a3c8796c340f6b07ecccac.
----
- tools/Makefile   |  8 ++++++++
- tools/kwbimage.c | 22 ++++++++++++++++++++++
- 2 files changed, 30 insertions(+)
 
-diff --git a/tools/Makefile b/tools/Makefile
-index 4a86321f64..9517f203fd 100644
---- a/tools/Makefile
-+++ b/tools/Makefile
-@@ -169,6 +169,14 @@ HOST_EXTRACFLAGS	+= -DCONFIG_FIT_SIGNATURE_MAX_SIZE=0xffffffff
- HOST_EXTRACFLAGS	+= -DCONFIG_FIT_CIPHER
- endif
- 
-+ifneq ($(CONFIG_SYS_U_BOOT_OFFS),)
-+HOSTCFLAGS_kwbimage.o += -DCONFIG_SYS_U_BOOT_OFFS=$(CONFIG_SYS_U_BOOT_OFFS)
-+endif
-+
-+ifneq ($(CONFIG_ARMADA_38X),)
-+HOSTCFLAGS_kwbimage.o += -DCONFIG_KWB_SECURE
-+endif
-+
- # MXSImage needs LibSSL
- ifneq ($(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_ARMADA_38X)$(CONFIG_TOOLS_LIBCRYPTO),)
- HOSTCFLAGS_kwbimage.o += \
 diff --git a/tools/kwbimage.c b/tools/kwbimage.c
-index d200ff2425..23d6be3c9a 100644
+index 94b7685392..eec599b0ee 100644
 --- a/tools/kwbimage.c
 +++ b/tools/kwbimage.c
-@@ -14,6 +14,7 @@
+@@ -19,6 +19,7 @@
  #include <stdint.h>
  #include "kwbimage.h"
  
@@ -41,12 +17,16 @@ index d200ff2425..23d6be3c9a 100644
  #include <openssl/bn.h>
  #include <openssl/rsa.h>
  #include <openssl/pem.h>
-@@ -39,10 +40,13 @@ void EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx)
+@@ -44,6 +45,7 @@ void EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx)
  	EVP_MD_CTX_reset(ctx);
  }
  #endif
 +#endif
  
+ /* fls - find last (most-significant) bit set in 4-bit integer */
+ static inline int fls4(int num)
+@@ -62,7 +64,9 @@ static inline int fls4(int num)
+ 
  static struct image_cfg_element *image_cfg;
  static int cfgn;
 +#ifdef CONFIG_KWB_SECURE
@@ -55,7 +35,7 @@ index d200ff2425..23d6be3c9a 100644
  
  struct boot_mode {
  	unsigned int id;
-@@ -237,6 +241,8 @@ image_count_options(unsigned int optiontype)
+@@ -278,6 +282,8 @@ image_count_options(unsigned int optiontype)
  	return count;
  }
  
@@ -64,16 +44,15 @@ index d200ff2425..23d6be3c9a 100644
  static int image_get_csk_index(void)
  {
  	struct image_cfg_element *e;
-@@ -259,6 +265,8 @@ static bool image_get_spezialized_img(void)
- 	return e->sec_specialized_img;
- }
+@@ -288,6 +294,7 @@ static int image_get_csk_index(void)
  
+ 	return e->csk_idx;
+ }
 +#endif
-+
- /*
-  * Compute a 8-bit checksum of a memory area. This algorithm follows
-  * the requirements of the Marvell SoC BootROM specifications.
-@@ -353,6 +361,7 @@ static uint8_t baudrate_to_option(unsigned int baudrate)
+ 
+ static bool image_get_spezialized_img(void)
+ {
+@@ -432,6 +439,7 @@ static uint8_t baudrate_to_option(unsigned int baudrate)
  	}
  }
  
@@ -81,18 +60,17 @@ index d200ff2425..23d6be3c9a 100644
  static void kwb_msg(const char *fmt, ...)
  {
  	if (verbose_mode) {
-@@ -847,6 +856,8 @@ done:
+@@ -926,6 +934,7 @@ static int kwb_dump_fuse_cmds(struct secure_hdr_v1 *sec_hdr)
+ done:
  	return ret;
  }
- 
 +#endif
-+
- static void *image_create_v0(size_t *imagesz, struct image_tool_params *params,
- 			     int payloadsz)
+ 
+ static size_t image_headersz_align(size_t headersz, uint8_t blockid)
  {
-@@ -977,11 +988,13 @@ static size_t image_headersz_v1(int *hasext)
- 			*hasext = 1;
- 	}
+@@ -1079,11 +1088,13 @@ static size_t image_headersz_v1(int *hasext)
+ 	 */
+ 	headersz = sizeof(struct main_hdr_v1);
  
 +#if defined(CONFIG_KWB_SECURE)
  	if (image_get_csk_index() >= 0) {
@@ -102,28 +80,27 @@ index d200ff2425..23d6be3c9a 100644
  	}
 +#endif
  
- 	/*
- 	 * The payload should be aligned on some reasonable
-@@ -1058,6 +1071,8 @@ err_close:
+ 	cpu_sheeva = image_is_cpu_sheeva();
+ 
+@@ -1270,6 +1281,7 @@ err_close:
  	return -1;
  }
  
 +#if defined(CONFIG_KWB_SECURE)
-+
- int export_pub_kak_hash(RSA *kak, struct secure_hdr_v1 *secure_hdr)
+ static int export_pub_kak_hash(RSA *kak, struct secure_hdr_v1 *secure_hdr)
  {
  	FILE *hashf;
-@@ -1170,6 +1185,7 @@ int add_secure_header_v1(struct image_tool_params *params, uint8_t *ptr,
+@@ -1382,6 +1394,7 @@ static int add_secure_header_v1(struct image_tool_params *params, uint8_t *ptr,
  
  	return 0;
  }
 +#endif
  
- static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
- 			     uint8_t *ptr, int payloadsz)
-@@ -1177,7 +1193,9 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
- 	struct image_cfg_element *e;
+ static void finish_register_set_header_v1(uint8_t **cur, uint8_t **next_ext,
+ 					  struct register_set_hdr_v1 *register_set_hdr,
+@@ -1406,7 +1419,9 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
  	struct main_hdr_v1 *main_hdr;
+ 	struct opt_hdr_v1 *ohdr;
  	struct register_set_hdr_v1 *register_set_hdr;
 +#if defined(CONFIG_KWB_SECURE)
  	struct secure_hdr_v1 *secure_hdr = NULL;
@@ -131,7 +108,7 @@ index d200ff2425..23d6be3c9a 100644
  	size_t headersz;
  	uint8_t *image, *cur;
  	int hasext = 0;
-@@ -1253,6 +1271,7 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
+@@ -1491,6 +1506,7 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
  	if (main_hdr->blockid == IBR_HDR_PEX_ID)
  		main_hdr->srcaddr = cpu_to_le32(0xFFFFFFFF);
  
@@ -139,26 +116,24 @@ index d200ff2425..23d6be3c9a 100644
  	if (image_get_csk_index() >= 0) {
  		/*
  		 * only reserve the space here; we fill the header later since
-@@ -1263,6 +1282,7 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
+@@ -1501,7 +1517,7 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
  		*next_ext = 1;
  		next_ext = &secure_hdr->next;
  	}
+-
 +#endif
- 
  	datai = 0;
- 	register_set_hdr = (struct register_set_hdr_v1 *)cur;
-@@ -1310,9 +1330,11 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
- 			return NULL;
+ 	for (cfgi = 0; cfgi < cfgn; cfgi++) {
+ 		e = &image_cfg[cfgi];
+@@ -1552,9 +1568,11 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
+ 					      &datai, delay);
  	}
  
 +#if defined(CONFIG_KWB_SECURE)
- 	if (secure_hdr && add_secure_header_v1(params, ptr, payloadsz,
+ 	if (secure_hdr && add_secure_header_v1(params, ptr, payloadsz + headersz,
  					       headersz, image, secure_hdr))
  		return NULL;
 +#endif
  
- 	/* Calculate and set the header checksum */
- 	main_hdr->checksum = image_checksum8(main_hdr, headersz);
--- 
-2.30.2
-
+ 	*imagesz = headersz;
+ 
diff --git a/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch b/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch
deleted file mode 100644
index 468024ab00..0000000000
--- a/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 3fc056f0b9f7c26e58a1e947c8c0184e55919614 Mon Sep 17 00:00:00 2001
-From: David Abdurachmanov <david.abdurachmanov@gmail.com>
-Date: Wed, 21 Aug 2019 12:07:20 -0700
-Subject: [PATCH] qemu-riscv64_smode, sifive-fu540: fix extlinux (define
- preboot)
-Forwarded: https://patchwork.ozlabs.org/patch/1151125/
-
-Commit 37304aaf60bf92a5dc3ef222ba520698bd862a44 removed preboot
-commands in RISC-V targets and broke extlinux support as reported
-by Fu Wei <wefu@redhat.com>.
-
-The patch finishes migration of CONFIG_USE_PREBOOT and CONFIG_REBOOT
-to Kconfig.
-
-Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
----
- configs/qemu-riscv64_smode_defconfig | 2 ++
- configs/sifive_fu540_defconfig       | 2 ++
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-Index: u-boot/configs/qemu-riscv64_smode_defconfig
-===================================================================
---- u-boot.orig/configs/qemu-riscv64_smode_defconfig
-+++ u-boot/configs/qemu-riscv64_smode_defconfig
-@@ -14,3 +14,5 @@ CONFIG_CMD_NVEDIT_EFI=y
- CONFIG_OF_PRIOR_STAGE=y
- CONFIG_SYS_RELOC_GD_ENV_ADDR=y
- CONFIG_DM_MTD=y
-+CONFIG_USE_PREBOOT=y
-+CONFIG_PREBOOT="setenv fdt_addr ${fdtcontroladdr}; fdt addr ${fdtcontroladdr};"
-Index: u-boot/configs/sifive_fu540_defconfig
-===================================================================
---- u-boot.orig/configs/sifive_unleashed_defconfig
-+++ u-boot/configs/sifive_unleashed_defconfig
-@@ -27,3 +27,5 @@ CONFIG_SPL_DM_SEQ_ALIAS=y
- CONFIG_SPL_CLK=y
- CONFIG_DM_MTD=y
- CONFIG_DM_RESET=y
-+CONFIG_USE_PREBOOT=y
-+CONFIG_PREBOOT="setenv fdt_addr ${fdtcontroladdr}; fdt addr ${fdtcontroladdr};"
diff --git a/gnu/packages/patches/webkitgtk-bind-all-fonts.patch b/gnu/packages/patches/webkitgtk-bind-all-fonts.patch
deleted file mode 100644
index 27013180c4..0000000000
--- a/gnu/packages/patches/webkitgtk-bind-all-fonts.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Upstream commit: https://github.com/WebKit/WebKit/commit/31ac354cbeecf866f9a38f7b2f8f59f7975d3f6a
-
-diff --git a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-index ecc804663784..8de174be3c0e 100644
---- a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-+++ b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-@@ -288,6 +288,7 @@ static void bindFonts(Vector<CString>& args)
-     const char* homeDir = g_get_home_dir();
-     const char* dataDir = g_get_user_data_dir();
-     const char* cacheDir = g_get_user_cache_dir();
-+    const char* const * dataDirs = g_get_system_data_dirs();
- 
-     // Configs can include custom dirs but then we have to parse them...
-     GUniquePtr<char> fontConfig(g_build_filename(configDir, "fontconfig", nullptr));
-@@ -304,6 +305,10 @@ static void bindFonts(Vector<CString>& args)
-     bindIfExists(args, fontHomeConfigDir.get());
-     bindIfExists(args, fontData.get());
-     bindIfExists(args, fontHomeData.get());
-+    for (auto* dataDir = dataDirs; dataDir && *dataDir; dataDir++) {
-+        GUniquePtr<char> fontDataDir(g_build_filename(*dataDir, "fonts", nullptr));
-+        bindIfExists(args, fontDataDir.get());
-+    }
-     bindIfExists(args, "/var/cache/fontconfig"); // Used by Debian.
- }
- 
diff --git a/gnu/packages/patches/webkitgtk-canonicalize-paths.patch b/gnu/packages/patches/webkitgtk-canonicalize-paths.patch
deleted file mode 100644
index 741d534831..0000000000
--- a/gnu/packages/patches/webkitgtk-canonicalize-paths.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-Upstream commit: https://github.com/WebKit/WebKit/commit/6a87eb254ef57a986a1a6ce9a3a4b66928afeb65
-
-diff --git a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-index ecc804663784..a2a1c9d7a4dd 100644
---- a/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-+++ b/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
-@@ -27,7 +27,6 @@
- #include <seccomp.h>
- #include <sys/ioctl.h>
- #include <sys/mman.h>
--#include <unistd.h>
- #include <wtf/FileSystem.h>
- #include <wtf/UniStdExtras.h>
- #include <wtf/glib/GRefPtr.h>
-@@ -165,6 +164,15 @@ enum class BindFlags {
-     Device,
- };
- 
-+static void bindSymlinksRealPath(Vector<CString>& args, const char* path, const char* bindOption = "--ro-bind")
-+{
-+    WTF::String realPath = FileSystem::realPath(path);
-+    if (path != realPath) {
-+        CString rpath = realPath.utf8();
-+        args.appendVector(Vector<CString>({ bindOption, rpath.data(), rpath.data() }));
-+    }
-+}
-+
- static void bindIfExists(Vector<CString>& args, const char* path, BindFlags bindFlags = BindFlags::ReadOnly)
- {
-     if (!path || path[0] == '\0')
-@@ -177,7 +185,16 @@ static void bindIfExists(Vector<CString>& args, const char* path, BindFlags bind
-         bindType = "--ro-bind-try";
-     else
-         bindType = "--bind-try";
--    args.appendVector(Vector<CString>({ bindType, path, path }));
-+
-+    // Canonicalize the source path, otherwise a symbolic link could
-+    // point to a location outside of the namespace.
-+    bindSymlinksRealPath(args, path, bindType);
-+
-+    // As /etc is exposed wholesale, do not layer extraneous bind
-+    // directives on top, which could fail in the presence of symbolic
-+    // links.
-+    if (!g_str_has_prefix(path, "/etc/"))
-+        args.appendVector(Vector<CString>({ bindType, path, path }));
- }
- 
- static void bindDBusSession(Vector<CString>& args, bool allowPortals)
-@@ -410,17 +427,6 @@ static void bindV4l(Vector<CString>& args)
-     }));
- }
- 
--static void bindSymlinksRealPath(Vector<CString>& args, const char* path)
--{
--    char realPath[PATH_MAX];
--
--    if (realpath(path, realPath) && strcmp(path, realPath)) {
--        args.appendVector(Vector<CString>({
--            "--ro-bind", realPath, realPath,
--        }));
--    }
--}
--
- // Translate a libseccomp error code into an error message. libseccomp
- // mostly returns negative errno values such as -ENOMEM, but some
- // standard errno values are used for non-standard purposes where their
diff --git a/gnu/packages/patches/xterm-370-explicit-xcursor.patch b/gnu/packages/patches/xterm-370-explicit-xcursor.patch
new file mode 100644
index 0000000000..2500ccf0c8
--- /dev/null
+++ b/gnu/packages/patches/xterm-370-explicit-xcursor.patch
@@ -0,0 +1,37 @@
+From: Danny Milosavljevic <dannym@scratchpost.org>
+Date: Thu, 2 Apr 2022 12:10:00 +0200
+Subject: Make xterm use libxcursor directly
+
+Fixes <https://issues.guix.gnu.org/54654>.
+
+This patch makes xterm use libxcursor directly.
+Without it, libx11 would try to dlopen("libXcursor.so.1") and fail.
+
+--- xterm-370/misc.c.orig	2022-04-02 11:52:26.225131854 +0200
++++ xterm-370/misc.c	2022-04-02 12:06:13.091482385 +0200
+@@ -79,6 +79,9 @@
+ #ifdef HAVE_LIBXPM
+ #include <X11/xpm.h>
+ #endif
++#ifdef HAVE_LIB_XCURSOR
++#include <X11/Xcursor/Xcursor.h>
++#endif
+ 
+ #ifdef HAVE_LANGINFO_CODESET
+ #include <langinfo.h>
+@@ -866,7 +869,14 @@
+ 		 * 0, 2 a shape, 3 a mask for 2, etc.  <X11/cursorfont.h>
+ 		 * contains defined names for each shape.
+ 		 */
+-		c = XCreateGlyphCursor(dpy,
++		c = XcursorTryShapeCursor(dpy,
++				       myFont.fs->fid, /* source_font */
++				       myFont.fs->fid, /* mask_font */
++				       c_index + 0, /* source_char */
++				       c_index + 1, /* mask_char */
++				       &foreground,
++				       &background);
++		if (c == None) c = XCreateGlyphCursor(dpy,
+ 				       myFont.fs->fid,	/* source_font */
+ 				       myFont.fs->fid,	/* mask_font */
+ 				       c_index + 0,	/* source_char */
diff --git a/gnu/packages/patches/zig-disable-libc-note-test.patch b/gnu/packages/patches/zig-disable-libc-note-test.patch
deleted file mode 100644
index 4508cee200..0000000000
--- a/gnu/packages/patches/zig-disable-libc-note-test.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-This test fails with "error.CompilationIncorrectlySucceeded".
-
-diff --git a/test/compile_errors.zig b/test/compile_errors.zig
-index b1eaa0302..621f9db0a 100644
---- a/test/compile_errors.zig
-+++ b/test/compile_errors.zig
-@@ -2943,15 +2943,15 @@ pub fn addCases(ctx: *TestContext) !void {
-             "tmp.zig:3:5: error: dependency on libc must be explicitly specified in the build command",
-         });
- 
--        ctx.testErrStage1("libc headers note",
--            \\const c = @cImport(@cInclude("stdio.h"));
--            \\export fn entry() void {
--            \\    _ = c.printf("hello, world!\n");
--            \\}
--        , &[_][]const u8{
--            "tmp.zig:1:11: error: C import failed",
--            "tmp.zig:1:11: note: libc headers not available; compilation does not link against libc",
--        });
-+        // ctx.testErrStage1("libc headers note",
-+        //     \\const c = @cImport(@cInclude("stdio.h"));
-+        //     \\export fn entry() void {
-+        //     \\    _ = c.printf("hello, world!\n");
-+        //     \\}
-+        // , &[_][]const u8{
-+        //     "tmp.zig:1:11: error: C import failed",
-+        //     "tmp.zig:1:11: note: libc headers not available; compilation does not link against libc",
-+        // });
-     }
- 
-     ctx.testErrStage1("comptime vector overflow shows the index",
diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm
index 34abfb3c2d..91e3fad33b 100644
--- a/gnu/packages/pciutils.scm
+++ b/gnu/packages/pciutils.scm
@@ -39,7 +39,7 @@
 (define-public hwdata
   (package
     (name "hwdata")
-    (version "0.356")
+    (version "0.357")                   ;updated monthly
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -48,14 +48,15 @@
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0m04d93dwiplwp9v74nhnc0hyi2n007mylkg8f0frb46z5qjrpl3"))))
+                "0kvxpdx14w2myqm3dikjvr2mr4j6767y4v5j8v7kffwvcv0ga9gv"))))
     (build-system gnu-build-system)
     (outputs '("out" "iab" "oui" "pci" "pnp" "usb"))
-    (native-inputs (list gzip))
     (arguments
      ;; Tests require pciutils, python, podman. Disable to avoid recursive dep.
      (list
       #:tests? #f
+      ;; Do not cross-compile, since the package only contains data.
+      #:target #f
       #:configure-flags #~(list (string-append "--datadir=" #$output "/share"))
       #:phases
       #~(modify-phases %standard-phases
diff --git a/gnu/packages/pikchr.scm b/gnu/packages/pikchr.scm
new file mode 100644
index 0000000000..5a26b11ac6
--- /dev/null
+++ b/gnu/packages/pikchr.scm
@@ -0,0 +1,59 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2022 pukkamustard <pukkamustard@posteo.net>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages pikchr)
+  #:use-module (guix packages)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix download)
+  #:use-module ((guix licenses) #:prefix license:))
+
+(define-public pikchr
+  (let ((commit "221988914eff6efe")
+        (revision "0"))                       ;increment for each new snapshot
+    (package
+      (name "pikchr")
+      ;; To update, use the last check-in in https://pikchr.org/home/timeline?r=trunk
+      (version (string-append revision "-" (string-take commit 5)))
+      (source (origin
+                (method url-fetch)
+                (uri (string-append "https://pikchr.org/home/tarball/" commit
+                                    "/pikchr.tar.gz"))
+                (file-name (string-append "pikchr-" version ".tar.gz"))
+                (sha256
+                 (base32
+                  "0yclkincsgfni4scjzp5avdsij8vmyxjn0q2qkwjhn3p43y8nxzd"))))
+      (build-system gnu-build-system)
+      (arguments
+       '(#:tests? #f                              ;no tests
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'bootstrap)
+           (delete 'configure)
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (bin (string-append out "/bin")))
+                 (install-file "pikchr" bin)))))))
+      (home-page "https://pikchr.org")
+      (synopsis "Markup language for diagrams in technical documentation")
+      (description
+       "Pikchr (pronounced @emph{picture}) is a PIC-like markup language for
+diagrams in technical documentation.  Pikchr is designed to be embedded in
+fenced code blocks of Markdown or similar mechanisms of other documentation
+markup languages.")
+      (license license:bsd-0))))
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index 4adb05f722..569e44a958 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -269,14 +269,14 @@ colors, styles, options and details.")
 (define-public asymptote
   (package
     (name "asymptote")
-    (version "2.79")
+    (version "2.80")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://sourceforge/asymptote/"
                            version "/asymptote-" version ".src.tgz"))
        (sha256
-        (base32 "060gy2h1wa3ivjn51g21g7vh79jn74zbkz5ha5pq45bxqn4xs5cs"))
+        (base32 "0mhpvsjgw8av5rgkqlb0m8njc4fsfw5ddlx5121iyn29vjbx0rk2"))
        (modules '((guix build utils)))
        (snippet
         ;; Remove bundled RapidJSON.
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 5bbe544113..2d35eb720e 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2019, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@@ -11,8 +11,9 @@
 ;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
 ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
 ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
-;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
 ;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
+;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -244,6 +245,36 @@ nosetests, etc...) in Python projects.")
 result documents that can be read by tools such as Jenkins or Bamboo.")
       (license license:expat))))
 
+(define-public python-pyinstrument
+  (package
+    (name "python-pyinstrument")
+    (version "4.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pyinstrument" version))
+       (sha256
+        (base32 "18n3waxsxcd48pmcp8158s5rlancll2000amrdck9zfj5hfpkhhx"))))
+    (build-system python-build-system)
+    (native-inputs
+     (list python-flaky
+           python-pytest
+           python-pytest-asyncio
+           python-pytest-trio))
+    (arguments
+     `(;; TODO: Get tests to work.
+       #:tests? #f
+       #:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        (invoke "pytest" "-vv")))))))
+    (home-page "https://github.com/joerick/pyinstrument")
+    (synopsis "Call stack profiler for Python")
+    (description
+     "Pyinstrument is a Python profiler to help you optimize your code.")
+    (license license:bsd-3)))
+
 (define-public python-vcrpy
   (package
     (name "python-vcrpy")
@@ -1962,6 +1993,25 @@ The purpose of this package is to provide an easy way to test asynchronous
 HTTP requests.")
     (license license:expat)))
 
+(define-public python-parameterizedtestcase
+  (package
+    (name "python-parameterizedtestcase")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "parameterizedtestcase" version))
+       (sha256
+        (base32 "0zhjmsd16xacg4vd7zb75kw8q9khn52wvad634v1bvz7swaivk2c"))))
+    (build-system python-build-system)
+    (native-inputs (list python-setuptools)) ;for use_2to3
+    (home-page
+     "https://github.com/msabramo/python_unittest_parameterized_test_case")
+    (synopsis "Parameterized tests for Python's unittest module")
+    (description "This package provides parameterized tests for Python's
+@code{unittest} module taking inspiration from pytest.")
+    (license license:expat)))
+
 (define-public python-pytest-rerunfailures
   (package
     (name "python-pytest-rerunfailures")
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 292f9dc11a..07d713e013 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
 ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
@@ -15,6 +15,8 @@
 ;;; Copyright © 2021 Paul Garlick <pgarlick@tourbillion-technology.com>
 ;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
+;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -373,6 +375,44 @@ genetic variation data.")
 of the SGP4 satellite tracking algorithm.")
     (license license:expat)))
 
+(define-public python-trimesh
+  (package
+    (name "python-trimesh")
+    (version "3.10.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "trimesh" version))
+       (sha256
+        (base32 "0bw55cwxlxds0j54naijh64sdb0rkscx4i1fy0ql94h96kw2p2ir"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     (list python-numpy))
+    (native-inputs
+     (list python-coveralls
+           python-pyinstrument
+           python-pytest
+           python-pytest-cov))
+    (arguments
+     `(;; TODO: Get tests to work.
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-build
+           (lambda _
+             (substitute* "trimesh/resources/templates/blender_boolean.py"
+               (("\\$MESH_PRE")
+                "'$MESH_PRE'")))))))
+    (home-page "https://github.com/mikedh/trimesh")
+    (synopsis "Python library for loading and using triangular meshes")
+    (description
+     "Trimesh is a pure Python library for loading and using triangular meshes
+with an emphasis on watertight surfaces.  The goal of the library is to provide
+a full featured and well tested Trimesh object which allows for easy
+manipulation and analysis, in the style of the Polygon object in the Shapely
+library.")
+    (license license:expat)))
+
 (define-public python-pandas
   (package
     (name "python-pandas")
@@ -1120,3 +1160,26 @@ pandas notebooks, scripts, and libraries.  Unlike other distributed DataFrame
 libraries, Modin provides seamless integration and compatibility with existing
 pandas code.")
     (license license:asl2.0)))
+
+(define-public python-numpy-groupies
+  (package
+    (name "python-numpy-groupies")
+    (version "0.9.14")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "numpy_groupies" version))
+       (sha256
+        (base32 "000qz0z78rs3l6y0dd2vzvd2lx3mczm2762whwsdnhz6c35axdq1"))))
+    (build-system python-build-system)
+    (native-inputs
+     (list python-pytest
+           python-pytest-runner
+           python-numba
+           python-numpy))
+    (home-page "https://github.com/ml31415/numpy-groupies")
+    (synopsis "Tools for group-indexing operations: aggregated sum and more")
+    (description
+     "This package provides optimized tools for group-indexing operations:
+aggregated sum and more.")
+    (license license:bsd-3)))
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 3146cad933..3ca8041edf 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org>
 ;;; Copyright © 2013, 2014, 2015, 2016, 2020 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2016, 2017, 2019-2022 Marius Bakke <marius@gnu.org>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017, 2021 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2016, 2017, 2020 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
@@ -49,6 +49,8 @@
 ;;; Copyright © 2021 Alice Brenon <alice.brenon@ens-lyon.fr>
 ;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
 ;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+;;; Copyright © 2022 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -231,11 +233,15 @@ for adding, removing and dropping callbacks.")
        (uri (pypi-uri "aiohttp" version))
        (sha256
         (base32 "0y3m1dzl4h6frg8vys0fc3m83ijd1plfpihv3kvmxqadlphp2m7w"))
-       ;; TODO: Unbundle the llhttp sources.
-       ;; (modules '((guix build utils)))
-       ;; (snippet
-       ;;  '((delete-file-recursively "vendor")))
-       ))
+       (snippet
+        #~(begin
+            (use-modules ((guix build utils)))
+            ;; TODO: Unbundle the llhttp sources.
+            ;; (delete-file-recursively "vendor")
+            (delete-file "aiohttp/_helpers.c")
+            (delete-file "aiohttp/_http_parser.c")
+            (delete-file "aiohttp/_http_writer.c")
+            (delete-file "aiohttp/_websocket.c")))))
     (build-system python-build-system)
     (arguments
      '(#:phases
@@ -497,7 +503,7 @@ Model} (SAM) templates into AWS CloudFormation templates.")
 (define-public python-aws-xray-sdk
   (package
     (name "python-aws-xray-sdk")
-    (version "2.6.0")
+    (version "2.9.0")
     (home-page "https://github.com/aws/aws-xray-sdk-python")
     (source (origin
               (method git-fetch)
@@ -505,7 +511,7 @@ Model} (SAM) templates into AWS CloudFormation templates.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "12fzr0ylpa1lx3xr1x2f1jx8iiyzcr6g57fb9jign0j0lxdlbzpv"))))
+                "04fyik5axbilj2g9fzhhw8ch8xfn7iai3j6myk7z4g26m1mrhxsi"))))
     (build-system python-build-system)
     (arguments
      `(#:phases (modify-phases %standard-phases
@@ -519,6 +525,7 @@ Model} (SAM) templates into AWS CloudFormation templates.")
                                   "tests/ext/psycopg2/test_psycopg2.py"
                                   "tests/ext/pymysql/test_pymysql.py"
                                   "tests/ext/pynamodb/test_pynamodb.py"
+                                  "tests/ext/sqlalchemy_core/test_postgres.py"
                                   "tests/test_async_recorder.py"
 
                                   ;; FIXME: Why is this failing?
@@ -527,6 +534,7 @@ Model} (SAM) templates into AWS CloudFormation templates.")
                                   ;; TODO: How to configure Django for these tests.
                                   "tests/ext/django/test_db.py"
                                   "tests/ext/django/test_middleware.py"
+                                  "tests/ext/django/test_settings.py"
 
                                   ;; These tests want to access httpbin.org.
                                   "tests/ext/requests/test_requests.py"
@@ -536,7 +544,13 @@ Model} (SAM) templates into AWS CloudFormation templates.")
                     (lambda _
                       ;; Allow "import tests.utils" to work as expected.
                       (setenv "PYTHONPATH" (getcwd))
-                      (invoke "pytest" "-vv" "tests"))))))
+                      (invoke "pytest" "-vv" "tests"
+                              "-k"
+                              ;; These tests fail because "fixture 'benchmark'
+                              ;; not found"
+                              (string-append
+                               "not test_pkgutil_static_read"
+                               " and not test_pkg_resources_static_read")))))))
     (native-inputs
      (list ;; These are required for the test suite.
            python-bottle
@@ -2860,36 +2874,43 @@ supports url redirection and retries, and also gzip and deflate decoding.")
   (package
     ;; Note: updating awscli typically requires updating botocore as well.
     (name "awscli")
-    (version "1.21.11")
+    (version "1.22.90")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri name version))
        (sha256
         (base32
-         "0fkivwbx4nind5b7l4jhqm5bb9drgqsclcslrg4aggf9rcs4g4s0"))))
+         "0ky4ax4xh7s8w1l0hwc7w9ii8afvh9nib3kz09qhiqdinxzrlv54"))))
     (build-system python-build-system)
     (arguments
      ;; FIXME: The 'pypi' release does not contain tests.
      '(#:tests? #f
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'fix-reference-to-groff
+         (add-after 'unpack 'use-recent-pyyaml
            (lambda _
+             (substitute* '("awscli.egg-info/requires.txt"
+                            "setup.cfg"
+                            "setup.py")
+               (("<5.5") "<=6"))))
+         (add-after 'unpack 'fix-reference-to-groff
+           (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "awscli/help.py"
                (("if not self._exists_on_path\\('groff'\\):") "")
                (("raise ExecutableNotFoundError\\('groff'\\)") "")
                (("cmdline = \\['groff'")
-                (string-append "cmdline = ['" (which "groff") "'"))))))))
-    (propagated-inputs
-     (list python-colorama-for-awscli
+                (string-append "cmdline = ['"
+                               (search-input-file inputs "bin/groff")
+                               "'"))))))))
+    (inputs
+     (list groff
+           python-colorama-for-awscli
            python-botocore
            python-s3transfer
            python-docutils-0.15
            python-pyyaml
            python-rsa))
-    (native-inputs
-     (list groff))
     (home-page "https://aws.amazon.com/cli/")
     (synopsis "Command line client for AWS")
     (description "AWS CLI provides a unified command line interface to the
@@ -5026,8 +5047,7 @@ without requiring a page refresh.")
          (add-after 'unpack 'use-urllib3
            (lambda _
              (substitute* "port_for/_download_ranges.py"
-               (("urllib2") "urllib3"))
-             #t)))))
+               (("urllib2") "urllib3")))))))
     (propagated-inputs
      (list python-urllib3))
     (native-inputs
@@ -5043,14 +5063,14 @@ association.")
 (define-public python-livereload
   (package
     (name "python-livereload")
-    (version "2.6.1")
+    (version "2.6.3")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "livereload" version))
        (sha256
         (base32
-         "0rhggz185bxc3zjnfpmhcvibyzi86i624za1lfh7x7ajsxw4y9c9"))))
+         "0scqjnhg3ap81v36ghp0pik774dnfdkwqsx5j1jfbzarbs32yvvp"))))
     (build-system python-build-system)
     (propagated-inputs
      (list python-six python-tornado))
@@ -6192,12 +6212,20 @@ communicate with Microsoft Azure Storage services.")
      (origin
        (method url-fetch)
        (uri (pypi-uri "w3lib" version))
+       (patches (search-patches "python-w3lib-fix-test-failure.patch"))
        (sha256
         (base32
          "1pv02lvvmgz2qb61vz1jkjc04fgm4hpfvaj5zm4i3mjp64hd1mha"))))
     (build-system python-build-system)
+    (arguments
+     `(#:phases
+        (modify-phases %standard-phases
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "pytest")))))))
     (native-inputs
-     (list python-six))
+     (list python-pytest python-six))
     (home-page "https://github.com/scrapy/w3lib")
     (synopsis "Python library of web-related functions")
     (description
@@ -6391,3 +6419,53 @@ Full documentation may be found at
     (description "This package provides @code{Tweepy}, an easy-to-use Python
 library for accessing the Twitter API.")
     (license license:expat)))
+
+(define-public python-quart
+  (package
+    (name "python-quart")
+    (version "0.17.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "Quart" version))
+       (sha256
+        (base32 "0h4n2dwzmqifya1razp9s7ppr4ra23ljac9v7sl039rzp3c17wic"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     (list hypercorn
+           python-aiofiles
+           python-blinker
+           python-click
+           python-itsdangerous
+           python-jinja2
+           python-markupsafe
+           python-toml
+           python-werkzeug))
+    (home-page "https://gitlab.com/pgjones/quart/")
+    (synopsis "Python ASGI web microframework with the same API as Flask")
+    (description
+     "This package provides a Python ASGI web microframework with the same API
+as Flask.")
+    (license license:expat)))
+
+(define-public python-ajsonrpc
+  (package
+    (name "python-ajsonrpc")
+    (version "1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ajsonrpc" version))
+       (sha256
+        (base32 "17x1a4r4l428mhwn53abki9gzdzq3halyr4lj48fw3dzy0caq6vr"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     (list python-quart
+           python-sanic
+           python-tornado))
+    (home-page "https://github.com/pavlov99/ajsonrpc")
+    (synopsis "Async JSON-RPC 2.0 protocol and server")
+    (description
+     "This package provides a Python JSON-RPC 2.0 protocol and server powered
+by asyncio.")
+    (license license:expat)))
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 5591210fce..a1e7ca1c0c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
 ;;; Copyright © 2015 Omar Radwan <toxemicsquire4@gmail.com>
 ;;; Copyright © 2015 Pierre-Antoine Rault <par@rigelk.eu>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015, 2016, 2020 Christine Lemmer-Webber <cwebber@dustycloud.org>
 ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
 ;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
@@ -118,6 +118,8 @@
 ;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org>
 ;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com>
 ;;; Copyright © 2022 drozdov <drozdov@portalenergy.tech>
+;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
+;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1262,6 +1264,29 @@ and verifies that it matches the intended target hostname.")
 for working with bidirectional mappings in Python.")
     (license license:mpl2.0)))
 
+(define-public python-bip39
+  (package
+    (name "python-bip39")
+    (version "0.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "bip39" version))
+       (sha256
+        (base32 "18m7d3gi7vj2zi0bl1z7m0nhcj6i8j9vj4vil276siagnpkv64ry"))))
+    (build-system python-build-system)
+    (native-inputs (list python-pytest))
+    (home-page "https://github.com/de-centralized-systems/python-bip39/")
+    (synopsis "Self-contained and simple BIP39 implementation in Python")
+    (description
+     "This package provides a self-contained and simple BIP39
+implementation written in Python.  It includes a @code{bip39.py} executable.
+
+BIP39 is a standardized mapping between binary data (the @emph{entropy}),
+and a list of words that are easier to remember for humans (the
+@emph{mnemonic}).")
+    (license license:expat)))
+
 (define-public python-bitarray
   (package
     (name "python-bitarray")
@@ -1349,14 +1374,14 @@ NetCDF files can also be read and modified.  Python-HDF4 is a fork of
 (define-public python-h5py
   (package
     (name "python-h5py")
-    (version "2.10.0")
+    (version "3.6.0")
     (source
      (origin
       (method url-fetch)
       (uri (pypi-uri "h5py" version))
       (sha256
        (base32
-        "0baipzv8n93m0dq0riyi8rfhzrjrfrfh8zqhszzp1j2xjac2fhc4"))))
+        "0afv805vqrm5071g7alwv41920nhh8kjv4m5nbia9awj9a0x4ll7"))))
     (build-system python-build-system)
     (arguments
      `(#:tests? #f ; no test target
@@ -1364,16 +1389,7 @@ NetCDF files can also be read and modified.  Python-HDF4 is a fork of
        (modify-phases %standard-phases
          (add-after 'unpack 'fix-hdf5-paths
           (lambda* (#:key inputs #:allow-other-keys)
-            (let ((prefix (assoc-ref inputs "hdf5")))
-              (substitute* "setup_build.py"
-                (("\\['/opt/local/lib', '/usr/local/lib'\\]")
-                 (string-append "['" prefix "/lib" "']"))
-                (("'/opt/local/include', '/usr/local/include'")
-                 (string-append "'" prefix "/include" "'")))
-              (substitute* "setup_configure.py"
-                (("\\['/usr/local/lib', '/opt/local/lib'\\]")
-                 (string-append "['" prefix "/lib" "']")))
-              #t))))))
+            (setenv "HDF5_DIR" (assoc-ref inputs "hdf5")))))))
     (propagated-inputs
      (list python-six python-numpy))
     (inputs
@@ -1388,10 +1404,21 @@ HDF5 library from Python.  The low-level interface is intended to be a
 complete wrapping of the HDF5 API, while the high-level component supports
 access to HDF5 files, datasets and groups using established Python and NumPy
 concepts.")
-    (license license:bsd-3)))
+    (license license:bsd-3)
+    (properties `((python2-variant . ,(delay python2-h5py))))))
 
 (define-public python2-h5py
-  (package-with-python2 python-h5py))
+  (let ((base (package-with-python2 (strip-python2-variant python-h5py))))
+    (package
+      (inherit base)
+      (version "2.10.0")
+      (source
+       (origin
+         (method url-fetch)
+         (uri (pypi-uri "h5py" version))
+         (sha256
+          (base32
+           "0baipzv8n93m0dq0riyi8rfhzrjrfrfh8zqhszzp1j2xjac2fhc4")))))))
 
 (define-public python-hnswlib
   (package
@@ -3882,14 +3909,14 @@ environments and back.")
 (define-public python-pyyaml
   (package
     (name "python-pyyaml")
-    (version "5.4.1")
+    (version "6.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "PyYAML" version))
        (sha256
         (base32
-         "0pm440pmpvgv5rbbnm8hk4qga5a292kvlm1bh3x2nwr8pb5p8xv0"))))
+         "18imkjacvpxfgg1lbpraqywx3j7hr5dv99d242byqvrh2jf53yv8"))))
     (build-system python-build-system)
     (inputs
      (list libyaml python-cython))
@@ -3900,10 +3927,33 @@ environments and back.")
 complete YAML 1.1 parser, Unicode support, pickle support, capable extension
 API, and sensible error messages.  PyYAML supports standard YAML tags and
 provides Python-specific tags that represent an arbitrary Python object.")
-    (license license:expat)))
+    (license license:expat)
+    (properties `((python2-variant . ,(delay python2-pyyaml))))))
+
+(define-public python-pyyaml-5
+  (package
+    (inherit python-pyyaml)
+    (version "5.4.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "PyYAML" version))
+       (sha256
+        (base32
+         "0pm440pmpvgv5rbbnm8hk4qga5a292kvlm1bh3x2nwr8pb5p8xv0"))))))
 
 (define-public python2-pyyaml
-  (package-with-python2 python-pyyaml))
+  (let ((base (package-with-python2 (strip-python2-variant python-pyyaml))))
+    (package
+      (inherit base)
+      (version "5.4.1")
+      (source
+       (origin
+         (method url-fetch)
+         (uri (pypi-uri "PyYAML" version))
+         (sha256
+          (base32
+           "0pm440pmpvgv5rbbnm8hk4qga5a292kvlm1bh3x2nwr8pb5p8xv0")))))))
 
 (define-public python-vine
   (package
@@ -4671,7 +4721,7 @@ ecosystem, but can naturally be used also by other projects.")
 (define-public python-robotframework
   (package
     (name "python-robotframework")
-    (version "4.1.3")
+    (version "5.0")
     ;; There are no tests in the PyPI archive.
     (source
      (origin
@@ -4681,55 +4731,80 @@ ecosystem, but can naturally be used also by other projects.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0j71awmfkwk7prz82kr1zbcl3nrih3396sshrygnqlrdjmgivd3p"))
+        (base32 "0qcm36c8hachbv3bc05ky7cf63i3sj0y8dw3bwjvcln28i543f81"))
        (patches (search-patches
-                 "python-robotframework-source-date-epoch.patch"
-                 "python-robotframework-ug2html.patch"))))
+                 "python-robotframework-atest.patch"
+                 "python-robotframework-source-date-epoch.patch"))))
     (build-system python-build-system)
     (arguments
-     `(#:modules ((guix build python-build-system)
+     (list
+      #:modules '((guix build python-build-system)
                   (guix build utils)
                   (ice-9 ftw)
                   (ice-9 match)
                   (srfi srfi-26))
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'build 'build-and-install-doc
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((doc (string-append (assoc-ref outputs "doc")
-                                       "/share/doc/robotframework")))
-               (invoke "invoke" "library-docs" "all")
-               (invoke "doc/userguide/ug2html.py" "dist") ;user guide
-               (mkdir-p doc)
-               (with-directory-excursion "dist"
-                 (define user-guide-dir
-                   (match (scandir "." (cut string-prefix?
-                                            "robotframework-userguide-" <>))
-                     ((dir) dir)
-                     (_ (error "could not find the user guide directory"))))
-                 (copy-recursively user-guide-dir doc)))))
-         (replace 'check
-           (lambda* (#:key native-inputs inputs tests?
-                     #:allow-other-keys)
-             (when tests?
-               ;; Some tests require timezone data.  Otherwise, they
-               ;; look up /etc/localtime, which doesn't exist, and
-               ;; fail with:
-               ;;
-               ;; OverflowError: mktime argument out of range
-               (setenv "TZDIR"
-                       (search-input-directory
-                        (or native-inputs inputs) "share/zoneinfo"))
-               (setenv "TZ" "Europe/Paris")
-               (invoke "python" "utest/run.py")))))))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'delete-problematic-tests
+            (lambda _
+              ;; Tests such as 'Tilde and username in path' rely on HOME and
+              ;; USER being set, on top of the user's /etc/passwd home
+              ;; directory not being '/', as is the case in the Guix build
+              ;; container.
+              (delete-file "atest/robot/standard_libraries/\
+operating_system/path_expansion.robot")
+              ;; FIXME: The test 'Process.Sending Signal.By default signal
+              ;; is not sent to process running in shell' fails for unknown
+              ;; reason (see:
+              ;; https://github.com/robotframework/robotframework/issues/4292).
+              (delete-file "atest/robot/standard_libraries/\
+process/sending_signal.robot")))
+          (add-before 'build 'build-and-install-doc
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let ((doc (string-append (assoc-ref outputs "doc")
+                                        "/share/doc/robotframework")))
+                (invoke "invoke" "library-docs" "all")
+                (invoke "doc/userguide/ug2html.py" "dist") ;user guide
+                (mkdir-p doc)
+                (with-directory-excursion "dist"
+                  (define user-guide-dir
+                    (match (scandir "." (cut string-prefix?
+                                             "robotframework-userguide-" <>))
+                      ((dir) dir)
+                      (_ (error "could not find the user guide directory"))))
+                  (copy-recursively user-guide-dir doc)))))
+          (replace 'check
+            (lambda* (#:key native-inputs inputs tests?
+                      #:allow-other-keys)
+              (when tests?
+                ;; Some tests require timezone data.  Otherwise, they
+                ;; look up /etc/localtime, which doesn't exist, and
+                ;; fail with:
+                ;;
+                ;; OverflowError: mktime argument out of range
+                (setenv "TZDIR"
+                        (search-input-directory
+                         (or native-inputs inputs) "share/zoneinfo"))
+                (setenv "TZ" "Europe/Paris")
+
+                (format #t "Running unit tests...~%")
+                (invoke "utest/run.py")
+
+                (format #t "Running acceptance tests...~%")
+                (invoke "xvfb-run" "atest/run.py")))))))
     (native-inputs
-     `(("python-docutils" ,python-docutils)
-       ("python-jsonschema" ,python-jsonschema)
-       ("python-invoke" ,python-invoke)
-       ("python-pygments" ,python-pygments)
-       ("python-rellu" ,python-rellu)
-       ("python:tk" ,python "tk")       ;used when building the HTML doc
-       ("tzdata" ,tzdata-for-tests)))
+     (list python-docutils
+           python-jsonschema
+           python-invoke
+           python-lxml
+           python-pygments
+           python-pyyaml
+           python-rellu
+           `(,python "tk")              ;used when building the HTML doc
+           python-xmlschema
+           scrot                        ;for taking screenshots
+           tzdata-for-tests
+           xvfb-run))
     (outputs '("out" "doc"))
     (home-page "https://robotframework.org")
     (synopsis "Generic automation framework")
@@ -4814,6 +4889,38 @@ data files in the CSV, XLS or XLSX formats.")
 utility, a static analysis tool (linter) for Robot Framework source files.")
       (license license:asl2.0))))
 
+(define-public python-robotframework-pabot
+  (package
+    (name "python-robotframework-pabot")
+    (version "2.5.2")
+    (source
+     (origin
+       ;; There are no tests in the PyPI archive.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/mkorpela/pabot")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "14a8isq1f4lgfwjb84hhzg6jm7ns18dxa9bg6dy8k2ml8zl0qknk"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases #~(modify-phases %standard-phases
+                   (replace 'check
+                     (lambda* (#:key tests? #:allow-other-keys)
+                       (when tests?
+                         (invoke "pytest" "-vv" "tests")))))))
+    (propagated-inputs
+     (list python-robotframework python-robotframework-stacktrace))
+    (native-inputs
+     (list python-pytest))
+    (home-page "https://pabot.org")
+    (synopsis "Parallel test runner for Robot Framework")
+    (description "Pabot is a parallel executor for Robot Framework tests.")
+    (license license:asl2.0)))
+
 (define-public python-robotframework-stacktrace
   (package
     (name "python-robotframework-stacktrace")
@@ -7250,17 +7357,17 @@ a general image processing tool.")
   (package
     (inherit python-pillow)
     (name "python-pillow-simd")
-    (version "9.0.0")
+    (version "9.0.0.post1")
     ;; The PyPI tarball does not include test files.
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/uploadcare/pillow-simd")
-             (commit version)))
+             (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0pxvfyzxzgk18mhm7xh5n19s88bpwaah5cm60p4c239phspzprdb"))))
+        (base32 "1dnvsln451aw3qy2cxg2ndd5mcanf5nrhxw9l7mcam730635hdm9"))))
     (inputs
      (modify-inputs (package-inputs python-pillow)
        (prepend libraqm libimagequant)))
@@ -7561,7 +7668,17 @@ formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.")
               (uri (pypi-uri "PyWavelets" version))
               (sha256
                (base32
-                "13csbr6ls9q9ww53z2xwwsj0hpsz88rj2iwp623h0kmv8yq6kgbc"))))
+                "13csbr6ls9q9ww53z2xwwsj0hpsz88rj2iwp623h0kmv8yq6kgbc"))
+              (snippet
+               #~(begin
+                   (use-modules ((guix build utils)))
+                   (for-each delete-file
+                             (list
+                               "pywt/_extensions/_cwt.c"
+                               "pywt/_extensions/_dwt.c"
+                               "pywt/_extensions/_pywt.c"
+                               "pywt/_extensions/_pywt.h"
+                               "pywt/_extensions/_swt.c"))))))
     (build-system python-build-system)
     (arguments
      '(#:modules ((ice-9 ftw)
@@ -7579,7 +7696,8 @@ formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.")
                (with-directory-excursion (string-append cwd "/build/" libdir)
                  (invoke "pytest" "-vv"))))))))
     (native-inputs
-     (list python-matplotlib ;for tests
+     (list python-cython
+           python-matplotlib ;for tests
            python-pytest))
     (propagated-inputs
      (list python-numpy))
@@ -9811,6 +9929,58 @@ more advanced mathematics.")
 multiprecision arithmetic.")
     (license license:lgpl3+)))
 
+(define-public python-plac
+  (package
+    (name "python-plac")
+    (version "1.3.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "plac" version))
+       (sha256
+        (base32 "1410h6jw1ksi24kb55xzkwqzba2qqjwiga1s354bf3s5s1jdig9q"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-tkinter
+           (lambda _
+             (substitute* "plac_tk.py"
+               (("from Tkinter import Tk")
+                "from tkinter import Tk")
+               (("from ScrolledText import ScrolledText")
+                "from tkinter.scrolledtext import ScrolledText")))))))
+    (native-inputs
+     `(("python-tkinter" ,python "tk")))
+    (home-page "https://github.com/ialbert/plac")
+    (synopsis "Command line arguments parser")
+    (description "This package can generate command line parameters from
+function signatures.")
+    (license license:bsd-3)))
+
+(define-public python-yte
+  (package
+    (name "python-yte")
+    (version "1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "yte" version))
+       (sha256
+        (base32 "07hm1warpqi4ifqgkaz5sg887x4a44yhxafmpf835ywnpchg4s03"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'set-HOME
+           (lambda _ (setenv "HOME" "/tmp"))))))
+    (propagated-inputs (list python-plac python-pyyaml))
+    (home-page "https://github.com/koesterlab/yte")
+    (synopsis "YAML template engine with Python expressions")
+    (description
+     "This package provides a YAML template engine with Python expressions.")
+    (license license:expat)))
+
 (define-public python-sympy
   (package
     (name "python-sympy")
@@ -10677,6 +10847,34 @@ lints.")
 TODO notes checker plugin for flake8.")
     (license license:expat)))
 
+(define-public python-flake8-isort
+  (package
+    (name "python-flake8-isort")
+    (version "4.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "flake8-isort" version))
+        (sha256
+          (base32 "05r7z0j9rqgy0a9261bhisairrz6w8hy5hy5kf2mhvhfnx53056q"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "pytest" "-vv")))))))
+    (propagated-inputs (list python-flake8 python-isort python-testfixtures))
+    (native-inputs (list python-pytest))
+    (home-page "https://github.com/gforcada/flake8-isort")
+    (synopsis "Flake8 plugin integrating isort")
+    (description "This package provides a flake8 plugin that integrates isort,
+extending flake8 so that it can warn about badly sorted Python import
+directives.")
+    (license license:gpl2+)))
+
 (define-public python-autoflake
   (package
     (name "python-autoflake")
@@ -10903,6 +11101,25 @@ output.")
     (description "This package contains a list of Python Standard Libraries.")
     (license license:expat)))
 
+(define-public python-stopit
+  (package
+    (name "python-stopit")
+    (version "1.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "stopit" version))
+       (sha256
+        (base32 "0vcrcvky249q4rbgmwf18mwmnypfk8jpn4h6knyjf86r7xc9rwzp"))))
+    (build-system python-build-system)
+    (arguments '(#:tests? #f)) ;there are none
+    (home-page "https://pypi.python.org/pypi/stopit")
+    (synopsis "Timeout control decorator and context managers")
+    (description
+     "Raise asynchronous exceptions in other threads, control the timeout of
+blocks or callables with two context managers and two decorators.")
+    (license license:expat)))
+
 (define-public python-straight-plugin
   (package
     (name "python-straight-plugin")
@@ -11231,6 +11448,17 @@ reading and writing MessagePack data.")
     (home-page "https://pypi.org/project/msgpack/")
     (license license:asl2.0)))
 
+(define-public python-msgpack-1.0.2
+  (package
+    (inherit python-msgpack)
+    (version "1.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "msgpack" version))
+              (sha256
+               (base32
+                "1109s2yynrahwi64ikax68hx0mbclz8p35afmpphw5dwynb49q7s"))))))
+
 ;; This msgpack library's name changed from "python-msgpack" to "msgpack" with
 ;; release 0.5. Some packages like borg still call it by the old name for now.
 ;; <https://bugs.gnu.org/30662>
@@ -14080,13 +14308,12 @@ text.")
 (define-public python-moto
   (package
     (name "python-moto")
-    (version "2.2.12")
+    (version "3.1.4")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "moto" version))
               (sha256
-               (base32
-                "0pvay0jp119lzzwf5qj5h6311271yq0w2i6344ds20grpf6g6gz8"))))
+               (base32 "0dfnad1f9d5ybabs69dzc7x357z1r4jbhrhgw57gyic1qnmcw864"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -14109,7 +14336,9 @@ text.")
                         ;; These tests require Docker.
                         " and not test_terminate_job"
                         " and not test_invoke_function_from_sqs_exception"
-                        " and not test_rotate_secret_lambda_invocations"
+                        " and not test_create_custom_lambda_resource__verify_cfnresponse_failed"
+                        " and not test_lambda_function"
+
                         ;; These tests also require the network.
                         " and not test_put_record_batch_http_destination"
                         " and not test_put_record_http_destination"
@@ -14120,30 +14349,28 @@ text.")
      (list python-flask
            python-flask-cors
            python-freezegun
-           python-parameterized
+           python-graphql-core
            python-pytest
            python-sure))
     (inputs
      (list bash-minimal))
     (propagated-inputs
      (list python-aws-xray-sdk
-           python-boto
            python-boto3
            python-botocore
            python-cfn-lint
            python-cryptography
            python-dateutil
            python-docker
-           python-idna
+           python-importlib-metadata
            python-jinja2
            python-jose
            python-jsondiff
-           python-mock
+           python-markupsafe
            python-pytz
            python-pyyaml
            python-requests
            python-responses
-           python-six
            python-sshpubkeys
            python-werkzeug
            python-xmltodict))
@@ -14312,14 +14539,14 @@ servers.")
 (define-public python-jmespath
   (package
    (name "python-jmespath")
-   (version "0.9.4")
+   (version "1.0.0")
    (source
     (origin
      (method url-fetch)
      (uri (pypi-uri "jmespath" version))
      (sha256
       (base32
-       "0k0765x1mybcrzajh3hiqkl8sy9hs0bmn4900frxy0j3ykvaxqmx"))))
+       "0pmzfi230zfgiq2rz896kbb9f7mp0lnrjdl6x1npvxfixn0f5454"))))
    (build-system python-build-system)
    (native-inputs
     (list python-nose))
@@ -14462,14 +14689,14 @@ This software is unmaintained, and new projects should use @code{boto3} instead.
   ;; are compatible.
   (package
     (name "python-botocore")
-    (version "1.22.11")
+    (version "1.24.35")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "botocore" version))
        (sha256
         (base32
-         "1z7g2scyzvfq4yj9b4w911k7802ry1v6lqfnwq12l0ak7ywmsvrh"))))
+         "0rv8mvhq5s373zdjs2yb45hzvqcqdh2lp2rbb21jjc8ciwnl5d9n"))))
     (build-system python-build-system)
     (arguments
      ;; FIXME: Many tests are failing.
@@ -14488,7 +14715,7 @@ interface to the Amazon Web Services (AWS) API.")
 (define-public python-boto3
   (package
     (name "python-boto3")
-    (version "1.19.11")
+    (version "1.21.35")
     (home-page "https://github.com/boto/boto3")
     (source (origin
               (method git-fetch)
@@ -14496,14 +14723,18 @@ interface to the Amazon Web Services (AWS) API.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1wv0ci2z5ywvm63dh4mp64vqyyvkm4qxc8dxv8ncrqiiphpgr9aq"))))
+                "1kdyf238rpfldnpzs0rdh3nhjn6hwfym4faskyhzlgzkf1smmbg1"))))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'delete-network-tests
            ;; Deleting integration tests because they are trying to connect to AWS.
            (lambda _
-             (delete-file-recursively "tests/integration"))))))
+             (delete-file-recursively "tests/integration")))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "pytest" "-v")))))))
     (build-system python-build-system)
     (native-inputs
      (list python-nose python-mock python-pytest))
@@ -18460,14 +18691,14 @@ multitouch applications.")
 (define-public python-pycountry
   (package
     (name "python-pycountry")
-    (version "18.5.26")
+    (version "22.3.5")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "pycountry" version))
        (sha256
         (base32
-         "15q9j047s3yc9cfcxq1ch8b71f81na44cr6dydd5gxk0ki9a4akz"))))
+         "0ihnkh86zz01vi46gcwgq6h71jrpj7hq71zi13c98n2qdhj3l5mj"))))
     (build-system python-build-system)
     (home-page "https://bitbucket.org/flyingcircus/pycountry")
     (synopsis "ISO databases for languages, countries, currencies, etc.")
@@ -21898,15 +22129,15 @@ working with iterables.")
 (define-public python-latexcodec
   (package
     (name "python-latexcodec")
-    (version "1.0.7")
+    (version "2.0.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "latexcodec" version))
        (sha256
-        (base32 "0wnp3yqcgx0rpy8dz51vh75lbp2qif67da19zi7m3ca98n887hgb"))))
+        (base32 "16pynfnn8y8xp55yp06i721fccv5dlx9ba6k5bzcwq9j6wf5b8ia"))))
     (build-system python-build-system)
-    (inputs
+    (propagated-inputs
      (list python-six))
     (home-page "https://readthedocs.org/projects/latexcodec/")
     (synopsis "Work with LaTeX code in Python")
@@ -21916,17 +22147,17 @@ working with iterables.")
 (define-public python-pybtex
   (package
     (name "python-pybtex")
-    (version "0.22.2")
+    (version "0.24.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "pybtex" version))
        (sha256
-        (base32 "070wfcmxrd7xg1si421mi9150gmx2qwx431nwf69sq3hhmgnx080"))))
+        (base32 "0ma7sc10hk6caq5zghbk865vrlaynz7x5z630z0facqpnqssx3l1"))))
     (build-system python-build-system)
     (native-inputs
-     (list python-nose))
-    (inputs
+     (list python-pytest))
+    (propagated-inputs
      (list python-latexcodec python-pyyaml python-six))
     (arguments
      (list
@@ -21934,7 +22165,7 @@ working with iterables.")
                    (replace 'check
                      (lambda* (#:key tests? #:allow-other-keys)
                        (when tests?
-                         (invoke "nosetests")))))))
+                         (invoke "pytest")))))))
     (home-page "https://pybtex.org/")
     (synopsis "BibTeX-compatible bibliography processor")
     (description "Pybtex is a BibTeX-compatible bibliography processor written
@@ -22337,7 +22568,7 @@ user-space file systems in Python.")
 (define-public pybind11
   (package
     (name "pybind11")
-    (version "2.6.2")
+    (version "2.8.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -22345,7 +22576,7 @@ user-space file systems in Python.")
                     (commit (string-append "v" version))))
               (sha256
                (base32
-                "1lsacpawl2gb5qlh0cawj9swsyfbwhzhwiv6553a7lsigdbadqpy"))
+                "10hrkrh78sk7k0ydw1ghmp7gvpwmkby0l2s0kf2iaj9sz0vijkhs"))
               (file-name (git-file-name name version))))
     (build-system cmake-build-system)
     (native-inputs
@@ -22869,7 +23100,7 @@ N-dimensional arrays for Python.")
 (define-public python-anndata
   (package
     (name "python-anndata")
-    (version "0.7.8")
+    (version "0.8.0")
     (source
      (origin
        ;; The tarball from PyPi doesn't include tests.
@@ -22880,18 +23111,12 @@ N-dimensional arrays for Python.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1rrr9xfdaf00ixj5gyym75bl78gkaj55yfw3wjhvx0pdwqpwp9py"))))
+         "0v7npqrg1rdm8jzw22a45c0mqrmsv05r3k88i3lhzi0pzzxca1i1"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
          (delete 'check)
-         (add-before 'build 'relax-dependency-requirements
-           (lambda _
-             ;; We need to upgrade python-pandas to avoid
-             ;; https://github.com/pandas-dev/pandas/issues/35446
-             (substitute* "pyproject.toml"
-               (("pandas>=1.1.1") "pandas>=1.0.5"))))
          (replace 'build
            (lambda _
              (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" ,version)
@@ -28188,13 +28413,13 @@ systems in Python.")
 (define-public python-dotenv
   (package
     (name "python-dotenv")
-    (version "0.19.2")
+    (version "0.20.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "python-dotenv" version))
        (sha256
-        (base32 "0pv5ygpr6syc6zkw21in4ysqs3k7qaxk9m1g5pzlafwm3silkpm5"))))
+        (base32 "13s9imfd0k4d7b1qy5wfqzw5vyj6rhmcrccsdz1l4g39b55b1qxp"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -28212,7 +28437,7 @@ systems in Python.")
      (list python-click))
     (native-inputs
      (list python-mock python-pytest python-sh))
-    (home-page "https://github.com/theskumar/python-dotenv")
+    (home-page "https://saurabh-kumar.com/python-dotenv/")
     (synopsis "Setup environment variables according to .env files")
     (description
      "This package provides the @code{python-dotenv} Python module to read
@@ -29095,6 +29320,42 @@ multipurpose analysis in Python.")
 static types.")
     (license license:asl2.0)))
 
+(define-public python-psycopg2-binary
+  (package
+    (name "python-psycopg2-binary")
+    (version "2.9.3")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "psycopg2-binary" version))
+              (sha256
+               (base32
+                "0kpaxg3lg5wg5ww5kxmzi2z2d7arsx13ci915d8a2pf17lqza7bn"))))
+    (build-system python-build-system)
+    (inputs (list postgresql))
+    (arguments
+     ;; Tests are disable because they need a live instance of PostgreSQL.
+     '(#:tests? #f))
+    (home-page "https://psycopg.org/")
+    (synopsis "PostgreSQL database adapter for Python")
+    (description
+     "Psycopg is a PostgreSQL database adapter for the Python programming
+language.  Its main features are the complete implementation of the Python DB
+API 2.0 specification and the thread safety (several threads can share the
+same connection).  It was designed for heavily multi-threaded applications
+that create and destroy lots of cursors and make a large number of concurrent
+@code{INSERT}s or @code{UPDATE}s.
+
+Psycopg 2 is mostly implemented in C as a libpq wrapper, resulting in
+being both efficient and secure.  It features client-side and
+server-side cursors, asynchronous communication and notifications,
+@code{COPY TO}/@code{COPY FROM} support.  Many Python types are supported
+out-of-the-box and adapted to matching PostgreSQL data types;
+adaptation can be extended and customized thanks to a flexible objects
+adaptation system.
+
+Psycopg 2 is both Unicode and Python 3 friendly.")
+    (license license:lgpl3+)))
+
 (define-public python-pyfuse3
   (package
     (name "python-pyfuse3")
@@ -29227,3 +29488,148 @@ writing STL files.  It supports both the text and binary forms of STL.")
     (description
      "This package provides a streaming multipart parser for Python.")
     (license license:asl2.0)))
+
+(define-public python-aiopg
+  (package
+    (name "python-aiopg")
+    (version "1.3.3")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "aiopg" version))
+              (sha256
+               (base32
+                "1mwmypsfzh8adjbyvf7kqv9h3k1kf5ykhi1g3ahw4wqdxaj6nz2l"))))
+    (build-system python-build-system)
+    (native-inputs (list python-sqlalchemy))
+    (propagated-inputs (list python-async-timeout python-psycopg2-binary))
+    (home-page "https://aiopg.readthedocs.io")
+    (synopsis "Postgres integration with asyncio")
+    (description
+     "aiopg is a library for accessing a PostgreSQL
+database from the asyncio (PEP-3156/tulip) framework.  It wraps
+asynchronous features of the Psycopg database driver.")
+    (license license:bsd-3)))
+
+(define-public python-verspec
+  (package
+    (name "python-verspec")
+    (version "0.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "verspec" version))
+              (sha256
+               (base32
+                "07n06wv85fm4vl1ird2mja0823js3x322wgs9gdnq1djjyk4ql64"))))
+    (build-system python-build-system)
+    (native-inputs (list python-coverage python-flake8 python-mypy
+                         python-pretend python-pytest))
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+                      (when tests?
+                        (add-installed-pythonpath inputs outputs)
+                        (invoke "touch" "test/__init__.py")
+                        (invoke "pytest")))))))
+    (home-page "https://github.com/jimporter/verspec")
+    (synopsis "Flexible version handling for Python")
+    (description
+     "This Python library handles software versions and specifiers.  It is
+adapted from the @code{packaging} package.")
+    (license (list license:bsd-2 license:asl2.0))))
+
+(define-public python-shtab
+  (package
+    (name "python-shtab")
+    (version "1.5.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "shtab" version))
+        (sha256
+          (base32 "127mymfm7r0hddk2vknqq34fj6dirj6ip990i3g4isx0lsd7pnsc"))))
+    (build-system python-build-system)
+    (native-inputs
+      (list bash
+            python-pytest
+            python-pytest-cov
+            python-pytest-timeout
+            python-setuptools-scm
+            python-wheel))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace
+             'check
+           (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+             (when tests?
+               (add-installed-pythonpath inputs outputs)
+               (invoke "pytest")))))))
+    (home-page "https://github.com/iterative/shtab")
+    (synopsis "Automagic shell tab completion for Python CLI applications")
+    (description
+      "This package automatically generates shell tab completion scripts for
+Python CLI apps.")
+    (license license:asl2.0)))
+
+(define-public python-sre-yield
+  (package
+    (name "python-sre-yield")
+    (version "1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "sre_yield" version))
+       (sha256
+        (base32
+         "12kv3mvdr22g2v9wfr5aabh1f58s817dbh8mrlfzxzxs7hm1lkz9"))))
+    (build-system python-build-system)
+    (native-inputs (list python-nose))
+    (home-page "https://github.com/google/sre_yield")
+    (synopsis "Expands a regular expression to its possible matches")
+    (description
+     "The goal of sre_yield is to efficiently generate all values that can
+match a given regular expression, or count possible matches efficiently. It
+uses the parsed regular expression, so you get a much more accurate result
+than trying to just split strings.")
+    (license license:asl2.0)))
+
+(define-public python-hypy-utils
+  (package
+    (name "python-hypy-utils")
+    (version "1.0.6")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "hypy_utils" version))
+              (sha256
+               (base32
+                "05csk0x8ivavq88x457cq5hwjcdirfbkzj7bbg5qgnpnf2dxxhiw"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/hykilpikonna/HyPyUtils")
+    (synopsis "Python utility functions for HyDEV")
+    (description "This module provides Python utility functions for modifying
+and setting the color of terminal output, via HyDEV.")
+    (license license:expat)))
+
+(define-public python-mike
+  (package
+    (name "python-mike")
+    (version "1.1.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "mike" version))
+              (sha256
+               (base32
+                "0yxp816x7s948xsd0fifvq9shg01xdxlifd9rzf5y2rd9iwz3hsn"))))
+    (build-system python-build-system)
+    (native-inputs
+     (list python-coverage python-flake8 python-shtab))
+    (propagated-inputs
+     (list python-jinja2 python-mkdocs python-pyyaml python-verspec))
+    (home-page "https://github.com/jimporter/mike")
+    (synopsis "Manage multiple versions of MkDocs-powered documentation")
+    (description
+     "This package provides a Python utility to easily deploy multiple
+versions of MkDocs-powered docs to a Git branch.  It is suitable for deploying
+to Github via gh-pages.")
+    (license license:bsd-3)))
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index dfc274a1de..aa0406b324 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -329,6 +329,59 @@ defined radio hardware devices with a common API.")
 SoapySDR library.")
     (license license:expat)))
 
+(define-public soapyaudio
+  ;; Use commit directly because fixes for recent hamlib are not in the latest
+  ;; release (0.1.1).
+  (let ((commit "79129c9bb98deca3294c05108fdc545579af6418")
+        (revision "0"))
+    (package
+      (name "soapyaudio")
+      (version (git-version "0.1.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/pothosware/SoapyAudio")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0mrcnd3k0j599x3k93dkpi5zgr0l7nblz8am9f0s6zs3dikfncvb"))
+         (modules '((guix build utils)))
+         (snippet
+          '(begin
+             ;; Delete bundled rtaudio.
+             (delete-file-recursively "RtAudio")))))
+      (build-system cmake-build-system)
+      (native-inputs
+       (list pkg-config))
+      (inputs
+       (list alsa-lib
+             hamlib
+             jack-1
+             libusb
+             pulseaudio
+             rtaudio
+             soapysdr))
+      (arguments
+       `(#:configure-flags '("-DUSE_HAMLIB=ON")
+         #:tests? #f  ; No test suite
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'fix-rtaudio-detection
+             ;; CMake only finds rtaudio if it looks for it before looking
+             ;; for hamlib, not sure why...
+             (lambda _
+               (substitute* "CMakeLists.txt"
+                 (("option\\(USE_HAMLIB OFF" all)
+                  (string-append "find_package(RtAudio)\n" all))))))))
+      (home-page "https://github.com/pothosware/SoapyAudio/wiki")
+      (synopsis "SoapySDR module for audio devices")
+      (description
+       "This package provides support for sound card devices to the SoapySDR
+library.  It also adds hamlib support, which provides basic gain and frequency
+controls for certain tuners which may be paired with an audio device.")
+      (license license:expat))))
+
 (define-public soapyhackrf
   (package
     (name "soapyhackrf")
diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm
index 6f8d673694..87f29c5424 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -487,8 +487,17 @@ conflict with slocate compatibility.")
     (arguments
      `(#:configure-flags
        (list
-        (string-append
-         "--sharedstatedir=" (assoc-ref %outputs "out") "/var"))))
+        ;; Put the database in /var/cache/plocate.db
+        "--sharedstatedir=/var"
+        "-Dinstall_systemd=false"
+        "-Ddbpath=cache/plocate.db")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-cachedirtag
+           (lambda _
+             (substitute* "meson.build"
+               ;; Remove the script adding a "cachedirtag"
+               (("meson.add_install_script") "#")))))))
     (inputs
      (list liburing
            `(,zstd "lib")))
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index 129b8f6122..2cc1fa38c0 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -38,6 +38,7 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix gexp)
+  #:use-module (guix utils)
   #:use-module (guix git-download)
   #:use-module (guix build-system cargo)
   #:use-module (guix build-system cmake)
@@ -903,14 +904,16 @@ phone is required.")
        (file-name (git-file-name name version))
        (sha256 (base32 "12zy4cnlcffcb64lsx8198y09j1dwi0bcn9rr82q6i1k950yzd3p"))))
     (native-inputs (list pkg-config))
-    (inputs
-     `(("zlib" ,zlib)
-       ("udev" ,eudev)
-       ("libcbor" ,libcbor)
-       ("openssl" ,openssl)))
+    (inputs (list eudev libcbor openssl zlib))
     (build-system cmake-build-system)
     (arguments
-     '(#:phases
+     `(#:configure-flags
+       (list (string-append
+               "-DPKG_CONFIG_EXECUTABLE="
+               (search-input-file %build-inputs
+                                  (string-append
+                                    "/bin/" ,(pkg-config-for-target)))))
+       #:phases
        (modify-phases %standard-phases
          ;; regress tests enabled only for debug builds
          (delete 'check))))
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index dda670d237..3a48bc7dbf 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -18,7 +18,7 @@
 ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2021, 2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
-;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2021, 2022 Felix Gruber <felgru@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -834,14 +834,20 @@ Shell (pdksh).")
 (define-public oil
   (package
     (name "oil")
-    (version "0.9.7")
+    (version "0.9.9")
     (source
+     ;; oil's sources contain a modified version of CPython 2.7.13.
+     ;; According to https://www.oilshell.org/blog/2017/05/05.html
+     ;; this bundles version of CPython had certain unused parts removed
+     ;; and its build system has been replaced by a custom one.
+     ;; This would probably make it quite complicated to replace the
+     ;; bundled CPython with the one from the python2 package.
      (origin
        (method url-fetch)
        (uri (string-append "https://www.oilshell.org/download/oil-"
                            version ".tar.gz"))
        (sha256
-        (base32 "09ill1wks8gmixfc648wx25wx0wzlgkjj34bbpglx496i6yp81aw"))))
+        (base32 "1ymszq0wy7sy709yqx8dpmv7b37fkc57bdg02ah2gnjbvbk6s2z1"))))
     (build-system gnu-build-system)
     (arguments
      (list #:strip-binaries? #f         ; strip breaks the binary
diff --git a/gnu/packages/sml.scm b/gnu/packages/sml.scm
index 1d1ccf6d8c..04411c02c3 100644
--- a/gnu/packages/sml.scm
+++ b/gnu/packages/sml.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2017, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org>
-;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
+;;; Copyright © 2021, 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -35,7 +35,7 @@
 (define-public polyml
   (package
     (name "polyml")
-    (version "5.8.2")
+    (version "5.9")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -44,16 +44,14 @@
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1y3i919kzylvhwfsi6adnc0ah0xahl6ncna0g5bcjyhxsq2416rn"))))
+                "0hhij8y0kvchg9rarzrcr9i0f629s2chbg258b0jscicjv9ghi6w"))))
     (build-system gnu-build-system)
     (inputs
      (list gmp lesstif libffi libx11 libxt))
     (arguments
      '(#:configure-flags
-       (list "--with-system-libffi=yes"
-             "--with-x=yes"
-             "--with-threads=yes"
-             "--with-gmp=yes")
+       (list "--with-gmp"
+             "--with-x")
        #:phases
        (modify-phases %standard-phases
          (add-after 'build 'build-compiler
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index f849107cfe..244a2f3ecb 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -203,7 +203,7 @@ This package also provides @command{xls2csv} to export Excel files to CSV.")
 (define r-with-tests
   (package
     (name "r-with-tests")
-    (version "4.1.2")
+    (version "4.1.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://cran/src/base/R-"
@@ -211,7 +211,7 @@ This package also provides @command{xls2csv} to export Excel files to CSV.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1brqmc7mmb0z94kcs4crgl6v9a6sxhm9fm3y177d81vjkxg24di0"))))
+                "1mpy4sar1amx5ai9rqr9s0nw8p65iqfrqbm5n9h402b17hrmpzqm"))))
     (build-system gnu-build-system)
     (arguments
      `(#:disallowed-references (,tzdata-for-tests)
@@ -493,14 +493,14 @@ D.V. Hinkley (1997, CUP), originally written by Angelo Canty for S.")
 (define-public r-mass
   (package
     (name "r-mass")
-    (version "7.3-55")
+    (version "7.3-56")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "MASS" version))
        (sha256
         (base32
-         "191i1iylvh2w2hi99fnm06731lma7z5snpjknfff1m9ziyy9qab5"))))
+         "11gv5965ba6xr4qsp1945vd39rp0sggzpa103rwj1c5hw0abvnlv"))))
     (properties `((upstream-name . "MASS")))
     (build-system r-build-system)
     (home-page "http://www.stats.ox.ac.uk/pub/MASS4/")
@@ -536,14 +536,14 @@ k-nearest neighbour, Learning Vector Quantization and Self-Organizing Maps.")
 (define-public r-cluster
   (package
     (name "r-cluster")
-    (version "2.1.2")
+    (version "2.1.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "cluster" version))
        (sha256
         (base32
-         "168l653ygkg21fwrqrf7lsqi5p6jzhgmcvhrwv7lznkdzdhag2jw"))))
+         "1ab466lniykz2a6kdnrbkk7hwair79xfmy6cqvhc8d6nana7mbd3"))))
     (build-system r-build-system)
     (native-inputs
      (list gfortran))
@@ -641,14 +641,14 @@ also flexible enough to handle most nonstandard requirements.")
 (define-public r-matrix
   (package
     (name "r-matrix")
-    (version "1.4-0")
+    (version "1.4-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "Matrix" version))
        (sha256
         (base32
-         "1xh62bwcly1blpvnagbhjym1qgw87yir3c72ylhvcla05rq67d62"))))
+         "0zigzgx4dv7ydcyppr5ypna9dxi9vzi944pgy07jnj4l3qflzcj2"))))
     (properties `((upstream-name . "Matrix")))
     (build-system r-build-system)
     (propagated-inputs
@@ -663,13 +663,13 @@ and operations on them using LAPACK and SuiteSparse.")
 (define-public r-nlme
   (package
     (name "r-nlme")
-    (version "3.1-155")
+    (version "3.1-157")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "nlme" version))
        (sha256
-        (base32 "0kzzpl63l298yy18x62ypgbhdw61fgm30lc4nlhjjhjj5220yfcz"))))
+        (base32 "0v6rw6d7mk1szi5bgs5m91k76hgwcb7r704xaypvlv6bkmra5wnx"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-lattice))
@@ -685,13 +685,13 @@ nonlinear mixed-effects models.")
 (define-public r-mgcv
   (package
    (name "r-mgcv")
-   (version "1.8-39")
+   (version "1.8-40")
    (source
     (origin
      (method url-fetch)
      (uri (cran-uri "mgcv" version))
      (sha256
-      (base32 "15h1k9qyn8s8xy4x2361mj42vdq8ml5xskzqpkc45zj1a3gss6w4"))))
+      (base32 "19g4lzxjw931s68ni7ii81jwi25sf19qs8nlw8r94crvdhk2grnv"))))
    (build-system r-build-system)
    (propagated-inputs
     (list r-matrix r-nlme))
@@ -995,13 +995,13 @@ algorithms.")
 (define-public r-magrittr
   (package
     (name "r-magrittr")
-    (version "2.0.2")
+    (version "2.0.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "magrittr" version))
        (sha256
-        (base32 "19k3q76qlri459iyyfgn9gl0w9lnv9v604yhpbc94nx71l6zvrkv"))))
+        (base32 "1ljmrrm36y31db5z4cl863ap8k3jcaxk0qzy3f0cn6iag4zzigx2"))))
     (build-system r-build-system)
     ;; knitr needs magrittr
     #;
@@ -1064,13 +1064,13 @@ in which the whole-plots or split-plots or both can be freely exchangeable.")
 (define-public r-plyr
   (package
     (name "r-plyr")
-    (version "1.8.6")
+    (version "1.8.7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "plyr" version))
        (sha256
-        (base32 "11sjjdn146w95s1vsfmmgdls082cbnm1slv98xvyjhsl2mpx4mga"))))
+        (base32 "0zz88q055c38b9xqzfg1mwm7ikxzlyx3pnk16sfa8dbh2pqxm7vx"))))
     (build-system r-build-system)
     (propagated-inputs (list r-rcpp))
     (home-page "http://had.co.nz/plyr")
@@ -1104,13 +1104,13 @@ prototype-based, rather than class-based object oriented ideas.")
 (define-public r-rcolorbrewer
   (package
     (name "r-rcolorbrewer")
-    (version "1.1-2")
+    (version "1.1-3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "RColorBrewer" version))
        (sha256
-        (base32 "1pfcl8z1pnsssfaaz9dvdckyfnnc6rcq56dhislbf571hhg7isgk"))))
+        (base32 "1h0s0f4vvlk40cagp3qwhd0layzkjcnqkiwjyhwqns257i1gahjg"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/RColorBrewer")
     (synopsis "ColorBrewer palettes")
@@ -1427,13 +1427,13 @@ adapted for other output formats, such as HTML or LaTeX.")
 (define-public r-formatr
   (package
     (name "r-formatr")
-    (version "1.11")
+    (version "1.12")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "formatR" version))
               (sha256
                (base32
-                "0353aj975mj0yjc91z76bbfy86y7d5cvlqqyfr93cdng14nnd0dx"))))
+                "12wch1774113nlrc0lihfn5rbh4hln9sg6dv6zc2bvyb8fzyyllb"))))
     (build-system r-build-system)
     (native-inputs
      (list r-knitr))
@@ -1537,13 +1537,13 @@ emitter (http://pyyaml.org/wiki/LibYAML) for R.")
 (define-public r-knitr
   (package
     (name "r-knitr")
-    (version "1.37")
+    (version "1.38")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "knitr" version))
               (sha256
                (base32
-                "0qyp78v3hz4qimlc3w4hj5dzp44n2w085ay0l1zvxsxs9142mk9r"))))
+                "1bg7nmd2bvfd2gscp4nly4a2c05bpgzq536bmmf93vaf860yhf6i"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-evaluate r-highr r-stringr r-xfun r-yaml))
@@ -1640,13 +1640,13 @@ you call it again with the same arguments it returns the pre-computed value.")
 (define-public r-crayon
   (package
     (name "r-crayon")
-    (version "1.5.0")
+    (version "1.5.1")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "crayon" version))
               (sha256
                (base32
-                "0m3rckps0c8v14h9vqnr81acv0az1jqwlsradcbkb2ndvnpjq4j4"))))
+                "1yaxwkmvjaillngfafgapakqjl6s86ly3j338f78xs58g0xwf9f0"))))
     (build-system r-build-system)
     (home-page "https://github.com/gaborcsardi/crayon")
     (synopsis "Colored terminal output for R")
@@ -1680,13 +1680,13 @@ R packages that praise their users.")
 (define-public r-testthat
   (package
     (name "r-testthat")
-    (version "3.1.2")
+    (version "3.1.3")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "testthat" version))
               (sha256
                (base32
-                "0ndnmv3gbhlsyqya382wqfkkhlrgpdjmh7mymsv6ja52ihbachgd"))))
+                "0c7whxl6zwapqzdplwplvhs73w9blb419h2mdl21pwmqjhzjaq68"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-brio
@@ -2310,14 +2310,14 @@ or source files in a key-value fashion.")
 (define-public r-batchjobs
   (package
     (name "r-batchjobs")
-    (version "1.8")
+    (version "1.9")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "BatchJobs" version))
        (sha256
         (base32
-         "1zz4sspj596pijxlz321g0jy2rg9ki83j6fihbwisjwr66p2vk1m"))))
+         "0xsw25j2ks9bqgz189qdcyj8hzz93snknlik83nj04s6vy0w7aax"))))
     (properties `((upstream-name . "BatchJobs")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2506,13 +2506,13 @@ functions make it easy to control additional request components.")
 (define-public r-git2r
   (package
     (name "r-git2r")
-    (version "0.29.0")
+    (version "0.30.1")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "git2r" version))
               (sha256
                (base32
-                "13nlrhma6kavvhranb43w3003vadfkyrn2f4l3r63iqavj0s3xzq"))))
+                "0h58djc9cim8iskkyhdxllbpf6ycl5zj9g4fp70k57k5qzfi7nc5"))))
     (build-system r-build-system)
     (inputs
      (list libgit2 zlib))
@@ -2721,13 +2721,13 @@ well as additional utilities such as panel and axis annotation functions.")
 (define-public r-rcpparmadillo
   (package
     (name "r-rcpparmadillo")
-    (version "0.10.8.1.0")
+    (version "0.11.0.0.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "RcppArmadillo" version))
               (sha256
                (base32
-                "1x7mk85rc4pmn17nm63k6rbkarsmghjapznias268545nfpib97g"))))
+                "13blvrlbw8194a96v38hnllnwvyhdw5x9m0dnkyw3xsi3jrhcxin"))))
     (properties `((upstream-name . "RcppArmadillo")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2790,14 +2790,14 @@ encoder/decoder, round-off-error-free sum and cumsum, etc.")
 (define-public r-rprojroot
   (package
     (name "r-rprojroot")
-    (version "2.0.2")
+    (version "2.0.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rprojroot" version))
        (sha256
         (base32
-         "07wy07yhms8zln9qb0iwx69dq08h4lrdi8kavjcplfxcskq638az"))))
+         "15zq606s544wmbvk5dw13xq0sspr9dsxyxlvzvn0r48f8x3l4q2h"))))
     (build-system r-build-system)
     (native-inputs
      (list r-knitr))
@@ -2907,13 +2907,13 @@ that package, other packages are unaffected.")
 (define-public r-blob
   (package
     (name "r-blob")
-    (version "1.2.2")
+    (version "1.2.3")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "blob" version))
               (sha256
                (base32
-                "1yn7f13icaix0apxp4drnciwdn8bx8xmbd129jd7ck4rcly0axj9"))))
+                "06v3ldnmf6f99riym1cjbm5rklxmg6cpdixm6armc6rxxs1xd21d"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-rlang r-vctrs))
@@ -2928,13 +2928,13 @@ a column in data frame.")
 (define-public r-rsqlite
   (package
     (name "r-rsqlite")
-    (version "2.2.10")
+    (version "2.2.12")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "RSQLite" version))
               (sha256
                (base32
-                "1a00i24g4d4gvp7qmivpyfm24yfz4w4wsy2kplgfz0i0j0rzzbh6"))))
+                "12ka9cp591sc3hn5r6z4skbjzm3nfq338wlpjdmw6rz26mmr2c9s"))))
     (properties `((upstream-name . "RSQLite")))
     (build-system r-build-system)
     (propagated-inputs
@@ -3122,14 +3122,14 @@ statements.")
 (define-public r-segmented
   (package
     (name "r-segmented")
-    (version "1.4-0")
+    (version "1.4-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "segmented" version))
        (sha256
         (base32
-         "0xn28gyqzmyz0kv352rkkznbj806arxj2am5a9gqsn1qzv9l0s9h"))))
+         "1aagn2v48ncwxx79h601nlalbgc40fc81nqaw6nbncqkqm0zaxi3"))))
     (build-system r-build-system)
     (propagated-inputs (list r-mass))
     (home-page "https://cran.r-project.org/web/packages/segmented")
@@ -3565,13 +3565,13 @@ using the multicore functionality of the parallel package.")
             "datatables-extensions/Select"))))
     (package
       (name "r-dt")
-      (version "0.21")
+      (version "0.22")
       (source (origin
                 (method url-fetch)
                 (uri (cran-uri "DT" version))
                 (sha256
                  (base32
-                  "1yhlph9h8z78wqjddv598l2xrqpp605d70cxfb69m53hanw4hmzn"))
+                  "16ah0h60ygvj49cs6cxxhdxx68cs6v6m35w5r1j5h8nxz171q61z"))
                 (modules '((guix build utils)))
                 (snippet
                  '(for-each delete-file
@@ -4573,14 +4573,14 @@ existing packages provide.")
 (define-public r-sfsmisc
   (package
     (name "r-sfsmisc")
-    (version "1.1-12")
+    (version "1.1-13")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "sfsmisc" version))
        (sha256
         (base32
-         "10h76pgzcxv1y5pkmba9607lvjrsyq62sq63s2n7ry7z5151h4lv"))))
+         "0622yf4fl1b1zm988dfwdrhq7pg0rllhm8wz1pqdmp72glsi05x8"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/sfsmisc")
     (synopsis "Utilities from \"Seminar fuer Statistik\" ETH Zurich")
@@ -5176,14 +5176,14 @@ data for species delimitation, nearest neighbor based noise detection.")
 (define-public r-deoptimr
   (package
     (name "r-deoptimr")
-    (version "1.0-10")
+    (version "1.0-11")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "DEoptimR" version))
        (sha256
         (base32
-         "1m9ag073i7pbxsy74vkj0n4hjn6vmyc4n0k78nmslwwwmjh7nkvp"))))
+         "0nqn12n5qlyk2zsgh57dvizy5z71xgqrhrcqj6lbzybm9c7v6x0q"))))
     (properties `((upstream-name . "DEoptimR")))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/DEoptimR")
@@ -5199,14 +5199,14 @@ can be efficiently implemented directly in the R language.")
 (define-public r-robustbase
   (package
     (name "r-robustbase")
-    (version "0.93-9")
+    (version "0.95-0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "robustbase" version))
        (sha256
         (base32
-         "0i9wf4aq8zpn2np6z2rjja21ks9n740dgkiv0qfwdzk3ah3vapyp"))))
+         "094pxwp78bmqyn6vncyzrazqxnn8abqsbzhlcq44avfz8qffmyjw"))))
     (build-system r-build-system)
     (native-inputs
      (list gfortran))
@@ -5439,14 +5439,14 @@ based on an interface to Fortran implementations by M. J. D. Powell.")
 (define-public r-rcppeigen
   (package
     (name "r-rcppeigen")
-    (version "0.3.3.9.1")
+    (version "0.3.3.9.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "RcppEigen" version))
        (sha256
         (base32
-         "0qp9gypar280lm84pc8w0fxw4jgwqygwi3qnl5sl52kpkcj8c14a"))))
+         "14ylrq7mmylmi513zkwyqqy43kqbz95fc6fzpagqvyx6snaffir5"))))
     (properties `((upstream-name . "RcppEigen")))
     (build-system r-build-system)
     (propagated-inputs
@@ -5560,14 +5560,14 @@ algorithms.")
 (define-public r-lme4
   (package
     (name "r-lme4")
-    (version "1.1-28")
+    (version "1.1-29")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "lme4" version))
        (sha256
         (base32
-         "03nw76bfyas6cdm9chyxqm5ks6r0qklf2fdy7h4pqrqss325x1fi"))))
+         "09p836an3pap7vdbhf1zkl0a7wc63ax2dc8mjrd6lw64ikj7vnc3"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-boot
@@ -5838,14 +5838,14 @@ genome-wide association studies can be analyzed efficiently.")
 (define-public r-tsne
   (package
     (name "r-tsne")
-    (version "0.1-3")
+    (version "0.1-3.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tsne" version))
        (sha256
         (base32
-         "0s8cv2pndkddq62rzlgzgfdjp1vjv5hz5i5957sllnb97vbzbzb6"))))
+         "126q6ha25wx9mdsfngzkyp8j2fj81ri1knjdq1iyvwx3q1dwdaql"))))
     (build-system r-build-system)
     (home-page "https://github.com/jdonaldson/rtsne/")
     (synopsis "t-Distributed Stochastic Neighbor Embedding for R")
@@ -5856,14 +5856,14 @@ genome-wide association studies can be analyzed efficiently.")
 (define-public r-cairo
   (package
     (name "r-cairo")
-    (version "1.5-14")
+    (version "1.5-15")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "Cairo" version))
        (sha256
         (base32
-         "0ysc40smkjwk8fmp5dk0q3nbp9xkxzz9pd4z5zkp2mrvrvx52xq6"))))
+         "17g8s80h9kc0a4zpb153sprjm6ndjl3gkpb63aq5xh9ickzv2fmv"))))
     (properties `((upstream-name . "Cairo")))
     (build-system r-build-system)
     (inputs
@@ -6490,14 +6490,14 @@ Methods are provided for a variety of fitted models, including @code{lm()} and
 (define-public r-puniform
   (package
     (name "r-puniform")
-    (version "0.2.4")
+    (version "0.2.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "puniform" version))
        (sha256
         (base32
-         "0v2977y9cwjx74xk0ig745g09wn7nrcsrg4f6v315sglsm18iaa8"))))
+         "1zw8qbqnyhyvzrw6izrqgnmbawcqg2jdhcb8lxs1rd8y7cn4v4wj"))))
     (properties `((upstream-name . "puniform")))
     (build-system r-build-system)
     (propagated-inputs
@@ -6694,13 +6694,13 @@ designs, one-way designs, general ANOVA designs, and linear regression.")
 (define-public r-norm
   (package
     (name "r-norm")
-    (version "1.0-9.5")
+    (version "1.0-10.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "norm" version))
               (sha256
                (base32
-                "01j1h412yfjx5r4dd0w8rhlf55997spgb6zd6pawy19rgw0byp1h"))))
+                "1iqcsa7mj9ahnkbsri0cf2wlhh2bv86vwsh3iwihh42cywd7k123"))))
     (build-system r-build-system)
     (native-inputs
      (list gfortran))
@@ -6991,13 +6991,13 @@ is used to allow menus, dialogs, and the response to mouse actions to be
 (define-public r-rlrsim
   (package
     (name "r-rlrsim")
-    (version "3.1-6")
+    (version "3.1-8")
     (source
       (origin
         (method url-fetch)
         (uri (cran-uri "RLRsim" version))
         (sha256
-          (base32 "1wkkibr250frsbfq70m9jdrylxb492zibf5w03z6zis98pjffssp"))))
+          (base32 "06i4slc7fj8xifq20i1vqfadfw2p81b0kfzga60139hnryz1zpva"))))
     (properties `((upstream-name . "RLRsim")))
     (build-system r-build-system)
     (propagated-inputs (list r-lme4 r-mgcv r-nlme r-rcpp))
diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm
index 0417737d7d..20929aa7ad 100644
--- a/gnu/packages/syndication.scm
+++ b/gnu/packages/syndication.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2018, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2022 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -537,6 +538,11 @@ formats, including all versions of RSS and Atom.")
              (substitute* "gfeeds/confManager.py"
                (("mpv") (search-input-file inputs "/bin/mpv")))
              #t))
+         (add-after 'unpack 'patch-webkit2-version
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "bin/gfeeds.in"
+               (("gi\\.require_version\\('WebKit2', '4\\.0'\\)")
+                "gi.require_version('WebKit2', '4.1')"))))
          (add-after 'install 'wrap-gfeeds
            (lambda* (#:key outputs #:allow-other-keys)
              (wrap-program (string-append
diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm
index c349081f01..b917cbd61f 100644
--- a/gnu/packages/task-management.scm
+++ b/gnu/packages/task-management.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2021 Eric Bavier <bavier@posteo.net>
 ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
 ;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org>
+;;; Copyright © 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,6 +23,7 @@
 
 (define-module (gnu packages task-management)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix gexp)
   #:use-module (guix packages)
   #:use-module (gnu packages check)
   #:use-module (gnu packages freedesktop)
@@ -32,6 +34,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
@@ -42,6 +45,7 @@
   #:use-module (guix hg-download)
   #:use-module (guix utils)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system python))
@@ -141,6 +145,40 @@ Done time management method.  It supports network synchronization, filtering
 and querying data, exposing task data in multiple formats to other tools.")
     (license license:expat)))
 
+(define-public worklog
+  (let ((commit "0f545ad6697ef4de7f68d92cd7cc5c6a4c60517b")
+        (revision "1"))
+    (package
+      (name "worklog")
+      (version (git-version "2.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/atsb/worklog")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "18dkmy168ks9gcnfqri1rfl0ag0dmh9d6ppfmjfcdd6g9gvi6zll"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:make-flags
+         ,#~(list (string-append "CC=" #$(cc-for-target))
+                  (string-append "BIN=" #$output "/bin")
+                  (string-append "MAN=" #$output "/share/man"))
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure))
+         #:tests? #f))  ; No "check" target.
+      (inputs (list ncurses))
+      (home-page "https://github.com/atsb/worklog")
+      (synopsis "Program keeping track of time spent on different projects")
+      (description
+       "@code{worklog} is a program that helps you keep track of your time.
+@code{worklog} is a simple ncurses based based program that runs a clock and
+logs time to a logfile.")
+      (license license:public-domain))))
+
 (define-public dstask
   (package
     (name "dstask")
@@ -242,6 +280,41 @@ to with the goal of improving your focus and enhancing your productivity.
 You can also use it to fall asleep in a noisy environment.")
     (license license:gpl3+)))
 
+(define-public wtime
+  (package
+    (name "wtime")
+    (version "0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/wtime/wtime/"
+                           version "/wtime_"
+                           (string-replace-substring version "." "_")
+                           ".tar.gz"))
+       (sha256
+        (base32 "1rp1sxas9wjc84fvr6x94ryl3r9w7jd0x5j1hbi9q7yrgfclp830"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags
+       ,#~(list (string-append "CC=" #$(cc-for-target))
+                (string-append "PREFIX=" #$output))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-after 'unpack 'fix-man-path
+           (lambda _
+             (substitute* "Makefile"
+               (("/man1") "/share/man/man1")))))
+       #:tests? #f))  ; No "check" target.
+    (home-page "http://wtime.sourceforge.net")
+    (synopsis
+     "Command-line utility for tracking time spent on arbitrary tasks")
+    (description
+     "@code{wtime} is a command-line utility for tracking time spent working
+on arbitrary tasks.  All the time data is saved in files residing in the
+@code{.wtimed} directory in the user's home directory.")
+    (license license:x11)))
+
 (define-public todoman
   (package
     (name "todoman")
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index eb81b5424e..009809442c 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -25,7 +25,7 @@
 ;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
 ;;; Copyright @ 2020 luhux <luhux@outlook.com>
 ;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
-;;; Copyright © 2021 Raphaël Mélotte <raphael.melotte@mind.be>
+;;; Copyright © 2021, 2022 Raphaël Mélotte <raphael.melotte@mind.be>
 ;;; Copyright © 2021 ikasero <ahmed@ikasero.com>
 ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
 ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
@@ -1367,7 +1367,7 @@ made by suckless.")
 (define-public tio
   (package
     (name "tio")
-    (version "1.35")
+    (version "1.36")
     (source
      (origin
        (method url-fetch)
@@ -1375,8 +1375,10 @@ made by suckless.")
              "https://github.com/tio/tio/releases/download/v"
              version "/tio-" version ".tar.xz"))
        (sha256
-        (base32 "02cx3hjk2rv2dmds2xi17ymi93k6zybapa33ydyfkx3mfvgfq28k"))))
+        (base32 "0z27ghxjiw7y587l49jsb0anylm08m7imqjiwr21k1frxvydswsa"))))
     (build-system meson-build-system)
+    (native-inputs (list pkg-config))
+    (inputs (list libinih))
     (home-page "https://tio.github.io/")
     (synopsis "Simple TTY terminal I/O application")
     (description "tio is a simple TTY terminal application which features a
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 45cc61765a..7cbad042c9 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -17,6 +17,7 @@
 ;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2021 Calum Irwin <calumirwin1@gmail.com>
+;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -62,6 +63,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages haskell-xyz)
+  #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
   #:use-module (gnu packages libbsd)
   #:use-module (gnu packages libreoffice)
@@ -1165,3 +1167,54 @@ uncluttered user interface.  It supports a multitude of translation formats
 provided by the Translate Toolkit, including XLIFF and PO.")
     (home-page "https://virtaal.translatehouse.org/")
     (license license:gpl2+)))
+
+(define-public tree-sitter
+  (package
+    (name "tree-sitter")
+    (version "0.20.6")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/tree-sitter/tree-sitter")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1z20518snyg0zp75qgs5bxmzjqws4dd19vnp6sya494za3qp5b6d"))
+              (modules '((guix build utils)))
+              (snippet '(begin
+                          ;; Remove bundled ICU parts
+                          (delete-file-recursively "lib/src/unicode")
+                          #t))))
+    (build-system gnu-build-system)
+    (inputs (list icu4c))
+    (arguments
+     (list #:phases
+           '(modify-phases %standard-phases
+              (delete 'configure))
+           #:tests? #f ; there are no tests for the runtime library
+           #:make-flags
+           #~(list (string-append "PREFIX="
+                                  #$output)
+                   (string-append "CC="
+                                  #$(cc-for-target)))))
+    (home-page "https://tree-sitter.github.io/tree-sitter/")
+    (synopsis "Incremental parsing system for programming tools")
+    (description
+     "Tree-sitter is a parser generator tool and an incremental parsing
+library.  It can build a concrete syntax tree for a source file and efficiently
+update the syntax tree as the source file is edited.
+
+Tree-sitter aims to be:
+
+@itemize
+@item General enough to parse any programming language
+@item Fast enough to parse on every keystroke in a text editor
+@item Robust enough to provide useful results even in the presence of syntax errors
+@item Dependency-free so that the runtime library (which is written in pure C)
+can be embedded in any application
+@end itemize
+
+This package includes the @code{libtree-sitter} runtime library.
+")
+    (license license:expat)))
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index c776085cad..1a19f51ccc 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012-2017, 2019-2022 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2021 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
 ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
@@ -610,14 +610,14 @@ kilobytes of RAM.")
 (define-public libressl
   (package
     (name "libressl")
-    (version "3.3.3")
+    (version "3.3.6")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://openbsd/LibreSSL/"
                                   "libressl-" version ".tar.gz"))
               (sha256
                (base32
-                "0rihprcgxsydsbcqgd1952k2cfn4jmp7rlyp1c6sglfc6rdmcwd4"))))
+                "16jbzqj9wy2z10x8ppx63idw44k0d3wly0grpar0s6g1cn9q8a1z"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
@@ -633,6 +633,8 @@ kilobytes of RAM.")
                        ,(package-version this-package))
         ;; Provide a TLS-enabled netcat.
         "--enable-nc")))
+    (properties
+     `((release-monitoring-url . "https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/")))
     (home-page "https://www.libressl.org/")
     (synopsis "SSL/TLS implementation")
     (description "LibreSSL is a version of the TLS/crypto stack, forked from
@@ -1128,7 +1130,7 @@ derived from Mozilla's collection.")
   (package
     (name "s2n")
     ; Update only when updating aws-crt-cpp.
-    (version "1.1.0")
+    (version "1.3.10")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1137,7 +1139,7 @@ derived from Mozilla's collection.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "14dhdddlph36nshdkh0v33718hxjx5vxqxmkw7707393q0qrgipw"))))
+                "15fr6zwglw74x5qd090752kqn7n3cyi4gmz94ip45g3hflschxd3"))))
     (build-system cmake-build-system)
     (arguments
      '(#:configure-flags
@@ -1188,28 +1190,27 @@ ciphers such as ChaCha20, Curve25519, NTRU, and Blake2b.")
     (license license:gpl2+))) ; Audit
 
 (define-public aws-lc
-  (let ((commit "d0a5455417d80e68581e197d95720c3fb25e3926")
-        (revision "0"))
-    (package
-      (name "aws-lc")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url (string-append "https://github.com/awslabs/" name))
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "1ysj3x1f2lcdvwzyb9x3waykz1j7r21viv5z5vgc0ja9xv7znm9g"))))
-      (build-system cmake-build-system)
-      (arguments
-       '(#:tests? #f ; re-enable but with go and perl dependencies
-         #:configure-flags
-         '("-DBUILD_SHARED_LIBS=ON")))
-      (synopsis "General purpose cryptographic library")
-      (description "AWS libcrypto (aws-lc) contains portable C implementations
+  (package
+    (name "aws-lc")
+    ; Update only when updating aws-crt-cpp.
+    (version "1.0.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url (string-append "https://github.com/awslabs/" name))
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "14dhdddlph36nshdkh0v43718hxjx5vxqxmkw7707393q0qrgipw"))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:tests? #f ; re-enable but with go and perl dependencies
+       #:configure-flags
+       '("-DBUILD_SHARED_LIBS=ON")))
+    (synopsis "General purpose cryptographic library")
+    (description "AWS libcrypto (aws-lc) contains portable C implementations
 of algorithms needed for TLS and common applications, and includes optimized
 assembly versions for x86 and ARM.")
-      (home-page "https://github.com/awslabs/aws-lc")
-      (license license:asl2.0))))
+    (home-page "https://github.com/awslabs/aws-lc")
+    (license license:asl2.0)))
diff --git a/gnu/packages/uml.scm b/gnu/packages/uml.scm
index 83f10a08a1..603bbd0678 100644
--- a/gnu/packages/uml.scm
+++ b/gnu/packages/uml.scm
@@ -31,14 +31,14 @@
 (define-public plantuml
   (package
     (name "plantuml")
-    (version "1.2020.24")
+    (version "1.2022.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/plantuml/"
                                   version "/plantuml-" version ".tar.gz"))
               (sha256
                (base32
-                "1czjrsngy0j0lgbmvfzg1ax13vzba2c6ybmfbzqyvnasx4rfrsf8"))))
+                "1k5c97iicdvamkcdaz7c2b79qaciz5gvgs7n67as7hcbm2q85q3b"))))
     (build-system ant-build-system)
     (arguments
      `(#:tests? #f                      ; no tests
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 0aa7fcc5b1..7574afda86 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -221,14 +221,14 @@ Python 3.3 and later, rather than on Python 2.")
 (define-public git
   (package
    (name "git")
-   (version "2.34.1")
+   (version "2.36.0")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://kernel.org/software/scm/git/git-"
                                 version ".tar.xz"))
             (sha256
              (base32
-              "0b40vf315s1kz65x1wq47g8srl4wqac39pwnvlj1mdzs3kfma1rs"))))
+              "1ly13j37h1y8bgcj3h0cl43vcpwk9j4gsasssk8gar44cp0vypmg"))))
    (build-system gnu-build-system)
    (native-inputs
     `(("native-perl" ,perl)
@@ -248,7 +248,7 @@ Python 3.3 and later, rather than on Python 2.")
                 version ".tar.xz"))
           (sha256
            (base32
-            "1f3y7hxvs9p00wwwi8zdn0sgn6nh1pgg1fdsnz2bq8gzfbbmsqww"))))
+            "0p6vc6nyaibx2lxirjj2nm5spk5q6svz8l3w0pqnaa3i7l7c6qy0"))))
       ;; For subtree documentation.
       ("asciidoc" ,asciidoc)
       ("docbook-xsl" ,docbook-xsl)
@@ -1322,7 +1322,7 @@ lot easier.")
 (define-public stgit
   (package
     (name "stgit")
-    (version "1.1")
+    (version "1.5")
     (source
      (origin
        (method git-fetch)
@@ -1331,7 +1331,7 @@ lot easier.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1jp74qsgw3f9c8xgaaqvmhfh4ar3n1ns5ncm8glvqyywlxldxi0n"))))
+        (base32 "1igljjpdgl4na1a5hi0nmg36ph0hw6hw8hhq5436fgcl8yjimyz3"))))
     (build-system python-build-system)
     (native-inputs
      (list perl))
@@ -1475,7 +1475,7 @@ also walk each side of a merge and test those changes individually.")
                       (let ((perl (search-input-file inputs "/bin/perl")))
                         ;; This seems to take care of every shell script that
                         ;; invokes Perl.
-                        (substitute* (find-files "." ".*")
+                        (substitute* (find-files ".")
                           ((" perl -")
                            (string-append " " perl " -")))
 
@@ -1494,8 +1494,7 @@ also walk each side of a merge and test those changes individually.")
                         ;; This works because gitolite-shell is in the PATH.
                         (substitute* "src/triggers/post-compile/ssh-authkeys"
                           (("\\$glshell \\$user")
-                           "gitolite-shell $user"))
-                        #t)))
+                           "gitolite-shell $user")))))
                   (add-before 'install 'patch-source
                     (lambda* (#:key inputs #:allow-other-keys)
                       ;; Gitolite uses cat to test the readability of the
@@ -1519,7 +1518,8 @@ also walk each side of a merge and test those changes individually.")
                                         (assoc-ref inputs "inetutils")
                                         "/bin/logger\"")))
 
-                      #t))
+                      (substitute* "src/commands/svnserve"
+                        (("/usr/bin/svnserve") "svnserve"))))
                   (replace 'install
                     (lambda* (#:key outputs #:allow-other-keys)
                       (let* ((output (assoc-ref outputs "out"))
@@ -1532,8 +1532,7 @@ also walk each side of a merge and test those changes individually.")
                         (for-each (lambda (script)
                                     (symlink (string-append sharedir "/" script)
                                              (string-append bindir "/" script)))
-                                  '("gitolite" "gitolite-shell"))
-                        #t)))
+                                  '("gitolite" "gitolite-shell")))))
                   (add-after 'install 'wrap-scripts
                     (lambda* (#:key inputs outputs #:allow-other-keys)
                       (let ((out (assoc-ref outputs "out"))
@@ -1544,10 +1543,9 @@ also walk each side of a merge and test those changes individually.")
                           `("PATH" ":" prefix
                             ,(map (lambda (dir)
                                     (string-append dir "/bin"))
-                                  (list out coreutils findutils git))))
-                        #t))))))
+                                  (list out coreutils findutils git))))))))))
     (inputs
-     (list perl coreutils findutils inetutils))
+     (list bash-minimal perl coreutils findutils inetutils))
     ;; git and openssh are propagated because trying to patch the source via
     ;; regexp matching is too brittle and prone to false positives.
     (propagated-inputs
@@ -1628,7 +1626,7 @@ visualize your public Git repositories on a web interface.")
 (define-public pre-commit
   (package
     (name "pre-commit")
-    (version "2.17.0")
+    (version "2.18.1")
     (source
      (origin
        (method git-fetch)               ; no tests in PyPI release
@@ -1637,7 +1635,7 @@ visualize your public Git repositories on a web interface.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1y4h6zrypxgm9j8q66hcx5cs4q2dkh9schzn2nsdmdqad19356s9"))))
+        (base32 "08c1nxqyqmy5sbmfnpvc8z82cx1rv9q290w7x2mrm0nd718s9yvp"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index fb01e3f30c..77b565ede6 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -40,7 +40,7 @@
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;; Copyright © 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
 ;;; Copyright © 2020 Alex McGrath <amk@amk.ie>
-;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de>
 ;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
 ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro>
@@ -61,6 +61,7 @@
 ;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
 ;;; Copyright © 2022 Bird <birdsite@airmail.cc>
 ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
+;;; Copyright © 2022 Chadwain Holness <chadwainholness@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -760,7 +761,7 @@ old-fashioned output methods with powerful ascii-art renderer.")
 (define-public celluloid
   (package
     (name "celluloid")
-    (version "0.22")
+    (version "0.23")
     (source
      (origin
        (method url-fetch)
@@ -768,7 +769,7 @@ old-fashioned output methods with powerful ascii-art renderer.")
                            "/releases/download/v" version
                            "/celluloid-" version ".tar.xz"))
        (sha256
-        (base32 "18g596ja8g0fy79pmxqdlzqzb0f9xq69ik4bah8g2ppipfvxbpjz"))))
+        (base32 "0x23y09jwkg8wbb0yp5f03sj5hwjg3kyhbbww2y1a0izs1iijbdj"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      (list intltool pkg-config))
@@ -820,7 +821,7 @@ television and DVD.  It is also known as AC-3.")
 (define-public libaom
   (package
     (name "libaom")
-    (version "3.2.0")
+    (version "3.3.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -829,7 +830,7 @@ television and DVD.  It is also known as AC-3.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0fmnbzpl481i7kchx4hbvb507r5pfgyrzfrlrs7jk3bicycm75qv"))))
+                "024vhsx7bw9kajk65hhh5vmqrja0h33rmlcpngsj3yg4p8l29943"))))
     (build-system cmake-build-system)
     (native-inputs
      (list perl pkg-config python)) ; to detect the version
@@ -3136,28 +3137,34 @@ and custom quantization matrices.")
 (define-public streamlink
   (package
     (name "streamlink")
-    (version "2.0.0")
+    (version "3.2.0")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "streamlink" version))
         (sha256
          (base32
-          "1nv2kj1k42a1b20ws8sdzlxk3wh1qz6pg5mxp75433b3c7lxksn0"))))
+          "09nrspga15svzi0hmakcarbciav0nzf30hg1ff53gia473cd4w4p"))))
     (build-system python-build-system)
-    (home-page "https://github.com/streamlink/streamlink")
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+         (replace 'check
+          (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                  (invoke "python" "-m" "pytest")))))))
     (native-inputs
-     (list python-freezegun python-pytest python-mock
+     (list python-freezegun python-mock python-pytest
            python-requests-mock))
     (propagated-inputs
      (list python-pysocks
            python-websocket-client
-           python-iso3166
-           python-iso639
            python-isodate
+           python-lxml-4.7
+           python-pycountry
            python-pycryptodome
            python-requests
            python-urllib3))
+    (home-page "https://github.com/streamlink/streamlink")
     (synopsis "Extract streams from various services")
     (description "Streamlink is command-line utility that extracts streams
 from sites like Twitch.tv and pipes them into a video player of choice.")
@@ -3210,7 +3217,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
 (define-public mlt
   (package
     (name "mlt")
-    (version "7.4.0")
+    (version "7.6.0")
     (source
      (origin
        (method git-fetch)
@@ -3219,7 +3226,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "132y3niv9p1pwms1d5dr0w1jifvr52yfjy6zza3g7qaha0yzfh0c"))))
+        (base32 "1dj7jb5nk0qy28mlw0pcmj4nd607mgx229nhf14gjc0fq9gx71sd"))))
     (build-system cmake-build-system)
     (arguments
      (list
@@ -4102,7 +4109,7 @@ practically any type of media.")
 (define-public libmediainfo
   (package
     (name "libmediainfo")
-    (version "21.03")
+    (version "22.03")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://mediaarea.net/download/source/"
@@ -4110,7 +4117,7 @@ practically any type of media.")
                                   name "_" version ".tar.xz"))
               (sha256
                (base32
-                "1jm4mk539wf3crgpcddgwdixshwdzm37mkb5441lifhcz2mykdsn"))))
+                "1fc0ihj17cdv9zb346llwvbv0hn3sl3ax398ankgp74fcaxvll7w"))))
     ;; TODO add a Big Buck Bunny webm for tests.
     (native-inputs
      (list autoconf automake libtool pkg-config))
@@ -4158,7 +4165,7 @@ MPEG-2, MPEG-4, DVD (VOB)...
 (define-public mediainfo
   (package
     (name "mediainfo")
-    (version "21.03")
+    (version "22.03")
     (source (origin
               (method url-fetch)
               ;; Warning: This source has proved unreliable 1 time at least.
@@ -4169,7 +4176,7 @@ MPEG-2, MPEG-4, DVD (VOB)...
                                   name "_" version ".tar.xz"))
               (sha256
                (base32
-                "07h2a1lbw5ak6c9bcn8qydchl0wpgk945rf9sfcqjyv05h5wll6y"))))
+                "1r1bh1lk2dsiv0j84whgca7qslxbibg6vsih7x5iga2p3lmgjdk2"))))
     (native-inputs
      (list autoconf automake libtool pkg-config))
     (inputs
@@ -4861,7 +4868,7 @@ transitions, and effects and then export your film to many common formats.")
 (define-public shotcut
   (package
     (name "shotcut")
-    (version "22.01.30")
+    (version "22.04.25")
     (source
      (origin
        (method git-fetch)
@@ -4870,7 +4877,7 @@ transitions, and effects and then export your film to many common formats.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0azbzaml743vlpay5dz8i0k66hw4idnambi49wj2yprw7z3skdql"))))
+        (base32 "0ccbx2crqrnhl19d7267xc40vs0cjmps2cnhi1g1l6bqxbi7k88x"))))
     (build-system qt-build-system)
     (arguments
      `(#:tests? #f                      ;there are no tests
@@ -5131,7 +5138,7 @@ transcode or reformat the videos in any way, producing perfect backups.")
 (define-public svt-av1
   (package
     (name "svt-av1")
-    (version "0.9.0")
+    (version "0.9.1")
     (source
      (origin
        (method git-fetch)
@@ -5140,7 +5147,7 @@ transcode or reformat the videos in any way, producing perfect backups.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1mavggl6f7pk7xs22859vm19qp9csjvdcys3b6n2f4pljqkp4qcj"))))
+        (base32 "02fchq2vlxcxzbrss72xl9vrxzysdy39d5i159bmg3qa45ngd2iw"))))
     (build-system cmake-build-system)
     ;; SVT-AV1 only supports 64-bit Intel-compatible CPUs.
     (supported-systems '("x86_64-linux"))
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 4ed6708eb5..7279798fe6 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
 ;;; Copyright © 2021 Tissevert <tissevert+guix@marvid.fr>
 ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
+;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -76,7 +77,7 @@
 (define-public vim
   (package
     (name "vim")
-    (version "8.2.4564")
+    (version "8.2.4701")
     (source (origin
              (method git-fetch)
              (uri (git-reference
@@ -85,7 +86,7 @@
              (file-name (git-file-name name version))
              (sha256
               (base32
-               "1ggvmvd6xsj9xvknjcvpj52na2km2wxvxfj8l29mqp03g4wwyzrr"))))
+               "0yqqzai3ihfjjjjmn50pxlcqllpkmlrf5z59ma5rn0gv8wwwdw7h"))))
     (build-system gnu-build-system)
     (arguments
      `(#:test-target "test"
@@ -117,6 +118,11 @@
              (setenv "TERM" "xterm")))
          (add-before 'check 'skip-or-fix-failing-tests
            (lambda _
+             ;; This test failure is shared between BSD and Guix.
+             (with-fluids ((%default-port-encoding #f))
+               (substitute* "src/testdir/test_writefile.vim"
+                 (("!has\\('bsd'\\)") "0")))
+
              ;; This test assumes that PID 1 is run as root and that the user
              ;; running the test suite does not have permission to kill(1, 0)
              ;; it.  This is not true in the build container, where both PID 1
@@ -662,7 +668,7 @@ are detected, the user is notified.")))
 (define-public neovim
   (package
     (name "neovim")
-    (version "0.4.4")
+    (version "0.6.1")
     (source
      (origin
        (method git-fetch)
@@ -671,13 +677,19 @@ are detected, the user is notified.")))
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "11zyj6jvkwas3n6w1ckj3pk6jf81z1g7ngg4smmwm7c27y2a6f2m"))))
+        (base32 "10p6lg5yv9n6wcwdprwvvi56dfcm4wsj54nm0invyx3mhf7374lx"))))
     (build-system cmake-build-system)
     (arguments
      `(#:modules ((srfi srfi-26)
                   (guix build cmake-build-system)
                   (guix build utils))
-       #:configure-flags '("-DPREFER_LUA:BOOL=YES")
+       #:configure-flags
+       (list ,@(if (member (if (%current-target-system)
+                               (gnu-triplet->nix-system (%current-target-system))
+                               (%current-system))
+                           (package-supported-systems luajit))
+                   '()
+                   '("-DPREFER_LUA:BOOL=YES")))
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'set-lua-paths
@@ -717,11 +729,17 @@ are detected, the user is notified.")))
        ("libvterm" ,libvterm)
        ("unibilium" ,unibilium)
        ("jemalloc" ,jemalloc)
-       ("lua" ,lua-5.1)
+       ("lua" ,(if (member (if (%current-target-system)
+                               (gnu-triplet->nix-system (%current-target-system))
+                               (%current-system))
+                           (package-supported-systems luajit))
+                   luajit
+                   lua-5.1))
        ("lua-luv" ,lua5.1-luv)
        ("lua-lpeg" ,lua5.1-lpeg)
        ("lua-bitop" ,lua5.1-bitop)
-       ("lua-libmpack" ,lua5.1-libmpack)))
+       ("lua-libmpack" ,lua5.1-libmpack)
+       ("tree-sitter" ,tree-sitter)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("gettext" ,gettext-minimal)
@@ -1287,7 +1305,7 @@ additions:
          ("syntax" "share/vim/vimfiles/"))
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'link-univerisal-ctags
+         (add-after 'unpack 'link-universal-ctags
            (lambda* (#:key inputs #:allow-other-keys)
              (let ((ctags (assoc-ref inputs "universal-ctags")))
                (substitute* "autoload/tagbar.vim"
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 90472b9221..f3396e7c94 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -26,6 +26,7 @@
 ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
 ;;; Copyright © 2022 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2022 Ekaitz Zarraga <ekaitz@elenq.tech>
+;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -99,8 +100,9 @@
   #:use-module (gnu packages ninja)
   #:use-module (gnu packages onc-rpc)
   #:use-module (gnu packages package-management)
-  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pciutils)
   #:use-module (gnu packages pcre)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages polkit)
   #:use-module (gnu packages protobuf)
@@ -545,20 +547,19 @@ firmware blobs.  You can
 (define-public ganeti
   (package
     (name "ganeti")
-    (version "3.0.1")
+    (version "3.0.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/ganeti/ganeti")
                     (commit (string-append "v" version))))
               (sha256
-               (base32 "1i7gx0sdx9316fnldbv738s0ihym1370nhc1chk0biandkl8vvq0"))
+               (base32 "1xw7rm0k411aj0a4hrxz9drn7827bihp6bwizbapfx8k4c3125k4"))
               (file-name (git-file-name name version))
               (patches (search-patches "ganeti-shepherd-support.patch"
                                        "ganeti-shepherd-master-failover.patch"
-                                       "ganeti-sphinx-compat.patch"
-                                       "ganeti-haskell-compat.patch"
                                        "ganeti-haskell-pythondir.patch"
+                                       "ganeti-pyyaml-compat.patch"
                                        "ganeti-disable-version-symlinks.patch"))))
     (build-system gnu-build-system)
     (arguments
@@ -609,20 +610,6 @@ firmware blobs.  You can
                             ,(system->qemu-target (%current-system))))
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'patch-version-constraints
-           (lambda _
-             ;; Loosen version constraints for compatibility with Stackage 18.10.
-             (substitute* "cabal/ganeti.template.cabal"
-               (("(.*base64-bytestring.*) < 1\\.1" _ match)
-                (string-append match " < 1.2"))
-               (("(.*QuickCheck.*) < 2\\.14" _ match)
-                (string-append match " < 2.15")))))
-         (add-after 'unpack 'pyparsing-compat
-           (lambda _
-             ;; Adjust for Pyparsing 3.0.  Remove for Ganeti 3.0.2+.
-             (substitute* "lib/qlang.py"
-               (("operatorPrecedence")
-                "infixNotation"))))
          (add-after 'unpack 'create-vcs-version
            (lambda _
              ;; If we are building from a git checkout, we need to create a
@@ -714,6 +701,7 @@ firmware blobs.  You can
                (("test/py/ganeti\\.asyncnotifier_unittest\\.py") "")
                (("test/py/ganeti\\.backend_unittest\\.py") "")
                (("test/py/ganeti\\.daemon_unittest\\.py") "")
+               (("test/py/ganeti\\.hypervisor\\.hv_kvm_unittest\\.py") "")
                (("test/py/ganeti\\.tools\\.ensure_dirs_unittest\\.py") "")
                (("test/py/ganeti\\.utils\\.io_unittest-runasroot\\.py") "")
                ;; Disable the bash_completion test, as it requires the full
@@ -1032,8 +1020,18 @@ Debian or a derivative using @command{debootstrap}.")
               (sha256
                (base32 "0cik2m0byfp9ppq0hpg3xyrlp5ag1i4dww7a7872mlm36xxqagg0"))))
     (build-system gnu-build-system)
+    (arguments
+     (list
+       #:phases
+       #~(modify-phases %standard-phases
+           (add-before 'configure 'configure-dtc-path
+             (lambda* (#:key inputs #:allow-other-keys)
+               ;; Reference dtc by its absolute store path.
+               (substitute* "riscv/dts.cc"
+                 (("DTC")
+                  (string-append "\"" (search-input-file inputs "/bin/dtc") "\""))))))))
     (inputs
-     (list dtc))
+     (list bash-minimal dtc))
     (native-inputs
      (list python-wrapper))
     (home-page "https://github.com/riscv-software-src/riscv-isa-sim")
@@ -1045,7 +1043,7 @@ of one or more RISC-V harts.")
 (define-public libosinfo
   (package
     (name "libosinfo")
-    (version "1.9.0")
+    (version "1.10.0")
     (source
      (origin
        (method url-fetch)
@@ -1053,49 +1051,36 @@ of one or more RISC-V harts.")
                            version ".tar.xz"))
        (sha256
         (base32
-         "0nd360c9ampw8hb6xh5g45q858df2r4jj9q88bcl6gzgaj0l3wxl"))))
+         "0193sdvv9yj3h6wwhj441d2fhccc7fh0m36sl0fv5pl0ql7y0lm2"))))
     (build-system meson-build-system)
     (arguments
-     `(#:configure-flags
-       (list (string-append "-Dwith-usb-ids-path="
-                            (assoc-ref %build-inputs "usb.ids"))
-             (string-append "-Dwith-pci-ids-path="
-                            (assoc-ref %build-inputs "pci.ids")))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-osinfo-path
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "osinfo/osinfo_loader.c"
-               (("path = DATA_DIR.*")
-                (string-append "path = \"" (assoc-ref inputs "osinfo-db")
-                               "/share/osinfo\";"))))))))
-    (inputs
-     `(("libsoup" ,libsoup-minimal-2)
-       ("libxml2" ,libxml2)
-       ("libxslt" ,libxslt)
-       ("osinfo-db" ,osinfo-db)))
+     (list
+      #:configure-flags
+      #~(list (string-append "-Dwith-usb-ids-path="
+                             (search-input-file %build-inputs
+                                                "share/hwdata/usb.ids"))
+              (string-append "-Dwith-pci-ids-path="
+                             (search-input-file %build-inputs
+                                                "share/hwdata/pci.ids")))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-osinfo-path
+            (lambda* (#:key native-inputs inputs #:allow-other-keys)
+              (substitute* "osinfo/osinfo_loader.c"
+                (("path = DATA_DIR.*")
+                 (format #f "path = ~s;"
+                         (search-input-directory (or native-inputs inputs)
+                                                 "share/osinfo")))))))))
+    (inputs (list libsoup-minimal-2 libxml2 libxslt osinfo-db))
     (native-inputs
-     `(("glib" ,glib "bin")  ; glib-mkenums, etc.
-       ("gobject-introspection" ,gobject-introspection)
-       ("gtk-doc" ,gtk-doc/stable)
-       ("vala" ,vala)
-       ("intltool" ,intltool)
-       ("pkg-config" ,pkg-config)
-       ("pci.ids"
-        ,(origin
-           (method url-fetch)
-           (uri "https://github.com/pciutils/pciids/raw/ad02084f0bc143e3c15e31a6152a3dfb1d7a3156/pci.ids")
-           (sha256
-            (base32
-             "0kfhpj5rnh24hz2714qhfmxk281vwc2w50sm73ggw5d15af7zfsw"))))
-       ("usb.ids"
-        ,(origin
-           (method url-fetch)
-           (uri "https://svn.code.sf.net/p/linux-usb/repo/trunk/htdocs/usb.ids?r=2681")
-           (file-name "usb.ids")
-           (sha256
-            (base32
-             "1m6yhvz5k8aqzxgk7xj3jkk8frl1hbv0h3vgj4wbnvnx79qnvz3r"))))))
+     (list `(,glib "bin")                ;glib-mkenums, etc.
+           gobject-introspection
+           gtk-doc/stable
+           `(,hwdata "pci")
+           `(,hwdata "usb")
+           vala
+           intltool
+           pkg-config))
     (home-page "https://libosinfo.org/")
     (synopsis "Operating system information database")
     (description "libosinfo is a GObject based library API for managing
@@ -2151,7 +2136,12 @@ override CC = " (assoc-ref inputs "cross-gcc") "/bin/i686-linux-gnu-gcc"))
               (string-append "runtime_library_dirs = ['"
                              (assoc-ref outputs "out")
                              "/lib'],\nlibrary_dirs =")))
-            #t))
+
+            ;; This needs to be quoted:
+            ;; <https://lists.gnu.org/archive/html/guix-devel/2022-03/msg00113.html>.
+            (substitute* "xen/arch/x86/xen.lds.S"
+              ((".note.gnu.build-id")
+               "\".note.gnu.build-id\""))))
         (add-before 'configure 'patch-xen-script-directory
           (lambda* (#:key outputs #:allow-other-keys)
             (substitute* '("configure"
@@ -2361,3 +2351,42 @@ use with virtualization provisioning tools")
      "@code{transient} is a wrapper for QEMU allowing the creation of virtual
 machines with shared folder, ssh, and disk creation support.")
     (license license:expat)))
+
+(define-public riscv-pk
+  (package
+    (name "riscv-pk")
+    (version "1.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/riscv-software-src/riscv-pk")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1cc0rz4q3a1zw8756b8yysw8lb5g4xbjajh5lvqbjix41hbdx6xz"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:out-of-source? #t
+           ;; riscv-pk can only be built for riscv64.
+           #:target "riscv64-linux-gnu"
+           #:make-flags #~(list (string-append "INSTALLDIR=" #$output))
+           ;; Add flags to keep symbols fromhost and tohost. These symbols are
+           ;; required for the correct functioning of pk.
+           #:strip-flags #~(list "--strip-unneeded"
+                                 "--keep-symbol=fromhost"
+                                 "--keep-symbol=tohost"
+                                 "--enable-deterministic-archives")))
+    (home-page "https://github.com/riscv-software-src/riscv-pk")
+    (synopsis "RISC-V Proxy Kernel")
+    (description "The RISC-V Proxy Kernel, @command{pk}, is a lightweight
+application execution environment that can host statically-linked RISC-V ELF
+binaries.  It is designed to support tethered RISC-V implementations with
+limited I/O capability and thus handles I/O-related system calls by proxying
+them to a host computer.
+
+This package also contains the Berkeley Boot Loader, @command{bbl}, which is a
+supervisor execution environment for tethered RISC-V systems.  It is designed
+to host the RISC-V Linux port.")
+    (license license:bsd-3)))
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 60d042fb66..b272319b89 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -693,7 +693,7 @@ is fully configurable and extensible in Common Lisp.")
 (define-public lagrange
   (package
     (name "lagrange")
-    (version "1.11.2")
+    (version "1.12.1")
     (source
      (origin
        (method url-fetch)
@@ -701,7 +701,7 @@ is fully configurable and extensible in Common Lisp.")
         (string-append "https://git.skyjake.fi/skyjake/lagrange/releases/"
                        "download/v" version "/lagrange-" version ".tar.gz"))
        (sha256
-        (base32 "07vr0n8zpxcf6vjf4rz30s75llzxg9yndqphar4b1iygig9rx6jf"))
+        (base32 "10v4bp5h1qq24by61yw52rr13m23smfj2whxfzcxc34qgsdjsd4a"))
        (modules '((guix build utils)))
        (snippet
         '(begin
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 89533d8469..5eaebd2ced 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
 ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com>
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
@@ -373,89 +373,86 @@ the same, being completely separated from the Internet.")
     ;; Track the ‘mainline’ branch.  Upstream considers it more reliable than
     ;; ’stable’ and recommends that “in general you deploy the NGINX mainline
     ;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/)
-    (version "1.21.5")
+    (version "1.21.6")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://nginx.org/download/nginx-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1fygvl19cch100d15k74666jcbc7xpz7v5m7ygqac6556gskn3xj"))))
+                "1bh52jqqcaj5wlh2kvhxr00jhk2hnk8k97ki4pwyj4c8920p1p36"))))
     (build-system gnu-build-system)
     (inputs (list libxml2 libxslt openssl pcre zlib))
     (arguments
-     `(#:tests? #f                      ; no test target
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'configure 'patch-/bin/sh
-           (lambda _
-             (substitute* "auto/feature"
-               (("/bin/sh") (which "sh")))
-             #t))
-         (replace 'configure
-           ;; The configure script is hand-written, not from GNU autotools.
-           (lambda* (#:key configure-flags inputs outputs #:allow-other-keys)
-             (let ((flags
-                    (append (list (string-append "--prefix=" (assoc-ref outputs "out"))
-                                  "--with-http_ssl_module"
-                                  "--with-http_v2_module"
-                                  "--with-http_xslt_module"
-                                  "--with-http_gzip_static_module"
-                                  "--with-http_gunzip_module"
-                                  "--with-http_addition_module"
-                                  "--with-http_sub_module"
-                                  "--with-pcre-jit"
-                                  "--with-debug"
-                                  "--with-stream"
-                                  ;; Even when not cross-building, we pass the
-                                  ;; --crossbuild option to avoid customizing for the
-                                  ;; kernel version on the build machine.
-                                  ,(let ((system "Linux")    ; uname -s
-                                         (release "3.2.0")   ; uname -r
-                                         ;; uname -m
-                                         (machine (match (or (%current-target-system)
-                                                             (%current-system))
-                                                    ("x86_64-linux"   "x86_64")
-                                                    ("i686-linux"     "i686")
-                                                    ("mips64el-linux" "mips64")
-                                                    ;; Prevent errors when querying
-                                                    ;; this package on unsupported
-                                                    ;; platforms, e.g. when running
-                                                    ;; "guix package --search="
-                                                    (_                "UNSUPPORTED"))))
-                                     (string-append "--crossbuild="
-                                                    system ":" release ":" machine)))
-                            configure-flags)))
-               (setenv "CC" ,(cc-for-target))
-               ;; Fix ./configure test for ‘#include <libxml/parser.h>’.
-               (setenv "CFLAGS"         ; CPPFLAGS is not respected
-                       (string-append "-I" (assoc-ref inputs "libxml2")
-                                      "/include/libxml2"))
-               (format #t "configure flags: ~s~%" flags)
-               (apply invoke "./configure" flags)
-               #t)))
-         (add-after 'install 'install-man-page
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (man (string-append out "/share/man")))
-               (install-file "objs/nginx.8" (string-append man "/man8"))
-               #t)))
-         (add-after 'install 'fix-root-dirs
-           (lambda* (#:key outputs #:allow-other-keys)
-             ;; 'make install' puts things in strange places, so we need to
-             ;; clean it up ourselves.
-             (let* ((out (assoc-ref outputs "out"))
-                    (share (string-append out "/share/nginx")))
-               ;; This directory is empty, so get rid of it.
-               (rmdir (string-append out "/logs"))
-               ;; Example configuration and HTML files belong in
-               ;; /share.
-               (mkdir-p share)
-               (rename-file (string-append out "/conf")
-                            (string-append share "/conf"))
-               (rename-file (string-append out "/html")
-                            (string-append share "/html"))
-               #t))))))
+     (list
+      #:tests? #f                       ; no test target
+      #:configure-flags
+      #~(list "--with-http_ssl_module"
+              "--with-http_v2_module"
+              "--with-http_xslt_module"
+              "--with-http_gzip_static_module"
+              "--with-http_gunzip_module"
+              "--with-http_addition_module"
+              "--with-http_sub_module"
+              "--with-pcre-jit"
+              "--with-debug"
+              "--with-stream"
+              ;; Even when not cross-building, we pass the
+              ;; --crossbuild option to avoid customizing for the
+              ;; kernel version on the build machine.
+              #$(let ((system "Linux")  ; uname -s
+                      (release "3.2.0") ; uname -r
+                      ;; uname -m
+                      (machine (match (or (%current-target-system)
+                                          (%current-system))
+                                 ("x86_64-linux"   "x86_64")
+                                 ("i686-linux"     "i686")
+                                 ("mips64el-linux" "mips64")
+                                 ;; Prevent errors when querying
+                                 ;; this package on unsupported
+                                 ;; platforms, e.g. when running
+                                 ;; "guix package --search="
+                                 (_                "UNSUPPORTED"))))
+                  (string-append "--crossbuild="
+                                 system ":" release ":" machine)))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'configure 'patch-/bin/sh
+            (lambda _
+              (substitute* "auto/feature"
+                (("/bin/sh") (which "sh")))))
+          (replace 'configure
+            ;; The configure script is hand-written, not from GNU autotools.
+            (lambda* (#:key configure-flags inputs #:allow-other-keys)
+              (setenv "CC" #$(cc-for-target))
+              ;; Fix ./configure test for ‘#include <libxml/parser.h>’.
+              (setenv "CFLAGS"          ; CPPFLAGS is not respected
+                      (string-append "-O2 -g "
+                                     "-I" (search-input-directory
+                                           inputs "/include/libxml2")))
+              (format #t "configure flags: ~s~%" configure-flags)
+              (apply invoke "./configure"
+                     (string-append "--prefix=" #$output)
+                     configure-flags)))
+          (add-after 'install 'install-man-page
+            (lambda _
+              (let ((man (string-append #$output "/share/man")))
+                (install-file "objs/nginx.8" (string-append man "/man8")))))
+          (add-after 'install 'fix-root-dirs
+            (lambda _
+              ;; 'make install' puts things in strange places, so we need to
+              ;; clean it up ourselves.
+              (let* ((out #$output)
+                     (share (string-append out "/share/nginx")))
+                ;; This directory is empty, so get rid of it.
+                (rmdir (string-append out "/logs"))
+                ;; Example configuration and HTML files belong in
+                ;; /share.
+                (mkdir-p share)
+                (rename-file (string-append out "/conf")
+                             (string-append share "/conf"))
+                (rename-file (string-append out "/html")
+                             (string-append share "/html"))))))))
     (home-page "https://nginx.org")
     (synopsis "HTTP and reverse proxy server")
     (description
@@ -471,9 +468,9 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.")
 
 (define-public nginx-documentation
   ;; This documentation should be relevant for the current nginx package.
-  (let ((version "1.21.5")
-        (revision 2816)
-        (changeset "ae1d713a06e2"))
+  (let ((version "1.21.6")
+        (revision 2829)
+        (changeset "1ecf0e0526da"))
     (package
       (name "nginx-documentation")
       (version (simple-format #f "~A-~A-~A" version revision changeset))
@@ -485,7 +482,7 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.")
                (file-name (string-append name "-" version))
                (sha256
                 (base32
-                 "03j85wj6qb32q5xhq9nvcjzarq98802gaq6n3f7k85aqj731bml0"))))
+                 "1r3y9wv4bhji5b16ljb557llf6ih3z2mzgwbia79h7223468w3fg"))))
       (build-system gnu-build-system)
       (arguments
        '(#:tests? #f                    ; no test suite
@@ -729,42 +726,42 @@ documentation.")
        ,@(package-inputs nginx)))
     (arguments
      (substitute-keyword-arguments
-         `(#:configure-flags '("--add-dynamic-module=.")
-           #:make-flags '("modules")
+         `(#:make-flags '("modules")
            #:modules ((guix build utils)
                       (guix build gnu-build-system)
                       (ice-9 popen)
                       (ice-9 regex)
                       (ice-9 textual-ports))
-           ,@(package-arguments nginx))
+           ,@(package-arguments nginx)
+           #:configure-flags '("--add-dynamic-module=."))
        ((#:phases phases)
-        `(modify-phases ,phases
-           (add-after 'unpack 'unpack-nginx-sources
-             (lambda* (#:key inputs native-inputs #:allow-other-keys)
-               (begin
-                 ;; The nginx source code is part of the module’s source.
-                 (format #t "decompressing nginx source code~%")
-                 (let ((tar (assoc-ref inputs "tar"))
-                       (nginx-srcs (assoc-ref inputs "nginx-sources")))
-                   (invoke (string-append tar "/bin/tar")
-                           "xvf" nginx-srcs "--strip-components=1"))
-                 #t)))
-           (add-before 'configure 'set-luajit-env
-             (lambda* (#:key inputs #:allow-other-keys)
-               (let ((luajit (assoc-ref inputs "luajit")))
-                 (setenv "LUAJIT_LIB"
-                         (string-append luajit "/lib"))
-                 (setenv "LUAJIT_INC"
-                         (string-append luajit "/include/luajit-2.1"))
-                 #t)))
-           (replace 'install
-             (lambda* (#:key outputs #:allow-other-keys)
-               (let ((modules-dir (string-append (assoc-ref outputs "out")
-                                                 "/etc/nginx/modules")))
-                 (install-file "objs/ngx_http_lua_module.so" modules-dir)
-                 #t)))
-           (delete 'fix-root-dirs)
-           (delete 'install-man-page)))))
+        #~(modify-phases #$phases
+            (add-after 'unpack 'unpack-nginx-sources
+              (lambda* (#:key inputs native-inputs #:allow-other-keys)
+                (begin
+                  ;; The nginx source code is part of the module’s source.
+                  (format #t "decompressing nginx source code~%")
+                  (let ((tar (assoc-ref inputs "tar"))
+                        (nginx-srcs (assoc-ref inputs "nginx-sources")))
+                    (invoke (string-append tar "/bin/tar")
+                            "xvf" nginx-srcs "--strip-components=1"))
+                  #t)))
+            (add-before 'configure 'set-luajit-env
+              (lambda* (#:key inputs #:allow-other-keys)
+                (let ((luajit (assoc-ref inputs "luajit")))
+                  (setenv "LUAJIT_LIB"
+                          (string-append luajit "/lib"))
+                  (setenv "LUAJIT_INC"
+                          (string-append luajit "/include/luajit-2.1"))
+                  #t)))
+            (replace 'install
+              (lambda* (#:key outputs #:allow-other-keys)
+                (let ((modules-dir (string-append (assoc-ref outputs "out")
+                                                  "/etc/nginx/modules")))
+                  (install-file "objs/ngx_http_lua_module.so" modules-dir)
+                  #t)))
+            (delete 'fix-root-dirs)
+            (delete 'install-man-page)))))
     (synopsis "NGINX module for Lua programming language support")
     (description "This NGINX module provides a scripting support with Lua
 programming language.")))
@@ -789,34 +786,34 @@ programming language.")))
        ,@(package-inputs nginx)))
     (arguments
      (substitute-keyword-arguments
-         `(#:configure-flags '("--add-dynamic-module=.")
-           #:make-flags '("modules")
+         `(#:make-flags '("modules")
            #:modules ((guix build utils)
                       (guix build gnu-build-system))
-           ,@(package-arguments nginx))
+           ,@(package-arguments nginx)
+           #:configure-flags '("--add-dynamic-module=."))
        ((#:phases phases)
-        `(modify-phases ,phases
-           (add-after 'unpack 'unpack-nginx-sources
-             (lambda* (#:key inputs native-inputs #:allow-other-keys)
-               (begin
-                 ;; The nginx source code is part of the module’s source.
-                 (format #t "decompressing nginx source code~%")
-                 (invoke "tar" "xvf" (assoc-ref inputs "nginx-sources")
-                         ;; This package's LICENSE file would be
-                         ;; overwritten with the one from nginx when
-                         ;; unpacking the nginx source, so rename the nginx
-                         ;; one when unpacking.
-                         "--transform=s,/LICENSE$,/LICENSE.nginx,"
-                         "--strip-components=1")
-                 #t)))
-           (replace 'install
-             (lambda* (#:key outputs #:allow-other-keys)
-               (let ((modules-dir (string-append (assoc-ref outputs "out")
-                                                 "/etc/nginx/modules")))
-                 (install-file "objs/ngx_rtmp_module.so" modules-dir)
-                 #t)))
-           (delete 'fix-root-dirs)
-           (delete 'install-man-page)))))
+        #~(modify-phases #$phases
+            (add-after 'unpack 'unpack-nginx-sources
+              (lambda* (#:key inputs native-inputs #:allow-other-keys)
+                (begin
+                  ;; The nginx source code is part of the module’s source.
+                  (format #t "decompressing nginx source code~%")
+                  (invoke "tar" "xvf" (assoc-ref inputs "nginx-sources")
+                          ;; This package's LICENSE file would be
+                          ;; overwritten with the one from nginx when
+                          ;; unpacking the nginx source, so rename the nginx
+                          ;; one when unpacking.
+                          "--transform=s,/LICENSE$,/LICENSE.nginx,"
+                          "--strip-components=1")
+                  #t)))
+            (replace 'install
+              (lambda* (#:key outputs #:allow-other-keys)
+                (let ((modules-dir (string-append (assoc-ref outputs "out")
+                                                  "/etc/nginx/modules")))
+                  (install-file "objs/ngx_rtmp_module.so" modules-dir)
+                  #t)))
+            (delete 'fix-root-dirs)
+            (delete 'install-man-page)))))
     (home-page "https://github.com/arut/nginx-rtmp-module")
     (synopsis "NGINX module for audio and video streaming with RTMP")
     (description "This NGINX module provides streaming with the @acronym{RTMP,
@@ -4889,10 +4886,14 @@ It uses the uwsgi protocol for all the networking/interprocess communications.")
     (inputs
      (list oniguruma))
     (native-inputs
-     (list ;; TODO fix gems to generate documentation
-           ;;("ruby" ,ruby)
-           ;;("bundler" ,bundler)
-           valgrind))
+     (append
+       ;; TODO: fix gems to generate documentation
+       ;(list ruby bundler)
+       '()
+       (if (member (%current-system)
+                   (package-supported-systems valgrind))
+         (list valgrind)
+         '())))
     (build-system gnu-build-system)
     (home-page "https://stedolan.github.io/jq/")
     (synopsis "Command-line JSON processor")
@@ -7710,14 +7711,27 @@ bookmarks directly.  It can also present them in a web interface with
 (define-public anonip
   (package
     (name "anonip")
-    (version "1.0.0")
+    (version "1.1.0")
+    ;; The version on PyPi does not include fixture definitions for tests.
     (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "anonip" version))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/DigitaleGesellschaft/Anonip")
+                    (commit "beab328945547b0147a53655f32c5cc76ab4488b")))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0ckn9nnfhpdnz8b92q8pkysdqj6pdh71ckfqvfj0z01cq0hzbhd2"))))
+                "0cssdcridadjzichz1vv1ng7jwphqkn8ihh83hpz9mcjmxyb94qc"))))
     (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "pytest" "-vv" "tests.py" "anonip.py")))))))
+    (native-inputs
+     (list python-pytest python-pytest-cov))
     (home-page "https://github.com/DigitaleGesellschaft/Anonip")
     (synopsis "Anonymize IP addresses in log files")
     (description
@@ -7842,7 +7856,7 @@ solution for any project's interface needs:
 (define-public gmid
   (package
     (name "gmid")
-    (version "1.8.1")
+    (version "1.8.3")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -7850,7 +7864,7 @@ solution for any project's interface needs:
                     version "/gmid-" version ".tar.gz"))
               (sha256
                (base32
-                "0m4809mwy888bqsacmyck68grqfvynq74kswm109al6wjbvd61bn"))))
+                "1qbzlrzhyj7gvhgbm057zs1g5ajw1w6499qz61154v7ax8fwrdpp"))))
     (build-system gnu-build-system)
     (arguments
      (list #:test-target "regress"
@@ -7865,8 +7879,7 @@ solution for any project's interface needs:
                          coreutils
                          flex
                          pkg-config
-                         procps
-                         which))
+                         procps))
     (inputs (list libevent libressl))
     (home-page "https://git.omarpolo.com/gmid/about/")
     (synopsis "Simple and secure Gemini server")
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index f79d6bd4f6..476c33a1cd 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -6,7 +6,7 @@
 ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -27,6 +27,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix utils)
   #:use-module (guix build utils)
   #:use-module (guix build-system cmake)
@@ -41,6 +42,7 @@
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages games)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
@@ -121,239 +123,146 @@ the WPE-flavored port of WebKit.")
 engine that uses Wayland for graphics output.")
     (license license:bsd-2)))
 
-(define-public wpewebkit
-  (package
-    (name "wpewebkit")
-    (version "2.34.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri
-        (string-append "https://wpewebkit.org/releases/"
-                       name "-" version ".tar.xz"))
-       (sha256
-        (base32 "1z20bza01ld4jvi0qx8xsl5y4czaniwpi8hxdjyirj1mrszy8pf3"))))
-    (build-system cmake-build-system)
-    (outputs '("out" "doc"))
-    (arguments
-     `(#:tests? #f                      ; XXX: To be enabled
-       #:configure-flags
-       (list
-        "-DPORT=WPE"
-        ;; XXX: To be enabled.
-        ;; "-DENABLE_ACCELERATED_2D_CANVAS=ON"
-        "-DUSE_SYSTEMD=OFF"
-        "-DENABLE_ENCRYPTED_MEDIA=OFF"
-        "-DENABLE_GTKDOC=ON"
-        "-DUSE_GSTREAMER_GL=OFF")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'setenv
-           (lambda _
-             (setenv "HOME" "/tmp")
-             #t))
-         (add-after 'unpack 'patch-docbook-xml
-           (lambda* (#:key inputs #:allow-other-keys)
-             (for-each
-              (lambda (file)
-                (substitute* file
-                  (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
-                   (string-append (assoc-ref inputs "docbook-xml")
-                                  "/xml/dtd/docbook/docbookx.dtd"))))
-              (find-files "Source" "\\.sgml$"))
-             #t))
-         (add-after 'unpack 'patch-cmake
-           (lambda _
-             (substitute* "Source/PlatformWPE.cmake"
-               (("(Documentation/wpe(-webextensions)?-)\\$\\{WPE_API_VERSION\\}"
-                 all prefix)
-                (string-append prefix "${WPE_API_DOC_VERSION}"))
-               (("(html/wpe(-webextensions)?-)\\$\\{WPE_API_VERSION\\}"
-                 all prefix)
-                (string-append prefix "${WPE_API_DOC_VERSION}")))))
-         (add-after 'install 'move-doc-files
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (doc (assoc-ref outputs "doc")))
-               (mkdir-p (string-append doc "/share"))
-               (rename-file
-                (string-append out "/share/gtk-doc")
-                (string-append doc "/share/gtk-doc"))
-               #t))))))
-    (native-inputs
-     `(("docbook-xml" ,docbook-xml-4.1.2)
-       ("docbook-xsl" ,docbook-xsl)
-       ("glib:bin" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("gtk-doc" ,gtk-doc/stable)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("python2" ,python-2.7)
-       ("ruby" ,ruby)))
-    (inputs
-     `(("atk" ,atk)
-       ("atk-bridge" ,at-spi2-atk)
-       ("bubblewrap" ,bubblewrap)
-       ("cairo" ,cairo)
-       ("fontconfig" ,fontconfig)
-       ("freetype" ,freetype)
-       ("gperf" ,gperf)
-       ("gstreamer" ,gstreamer)
-       ("gst-plugins-base" ,gst-plugins-base)
-       ("harfbuzz" ,harfbuzz)
-       ("icu" ,icu4c)
-       ("lcms" ,lcms)
-       ("libepoxy" ,libepoxy)
-       ("libgcrypt" ,libgcrypt)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libpng" ,libpng)
-       ("libseccomp" ,libseccomp)
-       ("libtasn1" ,libtasn1)
-       ("libxml2" ,libxml2)
-       ("libxslt" ,libxslt)
-       ("mesa" ,mesa)
-       ("openjpeg" ,openjpeg)
-       ("sqlite" ,sqlite)
-       ("webp" ,libwebp)
-       ("woff2" ,woff2)
-       ("xdg-dbus-proxy" ,xdg-dbus-proxy)
-       ("zlib" ,zlib)))
-    (propagated-inputs
-     `(("glib" ,glib)
-       ("libsoup" ,libsoup)
-       ("wpe" ,libwpe)))
-    (synopsis "WebKit port optimized for embedded devices")
-    (description "WPE WebKit allows embedders to create simple and performant
-systems based on Web platform technologies.  It is designed with hardware
-acceleration in mind, leveraging common 3D graphics APIs for best performance.")
-    (home-page "https://wpewebkit.org/")
-    (license
-     (list
-      ;; Rendering and JavaScript Engines.
-      license:lgpl2.1+
-      ;; Others
-      license:bsd-2))
-    (properties '((cpe-name . "wpe_webkit")))))
+(define %webkit-version "2.36.0")
 
 (define-public webkitgtk
   (package
     (name "webkitgtk")
-    (version "2.34.6")
+    (version %webkit-version)
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.webkitgtk.org/releases/"
-                                  "webkitgtk-" version ".tar.xz"))
+                                  name "-" version ".tar.xz"))
               (sha256
-               (base32
-                "1xn1hhd0qaxmjf6vy6664i4mmmjsw9zgrr4w8ni3415d981zvj3b"))
-              (patches (search-patches "webkitgtk-bind-all-fonts.patch"
-                                       "webkitgtk-adjust-bubblewrap-paths.patch"
-                                       "webkitgtk-canonicalize-paths.patch"))))
+               (base32 "0kf6avqlq9f74lwzji7l3xlnng5yqarc4ykwsmfmy8q5y6hwqxxq"))
+              (patches (search-patches
+                        "webkitgtk-adjust-bubblewrap-paths.patch"))))
     (build-system cmake-build-system)
     (outputs '("out" "doc" "debug"))
     (arguments
-     `(#:tests? #f ; no tests
-       #:build-type "Release" ; turn off debugging symbols to save space
-       #:configure-flags (list
-                          "-DPORT=GTK"
-                          "-DENABLE_GTKDOC=ON" ; No doc by default
-                          ;; Requires libmanette, new dependency added in 2.32.0.
-                          ;; TODO Decide if we should enable this
-                          "-DENABLE_GAMEPAD=OFF"
-                          "-DUSE_SYSTEMD=OFF"
-                          (string-append ; uses lib64 by default
-                           "-DLIB_INSTALL_DIR="
-                           (assoc-ref %outputs "out") "/lib"))
-       #:make-flags
-       ;; Never build with unsupported -j1: https://issues.guix.gnu.org/47964#5
-       (list "-j" (number->string (max 2 (parallel-job-count))))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'configure-bubblewrap-store-directory
-           (lambda _
-             ;; This phase is a corollary to 'webkitgtk-share-store.patch' to
-             ;; avoid hard coding /gnu/store, for users with other prefixes.
-             (let ((store-directory (%store-directory)))
-               (substitute*
-                   "Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp"
-                 (("@storedir@") store-directory)))))
-         (add-after 'unpack 'patch-gtk-doc-scan
-           (lambda* (#:key inputs #:allow-other-keys)
-             (for-each (lambda (file)
-                         (substitute* file
-                           (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
-                            (string-append (assoc-ref inputs "docbook-xml")
-                                           "/xml/dtd/docbook/docbookx.dtd"))))
-                       (find-files "Source" "\\.sgml$"))))
-         (add-after 'unpack 'embed-absolute-wpebackend-reference
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((wpebackend-fdo (assoc-ref inputs "wpebackend-fdo")))
-               (substitute* "Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp"
-                 (("libWPEBackend-fdo-([\\.0-9]+)\\.so" all version)
-                  (string-append wpebackend-fdo "/lib/" all))))))
-         ,@(if (target-x86-64?)
-               '()
-               '((add-after 'unpack 'disable-sse2
-                   (lambda _
-                     (substitute* "Source/cmake/WebKitCompilerFlags.cmake"
-                       (("WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING")
-                        "FALSE"))))))
-         (add-after 'install 'move-doc-files
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (doc (assoc-ref outputs "doc")))
-               (mkdir-p (string-append doc "/share"))
-               (rename-file (string-append out "/share/gtk-doc")
-                            (string-append doc "/share/gtk-doc"))))))))
+     (list
+      ;; The release archive doesn't include the resources/sources needed to
+      ;; run the various regression tests.
+      #:tests? #f
+      ;; When building using the default RelWithDebInfo build type, the final
+      ;; binaries require 20 GiB of memory to link (even with ld.gold or lld)
+      ;; and produce 4.6 GiB of debug symbols.
+      #:build-type "Release"
+      #:configure-flags #~(list
+                           "-DPORT=GTK"
+                           ;; GTKDOC will be removed upstream soon in favor of
+                           ;; gi-docgen; it is normally disabled because the
+                           ;; doc is rather expensive to build.
+                           "-DENABLE_GTKDOC=ON"
+                           ;; The minibrowser, not built by default, is a good
+                           ;; tool to validate the good operation of
+                           ;; webkitgtk.
+                           "-DENABLE_MINIBROWSER=ON"
+                           ;; The default lib installation prefix is lib64.
+                           (string-append "-DLIB_INSTALL_DIR=" #$output "/lib"))
+      ;; The build may fail with -j1 (see:
+      ;; https://bugs.webkit.org/show_bug.cgi?id=195251).
+      #:make-flags #~(list "-j" (number->string (max 2 (parallel-job-count))))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'configure-bubblewrap-store-directory
+            (lambda _
+              ;; This phase works in tandem with
+              ;; webkitgtk-adjust-bubblewrap-paths.patch and avoids hard
+              ;; coding /gnu/store, for users with other prefixes.
+              (let ((store-directory (%store-directory)))
+                (substitute*
+                    "Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp"
+                  (("@storedir@") store-directory)))))
+          (add-after 'unpack 'do-not-disable-new-dtags
+            ;; Ensure the linker uses new dynamic tags as this is what Guix
+            ;; uses and validates in the validate-runpath phase.
+            (lambda _
+              (substitute* "Source/cmake/OptionsCommon.cmake"
+                (("if \\(LD_SUPPORTS_DISABLE_NEW_DTAGS\\)")
+                 "if (FALSE)"))))
+          (add-after 'unpack 'help-cmake-find-elogind
+            (lambda _
+              (substitute* "Source/cmake/FindJournald.cmake"
+                ;; Otherwise, CMake would throw an error because it relies on
+                ;; the pkg-config search to locate headers.
+                (("pkg_check_modules\\(PC_SYSTEMD QUIET libsystemd")
+                 "pkg_check_modules(PC_SYSTEMD QUIET libelogind"))))
+          (add-after 'unpack 'patch-gtk-doc-scan
+            (lambda* (#:key native-inputs inputs #:allow-other-keys)
+              (substitute* (find-files "Source" "\\.sgml$")
+                (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
+                 (search-input-file (or native-inputs inputs)
+                                    "xml/dtd/docbook/docbookx.dtd")))))
+          (add-after 'unpack 'embed-absolute-wpebackend-reference
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((wpebackend-fdo (assoc-ref inputs "wpebackend-fdo")))
+                (substitute* "Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp"
+                  (("libWPEBackend-fdo-[\\.0-9]+\\.so" all)
+                   (search-input-file inputs (string-append "lib/" all)))))))
+          #$@(if (target-x86-64?)
+                 '()
+                 '((add-after 'unpack 'disable-sse2
+                     (lambda _
+                       (substitute* "Source/cmake/WebKitCompilerFlags.cmake"
+                         (("WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING")
+                          "FALSE"))))))
+          (add-after 'install 'move-doc-files
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let ((doc (assoc-ref outputs "doc")))
+                (mkdir-p (string-append doc "/share"))
+                (rename-file (string-append #$output "/share/gtk-doc")
+                             (string-append doc "/share/gtk-doc"))))))))
     (native-inputs
-     `(("bison" ,bison)
-       ("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
-       ("gobject-introspection" ,gobject-introspection)
-       ("gperf" ,gperf)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("gtk-doc" ,gtk-doc/stable) ; For documentation generation
-       ("docbook-xml" ,docbook-xml) ; For documentation generation
-       ("ruby" ,ruby)))
+     (list bison
+           gettext-minimal
+           `(,glib "bin")               ;for glib-mkenums, etc.
+           gobject-introspection
+           gperf
+           perl
+           pkg-config
+           python-wrapper
+           ;; These are required to build the documentation.
+           gtk-doc/stable
+           docbook-xml
+           ruby))
     (propagated-inputs
      (list gtk+ libsoup))
     (inputs
-     `(("at-spi2-core" ,at-spi2-core)
-       ("bubblewrap" ,bubblewrap)
-       ("enchant" ,enchant)
-       ("geoclue" ,geoclue)
-       ("gst-plugins-base" ,gst-plugins-base)
-       ("gtk+-2" ,gtk+-2)
-       ("harfbuzz" ,harfbuzz)
-       ("hyphen" ,hyphen)
-       ("icu4c" ,icu4c)
-       ("lcms" ,lcms)
-       ("libgcrypt" ,libgcrypt)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libnotify" ,libnotify)
-       ("libpng" ,libpng)
-       ("libseccomp" ,libseccomp)
-       ("libsecret" ,libsecret)
-       ("libtasn1" ,libtasn1)
-       ("libwebp" ,libwebp)
-       ("libwpe" ,libwpe)
-       ("libxcomposite" ,libxcomposite)
-       ("libxml2" ,libxml2)
-       ("libxslt" ,libxslt)
-       ("libxt" ,libxt)
-       ("mesa" ,mesa)
-       ("openjpeg" ,openjpeg)
-       ("sqlite" ,sqlite)
-       ("woff2" ,woff2)
-       ("wpebackend-fdo" ,wpebackend-fdo)
-       ("xdg-dbus-proxy" ,xdg-dbus-proxy)))
+     (list at-spi2-core
+           bubblewrap
+           elogind
+           enchant
+           geoclue
+           gst-plugins-base
+           gtk+-2
+           harfbuzz
+           hyphen
+           icu4c
+           lcms
+           libgcrypt
+           libjpeg-turbo
+           libmanette
+           libnotify
+           libpng
+           libseccomp
+           libsecret
+           libtasn1
+           libwebp
+           libwpe
+           libxcomposite
+           libxml2
+           libxslt
+           libxt
+           mesa
+           openjpeg
+           sqlite
+           woff2
+           wpebackend-fdo
+           xdg-dbus-proxy))
     (home-page "https://www.webkitgtk.org/")
     (synopsis "Web content engine for GTK+")
-    (description
-     "WebKitGTK+ is a full-featured port of the WebKit rendering engine,
+    (description "WebKitGTK+ is a full-featured port of the WebKit rendering engine,
 suitable for projects requiring any kind of web integration, from hybrid
 HTML/CSS applications to full-fledged web browsers.  WebKitGTK+ video playing
 capabilities can be extended through the use of GStreamer plugins (not
@@ -366,17 +275,40 @@ propagated by default) such as @code{gst-plugins-good} and
                    license:bsd-2
                    license:bsd-3))))
 
-;;; Required by gnome-online-accounts; as webkitgtk 2.34 propagates libsoup 3,
-;;; which causes the build to fail.
-;;; Also required by e.g. emacs-next-pgtk,  emacs-xwidgets, and some other
-;;; Gnome packages for webkit2gtk-4.0. See also the upstream tracker for
-;;; libsoup 3: https://gitlab.gnome.org/GNOME/libsoup/-/issues/218
+;;; Required by gnome-online-accounts as webkitgtk propagates libsoup 3, which
+;;; causes the build to fail.  Also required by e.g. emacs-next-pgtk,
+;;; emacs-xwidgets, and some other GNOME packages for webkit2gtk-4.0.  See
+;;; also the upstream tracker for libsoup 3:
+;;; https://gitlab.gnome.org/GNOME/libsoup/-/issues/218
 (define-public webkitgtk-with-libsoup2
   (package/inherit webkitgtk
     (name "webkitgtk-with-libsoup2")
     (arguments (substitute-keyword-arguments (package-arguments webkitgtk)
                  ((#:configure-flags flags)
-                  `(cons "-DUSE_SOUP2=ON" ,flags))))
+                  #~(cons "-DUSE_SOUP2=ON" #$flags))))
     (propagated-inputs
-     (alist-replace "libsoup" (list libsoup-minimal-2)
-                    (package-propagated-inputs webkitgtk)))))
+     (modify-inputs (package-propagated-inputs webkitgtk)
+       (replace "libsoup" libsoup-minimal-2)))))
+
+(define-public wpewebkit
+  (package
+    (inherit webkitgtk)
+    (name "wpewebkit")
+    (version %webkit-version)
+    (source (origin
+              (inherit (package-source webkitgtk))
+              (uri (string-append "https://wpewebkit.org/releases/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32 "0nkdx6pckbkhs85z3pidnh4cbp0wfa38lf2qyn0grywvgpwajsh9"))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments webkitgtk)
+       ((#:configure-flags flags)
+        #~(cons "-DPORT=WPE"
+                (delete "-DPORT=GTK" #$flags)))))
+    (synopsis "WebKit port optimized for embedded devices")
+    (description "WPE WebKit allows embedders to create simple and performant
+systems based on Web platform technologies.  It is designed with hardware
+acceleration in mind, leveraging common 3D graphics APIs for best performance.")
+    (home-page "https://wpewebkit.org/")
+    (properties '((cpe-name . "wpe_webkit")))))
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 3de760d7a6..036665f7f0 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -51,6 +51,7 @@
 ;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
 ;;; Copyright © 2022 Gabriel Wicki <gabriel@erlikon.ch>
 ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
+;;; Copyright © 2022 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -758,22 +759,21 @@ desktop environment.")
     (inputs (list ghc-data-default-class ghc-setlocale ghc-x11))
     (native-inputs (list ghc-quickcheck ghc-quickcheck-classes))
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after
-          'install 'install-xsession
-          (lambda _
-            (let* ((xsessions (string-append %output "/share/xsessions")))
-              (mkdir-p xsessions)
-              (call-with-output-file
-                  (string-append xsessions "/xmonad.desktop")
-                (lambda (port)
-                  (format port "~
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'install 'install-xsession
+                 (lambda _
+                   (let ((xsessions (string-append #$output "/share/xsessions")))
+                     (mkdir-p xsessions)
+                     (call-with-output-file (string-append xsessions
+                                                           "/xmonad.desktop")
+                       (lambda (port)
+                         (format port "~
                     [Desktop Entry]~@
                     Name=~a~@
                     Comment=~a~@
                     Exec=~a/bin/xmonad~@
-                    Type=Application~%" ,name ,synopsis %output)))))))))
+                    Type=Application~%" #$name #$synopsis #$output)))))))))
     (home-page "https://xmonad.org")
     (description
      "Xmonad is a tiling window manager for X.  Windows are arranged
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index cdd98f2863..814b11093f 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -14,7 +14,7 @@
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
 ;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de>
-;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2021, 2022 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2021 André A. Gomes <andremegafone@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -36,6 +36,7 @@
   #:use-module (gnu artwork)
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages calendar)
   #:use-module (gnu packages cdrom)
   #:use-module (gnu packages fonts)
@@ -164,12 +165,12 @@ Xfce Desktop Environment.")
                                (string-append etc "/bash_completion.d"))))))
          (delete 'check))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("intltool" ,intltool)
-       ("glib:bin" ,glib "bin") ;; for gdbus-codegen
-       ("gobject-introspection" ,gobject-introspection)
-       ("vala" ,vala)
-       ("dbus" ,dbus)))
+     (list pkg-config
+           intltool
+           `(,glib "bin") ;; for gdbus-codegen
+           gobject-introspection
+           vala
+           dbus))
     (propagated-inputs
      ;; libxfconf-0.pc refers to all these.
      (list glib))
@@ -201,10 +202,10 @@ storage system.")
     (native-inputs
      (list pkg-config intltool gobject-introspection))
     (propagated-inputs
-     `(("gtk+-3" ,gtk+)    ; required by libxfce4ui-2.pc
-       ;; libxfce4kbd-private-3.pc refers to all these.
-       ("libxfce4util" ,libxfce4util)
-       ("xfconf" ,xfconf)))
+     (list gtk+    ; required by libxfce4ui-2.pc
+           ;; libxfce4kbd-private-3.pc refers to all these.
+           libxfce4util
+           xfconf))
     (inputs (list libsm libice startup-notification))
     (home-page "https://www.xfce.org/")
     (synopsis "Widgets library for Xfce")
@@ -268,7 +269,7 @@ it to your needs by using several command line options.")
 (define-public elementary-xfce-icon-theme
   (package
     (name "elementary-xfce-icon-theme")
-    (version "0.15.2")
+    (version "0.16")
     (source (origin
               (method git-fetch)
               (uri
@@ -278,7 +279,7 @@ it to your needs by using several command line options.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1g6vndqvp11c2kl5vkpzb1wxvr2pfb3hvqxjjdgx6qzq9x8zmiqk"))))
+                "1s8g7qyjdlq93fbrgysahy5kcbd8b2cpnfmpdvl0vbzyhy2x18d7"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f                      ; no check target
@@ -395,7 +396,7 @@ management D-Bus specification.")
 (define-public xfce4-panel
   (package
     (name "xfce4-panel")
-    (version "4.16.3")
+    (version "4.16.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -403,7 +404,7 @@ management D-Bus specification.")
                                   name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "14p0y6d3frphv67vsvnx6c1l4m82c1wwsk3kkg155nknibnyld2r"))
+                "116dr516dvcgnccc55p0ks5dgc1s7v9rvb66lkdl8lk53al53bqz"))
               (patches (search-patches "xfce4-panel-plugins.patch"))))
     (build-system gnu-build-system)
     (arguments
@@ -415,20 +416,20 @@ management D-Bus specification.")
                (("/usr/share/zoneinfo")
                 (search-input-directory inputs "share/zoneinfo"))))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("intltool" ,intltool)
-       ("glib:bin" ,glib "bin")))
+     (list pkg-config
+           intltool
+           `(,glib "bin")))
     (propagated-inputs
-     `(("gtk+-3" ,gtk+)                 ; required by libxfce4panel-2.0.pc
-       ("libxfce4util" ,libxfce4util))) ; required by libxfce4panel-2.0.pc
+     (list gtk+ ; required by libxfce4panel-2.0.pc
+           libxfce4util)) ; required by libxfce4panel-2.0.pc
     (inputs
-     `(("tzdata" ,tzdata) ;; For fix-tzdata-path phase only.
-       ("exo" ,exo)
-       ("gtk+-2" ,gtk+-2)
-       ("xfconf" ,xfconf)
-       ("garcon" ,garcon)
-       ("libwnck" ,libwnck)
-       ("libxfce4ui" ,libxfce4ui)))
+     (list tzdata ;; For fix-tzdata-path phase only.
+           exo
+           gtk+-2
+           xfconf
+           garcon
+           libwnck
+           libxfce4ui))
     (native-search-paths
      (list (search-path-specification
             (variable "X_XFCE4_LIB_DIRS")
@@ -535,7 +536,7 @@ keys for controlling the audio volume.")
 (define-public xfce4-whiskermenu-plugin
   (package
     (name "xfce4-whiskermenu-plugin")
-    (version "2.6.1")
+    (version "2.6.2")
     (source
      (origin
        (method url-fetch)
@@ -543,17 +544,17 @@ keys for controlling the audio volume.")
                            "xfce4-whiskermenu-plugin/" (version-major+minor version) "/"
                            "xfce4-whiskermenu-plugin-" version ".tar.bz2"))
        (sha256
-        (base32 "0wpcc9i505mh6vphg27ph43dw4n3z59mwy39416yzmw325q04kl5"))))
+        (base32 "0vppm85pvhsigg5d74nx7cixlsrsyfjagw6avrdclfjr30nf483d"))))
     (build-system cmake-build-system)
     (native-inputs
      (list pkg-config intltool))
     (inputs
-     `(("xfce4-panel" ,xfce4-panel)
-       ("garcon" ,garcon)
-       ("gettext" ,gettext-minimal)
-       ("exo" ,exo)
-       ("gtk+" ,gtk+)
-       ("libxfce4ui" ,libxfce4ui)))
+     (list xfce4-panel
+           garcon
+           gettext-minimal
+           exo
+           gtk
+           libxfce4ui))
     (arguments
      `(#:tests? #f                      ; no tests
        #:phases
@@ -881,10 +882,79 @@ optional application menu or icons for minimized applications or launchers,
 devices and folders.")
     (license gpl2+)))
 
+(define-public gigolo
+  (package
+    (name "gigolo")
+    (version "0.5.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://archive.xfce.org/src/apps/"
+                                  name "/" (version-major+minor version)
+                                  "/" name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "1hxv3lla567nnqxxly8xfi8fzmpcdhxb493x9hinr7szfnh1ljp3"))))
+    (build-system gnu-build-system)
+    (native-inputs (list pkg-config intltool))
+    (inputs (list gtk+))
+    (home-page "https://www.xfce.org/")
+    (synopsis "Manage connections to remote file systems")
+    (description
+     "Gigolo is a graphical user interface to easily manage connections to
+remote file systems using GIO/GVfs.  It allows you to quickly connect/mount
+local and remote file systems and manage bookmarks of such.")
+    (license gpl2)))                              ;version 2 only
+
+(define-public parole
+  (package
+    (name "parole")
+    (version "4.16.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://archive.xfce.org/src/apps/"
+                                  name "/" (version-major+minor version) "/"
+                                  name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "1rx7apylqb7mf1dl0sswj1630fca3ddk4x1gcdmlv5ykrkc5lc0d"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:configure-flags
+      #~(list (string-append "CPPFLAGS=-I"
+                             #$(this-package-input "gst-plugins-base")
+                             "/include/gstreamer-1.0"))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'install 'wrap-parole
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
+                (wrap-program (string-append #$output "/bin/parole")
+                  #:sh (search-input-file inputs "bin/bash")
+                  `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))))))))
+    (native-inputs
+     (list pkg-config intltool gobject-introspection))
+    (inputs
+     (list bash-minimal                           ;for 'wrap-program'
+           dbus-glib
+           (list glib "bin")
+           gstreamer
+           gst-plugins-base
+           gst-plugins-good
+           libnotify
+           libxfce4ui
+           libxfce4util))
+    (home-page "https://www.xfce.org/")
+    (synopsis "Media player based on the GStreamer framework")
+    (description "Parole is a modern simple media player based on the
+GStreamer framework and written to fit well in the Xfce desktop.  Parole
+features playback of local media files, DVD/CD and live streams.")
+    (license gpl2)))                    ;version 2 only
+
 (define-public xfce4-terminal
   (package
     (name "xfce4-terminal")
-    (version "0.8.10")
+    (version "1.0.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://archive.xfce.org/src/apps/" name "/"
@@ -892,7 +962,7 @@ devices and folders.")
                                   name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "1irxyg5vp6vyd9vxdqav6jhchfkmhlqq511386h644p0k30kfcvs"))))
+                "19gbw5cp1qdg59l53y36cczm37l18c2cx2lhw25pzs9z3n3r0dhx"))))
     (build-system gnu-build-system)
     (native-inputs
      (list pkg-config intltool))
@@ -909,6 +979,76 @@ menubar and the window decorations are hidden) that helps you to save space
 on your desktop.")
     (license gpl2+)))
 
+(define-public xfce4-dict
+  (package
+    (name "xfce4-dict")
+    (version "0.8.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://archive.xfce.org/src/apps/" name "/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "1qriyvii50v8a8dx7aw6nlm888mf5cjrb9nwm3r0dcs2yzxzx1fb"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     (list intltool pkg-config))
+    (inputs
+     (list libxfce4ui xfce4-panel))
+    (home-page "https://www.xfce.org/")
+    (synopsis "Dictionary of Xfce desktop")
+    (description
+     "Xfce4-dict allows you to search different kinds of dictionary services
+for words or phrases and shows you the result.  Currently you can query a Dict
+server (RFC 2229), any online dictionary service by opening a web browser or
+search for words using the aspell/ispell program.
+
+xfce4-dict contains a stand-alone application called “xfce4-dict” and a panel
+plugin for the Xfce panel.")
+    (license gpl2+)))
+
+(define-public xfdashboard
+  (package
+    (name "xfdashboard")
+    (version "0.8.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://archive.xfce.org/src/apps/"
+                                  name
+                                  "/"
+                                  (version-major+minor version)
+                                  "/"
+                                  name
+                                  "-"
+                                  version
+                                  ".tar.bz2"))
+              (sha256
+               (base32
+                "1xfyli91gpw7bn9gjk6gp8lnn50qsjd5lh5mzypz9kx3l88wbas4"))))
+    (build-system gnu-build-system)
+    (native-inputs (list intltool pkg-config `(,glib "bin")))
+    (inputs (list clutter
+                  garcon
+                  gtk+
+                  libwnck
+                  libxcomposite
+                  libxdamage
+                  libxfce4util
+                  libxfce4ui
+                  libxinerama
+                  xfconf))
+    (home-page "https://www.xfce.org/")
+    (synopsis "Gnome shell like dashboard for Xfce")
+    (description
+     "Xfdashboard provides a GNOME shell dashboard and MacOS Mission Control
+like interface for Xfce desktop.  It can be configured to run with any
+keyboard shortcut, when executed it provides an overview of applications
+currently opened which let user to switch between different applications.  Its
+search feature works like Xfce's app finder and makes it convenient to search
+for and start applications.")
+    (license gpl2+)))
+
 (define-public mate-polkit-for-xfce
   (package/inherit mate-polkit
     (arguments
@@ -944,31 +1084,32 @@ on your desktop.")
                          directories)
             #t)))))
     (inputs
-     `(("exo"                  ,exo)
-       ("garcon"               ,garcon)
-       ("gnome-icon-theme"     ,gnome-icon-theme)
-       ("gtk-xfce-engine"      ,gtk-xfce-engine)
-       ("hicolor-icon-theme"   ,hicolor-icon-theme)
-       ("mate-polkit-for-xfce" ,mate-polkit-for-xfce)
-       ("ristretto"            ,ristretto)
-       ("shared-mime-info"     ,shared-mime-info)
-       ("thunar"               ,thunar)
-       ("thunar-volman"        ,thunar-volman)
-       ("tumbler"              ,tumbler)
-       ("xfce4-appfinder"      ,xfce4-appfinder)
-       ("xfce4-panel"          ,xfce4-panel)
-       ("xfce4-power-manager"  ,xfce4-power-manager)
-       ("xfce4-session"        ,xfce4-session)
-       ("xfce4-settings"       ,xfce4-settings)
-       ("xfce4-terminal"       ,xfce4-terminal)
-       ("xfconf"               ,xfconf)
-       ("xfdesktop"            ,xfdesktop)
-       ("xfwm4"                ,xfwm4)
-       ;; Panel plugins.
-       ("xfce4-battery-plugin"    ,xfce4-battery-plugin)
-       ("xfce4-clipman-plugin"    ,xfce4-clipman-plugin)
-       ("xfce4-pulseaudio-plugin" ,xfce4-pulseaudio-plugin)
-       ("xfce4-xkb-plugin"        ,xfce4-xkb-plugin)))
+     (list exo
+           garcon
+           gnome-icon-theme
+           gtk-xfce-engine
+           hicolor-icon-theme
+           mate-polkit-for-xfce
+           ristretto
+           shared-mime-info
+           thunar
+           thunar-volman
+           tumbler
+           xfce4-appfinder
+           xfce4-notifyd                          ;for pop-up notifications
+           xfce4-panel
+           xfce4-power-manager
+           xfce4-session
+           xfce4-settings
+           xfce4-terminal
+           xfconf
+           xfdesktop
+           xfwm4
+           ;; Panel plugins.
+           xfce4-battery-plugin
+           xfce4-clipman-plugin
+           xfce4-pulseaudio-plugin
+           xfce4-xkb-plugin))
     (propagated-inputs
      ;; Default font that applications such as IceCat require.
      (list font-dejavu))
@@ -1071,7 +1212,7 @@ memory usage graphically, and it can display processes as a tree.")
 (define-public orage
   (package
     (name "orage")
-    (version "4.12.1")
+    (version "4.16.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://archive.xfce.org/src/apps/"
@@ -1079,20 +1220,15 @@ memory usage graphically, and it can display processes as a tree.")
                                   name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "0qlhvnl2m33vfxqlbkic2nmfpwyd4mq230jzhs48cg78392amy9w"))))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-build-with-libical3
-           (lambda* _
-             (substitute* "src/ical-code.c" ;; .is_utc not available in libical3
-               ((".*\\.is_utc.*$") ""))
-             #t)))))
+                "000py6r63rlv7pjwvwd7ycrb383lny8ha7ha3qpwh1r0d8xil496"))))
     (build-system gnu-build-system)
     (native-inputs
-     (list intltool pkg-config))
+     (list
+      `(,glib "bin")                    ; for dbus-binding-tool
+      intltool
+      pkg-config))
     (inputs
-     (list gtk+-2 libical libnotify popt xfce4-panel))
+     (list dbus-glib gtk+-2 libical libnotify libxfce4ui popt xfce4-panel))
     (home-page "https://www.xfce.org/projects/")
     (synopsis "Simple calendar application with reminders")
     (description
@@ -1169,7 +1305,7 @@ of data to either CD/DVD/BD.")
 (define-public mousepad
   (package
     (name "mousepad")
-    (version "0.5.8")
+    (version "0.5.9")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://archive.xfce.org/src/apps/mousepad/"
@@ -1177,7 +1313,7 @@ of data to either CD/DVD/BD.")
                                   version ".tar.bz2"))
               (sha256
                (base32
-                "08d7qfisdq59phbm0nbjr667av7l4qnpl5x565pybqnmvz7vn7lj"))))
+                "0wzlcwhvpnig6123k83fsmrfjq5x1pqncxmnd8k2fmzccz0sh27i"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '(;; Use the GSettings keyfile backend rather than
@@ -1208,7 +1344,7 @@ of data to either CD/DVD/BD.")
 (define-public xfce4-screenshooter
   (package
    (name "xfce4-screenshooter")
-   (version "1.9.9")
+   (version "1.9.10")
    (source (origin
             (method url-fetch)
             (uri (string-append "https://archive.xfce.org/src/apps/"
@@ -1218,7 +1354,7 @@ of data to either CD/DVD/BD.")
                                 version ".tar.bz2"))
             (sha256
              (base32
-              "196swmc4amab8xcwv4q9p8b43fzzi9xagg20gnyjvf5x7yssxj1k"))))
+              "1mwjhakbjv9g6ffn6c55cbrfsrqhb2apwhmffvz8rfgm4y2igd04"))))
    (build-system gnu-build-system)
    (native-inputs
     (list pkg-config intltool
@@ -1261,19 +1397,19 @@ A plugin for the Xfce panel is also available.")
                   (string-append "DBUS_SESSION_SERVICE_DIR="
                                  dbus-dir)))))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("intltool" ,intltool)
-       ("glib" ,glib)                             ; glib-compile-schemas
-       ("glib:bin" ,glib "bin")))                 ; glib-compile-schemas
+     (list pkg-config
+           intltool
+           glib ; glib-compile-schemas
+           `(,glib "bin")))                 ; glib-compile-schemas
     (inputs
-     `(("dbus-glib" ,dbus-glib)
-       ("libux-pam" ,linux-pam)
-       ("elogind" ,elogind)
-       ("garcon" ,garcon)
-       ("libxklavier" ,libxklavier)
-       ("libwnxk" ,libwnck)
-       ("libxscrnsaver" ,libxscrnsaver)
-       ("xfconf" ,xfconf)))
+     (list dbus-glib
+           linux-pam
+           elogind
+           garcon
+           libxklavier
+           libwnck
+           libxscrnsaver
+           xfconf))
     (home-page "https://docs.xfce.org/apps/screensaver/start")
     (synopsis "Screensaver for the Xfce desktop")
     (description
@@ -1466,7 +1602,7 @@ governor and frequencies supported and used by your system.")
 (define-public xfce4-diskperf-plugin
   (package
    (name "xfce4-diskperf-plugin")
-   (version "2.6.3")
+   (version "2.7.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://archive.xfce.org/src/panel-plugins/"
@@ -1475,7 +1611,7 @@ governor and frequencies supported and used by your system.")
                                   "/xfce4-diskperf-plugin-" version ".tar.bz2"))
               (sha256
                (base32
-                "0n8wsnjvzw98z8r0f0zr8n2gicjz6hhislp86xrjh0r4xcnymcbk"))))
+                "1jgcdwiaqs06l729vbj3kgv67iwimjp8gfy7ydzlvbx6859sc2ar"))))
     (build-system gnu-build-system)
     (native-inputs
      (list intltool pkg-config))
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 49275c3e0c..db004c11b6 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013-2016, 2018-2019, 2022 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
@@ -88,7 +88,7 @@
 (define-public libxmlb
   (package
     (name "libxmlb")
-    (version "0.1.15")
+    (version "0.3.8")
     (source
      (origin
        (method git-fetch)
@@ -98,7 +98,7 @@
          (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1mb73pnfwqc4mm0lm16yfn0lj495h8hcciprb2v6wgy3ifnnjxib"))))
+        (base32 "0znz2y1ig2kvlda44a3kxa8x7f222nbg50rjz6nlngzka0ccsgxx"))))
     (build-system meson-build-system)
     (arguments
      `(#:glib-or-gtk? #t))
@@ -2529,6 +2529,18 @@ because lxml.etree already has its own implementation of XPath 1.0.")
 libxml2 and libxslt.")
     (license license:bsd-3))) ; and a few more, see LICENSES.txt
 
+(define-public python-lxml-4.7
+  (package
+    (inherit python-lxml)
+    (version "4.7.1")
+    (source
+     (origin
+       (inherit (package-source python-lxml))
+       (uri (pypi-uri "lxml" version))
+       (sha256
+        (base32
+         "090viyanaki4q7w7i000xl0qh4in52bkl3qal55sz2bbm8w3hqd1"))))))
+
 (define-public python2-lxml
   (package-with-python2 python-lxml))
 
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index dd0878a98c..ca01cd0b5a 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -6145,12 +6145,15 @@ 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 "10lc72spa69n9d7zg9nwhgwz70qzidp5i17jgw3lq3qg1a25sg4n"))))
+        (base32 "10lc72spa69n9d7zg9nwhgwz70qzidp5i17jgw3lq3qg1a25sg4n"))
+       (patches
+         (search-patches "xterm-370-explicit-xcursor.patch"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts"
                            "--enable-i18n" "--enable-doublechars"
-                           "--enable-luit" "--enable-mini-luit")
+                           "--enable-luit" "--enable-mini-luit"
+                           "X_EXTRA_LIBS=-lXcursor")
        #:tests? #f                      ; no test suite
        #:phases
        (modify-phases %standard-phases
diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm
index 4c048ef580..9e99fdb857 100644
--- a/gnu/packages/zig.scm
+++ b/gnu/packages/zig.scm
@@ -39,14 +39,11 @@
        (file-name (git-file-name name version))
        (sha256
         (base32 "0nfvgg23sw50ksy0z0ml6lkdsvmd0278mq29m23dbb2jsirkhry7"))
-       (patches
-        (search-patches
-         "zig-disable-libc-note-test.patch"
-         "zig-use-system-paths.patch"))))
+       (patches (search-patches "zig-use-system-paths.patch"))))
     (build-system cmake-build-system)
     (inputs
      (list clang-13 ; Clang propagates llvm.
-           lld))
+           lld-13))
     ;; Zig compiles fine with GCC, but also needs native LLVM libraries.
     (native-inputs
      (list llvm-13))