summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-09-27 14:24:37 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-09-27 14:27:28 -0400
commit3c6e220d8100281074c414a43c1efe9a01b53771 (patch)
treedc5d47fbbac3842d0da893adcd398dea10c1e681 /gnu/packages
parent08473753a0ebafef22c0894d846e3b42fd6be2a2 (diff)
parent62048ff9fcfbe3fc790a7207fc5f6f3e0476a02a (diff)
downloadguix-3c6e220d8100281074c414a43c1efe9a01b53771.tar.gz
Merge branch 'master' into staging.
With resolved conflicts in:
	gnu/local.mk
	gnu/packages/crates-io.scm
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/accessibility.scm33
-rw-r--r--gnu/packages/admin.scm14
-rw-r--r--gnu/packages/algebra.scm13
-rw-r--r--gnu/packages/astronomy.scm45
-rw-r--r--gnu/packages/bioconductor.scm16
-rw-r--r--gnu/packages/bioinformatics.scm371
-rw-r--r--gnu/packages/busybox.scm117
-rw-r--r--gnu/packages/calendar.scm13
-rw-r--r--gnu/packages/clojure.scm4
-rw-r--r--gnu/packages/connman.scm5
-rw-r--r--gnu/packages/containers.scm4
-rw-r--r--gnu/packages/coq.scm124
-rw-r--r--gnu/packages/cran.scm877
-rw-r--r--gnu/packages/crates-graphics.scm10
-rw-r--r--gnu/packages/crates-io.scm801
-rw-r--r--gnu/packages/cross-base.scm2
-rw-r--r--gnu/packages/crypto.scm40
-rw-r--r--gnu/packages/databases.scm4
-rw-r--r--gnu/packages/docbook.scm173
-rw-r--r--gnu/packages/emacs-xyz.scm688
-rw-r--r--gnu/packages/emacs.scm4
-rw-r--r--gnu/packages/enlightenment.scm8
-rw-r--r--gnu/packages/finance.scm8
-rw-r--r--gnu/packages/fonts.scm22
-rw-r--r--gnu/packages/games.scm187
-rw-r--r--gnu/packages/geo.scm2
-rw-r--r--gnu/packages/gnome-xyz.scm76
-rw-r--r--gnu/packages/gnome.scm169
-rw-r--r--gnu/packages/gnuzilla.scm711
-rw-r--r--gnu/packages/guile-xyz.scm15
-rw-r--r--gnu/packages/instrumentation.scm78
-rw-r--r--gnu/packages/ipfs.scm108
-rw-r--r--gnu/packages/jami.scm44
-rw-r--r--gnu/packages/java.scm856
-rw-r--r--gnu/packages/libusb.scm70
-rw-r--r--gnu/packages/linux.scm60
-rw-r--r--gnu/packages/lisp-check.scm4
-rw-r--r--gnu/packages/lisp-xyz.scm32
-rw-r--r--gnu/packages/lisp.scm8
-rw-r--r--gnu/packages/lua.scm8
-rw-r--r--gnu/packages/machine-learning.scm204
-rw-r--r--gnu/packages/maths.scm1
-rw-r--r--gnu/packages/maven.scm97
-rw-r--r--gnu/packages/messaging.scm4
-rw-r--r--gnu/packages/monitoring.scm46
-rw-r--r--gnu/packages/networking.scm54
-rw-r--r--gnu/packages/ocaml.scm169
-rw-r--r--gnu/packages/patches/connman-CVE-2022-32292.patch34
-rw-r--r--gnu/packages/patches/connman-CVE-2022-32293-pt1.patch140
-rw-r--r--gnu/packages/patches/connman-CVE-2022-32293-pt2.patch173
-rw-r--r--gnu/packages/patches/gnome-todo-libportal.patch54
-rw-r--r--gnu/packages/patches/jami-fix-crash-on-block-contact.patch32
-rw-r--r--gnu/packages/patches/jami-fix-esc-bug.patch24
-rw-r--r--gnu/packages/patches/pjproject-install-libpjsua2.patch19
-rw-r--r--gnu/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch25
-rw-r--r--gnu/packages/patches/qemu-disable-aarch64-migration-test.patch13
-rw-r--r--gnu/packages/patches/r-httpuv-1.6.6-unvendor-libuv.patch (renamed from gnu/packages/patches/r-httpuv-1.5.5-unvendor-libuv.patch)13
-rw-r--r--gnu/packages/pdf.scm33
-rw-r--r--gnu/packages/python-build.scm23
-rw-r--r--gnu/packages/python-crypto.scm81
-rw-r--r--gnu/packages/python-science.scm58
-rw-r--r--gnu/packages/python-xyz.scm64
-rw-r--r--gnu/packages/rust-apps.scm26
-rw-r--r--gnu/packages/samba.scm30
-rw-r--r--gnu/packages/shells.scm4
-rw-r--r--gnu/packages/statistics.scm145
-rw-r--r--gnu/packages/telegram.scm763
-rw-r--r--gnu/packages/telephony.scm185
-rw-r--r--gnu/packages/tex.scm84
-rw-r--r--gnu/packages/vim.scm68
-rw-r--r--gnu/packages/virtualization.scm1
-rw-r--r--gnu/packages/wm.scm39
-rw-r--r--gnu/packages/xfce.scm25
73 files changed, 6060 insertions, 2495 deletions
diff --git a/gnu/packages/accessibility.scm b/gnu/packages/accessibility.scm
index 22e70b737a..499d79b8c8 100644
--- a/gnu/packages/accessibility.scm
+++ b/gnu/packages/accessibility.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2018, 2021, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019 Andrew Miloradovsky <andrew@interpretmath.pw>
 ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2022 Hunter Jozwiak <hunter.t.joz@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -28,6 +29,7 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system meson)
   #:use-module (gnu packages)
   #:use-module (gnu packages lisp)
   #:use-module (gnu packages ocaml)
@@ -316,3 +318,34 @@ works with every X Window System based GUI (depends only on libX11); or as an
 assistant for graphic designers, who need to select individual pixels.")
     ;; Licensed either under Expat or GPLv2+.
     (license (list license:expat license:gpl2+))))
+
+(define-public espeakup
+  (package
+    (name "espeakup")
+    (version "0.90")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/linux-speakup/espeakup")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0lmjwafvfxy07zn18v3dzjwwpnid2xffgvy2dzlwkbns8gb60ds2"))))
+    (build-system meson-build-system)
+    (native-inputs (list pkg-config))
+    (inputs (list espeak-ng alsa-lib))
+    (license license:gpl3+)
+    (synopsis "Bridge for espeak and speakup")
+    (description
+     "Espeakup is a bridge between the speakup driver implemented in
+the Linux kernel and the espeak-ng text to speach synthesizer.
+In order for this package to work, you need to have the following
+kernel modules built:
+@itemize @bullet
+@item
+CONFIG_SPEAKUP=m
+@item
+CONFIG_SPEAKUP_SOFT=m
+@end itemize")
+    (home-page "ttps://github.com/linux-speakup/espeakup")))
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 5fb621e027..668d710739 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -2506,20 +2506,24 @@ characters can be replaced as well, as can UTF-8 characters.")
 (define-public tree
   (package
     (name "tree")
-    (version "2.0.3")
+    (version "2.0.4")
     (source (origin
               (method url-fetch)
               (uri (string-append
-                    "http://mama.indstate.edu/users/ice/tree/src/tree-"
+                    "https://mama.indstate.edu/users/ice/tree/src/tree-"
                     version ".tgz"))
               (sha256
-               (base32 "079vda37d5i3nfx12wx81z6r6bxynv2jww1z1hjziiwxbxxyf55s"))))
+               (base32 "0x7s9wxvf83fw4qah16kapswl2277pybw3d514zrlms9g0cr5smh"))))
     (build-system gnu-build-system)
     (arguments
      (list
        #:phases
        #~(modify-phases %standard-phases
-           (delete 'configure))         ; No configure script.
+           (delete 'configure)          ; No configure script.
+           (add-after 'unpack 'fix-manpage-version
+             (lambda _
+               (substitute* "doc/tree.1"
+                 (("Tree 2\\.0\\.0") (string-append "Tree " #$version))))))
        #:tests? #f                      ; No check target.
        #:make-flags
        #~(list (string-append "PREFIX=" #$output)
@@ -2529,7 +2533,7 @@ characters can be replaced as well, as can UTF-8 characters.")
      "Tree is a recursive directory listing command that produces a depth
 indented listing of files, which is colorized ala dircolors if the LS_COLORS
 environment variable is set and output is to tty.")
-    (home-page "http://mama.indstate.edu/users/ice/tree/")
+    (home-page "https://mama.indstate.edu/users/ice/tree/")
     (license license:gpl2+)))
 
 (define-public lr
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 87fcca746b..183d84c549 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -221,7 +221,7 @@ the real span of the lattice.")
 (define-public pari-gp
   (package
     (name "pari-gp")
-    (version "2.13.4")
+    (version "2.15.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -229,11 +229,10 @@ the real span of the lattice.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "11g1pkrj12dmggj1n6r00ijpnmk3f3dpqsf1h51q34hmmv79xpmw"))))
+                "11anfn2lmixi83208p8qxjhwkrrad9s2qqfrl3wy9m0n1lg8ax74"))))
     (build-system gnu-build-system)
-    (native-inputs
-     `(("texlive" ,(texlive-updmap.cfg
-                    (list texlive-amsfonts)))))
+    (native-inputs (list (texlive-updmap.cfg
+                          (list texlive-amsfonts))))
     (inputs (list gmp libx11 perl readline))
     (arguments
      '(#:make-flags '("all")
@@ -261,7 +260,7 @@ PARI is also available as a C library to allow for faster computations.")
 (define-public gp2c
   (package
    (name "gp2c")
-   (version "0.0.12")
+   (version "0.0.13")
    (source (origin
             (method url-fetch)
             (uri (string-append
@@ -269,7 +268,7 @@ PARI is also available as a C library to allow for faster computations.")
                   version ".tar.gz"))
             (sha256
               (base32
-                "039ip7qkwwv46wrcdrz7y12m30kazzkjr44kqbc0h137g4wzd7zf"))))
+                "0dlxlrwwvhmjljjzsq95fsm14j5n5353snd92b0pdg9ylzn784r6"))))
    (build-system gnu-build-system)
    (native-inputs (list perl))
    (inputs (list pari-gp))
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 29f1e6fc36..13ffdd74d3 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -29,6 +29,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages base)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
@@ -1054,6 +1055,29 @@ attempting to maintain ISTP compliance
 @end itemize\n")
     (license license:expat)))
 
+(define-public python-ephem
+  (package
+    (name "python-ephem")
+    (version "4.1.3")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "ephem" version))
+              (sha256
+               (base32
+                "0smmm3l8csnw9rrimh8mpyjrm80jaafjl184spnji98vk22qd8bz"))))
+    (build-system python-build-system)
+    (native-inputs (list tzdata))
+    (home-page "https://rhodesmill.org/pyephem/")
+    (synopsis "Compute positions of the planets and stars")
+    (description
+     "PyEphem provides an @code{ephem} Python package for performing
+high-precision astronomy computations.
+
+The name ephem is short for the word ephemeris, which is the traditional term
+for a table giving the position of a planet, asteroid, or comet for a series
+of dates.")
+    (license license:expat)))
+
 (define-public python-photutils
   (package
     (name "python-photutils")
@@ -1823,6 +1847,27 @@ N-Chilada and RAMSES AMR outputs.")
      (modify-inputs (package-inputs libsep)
        (prepend python-numpy)))))
 
+(define-public python-suntime
+  (package
+    (name "python-suntime")
+    (version "1.2.5")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "suntime" version))
+              (sha256
+               (base32
+                "0ja64w293wjx76q3z18ikx4rdihwkbj6pnjpbs82ycyyzhfnbpz4"))))
+    (build-system python-build-system)
+    (propagated-inputs (list python-dateutil))
+    (home-page "https://github.com/SatAgro/suntime")
+    (synopsis "Sunset and sunrise time calculation python library")
+    (description
+     "Python library doing sunrise and sunset time calculation.
+
+Takes a WGS84 (GPS) latitude/longitude as input as well as an UTC or local
+datetime object.")
+    (license license:lgpl3+)))
+
 (define-public python-asdf
   (package
     (name "python-asdf")
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 46278d326c..10b70bab06 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -6313,14 +6313,14 @@ of gene-level counts.")
 (define-public r-valr
   (package
     (name "r-valr")
-    (version "0.6.4")
+    (version "0.6.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "valr" version))
        (sha256
         (base32
-         "0dd41irvibh6rwi52bw4zg4m7wpyihlp1kdkb8fdji3csw2fiz4k"))))
+         "1674sqclgi4l5r544pjjsblzl1ix2cy961jpkncb3ym47y6c1msw"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-broom
@@ -6993,14 +6993,14 @@ fitting of some classes of graphical Markov models.")
 (define-public r-perfmeas
   (package
     (name "r-perfmeas")
-    (version "1.2.1")
+    (version "1.2.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "PerfMeas" version))
        (sha256
         (base32
-         "1x7ancmb41zd1js24rx94plgbssyc71z2bvpic6mg34xjkwdjw93"))))
+         "13yjk0kwpbsqwl056hzf0zj2br1mk4faqcn1whdfxmq348c14hjb"))))
     (properties `((upstream-name . "PerfMeas")))
     (build-system r-build-system)
     (propagated-inputs
@@ -7976,14 +7976,14 @@ abnormal copy number.")
 (define-public r-htscluster
   (package
     (name "r-htscluster")
-    (version "2.0.8")
+    (version "2.0.10")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "HTSCluster" version))
        (sha256
         (base32
-         "0wnbfh6hdx8692jilgmv8sys1zm6fqc6mim7vvjhyqlmpm8gm0kg"))))
+         "0scn4fsfmlkzxibfhsh6krm2cl9c8hsmyjgn48k9dyjf0ylyxg9n"))))
     (properties `((upstream-name . "HTSCluster")))
     (build-system r-build-system)
     (propagated-inputs
@@ -13147,14 +13147,14 @@ rate} (FDR).")
 (define-public r-activedriverwgs
   (package
     (name "r-activedriverwgs")
-    (version "1.1.2")
+    (version "1.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ActiveDriverWGS" version))
        (sha256
         (base32
-         "13b5yazgv9kckcp6gck183mh1m0q8lc5ixagmcy9s8kv2wz7wq45"))))
+         "0xnplgwxd197a4d422bsxg753q158i12ils16awd1cw30wafdxkk"))))
     (properties
      `((upstream-name . "ActiveDriverWGS")))
     (build-system r-build-system)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 4e9de568a0..a034bf134e 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -7273,6 +7273,228 @@ sequence.")
     (supported-systems '("i686-linux" "x86_64-linux"))
     (license license:bsd-3)))
 
+(define-public r-gutils
+  (let ((commit "10e36c7b580aacb2d952140a3fdd82418aaddea6")
+        (revision "1"))
+    (package
+      (name "r-gutils")
+      (version (git-version "0.2.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/mskilab/gUtils")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1wq9kd1afzy7ii510r20c4n9fkykj6p15q5c85ws27h1q5w4ghxy"))))
+      (properties `((upstream-name . "gUtils")))
+      (build-system r-build-system)
+      (propagated-inputs
+       (list r-biocgenerics
+             r-data-table
+             r-genomeinfodb
+             r-genomicranges
+             r-iranges
+             r-matrix
+             r-s4vectors
+             r-stringr))
+      (home-page "https://github.com/mskilab/gUtils")
+      (synopsis "Additional capabilities and speed for GenomicRanges operations")
+      (description
+       "This is an R package providing additional capabilities and speed for
+@code{GenomicRanges} operations.")
+      (license license:gpl2))))
+
+(define-public r-bamutils
+  (let ((commit "639dba901f16944fa1b7a8d7048701ba86a2cdb8")
+        (revision "1"))
+    (package
+      (name "r-bamutils")
+      (version (git-version "0.0.0.9000" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/mskilab/bamutils/")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0qwby2v5rydnipvf1iv1wz9nf02yq98k0xbc4inf9mqc54jwacs0"))))
+      (properties `((upstream-name . "bamUtils")))
+      (build-system r-build-system)
+      (propagated-inputs
+       (list r-abind
+             r-biocgenerics
+             r-data-table
+             r-genomicalignments
+             r-genomicranges
+             r-gutils
+             r-rsamtools
+             r-variantannotation))
+      (home-page "https://github.com/mskilab/bamutils/")
+      (synopsis "Utility functions for manipulating BAMs")
+      (description "This package provides utility functions for manipulating
+BAM files.")
+      (license license:gpl2))))
+
+(define-public r-gtrack
+  (let ((commit "a694fa36cedafca2658da79fc8e5b673535b15e5")
+        (revision "1"))
+    (package
+      (name "r-gtrack")
+      (version (git-version "0.1.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/mskilab/gTrack/")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "070qlrbqsbj9max2vx740zigqh0ymvnw2pm1ia5la3wb4dbfwh2b"))))
+      (properties `((upstream-name . "gTrack")))
+      (build-system r-build-system)
+      (propagated-inputs
+       (list r-biocgenerics
+             r-data-table
+             r-genomeinfodb
+             r-genomicranges
+             r-gutils
+             r-iranges
+             r-matrix
+             r-rcolorbrewer
+             r-rcpp
+             r-rcurl
+             r-rtracklayer
+             r-s4vectors))
+      (home-page "https://github.com/mskilab/gTrack/")
+      (synopsis "Plot tracks of complex genomic data across multiple genomic windows")
+      (description
+       "This package provides an object for plotting GRanges, RleList, UCSC
+file formats, and ffTrack objects in multi-track panels.")
+      (license license:gpl2))))
+
+(define-public r-gchain
+  (let ((commit "dc393e8dd0d8efaf36270c04d7112db8553db36a")
+        (revision "1"))
+    (package
+      (name "r-gchain")
+      (version (git-version "0.2.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/mskilab/gChain/")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "105wgi5w2fhwq1grsvj6zjigwg0sny3z7zr577q8ki3qffjwdkj0"))))
+      (properties `((upstream-name . "gChain")))
+      (build-system r-build-system)
+      (propagated-inputs
+       (list r-bamutils
+             r-biostrings
+             r-data-table
+             r-genomicalignments
+             r-genomicranges
+             r-gtrack
+             r-gutils
+             r-matrix
+             r-rtracklayer))
+      (home-page "https://github.com/mskilab/gChain/")
+      (synopsis "Additional capabilities and speed for GenomicRanges operations")
+      (description
+       "This R package provides additional capabilities and speed for
+GenomicRanges operations.")
+      (license license:gpl2))))
+
+(define-public r-skitools
+  (let ((commit "22d107d32f063eb891eb5e7fb36996d1c0b0d2bc")
+        (revision "1"))
+    (package
+      (name "r-skitools")
+      (version (git-version "0.0.0.9000" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/mskilab/skitools/")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1977d9bkdk9l2n6niahfj9vksh9l1ga4g7c3b3x27lj1gc0qgr4z"))))
+      (properties `((upstream-name . "skitools")))
+      (build-system r-build-system)
+      (propagated-inputs
+       (list r-biostrings
+             r-complexheatmap
+             r-data-table
+             r-devtools
+             r-dt
+             r-gchain
+             r-genomeinfodb
+             r-genomicranges
+             r-ggplot2
+             r-gplots
+             r-gutils
+             r-htmlwidgets
+             r-hwriter
+             r-igraph
+             r-iranges
+             r-plotly
+             r-rcolorbrewer
+             r-reshape2
+             r-s4vectors
+             r-stringr
+             r-variantannotation))
+      (home-page "https://github.com/mskilab/skitools/")
+      (synopsis "Various mskilab R utilties")
+      (description
+       "This package provides R miscellaneous utilities for basic data
+manipulation, debugging, visualization, lsf management, and common mskilab
+tasks.")
+      (license license:expat))))
+
+(define-public r-chromunity
+  (let ((commit "09fce8bc12cb84b45a6ea25bf8db6e5b75113d4f")
+        (revision "1"))
+    (package
+      (name "r-chromunity")
+      (version (git-version "0.0.1" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/mskilab/chromunity")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0lp0h614k8fq6h9gpbylk4chh7q6w4qda8lx03ajrpppxmg7al2d"))))
+      (properties `((upstream-name . "chromunity")))
+      (build-system r-build-system)
+      (propagated-inputs
+       (list r-arrow
+             r-biocgenerics
+             r-data-table
+             r-gchain
+             r-genomicranges
+             r-gutils
+             r-igraph
+             r-magrittr
+             r-mass
+             r-matrix
+             r-pbmcapply
+             r-plyr
+             r-r6
+             r-skitools
+             r-zoo))
+      (home-page "https://github.com/mskilab/chromunity")
+      (synopsis "Discovery of communities in Pore-C concatemers")
+      (description "This is a package for the discovery of communities in
+Pore-C concatemers.")
+      (license license:gpl3))))
+
 (define-public r-presto
   (let ((commit "052085db9c88aa70a28d11cc58ebc807999bf0ad")
         (revision "0"))
@@ -12514,6 +12736,12 @@ fasta subsequences.")
              (substitute* '("requirements.txt"
                             "cooler.egg-info/requires.txt")
                (("cytoolz.*<.*0.11") "cytoolz"))))
+         ;; This version of flake8 just won't work with this version of
+         ;; pytest, because of dependency pinning.
+         (add-after 'unpack 'do-not-use-flake8
+           (lambda _
+             (substitute* "setup.cfg"
+               (("addopts = --flake8") "addopts = "))))
          (add-after 'unpack 'patch-tests
            (lambda _
              (substitute* "tests/test_create.py"
@@ -12522,10 +12750,13 @@ fasta subsequences.")
                                 "access to genome.ucsc.edu\")\n"
                                 "def test_roundtrip")))
              (substitute* "tests/test_util.py"
-              (("def test_fetch_chromsizes")
-                 (string-append "@pytest.mark.skip(reason=\"requires network "
-                                "access to genome.ucsc.edu\")\n"
-                                "def test_fetch_chromsizes")))
+               (("def test_fetch_chromsizes")
+                (string-append "@pytest.mark.skip(reason=\"requires network "
+                               "access to genome.ucsc.edu\")\n"
+                               "def test_fetch_chromsizes"))
+               ;; See https://github.com/open2c/cooler/issues/287
+               (("skipif\\(six.PY2, reason=\"Scipy on Py2 is too old\"")
+                "skip(reason=\"Scipy is too new\""))
              ;; This test depends on ipytree, which contains a lot of minified
              ;; JavaScript.
              (substitute* "tests/test_fileops.py"
@@ -15541,47 +15772,49 @@ for the analysis and visualization of raw nanopore signal.")
     (license license:mpl2.0)))
 
 (define-public python-pyvcf
-  (package
-    (name "python-pyvcf")
-    (version "0.6.8")
-    ;; Use git, because the PyPI tarballs lack test data.
-    (source
-      (origin
-        (method git-fetch)
-        (uri (git-reference
+  (let ((commit "476169cd457ba0caa6b998b301a4d91e975251d9")
+        (revision "0"))
+    (package
+      (name "python-pyvcf")
+      (version (git-version "0.6.8" revision commit))
+      ;; Use git, because the PyPI tarballs lack test data.
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
                (url "https://github.com/jamescasbon/PyVCF.git")
                ;; Latest release is not tagged.
-               (commit "bfcedb9bad1a14074ac4526ffdb610611e073810")))
-        (file-name (git-file-name name version))
-        (sha256
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
           (base32
-            "0c7lsssns3zp8fh2ibllzzra003srg9vbxqzmq6654akbzdb7lrf"))))
-    (build-system python-build-system)
-    (arguments
-     `(#:phases
-        (modify-phases %standard-phases
-          (add-after 'unpack 'patch-sample-script
-            (lambda _
-              ;; Add Python 3 compatibility to this sample script.
-              (substitute* "scripts/vcf_sample_filter.py"
-                (("print (.*)\n" _ arg)
-                 (string-append "print(" arg ")\n")))))
-          (add-after 'install 'remove-installed-tests
-            ;; Do not install test files.
-            (lambda* (#:key inputs outputs #:allow-other-keys)
-              (delete-file-recursively (string-append
+           "0qf9lwj7r2hjjp4bd4vc7nayrhblfm4qcqs4dbd43a6p4bj2jv5p"))))
+      (build-system python-build-system)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'patch-sample-script
+             (lambda _
+               ;; Add Python 3 compatibility to this sample script.
+               (substitute* "scripts/vcf_sample_filter.py"
+                 (("print (.*)\n" _ arg)
+                  (string-append "print(" arg ")\n")))))
+           (add-after 'install 'remove-installed-tests
+             ;; Do not install test files.
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (delete-file-recursively (string-append
                                          (site-packages inputs outputs)
                                          "/vcf/test")))))))
-    (native-inputs
-     ;; Older setuptools is needed for use_2to3.
-     (list python-cython python-setuptools))
-    (propagated-inputs
-     (list python-pysam python-rpy2))
-    (home-page "https://github.com/jamescasbon/PyVCF")
-    (synopsis "Variant Call Format parser for Python")
-    (description "This package provides a @acronym{VCF,Variant Call Format}
+      (native-inputs
+       ;; Older setuptools is needed for use_2to3.
+       (list python-cython python-setuptools-for-tensorflow))
+      (propagated-inputs
+       (list python-pysam python-rpy2))
+      (home-page "https://github.com/jamescasbon/PyVCF")
+      (synopsis "Variant Call Format parser for Python")
+      (description "This package provides a @acronym{VCF,Variant Call Format}
 parser for Python.")
-    (license license:expat)))
+      (license license:expat))))
 
 (define-public nanosv
   (package
@@ -15996,6 +16229,43 @@ BigWig files, as well as efficient region coverage summary over intervals from
 both types of files.")
     (license license:expat)))
 
+(define-public mudskipper
+  (package
+    (name "mudskipper")
+    (version "0.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "mudskipper" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1y7fnlz6irmxdmv6bxzm95w4ws4vzldlrh8npvgxmdnrz9pgb1dv"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #false    ;fail because the "mudskipper" crate cannot be found
+       #:cargo-inputs
+       (("rust-bio" ,rust-bio-0.39)
+        ("rust-bio-types" ,rust-bio-types-0.12)
+        ("rust-clap" ,rust-clap-2)
+        ("rust-coitrees" ,rust-coitrees-0.2)
+        ("rust-env-logger" ,rust-env-logger-0.9)
+        ("rust-fnv" ,rust-fnv-1)
+        ("rust-indicatif" ,rust-indicatif-0.16)
+        ("rust-libradicl" ,rust-libradicl-0.4)
+        ("rust-linecount" ,rust-linecount-0.1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-num-cpus" ,rust-num-cpus-1)
+        ("rust-rust-htslib" ,rust-rust-htslib-0.38))))
+    (native-inputs
+     (list cmake pkg-config))
+    (inputs
+     (list zlib xz))
+    (home-page "https://github.com/OceanGenomics/mudskipper")
+    (synopsis "Convert genomic alignments to transcriptomic BAM/RAD files.")
+    (description "Mudskipper is a tool for projecting genomic alignments to
+transcriptomic coordinates.")
+    (license license:bsd-3)))
+
 (define-public r-ascat
   (package
    (name "r-ascat")
@@ -16155,6 +16425,29 @@ integration, exploration, and analysis of high-dimensional single-cell
 cytometry and imaging data.")
       (license license:expat))))
 
+(define-public r-compgenomrdata
+  (let ((commit "24484cb77631e1123ead6c329b9d62c160e600c6")
+        (revision "1"))
+    (package
+      (name "r-compgenomrdata")
+      (version (git-version "0.1.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/compgenomr/compGenomRData")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "06gdvz4m4qlb1ylv10qfx09zv4c95cm7nps4y2s67m946kv8czv8"))))
+      (properties `((upstream-name . "compGenomRData")))
+      (build-system r-build-system)
+      (home-page "https://github.com/compgenomr/compGenomRData")
+      (synopsis "Data for Computational Genomics with R book")
+      (description "This package provides data for the book \"Computational
+Genomics with R\".")
+      (license license:gpl3))))
+
 (define-public r-cytonorm
   (let ((commit "e4b9d343ee65db3c422800f1db3e77c25abde987")
         (revision "1"))
diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm
index 4468d71088..ccfe91257b 100644
--- a/gnu/packages/busybox.scm
+++ b/gnu/packages/busybox.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2022 LuHui <luhux76@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -45,66 +46,74 @@
                 "0jfm9fik7nv4w21zqdg830pddgkdjmplmna9yjn9ck1lwn4vsps1"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases
-       (modify-phases %standard-phases
-         (add-before 'configure 'disable-timestamps
-           (lambda _
-             (setenv "KCONFIG_NOTIMESTAMP" "1")))
-         (add-before 'configure 'disable-taskset
-           ;; This feature fails its tests in the build environment,
-           ;; was default 'n' until after 1.26.2.
-           (lambda _
-             (substitute* "util-linux/taskset.c"
-               (("default y") "default n"))))
-         (replace 'configure
-           (lambda* (#:key make-flags #:allow-other-keys)
-             (apply invoke "make" "defconfig" make-flags)))
-         (add-after 'configure 'dont-install-to-usr
-           (lambda _
-             (substitute* ".config"
-               (("# CONFIG_INSTALL_NO_USR is not set")
-                "CONFIG_INSTALL_NO_USR=y"))))
-         (replace 'check
-           (lambda* (#:key make-flags #:allow-other-keys)
-             (substitute* '("testsuite/du/du-s-works"
-                            "testsuite/du/du-works")
-               (("/bin") "/etc"))  ; there is no /bin but there is a /etc
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-before 'configure 'disable-timestamps
+                 (lambda _
+                   (setenv "KCONFIG_NOTIMESTAMP" "1")))
+               (add-before 'configure 'disable-taskset
+                 ;; This feature fails its tests in the build environment,
+                 ;; was default 'n' until after 1.26.2.
+                 (lambda _
+                   (substitute* "util-linux/taskset.c"
+                     (("default y") "default n"))))
+               (replace 'configure
+                 (lambda* (#:key make-flags #:allow-other-keys)
+                   (apply invoke "make" "defconfig" make-flags)))
+               (add-after 'configure 'dont-install-to-usr
+                 (lambda _
+                   (substitute* ".config"
+                     (("# CONFIG_INSTALL_NO_USR is not set")
+                      "CONFIG_INSTALL_NO_USR=y"))))
+               (replace 'check
+                 (lambda* (#:key tests? make-flags #:allow-other-keys)
+                   (substitute* '("testsuite/du/du-s-works"
+                                  "testsuite/du/du-works")
+                     (("/bin") "/etc")) ; there is no /bin but there is a /etc
 
-             ;; There is no /usr/bin or /bin - replace it with /gnu/store
-             (substitute* "testsuite/cpio.tests"
-               (("/usr/bin") (%store-directory))
-               (("usr") (car (filter (negate string-null?)
-                                     (string-split (%store-directory) #\/)))))
+                   ;; There is no /usr/bin or /bin - replace it with
+                   ;; /gnu/store.
+                   (substitute* "testsuite/cpio.tests"
+                     (("/usr/bin") (%store-directory))
+                     (("usr") (car (filter (negate string-null?)
+                                           (string-split (%store-directory) #\/)))))
 
-             (substitute* "testsuite/date/date-works-1"
-               (("/bin/date") (which "date")))
+                   (substitute* "testsuite/date/date-works-1"
+                     (("/bin/date") (which "date")))
 
-             (substitute* "testsuite/start-stop-daemon.tests"
-              (("/bin/false") (which "false")))
+                   (substitute* "testsuite/start-stop-daemon.tests"
+                     (("/bin/false") (which "false")))
 
-             ;; The pidof tests assume that pid 1 is called "init" but that is not
-             ;; true in guix build environment
-             (substitute* "testsuite/pidof.tests"
-               (("-s init") "-s $(cat /proc/1/comm)"))
+                   ;; The pidof tests assume that pid 1 is called "init" but
+                   ;; that is not true in guix build environment
+                   (substitute* "testsuite/pidof.tests"
+                     (("-s init") "-s $(cat /proc/1/comm)"))
 
-             ;; This test cannot possibly pass.
-             ;; It is trying to test that "which ls" returns "/bin/ls" when PATH is not set.
-             ;; However, this relies on /bin/ls existing.  Which it does not in guix.
-             (delete-file "testsuite/which/which-uses-default-path")
-             (rmdir "testsuite/which")
+                   ;; This test cannot possibly pass.  It is trying to test
+                   ;; that "which ls" returns "/bin/ls" when PATH is not set.
+                   ;; However, this relies on /bin/ls existing.  Which it does
+                   ;; not in guix.
+                   (delete-file "testsuite/which/which-uses-default-path")
+                   (rmdir "testsuite/which")
 
-             (apply invoke "make"
-                     ;; "V=1"
-                     "SKIP_KNOWN_BUGS=1"
-                     "SKIP_INTERNET_TESTS=1"
-                     "check" make-flags)))
-         (replace 'install
-           (lambda* (#:key outputs make-flags #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (apply invoke "make"
-                       (string-append "CONFIG_PREFIX=" out)
-                       "install" make-flags)))))))
-    (native-inputs (list perl ; needed to generate the man pages (pod2man)
+                   (when tests?
+                     (apply invoke "make"
+                            ;; "V=1"
+                            "SKIP_KNOWN_BUGS=1"
+                            "SKIP_INTERNET_TESTS=1"
+                            "check" make-flags))))
+               (replace 'install
+                 (lambda* (#:key outputs make-flags #:allow-other-keys)
+                   (let ((out (assoc-ref outputs "out")))
+                     (apply invoke "make"
+                            (string-append "CONFIG_PREFIX=" out)
+                            "install" make-flags)))))
+           #:make-flags
+           #~(let ((target #$(%current-target-system)))
+               (if target
+                   (list (string-append "CROSS_COMPILE=" target "-"))
+                   '()))))
+    (native-inputs (list perl     ; needed to generate the man pages (pod2man)
                          ;; The following are needed by the tests.
                          inetutils
                          (@ (gnu packages base) which)
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index 715d158241..6583810277 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -401,7 +401,7 @@ traditional Chinese characters.")
     (license (list license:gpl2+ license:lgpl2.1+))))
 
 (define-public gsimplecal
-  (let ((version "2.2"))
+  (let ((version "2.4.1"))
     (package
       (name "gsimplecal")
       (version version)
@@ -411,16 +411,17 @@ traditional Chinese characters.")
                       (url "https://github.com/dmedvinsky/gsimplecal/")
                       (commit (string-append "v" version))))
                 (file-name (git-file-name name version))
-                (sha256 (base32
-                         "1qyf65l088dqsz25hm6s1cv18j52yaias0llqvpqwjfnvssa5cxg"))
+                (sha256
+                 (base32
+                  "0ypnq9q6v2l8jg0ah31d8502jig1rk2bz749ljj97wk0rg1rixpi"))
                 (modules '((guix build utils)))))
       (build-system gnu-build-system)
       (inputs (list gtk+))
-      (native-inputs
-       (list autoconf automake pkg-config))
+      (native-inputs (list autoconf automake pkg-config))
       (home-page "https://dmedvinsky.github.io/gsimplecal/")
       (synopsis "Lightweight calendar applet")
-      (description "@command{gsimplecal} is a lightweight calendar application
+      (description
+       "@command{gsimplecal} is a lightweight calendar application
 written in C++ using GTK.  Launched once, it pops up a small calendar applet,
 launched again it closes the running instance.  It can additionally be
 configured to show the current time in different timezones.")
diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 9876192f5f..622e43ac48 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -204,14 +204,14 @@ designs.")
 (define-public clojure-tools
   (package
     (name "clojure-tools")
-    (version "1.11.1.1149")
+    (version "1.11.1.1165")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://download.clojure.org/install/clojure-tools-"
                            version
                            ".tar.gz"))
-       (sha256 (base32 "196wl87br8zg3npfwpr5c1q0knxd1810vzgb0b6h195hyjf6i210"))
+       (sha256 (base32 "1lg97waqfcgzr3dz5426fbc4kqcsavpbqil2iyjm1dw3zrfa8ysi"))
        ;; Remove AOT compiled JAR.  The other JAR only contains uncompiled
        ;; Clojure source code.
        (snippet
diff --git a/gnu/packages/connman.scm b/gnu/packages/connman.scm
index f4e6e43ec8..80869f890e 100644
--- a/gnu/packages/connman.scm
+++ b/gnu/packages/connman.scm
@@ -53,7 +53,10 @@
         (uri (string-append "mirror://kernel.org/linux/network/connman/"
                             "connman-" version ".tar.xz"))
         (sha256
-         (base32 "12g5ilcnymx6i45z3359yds3cgd2dfqjyncfm92hqlymzps41yvr"))))
+         (base32 "12g5ilcnymx6i45z3359yds3cgd2dfqjyncfm92hqlymzps41yvr"))
+        (patches (search-patches "connman-CVE-2022-32292.patch"
+                                 "connman-CVE-2022-32293-pt1.patch"
+                                 "connman-CVE-2022-32293-pt2.patch"))))
     (build-system gnu-build-system)
     (arguments
      (list #:configure-flags
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 029f0d4ba4..59eea423a1 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -274,7 +274,7 @@ configure network interfaces in Linux containers.")
 (define-public podman
   (package
     (name "podman")
-    (version "4.2.0")
+    (version "4.2.1")
     (source
      (origin
        (method git-fetch)
@@ -282,7 +282,7 @@ configure network interfaces in Linux containers.")
              (url "https://github.com/containers/podman")
              (commit (string-append "v" version))))
        (sha256
-        (base32 "00wyjppd11hznmals9ax4s2qjklj6p1vfz4jjkp50bk8q4blxfbj"))
+        (base32 "0ph8gf5gk9z1hm1v5kv924dipswvgrz0sgk23plnh2q0vbnh4wvv"))
        (file-name (git-file-name name version))))
 
     (build-system gnu-build-system)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index bbb34df27d..60937af750 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2020 Robin Green <greenrd@greenrd.org>
 ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
 ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -43,6 +44,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system ocaml)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -52,7 +54,7 @@
 (define-public coq-core
   (package
     (name "coq-core")
-    (version "8.15.2")
+    (version "8.16.0")
     (source
      (origin
        (method git-fetch)
@@ -62,7 +64,7 @@
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1m6dilfbp9q8j8sya4ap82q72m3a4mq6m96gzvi6vgv04cr6r33c"))
+         "1rp4m2yjldsz0kj7p2fsc312n740fr8kg99jlsk8aq3h524qz2h8"))
        (patches (search-patches "coq-fix-envvars.patch"))))
     (native-search-paths
      (list (search-path-specification
@@ -148,7 +150,7 @@ It is developed using Objective Caml and Camlp5.")
     (propagated-inputs
      (list coq coq-ide-server))
     (inputs
-     `(("lablgtk3" ,lablgtk3)))))
+     (list lablgtk3 ocaml-lablgtk3-sourceview3))))
 
 (define-public proof-general
   ;; The latest release is from 2016 and there has been more than 450 commits
@@ -240,7 +242,7 @@ provers.")
 (define-public coq-flocq
   (package
     (name "coq-flocq")
-    (version "4.0.0")
+    (version "4.1.0")
     (source
      (origin
        (method git-fetch)
@@ -250,7 +252,7 @@ provers.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "159ykkhxz7zms28r4v8jjccapl5vv00csdz29mfy83lwrv5b6rwk"))))
+         "1yscj1120wch6myakaia03j11qji416v78ylx842d23hrbaqwmw5"))))
     (build-system gnu-build-system)
     (native-inputs
      (list autoconf automake ocaml which coq))
@@ -287,7 +289,7 @@ inside Coq.")
 (define-public coq-gappa
   (package
     (name "coq-gappa")
-    (version "1.5.1")
+    (version "1.5.2")
     (source
      (origin
        (method git-fetch)
@@ -297,7 +299,7 @@ inside Coq.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "18y4mv44mcgyam77rf4xs7l06mg7pxx1qli3yvs0kklmnnvwa463"))))
+         "0l65ah81yj9vabgkwqh47c02qvscvl8nl60gqn1qrs47dx1pi80q"))))
     (build-system gnu-build-system)
     (native-inputs
      (list autoconf
@@ -315,7 +317,9 @@ inside Coq.")
     (arguments
      `(#:configure-flags
        (list (string-append "COQUSERCONTRIB=" (assoc-ref %outputs "out")
-                            "/lib/coq/user-contrib"))
+                            "/lib/coq/user-contrib")
+             (string-append "OCAMLFIND_DESTDIR=" (assoc-ref %outputs "out")
+                            "/lib/ocaml/site-lib"))
        #:phases
        (modify-phases %standard-phases
          (add-before 'configure 'fix-remake
@@ -345,7 +349,7 @@ assistant.")
 (define-public coq-mathcomp
   (package
     (name "coq-mathcomp")
-    (version "1.14.0")
+    (version "1.15.0")
     (source
      (origin
        (method git-fetch)
@@ -354,7 +358,7 @@ assistant.")
              (commit (string-append "mathcomp-" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1rqg47dg84wr6d9v2pzna54dm62awcm8xdwx4dqwdwhf58fjxa9i"))))
+        (base32 "158zl36zbvi5qx2nqbfnrg00jpgp6hjr5hmls7d8d0421ar6b67i"))))
     (build-system gnu-build-system)
     (native-inputs
      (list ocaml which coq))
@@ -431,7 +435,7 @@ theorems between the two libraries.")
 (define-public coq-bignums
   (package
     (name "coq-bignums")
-    (version "8.15.0")
+    (version "8.16.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -440,7 +444,7 @@ theorems between the two libraries.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "093klwlhclgyrba1iv18dyz1qp5f0lwiaa7y0qwvgmai8rll5fns"))))
+                "07ndnm7pndmai3a2bkcmwjfjzfaqyq19c5an15hmhgmd0rdy4z8c"))))
     (build-system gnu-build-system)
     (native-inputs
      (list ocaml coq))
@@ -450,7 +454,9 @@ theorems between the two libraries.")
      `(#:tests? #f ; No test target.
        #:make-flags
        (list (string-append "COQLIBINSTALL=" (assoc-ref %outputs "out")
-                            "/lib/coq/user-contrib"))
+                            "/lib/coq/user-contrib")
+             (string-append "COQPLUGININSTALL=" (assoc-ref %outputs "out")
+                            "/lib/ocaml/site-lib/"))
        #:phases
        (modify-phases %standard-phases
          (delete 'configure))))
@@ -463,7 +469,7 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
 (define-public coq-interval
   (package
     (name "coq-interval")
-    (version "4.4.0")
+    (version "4.5.2")
     (source
      (origin
        (method git-fetch)
@@ -473,7 +479,7 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1rlcbv1nqm7zv60n63lca6nnxcq3c18akgzl72s1n3h89gvhs87z"))))
+         "138vgb0bq6wkygrhkahjgb9spwpzc6x6kkycj2qnf5naxx1z412w"))))
     (build-system gnu-build-system)
     (native-inputs
      (list autoconf automake ocaml which coq))
@@ -486,7 +492,9 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
     (arguments
      `(#:configure-flags
        (list (string-append "COQUSERCONTRIB=" (assoc-ref %outputs "out")
-                            "/lib/coq/user-contrib"))
+                            "/lib/coq/user-contrib")
+             (string-append "OCAMLFIND_DESTDIR=" (assoc-ref %outputs "out")
+                            "/lib/ocaml/site-lib"))
        #:phases
        (modify-phases %standard-phases
          (add-before 'configure 'fix-remake
@@ -557,11 +565,11 @@ uses Ltac to synthesize the substitution operation.")
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/mattam82/Coq-Equations")
-                    (commit (string-append "v" version "-8.15"))))
+                    (commit (string-append "v" version "-8.16"))))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1vfcfpsp9zyj0sw0cwibk76nj6n0r6gwh8m1aa3lbvc0b1kbm32k"))))
+                "08f756vgdd1wklkarg0b93j4n5mhkqm5ixxrhyb23dcv2dwhc8yg"))))
     (build-system gnu-build-system)
     (native-inputs
      (list ocaml coq camlp5))
@@ -571,7 +579,10 @@ uses Ltac to synthesize the substitution operation.")
      `(#:test-target "test-suite"
        #:make-flags (list (string-append "COQLIBINSTALL="
                                          (assoc-ref %outputs "out")
-                                         "/lib/coq/user-contrib"))
+                                         "/lib/coq/user-contrib")
+                          (string-append "COQPLUGININSTALL="
+                                         (assoc-ref %outputs "out")
+                                         "/lib/ocaml/site-lib/"))
        #:phases
        (modify-phases %standard-phases
          (replace 'configure
@@ -685,3 +696,78 @@ for goals involving set operations.
 @end itemize")
     (home-page "https://gitlab.mpi-sws.org/iris/stdpp")
     (license license:bsd-3)))
+
+(define-public coq-mathcomp-finmap
+  (package
+    (name "coq-mathcomp-finmap")
+    (version "1.5.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/math-comp/finmap")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1k72wpp15xa5ag358jl8a71gschng0bgbaqjx0l5a0in6x5adafh"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(;; No tests supplied in Makefile.common.
+       ;; The project doesn't appear to have plans to include tests in
+       ;; the future.
+       #:tests? #f
+       #:make-flags (list (string-append "COQLIBINSTALL="
+                                         (assoc-ref %outputs "out")
+                                         "/lib/coq/user-contrib"))
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure))))
+    (inputs (list coq coq-stdlib coq-mathcomp which))
+    (synopsis "Finite sets and finite types for coq-mathcomp")
+    (description
+     "This library is an extension of coq-mathcomp which supports finite sets
+and finite maps on choicetypes (rather than finite types).  This includes
+support for functions with finite support and multisets.  The library also
+contains a generic order and set libary, which will eventually be used to
+subsume notations for finite sets.")
+    (home-page "https://math-comp.github.io/")
+    (license license:cecill-b)))
+
+(define-public coq-mathcomp-bigenough
+  (package
+    (name "coq-mathcomp-bigenough")
+    (version "1.0.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/math-comp/bigenough")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "02f4dv4rz72liciwxb2k7acwx6lgqz4381mqyq5854p3nbyn06aw"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(;; No references to tests in Makefile.common.
+       ;; It doesn't appear as though tests will be included
+       ;; by the packaged project in the future.
+       #:tests? #f
+       #:make-flags ,#~(list (string-append "COQBIN="
+                                            #$(this-package-input "coq-core")
+                                            "/bin/")
+                             (string-append "COQMF_COQLIB="
+                                            (assoc-ref %outputs "out")
+                                            "/lib/ocaml/site-lib/coq")
+                             (string-append "COQLIBINSTALL="
+                                            (assoc-ref %outputs "out")
+                                            "/lib/coq/user-contrib"))
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure))))
+    (propagated-inputs (list coq coq-core coq-mathcomp which))
+    (home-page "https://math-comp.github.io/")
+    (synopsis "Small library to do epsilon - N reasoning")
+    (description
+     "The package is used for reasoning with big enough objects (mostly
+natural numbers).  This package is essentially for backward compatibility
+purposes as @code{bigenough} will be subsumed by the near tactics.  The
+formalization is based on the Mathematical Components library.")
+    (license license:cecill-b)))
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 5cdb37075e..da9482b1c0 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -287,14 +287,14 @@ etc.")
 (define-public r-datawizard
   (package
     (name "r-datawizard")
-    (version "0.5.0")
+    (version "0.6.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "datawizard" version))
        (sha256
         (base32
-         "022bbfaszbpml3i281cal7z0y1i380i1zjnhk1ldy5r535vs9cgq"))))
+         "1r89h5npv8iwsvylkpazfpcadgh55zd336rz8hndbzp0w9dcmpli"))))
     (properties `((upstream-name . "datawizard")))
     (build-system r-build-system)
     (propagated-inputs
@@ -382,13 +382,13 @@ visualization of their differences.")
 (define-public r-dixontest
   (package
     (name "r-dixontest")
-    (version "1.0.3")
+    (version "1.0.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "dixonTest" version))
        (sha256
-        (base32 "1a3yc30g5rbb0jhm2b0iir5i1dy4jyl67spkhx4yysg4snz131wv"))))
+        (base32 "0gz39s1z987bg56vwrpcs14wzyf7p07s7l7z9napz0i38564wsdq"))))
     (properties `((upstream-name . "dixonTest")))
     (build-system r-build-system)
     (native-inputs (list gfortran))
@@ -603,14 +603,14 @@ pronounceable identifiers.")
 (define-public r-googlesheets4
   (package
     (name "r-googlesheets4")
-    (version "1.0.0")
+    (version "1.0.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "googlesheets4" version))
        (sha256
         (base32
-         "0yncqwv9l5knyrv88ys5gwcv44hl1j0mbklpins6v7f9m9v7s40a"))))
+         "14b5lzn6vjn72mw7vf3lzm2ppbjf0wr0n6sw0v5r6h4lk37cnki8"))))
     (properties `((upstream-name . "googlesheets4")))
     (build-system r-build-system)
     (propagated-inputs
@@ -692,14 +692,14 @@ easier.")
 (define-public r-rticles
   (package
     (name "r-rticles")
-    (version "0.23")
+    (version "0.24")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rticles" version))
        (sha256
         (base32
-         "1ipblw3rmkma22jl2hf1pyfm6l8k31zcmm3swmwii6k0x7khiav1"))))
+         "05idvyfjfa4f244km4sxripg8gndvganx5s0ch00xbi4cqnlr2pq"))))
     (properties `((upstream-name . "rticles")))
     (build-system r-build-system)
     (propagated-inputs
@@ -714,17 +714,24 @@ for authoring journal articles and conference submissions.")
 (define-public r-babelwhale
   (package
     (name "r-babelwhale")
-    (version "1.0.3")
+    (version "1.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "babelwhale" version))
        (sha256
-        (base32 "0ph825dwvr48fhamy1l5564linz7cj7b9sj511as77f1yqycv4a2"))))
+        (base32 "01l8vwyz3bx0iks6cjs5y9ifdsnc1p1yqp4i0kzqd1gjhycizv6y"))))
     (properties `((upstream-name . "babelwhale")))
     (build-system r-build-system)
     (propagated-inputs
-     (list r-crayon r-dplyr r-dynutils r-processx r-purrr))
+     (list r-crayon
+           r-digest
+           r-dplyr
+           r-dynutils
+           r-fs
+           r-glue
+           r-processx
+           r-purrr))
     (home-page "https://github.com/dynverse/babelwhale")
     (synopsis "Talking to Docker and Singularity containers")
     (description
@@ -1016,13 +1023,13 @@ known as Dynamic Linear Models.")
 (define-public r-zoo
   (package
     (name "r-zoo")
-    (version "1.8-10")
+    (version "1.8-11")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "zoo" version))
               (sha256
                (base32
-                "0izd66dywq6qd62hdp64apncainrrb9mgmm19wf6a8jc03c858n9"))))
+                "19cw09bhwj2qyd72765ym1cm2wmhh801ccif889nzq5gfpw513l4"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-lattice))
@@ -1259,14 +1266,14 @@ scale-sensitive information.")
 (define-public r-ggvenndiagram
   (package
     (name "r-ggvenndiagram")
-    (version "1.2.0")
+    (version "1.2.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggVennDiagram" version))
        (sha256
         (base32
-         "1mjs488npnxd53nsw936iw2vzv7z38h8d02pm4lwrz4i83jg3www"))))
+         "1l4cincm7c2q9x3djiv1lm9bvivaqk7kincx19b8f760wz9hp74k"))))
     (properties `((upstream-name . "ggVennDiagram")))
     (build-system r-build-system)
     (propagated-inputs
@@ -1277,8 +1284,8 @@ scale-sensitive information.")
            r-purrr
            r-rvenn
            r-sf
-           r-stringr
-           r-tibble))
+           r-tibble
+           r-yulab-utils))
     (native-inputs (list r-knitr))
     (home-page "https://github.com/gaospecial/ggVennDiagram")
     (synopsis "Implementention of the Venn diagram using ggplot2")
@@ -1342,16 +1349,17 @@ axis} (SMA), and @dfn{ranged major axis} (RMA).")
 (define-public r-ggpmisc
   (package
     (name "r-ggpmisc")
-    (version "0.4.7")
+    (version "0.5.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "ggpmisc" version))
               (sha256
                (base32
-                "1z1ncnlbhy38ml2rdq43jbw33z7fmy0b6xp7wcwwqxy44c7y34zx"))))
+                "1i7cfmhmgih3hn0zr5yn33ziznfa3a4j8hkn237bv7jckwzpklxw"))))
     (build-system r-build-system)
     (propagated-inputs
-     (list r-dplyr
+     (list r-confintr
+           r-dplyr
            r-generics
            r-ggplot2
            r-ggpp
@@ -1524,13 +1532,13 @@ available as companion packages.")
 (define-public r-scales
   (package
     (name "r-scales")
-    (version "1.2.0")
+    (version "1.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "scales" version))
        (sha256
-        (base32 "1pq2rrix6a5gsi8xw38viiydp1bsxxmcmyy7dv9q8gkb1qj50p8q"))))
+        (base32 "027daznawr9dy0z9s99lh64i4am691hdir01n7gr7vmgpmnkwiar"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-farver
@@ -1742,13 +1750,13 @@ excellent candidate for labeling of a polygon.")
 (define-public r-poorman
   (package
     (name "r-poorman")
-    (version "0.2.5")
+    (version "0.2.6")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "poorman" version))
               (sha256
                (base32
-                "05h7rjgri0b5a1jd0388p7lqvvg0y8z6g42f9bxc80jg1z730axr"))))
+                "0x1pk00ca7wjxnqfh1jphgsxcrq37s0c1nawv52yh5qgc4z0m3ij"))))
     (properties `((upstream-name . "poorman")))
     (build-system r-build-system)
     (native-inputs (list r-knitr))
@@ -2016,13 +2024,13 @@ read a protected key.")
 (define-public r-astsa
   (package
     (name "r-astsa")
-    (version "1.15")
+    (version "1.16")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "astsa" version))
        (sha256
-        (base32 "0mllsq0xdqkviyvs77lq565r1vznsj1qp9cnlj5p48k9v76d7arp"))))
+        (base32 "09872vkqb180cwprdfr3cn85jhazlc4vjdj6pjc70s06bh834f3w"))))
     (properties `((upstream-name . "astsa")))
     (build-system r-build-system)
     (home-page "https://github.com/nickpoison/astsa/")
@@ -2118,21 +2126,24 @@ single step.")
 (define-public r-rvest
   (package
     (name "r-rvest")
-    (version "1.0.2")
+    (version "1.0.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rvest" version))
        (sha256
-        (base32 "1905vxgnj3q09l1wf6rwxpbpydznp06nbkrclnc05j2415z4gfw9"))))
+        (base32 "07hws9infwchy19smrcd9m6c0jii0bdn335yxqk3ramgj5ryyrd4"))))
     (build-system r-build-system)
     (propagated-inputs
-     (list r-httr
+     (list r-cli
+           r-glue
+           r-httr
            r-lifecycle
            r-magrittr
            r-rlang
            r-selectr
            r-tibble
+           r-withr
            r-xml2))
     (native-inputs
      (list r-knitr))
@@ -2170,14 +2181,14 @@ package is a port of the Python package @code{cssselect}.")
 (define-public r-reprex
   (package
     (name "r-reprex")
-    (version "2.0.1")
+    (version "2.0.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "reprex" version))
        (sha256
         (base32
-         "09k4rasp7mz6n796dsklcbc5l7prljiznrm7fra16qybr9kqcv8f"))))
+         "14khx09yzn97xhags48lvym1g37h1l2ymvw6r1jlldhjc7i1cnx8"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-callr
@@ -2186,6 +2197,7 @@ package is a port of the Python package @code{cssselect}.")
            r-fs
            r-glue
            r-knitr
+           r-lifecycle
            r-rlang
            r-rmarkdown
            r-rstudioapi
@@ -2226,14 +2238,14 @@ same time tries to group instances from the same class together.")
 (define-public r-callr
   (package
     (name "r-callr")
-    (version "3.7.1")
+    (version "3.7.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "callr" version))
        (sha256
         (base32
-         "1vc986d571nwmb5lw5rq3d38z4qw36lr94s3apz50c2v79xsbqrp"))))
+         "01q3b0w1cbrryvv1dwvnyd3j1f09xmhnwg1wskc51r3r4qhqmnhj"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-r6 r-processx))
@@ -2268,14 +2280,14 @@ mixture models.")
 (define-public r-readxl
   (package
     (name "r-readxl")
-    (version "1.4.0")
+    (version "1.4.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "readxl" version))
        (sha256
         (base32
-         "1xwi4k5si48hwkgfc59icfmp9dzlvfri59k5fsgn96zp9713k4mb"))))
+         "1ym11mldwj31lgk5av264v8b2zn7fmq5nd30rnm1pchgjizvpgpn"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-cellranger r-cpp11 r-progress r-tibble))
@@ -2324,14 +2336,14 @@ the personalised models.")
 (define-public r-modelr
   (package
     (name "r-modelr")
-    (version "0.1.8")
+    (version "0.1.9")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "modelr" version))
        (sha256
         (base32
-         "1i31nff7bqibk6r4hhd4j1vzwbyaf8493v0bjaagn36njmysfnw2"))))
+         "1jd9vxirj5ii4ac0ka07g0rcq1c8yqv06jg27nmvp5a6kvlgvs8h"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-broom
@@ -2393,16 +2405,16 @@ Zucchini.")
 (define-public r-httpuv
   (package
     (name "r-httpuv")
-    (version "1.6.5")
+    (version "1.6.6")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "httpuv" version))
               (sha256
                (base32
-                "0mlilxh2mlrsbbrncla2rg02crr8nnajv649d8whx7ayr8lkdxpm"))
+                "14qjf7bpl7pay89b7vi2vccl342q8xs6101a9x6qijy54k9myfa1"))
               ;; Unvendor bundled libraries. As of 1.5.4 the vendored libuv
               ;; only contains fixes for building on Solaris.
-              (patches (search-patches "r-httpuv-1.5.5-unvendor-libuv.patch"))
+              (patches (search-patches "r-httpuv-1.6.6-unvendor-libuv.patch"))
               (modules '((guix build utils)))
               ;; Cannot unbundle http-parser, because it contains local
               ;; modifications.
@@ -3213,13 +3225,13 @@ application framework for R, making it easy to create attractive dashboards.")
 (define-public r-shinyfiles
   (package
     (name "r-shinyfiles")
-    (version "0.9.2")
+    (version "0.9.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "shinyFiles" version))
        (sha256
-        (base32 "1l4a4v9ivxkj2vx6xw4z3pk7a8px23icppcgvgpybibq2j74pglg"))))
+        (base32 "11kjq0vw5c98lzrg80m9w917lkgw5im2h9wgk1b84vlaxrjy2wja"))))
     (properties `((upstream-name . "shinyFiles")))
     (build-system r-build-system)
     (propagated-inputs
@@ -3868,14 +3880,14 @@ including functions for geolocation and routing.")
 (define-public r-haven
   (package
     (name "r-haven")
-    (version "2.5.0")
+    (version "2.5.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "haven" version))
        (sha256
         (base32
-         "1x5g6kjrzcyarbjz91f4aaspx7rb50qs6a9y29mzr3mjq4dk305m"))
+         "0w0aqm0z4h0rm1f7fylm1mbv79p43y2r795w64wczcd0jwh4ch4z"))
        (modules '((guix build utils)))
        (snippet
         ;; unvendor readstat
@@ -4037,13 +4049,13 @@ Docstrings (PEP-0257) and Julia's Triple-Quoted String Literals.")
 (define-public r-paletteer
   (package
     (name "r-paletteer")
-    (version "1.4.0")
+    (version "1.4.1")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "paletteer" version))
               (sha256
                (base32
-                "1m0h1p0cbmmi0rk157qyrgcz57pw0syadskrnfa4vs7hm1rndp3m"))))
+                "0vj945cgpfhmbd98mcj167mgshghv32dxh8m4ngxs6i4q4y5blm7"))))
     (properties `((upstream-name . "paletteer")))
     (build-system r-build-system)
     (propagated-inputs (list r-prismatic r-rematch2 r-rlang r-rstudioapi))
@@ -4059,14 +4071,14 @@ a streamlined API.")
 (define-public r-palmerpenguins
   (package
     (name "r-palmerpenguins")
-    (version "0.1.0")
+    (version "0.1.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "palmerpenguins" version))
        (sha256
         (base32
-         "0q1k3cdkliq7kwrg1n0vs9b6cjwyfarhlgdijhp9c6riy6y5ik7x"))))
+         "1d1h3bfx750is4qqj4w00rcigk9rrdy69bvd5bgqz5y7ls5x8h1a"))))
     (properties
      `((upstream-name . "palmerpenguins")))
     (build-system r-build-system)
@@ -4744,13 +4756,13 @@ curve to a data matrix in arbitrary dimensions.")
 (define-public r-prismatic
   (package
     (name "r-prismatic")
-    (version "1.1.0")
+    (version "1.1.1")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "prismatic" version))
               (sha256
                (base32
-                "1f6k11hcll33g2wbadjhm91pm5h4khg4zd8g9fzs3m9xlqpfaywh"))))
+                "013i0mq4n8s2zbzvfrz1vjcn2a6l98bamslkcv1a3cn70gpphja9"))))
     (properties `((upstream-name . "prismatic")))
     (build-system r-build-system)
     (propagated-inputs (list r-farver))
@@ -4785,13 +4797,13 @@ way.")
 (define-public r-restrserve
   (package
     (name "r-restrserve")
-    (version "1.2.0")
+    (version "1.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "RestRserve" version))
        (sha256
-        (base32 "03mlzhs2k728kwy6csp60m7qy8n9ma5dd37j87rzh07fcdlx8wim"))))
+        (base32 "1xfcp0y9l31815g1jk33mnkb6z68qpjl0gb4fj7f4578kx3v1c8p"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-checkmate
@@ -5303,14 +5315,14 @@ topics for ecologists (ISBN 978-0-691-12522-0).")
 (define-public r-lpsolve
   (package
     (name "r-lpsolve")
-    (version "5.6.15")
+    (version "5.6.16")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "lpSolve" version))
        (sha256
         (base32
-         "1fpkyjyqykwa1dxnhiky01pm09syxg169lm7hpy39bdbg10vw9s6"))))
+         "0amvxki4l2sp60adcc6ra7kbqjrfv55gbn6kasq04klihi8ix88q"))))
     (properties `((upstream-name . "lpSolve")))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/lpSolve")
@@ -5519,13 +5531,13 @@ available in a vignette.")
 (define-public r-progressr
   (package
     (name "r-progressr")
-    (version "0.10.1")
+    (version "0.11.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "progressr" version))
        (sha256
-        (base32 "1ldf7hqsz8vbjggz31990sqqyhrbiilzcnyla1krjlkg595h50wg"))))
+        (base32 "1nbc6vvsyqa1gvh1a1m4prnvng88wsa0r35i9fiwq84a6j18qrnq"))))
     (properties `((upstream-name . "progressr")))
     (build-system r-build-system)
     (propagated-inputs
@@ -5941,14 +5953,14 @@ by base R methods related to model fitting.")
 (define-public r-broom
   (package
     (name "r-broom")
-    (version "1.0.0")
+    (version "1.0.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "broom" version))
        (sha256
         (base32
-         "04hlwiqkj7c9cf357dgjfgg5a6mpicg6vzvwwcqjkq69nzbsr18n"))))
+         "14i8729m38nxf5q344isgq4006p3b50wi3q8jgckxqphhnj5lpjb"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-backports
@@ -6243,14 +6255,14 @@ Laplace approximation and adaptive Gauss-Hermite quadrature.")
 (define-public r-jomo
   (package
     (name "r-jomo")
-    (version "2.7-3")
+    (version "2.7-4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "jomo" version))
        (sha256
         (base32
-         "0qq03zspmh8x2c8w882ynsw7wshr9b0fyrpwnqx5yc1xlzrqffcx"))))
+         "1zck7p872k080hyfs0hibq7v13zmsry1jdlnq7k33ff1iljbq99d"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-lme4 r-mass r-ordinal r-survival r-tibble))
@@ -6739,14 +6751,14 @@ statistics, etc.")
 (define-public r-scatterplot3d
   (package
     (name "r-scatterplot3d")
-    (version "0.3-41")
+    (version "0.3-42")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "scatterplot3d" version))
        (sha256
         (base32
-         "152xqz9c70qab86mpgng049gxsg5f4fpf1m8dh93fb9v1avjd0sc"))))
+         "05jjdiam5w0znb114vc90zahclj22pqj1zzvr96nr10s1vkxvzm9"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/scatterplot3d/")
     (synopsis "3D scatter plot")
@@ -6802,17 +6814,15 @@ plots in @code{ggplot2}.")
 (define-public r-cli
   (package
     (name "r-cli")
-    (version "3.3.0")
+    (version "3.4.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "cli" version))
        (sha256
         (base32
-         "0qqd4mscv8ndjbji7knprdlv2hhyk35gazagvapbjzq1p6yfpaf3"))))
+         "0mxsls49g8m5vrak64b9mpsgw3mh8hnb1xxn56skbn4qb1hppbff"))))
     (build-system r-build-system)
-    (propagated-inputs
-     (list r-glue))
     (home-page "https://github.com/r-lib/cli#readme")
     (synopsis "Helpers for developing command line interfaces")
     (description "This package provides a suite of tools designed to build
@@ -7030,13 +7040,13 @@ iVAT).")
 (define-public r-xfun
   (package
     (name "r-xfun")
-    (version "0.31")
+    (version "0.33")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "xfun" version))
        (sha256
-        (base32 "0dgjkrlwl6rxmvdn6s1xrbiaa53hkfx2s7rqrbrc7c6shbkg6sfi"))))
+        (base32 "0v7f84gqsb94zff4x64478fssjg0sbis9m34vsxnjyw6ab9c5ys5"))))
     (build-system r-build-system)
     ;; knitr itself depends on xfun
     #;
@@ -7153,14 +7163,14 @@ estimated from a given sample.")
 (define-public r-pillar
   (package
     (name "r-pillar")
-    (version "1.8.0")
+    (version "1.8.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "pillar" version))
        (sha256
         (base32
-         "0vxkg451s5kwkg0m8d9dnr8gl5s0pgi8mxcm39ry5vgdj8v47ijj"))))
+         "1v47dm2v4nlswd1gmgcx5c7yrgn1ksdfr9lqkc63jf2nkv6af1ig"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-cli
@@ -7221,14 +7231,14 @@ packages that work with genomic data.")
 (define-public r-tinytex
   (package
     (name "r-tinytex")
-    (version "0.40")
+    (version "0.41")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tinytex" version))
        (sha256
         (base32
-         "13fqhg0yrzc28b39hpr4jip9w0q9yzhzxrczlf0q2yh45kdplpiz"))))
+         "1fhnh53fg8l4qyignvgz0nk5nqmljyykn8gpvq82nr7c051rfqaz"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-xfun))
@@ -7349,14 +7359,14 @@ vectors.")
 (define-public r-statnet-common
   (package
     (name "r-statnet-common")
-    (version "4.6.0")
+    (version "4.7.0")
     (source
       (origin
         (method url-fetch)
         (uri (cran-uri "statnet.common" version))
         (sha256
           (base32
-            "07djgc6qbxahiy5v15lfayxbj4188lxsb8xcs7hnbm2hic953bfx"))))
+            "1cx1h1yzs8jjxk10y2h0wl69caspzgx5wdqp36dp4sxm0sk335xn"))))
     (properties
       `((upstream-name . "statnet.common")))
     (build-system r-build-system)
@@ -7923,14 +7933,14 @@ chaotic time series analysis.")
 (define-public r-urca
   (package
     (name "r-urca")
-    (version "1.3-0")
+    (version "1.3-3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "urca" version))
        (sha256
         (base32
-         "1akaqwf3fvvvx4sgfn641fd4sj51s0701pvfl6s5hnz2k0iwh732"))))
+         "1wg9f691pif59xds43gnnw77mmzc9xpnhhvaksk2b0szffvaifj3"))))
     (build-system r-build-system)
     (propagated-inputs (list r-nlme))
     (native-inputs (list gfortran))
@@ -7944,14 +7954,14 @@ applied econometric analysis.")
 (define-public r-cubature
   (package
     (name "r-cubature")
-    (version "2.0.4.4")
+    (version "2.0.4.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "cubature" version))
        (sha256
         (base32
-         "0sfmcy5xpa40w3qn0jbg7b802wksl5k8glz9jpx77n159wn3nyq8"))))
+         "08whkhvn218089r930spn97m91vv1njgh2amksia8l3rbf7127x8"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-rcpp))
@@ -8089,14 +8099,14 @@ creation and manipulation of WAVE audio files.")
 (define-public r-np
   (package
     (name "r-np")
-    (version "0.60-11")
+    (version "0.60-14")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "np" version))
        (sha256
         (base32
-         "1a9kzn37cddwfdki5zjmzanxp75pccdjnsvqfrh84hhcsy51pcx3"))))
+         "0v6mhcwdnqj5kjxwrzcqlff021ih2jdarwmikdm5bvjfwi8pyarl"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-boot r-cubature r-quadprog r-quantreg))
@@ -8392,14 +8402,14 @@ systems.")
 (define-public r-radiant-data
   (package
     (name "r-radiant-data")
-    (version "1.4.4")
+    (version "1.4.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "radiant.data" version))
        (sha256
         (base32
-         "1lj8zz9zg7kys9rkjxn9p5z6l944dk2bx6idlxal59yhy4ql2i4p"))
+         "1vas0bkpngwxybmpdcaimha2r008prnli4b3lgjbjfkzpgm966d1"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -8619,14 +8629,14 @@ specific S3-method.")
 (define-public r-vim
   (package
     (name "r-vim")
-    (version "6.1.1")
+    (version "6.2.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "VIM" version))
        (sha256
         (base32
-         "0fbpm6y3hhiw8srnbc38k19b859jcqzsh78ib8yvj86gck5av0bm"))))
+         "1r0myxcx8y1a3fkf9ssk882f09snn2j6zilsygpld32hahn4k9xg"))))
     (properties `((upstream-name . "VIM")))
     (build-system r-build-system)
     (propagated-inputs
@@ -8818,14 +8828,14 @@ evaluated by the @dfn{Akaike Information Criterion} (AIC).")
 (define-public r-arules
   (package
     (name "r-arules")
-    (version "1.7-3")
+    (version "1.7-4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "arules" version))
        (sha256
         (base32
-         "05g6ik4z87g83nlicmb380331f84sqchvv1vch49zb7rq6v8gw6r"))))
+         "0pmikfq1phs73lmvhb4j9rlxj3z7kbp9wb619q2gqxpi9948raij"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-generics r-matrix))
@@ -8909,14 +8919,14 @@ misclassification probabilities of different models.")
 (define-public r-zip
   (package
     (name "r-zip")
-    (version "2.2.0")
+    (version "2.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "zip" version))
        (sha256
         (base32
-         "1n5ryjdj3i16b4mdp29wapgaklz3yzas5k8ffx7q6fa0jry9i5cz"))))
+         "08hl0sqiwh9my9ivkvkig044w7ppk8h8n38j3i0kjcc1fh43v1ql"))))
     (build-system r-build-system)
     (home-page "https://github.com/gaborcsardi/zip")
     (synopsis "Cross-platform Zip compression")
@@ -9294,14 +9304,14 @@ finance, conversion from and to JSON, and many other applications.")
 (define-public r-dtplyr
   (package
     (name "r-dtplyr")
-    (version "1.2.1")
+    (version "1.2.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "dtplyr" version))
        (sha256
         (base32
-         "1wyhhn16mvdj55k2xsh7vy489l7xk4mkz7pjrw16z87awk6yjh16"))))
+         "1m72ac7461mlvanj1krpmfp2ljl3c2k5nw6zrahc66vhcgz2hngq"))))
     (properties `((upstream-name . "dtplyr")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9574,14 +9584,14 @@ always locate the files relative to your project root.")
 (define-public r-reticulate
   (package
     (name "r-reticulate")
-    (version "1.25")
+    (version "1.26")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "reticulate" version))
        (sha256
         (base32
-         "0b1szzsqyc8wcfpkn5517bb1ds064vs2hky71my3p74kfngay991"))))
+         "1ibliic3qp597nskak2bfa6iyl721ssgcavwvfaf1c71plilimrz"))))
     (build-system r-build-system)
     (arguments
      (list
@@ -9887,14 +9897,14 @@ clustering.")
 (define-public r-factominer
   (package
     (name "r-factominer")
-    (version "2.4")
+    (version "2.6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "FactoMineR" version))
        (sha256
         (base32
-         "0lg8n9fxxk46nchnj4pbpqqf4swxfsq7r9jzr36dmd36kb7avqxr"))))
+         "0xcg4vjs5v9k28hhxhkfkks7nvpxpp2cvim00kh67f4pq041c9l1"))))
     (properties `((upstream-name . "FactoMineR")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9902,12 +9912,14 @@ clustering.")
            r-cluster
            r-dt
            r-ellipse
+           r-emmeans
            r-flashclust
            r-ggplot2
            r-ggrepel
            r-lattice
            r-leaps
            r-mass
+           r-multcompview
            r-scatterplot3d))
     (native-inputs
      (list r-knitr))
@@ -10003,14 +10015,14 @@ results to the user.")
 (define-public r-hdf5r
   (package
     (name "r-hdf5r")
-    (version "1.3.5")
+    (version "1.3.6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "hdf5r" version))
        (sha256
         (base32
-         "0bv2q4ir73sbk5ra2q4mc8wbcmiwkws8k0mjlnx9ysi2mdrm3dw7"))))
+         "16iin6krx2c50wm4d1id71v3kci6djvlari3ahic25vw1dg1k81l"))))
     (build-system r-build-system)
     (inputs
      (list hdf5 zlib))
@@ -10182,14 +10194,14 @@ hierarchical models using Markov Chain Monte Carlo (MCMC) simulation.")
 (define-public r-rbibutils
   (package
     (name "r-rbibutils")
-    (version "2.2.8")
+    (version "2.2.9")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rbibutils" version))
        (sha256
         (base32
-         "0lnia2fk8zlvkkgnl7r7dyi1ip5vqlw448qrvqs2s14rpbpcvbpi"))))
+         "11pzbqykmn7m9gp5jspfcj6vij865wqf9ry6m3jkihvfj7zhfb5j"))))
     (properties `((upstream-name . "rbibutils")))
     (build-system r-build-system)
     (home-page "https://geobosh.github.io/rbibutils/")
@@ -10230,14 +10242,14 @@ references and Rd files.")
 (define-public r-officer
   (package
     (name "r-officer")
-    (version "0.4.3")
+    (version "0.4.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "officer" version))
        (sha256
         (base32
-         "1ksfmwqb91j8n8x4vchpqr848scvf817mgiknwac7n8lfz79synk"))))
+         "1h6fcqw4bg644lwr5jggphyxp2d0ycya9q869z8099a50gc6h03f"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-r6 r-uuid r-xml2 r-zip))
@@ -10466,14 +10478,14 @@ Decomposition in R (Beaton et al 2014) <doi:10.1016/j.csda.2013.11.006>.")
 (define-public r-insight
   (package
     (name "r-insight")
-    (version "0.18.0")
+    (version "0.18.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "insight" version))
        (sha256
         (base32
-         "09gpkac882hqw84rk66h5dm94ljk08ydz13wz9fbjdxaffgw5ba1"))))
+         "1bj6dliin3draqb447zyy1w4z277n8rj5sdl3lnx468bq1yqc8h9"))))
     (build-system r-build-system)
     (native-inputs
      (list r-knitr))
@@ -10602,14 +10614,14 @@ functions.")
 (define-public r-flextable
   (package
     (name "r-flextable")
-    (version "0.7.2")
+    (version "0.8.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "flextable" version))
        (sha256
         (base32
-         "03nxh9a9q0jgqz05i7kgp8zjncpq9m4f54dx3bvqgpds4hcqxli9"))))
+         "03l9wgsikg1n2i3hxkb850kprs49nlrawyrm46k1d95b83d2qq8s"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-base64enc
@@ -11335,13 +11347,13 @@ second male (P2) based on the best fit distribution.")
 (define-public r-abcrf
   (package
     (name "r-abcrf")
-    (version "1.8.1")
+    (version "1.9")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "abcrf" version))
        (sha256
-        (base32 "1ghbd24yhqy3xhdxas6ccn84nkavqpgldx5ck8kijknc7qjm8k27"))))
+        (base32 "08mh1a6gxp0mfx6qnp1qzcrfx7xp64qj9kad4ziyswfx22ykdsxi"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-doparallel
@@ -11625,13 +11637,13 @@ subsequence} (LCS) using a dynamic programming algorithm.")
 (define-public r-mosaiccore
   (package
     (name "r-mosaiccore")
-    (version "0.9.0")
+    (version "0.9.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "mosaicCore" version))
        (sha256
-        (base32 "1h3ixzna4xy42rdnd89jj0v9q0riy3fnkd33z6l5c0zaidzm58fz"))))
+        (base32 "0mnizi1y7jn2z8v066b6kv08az7vss6avips740pjhgvi8frhsag"))))
     (properties `((upstream-name . "mosaicCore")))
     (build-system r-build-system)
     (propagated-inputs
@@ -11645,14 +11657,14 @@ subsequence} (LCS) using a dynamic programming algorithm.")
 (define-public r-labelled
   (package
     (name "r-labelled")
-    (version "2.9.1")
+    (version "2.10.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "labelled" version))
        (sha256
         (base32
-         "0h7scbyzh7kr51gds222rkhld2b3k36s86hj8rrzpwv4bwj0pccy"))))
+         "02n4r4bizsysnlmxpw86w7zkiqi6aill9dq2nmrn43xzrffy54sy"))))
     (properties `((upstream-name . "labelled")))
     (build-system r-build-system)
     (propagated-inputs
@@ -11676,13 +11688,13 @@ haven package.")
 (define-public r-ggformula
   (package
     (name "r-ggformula")
-    (version "0.10.1")
+    (version "0.10.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggformula" version))
        (sha256
-        (base32 "1ph5jd8svk8hmshi894vmmpq3zwgdmf4yn3gmdlkad68z8jynhsp"))))
+        (base32 "0xb39gjn6q7va1d1fhvf2dw9428s1q13wasx4y3cz2f0lls1r2wl"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-ggforce
@@ -11710,13 +11722,13 @@ while providing the intuitive capabilities of @code{r-ggplot2}.")
 (define-public r-mosaicdata
   (package
     (name "r-mosaicdata")
-    (version "0.20.2")
+    (version "0.20.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "mosaicData" version))
        (sha256
-        (base32 "0h3f5fgzkzjfgf3ml0qa5j52921y6wy6jgggxmhs31bs8fd4srg4"))))
+        (base32 "1s97yq24z7yhzmx0dpspfadpd8hndyhn7aiw0nslwrhvilhwa409"))))
     (properties `((upstream-name . "mosaicData")))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/mosaicData/")
@@ -11729,14 +11741,14 @@ used to teach mathematics, statistics, computation and modeling.")
 (define-public r-raster
   (package
     (name "r-raster")
-    (version "3.5-21")
+    (version "3.6-3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "raster" version))
        (sha256
         (base32
-         "1alny43aw5ydlwc7157bf524r0dxp74bf5d0nkvm8qnni57z9bci"))))
+         "1in3n0hqzcdhibjl3y82nwn6m6wcv4k3l6s2jw57jn32qgvy01lz"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-rcpp r-sp r-terra))
@@ -11750,48 +11762,39 @@ Processing of very large files is supported.")
 
 (define-public r-mosaic
   (package
-   (name "r-mosaic")
-   (version "1.8.3")
-   (source
-    (origin
-     (method url-fetch)
-     (uri (cran-uri "mosaic" version))
-     (sha256
-      (base32 "1y0isqbva0vi5zlx1xvixbq87n4xp66ljh43qnd0cpzaz0mn21cg"))))
-   (build-system r-build-system)
-   (propagated-inputs
-    (list r-broom
-          r-dplyr
-          r-ggdendro
-          r-ggformula
-          r-ggplot2
-          r-ggrepel
-          r-ggridges
-          r-ggstance
-          r-glue
-          r-gridextra
-          r-lattice
-          r-latticeextra
-          r-leaflet
-          r-mass
-          r-matrix
-          r-mosaiccore
-          r-mosaicdata
-          r-readr
-          r-rlang
-          r-tidyr))
-   (native-inputs
-    (list r-knitr))
-   (home-page "https://github.com/ProjectMOSAIC/mosaic/")
-   (synopsis "Mathematics, statistics, and computation teaching utilities")
-   (description
-    "This package contain data sets and utilities from
+    (name "r-mosaic")
+    (version "1.8.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "mosaic" version))
+       (sha256
+        (base32 "0ix9c4rpa1h7cya9mqzqph9ain1ng61px5v4wwvlaf76zdr51c0i"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     (list r-dplyr
+           r-ggformula
+           r-ggplot2
+           r-lattice
+           r-mass
+           r-matrix
+           r-mosaiccore
+           r-mosaicdata
+           r-purrr
+           r-rlang
+           r-tidyr))
+    (native-inputs
+     (list r-knitr))
+    (home-page "https://github.com/ProjectMOSAIC/mosaic/")
+    (synopsis "Mathematics, statistics, and computation teaching utilities")
+    (description
+     "This package contain data sets and utilities from
 @url{http://mosaic-web.org, Project MOSAIC} used to teach mathematics,
 statistics, computation and modeling.  Project MOSAIC is a community of
 educators working to tie together aspects of quantitative work that students
 in science, technology, engineering and mathematics will need in their
 professional lives, but which are usually taught in isolation, if at all.")
-   (license license:gpl2+)))
+    (license license:gpl2+)))
 
 (define-public r-abd
   (package
@@ -11932,14 +11935,14 @@ genotypes as \"graphical genotypes\".")
 (define-public r-furrr
   (package
     (name "r-furrr")
-    (version "0.3.0")
+    (version "0.3.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "furrr" version))
        (sha256
         (base32
-         "117xj66l14r08macwghgyibzm282ljv1afpa133h952gc70irs9z"))))
+         "12z4q0fn7asxis17hisi82bvfabl5if1338lmfqmkrwv5rg7748d"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-future
@@ -12810,14 +12813,14 @@ the differences were not significantly different.")
 (define-public r-emmeans
   (package
     (name "r-emmeans")
-    (version "1.8.0")
+    (version "1.8.1-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "emmeans" version))
        (sha256
         (base32
-         "0xdvbjcywmwk6n8xbp55n92lmqz7wbc938gmv7lbg96hkf9kc993"))))
+         "0xv55v50v3fdg289mfqirfm4p644gn4ckqnvs0wb09sl4m25xz3r"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-estimability r-mvtnorm r-numderiv r-xtable))
@@ -12939,14 +12942,14 @@ Bayesian modeling.")
 (define-public r-tmb
   (package
     (name "r-tmb")
-    (version "1.9.0")
+    (version "1.9.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "TMB" version))
        (sha256
         (base32
-         "1mr5vwamw6ag1fhd83jyy6015296908qwshwq0fcphhiv60x579c"))))
+         "03zv38gig31ir5gdhgw5j6j8xn1f4y91j2r87fv31gywmg1bhzl9"))))
     (properties `((upstream-name . "TMB")))
     (build-system r-build-system)
     (propagated-inputs
@@ -13042,14 +13045,14 @@ differentiation.")
 (define-public r-bayestestr
   (package
     (name "r-bayestestr")
-    (version "0.12.1")
+    (version "0.13.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "bayestestR" version))
        (sha256
         (base32
-         "1fbkpagc5zznrafy7h68nhx43a1yg4v7242pbqjkd0h2481c101z"))))
+         "1951zm88qlbmr4ragrzfzgw72awm7mqhh464s6kck0mcx7shas90"))))
     (properties `((upstream-name . "bayestestR")))
     (build-system r-build-system)
     (propagated-inputs
@@ -13069,14 +13072,14 @@ ROPE percentage and pd).")
 (define-public r-performance
   (package
     (name "r-performance")
-    (version "0.9.1")
+    (version "0.9.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "performance" version))
        (sha256
         (base32
-         "0xiqy9z070v5xzf2iq4x01licabhkygji5x6qfy7l08n43z4agny"))))
+         "0fdszf1dngqlbwcp7ynfdkzjgg0lang4d3b53ygjwsq7ph20xsw6"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-bayestestr r-datawizard r-insight))
@@ -13123,14 +13126,14 @@ results using @code{ggplot2}.")
 (define-public r-effectsize
   (package
     (name "r-effectsize")
-    (version "0.7.0")
+    (version "0.7.0.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "effectsize" version))
        (sha256
         (base32
-         "07dbj7n9vwjkb7xrdj224lzc3ppr3jjdgyyilkj7gpkvgjgfrqhz"))))
+         "0y8ng4wsms25qx2wmyrm97rbv5dgm5xyhh5ys99f0clr9lrcxr91"))))
     (properties `((upstream-name . "effectsize")))
     (build-system r-build-system)
     (propagated-inputs
@@ -13252,14 +13255,14 @@ package works as intended.")
 (define-public r-gitcreds
   (package
     (name "r-gitcreds")
-    (version "0.1.1")
+    (version "0.1.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "gitcreds" version))
        (sha256
         (base32
-         "1snzn7nxy0rwz0bzjsg6k04c0n811dgn8gn9cmn2v78aj57ayjmi"))))
+         "0pf70g4a2kxjcid5rc4ppmgcl3kpjhkszdgz4fqn4l33lp6apij1"))))
     (properties `((upstream-name . "gitcreds")))
     (build-system r-build-system)
     (inputs (list git-minimal))
@@ -13276,14 +13279,14 @@ repositories.")
 (define-public r-gh
   (package
     (name "r-gh")
-    (version "1.3.0")
+    (version "1.3.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "gh" version))
        (sha256
         (base32
-         "077drbxz3rx7idv6w24ipj1p6jnzv86a3iyryab699cc9q2kjh54"))))
+         "1vqjhqlhvvqq8w2cqbgrkqphj0ga5s6fbl4zhcl3vc6fvsms5bpv"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-cli r-gitcreds r-httr r-ini r-jsonlite))
@@ -13378,14 +13381,14 @@ user credentials.")
 (define-public r-gert
   (package
     (name "r-gert")
-    (version "1.7.0")
+    (version "1.9.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "gert" version))
        (sha256
         (base32
-         "1pdqmnlrpbjkqwf9ns2232d3cgyqjkywyd2s8sqinaapnlh87y0x"))))
+         "1lb9rf4c8ip8cll9mycx88x8q774bcmd01j4bwjx9h0kx1hgahkb"))))
     (properties `((upstream-name . "gert")))
     (build-system r-build-system)
     (inputs
@@ -13702,14 +13705,14 @@ algorithms, clusterings, and individual clusters.")
 (define-public r-tweedie
   (package
     (name "r-tweedie")
-    (version "2.3.3")
+    (version "2.3.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tweedie" version))
        (sha256
         (base32
-         "1nfhaqblvm62j8gfkyrgba5ai0pb2fsnrxp63637mhys2bawlcm0"))))
+         "0ghwggdx6d391m7nay9n5li2xjqh3kmw416xx130sy2sxrgp8g4q"))))
     (build-system r-build-system)
     (native-inputs (list gfortran))
     (home-page "https://cran.r-project.org/web/packages/tweedie/")
@@ -13917,14 +13920,14 @@ parallel calculations across cluster nodes.")
 (define-public r-chk
   (package
     (name "r-chk")
-    (version "0.8.0")
+    (version "0.8.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "chk" version))
        (sha256
         (base32
-         "10gcv00mgi88vgxr9jrs0ar67crmdcdi4m9g86cm6pg3ly0v097y"))))
+         "0nw3aj8sbd2x8rsvpglsiavk7kivd330mgx676k46m7lhhj7nmpw"))))
     (properties `((upstream-name . "chk")))
     (build-system r-build-system)
     (propagated-inputs
@@ -13966,13 +13969,13 @@ address a bug.")
 (define-public r-rcppalgos
   (package
     (name "r-rcppalgos")
-    (version "2.5.3")
+    (version "2.6.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "RcppAlgos" version))
               (sha256
                (base32
-                "1ndibdf3k02bpcgackzviczramzkay9idn071nix3dhs5miq1ai8"))))
+                "11dvh0ba3chsqf3vw8g9h1754arxgwqryayavx3n6vm5daz2krqa"))))
     (properties `((upstream-name . "RcppAlgos")))
     (build-system r-build-system)
     (inputs (list gmp))
@@ -14269,14 +14272,14 @@ features (e.g. local modes).")
 (define-public r-arm
   (package
     (name "r-arm")
-    (version "1.12-2")
+    (version "1.13-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "arm" version))
        (sha256
         (base32
-         "0pagrc1vkaz460d0lvrgb4xj6gcd920f4mrc8zpzw07c3v1s2sw1"))))
+         "0dz9dnsky77da2mc198dr3600kz9vk75z1iihjarnsdrq68a4bf0"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-abind
@@ -14497,13 +14500,13 @@ Tabelow (2007) <DOI:10.18637/jss.v019.i01>.")
 (define-public r-admisc
   (package
     (name "r-admisc")
-    (version "0.29")
+    (version "0.30")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "admisc" version))
        (sha256
-        (base32 "02vl2k58ijqd30d7y01x0ap2b2vh1is3xg14g3cpvm5gflyxyinf"))))
+        (base32 "01b2qjxz0qicqjm1swvm04qkiwhr7zjn7lhqv26l6rj4yb43y339"))))
     (properties `((upstream-name . "admisc")))
     (build-system r-build-system)
     (home-page "https://github.com/dusadrian/admisc")
@@ -14709,14 +14712,14 @@ Processing.")
 (define-public r-waveslim
   (package
     (name "r-waveslim")
-    (version "1.8.3")
+    (version "1.8.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "waveslim" version))
        (sha256
         (base32
-         "0yxkwgdq1xqh027l2akwb4zji4li3sgpmyxlmfq1rhz15kjxr2wq"))))
+         "1510xpkgrhdw394m5anxccdczjikcxazyd09ix2z73i15akyx3j0"))))
     (build-system r-build-system)
     (native-inputs
      (list gfortran))
@@ -14779,13 +14782,13 @@ maps.")
 (define-public r-tidytree
   (package
     (name "r-tidytree")
-    (version "0.3.9")
+    (version "0.4.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tidytree" version))
        (sha256
-        (base32 "1prfv2jy6z4zp4gyi9krzbysipsbnjrkxcccflm4nwsd9i7mshqj"))))
+        (base32 "0dm71zdrb1qwaja23jlzjpraa609b6yxl8bhksz8slgpfm1jgs00"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-ape
@@ -14851,14 +14854,14 @@ giving it a description in the specific format.")
 (define-public r-sparsesvd
   (package
     (name "r-sparsesvd")
-    (version "0.2")
+    (version "0.2-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "sparsesvd" version))
        (sha256
         (base32
-         "1xm969fjq3fv1p2sqza2apz8picibj4s2agpwf1sx9nwn3b587qs"))))
+         "0yz0mgayxriyrz6bbrd41cck0s56b916xvyh13hw86gydd6kpl5k"))))
     (build-system r-build-system)
     (propagated-inputs (list r-matrix))
     (home-page "http://tedlab.mit.edu/~dr/SVDLIBC/")
@@ -15376,14 +15379,14 @@ conditional reporting based on the current \"output level\".")
 (define-public r-tractor-base
   (package
     (name "r-tractor-base")
-    (version "3.3.3.1")
+    (version "3.3.5.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tractor.base" version))
        (sha256
         (base32
-         "0w5jw7pf77npkgig7667yikpbwv4dfk1dcq63qm88l409ga2f95p"))))
+         "0fxbzbhpi6l55m14nmww8y3kdxgchzj4mw1yf4xkm2y6s68phvgc"))))
     (properties `((upstream-name . "tractor.base")))
     (build-system r-build-system)
     (propagated-inputs
@@ -15543,14 +15546,14 @@ Life Sciences\" by Ron Wehrens, Springer (2011).")
 (define-public r-als
   (package
     (name "r-als")
-    (version "0.0.6")
+    (version "0.0.7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ALS" version))
        (sha256
         (base32
-         "1swrn39vy50fazkpf97r7c542gkj6mlvy8gmcxllg7mf2mqx546a"))))
+         "184d6xr4mgs78jvi7xa4njrq6p625i9sx69wak6mdn53qpl9b8ap"))))
     (properties `((upstream-name . "ALS")))
     (build-system r-build-system)
     (propagated-inputs
@@ -15640,14 +15643,14 @@ library.")
 (define-public r-ontologyindex
   (package
     (name "r-ontologyindex")
-    (version "2.7")
+    (version "2.10")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ontologyIndex" version))
        (sha256
         (base32
-         "0j3h1spqwjhh1wbmwivmqcyi042yy7d565c3kxgn70xrmy693x1k"))))
+         "0hisb9scxyyqkxhxhvgsgwix54pkq0zma3xq3ywczyazvzcxd5f9"))))
     (properties `((upstream-name . "ontologyIndex")))
     (build-system r-build-system)
     (native-inputs
@@ -15662,14 +15665,14 @@ and manipulating sets of ontological terms.")
 (define-public r-gargle
   (package
     (name "r-gargle")
-    (version "1.2.0")
+    (version "1.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "gargle" version))
        (sha256
         (base32
-         "0fypj70c1fjmvs57birik76wfx8a2fs4gzicbb52k57i6clwlijd"))))
+         "087hlbqpwjj7jnsg1ax2b12nc0h4zfj070q5hjp6fca05z4f4rzk"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-cli
@@ -15728,14 +15731,14 @@ preparing, executing, and processing HTTP requests.")
 (define-public r-gmp
   (package
     (name "r-gmp")
-    (version "0.6-5")
+    (version "0.6-6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "gmp" version))
        (sha256
         (base32
-         "0llyd1wx606vpgvv7d61m0fv2a5yxsmisd38fhzanbjl2wynzrwa"))))
+         "14r7xlxjrwww6l726sispq6jhxy2yfwbcqrqgc9x4ma812l9byl7"))))
     (build-system r-build-system)
     (arguments
      '(#:phases
@@ -16242,13 +16245,13 @@ Differences with other sparse matrix packages are:
 (define-public r-fields
   (package
     (name "r-fields")
-    (version "14.0")
+    (version "14.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "fields" version))
        (sha256
-        (base32 "0rjg2yx52f5s1fhg6jbk9lfv92qmjqwd6bwpz9rx1fkml9vy8zch"))))
+        (base32 "0d2lm4s9p3rv676z291fynpx3vdmi6cikcqlj23fxlj34icwbi2p"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-maps r-spam r-viridis))
@@ -16764,14 +16767,14 @@ subsetting.")
 (define-public r-globals
   (package
     (name "r-globals")
-    (version "0.16.0")
+    (version "0.16.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "globals" version))
        (sha256
         (base32
-         "0507lxykjz44yws4s4hb99zb3bn6kn6fy8m87lf2dsm431j40gy5"))))
+         "158y39qv99f1kc2i7w8d4lm2ls96plb43fzamz31im9xb9bkmxpp"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-codetools))
@@ -16816,14 +16819,14 @@ port-forwarding to your local computer.")
 (define-public r-future
   (package
     (name "r-future")
-    (version "1.27.0")
+    (version "1.28.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "future" version))
        (sha256
         (base32
-         "1ybhbdw158403n6plipgiwkw710pxpnq3mq8pdx5g8q3jibv93nh"))))
+         "1xhv0nf97yxxxsmxczyqqbnb4yn5sfn5vzvhm9dmw9csrmmadpbg"))))
     (build-system r-build-system)
     (arguments
      `(#:phases
@@ -16851,14 +16854,14 @@ the local machine to, say, distributed processing on a remote compute cluster.")
 (define-public r-future-apply
   (package
     (name "r-future-apply")
-    (version "1.9.0")
+    (version "1.9.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "future.apply" version))
        (sha256
         (base32
-         "1xb7qj8izjwmy4aa92p5f4cdbhgp220hrly3b5879f9hrv2w2rk1"))))
+         "0cr141mamjxby79sww02493yal9lahslvp3a3ic7f856rbawq8jg"))))
     (properties `((upstream-name . "future.apply")))
     (build-system r-build-system)
     (arguments
@@ -16984,14 +16987,14 @@ chosen parallel environment and associated foreach backend.")
 (define-public r-blockmodeling
   (package
     (name "r-blockmodeling")
-    (version "1.0.5")
+    (version "1.1.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "blockmodeling" version))
        (sha256
         (base32
-         "1vc8gy4slsywcwxq532373i0dq73fhs5cac9mr6zz2pjaaxjghhq"))))
+         "19mxmxsnl6rrh85p0sak91vcaw4dz2cnm70hdzfwnvdrr695yw2z"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-matrix))
@@ -17315,13 +17318,13 @@ such software by imputing dropout events.")
 (define-public r-gamlss-dist
   (package
     (name "r-gamlss-dist")
-    (version "6.0-3")
+    (version "6.0-5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "gamlss.dist" version))
        (sha256
-        (base32 "1gqjr419v8z2ygh0h1xz7bipnsbp820njzwq7z3r9f41rn1ym47c"))))
+        (base32 "03m275qvrmpzmc10hs48277kxp503riz8sz6xk9pkpj8n7gsz20g"))))
     (properties `((upstream-name . "gamlss.dist")))
     (build-system r-build-system)
     (propagated-inputs (list r-mass))
@@ -18277,18 +18280,18 @@ univariate class intervals for mapping or other graphics purposes.")
 (define-public r-spdata
   (package
     (name "r-spdata")
-    (version "2.0.1")
+    (version "2.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "spData" version))
        (sha256
         (base32
-         "1z4hp5ivwzyvl8mkp98j2ng1cl1xksqbjxv85vdlqfqjwpia6df6"))))
+         "07whxr039cxvk2nn65jada3i8vqqw34lgca9j17ah8chy9r0m73f"))))
     (properties `((upstream-name . "spData")))
     (build-system r-build-system)
     (propagated-inputs
-     (list r-raster r-sp))
+     (list r-sp))
     (home-page "https://github.com/Nowosad/spData")
     (synopsis "Datasets for spatial analysis")
     (description
@@ -18451,13 +18454,13 @@ datum transformations.")
 (define-public r-spdep
   (package
     (name "r-spdep")
-    (version "1.2-4")
+    (version "1.2-5")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "spdep" version))
               (sha256
                (base32
-                "0xx6k3rsvsz1hwj0ny8aqfi9ca54x38f8pz8sfya5cggaspxbx59"))
+                "1ib5jgahjgjpj2ajp5g71r4fw0q1zkddixgmywi1n73nqr39qwp2"))
               (snippet
                '(for-each delete-file '("inst/doc/CO69.html"
                                         "inst/doc/CO69.R"
@@ -18896,13 +18899,13 @@ SELECT or UPDATE queries to an end-point.")
 (define-public r-bookdown
   (package
     (name "r-bookdown")
-    (version "0.27")
+    (version "0.29")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "bookdown" version))
               (sha256
                (base32
-                "08wzi7hh3x1dfpmzpxhphrv5zb6a3p7rziaazisfpp1zwsxllwif"))))
+                "08zpky94bdbjsbhi90pymxpczpfkjxwbx7p1v7ip8raw9b23skjv"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-htmltools
@@ -19437,14 +19440,14 @@ packages with Rcpp.")
 (define-public r-tweenr
   (package
     (name "r-tweenr")
-    (version "1.0.2")
+    (version "2.0.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tweenr" version))
        (sha256
         (base32
-         "17znizh4yabh2zs9mzyr0sl6p0pw49961i61br7cl1b7v9sza18q"))))
+         "1wqzcsxlz1isb1j0v5g6dgvd40q3q9qlahvgcgiq0j4d87nzvfv4"))))
     (build-system r-build-system)
     (arguments
      (list
@@ -19456,7 +19459,7 @@ packages with Rcpp.")
                (("BASEDATETIME <- Sys.time.*")
                 "BASEDATETIME <- structure(0, class = c(\"POSIXct\", \"POSIXt\"))\n")))))))
     (propagated-inputs
-     (list r-farver r-magrittr r-rcpp r-rlang))
+     (list r-cpp11 r-farver r-magrittr r-rlang r-vctrs))
     (home-page "https://github.com/thomasp85/tweenr")
     (synopsis "Interpolate data for smooth animations")
     (description
@@ -19541,18 +19544,19 @@ sets of URLs.")
 (define-public r-ggforce
   (package
     (name "r-ggforce")
-    (version "0.3.3")
+    (version "0.3.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggforce" version))
        (sha256
         (base32
-         "0bwzjbjl678xvc2ihm80dwn9pidwafqjdab3k299csys16s3na1a"))))
+         "0lshvdb5kx0k5w36pc7fy653cs98w17spbw8f0jw36xb80sipiv2"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-ggplot2
            r-gtable
+           r-lifecycle
            r-mass
            r-polyclip
            r-rcpp
@@ -19774,14 +19778,14 @@ graphics using Vega.")
 (define-public r-gbm
   (package
     (name "r-gbm")
-    (version "2.1.8")
+    (version "2.1.8.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "gbm" version))
        (sha256
         (base32
-         "1h9f4ww9yc3nsvghgr2q7jjrlz29ibabxjbax1sk5wmqh2wy6pbx"))))
+         "02z85d7zp3i5x8r8q005hyw2rx1ck7lw81q7a3lqwraj8l95c94d"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-lattice r-survival))
@@ -19954,14 +19958,14 @@ function for computing a matrix of correlation p-values.")
 (define-public r-ggfun
   (package
     (name "r-ggfun")
-    (version "0.0.6")
+    (version "0.0.7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggfun" version))
        (sha256
         (base32
-         "06si42b60hp8wprs5nbks93qlb9s269k9kw7akcirizwc399x62r"))))
+         "0x71p3mm0sw72hv92368wy2yiy7zv826p3kddpwndqv1bywmyfx8"))))
     (properties `((upstream-name . "ggfun")))
     (build-system r-build-system)
     (propagated-inputs
@@ -19978,22 +19982,22 @@ each of the legends).")
 (define-public r-gridtext
   (package
     (name "r-gridtext")
-    (version "0.1.4")
+    (version "0.1.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "gridtext" version))
        (sha256
         (base32
-         "131kw7nkfwksviwfifd2kk7lyvhxzzzv1nnj8rahkr3dik3akk61"))))
+         "0f7i2qb8fawi8agy2iz2c173kfwj7cbb5ikjix64nmzqc5j7363d"))))
     (properties `((upstream-name . "gridtext")))
     (build-system r-build-system)
     (propagated-inputs
-     (list r-jpeg
+     (list r-curl
+           r-jpeg
            r-markdown
            r-png
            r-rcpp
-           r-rcurl
            r-rlang
            r-stringr
            r-xml2))
@@ -20009,14 +20013,14 @@ wrap.")
 (define-public r-ggtext
   (package
     (name "r-ggtext")
-    (version "0.1.1")
+    (version "0.1.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggtext" version))
        (sha256
         (base32
-         "0n19dlcys8v7myfyckr6dnq0kx79k3sbh8nwx1jsx8pgzfbi8a2b"))))
+         "10vrrxviv4yp9lqsanqvwsvbj64vn66hwm1w7860x1g58hf1g0l7"))))
     (properties `((upstream-name . "ggtext")))
     (build-system r-build-system)
     (propagated-inputs
@@ -20249,14 +20253,14 @@ external dependencies.  This package has is implemented purely in R.")
 (define-public r-aplot
   (package
     (name "r-aplot")
-    (version "0.1.6")
+    (version "0.1.7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "aplot" version))
        (sha256
         (base32
-         "0310z9db2r8vr4053vy6w4rbcqhg5cv56p60rk7dh4y6ifbd2sbx"))))
+         "05l6pvhrl715xgdy7qmw6lyxigv9qn90ms3vf7awip8sdmghy9gn"))))
     (properties `((upstream-name . "aplot")))
     (build-system r-build-system)
     (propagated-inputs
@@ -20324,14 +20328,14 @@ colored by the number of neighboring points.  This is useful to visualize the
 (define-public r-arrow
   (package
     (name "r-arrow")
-    (version "8.0.0")
+    (version "9.0.0.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "arrow" version))
        (sha256
         (base32
-         "1b85vc5ld7nibqgsdkl5kbzc0rm5jh5lqfdrssvrrcxpd26a16kc"))))
+         "1vbjny6v1d4fdf01rphg4wg8ljs0bzrjyxlsjwjq58pd6g2qcdgc"))))
     (properties `((upstream-name . "arrow")))
     (build-system r-build-system)
     (inputs
@@ -20438,14 +20442,14 @@ on, for a performance vs accuracy trade-off.")
 (define-public r-rsparse
   (package
     (name "r-rsparse")
-    (version "0.5.0")
+    (version "0.5.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rsparse" version))
        (sha256
         (base32
-         "0d05h47j29zipyxbkv9cwzv2dzj894z6hh9dqfhwswwjbv6ciwpq"))))
+         "15kdllm2lh6xdlv4j0ljyj5pczhx26s9d8cac7953zbb0sd45chz"))))
     (properties `((upstream-name . "rsparse")))
     (build-system r-build-system)
     (propagated-inputs
@@ -20471,14 +20475,14 @@ Row} (CSR) format.")
 (define-public r-text2vec
   (package
     (name "r-text2vec")
-    (version "0.6.1")
+    (version "0.6.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "text2vec" version))
        (sha256
         (base32
-         "0bisr31051hnshw26rp9r4bm8ksr977dl9k1d3fb1x79pq5aa2pi"))))
+         "1as58w1hb6h0hpncwcr2nx9a8bj5fy6bfllx2a8ck8hal764iach"))))
     (properties `((upstream-name . "text2vec")))
     (build-system r-build-system)
     (propagated-inputs
@@ -20580,14 +20584,14 @@ provides tools to compute this metric.")
 (define-public r-lintr
   (package
     (name "r-lintr")
-    (version "3.0.0")
+    (version "3.0.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "lintr" version))
        (sha256
         (base32
-         "1d3pn6aarmpqyyzb2vawwcamrgrdvyqfdijk0ixp44c3fhld9cgf"))))
+         "18prww284sil98ck3gmkmfs6b4disn9nyfb00kfwwiwg7ay1df6g"))))
     (properties `((upstream-name . "lintr")))
     (build-system r-build-system)
     (propagated-inputs
@@ -20613,14 +20617,14 @@ code edited with @code{RStudio IDE}, @code{Emacs} and @code{Vim}.")
 (define-public r-sctransform
   (package
     (name "r-sctransform")
-    (version "0.3.3")
+    (version "0.3.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "sctransform" version))
        (sha256
         (base32
-         "0aqbcarsvvzkh5h4i65f08y4b8dfcs3zi62hmvfy24gj81f15bw3"))))
+         "1nhmsbkrww74a55avln5zhd77g92f15p885j5q0khajw35iqnv0g"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-dplyr
@@ -20994,18 +20998,18 @@ and model output.")
 (define-public r-enrichr
   (package
     (name "r-enrichr")
-    (version "3.0")
+    (version "3.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "enrichR" version))
        (sha256
         (base32
-         "0i3kfq4fkmx47n61zj5f87iv8ci6gbgy90a7s8dy9zbndzvbgya3"))))
+         "0ad7jp398prvmm2fym07268qhv40mg67dx55ml4ayqkwxwffr1i9"))))
     (properties `((upstream-name . "enrichR")))
     (build-system r-build-system)
     (propagated-inputs
-     (list r-ggplot2 r-httr r-rjson))
+     (list r-curl r-ggplot2 r-httr r-rjson))
     (native-inputs
      (list r-knitr))
     (home-page "https://cran.r-project.org/web/packages/enrichR/")
@@ -21167,14 +21171,14 @@ easily.")
 (define-public r-umap
   (package
     (name "r-umap")
-    (version "0.2.8.0")
+    (version "0.2.9.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "umap" version))
        (sha256
         (base32
-         "0aiarnzc8gl932gi8fxd9f9rshaiwh9vj570l135fkiaja3q2wap"))))
+         "1282v09kpds83mlr7kz06k8a40ji15hw85p30vrnp1g6w64w26sm"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-matrix r-openssl r-rcpp r-reticulate r-rspectra))
@@ -21191,14 +21195,14 @@ in R, including a translation of the original algorithm into R.")
 (define-public r-uwot
   (package
     (name "r-uwot")
-    (version "0.1.11")
+    (version "0.1.14")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "uwot" version))
        (sha256
         (base32
-         "06ylzxmdh8jipbrzgqaiivd2lnqmbcva41cyvc0iyals6vqr1ksg"))))
+         "1q4z98w3pkc51vrcpmwaibnwmlm17zjcnh0qlx660wky5ccyh5l0"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-dqrng
@@ -21207,8 +21211,7 @@ in R, including a translation of the original algorithm into R.")
            r-matrix
            r-rcpp
            r-rcppannoy
-           r-rcppprogress
-           r-rspectra))
+           r-rcppprogress))
     (home-page "https://github.com/jlmelville/uwot")
     (synopsis "Uniform manifold approximation and projection")
     (description
@@ -21351,14 +21354,14 @@ computed using the L1 (Manhattan, taxicab) metric.")
 (define-public r-leiden
   (package
     (name "r-leiden")
-    (version "0.4.2")
+    (version "0.4.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "leiden" version))
        (sha256
         (base32
-         "1gg24afwbz818041bhmswmdqgxv35zp5h1i1102p58aaiis8dkna"))))
+         "0f09k3mhb0di2cz1q95y6qd3rqh7xdybn0dpnd4ifqhfhr5lnika"))))
     (properties `((upstream-name . "leiden")))
     (build-system r-build-system)
     (propagated-inputs
@@ -21377,14 +21380,14 @@ guaranteeing well-connected communities.\" <arXiv:1810.08473>.")
 (define-public r-patchwork
   (package
     (name "r-patchwork")
-    (version "1.1.1")
+    (version "1.1.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "patchwork" version))
        (sha256
         (base32
-         "10glgkf58lcykcwda1hj6xdps02m3i247qynk6s2jmwljagps3fg"))))
+         "0xw9mh1qakj131nw98icxrxwvdlwy2ngwvmagrqr3m84sz9dbffs"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-ggplot2 r-gtable))
@@ -21520,13 +21523,13 @@ function and interfaces to external frameworks.")
 (define-public r-covr
   (package
     (name "r-covr")
-    (version "3.5.1")
+    (version "3.6.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "covr" version))
        (sha256
-        (base32 "0v5cv3cw2kpdr6wxmkbd3wclavr17zipypdcb10hhmpa4cvgqk55"))))
+        (base32 "0mqiqmbwq5f083lda208nqd4ya0f912bkkya2i62fkqsii1ibgpz"))))
     (properties `((upstream-name . "covr")))
     (build-system r-build-system)
     (propagated-inputs
@@ -21582,14 +21585,14 @@ be used further by e.g. graphic devices.")
 (define-public r-graphlayouts
   (package
     (name "r-graphlayouts")
-    (version "0.8.0")
+    (version "0.8.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "graphlayouts" version))
        (sha256
         (base32
-         "1l7gkn0r1ijllv3w7cbwcbi0jggs7wlkq9b2lykprng4g1kjc96p"))))
+         "0yhg42p3jlz78kd712jd5525zm1h3n5gmjplfscjkgn342r3w92v"))))
     (properties `((upstream-name . "graphlayouts")))
     (build-system r-build-system)
     (propagated-inputs
@@ -21607,14 +21610,14 @@ emphasize hidden group structures in networks or focus on specific nodes.")
 (define-public r-terra
   (package
     (name "r-terra")
-    (version "1.6-7")
+    (version "1.6-17")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "terra" version))
        (sha256
         (base32
-         "1p67797i9n4cjk1lp4a84h220428nxv940n1kjg1ysl3chrf0w1l"))))
+         "00mwigymvsqf7r3swbkdw8fwqzr05ddk84fhyhr16lfa4118z26v"))))
     (properties `((upstream-name . "terra")))
     (build-system r-build-system)
     (inputs
@@ -21641,14 +21644,14 @@ files is supported.")
 (define-public r-tidygraph
   (package
     (name "r-tidygraph")
-    (version "1.2.1")
+    (version "1.2.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tidygraph" version))
        (sha256
         (base32
-         "0dmdff3bkg53xn0c51xd6k2d9c7l250x1lhl5z3libf533dw5g9g"))))
+         "0w34jfldjkynbkyinmi1vdrfjhjrs47hm599mbnx4sxmnpbclmfm"))))
     (properties `((upstream-name . "tidygraph")))
     (build-system r-build-system)
     (propagated-inputs
@@ -21728,14 +21731,14 @@ in pipelines.")
 (define-public r-parameters
   (package
     (name "r-parameters")
-    (version "0.18.1")
+    (version "0.18.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "parameters" version))
        (sha256
         (base32
-         "0zcypf3fi745pa18vpqgx3q9izhkkmpcvcv1gv8pxawyq9mw8ag9"))))
+         "04swg19zb34y3nmclf94v19yskqlb2diqg93jflhgagrv9550az9"))))
     (properties `((upstream-name . "parameters")))
     (build-system r-build-system)
     (propagated-inputs
@@ -21809,14 +21812,14 @@ atmospheric physics.")
 (define-public r-lifecycle
   (package
     (name "r-lifecycle")
-    (version "1.0.1")
+    (version "1.0.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "lifecycle" version))
        (sha256
         (base32
-         "183v1z1h037pvsgrj6vakpwhnhsr29hsw8p16k59dgpi00f6x9qx"))))
+         "0qssl9lmfn94kmvcg1xpd4md17jx31i3sdbb77dwas60z673qgvv"))))
     (properties `((upstream-name . "lifecycle")))
     (build-system r-build-system)
     (propagated-inputs
@@ -21916,13 +21919,13 @@ to ODEs by numerical differencing.")
 (define-public r-pmcmrplus
   (package
     (name "r-pmcmrplus")
-    (version "1.9.5")
+    (version "1.9.6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "PMCMRplus" version))
        (sha256
-        (base32 "15xhwq231vgq9q7pk1r4z11wijn4hgdwcly1n9nxxa05w15x9q33"))))
+        (base32 "1mvj3cwrdkl3frk7fvh6l7v7yya5p3xm4z0qhc4fvykxdmb92ivz"))))
     (properties `((upstream-name . "PMCMRplus")))
     (build-system r-build-system)
     (inputs (list gmp))
@@ -22333,14 +22336,14 @@ cell free DNA} (cfDNA).")
 (define-public r-rintrojs
   (package
     (name "r-rintrojs")
-    (version "0.3.0")
+    (version "0.3.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rintrojs" version))
        (sha256
         (base32
-         "00l5mk80gj3xkbf3m1kip566ic98bhd88lh0bg69ybkpk4gifpyw"))
+         "19lpq421hrs1wc9bnimbwxx35p8bbzil3x1h9l28gjayn4djmjsh"))
        (snippet
         '(delete-file "inst/javascript/introjs/intro.min.js"))))
     (properties `((upstream-name . "rintrojs")))
@@ -22810,14 +22813,14 @@ and mixture of Gaussian models.")
 (define-public r-accsda
   (package
     (name "r-accsda")
-    (version "1.1.1")
+    (version "1.1.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "accSDA" version))
        (sha256
         (base32
-         "104xdz63mnibh6827xm0pfr9zbhbi2a7iw4m1x27xjqi7zqvbky6"))))
+         "0jf4x5j9y7a3mvf2ghjp6bxdq1s5jh2sx3x3ar6f3lyzzvrnls4v"))))
     (properties `((upstream-name . "accSDA")))
     (build-system r-build-system)
     (propagated-inputs
@@ -22912,14 +22915,14 @@ and prints vectorized images.")
 (define-public r-randtoolbox
   (package
     (name "r-randtoolbox")
-    (version "2.0.1")
+    (version "2.0.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "randtoolbox" version))
        (sha256
         (base32
-         "1p2jsn0hpihc49zk605z82mhhvma0ji2f5b94wa85g2xzriqkwn4"))))
+         "0mvafd2gm1jpg19gdn6bw8668pqghi0xmcb56rl4fwamg8jg09xn"))))
     (properties `((upstream-name . "randtoolbox")))
     (build-system r-build-system)
     (propagated-inputs
@@ -23805,20 +23808,21 @@ allowed.")
 (define-public r-gdina
   (package
     (name "r-gdina")
-    (version "2.8.8")
+    (version "2.9.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "GDINA" version))
        (sha256
         (base32
-         "1slq1npsq8s8aghnrpm6vvc6kxj4svz0kr2x0akblndrcr25wxjr"))))
+         "0bwg9sfsqs5nsqwhjnbb631fbhj0mx2dc4c185qkym9cjb5lfkm9"))))
     (properties `((upstream-name . "GDINA")))
     (build-system r-build-system)
     (propagated-inputs
      (list r-alabama
            r-ggplot2
            r-mass
+           r-nloptr
            r-numderiv
            r-rcpp
            r-rcpparmadillo
@@ -24385,14 +24389,14 @@ it may be seen by an animal with less acute vision.")
 (define-public r-caret
   (package
     (name "r-caret")
-    (version "6.0-92")
+    (version "6.0-93")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "caret" version))
        (sha256
         (base32
-         "048mp325ndfl83a8p4dkd1b6zh5bws4gg9kxka5ss8qsj8m4m08x"))))
+         "01sa1h9pc3a062pwm0rxadvg9qxszwcylya7llv08fcxhy46n5ac"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-e1071
@@ -24523,31 +24527,35 @@ Visualizations are also available for most of these settings.")
 (define-public r-torch
   (package
     (name "r-torch")
-    (version "0.8.0")
+    (version "0.8.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "torch" version))
        (sha256
-        (base32 "0n2rmv2mwfp4y002x46fd278kssmhi54zcyj37558k4r1kazzfxp"))))
+        (base32 "1dncf5njdzw1hf98knlv94rxcxnc5gl3cmk2cvlbn1z8mri86rlc"))))
     (properties `((upstream-name . "torch")))
     (build-system r-build-system)
     (arguments
      (list
       #:phases
-      #~(modify-phases %standard-phases
-          (add-after 'install 'link-libraries
-            (lambda* (#:key inputs #:allow-other-keys)
-              (let ((deps (string-append #$output "/site-library/torch/deps")))
-                (mkdir-p deps)
-                (symlink
-                 (search-input-file
-                  inputs "/lib/python3.9/site-packages/torch/lib/libtorch.so")
-                 (string-append deps "/libtorch.so"))
-                (symlink
-                 (search-input-file
-                  inputs "/lib/liblantern.so")
-                 (string-append deps "/liblantern.so"))))))))
+      (let ((python-version (version-major+minor (package-version python))))
+        #~(modify-phases %standard-phases
+            (add-after 'install 'link-libraries
+              (lambda* (#:key inputs #:allow-other-keys)
+                (let ((deps (string-append #$output "/site-library/torch/deps"))
+                      (site-packages (string-append "/lib/python"
+                                                    #$python-version
+                                                    "/site-packages")))
+                  (mkdir-p deps)
+                  (symlink
+                   (search-input-file
+                    inputs (string-append site-packages "/torch/lib/libtorch.so"))
+                   (string-append deps "/libtorch.so"))
+                  (symlink
+                   (search-input-file
+                    inputs "/lib/liblantern.so")
+                   (string-append deps "/liblantern.so")))))))))
     (inputs
      (list python-pytorch-for-r-torch
            liblantern))
@@ -24788,13 +24796,13 @@ statistical shape analysis and archetypal analysis.")
 (define-public r-anndata
   (package
     (name "r-anndata")
-    (version "0.7.5.3")
+    (version "0.7.5.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "anndata" version))
        (sha256
-        (base32 "115v7gdilayd18hd519vzkixp2s6rvvrd1inc1i6amn7d0spy8r1"))))
+        (base32 "0vn64b0rpnwbznn0h03b810mp8hcqxjzw69nzyjmndwa8r9ial2y"))))
     (properties `((upstream-name . "anndata")))
     (build-system r-build-system)
     (propagated-inputs (list r-assertthat r-matrix r-r6 r-reticulate))
@@ -24870,22 +24878,19 @@ finding peaks in spectra, converting humidity measures.")
 (define-public r-qqconf
   (package
     (name "r-qqconf")
-    (version "1.2.3")
+    (version "1.3.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "qqconf" version))
               (sha256
                (base32
-                "0qnfzq2zb776kmvbwmyj9di4nlzx7dg0nz4097hfcllfx9160nwv"))))
+                "11sh0q5bwmqdygqd1gspx7xc5mysj18whz11afnz6s1m820snhhw"))))
     (properties `((upstream-name . "qqconf")))
     (build-system r-build-system)
     (inputs (list fftw))
     (propagated-inputs
-     (list r-dplyr
-           r-magrittr
-           r-mass
+     (list r-mass
            r-rcpp
-           r-rlang
            r-robustbase))
     (native-inputs (list pkg-config r-knitr))
     (home-page "https://github.com/eweine/qqconf")
@@ -25491,14 +25496,14 @@ programming} (OOP) using R Reference Class.")
 (define-public r-proxyc
   (package
     (name "r-proxyc")
-    (version "0.3.0")
+    (version "0.3.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "proxyC" version))
        (sha256
         (base32
-         "0n3rjc64b3cbccwjajpzd9gr1frgji6rsylw67xswrr9qxkrm0fd"))))
+         "1nfl6nrzw2h7argn6mh3cyl1s9ynf6516fx4vgqrjvychnd98mkb"))))
     (properties `((upstream-name . "proxyC")))
     (build-system r-build-system)
     (propagated-inputs
@@ -25605,14 +25610,14 @@ Norwegian, Portuguese, Romanian, Russian, Spanish, Swedish and Turkish.")
 (define-public r-quanteda
   (package
     (name "r-quanteda")
-    (version "3.2.2")
+    (version "3.2.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "quanteda" version))
        (sha256
         (base32
-         "0qb5yl2bxh6mq4xnjviqv8hfy9fxnx4hmxf06icwldpgx15afa31"))))
+         "1blk9nhydvqyyz0kzhph7nh7ahcjzflmgyr4sv8fx5bpmn4hwjzk"))))
     (properties `((upstream-name . "quanteda")))
     (build-system r-build-system)
     (propagated-inputs
@@ -25805,14 +25810,14 @@ imputed data sets with the appropriate degree of sampling uncertainty.")
 (define-public r-matrixcalc
   (package
     (name "r-matrixcalc")
-    (version "1.0-5")
+    (version "1.0-6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "matrixcalc" version))
        (sha256
         (base32
-         "1jkgl1v1q7cqpl1rf49qahdr9y0f33f0ldsbgby8xhfv0vpy21jr"))))
+         "09pk0ym6qzribxc6v18cpb6478i4r4kzxpkljjbb3n323zqx5iqb"))))
     (properties `((upstream-name . "matrixcalc")))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/matrixcalc/")
@@ -25827,13 +25832,13 @@ actuarial models such as pension mathematics.")
 (define-public r-matrixextra
   (package
     (name "r-matrixextra")
-    (version "0.1.11")
+    (version "0.1.13")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "MatrixExtra" version))
        (sha256
-        (base32 "0d32b8l28ds7162rgbwbg9g206hds1zzv1mqq7aa9m6f9gg8x3am"))))
+        (base32 "1s8y8zp9k7rsnyi1d8ghi4brjbbdwxijc9chhla24qm3fi6np33a"))))
     (properties `((upstream-name . "MatrixExtra")))
     (build-system r-build-system)
     (propagated-inputs
@@ -25916,14 +25921,14 @@ least squares.")
 (define-public r-regsem
   (package
     (name "r-regsem")
-    (version "1.8.0")
+    (version "1.9.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "regsem" version))
        (sha256
         (base32
-         "1v33wkrsawcvaa06cijp8ybwi82a0x34y59hdknwdbywplnirzr8"))))
+         "0vpizmdml55naxmhy9nfcm9ylhy15p9na7l0c6z3rvk29ck3g3sw"))))
     (properties `((upstream-name . "regsem")))
     (build-system r-build-system)
     (propagated-inputs
@@ -26206,14 +26211,14 @@ model estimation.  See Epskamp et al. (2012)
 (define-public r-semplot
   (package
     (name "r-semplot")
-    (version "1.1.5")
+    (version "1.1.6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "semPlot" version))
        (sha256
         (base32
-         "0d7v9yqc9nhx3hdrp444w1ah66zai3lg5y778m85r7ngh1prxlvc"))))
+         "0s9bp4pfsllg1k4x8a36yw82fw432dyz0xvmvi8dw9l12q3jkx8i"))))
     (properties `((upstream-name . "semPlot")))
     (build-system r-build-system)
     (propagated-inputs
@@ -26244,14 +26249,14 @@ translated to input syntax for the R packages @code{sem} and @code{lavaan}.")
 (define-public r-cdm
   (package
     (name "r-cdm")
-    (version "8.1-12")
+    (version "8.2-6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "CDM" version))
        (sha256
         (base32
-         "1cnk19k09cj81ic43rwbvcalvczfca4ncdyy8r1gyc8fzf2glb0i"))))
+         "1lcq3i5rlyqkc12c26kj0x4fm2gh1jsisp6kbf59y3hjdkiqajhl"))))
     (properties `((upstream-name . "CDM")))
     (build-system r-build-system)
     (propagated-inputs
@@ -26275,14 +26280,14 @@ well as Ravand and Robitzsch (2015).")
 (define-public r-tam
   (package
     (name "r-tam")
-    (version "4.0-16")
+    (version "4.1-4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "TAM" version))
        (sha256
         (base32
-         "00ww277hsyci5rph4gb155h0y95dmjhqgn9amz6g8zbrjb2748dw"))))
+         "0b81d0g4j94yrfzj019jffxrk1aw24iscddp60kjbkrl5p7qy38g"))))
     (properties `((upstream-name . "TAM")))
     (build-system r-build-system)
     (propagated-inputs
@@ -26627,14 +26632,14 @@ techniques to average Bayesian predictive distributions.")
 (define-public r-rstan
   (package
     (name "r-rstan")
-    (version "2.21.5")
+    (version "2.21.7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rstan" version))
        (sha256
         (base32
-         "1smr5cjrqvpdnkmjpjp73p96sy581x15mwrn4fqd1p4d5mbgxr46"))))
+         "0ibd3pj2pvd7658sdg95fa2yhfmxz9gy0cjwcrdr546k209j55a4"))))
     (properties `((upstream-name . "rstan")))
     (build-system r-build-system)
     (arguments
@@ -26895,14 +26900,14 @@ opponents' vessels.")
 (define-public r-zseq
   (package
     (name "r-zseq")
-    (version "0.2.0")
+    (version "0.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "Zseq" version))
        (sha256
         (base32
-         "06dndi2b1q79bmxax11bv0l5ifcz1mhpvbn90y6a6xymrgcq0ivi"))))
+         "0xp7qi5kjg8xmci9wrfvmygjmz8gbhq60fl9bvk8rnka6s4ppkrc"))))
     (properties `((upstream-name . "Zseq")))
     (build-system r-build-system)
     (propagated-inputs
@@ -27059,13 +27064,13 @@ appropriate dog and cat images for many status codes.")
 (define-public r-latex2exp
   (package
     (name "r-latex2exp")
-    (version "0.9.4")
+    (version "0.9.5")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "latex2exp" version))
               (sha256
                (base32
-                "0zbbrbgg524lpm733j8qsqk5ssg75c51s6dgzb18c6fk8byrx945"))))
+                "153br3xflvnnxqhkhm1wgwb2664bw08alhslgdcgjdk73clafhla"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-stringr r-magrittr))
@@ -27587,14 +27592,14 @@ here.")
 (define-public r-projpred
   (package
     (name "r-projpred")
-    (version "2.1.2")
+    (version "2.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "projpred" version))
        (sha256
         (base32
-         "1c6gnmknd3vb0fb5h6gd372dk27nzif90b4c1snql49wacg6b2m8"))))
+         "1a5hsqwcmn1w9lwjhsqw06av7cmqhwyxsil9zfrnv1396zfkpxhy"))))
     (properties `((upstream-name . "projpred")))
     (build-system r-build-system)
     (propagated-inputs
@@ -27624,20 +27629,19 @@ vignette for more information and examples.")
 (define-public r-distributional
   (package
     (name "r-distributional")
-    (version "0.3.0")
+    (version "0.3.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "distributional" version))
        (sha256
         (base32
-         "1mji8xlhwrw8msih5wdpbzwv4g59kly0xkdklhn8yzb18rrnrczs"))))
+         "0pr34yq6igb7ciqss2ldwa7gc55xvla040x8rkd8m2hcrz5mczkj"))))
     (properties
      `((upstream-name . "distributional")))
     (build-system r-build-system)
     (propagated-inputs
      (list r-digest
-           r-ellipsis
            r-farver
            r-generics
            r-ggplot2
@@ -27661,14 +27665,14 @@ including means, variances, intervals, and highest density regions.")
 (define-public r-posterior
   (package
     (name "r-posterior")
-    (version "1.2.2")
+    (version "1.3.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "posterior" version))
        (sha256
         (base32
-         "0frm7p6cjkjfl4gviixaa7448qaac8n9ilkr5c02fa9vnisys5fn"))))
+         "0yjdjdr4ifssnml1niqyxs6jsqpci8rx8va0pinyhjx2j017h03h"))))
     (properties `((upstream-name . "posterior")))
     (build-system r-build-system)
     (propagated-inputs
@@ -27793,14 +27797,14 @@ multi-state models.")
 (define-public r-scatterpie
   (package
     (name "r-scatterpie")
-    (version "0.1.7")
+    (version "0.1.8")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "scatterpie" version))
        (sha256
         (base32
-         "1pmspv8a7k20zyd5xvmav2k9mnjrkfhdij3rr9k504zyki8hfy1z"))))
+         "183ji1q0wr8fswdrgaw161fvgh8y7j4x9xacf09s2gz6icxcdk56"))))
     (properties `((upstream-name . "scatterpie")))
     (build-system r-build-system)
     (propagated-inputs
@@ -28106,14 +28110,14 @@ incremented as outlined at @url{http://semver.org}.")
 (define-public r-binman
   (package
     (name "r-binman")
-    (version "0.1.2")
+    (version "0.1.3")
     (source
       (origin
         (method url-fetch)
         (uri (cran-uri "binman" version))
         (sha256
           (base32
-            "00l7m98h41r67gf0qxqis3vx63j7wylnk9vlgcyk41szkrz8ikkc"))))
+            "1xz9ky3axidm0fp518rj80ma6q14ybyvashil79hhkk3iqmx0lhw"))))
     (properties `((upstream-name . "binman")))
     (build-system r-build-system)
     (propagated-inputs
@@ -28137,14 +28141,14 @@ repositories to be added.")
 (define-public r-wdman
   (package
     (name "r-wdman")
-    (version "0.2.5")
+    (version "0.2.6")
     (source
       (origin
         (method url-fetch)
         (uri (cran-uri "wdman" version))
         (sha256
           (base32
-            "1yf41lsrr9dbf5n4f5hv9mlmzl736fhnp9gxkm2g9apws6gsig02"))))
+            "0n0wwb9ip6qc8qzdxn4dsqfbc8b3f607n8l6jigryd7g83ibnbp6"))))
     (properties `((upstream-name . "wdman")))
     (build-system r-build-system)
     (propagated-inputs
@@ -28166,23 +28170,20 @@ and to manage processes involving them.")
 (define-public r-rselenium
   (package
     (name "r-rselenium")
-    (version "1.7.7")
+    (version "1.7.9")
     (source
       (origin
         (method url-fetch)
         (uri (cran-uri "RSelenium" version))
         (sha256
           (base32
-            "1xn5fdbzmq7b1f5fc9ls23g177bmnd8bn4p4d8aafr6z3jwkmfir"))))
+            "18hd0gfpblg9ij99ik7ccc60q9dxha89n5rrwrrzx498c5sscjg2"))))
     (properties `((upstream-name . "RSelenium")))
     (build-system r-build-system)
     (propagated-inputs
-      (list r-binman
-            r-catools
-            r-httr
-            r-openssl
-            r-wdman
-            r-xml))
+     (list r-catools
+           r-httr
+           r-wdman))
     (native-inputs (list r-knitr))
     (home-page "https://docs.ropensci.org/RSelenium/")
     (synopsis "R bindings for Selenium WebDriver")
@@ -28201,14 +28202,14 @@ you can automate browsers locally or remotely.")
 (define-public r-conquer
   (package
     (name "r-conquer")
-    (version "1.3.0")
+    (version "1.3.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "conquer" version))
        (sha256
         (base32
-         "1ynmaf7lgqjb8grsifx5dzy29cd5kz4x3yh0abnl2vxdr4c4wddc"))))
+         "1mdwm0aanq4rx3042djvs0l2vkdx6zbzvrjfyfb9dhv0gfs8mhhl"))))
     (properties `((upstream-name . "conquer")))
     (build-system r-build-system)
     (propagated-inputs
@@ -28300,14 +28301,14 @@ simple interface for all functions.")
 (define-public r-iml
   (package
     (name "r-iml")
-    (version "0.11.0")
+    (version "0.11.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "iml" version))
        (sha256
         (base32
-         "1za7bjnp07i20vyb6vxz2ya5cr8g4p076w61n8m38wnz04lz5yz5"))))
+         "0fi37lv9czaxcc123f6r57607shqhs83ks96n2n0b93dl1qs0j52"))))
     (properties `((upstream-name . "iml")))
     (build-system r-build-system)
     (propagated-inputs
@@ -29195,6 +29196,34 @@ function that determines the current environment and returns the appropriate
 value.")
     (license license:gpl3)))
 
+(define-public r-confintr
+  (package
+    (name "r-confintr")
+    (version "0.1.2")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "confintr" version))
+              (sha256
+               (base32
+                "06c42jhqp7gp9062jf8f9py1lh34vx38q0g7b6l5kyf7a310ixr6"))))
+    (properties `((upstream-name . "confintr")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-boot))
+    (native-inputs (list r-knitr))
+    (home-page "https://github.com/mayer79/confintr")
+    (synopsis "Confidence intervals")
+    (description
+     "This package calculates classic and/or bootstrap confidence intervals
+for many parameters such as the population mean, variance, @dfn{interquartile
+range} (IQR), @dfn{median absolute deviation} (MAD), skewness, kurtosis,
+Cramer's V, odds ratio, R-squared, quantiles (including median), proportions,
+different types of correlation measures, difference in means, quantiles and
+medians.  Many of the classic confidence intervals are described in Smithson,
+M. (2003, ISBN: 978-0761924999).  Bootstrap confidence intervals are
+calculated with the R package @code{boot}.  Both one- and two-sided intervals
+are supported.")
+    (license license:gpl2+)))
+
 (define-public r-adaptivesparsity
   (package
     (name "r-adaptivesparsity")
@@ -29398,14 +29427,14 @@ object sizes.")
 (define-public r-yardstick
   (package
     (name "r-yardstick")
-    (version "1.0.0")
+    (version "1.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "yardstick" version))
        (sha256
         (base32
-         "0mnpvwbzybxp47w4yibmjb7xppwinbjcqcyqfn8qn38l5liwy8yd"))))
+         "0bcirq9mp7c6kwx563nnsd4lk33xk0rfaakj1xj5r8pzmrcgbikj"))))
     (properties `((upstream-name . "yardstick")))
     (build-system r-build-system)
     (propagated-inputs
@@ -29453,13 +29482,13 @@ observations.")
 (define-public r-scico
   (package
     (name "r-scico")
-    (version "1.3.0")
+    (version "1.3.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "scico" version))
        (sha256
-        (base32 "08grfbjd5s0vdw76ni37yjl2242rr8i2jy72sgpwgra282hpnji3"))))
+        (base32 "1f2czfhzdpi5dqjbxvbrrcnxjpylc5zzghj70ihlh2agq3n9hw5g"))))
     (properties `((upstream-name . "scico")))
     (build-system r-build-system)
     (propagated-inputs (list r-scales))
@@ -29778,14 +29807,14 @@ final SQL translation of the algorithm.  It currently supports @code{lm()},
 (define-public r-janeaustenr
   (package
     (name "r-janeaustenr")
-    (version "0.1.5")
+    (version "1.0.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "janeaustenr" version))
        (sha256
         (base32
-         "1wyn4qc28a3sval8shmyi2d7s4nl3jh96s8pzq871brxcmrncbwr"))))
+         "1ap8p1lpbj2wz90mpf1vbyzhv2spzv03bi8lwzpsir2y77hjxhxl"))))
     (properties `((upstream-name . "janeaustenr")))
     (build-system r-build-system)
     (home-page "https://github.com/juliasilge/janeaustenr")
@@ -29870,14 +29899,14 @@ consistent interface, and the package is built on the @code{stringi} and
 (define-public r-hunspell
   (package
     (name "r-hunspell")
-    (version "3.0.1")
+    (version "3.0.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "hunspell" version))
        (sha256
         (base32
-         "0ql6y05d4xxpm468rslb0wxdp1x9l3flxzmb5w6pjg617f8vpv8z"))))
+         "0kij39rhsx7s4lfddy6745f1zjyi003srj14ckjpbhkcyxamk8jy"))))
     (properties `((upstream-name . "hunspell")))
     (build-system r-build-system)
     (propagated-inputs
@@ -29904,14 +29933,14 @@ vignettes in all common formats.")
 (define-public r-tidytext
   (package
     (name "r-tidytext")
-    (version "0.3.3")
+    (version "0.3.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tidytext" version))
        (sha256
         (base32
-         "0kljaxyhhzbcv9jkjdy0wn6gkamh25y2xfb9k11sqhz3lv72nfvm"))))
+         "0mk75wdiy4mixj1xlksw9ns4ajlj8ak90sgchjcg1zb90qp7gg56"))))
     (properties `((upstream-name . "tidytext")))
     (build-system r-build-system)
     (propagated-inputs
@@ -29939,14 +29968,14 @@ analysis using @code{dplyr}, @code{ggplot2}, and other Tidy tools.")
 (define-public r-parsnip
   (package
     (name "r-parsnip")
-    (version "1.0.0")
+    (version "1.0.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "parsnip" version))
        (sha256
         (base32
-         "0lwz95ff69arbl2mpmnkwjf24cgb866nr3frkb89va91gp1w9691"))))
+         "0pzr39jhlzjhm2nx1zcgd0mdxd4dxbdzhzc1qrvfsz05jwfb6xxy"))))
     (properties `((upstream-name . "parsnip")))
     (build-system r-build-system)
     (propagated-inputs
@@ -29980,14 +30009,14 @@ functions or computational engines (e.g. R, Spark, Stan, etc).")
 (define-public r-infer
   (package
     (name "r-infer")
-    (version "1.0.2")
+    (version "1.0.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "infer" version))
        (sha256
         (base32
-         "0qfrxljvwpa8d1k66ii80irarlv593wr6rmcsmi4flc7adgydrnp"))))
+         "1m5srhcmkh8wq12pvy57g3g703wilkl8r3gmm5s7lbj103iz7v8b"))))
     (properties `((upstream-name . "infer")))
     (build-system r-build-system)
     (propagated-inputs
@@ -30014,14 +30043,14 @@ expressive statistical grammar that coheres with the Tidy design framework.")
 (define-public r-modeldata
   (package
     (name "r-modeldata")
-    (version "1.0.0")
+    (version "1.0.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "modeldata" version))
        (sha256
         (base32
-         "16ad8g86alahirgmp8bhb6v1ghayw965bdz5mrpnq7nnncazaqcm"))))
+         "0ik4r25l69brkf0l248bln1kicy7dpi6mziwn19by8rq3f8fylhy"))))
     (properties `((upstream-name . "modeldata")))
     (build-system r-build-system)
     (propagated-inputs
@@ -30164,14 +30193,14 @@ package also provides functions to visualize the observed data and the MLE.")
 (define-public r-metafor
   (package
     (name "r-metafor")
-    (version "3.4-0")
+    (version "3.8-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "metafor" version))
        (sha256
         (base32
-         "0vn244xfgq7yxwl6ykvadb305z360ssc9vzva7kbcdfiqhhvrqcj"))))
+         "05053cvk65fh2p4wrmygkvgqvrl73kz22rdbxsjxhi21jmzmg56n"))))
     (properties `((upstream-name . "metafor")))
     (build-system r-build-system)
     (propagated-inputs
@@ -30200,14 +30229,14 @@ phylogenetic relatedness) can also be conducted.")
 (define-public r-altmeta
   (package
     (name "r-altmeta")
-    (version "4.0")
+    (version "4.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "altmeta" version))
        (sha256
         (base32
-         "17cyiydf4n5j64izj7jph2v43h4x9kfd5b0x6m0ik5ci2aw8xzr5"))))
+         "01v308389wqzp35icrp9ssb4y4gxwjzl600qw47c6rmm6s2mxzjh"))))
     (properties `((upstream-name . "altmeta")))
     (build-system r-build-system)
     (propagated-inputs
@@ -30379,14 +30408,14 @@ data to rasters.  It speeds up plotting of data with millions of points.")
 (define-public r-seuratobject
   (package
     (name "r-seuratobject")
-    (version "4.1.0")
+    (version "4.1.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "SeuratObject" version))
        (sha256
         (base32
-         "018anas8a9m3kh9jn5370v64d93k64z3iic13a75hp6r7g5hd94w"))))
+         "1h8b90vg9ysczk3p625n07bfrhmph3cxv9ymh896hqr7rn2qbwd6"))))
     (properties `((upstream-name . "SeuratObject")))
     (build-system r-build-system)
     (propagated-inputs
@@ -30558,17 +30587,18 @@ distributed as independent packages.")
 (define-public r-phangorn
   (package
     (name "r-phangorn")
-    (version "2.9.0")
+    (version "2.10.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "phangorn" version))
        (sha256
         (base32
-         "08ys4vgmsp070v3119wzl1nrgx359427gb6lcxj67p5y0bhdnqij"))))
+         "1kjxp352jdk1amxpk9jrql490d0qy79zm65y8szyxrm1adqghlyi"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-ape
+           r-digest
            r-fastmatch
            r-generics
            r-igraph
@@ -30616,14 +30646,14 @@ rate speciation and extinction.")
 (define-public r-calculus
   (package
     (name "r-calculus")
-    (version "0.3.3")
+    (version "0.3.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "calculus" version))
        (sha256
         (base32
-         "1fhvr0l2mqik3d95v0vanafxmiab147g5a87q956g2i945wc5f22"))))
+         "0hpibnbxl3ngfgzxq8cp9hxsn1yv03dnxyycm3gkr5iv5gkbbpw9"))))
     (properties `((upstream-name . "calculus")))
     (build-system r-build-system)
     (propagated-inputs
@@ -30814,13 +30844,13 @@ Services (AWS) Simple Storage Service (S3) REST API.")
 (define-public r-lgr
   (package
     (name "r-lgr")
-    (version "0.4.3")
+    (version "0.4.4")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "lgr" version))
               (sha256
                (base32
-                "18s92qyakhvp336kk2777ydypwfrfwfz6a1gqkq812zy3kcb4mcc"))))
+                "09x1vw6cnc1c0p0ylcz1q1vcxyaf1kljhh7ni3gl5jm19zii2h4c"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-r6))
@@ -30931,8 +30961,8 @@ resampled, benchmarked, and tuned.")
     (license license:lgpl3)))
 
 (define-public r-mlr3ordinal
-  (let ((commit "9febac983b11b7b1f477e5cf0212e5999cd2ed44")
-        (revision "0"))
+  (let ((commit "736e3a39be6b7088b650297cc6d90208ec58c0d7")
+        (revision "1"))
     (package
       (name "r-mlr3ordinal")
       (version (git-version "0.1.0-9000" revision commit))
@@ -30944,7 +30974,7 @@ resampled, benchmarked, and tuned.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "1icfhz1pjm0mlsn2y60gsrbk31b2p7xmpx3xsg7639rcgdb5f9gl"))))
+                  "0ipf6n4m6giicn0x7f3lrfmbqkhw8zkz32hzq2xf209wndkqhqm1"))))
       (build-system r-build-system)
       (propagated-inputs
        (list r-checkmate
@@ -30986,13 +31016,13 @@ implemented as @code{R6} classes.")
 (define-public r-mlr3
   (package
     (name "r-mlr3")
-    (version "0.13.4")
+    (version "0.14.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "mlr3" version))
               (sha256
                (base32
-                "13g0krjry0da1yfm6hrdq63ga5rwag5lkgp375394michiipnbwk"))))
+                "0cnyby4947g1w0h45nd3ld5zr4k19xrwp565mq1hnqkjwmyjsgdj"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-r6
@@ -31023,13 +31053,13 @@ computational operations, add-on packages provide additional functionality.")
 (define-public r-mlr3learners
   (package
     (name "r-mlr3learners")
-    (version "0.5.3")
+    (version "0.5.4")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "mlr3learners" version))
               (sha256
                (base32
-                "088i2piv7sgxsvc7jyr6mq53vqf8yjdlrysgqphsryq6k50i00zd"))))
+                "0sa2qjvhvjzsfssln9ah08zknzdcps1z28xzgkdfgi6dj25a0y3k"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-checkmate
@@ -31050,14 +31080,14 @@ vector machines, and gradient boosting.")
 (define-public r-bbotk
   (package
     (name "r-bbotk")
-    (version "0.5.3")
+    (version "0.5.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "bbotk" version))
        (sha256
         (base32
-         "13qj8qysqismv9k9rfw770r7w8jdaw82n71k7sp3wsrlhxjxw734"))))
+         "02dp0b62dv02rvxsgj63mkmmcdzrlf06vxjr5gqy9rhq5s2mg4fa"))))
     (properties `((upstream-name . "bbotk")))
     (build-system r-build-system)
     (propagated-inputs
@@ -31080,13 +31110,13 @@ annealing.")
 (define-public r-mlr3tuning
   (package
     (name "r-mlr3tuning")
-    (version "0.13.1")
+    (version "0.14.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "mlr3tuning" version))
               (sha256
                (base32
-                "0jfslx6pwk408ydn69grrvsp22jd7gsjmwvss0a1j0zav3q1pvks"))))
+                "10q4m37sg79y1v0gwk7bjrnc5b0a6sb80ramnza93mx9gx3vl99m"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-bbotk
@@ -32252,14 +32282,14 @@ BTM-WWW13.pdf}.")
 (define-public r-delaporte
   (package
     (name "r-delaporte")
-    (version "8.0.2")
+    (version "8.0.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "Delaporte" version))
        (sha256
         (base32
-         "10xsmms2jfw7x4hmgpd35dv4n4azpjzmfid6585kg6qfh2zg23g5"))))
+         "1d1jkbxlwnqznh9pkjpkr7np2nmqzjvrdmlb210y1lb08mqmb73w"))))
     (properties `((upstream-name . "Delaporte")))
     (build-system r-build-system)
     (native-inputs (list gfortran))
@@ -32507,14 +32537,14 @@ complex functions.")
 (define-public r-gganimate
   (package
     (name "r-gganimate")
-    (version "1.0.7")
+    (version "1.0.8")
     (source
       (origin
         (method url-fetch)
         (uri (cran-uri "gganimate" version))
         (sha256
           (base32
-            "046v6j92xxgaghsnh88dy5h8x040qsfa8csvhp4dmsfmrrf0dz0f"))))
+            "1jabs9qr0319w508kdsk5nmzfhl6nzykpp1by7l639yfvrfqcbd1"))))
     (properties `((upstream-name . "gganimate")))
     (build-system r-build-system)
     (arguments
@@ -32531,7 +32561,6 @@ complex functions.")
     (propagated-inputs
       (list r-ggplot2
             r-glue
-            r-plyr
             r-progress
             r-rlang
             r-scales
@@ -32768,14 +32797,14 @@ Apache2.")
 (define-public r-exactextractr
   (package
     (name "r-exactextractr")
-    (version "0.8.2")
+    (version "0.9.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "exactextractr" version))
        (sha256
         (base32
-         "0x4axrq9iznvajqy07gcfcrvzniz5yj6wabchgksg0fqz0xancnc"))))
+         "13di9s0lv9kdv2p3hp9ksrr0rh98z6m998pj5a1xq9zl6iakankh"))))
     (properties `((upstream-name . "exactextractr")))
     (build-system r-build-system)
     (inputs (list geos))
@@ -32818,14 +32847,14 @@ the @code{raster} package that is suitable for extracting raster values using
 (define-public r-rapiserialize
   (package
     (name "r-rapiserialize")
-    (version "0.1.1")
+    (version "0.1.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "RApiSerialize" version))
        (sha256
         (base32
-         "0gkix6s5hb7pdbb8miyz36hghx59hhwxql0slqnlr5nakh31klxp"))))
+         "02k0l8bi849b2102ysb102xky4p84i9v2r4w6fab7bgf32wvph4w"))))
     (properties `((upstream-name . "RApiSerialize")))
     (build-system r-build-system)
     (home-page
@@ -32842,14 +32871,14 @@ package.")
 (define-public r-qs
   (package
     (name "r-qs")
-    (version "0.25.3")
+    (version "0.25.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "qs" version))
        (sha256
         (base32
-         "0sxy497v5arjv6lwxng7chkbzrn703waqmgsxv77i7y12ahzdbai"))))
+         "0cx5k0mzn6bm8ff58yrqz3hjidxcawxgqbpijnynvin1m4395i4j"))))
     (properties `((upstream-name . "qs")))
     (build-system r-build-system)
     (inputs (list zlib))
@@ -32891,14 +32920,14 @@ C API for topology operations on geometries.")
 (define-public r-tfruns
   (package
     (name "r-tfruns")
-    (version "1.5.0")
+    (version "1.5.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tfruns" version))
        (sha256
         (base32
-         "04lfckg1if3kfwcl4s4fcc9aw04crwk4m1qr55ag22j2x2jlb2l9"))))
+         "1xk7dl51xd1h54798xwycvxmn77jv80in61hanm36zk0024wpxg8"))))
     (properties `((upstream-name . "tfruns")))
     (build-system r-build-system)
     (propagated-inputs
@@ -33252,18 +33281,24 @@ fully reproducible.")
 (define-public r-paws-common
   (package
     (name "r-paws-common")
-    (version "0.4.0")
+    (version "0.5.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "paws.common" version))
        (sha256
         (base32
-         "1zlv0ahv633z1fwx1syajzqg49zd9hs537df53gm2qch8b66y4bh"))))
+         "12dz3giv1xajdqq79s5gin9kw4x74w2iaw62ha6ssf8whrc3wmh5"))))
     (properties `((upstream-name . "paws.common")))
     (build-system r-build-system)
     (propagated-inputs
-     (list r-base64enc r-curl r-digest r-httr r-jsonlite r-xml2))
+     (list r-base64enc
+           r-curl
+           r-digest
+           r-httr
+           r-jsonlite
+           r-rcpp
+           r-xml2))
     (home-page "https://cran.r-project.org/package=paws.common")
     (synopsis "Paws low-level Amazon Web Services API")
     (description
@@ -33560,14 +33595,14 @@ services, including Simple Storage Service (S3).")
 (define-public r-paws-compute
   (package
     (name "r-paws-compute")
-    (version "0.1.12")
+    (version "0.1.13")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "paws.compute" version))
        (sha256
         (base32
-         "1km6fng6il5fcjlrbbndahsw2dr2ql83hwac9wlpd67zm3wy9lky"))))
+         "1s7g4y2h763xf32p08drs3ygkfqb2zjikkgxb7yl91gk13zp7kjm"))))
     (properties `((upstream-name . "paws.compute")))
     (build-system r-build-system)
     (propagated-inputs
@@ -33673,14 +33708,14 @@ zoom/navigate any plot when called with any active plot.")
 (define-public r-zoolog
   (package
     (name "r-zoolog")
-    (version "1.0.1")
+    (version "1.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "zoolog" version))
        (sha256
         (base32
-         "00fi7czfwr0ll9070w3ijskd0xvilj02gy8wkgqzzrlilij8ah7p"))))
+         "06g44gjk9w73996n4h1a2q8kcd6q2mvm1vhx0iq0785gvrz18pj9"))))
     (properties `((upstream-name . "zoolog")))
     (build-system r-build-system)
     (propagated-inputs
@@ -33910,14 +33945,14 @@ neighborhood graphs, and relatives.")
 (define-public r-crul
   (package
     (name "r-crul")
-    (version "1.2.0")
+    (version "1.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "crul" version))
        (sha256
         (base32
-         "133g0skz4lifl8hm8pqdryd2m2drbrm6mdfzbbsrw8fg46di86my"))))
+         "0b8y12wb5kjylr8b4a2iarb5rpw1ydinw3lxp2ssq91pidyn2n40"))))
     (properties `((upstream-name . "crul")))
     (build-system r-build-system)
     (propagated-inputs
@@ -34071,14 +34106,14 @@ configuration of status code, short description, and verbose message.")
 (define-public r-webmockr
   (package
     (name "r-webmockr")
-    (version "0.8.0")
+    (version "0.8.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "webmockr" version))
        (sha256
         (base32
-         "0j40srwi0yasmllb9wsww4m6zkiyzqd549cis4dxd7c7p24hak8j"))))
+         "06lqv3v095i51xsac8bvkjgd58l6a5azamchiip8m2y7q0nm4iw9"))))
     (properties `((upstream-name . "webmockr")))
     (build-system r-build-system)
     (propagated-inputs
@@ -34122,13 +34157,13 @@ parsing.")
 (define-public r-wordspace
   (package
     (name "r-wordspace")
-    (version "0.2-7")
+    (version "0.2-8")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "wordspace" version))
        (sha256
-        (base32 "0hrjv5mag7gwl4wj7np248sdyns5i623wl37b11hlgalhbmlypyf"))))
+        (base32 "17fqd4zrsklv2ik3lg00x66yasfh1kyhs3k9ri6lrk56wwv6hzb2"))))
     (properties `((upstream-name . "wordspace")))
     (build-system r-build-system)
     (propagated-inputs
@@ -34389,18 +34424,24 @@ be efficient and easy to use.")
 (define-public r-ggh4x
   (package
     (name "r-ggh4x")
-    (version "0.2.1")
+    (version "0.2.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggh4x" version))
        (sha256
         (base32
-         "1r49yfm5fqv5s7jb92ad6rf8hd9plcry6f500czjhnhhrp16cqfp"))))
+         "11mskrby3gyjhkvnkcwl2ar1bdh4h45y48dfnm4kzgc7nwvdl3ia"))))
     (properties `((upstream-name . "ggh4x")))
     (build-system r-build-system)
     (propagated-inputs
-     (list r-ggplot2 r-gtable r-rlang r-scales r-vctrs))
+     (list r-cli
+           r-ggplot2
+           r-gtable
+           r-lifecycle
+           r-rlang
+           r-scales
+           r-vctrs))
     (native-inputs
      (list r-knitr))
     (home-page "https://github.com/teunbrand/ggh4x")
diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm
index a8551c8f9f..19fc841b63 100644
--- a/gnu/packages/crates-graphics.scm
+++ b/gnu/packages/crates-graphics.scm
@@ -3282,7 +3282,10 @@ crate @code{rust-wayland-client} for usable bindings.")
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
         ("rust-web-sys" ,rust-web-sys-0.3)
         ("rust-winapi" ,rust-winapi-0.3)
-        ("rust-x11-dl" ,rust-x11-dl-2))))
+        ("rust-x11-dl" ,rust-x11-dl-2))
+       #:cargo-development-inputs
+       (("rust-console-log" ,rust-console-log-0.2)
+        ("rust-simple-logger" ,rust-simple-logger-1))))
     (inputs
      (list rust-wayland-client-0.29 rust-wayland-protocols-0.29))
     (home-page "https://github.com/rust-windowing/winit")
@@ -3338,7 +3341,10 @@ the platform-specific getters provided by winit, or another library.")
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
         ("rust-web-sys" ,rust-web-sys-0.3)
         ("rust-winapi" ,rust-winapi-0.3)
-        ("rust-x11-dl" ,rust-x11-dl-2))))
+        ("rust-x11-dl" ,rust-x11-dl-2))
+       #:cargo-development-inputs
+       (("rust-console-log" ,rust-console-log-0.2)
+        ("rust-simple-logger" ,rust-simple-logger-1))))
     (inputs
      (list rust-wayland-client-0.28))))
 
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f09ac91df5..538267c560 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3362,6 +3362,52 @@ coverage-guided, mutation-based fuzzers.")
 that runs on Argon2.")
     (license license:expat)))
 
+(define-public rust-arr-macro-impl-0.1
+  (package
+    (name "rust-arr-macro-impl")
+    (version "0.1.3")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "arr_macro_impl" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1lbjilz3pvwav72dfkcbz99rsq7m04xbdpqh8g3yvx3jsn5wf286"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/JoshMcguigan/arr_macro")
+    (synopsis "Private impl crate for arr_macro")
+    (description "This package provides a private @code{impl} crate for
+@code{arr_macro}.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-arr-macro-0.1
+  (package
+    (name "rust-arr-macro")
+    (version "0.1.3")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "arr_macro" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "199086q8zva66lbg9bpz6fa67s81ra7yfa8148cwy1w7lkymn43a"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-arr-macro-impl" ,rust-arr-macro-impl-0.1)
+        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))))
+    (home-page "https://github.com/JoshMcguigan/arr_macro")
+    (synopsis "Initialize arrays with ease")
+    (description "Array macro helps initialize arrays. It is useful when
+initializing large arrays (greater than 32 elements), or arrays of types which
+do not implement the copy or default traits.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-array-macro-1
   (package
     (name "rust-array-macro")
@@ -3432,7 +3478,7 @@ structures.")
 (define-public rust-arrayvec-0.7
   (package
     (name "rust-arrayvec")
-    (version "0.7.0")
+    (version "0.7.2")
     (source
      (origin
        (method url-fetch)
@@ -3441,7 +3487,7 @@ structures.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1xza6jbs8x51yhh4qnwjw1crm33bhl975r965fpq1hqhpfq5hbss"))))
+         "1mjl8jjqxpl0x7sm9cij61cppi7yi38cdrd1l8zjw7h7qxk2v9cd"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -8493,7 +8539,7 @@ alphabet.")
 (define-public rust-bstr-0.2
   (package
     (name "rust-bstr")
-    (version "0.2.15")
+    (version "0.2.17")
     (source
      (origin
        (method url-fetch)
@@ -8502,7 +8548,7 @@ alphabet.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0gca4v6448clsssll3y787jgw542c9mw9phqdi7419g1jfnlf2x4"))))
+         "08rjbhysy6gg27db2h3pnhvr2mlr5vkj797i9625kwg8hgrnjdds"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -12208,6 +12254,32 @@ diagnostics easy and relatively painless for everyone!")
         ("rust-structopt" ,rust-structopt-0.3)
         ("rust-unindent" ,rust-unindent-0.1))))))
 
+(define-public rust-coitrees-0.2
+  (package
+    (name "rust-coitrees")
+    (version "0.2.1")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "coitrees" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1l2ybr8n02vm08wq9mrix7r07bgwm85i6fyachlm8d626w9w9d3f"))))
+    (build-system cargo-build-system)
+    (arguments
+     ;; Check phase fails with:
+     ;; no function or associated item named `with_name` found for struct
+     ;; `Arg` in the current scope
+     `(#:tests? #false
+       #:cargo-development-inputs
+       (("rust-clap" ,rust-clap-3))))
+    (home-page "https://github.com/dcjones/coitrees")
+    (synopsis "Data structure for overlap queries on sets of intervals")
+    (description
+     "This package provides a very fast data structure for overlap queries on
+sets of intervals.")
+    (license license:expat)))
+
 (define-public rust-color-backtrace-0.5
   (package
     (name "rust-color-backtrace")
@@ -13050,6 +13122,30 @@ this to write Rust programs which can be customized by end users easily.")
 that logs panics to @code{console.error}.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-console-log-0.2
+  (package
+    (name "rust-console-log")
+    (version "0.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "console_log" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "150li8pznpfpn4q0f7g9jwq2hnd5wik0w8378zaa1wffc5ckf6jh"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-log" ,rust-log-0.4)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
+        ("rust-web-sys" ,rust-web-sys-0.3))))
+    (home-page "https://github.com/iamcodemaker/console_log")
+    (synopsis "Route Rust log messages to the browser's console")
+    (description
+     "This package provides a logging facility that routes Rust log messages to
+the browser's console.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-console-log-0.1
   (package
     (name "rust-console-log")
@@ -14530,14 +14626,14 @@ criterion.")
 (define-public rust-crossbeam-channel-0.5
   (package
     (name "rust-crossbeam-channel")
-    (version "0.5.0")
+    (version "0.5.6")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "crossbeam-channel" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0xfplw54pskl3kyf2q6kw8y2phnq6wn8pqxx003n8qfkz3hnx8nw"))))
+        (base32 "08f5f043rljl82a06d1inda6nl2b030s7yfqp31ps8w8mzfh9pf2"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -14745,14 +14841,14 @@ message passing.")
 (define-public rust-crossbeam-queue-0.3
   (package
     (name "rust-crossbeam-queue")
-    (version "0.3.1")
+    (version "0.3.6")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "crossbeam-queue" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0mk790w2y7cn9zqj6cn1kl8vvgaamlkj6fmpxg1iprdqyp3v6v0g"))))
+        (base32 "19ram1wp87i57w834hwl95mzz9g53qlzkraq6lvab629n21jbm0w"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
@@ -21284,6 +21380,40 @@ You can use this crate to turn non-blocking data structures into async or
 blocking data structures.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-executors-0.9
+  (package
+    (name "rust-executors")
+    (version "0.9.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "executors" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0z8gn5vcr0x1db1bvahhmby9mpr1jgzd4qfvm25mja5js3agk51a"))))
+    (build-system cargo-build-system)
+    (arguments
+     ;; TODO: build needs metrics_printer
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-arr-macro" ,rust-arr-macro-0.1)
+        ("rust-async-task" ,rust-async-task-4)
+        ("rust-core-affinity" ,rust-core-affinity-0.5)
+        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
+        ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.8)
+        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-metrics" ,rust-metrics-0.14)
+        ("rust-num-cpus" ,rust-num-cpus-1)
+        ("rust-rand" ,rust-rand-0.8)
+        ("rust-synchronoise" ,rust-synchronoise-1)
+        ("rust-threadpool" ,rust-threadpool-1))))
+    (home-page "https://github.com/Bathtor/rust-executors")
+    (synopsis "Collection of high-performance task executors")
+    (description
+     "This package provides a collection of high-performance task executors.")
+    (license license:expat)))
+
 (define-public rust-exitcode-1
   (package
     (name "rust-exitcode")
@@ -23307,6 +23437,29 @@ helpful error messages.")
 process and much more.")
     (license license:expat)))
 
+(define-public rust-fs-utils-1
+  (package
+    (name "rust-fs-utils")
+    (version "1.1.4")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "fs-utils" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "14r5wl14mz227v0lpy89lvjzfnxgdxigvrrmm6c4r52w03fakivg"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-quick-error" ,rust-quick-error-1))
+       #:cargo-development-inputs
+       (("rust-tempfile" ,rust-tempfile-3))))
+    (home-page "https://github.com/Byron/fs-utils-rs")
+    (synopsis "Utilities to help working with the filesytem")
+    (description "This package provides a bunch of utilities to help working
+with the filesytem.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-fs2-0.2
   (package
     (name "rust-fs2")
@@ -25885,7 +26038,11 @@ graphics.")
         ("rust-smallvec" ,rust-smallvec-1)
         ("rust-takeable-option" ,rust-takeable-option-0.5))
        #:cargo-development-inputs
-       (("rust-gl-generator" ,rust-gl-generator-0.14))))
+       (("rust-cgmath" ,rust-cgmath-0.18)
+        ("rust-genmesh" ,rust-genmesh-0.6)
+        ("rust-gl-generator" ,rust-gl-generator-0.14)
+        ("rust-obj" ,rust-obj-0.10)
+        ("rust-ouroboros" ,rust-ouroboros-0.14))))
     (home-page "https://github.com/glium/glium")
     (synopsis "OpenGL wrapper")
     (description
@@ -28073,6 +28230,48 @@ Hash-based Message Authentication Code algorithm} for SHA1.")
 characters in HTML, decoding and unescaping HTML entities as well.")
     (license license:expat)))
 
+(define-public rust-hts-sys-2
+  (package
+    (name "rust-hts-sys")
+    (version "2.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "hts-sys" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1qn1qz2xa69x2dj1fbh91avm9943rbcykr37zs68pb2bdy847i3j"))
+              (modules '((guix build utils)))
+              (snippet
+               '(substitute* "Cargo.toml"
+                  ;; Do not use zlib-ng; just use zlib.
+                  (("features = \\[\"zlib-ng\", \"static\"\\]") "")
+                  ;; No static libraries please.
+                  (("\"static-curl\", \"static-ssl\",") "")
+                  ((", \"static\"") "")
+                  (("\\[\"static\"\\]") "[]")))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bindgen" ,rust-bindgen-0.53)
+        ("rust-bzip2-sys" ,rust-bzip2-sys-0.1)
+        ("rust-cc" ,rust-cc-1)
+        ("rust-curl-sys" ,rust-curl-sys-0.4)
+        ("rust-fs-utils" ,rust-fs-utils-1)
+        ("rust-glob" ,rust-glob-0.3)
+        ("rust-libdeflate-sys" ,rust-libdeflate-sys-0.5)
+        ("rust-libz-sys" ,rust-libz-sys-1)
+        ("rust-lzma-sys" ,rust-lzma-sys-0.1)
+        ("rust-openssl-sys" ,rust-openssl-sys-0.9))))
+    (inputs
+     (list curl openssl xz zlib))
+    (native-inputs
+     (list cmake-minimal pkg-config))
+    (home-page "https://github.com/samtools/htslib.git")
+    (synopsis "Rust bindings to HTSlib")
+    (description "This library provides Rust bindings to HTSlib.")
+    (license license:expat)))
+
 (define-public rust-http-0.2
   (package
     (name "rust-http")
@@ -29029,6 +29228,27 @@ with hyper.")
        (("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
         ("rust-rustc-test" ,rust-rustc-test-0.3))))))
 
+(define-public rust-ieee754-0.2
+  (package
+    (name "rust-ieee754")
+    (version "0.2.6")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "ieee754" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1771d2kvw1wga65yrg9m7maky0fzsaq9hvhkv91n6gmxmjfdl1wh"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.2))))
+    (home-page "https://github.com/huonw/ieee754")
+    (synopsis "Low-level manipulations of IEEE754 floating-point numbers")
+    (description "This is a package for low-level manipulations of IEEE754
+floating-point numbers.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-if-chain-1
   (package
     (name "rust-if-chain")
@@ -31906,6 +32126,29 @@ macros on libc without stdlib.")
     (description "This package provides FFI bindings to libdbus.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-libdeflate-sys-0.5
+  (package
+    (name "rust-libdeflate-sys")
+    (version "0.5.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "libdeflate-sys" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "07ychzvz9xrqs92frs3zpny0l8jp3sndzqpl7zhv6kdqhzx9xqr1"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-cc" ,rust-cc-1))))
+    (home-page "https://github.com/adamkewley/libdeflater")
+    (synopsis "Bindings to libdeflate")
+    (description
+     "This package provides bindings to libdeflate for DEFLATE (de)compression
+exposed as non-streaming buffer operations.  It contains bindings for raw
+deflate, zlib, and gzip data.")
+    (license license:asl2.0)))
+
 (define-public rust-libflate-1
   (package
     (name "rust-libflate")
@@ -32441,6 +32684,63 @@ library.")
 library.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-libradicl-0.4
+  (package
+    (name "rust-libradicl")
+    (version "0.4.1")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "libradicl" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "10j2f2iv4037315fiqppk7x2bx1mnw6gns3qqwyhcyh4sgbz3ka4"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #false                  ;fail to compile InternalVersionInfo
+       #:cargo-inputs
+       (("rust-ahash" ,rust-ahash-0.7)
+        ("rust-arrayvec" ,rust-arrayvec-0.7)
+        ("rust-bincode" ,rust-bincode-1)
+        ("rust-bio-types" ,rust-bio-types-0.12)
+        ("rust-bstr" ,rust-bstr-0.2)
+        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
+        ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.3)
+        ("rust-csv" ,rust-csv-1)
+        ("rust-dashmap" ,rust-dashmap-4)
+        ("rust-executors" ,rust-executors-0.9)
+        ("rust-flate2" ,rust-flate2-1)
+        ("rust-indicatif" ,rust-indicatif-0.16)
+        ("rust-itertools" ,rust-itertools-0.10)
+        ("rust-needletail" ,rust-needletail-0.4)
+        ("rust-num" ,rust-num-0.4)
+        ("rust-num-format" ,rust-num-format-0.4)
+        ("rust-petgraph" ,rust-petgraph-0.6)
+        ("rust-quickersort" ,rust-quickersort-3)
+        ("rust-rand" ,rust-rand-0.8)
+        ("rust-rust-htslib" ,rust-rust-htslib-0.38)
+        ("rust-sce" ,rust-sce-0.1)
+        ("rust-scroll" ,rust-scroll-0.10)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-slog" ,rust-slog-2)
+        ("rust-slog-async" ,rust-slog-async-2)
+        ("rust-slog-term" ,rust-slog-term-2)
+        ("rust-smallvec" ,rust-smallvec-1)
+        ("rust-snap" ,rust-snap-1)
+        ("rust-sprs" ,rust-sprs-0.10)
+        ("rust-statrs" ,rust-statrs-0.15))))
+    (inputs
+     (list xz zlib))
+    (native-inputs
+     (list pkg-config))
+    (home-page "https://github.com/COMBINE-lab/alevin-fry")
+    (synopsis "Support library for alevin-fry")
+    (description "This package provides a support library for alevin-fry, a
+suite of tools for the rapid, accurate and memory-frugal processing
+single-cell and single-nucleus sequencing data.")
+    (license license:bsd-3)))
+
 (define-public rust-libsqlite3-sys-0.23
   (package
     (name "rust-libsqlite3-sys")
@@ -32652,6 +32952,30 @@ known as zlib).")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-libz-ng-sys-1
+  (package
+    (name "rust-libz-ng-sys")
+    (version "1.1.8")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "libz-ng-sys" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1wp0aya5hh76h1acspvrrsvq2fl0kyb8dpi6wy0zaswnm6bax6a3"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cmake" ,rust-cmake-0.1)
+        ("rust-libc" ,rust-libc-0.2))))
+    (home-page "https://github.com/rust-lang/libz-sys")
+    (synopsis "Low-level bindings to zlib-ng (libz-ng)")
+    (description
+     "This package provides low-level bindings to zlib-ng (libz-ng), a
+high-performance zlib library.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-lifeguard-0.6
   (package
     (name "rust-lifeguard")
@@ -32728,6 +33052,48 @@ libraries have.
      "Efficiently insert line separators.")
     (license license:asl2.0)))
 
+(define-public rust-linear-map-1
+  (package
+    (name "rust-linear-map")
+    (version "1.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "linear-map" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1vh3sczl4xb5asdlpafdf3y4g9bp63fgs8y2a2sjgmcsn7v21bmz"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-serde" ,rust-serde-1)
+        ("rust-serde-test" ,rust-serde-test-1))))
+    (home-page "https://github.com/contain-rs/linear-map")
+    (synopsis "Map implemented by searching linearly in a vector")
+    (description
+     "This package provides a map implemented by searching linearly in a
+vector.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-linecount-0.1
+  (package
+    (name "rust-linecount")
+    (version "0.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "linecount" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1n2733qcmvxl3fra3924yj8sf21vr6f6g6dg6wnhbkxr8fia9mfm"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page "https://github.com/eclarke/linecount")
+    (synopsis "Quickly count lines in a file")
+    (description "This package provides a function @code{count_lines}
+to count the number of lines in a file.")
+    (license license:expat)))
+
 (define-public rust-link-cplusplus-1
   (package
     (name "rust-link-cplusplus")
@@ -35182,6 +35548,55 @@ based on Rustls and Ring.")
 and XXH3 algorithms.")
     (license license:expat)))
 
+(define-public rust-metrics-macros-0.2
+  (package
+    (name "rust-metrics-macros")
+    (version "0.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "metrics-macros" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0yy2dc9g3m1h8df6bmnqh1sngyvrgznz1fjpkp9rz1is9p6n1b0i"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-regex" ,rust-regex-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/metrics-rs/metrics")
+    (synopsis "Macros for the metrics crate")
+    (description "This package provides macros for the metrics crate.")
+    (license license:expat)))
+
+(define-public rust-metrics-0.14
+  (package
+    (name "rust-metrics")
+    (version "0.14.2")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "metrics" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0lf80vznlh0p06nchj08nlqgf3bajnwr6w3syflg7ffg3mh8bqjq"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-metrics-macros" ,rust-metrics-macros-0.2)
+        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-trybuild" ,rust-trybuild-1))))
+    (home-page "https://github.com/metrics-rs/metrics")
+    (synopsis "Lightweight metrics facade")
+    (description "This package provides a lightweight metrics facade.")
+    (license license:expat)))
+
 (define-public rust-metrohash-1
   (package
     (name "rust-metrohash")
@@ -35614,10 +36029,8 @@ drop-in replacement for miniz.")
          "1zw5glv8z2d99c82jy2za97hh9p6377xmf4rbwz7jynsdfxfngg5"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-serde" ,rust-serde-1))
-       #:cargo-development-inputs
-       (("rust-serde-json" ,rust-serde-json-1))))
+     `(#:cargo-inputs (("rust-serde" ,rust-serde-1))
+       #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1))))
     (home-page "https://github.com/kvark/mint")
     (synopsis "Math interoperability standard types")
     (description
@@ -37436,6 +37849,45 @@ general elements and for numerics.")
     (description "This package provides FFI bindings for the Android NDK.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-needletail-0.4
+  (package
+    (name "rust-needletail")
+    (version "0.4.1")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "needletail" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1k535wlg0khac2gz3q84rlcqc5r89jyw73ww25vfgc04plzc9d3z"))))
+    (build-system cargo-build-system)
+    (arguments
+     ;; Two tests fail due to missing files.
+     ;; - parser::fastq::test::test_bad_headers
+     ;; - parser::fastq::test::test_fastq_with_random_tsv_inside
+     `(#:tests? #false
+       #:cargo-inputs
+       (("rust-bio" ,rust-bio-0.33)
+        ("rust-buf-redux" ,rust-buf-redux-0.8)
+        ("rust-bytecount" ,rust-bytecount-0.6)
+        ("rust-bzip2" ,rust-bzip2-0.4)
+        ("rust-flate2" ,rust-flate2-1)
+        ("rust-memchr" ,rust-memchr-2)
+        ("rust-pyo3" ,rust-pyo3-0.13)
+        ("rust-xz2" ,rust-xz2-0.1))
+       #:cargo-development-inputs
+       (("rust-assert-cmd" ,rust-assert-cmd-1)
+        ("rust-escargot" ,rust-escargot-0.5)
+        ("rust-predicates" ,rust-predicates-1)
+        ("rust-seq-io" ,rust-seq-io-0.3))))
+    (inputs (list xz))
+    (native-inputs (list pkg-config))
+    (home-page "https://github.com/onecodex/needletail")
+    (synopsis "FASTX parsing and k-mer methods")
+    (description "Needletail is a minimal-copying FASTA/FASTQ parser and k-mer
+processing library for Rust.")
+    (license license:expat)))
+
 (define-public rust-neli-0.4
   (package
     (name "rust-neli")
@@ -39618,6 +40070,25 @@ mathematics.")
      `(#:cargo-inputs
        (("rust-num-traits" , rust-num-traits-0.2))))))
 
+(define-public rust-number-prefix-0.4
+  (package
+    (name "rust-number-prefix")
+    (version "0.4.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "number_prefix" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1wvh13wvlajqxkb1filsfzbrnq0vrmrw298v2j3sy82z1rm282w3"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/ogham/rust-number-prefix")
+    (synopsis "Format numeric prefixes: kilo, giga, kibi")
+    (description
+     "This package provides a library for formatting numeric prefixes: kilo,
+giga, kibi.")
+    (license license:expat)))
+
 (define-public rust-number-prefix-0.3
   (package
     (name "rust-number-prefix")
@@ -39679,6 +40150,27 @@ obfuscation for Rust.  The string constant itself is embedded in obfuscated
 form and deobfuscated locally.")
     (license license:expat)))
 
+(define-public rust-obj-0.10
+  (package
+    (name "rust-obj")
+    (version "0.10.2")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "obj" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0jks8qzjn59na40dv9m0q2j540i04cddbkbq02scgk9qawj9b705"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #false ;missing files
+       #:cargo-inputs (("rust-genmesh" ,rust-genmesh-0.6))))
+    (home-page "https://github.com/kvark/obj")
+    (synopsis "Package for loading Wavefront .obj files")
+    (description
+     "This package provides a package for loading Wavefront @code{.obj} files.")
+    (license license:asl2.0)))
+
 (define-public rust-obj-0.9
   (package
     (name "rust-obj")
@@ -47783,6 +48275,33 @@ integers, floats, tuples, booleans, lists, strings, options and results.")
        #:cargo-development-inputs
        (("rust-quickcheck" ,rust-quickcheck-0.8))))))
 
+(define-public rust-quickersort-3
+  (package
+    (name "rust-quickersort")
+    (version "3.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "quickersort" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "02r7wplnw7m1dhjah8p89inxn9g4nwb7ga7xdn95cffwpwn88z1h"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-nodrop" ,rust-nodrop-0.1)
+        ("rust-unreachable" ,rust-unreachable-1))
+       #:cargo-development-inputs
+       (("rust-itertools" ,rust-itertools-0.7)
+        ("rust-num-traits" ,rust-num-traits-0.2))))
+    (home-page "https://github.com/notriddle/quickersort")
+    (synopsis "Fast sorting")
+    (description
+     "This package implements fast sorting compatible with stable Rust.  It
+also has (optional) support for efficient and robust sorting of floating point
+numbers.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-quine-mc-cluskey-0.2
   (package
     (name "rust-quine-mc-cluskey")
@@ -51494,6 +52013,49 @@ please consider using @code{async-std} or @code{tokio}.")
     (inputs
      (list sqlite))))
 
+(define-public rust-rust-htslib-0.38
+  (package
+    (name "rust-rust-htslib")
+    (version "0.38.2")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "rust-htslib" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "070sihnvyiyqcw8yjkdl8hvav598bsw36m722phgd2b394k6djia"))))
+    (build-system cargo-build-system)
+    (arguments
+     ;; TODO: cannot find openssl_src
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bio-types" ,rust-bio-types-0.12)
+        ("rust-byteorder" ,rust-byteorder-1)
+        ("rust-custom-derive" ,rust-custom-derive-0.1)
+        ("rust-derive-new" ,rust-derive-new-0.5)
+        ("rust-hts-sys" ,rust-hts-sys-2)
+        ("rust-ieee754" ,rust-ieee754-0.2)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-linear-map" ,rust-linear-map-1)
+        ("rust-newtype-derive" ,rust-newtype-derive-0.1)
+        ("rust-regex" ,rust-regex-1)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-bytes" ,rust-serde-bytes-0.11)
+        ("rust-thiserror" ,rust-thiserror-1)
+        ("rust-url" ,rust-url-2))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1)
+        ("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))
+    (inputs (list openssl))
+    (native-inputs (list pkg-config))
+    (home-page "https://github.com/rust-bio/rust-htslib.git")
+    (synopsis "HTSlib bindings and API for reading and writing BAM files")
+    (description
+     "This library provides HTSlib bindings and a high level Rust API for
+reading and writing BAM files.")
+    (license license:expat)))
+
 (define-public rust-rustsec-0.25
   (package
     (name "rust-rustsec")
@@ -53003,6 +53565,37 @@ rustc compiler.")
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-webpki-roots" ,rust-webpki-roots-0.14))))))
 
+(define-public rust-rustls-ffi-0.8
+  (package
+    (name "rust-rustls-ffi")
+    (version "0.8.2")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "rustls-ffi" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "06kqrvm1d5ps9pml26zdd2hm8hh20j6svwvqibpnx7m5rh3jg9cx"))))
+    (build-system cargo-build-system)
+    ;; Build needs cbindgen-0.19
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-num-enum" ,rust-num-enum-0.5)
+        ("rust-rustls" ,rust-rustls-0.20)
+        ("rust-rustls-pemfile" ,rust-rustls-pemfile-0.2)
+        ("rust-sct" ,rust-sct-0.7)
+        ("rust-webpki" ,rust-webpki-0.22))))
+    (home-page "https://github.com/rustls/rustls-ffi")
+    (synopsis "C to rustls bindings")
+    (description "This package contains FFI bindings for the rustls TLS
+library, so you can use the library in C programs or any other language that
+supports FFI.")
+    ;; Use under the terms of any of these licenses
+    (license (list license:asl2.0 license:isc license:expat))))
+
 (define-public rust-rustls-native-certs-0.6
   (package
     (name "rust-rustls-native-certs")
@@ -54052,6 +54645,33 @@ encodable types.")
      "This package provides a simple scanf()-like input for Rust")
     (license license:expat)))
 
+(define-public rust-sce-0.1
+  (package
+    (name "rust-sce")
+    (version "0.1.2")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "sce" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1fv0nbx6r44rcqfy6881gin30d92zgxl0jrx4hfl725h0425i74j"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1)
+        ("rust-csv" ,rust-csv-1)
+        ("rust-flate2" ,rust-flate2-1)
+        ("rust-num" ,rust-num-0.4)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-sprs" ,rust-sprs-0.11))))
+    (home-page "https://github.com/parazodiac/SingleCellExperiment")
+    (synopsis "Import and manage various single-cell matrices")
+    (description
+     "This package provides a library for importing and managing various
+single-cell matrices.")
+    (license license:bsd-3)))
+
 (define-public rust-schannel-0.1
   (package
     (name "rust-schannel")
@@ -59602,6 +60222,70 @@ OIDs)")
     (description "Simple SPMC channel")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-sprs-0.11
+  (package
+    (name "rust-sprs")
+    (version "0.11.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "sprs" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0w6xishm9jxqjy83as7g14474cn1xb55vqz8afqw9d7and41x9vf"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t ;8 test failures due to "No such file or directory"
+       #:cargo-inputs
+       (("rust-alga" ,rust-alga-0.9)
+        ("rust-approx" ,rust-approx-0.5)
+        ("rust-ndarray" ,rust-ndarray-0.15)
+        ("rust-num-complex" ,rust-num-complex-0.4)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-num-cpus" ,rust-num-cpus-1)
+        ("rust-rayon" ,rust-rayon-1)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-smallvec" ,rust-smallvec-1))
+       #:cargo-development-inputs
+       (("rust-bencher" ,rust-bencher-0.1)
+        ("rust-bincode" ,rust-bincode-1)
+        ("rust-tobj" ,rust-tobj-3))))
+    (home-page "https://github.com/vbarrielle/sprs")
+    (synopsis "Sparse matrix library")
+    (description "This package provides a sparse matrix library.")
+    ;; Either license can be chosen
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-sprs-0.10
+  (package
+    (inherit rust-sprs-0.11)
+    (name "rust-sprs")
+    (version "0.10.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "sprs" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "18qwm1wnc1jbzdpl0wfrrybb6rak74zv8jmfg87id7ksb6crkz6r"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t    ;8 test failures due to "No such file or directory"
+       #:cargo-inputs
+       (("rust-alga" ,rust-alga-0.9)
+        ("rust-approx" ,rust-approx-0.3)
+        ("rust-ndarray" ,rust-ndarray-0.14)
+        ("rust-num-complex" ,rust-num-complex-0.2)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-num-cpus" ,rust-num-cpus-1)
+        ("rust-rayon" ,rust-rayon-1)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-smallvec" ,rust-smallvec-1))
+       #:cargo-development-inputs
+       (("rust-bencher" ,rust-bencher-0.1)
+        ("rust-bincode" ,rust-bincode-1)
+        ("rust-tobj" ,rust-tobj-2))))))
+
 (define-public rust-rspotify-0.10
   (package
     (name "rust-rspotify")
@@ -61791,6 +62475,28 @@ a syntax tree of Rust source code.")
      "This package provides the features between \"full\" and \"derive\" of syn.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-synchronoise-1
+  (package
+    (name "rust-synchronoise")
+    (version "1.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "synchronoise" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1szasv8xl6z3gxfq8h8wllw2mq53d71nn29achxsnfcxzh7fs5yp"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-crossbeam-queue" ,rust-crossbeam-queue-0.1))))
+    (home-page "https://github.com/QuietMisdreavus/synchronoise")
+    (synopsis "Synchronization primitives")
+    (description
+     "This package provides synchronization primitives that build upon the
+standard library.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-synom-0.11
   (package
     (name "rust-synom")
@@ -65066,6 +65772,47 @@ to a style defined by John Gruber for post titles on his website ``Daring
 Fireball''.")
     (license license:expat)))
 
+(define-public rust-tobj-3
+  (package
+    (name "rust-tobj")
+    (version "3.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "tobj" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1q9hxhdzbqcrpnmja98mnd5890jf3x1njg0q1lgpj8yg5j29ryc9"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t ;tests are incomplete
+       #:cargo-inputs
+       (("rust-ahash" ,rust-ahash-0.7)
+        ("rust-log" ,rust-log-0.4))))
+    (home-page "https://github.com/Twinklebear/tobj")
+    (synopsis "Lightweight OBJ loader in the spirit of tinyobjloader")
+    (description
+     "This package provides a lightweight OBJ loader in the spirit of
+tinyobjloader.")
+    (license license:expat)))
+
+(define-public rust-tobj-2
+  (package
+    (inherit rust-tobj-3)
+    (name "rust-tobj")
+    (version "2.0.4")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "tobj" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "06w8ix9nk38wli0pjfl22hiyy07byhdcz18nkwhzg775x1dzas14"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t ;tests are incomplete
+       #:cargo-inputs (("rust-log" ,rust-log-0.4))))))
+
 (define-public rust-tokio-1
   (package
     (name "rust-tokio")
@@ -75041,6 +75788,34 @@ for @code{uint} and @code{fixed_hash}.")
 a trait for tuples.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-indicatif-0.16
+  (package
+    (name "rust-indicatif")
+    (version "0.16.2")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "indicatif" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "06xyjs0kzqiqkjn60n1miwm2l87sa9p2lmzz0ymq18y72z37s81d"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-console" ,rust-console-0.15)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-number-prefix" ,rust-number-prefix-0.4)
+        ("rust-rayon" ,rust-rayon-1)
+        ("rust-regex" ,rust-regex-1)
+        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
+        ("rust-unicode-width" ,rust-unicode-width-0.1))))
+    (home-page "https://github.com/console-rs/indicatif")
+    (synopsis "Progress bar and cli reporting library for Rust")
+    (description
+     "This package provides a progress bar and cli reporting library for
+Rust.")
+    (license license:expat)))
+
 (define-public rust-inflections-1
   (package
     (name "rust-inflections")
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 9c98c923ff..0a368d3879 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -70,7 +70,7 @@
     (name (string-append (package-name p) "-cross-" target))
     (arguments
      (substitute-keyword-arguments (package-arguments p)
-       ((#:configure-flags flags)
+       ((#:configure-flags flags ''())
         `(cons ,(string-append "--target=" target)
                ,flags))))))
 
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 9dcffd8dd4..074fa5bf31 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -24,6 +24,7 @@
 ;;; Copyright © 2021, 2022 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2022 Allan Adair <allan@adair.no>
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1699,3 +1700,42 @@ sha256crypt, md5crypt, SunMD5, sha1crypt, NT, bsdicrypt, bigcrypt, and
 descrypt.")
     (home-page "https://github.com/besser82/libxcrypt")
     (license license:lgpl2.1)))
+
+(define-public keychain
+  (package
+    (name "keychain")
+    (version "2.8.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/funtoo/keychain")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1bkjlg0a2bbdjhwp37ci1rwikvrl4s3xlbf2jq2z4azc96dr83mj"))))
+    (build-system gnu-build-system)
+    (propagated-inputs (list procps))
+    (arguments
+     `(#:tests? #f ; No test suite
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure)
+                  (replace 'install
+                    (lambda _
+                      (install-file "keychain"
+                                    (string-append %output "/bin/"))
+                      (install-file "keychain.1"
+                                    (string-append %output "/share/man/man1"))
+                      #t)))))
+    (synopsis
+     "SSH or GPG agent frontend that can share a single agent on the same
+system")
+    (description
+     "Keychain is usually run from shell profiles like ~/.bash_profile, but
+it is also possible to use it with non-interactive shells.  It works
+with various operating systems (including GNU/Linux and HURD) and
+shells (like bourne-compatible, csh-compatible and fish shells).  By
+default Keychain will only start ssh-agent, but it can also be
+configured to start gpg-agent.")
+    (home-page "https://www.funtoo.org/Keychain")
+    (license license:gpl2)))
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 43c341c7a4..1142f99531 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -4141,7 +4141,7 @@ the SQL language using a syntax that reflects the resulting query.")
 (define-public apache-arrow
   (package
     (name "apache-arrow")
-    (version "8.0.0")
+    (version "9.0.0")
     (source
      (origin
        (method git-fetch)
@@ -4151,7 +4151,7 @@ the SQL language using a syntax that reflects the resulting query.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1gwiflk72pq1krc0sjzabypmh7slfyf7ak71fiypy3xgzw8a777c"))))
+         "1l76q7944jyx22vjkk12hxb3nadgiivc3x8ml4mg619v9xxagc2v"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f
diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm
index ae0ea07dbf..9f2869ed25 100644
--- a/gnu/packages/docbook.scm
+++ b/gnu/packages/docbook.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
-;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2021 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2021 Andrew Whatson <whatson@gmail.com>
@@ -37,9 +37,11 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages web-browsers)
   #:use-module (gnu packages xml)
+  #:use-module (guix gexp)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module ((guix build utils) #:select (alist-replace))
   #:use-module (guix build-system copy)
   #:use-module (guix build-system gnu)
@@ -229,55 +231,152 @@ by no means limited to these applications.)  This package provides XML DTDs.")
      "This package provides XSL style sheets for DocBook.")
     (license (license:x11-style "" "See 'COPYING' file."))))
 
-(define-public docbook-xsl-ns
+;;; TODO: Make this the default docbook-xsl on core-updates.  There's an issue
+;;; in docbook-xsl 1.79.2 that causes manpages to be generated incorrectly and
+;;; embed raw nroff syntax such as '.PP' when there is a
+;;; namespace/non-namespace mismatch between the sources and the stylesheets
+;;; used (see: https://github.com/docbook/xslt10-stylesheets/issues/109).
+(define-public docbook-xsl-next
+  (let ((commit "fe16c90013b64e316c3e21ef92d1e8813c10f88c")
+        (revision "0")
+        (base-version (package-version docbook-xsl)))
+    (package
+      (inherit docbook-xsl)
+      (name "docbook-xsl")
+      (version (git-version base-version revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/docbook/xslt10-stylesheets")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                ;; Multiple .jar files are bundled with the sources.
+                (modules '((guix build utils)))
+                (snippet '(for-each delete-file (find-files "." "\\.jar$")))
+                (sha256
+                 (base32
+                  "1bl8dwrcy7skrlh80fpsmiw045bv2j0aym231ikcv3hvm2pi98dj"))))
+      (build-system gnu-build-system)
+      (arguments
+       (list
+        #:make-flags #~(list "XSLTENGINE=xsltproc")
+        #:phases
+        #~(modify-phases %standard-phases
+            (replace 'configure
+              (lambda _
+                ;; The build systems insist on a ~/.xmlc, and it is simpler to
+                ;; create a dummy config file than to patch it into
+                ;; submission.
+                (setenv "HOME" "/tmp")
+                (call-with-output-file "/tmp/.xmlc"
+                  (lambda (port)
+                    (format port "\
+<?xml version='1.0' encoding='utf-8'?> <!-- -*- nxml -*- -->
+<config>
+  <java xml:id=\"bigmem\">
+    <java-option name=\"Xmx512m\"/>
+  </java>
+  <xsltproc xml:id=\"xsltproc\" exec=\"xsltproc\"></xsltproc>
+  <xmllint xml:id=\"xmllint\" exec=\"xmllint\"></xmllint>
+</config>\n")))
+                (substitute* "xsl/Makefile"
+                  ;; Do not build webhelp files, as they require a Saxon from
+                  ;; 2005, which is not packaged in Guix.
+                  ((" webhelp") ""))))
+            (add-before 'install 'generate-catalog.xml
+              (lambda* (#:key make-flags #:allow-other-keys)
+                (apply invoke "make" "-C" "xsl" "catalog.xml" make-flags)))
+            (replace 'install
+              (lambda _
+                (let ((xml (string-append #$output "/xml/xsl/"
+                                          #$name "-" #$version))
+                      (select-rx (make-regexp
+                                  "(\\.xml$|\\.xsl$|\\.dtd$|\\.ent$)")))
+                  ;; Install catalog.
+                  (chdir "xsl")
+                  (install-file "catalog.xml" xml)
+                  (install-file "VERSION.xsl" xml)
+                  (substitute* (string-append xml "/catalog.xml")
+                    ;; Re-add the no longer present compatibility entries.
+                    ((".*</catalog>.*" anchor)
+                     (string-append "\
+  <!-- Also support old URI of v1.79.1 or earlier -->
+  <rewriteURI uriStartString=\"http://docbook.sourceforge.net\
+/release/xsl/current/\" rewritePrefix=\"./\"/>
+  <rewriteSystem systemIdStartString=\"http://docbook.sourceforge.net\
+/release/xsl/current/\" rewritePrefix=\"./\"/>\n" anchor))
+                    (("/snapshot/")
+                     (string-append "/" #$base-version "/"))
+                    (("rewritePrefix=\"./")
+                     (string-append "rewritePrefix=\"file://" xml "/")))
+                  ;; Install style sheets.
+                  (for-each (lambda (dir)
+                              (for-each (lambda (f)
+                                          (install-file
+                                           f (string-append xml "/" (dirname f))))
+                                        (find-files dir select-rx)))
+                            '("assembly" "common" "eclipse" "epub" "epub3" "fo"
+                              "highlighting" "html" "htmlhelp" "javahelp" "lib"
+                              "manpages" "params" "profiling" "roundtrip"
+                              "template" "website"
+                              "xhtml" "xhtml-1_1" "xhtml5"))))))))
+      (native-inputs (list libxml2
+                           libxslt
+                           perl
+                           perl-xml-xpath)))))
+
+(define-public docbook-xsl-1.79.1
   (package
-    (name "docbook-xsl-ns")
+    (name "docbook-xsl")
     (version "1.79.1")
     (source (origin
               (method url-fetch)
+              ;; At the time, the non namespaced version was still the
+              ;; default; our latest docbook-xsl is namespaced, so for
+              ;; consistency preserves this property for older versions too.
               (uri (string-append "mirror://sourceforge/docbook/"
-                                  name "/" version "/"
-                                  name "-" version ".tar.bz2"))
+                                  name "-ns/" version "/"
+                                  name "-ns-" version ".tar.bz2"))
               (sha256
                (base32
                 "170ggf5dgjar65kkn5n33kvjr3pdinpj66nnxfx8b2avw0k91jin"))))
     (build-system copy-build-system)
     (outputs '("out" "doc"))
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         ;; XXX: The copy-build-system doesn't seem to allow installing to a
-         ;; different output.
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (xml (string-append out "/xml/xsl/" ,name "-" ,version))
-                    (doc (string-append (assoc-ref %outputs "doc")
-                                        "/share/doc/" ,name "-" ,version))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; XXX: The copy-build-system doesn't seem to allow installing to a
+          ;; different output.
+          (replace 'install
+            (lambda _
+              (let ((xml (string-append #$output "/xml/xsl/" #$name "-" #$version))
+                    (doc (string-append #$output:doc
+                                        "/share/doc/" #$name "-" #$version))
                     (select-rx (make-regexp
                                 "(\\.xml$|\\.xsl$|\\.dtd$|\\.ent$)")))
-               ;; Install catalog.
-               (install-file "catalog.xml" xml)
-               (install-file "VERSION.xsl" xml)
-               (substitute* (string-append xml "/catalog.xml")
-                 (("rewritePrefix=\"./")
-                  (string-append "rewritePrefix=\"file://" xml "/")))
-               ;; Install style sheets.
-               (for-each (lambda (dir)
-                           (for-each (lambda (f)
-                                       (install-file
-                                        f (string-append xml "/" (dirname f))))
-                                     (find-files dir select-rx)))
-                         '("assembly" "common" "eclipse" "epub" "epub3" "fo"
-                           "highlighting" "html" "htmlhelp" "javahelp" "lib"
-                           "manpages" "params" "profiling" "roundtrip"
-                           "template" "website"
-                           "xhtml" "xhtml-1_1" "xhtml5"))
-               ;; Install documentation.
-               (install-file "NEWS" doc)
-               (install-file "RELEASE-NOTES.html" doc)
-               (copy-recursively "slides" doc)
-               (copy-recursively "webhelp" doc)))))))
+                ;; Install catalog.
+                (install-file "catalog.xml" xml)
+                (install-file "VERSION.xsl" xml)
+                (substitute* (string-append xml "/catalog.xml")
+                  (("rewritePrefix=\"./")
+                   (string-append "rewritePrefix=\"file://" xml "/")))
+                ;; Install style sheets.
+                (for-each (lambda (dir)
+                            (for-each (lambda (f)
+                                        (install-file
+                                         f (string-append xml "/" (dirname f))))
+                                      (find-files dir select-rx)))
+                          '("assembly" "common" "eclipse" "epub" "epub3" "fo"
+                            "highlighting" "html" "htmlhelp" "javahelp" "lib"
+                            "manpages" "params" "profiling" "roundtrip"
+                            "template" "website"
+                            "xhtml" "xhtml-1_1" "xhtml5"))
+                ;; Install documentation.
+                (install-file "NEWS" doc)
+                (install-file "RELEASE-NOTES.html" doc)
+                (copy-recursively "slides" doc)
+                (copy-recursively "webhelp" doc)))))))
     (home-page "https://docbook.org")
     (synopsis "DocBook XSL namespaced style sheets for document authoring")
     (description "This package provides the @emph{namespaced} XSL style sheets
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 30bd0ca48b..c5d49c2925 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -70,7 +70,7 @@
 ;;; Copyright © 2020 Jérémy Korwin-Zmijowski <jeremy@korwin-zmijowski.fr>
 ;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero <barbanegra+guix@posteo.mx>
 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2020 pinoaffe <pinoaffe@airmail.cc>
+;;; Copyright © 2020, 2022 pinoaffe <pinoaffe@gmail.com>
 ;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2020 Ryan Desfosses <rdes@protonmail.com>
 ;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
@@ -95,7 +95,7 @@
 ;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
 ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
 ;;; Copyright © 2021, 2022 Stefan Reichör <stefan@xsteve.at>
-;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2021, 2022 Simon Tournier <zimon.toutoune@gmail.com>
 ;;; Copyright © 2021 Eugene Klimov <lipklim@mailbox.org>
 ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
 ;;; Copyright © 2021 David Dashyan <mail@davie.li>
@@ -116,6 +116,7 @@
 ;;; Copyright © 2022 Haider Mirza <haider@haider.gq>
 ;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
 ;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
+;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -139,6 +140,7 @@
   #:use-module (guix download)
   #:use-module (guix bzr-download)
   #:use-module (guix gexp)
+  #:use-module (guix i18n)
   #:use-module (guix git-download)
   #:use-module (guix hg-download)
   #:use-module (guix build-system gnu)
@@ -240,6 +242,9 @@
   #:use-module (gnu packages photo)
   #:use-module (gnu packages uml)
   #:use-module (gnu packages finance)
+  #:use-module (gnu packages ocaml)
+  #:use-module (gnu packages erlang)
+  #:use-module (gnu packages statistics)
   #:use-module (guix utils)
   #:use-module (srfi srfi-1)
   #:use-module (ice-9 match))
@@ -962,6 +967,8 @@ on stdout instead of using a socket as the Emacsclient does.")
                  (install #:outputs outputs
                           #:include (cons "\\.so$"
                                           emacs:%default-include)))))
+           (add-after 'unpack 'emacs-add-install-to-native-load-path
+             (assoc-ref emacs:%standard-phases 'add-install-to-native-load-path))
            (add-after 'install 'make-autoloads
              (assoc-ref emacs:%standard-phases 'make-autoloads))
            (add-after 'make-autoloads 'enable-autoloads-compilation
@@ -2618,6 +2625,29 @@ framework as the user interface, which integrates well with Vertico or
 Selectrum.")
     (license license:gpl3+)))
 
+(define-public emacs-marginalia-emprise
+  (package
+    (name "emacs-marginalia-emprise")
+    (version "0.2.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://git.sr.ht/~plattfot/marginalia-emprise")
+             (commit (string-append "v" version))))
+       (sha256
+        (base32
+         "1kbk3kgvv1k5zdysvpgcsbxiwn4la3vvnmv3sbzxq7q5v5cr4a54"))
+       (file-name (git-file-name name version))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     (list emacs-emprise emacs-marginalia))
+    (home-page "https://sr.ht/~plattfot/emprise/")
+    (synopsis "Annotate Emprise with Marginalia")
+    (description "This package provides an annotation function to show
+playback status, artist name and title for Emprise using Marginalia.")
+    (license license:gpl3+)))
+
 
 ;;;
 ;;; Miscellaneous.
@@ -2676,6 +2706,29 @@ command, which uses Emacs standard completion to select an application
 installed on your machine and launch it.")
       (license license:gpl3+))))
 
+(define-public emacs-alchemist
+  (package
+    (name "emacs-alchemist")
+    (version "1.8.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://stable.melpa.org/packages/"
+                           "alchemist-" version ".tar"))
+       (sha256
+        (base32 "0ygwf9d739zqc8dcckw0j0bqkipw7cmxbrx3l281x237a3d384yw"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     (list emacs-elixir-mode emacs-dash emacs-company emacs-pkg-info))
+    (home-page "http://www.github.com/tonini/alchemist.el")
+    (synopsis "Elixir tooling integration into Emacs")
+    (description
+     "This package brings you all the Elixir tooling and power inside your Emacs
+editor.  It comes with commands to compile, execute and test your code, spawn
+an interactive shell, and look up definitions and documentation as well as
+code completion and project management support.")
+    (license license:gpl3+)))
+
 (define-public emacs-auto-sudoedit
   (package
     (name "emacs-auto-sudoedit")
@@ -3996,7 +4049,9 @@ during idle time, while Emacs is doing nothing else.")
                ("pdf-tools-handle-upgrades" '()))))
          (add-after 'emacs-patch-variables 'emacs-expand-load-path
            (assoc-ref emacs:%standard-phases 'expand-load-path))
-         (add-after 'emacs-expand-load-path 'emacs-install
+         (add-after 'emacs-expand-load-path 'emacs-add-install-to-native-load-path
+           (assoc-ref emacs:%standard-phases 'add-install-to-native-load-path))
+         (add-after 'emacs-add-install-to-native-load-path 'emacs-install
            (assoc-ref emacs:%standard-phases 'install))
          (add-after 'emacs-install 'emacs-build
            (assoc-ref emacs:%standard-phases 'build))
@@ -4041,6 +4096,42 @@ DocView mode, and revisiting those PDF files later using the same mode will
 restore the saved place.")
     (license license:gpl3+)))
 
+(define-public emacs-pdfgrep
+  ;; XXX: Upstream does not tag releases.  The commit below matches latest
+  ;; version bump.
+  (let ((commit "e250376d97fc5240e07d81108bbca9b5a9ab50f4"))
+    (package
+      (name "emacs-pdfgrep")
+      (version "1.4")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/jeremy-compostella/pdfgrep")
+               (commit commit)))
+         (sha256
+          (base32 "17yqvvgkgxmcl8nc0mb9yaz884zcdnz7dwvfi4mxjzp1l05fvwjk"))))
+      (build-system emacs-build-system)
+      (arguments
+       (list #:phases
+             #~(modify-phases %standard-phases
+                 (add-after 'unpack 'patch-pdfgrep-path
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     (make-file-writable "pdfgrep.el")
+                     (emacs-substitute-variables "pdfgrep.el"
+                       ("pdfgrep-program"
+                        (search-input-file inputs "bin/pdfgrep"))))))))
+      (inputs (list pdfgrep))
+      (home-page "https://github.com/jeremy-compostella/pdfgrep")
+      (synopsis "Emacs module providing @code{grep} comparable facilities but
+for PDF files")
+      (description
+       "pdfgrep is a GNU/Emacs module providing @code{grep} comparable
+facilities but for PDF files.  Its usage is similar to the @code{grep}
+function.  For example, using the @code{next-error} function gets you to the
+next matching page.")
+      (license license:gpl3+))))
+
 (define-public emacs-dash
   (package
     (name "emacs-dash")
@@ -5946,6 +6037,41 @@ heading, other headings can be refiled to it with one command, and back to
 their original location with another.")
       (license license:gpl3+))))
 
+(define-public emacs-orgmdb
+  (package
+    (name "emacs-orgmdb")
+    (version "0.5")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/isamert/orgmdb.el")
+             (commit "66c13abdb84e0f0a31bae6cfda27478771d58d8e")))
+       (sha256
+        (base32
+         "1hvxha0ih9jhvwj07l6jnpf2vzhgvb6ii73g49c8saxld61l0frf"))
+       (file-name (git-file-name name version))))
+    (build-system emacs-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'configure
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute* "orgmdb.el"
+                     (("\"fd ")
+                      (string-append "\""
+                                     (search-input-file inputs "/bin/fd")
+                                     " "))))))))
+    (inputs
+     (list fd))
+    (propagated-inputs
+     (list emacs-dash emacs-org emacs-s))
+    (home-page "https://github.com/isamert/orgmdb.el")
+    (synopsis "Emacs' Org mode watchlist manager and OMDb API client")
+    (description "This package adds tools for managing your watchlist in Emacs'
+Org mode and some functions for interacting with the OMDb API.")
+    (license license:gpl3+)))
+
 (define-public emacs-rich-minority
   (package
     (name "emacs-rich-minority")
@@ -6854,14 +6980,14 @@ user.")
 (define-public emacs-subed
   (package
     (name "emacs-subed")
-    (version "1.0.9")
+    (version "1.0.10")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://elpa.nongnu.org/nongnu/subed-"
                                   version ".tar"))
               (sha256
                (base32
-                "192m7pg8hiqx7ppr1sk6n5qjcbz78dmcg6m14syq12ll07zfpcm0"))))
+                "08vw9sv2g76yj8sfnx53dd28zkj4s0842i7qi92jam993v9s8h0z"))))
     (arguments
      (list
       #:tests? #t
@@ -6945,6 +7071,34 @@ source code using IPython.")
 src blocks.")
     (license license:gpl3+)))
 
+(define-public emacs-ol-notmuch
+  (let ((commit "1a53d6c707514784cabf33d865b577bf77f45913")
+        (revision "0"))
+    (package
+      (name "emacs-ol-notmuch")
+      (version (git-version "2.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://git.sr.ht/~tarsius/ol-notmuch")
+               (commit commit)))
+         (sha256
+          (base32
+           "16p7j51z8r047alwn2hkb6944f7ds29ckb97b4k8ia00vwch0d67"))
+         (file-name (git-file-name name version))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       (list emacs-compat emacs-notmuch emacs-org))
+      (home-page "https://git.sr.ht/~tarsius/ol-notmuch")
+      (synopsis "Links to notmuch messages for Emacs' Org mode")
+      (description
+       "This package implements links to Notmuch messages and searches for
+Emacs' Org mode.  A search is a query to be performed by Notmuch; it is the
+equivalent to folders in other mail clients.  Similarly, mails are referred to
+by a query, so both a link can refer to several mails.")
+      (license license:gpl3+))))
+
 (define-public emacs-debbugs
   (package
     (name "emacs-debbugs")
@@ -6975,6 +7129,43 @@ A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
 Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
     (license license:gpl3+)))
 
+(define-public emacs-piem
+  (package
+    (name "emacs-piem")
+    (version "0.4.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://git.kyleam.com/piem")
+             (commit (string-append "v" version))))
+       (file-name (string-append name "-" version "-checkout"))
+       (sha256
+        (base32 "0wr6n6wvznngjdp4c0pmdr4xz05dark0kxi5svzhzxsg3rdaql3z"))))
+    (build-system emacs-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'configure
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (emacs-substitute-variables "piem-b4.el"
+                     ("piem-b4-b4-executable"
+                      (search-input-file inputs "/bin/b4"))))))))
+    (inputs
+     (list b4))
+    (propagated-inputs
+     (list emacs-elfeed
+           emacs-notmuch
+           emacs-transient))
+    (home-page "https://docs.kyleam.com/piem")
+    (synopsis "Glue for working with public-inbox archives")
+    (description "This packages provides a collection of Emacs libraries for
+working with public-inbox archives.  As much of the hard work here is already
+done by other Emacs libraries—things like mail clients, news readers, Git
+interfaces, and even web browsers—piem is mostly about bridging some of these
+parts for convenience.")
+    (license license:gpl3+)))
+
 (define-public emacs-ert-expectations
   (package
     (name "emacs-ert-expectations")
@@ -8953,6 +9144,40 @@ variants.")
 package provides a light and a dark variant.")
     (license license:gpl3+)))
 
+(define-public emacs-color-theme-solarized
+  ;; From 2017-10-24.  No releases available.
+  (let ((commit "f3ca8902ea056fb8e46cb09f09c96294e31cd4ee")
+        (revision "0"))
+    (package
+      (name "emacs-color-theme-solarized")
+      (version (git-version "0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url
+                       "https://github.com/sellout/emacs-color-theme-solarized")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "16d7adqi07lzzr0qipl1fbag9l8kiyr3xrqxi528pimcisbg85d3"))))
+      (build-system emacs-build-system)
+      (arguments
+       (list #:phases
+             #~(modify-phases %standard-phases
+                 ;; These are intended for old versions of Emacs and do not
+                 ;; compile with emacs>=24.
+                 (add-before 'install 'remove-color-theme
+                   (lambda _
+                     (delete-file "./color-theme-solarized.el")
+                     (delete-file "./color-theme-solarized-pkg.el"))))))
+      (home-page "https://github.com/sellout/emacs-color-theme-solarized")
+      (synopsis "Solarized color scheme for Emacs")
+      (description
+       "This package provides Emacs highlighting using Ethan Schoonover’s
+Solarized color scheme.")
+      (license license:expat))))
+
 (define-public emacs-poet-theme
   (let ((commit "16eb694f0755c04c4db98614d0eca1199fddad70")
         (revision "1"))
@@ -9713,7 +9938,7 @@ regexp that matches all known keywords.")
 (define-public emacs-perspective
   (package
     (name "emacs-perspective")
-    (version "2.17")
+    (version "2.18")
     (source
      (origin
        (method git-fetch)
@@ -9722,7 +9947,7 @@ regexp that matches all known keywords.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1nmz39pcaa969g1966ykblzrz6lr3ddb0ip465y5in1fj498as6y"))))
+        (base32 "1r026cw6p2ss5wg8mxgzf6iv1lb9pdnqyf6yrqb914aibkrvp9b6"))))
     (build-system emacs-build-system)
     (arguments
      `(#:tests? #t
@@ -11078,6 +11303,27 @@ errors and strict-mode warnings, smart line-wrapping within comments and
 strings, and code folding.")
     (license license:gpl3+)))
 
+(define-public emacs-js-comint
+  (package
+    (name "emacs-js-comint")
+    (version "1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://stable.melpa.org/packages/"
+                           "js-comint-" version ".el"))
+       (sha256
+        (base32 "1qin0hclm3ly62nl5ddiim64bcd2k74b1yqsqqc61cf9k2q8k287"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/redguardtoo/js-comint")
+    (synopsis "Interacting with a JavaScript interpeter")
+    (description
+     "This program is a comint mode for Emacs which allows you to run a
+compatible JavaScript REPL, such as node, SpiderMonkey or Rhino.
+It also defines a few functions for sending JavaScript input to this REPL from
+an Emacs buffer.")
+    (license license:gpl3+)))
+
 (define-public emacs-nodejs-repl
   (package
     (name "emacs-nodejs-repl")
@@ -12780,7 +13026,7 @@ using package inferred style.")
      `(#:tests? #t
        #:test-command '("buttercup" "-l" "lua-mode.el")))
     (native-inputs
-     (list emacs-buttercup lua))
+     (list emacs-buttercup-1.25 lua))
     (synopsis "Major mode for lua")
     (description
      "This Emacs package provides a mode for @uref{https://www.lua.org/,
@@ -14010,7 +14256,7 @@ you to deal with multiple log levels.")
 (define-public emacs-denote
   (package
     (name "emacs-denote")
-    (version "0.5.1")
+    (version "0.6.0")
     (source
      (origin
        (method git-fetch)
@@ -14019,7 +14265,7 @@ you to deal with multiple log levels.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "00f50dhw0x1hn87rc6vkrdwpybnbphg5z0g2c6c4r4cbgaiia8bi"))))
+        (base32 "0wqrl2fdprmgffxg5xak881gs0g4ffdy2n8wcb4wbz3f6anhfaa5"))))
     (build-system emacs-build-system)
     (native-inputs (list texinfo))
     (home-page "https://protesilaos.com/emacs/denote/")
@@ -14169,6 +14415,33 @@ stuff (words, region, lines) around in Emacs.")
 @uref{https://bazel.build/} for background on Bazel.")
       (license license:asl2.0))))
 
+(define-public emacs-clue
+  ;; There are no releases so far.
+  (let ((commit "41895da52cf76f964d97cb8204406ab9828c4839")
+        (revision "0"))
+    (package
+      (name "emacs-clue")
+      (version (git-version "0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/AmaiKinono/clue")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32 "08xpdpac82v5vwqqqgbh5imakl4pys6bpfacfk05pk88lw925ql8"))))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/AmaiKinono/clue/")
+      (synopsis "Connecting clues while reading code")
+      (description
+       "Clue is a tool for helping you take notes while reading code.
+
+Code reading is all about finding connections between different locations in
+a project.  With Clue, you can take notes about these connections in plain
+text (or your favorite markup language), and insert links to take you to these
+locations.")
+      (license license:gpl3+))))
+
 (define-public emacs-gntp
   (package
     (name "emacs-gntp")
@@ -14293,7 +14566,7 @@ automatically discovered and presented in recency order.")
 (define-public emacs-mentor
   (package
     (name "emacs-mentor")
-    (version "0.3.5")
+    (version "0.4")
     (source
      (origin
        (method url-fetch)
@@ -14301,7 +14574,7 @@ automatically discovered and presented in recency order.")
                            version ".tar"))
        (sha256
         (base32
-         "01zrvfk2njzyzjzkvp5hv5cjl1k1qjrila1ab4bv26gf6bkq5xh3"))))
+         "1n51yabm4npx62fpfn8rhky09x4y779ismdxa026fycy7va7ynzz"))))
     (build-system emacs-build-system)
     (propagated-inputs
      (list emacs-async emacs-xml-rpc))
@@ -15401,13 +15674,13 @@ containing words from the Rime project.")
 (define-public emacs-pyim
   (package
     (name "emacs-pyim")
-    (version "5.2.4")
+    (version "5.2.5")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://elpa.gnu.org/packages/pyim-" version ".tar"))
        (sha256
-        (base32 "1dzl4xaf31nyjb5hnwwf29i75x0i8dakpmmagbn4ks5hi3jl2ig0"))))
+        (base32 "00f23pl53rdy9iwp4gj2656wik7c6vnmhsglg7z4pz3ippz3f4hq"))))
     (build-system emacs-build-system)
     (propagated-inputs
      (list emacs-async emacs-popup emacs-posframe emacs-xr))
@@ -16304,25 +16577,42 @@ highlighting.")
     (license license:gpl3+)))
 
 (define-public emacs-jsonrpc
-  (package
-    (name "emacs-jsonrpc")
-    (version "1.0.15")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://elpa.gnu.org/packages/"
-                           "jsonrpc-" version ".tar"))
-       (sha256
-        (base32 "1hx378rg12jz2zm105cvrqk0nqyzsn04l59d903l98d6lbd96rsw"))))
-    (build-system emacs-build-system)
-    (home-page "http://elpa.gnu.org/packages/jsonrpc.html")
-    (synopsis "JSON-RPC library")
-    (description
-     "This library implements the JSONRPC 2.0 specification as
+  ;; Commit refers to a commit in the Emacs repository, as jsonrpc.el was
+  ;; upstreamed.  By convention, it should refer to a commit in which
+  ;; jsonrpc.el was actually touched.
+  (let ((commit "50654cf0b1bf6210fc8f46d8e7ae13bbeeccecb5")
+        (revision "0"))                 ; Currently a version bump
+    (package
+      (name "emacs-jsonrpc")
+      (version (git-version "1.0.15" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://git.savannah.gnu.org/git/emacs.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0srwb171dxha1nfzppk6x9v4bdj3lk74pksqnhalw8jw9c67b72y"))))
+      (build-system emacs-build-system)
+      (arguments
+       (list #:phases
+             #~(modify-phases %standard-phases
+                 (replace 'unpack
+                   (lambda* (#:key source #:allow-other-keys)
+                     (mkdir "source")
+                     (chdir "source")
+                     (copy-file (string-append source "/lisp/jsonrpc.el")
+                                "jsonrpc.el"))))))
+      (home-page "http://elpa.gnu.org/packages/jsonrpc.html")
+      (synopsis "JSON-RPC library")
+      (description
+       "This library implements the JSONRPC 2.0 specification as
 described in @url{http://www.jsonrpc.org/}.  As the name suggests,
 JSONRPC is a generic Remote Procedure Call protocol designed around
 JSON objects.")
-    (license license:gpl3+)))
+      (license license:gpl3+))))
 
 (define-public emacs-jsonnet-mode
   (package
@@ -16706,7 +16996,7 @@ multiplexer.")
 (define-public emacs-plz
   (package
     (name "emacs-plz")
-    (version "0.2")
+    (version "0.2.1")
     (source
      (origin
        (method git-fetch)
@@ -16715,7 +17005,7 @@ multiplexer.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "170pbqiywk1zyhd0ig4f25qnjf7r1gwy0c6h343bcnl6qxvkvlv2"))))
+        (base32 "0p0xd532xa8icysyxwqk481lr9xanmp68gf97fd9n2936gp12chv"))))
     (build-system emacs-build-system)
     (inputs (list curl))
     (home-page "https://github.com/alphapapa/plz.el")
@@ -16728,7 +17018,7 @@ which avoids some of the issues with using Emacs’s built-in Url library.")
 (define-public emacs-ement
   (package
     (name "emacs-ement")
-    (version "0.1.4")
+    (version "0.2.1")
     (source
      (origin
        (method git-fetch)
@@ -16737,7 +17027,7 @@ which avoids some of the issues with using Emacs’s built-in Url library.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1kms6l14h6ig8kphzpkxv16z7gpvcwvcfsp5ljssdnrx0c7dzz16"))))
+        (base32 "0kfh0vlsz4qnx4vwkwhkxawk5cpxgnvkar72wha9cxj8s6j51vx0"))))
     (build-system emacs-build-system)
     (arguments
      `(#:emacs ,emacs))               ;need libxml support
@@ -17192,7 +17482,7 @@ an elisp expression.")
 (define-public emacs-taxy
   (package
     (name "emacs-taxy")
-    (version "0.10")
+    (version "0.10.1")
     (source
      (origin
        (method url-fetch)
@@ -17200,7 +17490,7 @@ an elisp expression.")
              "https://elpa.gnu.org/packages/taxy-" version ".tar"))
        (sha256
         (base32
-         "1jamry2p3qhswq8prd2g7ljh4yqk0wwblyd9fhnaclakahrn5vi3"))))
+         "05czw8fkifb25rwl99dmncr1g0rjfx1bqijl7igqs9j6h9ia2xvg"))))
     (build-system emacs-build-system)
     (propagated-inputs
      (list emacs-magit))
@@ -17496,8 +17786,8 @@ through them using @key{C-c C-SPC}.")
     (license license:gpl3+)))
 
 (define-public emacs-slack
-  (let ((commit "1f6a40faec0d8d9c9de51c444508d05a3e995ccd")
-        (revision "9"))
+  (let ((commit "ff46d88726482211e3ac3d0b9c95dd4fdffe11c2")
+        (revision "10"))
     (package
       (name "emacs-slack")
       (version (git-version "0.0.2" revision commit))
@@ -17509,7 +17799,7 @@ through them using @key{C-c C-SPC}.")
                 (file-name (git-file-name name commit))
                 (sha256
                  (base32
-                  "19lan9nd8qfw2ws7mx814vrin04c892yn5c8g3nad7lpnzszgr1r"))))
+                  "15g4dmy4iqqpk8ivhkpsngzllbw0nc5d2sc9j36sdnhwkajzhidj"))))
       (build-system emacs-build-system)
       (arguments
        `(#:phases
@@ -20473,6 +20763,30 @@ collapse macro forms one step at a time, and evaluate or instrument the
 expansions for debugging with Edebug as normal.")
       (license license:gpl3+))))
 
+(define-public emacs-macrostep-geiser
+  ;; XXX: Upstream does not tag commits (yet).  The commit below matches the
+  ;; version bump.
+  (let ((commit "7927651b188cac07113bce5b2cd0de12b2b082f7"))
+    (package
+      (name "emacs-macrostep-geiser")
+      (version "0.2.0")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/nbfalcon/macrostep-geiser")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1gz2kypyrb4k76dn4j02c8s6a3dqb1la5jcrdcifv8saa8lvqyli"))))
+      (build-system emacs-build-system)
+      (propagated-inputs (list emacs-geiser emacs-macrostep))
+      (home-page "https://github.com/nbfalcon/macrostep-geiser")
+      (synopsis "Macrostep for Geiser and Cider")
+      (description
+       "This plug-in implements a Macrostep back-end powered by Geiser.")
+      (license license:gpl3+))))
+
 (define-public emacs-parent-mode
   (package
     (name "emacs-parent-mode")
@@ -23440,6 +23754,31 @@ 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-cpreproc-openvdb
+  (package
+   (name "emacs-cpreproc-openvdb")
+   (version "3.0.0")
+   (source
+    (origin
+     (method git-fetch)
+     (uri (git-reference
+           (url "https://git.sr.ht/~plattfot/cpreproc-openvdb")
+           (commit version)))
+     (sha256
+      (base32
+       "0n1y8cxx6xipvip8y6nk9ig1dpjdksz77956wlql3lhqcrcn5hzg"))
+     (file-name (git-file-name name version))))
+   (build-system emacs-build-system)
+   (propagated-inputs
+    (list emacs-cpreproc))
+   (home-page "https://sr.ht/~plattfot/cpreproc")
+   (synopsis "Create preprocessor macros for C++ that uses OpenVDB")
+   (description
+    "This project makes it easier to generate preprocessor macros from Emacs
+for C++ code that uses OpenVDB and needs to be build against multiple
+incompatible versions of it.")
+   (license license:gpl3+)))
+
 (define-public emacs-org-brain
   (package
     (name "emacs-org-brain")
@@ -23646,7 +23985,7 @@ source code.")
 (define-public emacs-rustic
   (package
     (name "emacs-rustic")
-    (version "3.3")
+    (version "3.4")
     (source
      (origin
        (method git-fetch)
@@ -23655,7 +23994,7 @@ source code.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "088g6arlbq7czxyg5f31zmcm0gla7qh4vapaaskf6866yyqhizvb"))))
+        (base32 "16vsv4fhj8zq9g4zrsmipdb1nydxgw3dhh5s3wawpvx2rcg6gx2l"))))
     (build-system emacs-build-system)
     (propagated-inputs
      (list emacs-dash
@@ -24642,6 +24981,23 @@ common set-up and tear-down code, and allows the programmer to \"spy\" on
 functions to ensure they are called with the right arguments during testing.")
     (license license:gpl3+)))
 
+;;; Required by emacs-lua-mode
+(define emacs-buttercup-1.25
+  (package
+    (inherit emacs-buttercup)
+    (name "emacs-buttercup")
+    (version "1.25")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/jorgenschaefer/emacs-buttercup")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0fsysvsypda6b7azc15bpaprq3bwx4gb6rlq2mj6f8rgwdqc8153"))))))
+
 (define-public emacs-cort
   (package
     (name "emacs-cort")
@@ -27339,6 +27695,169 @@ outline-enabled table of contents, additional metadata association for Info
 nodes, and more.")
       (license license:gpl2+))))
 
+(define-public emacs-eval-in-repl
+  (package
+    (name "emacs-eval-in-repl")
+    (version "0.9.7")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/kaz-yos/eval-in-repl")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1mrssbl0wyc6iij8zk1y3h9bd3rv53nnrxsij7fn67l1m4z0clyn"))))
+    (build-system emacs-build-system)
+    (arguments
+     (list #:include
+           #~(list "eval-in-repl\\.el" "eval-in-repl-test\\.el" "README\\.md")))
+    (propagated-inputs (list emacs-dash emacs-paredit emacs-ace-window))
+    (home-page "https://github.com/kaz-yos/eval-in-repl")
+    (synopsis "One keybinding to communicate with REPLs")
+    (description
+     "@code{eval-in-repl} provides a consistent ESS-like evaluation interface
+for various REPLs.  In particular, it mimics ESS' C-RET binding, which sends a
+line or region to an appropriately configured shell.  This package provides
+just the core of @code{eval-in-repl}---for the languages themselves, see their
+respective packages.")
+    (license license:expat)))
+
+(define* (make-emacs-eval-in-repl repl #:key
+                                  (eval-in-repl-package emacs-eval-in-repl)
+                                  (language (string-capitalize repl))
+                                  (inputs '()))
+  "Construct an emacs-eval-in-repl package for REPL, which interprets LANGUAGE.
+Optionally propagate INPUTS or use a different EVAL-IN-REPL-PACKAGE."
+  (package
+    (inherit eval-in-repl-package)
+    (name (string-append "emacs-eval-in-repl-" repl))
+    (arguments
+     (list #:include
+           #~(list #$(string-append "eval-in-repl-" repl "\\.el"))))
+    (propagated-inputs (cons* eval-in-repl-package
+                              (cond
+                               ((procedure? inputs) (inputs))
+                               ((promise? inputs) (force inputs))
+                               (else inputs))))
+    (description
+     (format #f (G_ "This package provides an ESS-like binding to send lines
+or regions to a REPL from ~a buffers.") language))))
+
+(define-public emacs-eval-in-repl-cider
+  (make-emacs-eval-in-repl "cider" #:language "Clojure"
+                           #:inputs (list emacs-cider)))
+
+(define-public emacs-eval-in-repl-elm
+  (make-emacs-eval-in-repl "elm" #:inputs (list emacs-elm-mode)))
+
+(define-public emacs-eval-in-repl-erlang
+  (make-emacs-eval-in-repl "erlang" #:inputs (list emacs-erlang)))
+
+(define-public emacs-eval-in-repl-geiser
+  (make-emacs-eval-in-repl "geiser" #:language "Scheme"
+                           #:inputs (list emacs-geiser)))
+
+(define-public emacs-eval-in-repl-hy
+  (make-emacs-eval-in-repl "hy" #:inputs (list emacs-hy-mode)))
+
+(define-public emacs-eval-in-repl-ielm
+  (make-emacs-eval-in-repl "ielm" #:language "Emacs Lisp"))
+
+(define-public emacs-eval-in-repl-iex
+  (make-emacs-eval-in-repl
+   "iex" #:language "Elixir"
+   #:inputs (delay
+              (list emacs-elixir-mode emacs-alchemist))))
+
+(define-public emacs-eval-in-repl-javascript
+  (make-emacs-eval-in-repl "javascript"
+                           #:inputs (list emacs-js2-mode emacs-js-comint)))
+
+(define-public emacs-eval-in-repl-lua
+  (make-emacs-eval-in-repl "lua" #:inputs (list emacs-lua-mode)))
+
+(define-public emacs-eval-in-repl-ocaml
+  (make-emacs-eval-in-repl "ocaml" #:language "OCaml"
+                           #:inputs (delay (list emacs-tuareg))))
+
+(define-public emacs-eval-in-repl-prolog
+  (make-emacs-eval-in-repl "prolog"))
+
+(define-public emacs-eval-in-repl-python
+  (make-emacs-eval-in-repl "python"))
+
+(define-public emacs-eval-in-repl-racket
+  (make-emacs-eval-in-repl "racket" #:inputs (list emacs-racket-mode)))
+
+(define-public emacs-eval-in-repl-ruby
+  (make-emacs-eval-in-repl "ruby" #:inputs (list emacs-inf-ruby)))
+
+(define-public emacs-eval-in-repl-scheme
+  (make-emacs-eval-in-repl "scheme"))
+
+(define-public emacs-eval-in-repl-shell
+  (make-emacs-eval-in-repl "shell"))
+
+(define-public emacs-eval-in-repl-slime
+  (make-emacs-eval-in-repl "slime" #:language "Common Lisp"
+                           #:inputs (list emacs-slime)))
+
+(define-public emacs-eval-in-repl-sly
+  (make-emacs-eval-in-repl "sly" #:language "Common Lisp"
+                           #:inputs (list emacs-sly)))
+
+(define-public emacs-eval-in-repl-sml
+  (make-emacs-eval-in-repl "sml" #:language "Standard ML"
+                           #:inputs (list emacs-sml-mode)))
+
+(define-public emacs-ob-elm
+  (let ((commit "d3a9fbc2f56416894c9aed65ea9a20cc1d98f15d")
+        (revision "0"))
+    (package
+      (name "emacs-ob-elm")
+      (version (git-version "0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/BonfaceKilz/ob-elm")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1wdlr0cbsb2drdmcn2bnivjkj1f2v52l6yizwsnjgi4xq3w6k56h"))))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/BonfaceKilz/ob-elm")
+      (synopsis "Org-Babel support for Elm code")
+      (description
+       "This package adds support to Org-Babel for evaluating Elm code.")
+      (license license:gpl3+))))
+
+(define-public emacs-org-babel-eval-in-repl
+  (package
+    (name "emacs-org-babel-eval-in-repl")
+    (version "1.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://stable.melpa.org/packages/"
+                           "org-babel-eval-in-repl-" version ".tar"))
+       (sha256
+        (base32 "0bdnps6m3kcvsagz8cfm3kf2rvxzl2p252pfggwbdbl43kzvl35h"))
+       (modules '((guix build utils)))
+       (snippet
+        #~(begin (delete-file "eval-in-repl-matlab.el")))))
+    (build-system emacs-build-system)
+    (propagated-inputs (list emacs-eval-in-repl emacs-ess))
+    (home-page "https://github.com/diadochos/org-babel-eval-in-repl")
+    (synopsis "Eval org-mode babel code blocks in various REPLs")
+    (description
+     "This package allows you to execute org-mode source code blocks with
+@code{eval-in-repl}.  It can execute code blocks asynchronously, without
+needing to write the result into the buffer.")
+    (license license:expat)))
+
 (define-public emacs-eval-sexp-fu-el
   (package
     (name "emacs-eval-sexp-fu-el")
@@ -29455,7 +29974,7 @@ current buffer.")
 (define-public emacs-repl-toggle
   (package
     (name "emacs-repl-toggle")
-    (version "0.7.1")
+    (version "0.7.2")
     (source
      (origin
        (method git-fetch)
@@ -29464,7 +29983,7 @@ current buffer.")
              (commit version)))
        (sha256
         (base32
-         "0nycm8a4wwkkaif958z4m89slayp17k20lp2h7lvddjx8prn6yfp"))
+         "18dpy7a7yrn7m7qifrjk5zcr6zbd3kwp9pb55la9052vwipxxvfk"))
        (file-name (git-file-name name version))))
     (build-system emacs-build-system)
     (propagated-inputs
@@ -30093,7 +30612,7 @@ mercury-mode provided by Emacs as a wrapper around prolog-mode.")
 (define-public emacs-boxquote
   (package
     (name "emacs-boxquote")
-    (version "2.2")
+    (version "2.3")
     (source
      (origin
        (method git-fetch)
@@ -30102,7 +30621,7 @@ mercury-mode provided by Emacs as a wrapper around prolog-mode.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0wwjawgylaaifdsszqxcfsyhfzgxbjkzqhzrnxnr9b16wghb7xf7"))))
+        (base32 "0d7m9kcwhbgv4pikaa2dzlg9zkmwdhyx2ksn68di6xzbh838892q"))))
     (build-system emacs-build-system)
     (home-page "https://github.com/davep/boxquote.el")
     (synopsis "Quote text with different kinds of boxes")
@@ -30902,34 +31421,6 @@ as a plug-and-play solution for anyone already using Org mode for their
 personal wiki.")
     (license license:gpl3+)))
 
-(define-public emacs-org-roam-ui
-  (let ((commit "c75fc7506ee7f03840a9a93ed9336d7ed24551aa")
-        (revision "0"))
-    (package
-      (name "emacs-org-roam-ui")
-      (version (git-version "0.1" revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/org-roam/org-roam-ui")
-               (commit commit)))
-         (sha256
-          (base32 "0mkcd2622np8s5qz2zvx7lch6dc586xqmn6914gi4ym7nvklf3zy"))))
-      (build-system emacs-build-system)
-      (arguments
-       (list #:include #~(cons "^out" %default-include)))
-      (propagated-inputs
-       (list emacs-org-roam emacs-simple-httpd emacs-websocket))
-      (home-page "https://github.com/org-roam/org-roam-ui")
-      (synopsis "Web User Interface for Org Roam")
-      (description
-       "Org Roam UI is meant as a successor of Org Roam server that extends
-functionality of Org Roam with a web app that runs side-by-side with Emacs,
-providing a web interface for navigating around notes created within Org
-Roam.")
-      (license license:gpl3+))))
-
 (define-public emacs-org-roam-bibtex
   (package
     (name "emacs-org-roam-bibtex")
@@ -32368,14 +32859,14 @@ are prefixed with @code{seq-} and work on lists, strings, and vectors.")
 (define-public emacs-setup
   (package
     (name "emacs-setup")
-    (version "1.3.1")
+    (version "1.3.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append "https://elpa.gnu.org/packages/setup-"
                             version ".tar"))
         (sha256
-          (base32 "0n9zjclf4b2sr8c8zd37fs45p25p3856frm419c9hch69hhcsv3a"))))
+          (base32 "1sr514w4mn0fbdawjb5p0fd6i6q2zi9737rbwcgakb1l9cqvb5qy"))))
     (build-system emacs-build-system)
     (home-page "https://git.sr.ht/~pkal/setup")
     (synopsis "Helpful configuration macro")
@@ -32594,26 +33085,41 @@ hacker.")
 (define-public emacs-osm
   (package
     (name "emacs-osm")
-    (version "0.6")
+    (version "0.8")
     (home-page "https://github.com/minad/osm")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference (url home-page) (commit version)))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "0aiq2z9vv4jsl0s0x9vpjgp0mnn27wanhirzj3h80ivgiphzs7l5"))))
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url home-page)
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "039ac364f00slx1dxxgsgfcr4x47v9ymn8arcs0fyhdhw7jnky5j"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:phases (modify-phases %standard-phases
-                  (add-after 'unpack 'set-curl-file-name
-                    (lambda* (#:key inputs #:allow-other-keys)
-                      (substitute* "osm.el"
-                        (("\"curl( ?)\"" _ space)
-                         (string-append "\""
-                                        (search-input-file inputs "/bin/curl")
-                                        space "\""))))))))
+     (list #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'set-curl-file-name
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (substitute* "osm.el"
+                              (("\"curl( ?)\"" _ space)
+                               (string-append "\""
+                                              (search-input-file inputs
+                                                                 "/bin/curl")
+                                              space "\"")))))
+                        (add-after 'install 'makeinfo
+                          (lambda _
+                            (invoke "emacs"
+                             "--batch"
+                             "--eval=(require 'ox-texinfo)"
+                             "--eval=(setq org-export-with-broken-links t)"
+                             "--eval=(find-file \"README.org\")"
+                             "--eval=(org-texinfo-export-to-info)")
+                            (install-file "osm.info"
+                                          (string-append #$output
+                                                         "/share/info")))))))
     (inputs (list curl))
+    (native-inputs (list texinfo))
     (synopsis "OpenStreetMap viewer for Emacs")
     (description
      "This package provides an OpenStreetMap viewer for Emacs, featuring
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index fc93852880..a560481dd9 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -412,7 +412,9 @@ languages.")
     (source
      (origin
        (inherit (package-source emacs-next))
-       (patches (search-patches "emacs-pgtk-super-key-fix.patch"))))
+       (patches
+        (append (search-patches "emacs-pgtk-super-key-fix.patch")
+                (origin-patches (package-source emacs-next))))))
     (arguments
      (substitute-keyword-arguments (package-arguments emacs-next)
        ((#:configure-flags flags #~'())
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 4e3b0e05db..4b5e466c7d 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -71,7 +71,7 @@
 (define-public efl
   (package
     (name "efl")
-    (version "1.26.2")
+    (version "1.26.3")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -79,7 +79,7 @@
                     version ".tar.xz"))
               (sha256
                (base32
-                "071h0pscbd8g341yy5rz9mk1xn8yhryldhl6mmr1y6lafaycyy99"))))
+                "05bxc58hj0z6pkp6yy5cmy1lc575q0nrbr5lxr6z8d4kznh3my6r"))))
     (build-system meson-build-system)
     (native-inputs
      `(("check" ,check)
@@ -289,7 +289,7 @@ Libraries with some extra bells and whistles.")
 (define-public enlightenment
   (package
     (name "enlightenment")
-    (version "0.25.3")
+    (version "0.25.4")
     (source (origin
               (method url-fetch)
               (uri
@@ -297,7 +297,7 @@ Libraries with some extra bells and whistles.")
                               "enlightenment/enlightenment-" version ".tar.xz"))
               (sha256
                (base32
-                "1xngwixp0cckfq3jhrdmmk6zj67125amr7g6xwc6l89pnpmlkz9p"))
+                "18mp4ggfy7n0yz6kzx56ali0piqa84z72vnj6649l6w2dch5vnsn"))
               (patches (search-patches "enlightenment-fix-setuid-path.patch"))))
     (build-system meson-build-system)
     (arguments
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index f8bacc2fe8..9739c5acd5 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -707,7 +707,7 @@ blockchain.")
   ;; the system's dynamically linked library.
   (package
     (name "monero")
-    (version "0.18.1.0")
+    (version "0.18.1.1")
     (source
      (origin
        (method git-fetch)
@@ -725,7 +725,7 @@ blockchain.")
             delete-file-recursively
             '("external/miniupnp" "external/rapidjson"))))
        (sha256
-        (base32 "18yj44pki7x8ir6wg02g1h6yxp1hnqb0nrx9x5dvv94rda48cy66"))))
+        (base32 "050rf4c1i42d0vhcb3hqrrndr2l45w1qg4h62cagk0nmq5va6xj7"))))
     (build-system cmake-build-system)
     (native-inputs
      (list doxygen
@@ -812,7 +812,7 @@ the Monero command line client and daemon.")
 (define-public monero-gui
   (package
     (name "monero-gui")
-    (version "0.18.1.0")
+    (version "0.18.1.1")
     (source
      (origin
        (method git-fetch)
@@ -828,7 +828,7 @@ the Monero command line client and daemon.")
            ;; See the 'extract-monero-sources' phase.
            (delete-file-recursively "monero")))
        (sha256
-        (base32 "1z627jy9n6cwc9yv0w58fbhix4qnllk0q42ga75mhlawaz68j0qi"))))
+        (base32 "0zh0sf7acr1a4s5kmp9fpjd2wr78qv74z1xhkwrkkn9ainp4qfaz"))))
     (build-system qt-build-system)
     (native-inputs
      `(,@(package-native-inputs monero)
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 39242f0bec..8e51ff2a6d 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -19,7 +19,7 @@
 ;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot>
-;;; Copyright © 2017, 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2017, 2018, 2019, 2020, 2022 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
 ;;; Copyright © 2018 Charlie Ritter <chewzerita@posteo.net>
 ;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
@@ -117,7 +117,7 @@ titling.")
 (define-public font-ibm-plex
   (package
     (name "font-ibm-plex")
-    (version "5.1.3")
+    (version "6.1.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -125,7 +125,7 @@ titling.")
                     "v" version "/OpenType.zip"))
               (sha256
                (base32
-                "0zlz8kxx54i4hpgaip9690bilvn5w14gp7jjkk6cz4h9p3xml231"))))
+                "1z9nxac9ha6gqz5yvfy5lp6hyl39f8f8hdrw3llcp89rdpjfqdn9"))))
     (build-system font-build-system)
     (home-page "https://github.com/IBM/plex")
     (synopsis "IBM Plex typeface")
@@ -2736,7 +2736,7 @@ and readability.  This package bundles those icons into a font.")
 (define-public font-lxgw-wenkai
   (package
     (name "font-lxgw-wenkai")
-    (version "1.240")
+    (version "1.245")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2744,7 +2744,7 @@ and readability.  This package bundles those icons into a font.")
                     version "/lxgw-wenkai-v" version ".tar.gz"))
               (sha256
                (base32
-                "1rg6i6fqs1b0b2g4kijimkyqbxfn6n8ac74rppsizq65n6crvfib"))))
+                "01x5nfw0cy7v8vsjw32zayc0ryskiwj22yzqi28252896073mm9k"))))
     (build-system font-build-system)
     (home-page "https://lxgw.github.io/2021/01/28/Klee-Simpchin/")
     (synopsis "Simplified Chinese Imitation Song typeface")
@@ -2758,7 +2758,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
   (package
     (inherit font-lxgw-wenkai)
     (name "font-lxgw-wenkai-tc")
-    (version "0.921")
+    (version "0.922")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2766,7 +2766,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
                     version "/lxgw-wenkai-tc-v" version ".tar.gz"))
               (sha256
                (base32
-                "0s7zvb8i1f7ziw8r94l1f3rcv21b80dbgc43zjwz34s43465lwrb"))))
+                "0kb12sfb8ihsj14yzk5ib657xvswqy0hy5gr1vfbn1n05vzy8wyk"))))
     (home-page "https://github.com/lxgw/LxgwWenKaitc")
     (synopsis "Traditional Chinese Imitation Song typeface")
     (description
@@ -2777,7 +2777,7 @@ dialects in Hong Kong and Taiwan.")))
 (define-public font-chiron-sung-hk
   (package
     (name "font-chiron-sung-hk")
-    (version "1.005")
+    (version "1.006")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2786,7 +2786,7 @@ dialects in Hong Kong and Taiwan.")))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0iqlnb7825kisg2avhr9hwwvb4jw8f642vvmms5dw6m9czzydpgw"))))
+                "0cibyhy363yqmif31lwv4qmcaar5np2gdd3nbnxxp55mb4qn0kms"))))
     (build-system font-build-system)
     (home-page "https://chiron-fonts.github.io/")
     (synopsis "Traditional Chinese Song typeface")
@@ -2801,7 +2801,7 @@ prevalent typefaces in Traditional Chinese regions.")
   (package
     (inherit font-chiron-sung-hk)
     (name "font-chiron-hei-hk")
-    (version "2.503")
+    (version "2.504")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2810,7 +2810,7 @@ prevalent typefaces in Traditional Chinese regions.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "00av598lcsvbwfxabs8m1bfvlk3zq98nziynsrg5p2s5mhz2pkvk"))))
+                "0d0k88sbhgr597sv2jzz2rcg8g4k60lcjka1xlnkv08n3bdgvmhr"))))
     (synopsis "Traditional Chinese Gothic typeface")
     (description
      "Chiron Hei HK is a Traditional Chinese Gothic typeface based on the Hong
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index f42e380436..5623bdde7d 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -73,6 +73,7 @@
 ;;; Copyright © 2022 zamfofex <zamfofex@twdb.moe>
 ;;; Copyright © 2022 Gabriel Arazas <foo.dogsquared@gmail.com>
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022 Hendursaga <hendursaga@aol.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2684,6 +2685,35 @@ available, as well as a single-player mode with AI-controlled ships.")
     (license (list license:expat         ; game
                    license:silofl1.1)))) ; fonts
 
+(define-public tetzle
+  (package
+    (name "tetzle")
+    (version "2.2.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://gottcode.org/"
+                                  name
+                                  "/"
+                                  name
+                                  "-"
+                                  version
+                                  "-src.tar.bz2"))
+              (sha256
+               (base32
+                "1m4j4lzqp8fnwmvyglmzcn3vh14ix4hhh52ycmcsjgrsgj1w4p6a"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f)) ; no tests
+    (native-inputs (list qttools))
+    (inputs (list qtbase))
+    (home-page "https://gottcode.org/tetzle/")
+    (synopsis "Jigsaw puzzle game that uses tetrominoes for the pieces")
+    (description
+     "Tetzle is a jigsaw puzzle game that uses tetrominoes for the pieces.  Any image
+can be imported and used to create puzzles with a wide range of sizes.  Games are
+saved automatically, and you can select between currently in progress games.")
+    (license license:gpl3+)))
+
 (define %ufoai-commit "a542a87a891f96b1ab2c44d35b2f6f16859a5019")
 (define %ufoai-revision "0")
 (define %ufoai-version (git-version "2.6.0_dev" %ufoai-revision %ufoai-commit))
@@ -5764,17 +5794,14 @@ Linux / Mac OS X servers, and an auto mapper with a VT100 map display.")
              (patches (search-patches "laby-make-install.patch"))))
     (build-system gnu-build-system)
     (inputs
-     `(("lablgtk3" ,lablgtk3)
-       ("ocaml" ,ocaml)
-       ("ocaml-findlib" ,ocaml-findlib)
-       ("ocamlbuild" ,ocamlbuild)))
+     (list lablgtk3 ocaml-lablgtk3-sourceview3 ocaml ocaml-findlib ocamlbuild))
     (arguments
      '(#:phases
        (modify-phases %standard-phases
          (delete 'configure)
          (add-before 'build 'set-library-path
            (lambda* (#:key inputs #:allow-other-keys)
-             (let ((lablgtk (assoc-ref inputs "lablgtk3")))
+             (let ((lablgtk (assoc-ref inputs "lablgtk")))
                (setenv "LD_LIBRARY_PATH"
                        (string-append lablgtk "/lib/ocaml/stublibs"))))))
        #:tests? #f ; no 'check' target
@@ -5892,101 +5919,63 @@ throwing people around in pseudo-randomly generated buildings.")
 (define-public hyperrogue
   (package
     (name "hyperrogue")
-    (version "11.3a")
-    ;; When updating this package, be sure to update the "hyperrogue-data"
-    ;; origin in native-inputs.
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://www.roguetemple.com/z/hyper/hyperrogue"
-                    (string-join (string-split version #\.) "")
-                    "-src.tgz"))
-              (sha256
-               (base32
-                "1yxabbswq02fc5frigvs43f83m5vlxybc7n5mynkwzj2c70lfp2k"))))
+    (version "12.1a")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/zenorogue/hyperrogue")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1l09d1r3jdwp54zq071fk09hpggif5phjn0gsapzrjy3i289jran"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f ; no check target
-       #:make-flags '("HYPERROGUE_USE_GLEW=1"
-                      "HYPERROGUE_USE_PNG=1")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'set-paths 'set-sdl-paths
-           (lambda* (#:key inputs #:allow-other-keys)
-             (setenv "CPATH"
-                     (string-append (or (getenv "CPATH") "") ":"
-                                    (assoc-ref inputs "sdl-union")
-                                    "/include/SDL"))))
-         (replace 'configure
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (share-dir (string-append out "/share/hyperrogue"))
-                    (dejavu-dir (string-append
-                                 (assoc-ref inputs "font-dejavu")
-                                 "/share/fonts/truetype"))
-                    (dejavu-font "DejaVuSans-Bold.ttf")
-                    (music-file "hyperrogue-music.txt"))
-               ;; Fix font and music paths.
-               (substitute* "basegraph.cpp"
-                 ((dejavu-font)
-                  (string-append dejavu-dir "/" dejavu-font)))
-               (substitute* music-file
-                 (("\\*/")
-                  (string-append share-dir "/sounds/")))
-               (substitute* "sound.cpp"
-                 (("musicfile = \"\"")
-                  (string-append "musicfile = \""
-                                 share-dir "/" music-file "\"")))
-               ;; Disable build machine CPU optimizations and warnings treated
-               ;; as errors.
-               (substitute* "Makefile"
-                 (("-march=native") "")
-                 (("-Werror") "")))
-             #t))
-         (replace 'install
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (bin (string-append out "/bin"))
-                    (share-dir (string-append out "/share/hyperrogue")))
-               (mkdir-p bin)
-               (install-file "hyperrogue" bin)
-               (install-file "hyperrogue-music.txt" share-dir))
-             #t))
-         (add-after 'install 'install-data
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((data (assoc-ref inputs "hyperrogue-data"))
-                    (out (assoc-ref outputs "out"))
-                    (sounds (string-append out "/share/hyperrogue/sounds"))
-                    (unzip (search-input-file inputs "/bin/unzip")))
-               ;; Extract media license information into sounds directory.
-               (invoke unzip "-j" data
-                       (string-append
-                        "hyperrogue"
-                        (string-join (string-split ,version #\.) "")
-                        "/sounds/credits.txt") "-d" sounds)
-               ;; Extract sounds and music into sounds directory.
-               (invoke "unzip" "-j" data
-                       (string-append
-                        "hyperrogue"
-                        (string-join (string-split ,version #\.) "")
-                        "/*.ogg") "-d" sounds)))))))
-    (native-inputs
-     `(("hyperrogue-data"
-        ,(origin
-           (method url-fetch)
-           (uri
-            (string-append
-             "https://www.roguetemple.com/z/hyper/hyperrogue"
-             (string-join (string-split version #\.) "")
-             "-win.zip"))
-           (sha256
-            (base32
-             "11yhbia45f1w9z0j67h9nynwjqmvakr9l6rnrmdrdkzin6lvzzj4"))))
-       ("unzip" ,unzip)))
+     (list
+      #:tests? #f                       ; no check target
+      #:make-flags #~(list "HYPERROGUE_USE_GLEW=1"
+                           "HYPERROGUE_USE_PNG=1")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'set-paths 'set-sdl-paths
+            (lambda* (#:key inputs #:allow-other-keys)
+              (setenv "CPATH"
+                      (string-append (or (getenv "CPATH") "") ":"
+                                     (search-input-directory inputs
+                                                             "/include/SDL")))))
+          (replace 'configure
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((share-dir (string-append #$output "/share/hyperrogue/"))
+                    (fonts-dir (dirname
+                                (search-input-file inputs
+                                                   "DejaVuSans-Bold.ttf"))))
+                ;; Set fonts and music path.
+                (substitute* "sysconfig.h"
+                  (("(#define HYPERPATH ).*" _ lead)
+                   (string-append lead "\"" share-dir "\"\n"))
+                  (("(#define HYPERFONTPATH ).*" _ lead)
+                   (string-append lead "\"" fonts-dir "/\"\n")))
+                ;; Disable build machine CPU optimizations and warnings treated
+                ;; as errors.
+                (substitute* "Makefile"
+                  (("-march=native") "")
+                  (("-Werror") "")))))
+          (replace 'install
+            (lambda _
+              (install-file "hyperrogue" (string-append #$output "/bin"))
+              (let ((share-dir (string-append #$output "/share/hyperrogue/")))
+                (install-file "hyperrogue-music.txt" share-dir)
+                (for-each (lambda (dir)
+                            (copy-recursively dir
+                                              (string-append share-dir dir)))
+                          '("music" "sounds"))))))))
     (inputs
-     (list font-dejavu glew libpng
+     (list font-dejavu
+           glew
+           libpng
            (sdl-union (list sdl sdl-gfx sdl-mixer sdl-ttf))))
-    (home-page "https://www.roguetemple.com/z/hyper/")
+    (home-page "https://roguetemple.com/z/hyper")
     (synopsis "Non-euclidean graphical rogue-like game")
     (description
      "HyperRogue is a game in which the player collects treasures and fights
@@ -5999,9 +5988,9 @@ are home to particular creatures and may be subject to their own rules of
 
 While the game can use ASCII characters to display the the classical rogue
 symbols, it still needs graphics to render the non-euclidean world.")
-    (license (list license:bsd-3         ; glew.c, mtrand.*
-                   license:cc-by-sa3.0   ; music
-                   license:cc-by-sa4.0   ; sounds
+    (license (list license:bsd-3        ; glew.c, mtrand.*
+                   license:cc-by-sa3.0  ; music
+                   license:cc-by-sa4.0  ; sounds
                    license:cc0
                    license:public-domain ; direntx.*, some sounds
                    license:zlib          ; savepng.*
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 008e855b48..43b37c8d7e 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -491,6 +491,8 @@ coverages using a SpatiaLite DBMS.")
     (arguments
      `(#:configure-flags
        '("--enable-rttopo=yes")
+       ;; FIXME: Several tests fail with Proj 9.
+       #:tests? #f
        #:phases
        (modify-phases %standard-phases
          ;; 1 test is failing, ignore it:
diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm
index 74eaf74a37..34a703c7e1 100644
--- a/gnu/packages/gnome-xyz.scm
+++ b/gnu/packages/gnome-xyz.scm
@@ -330,7 +330,7 @@ GNOME Shell.")
 (define-public gnome-shell-extension-clipboard-indicator
   (package
     (name "gnome-shell-extension-clipboard-indicator")
-    (version "39")
+    (version "42")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -342,7 +342,7 @@ GNOME Shell.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1kq6bzxki7lwmw690f4qml8pvfwafpqpsfnq2kyjhrp8nh39axwi"))
+                "0wf2k33pbwjdf8i4y3aw32fgvjbh751qh7504lwhnl02rcq5dc88"))
               (modules '((guix build utils)))
               (snippet
                ;; Remove pre-compiled settings schemas and translations from
@@ -449,7 +449,7 @@ easier to keep track of applications running in the background.")
 (define-public gnome-shell-extension-dash-to-dock
   (package
     (name "gnome-shell-extension-dash-to-dock")
-    (version "71")
+    (version "73")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -458,7 +458,7 @@ easier to keep track of applications running in the background.")
                                            version))))
               (sha256
                (base32
-                "12b6ljzs5071zs0kcf5yj4jfhq10b1gnldv0hmbksnqzz5g719wf"))
+                "1l0isbrgfc8v46l1yc5l4myz7qnlxzyfyiifipp86z9d79d8klzw"))
               (file-name (git-file-name name version))))
     (build-system gnu-build-system)
     (arguments
@@ -487,17 +487,17 @@ faster window switching.")
 (define-public gnome-shell-extension-gsconnect
   (package
     (name "gnome-shell-extension-gsconnect")
-    (version "48")
+    (version "50")       ; See GNOME Shell supported versions in metadata.json
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url (string-append "https://github.com/andyholmes"
+                    (url (string-append "https://github.com/GSConnect"
                                         "/gnome-shell-extension-gsconnect.git"))
                     (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "15agblnm7k1wqnnz6gwhwym992fzqkdz8mkm04805783bx60b8bh"))))
+                "0vg87fdihs5kp7apgyd32ldjmwzmrxaimsc005yjyy8m3f65sjmr"))))
     (build-system meson-build-system)
     (arguments
      `(#:tests? #f ;; every test fails
@@ -568,7 +568,7 @@ faster window switching.")
        ("gobject-introspection" ,gobject-introspection)
        ("libxml2" ,libxml2)
        ("pkg-config" ,pkg-config)))
-    (home-page "https://github.com/andyholmes/gnome-shell-extension-gsconnect/wiki")
+    (home-page "https://github.com/GSConnect/gnome-shell-extension-gsconnect/wiki")
     (synopsis "Connect GNOME Shell with your Android phone")
     (description "GSConnect is a complete implementation of KDE Connect
 especially for GNOME Shell, allowing devices to securely share content, like
@@ -627,7 +627,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 "20.0")
+    (version "22.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -636,7 +636,7 @@ currently focused application in the top panel of the GNOME shell.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1b1hzibgryn861av2bjnfh5bmzs2bxfcsyl0ardkaj97228xsjzy"))))
+                "0r4rflppcp05kwhzmh07dzi7znc4kch4nc8mzw61arj3qsfq2qqj"))))
     (build-system copy-build-system)
     (arguments
      `(#:install-plan
@@ -678,7 +678,7 @@ certain elements or change animation speeds.")
 (define-public gnome-shell-extension-dash-to-panel
   (package
     (name "gnome-shell-extension-dash-to-panel")
-    (version "45")
+    (version "51")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -686,7 +686,7 @@ certain elements or change animation speeds.")
                     (commit (string-append "v" version))))
               (sha256
                (base32
-                "05bfd3b1g9zd86pl1rpgfqsmip271lasyfj8phpqf1gdds5yz6f6"))
+                "103pl77dhafi2ayds5yma2smv3b58zcysnd6vl5m5zavjvk35sz7"))
               (file-name (git-file-name name version))))
     (build-system gnu-build-system)
     (arguments
@@ -714,27 +714,31 @@ into a single panel, similar to that found in KDE Plasma and Windows 7+.")
     (license license:gpl2+)))
 
 (define-public gnome-shell-extension-noannoyance
-  (package
-    (name "gnome-shell-extension-noannoyance")
-    (version "5")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/BjoernDaase/noannoyance")
-                    (commit "e37b5b3c31f577b4698bc6659bc9fec5ea9ac5d4")))
-              (sha256
-               (base32
-                "0fa8l3xlh8kbq07y4385wpb908zm6x53z81q16xlmin97dln32hh"))
-              (file-name (git-file-name name version))))
-    (build-system copy-build-system)
-    (arguments
-     '(#:install-plan
-       '(("." "share/gnome-shell/extensions/noannoyance@daase.net"))))
-    (synopsis "Remove 'Window is ready' annotation")
-    (description "One of the many extensions that remove this message.
+  (let ((revision "1")
+        (commit "b759d10fd2799bc084007fdd927b62637c3dbd2c"))
+    (package
+      (name "gnome-shell-extension-noannoyance")
+      ;; XXX: There is no version noted anywhere in the source.  Thus, infer it
+      ;;      from <https://extensions.gnome.org/extension/2182/noannoyance/>.
+      (version (git-version "16" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/bdaase/noannoyance")
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "0hh7fdqvx54h9j41ia2jl0nq1d5i66k7blw41ya6hkh7201r4anp"))
+                (file-name (git-file-name name version))))
+      (build-system copy-build-system)
+      (arguments
+       '(#:install-plan
+         '(("." "share/gnome-shell/extensions/noannoyance@daase.net"))))
+      (synopsis "Remove 'Window is ready' annotation")
+      (description "One of the many extensions that remove this message.
 It uses ES6 syntax and claims to be more actively maintained than others.")
-    (home-page "https://extensions.gnome.org/extension/2182/noannoyance/")
-    (license license:gpl2)))
+      (home-page "https://extensions.gnome.org/extension/2182/noannoyance/")
+      (license license:gpl2))))
 
 (define-public gnome-shell-extension-paperwm
   (package
@@ -833,7 +837,7 @@ copies you now want to paste.")
 (define-public gnome-shell-extension-vertical-overview
   (package
     (name "gnome-shell-extension-vertical-overview")
-    (version "8")
+    (version "9")
     (source
      (origin
        (method git-fetch)
@@ -842,7 +846,7 @@ copies you now want to paste.")
              (commit (string-append "v" version))))
        (sha256
         (base32
-         "01vz48p3bh7p3ybdyw0s0ahs18lk2kzk9x4ad46s0dnwmmsyhww9"))
+         "0pkby00rjipj04z68d6i3rr7mzm01dckf2vl3iz6yvbl39602icl"))
        (file-name (git-file-name name version))
        (snippet
         '(begin (delete-file "schemas/gschemas.compiled")))))
@@ -914,7 +918,7 @@ position when the mouse is moved rapidly.")
 (define-public gnome-shell-extension-burn-my-windows
   (package
     (name "gnome-shell-extension-burn-my-windows")
-    (version "15")
+    (version "21")
     (source
      (origin
        (method git-fetch)
@@ -923,7 +927,7 @@ position when the mouse is moved rapidly.")
              (commit (string-append "v" version))))
        (sha256
         (base32
-         "1gabnqdk11n6345jzv9sc4yjmfrdgg0lsz6zc29gc5afzgirkhm5"))
+         "07ckfl47pq83nhb77v230zfxlz3imga3s8nn3sr9cq4zxvbkj2r4"))
        (file-name (git-file-name name version))))
     (build-system copy-build-system)
     (arguments
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index e5034717f5..6db5016cea 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5430,6 +5430,47 @@ possible while still providing features that make playing difficult Sudoku
 more fun.")
     (license license:gpl2+)))
 
+(define-public gnome-console
+  (package
+    (name "gnome-console")
+    (version "42.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/gnome-console/"
+                                  (version-major version) "/"
+                                  "gnome-console-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0jbh8g3hmc35fy5fbscqf0831xpg1kv66ci9hykpbia4hz0yc9kx"))))
+    (build-system meson-build-system)
+    (arguments
+     (list #:glib-or-gtk? #t
+           #:configure-flags #~(list "-Dtests=true"
+                                     "-Dnautilus=enabled")
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'patch-nautilus-extension-path
+                          (lambda _
+                            (substitute* "nautilus/meson.build"
+                              (("'extensions-[0-9.]*'")
+                               "'site-extensions'")))))))
+    (native-inputs (list `(,glib "bin")
+                         gettext-minimal
+                         sassc
+                         pkg-config
+                         `(,gtk+ "bin")
+                         desktop-file-utils))
+    (inputs (list gtk+
+                  libhandy
+                  nautilus
+                  vte
+                  libgtop
+                  gsettings-desktop-schemas))
+    (home-page "https://gitlab.gnome.org/GNOME/console")
+    (synopsis "GNOME terminal emulator")
+    (description
+     "Console is a simple terminal emulator for GNOME desktop")
+    (license license:gpl3+)))
+
 (define-public gnome-terminal
   (package
     (name "gnome-terminal")
@@ -5493,6 +5534,39 @@ It supports several profiles, multiple tabs and implements several
 keyboard shortcuts.")
     (license license:gpl3+)))
 
+(define-public gnome-text-editor
+  (package
+    (name "gnome-text-editor")
+    (version "42.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/gnome-text-editor/"
+                                  (version-major version) "/"
+                                  "gnome-text-editor-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1nn53iv2a82kkqkg5jy0bqh2b2wzg7g4a6w8q3qsis5wvj64lvg5"))))
+    (build-system meson-build-system)
+    (arguments
+     (list #:glib-or-gtk? #t))
+    (native-inputs (list pkg-config
+                         cmake
+                         gettext-minimal
+                         desktop-file-utils
+                         appstream-glib
+                         `(,glib "bin")
+                         `(,gtk "bin")
+                         itstool))
+    (inputs (list gtk gtksourceview libadwaita enchant))
+    (home-page "https://gitlab.gnome.org/GNOME/gnome-text-editor")
+    (synopsis "GNOME text editor")
+    (description
+     "GNOME Text Editor is a simple text editor that focuses on session
+management.  It keeps track of changes and state even if you quit the
+application.  You can come back to your work even if you've never saved it to a
+file.")
+    (license license:gpl3+)))
+
 (define-public colord-minimal
   (package
     (name "colord-minimal")
@@ -5565,37 +5639,43 @@ output devices.")
 (define-public colord
   (package/inherit colord-minimal
     (name "colord")
+    (version "1.4.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
+                           "colord-" version ".tar.xz"))
+       (sha256
+        (base32 "0vwfx06k1in8hci3kdxpc3c0bh81f1vl5bp7favd3rdz4wd661vl"))))
     (arguments
-     (substitute-keyword-arguments
-         (package-arguments colord-minimal)
+     (substitute-keyword-arguments (package-arguments colord-minimal)
        ((#:configure-flags flags)
-        `(begin
-           (use-modules (srfi srfi-1))
-           (append '("-Dbash_completion=true"
-                     "-Ddocs=true"
-                     "-Dman=true"
-                     "-Dvapi=true")
-               (fold delete ,flags '("-Dbash_completion=false"
-                                     "-Ddocs=false"
-                                     "-Dman=false")))))
+        #~(begin
+            (use-modules (srfi srfi-1))
+            (append '("-Dbash_completion=true"
+                      "-Ddocs=true"
+                      "-Dman=true"
+                      "-Dvapi=true")
+                    (fold delete #$flags '("-Dbash_completion=false"
+                                           "-Ddocs=false"
+                                           "-Dman=false")))))
        ((#:phases phases)
-        `(modify-phases ,phases
-           (add-after 'unpack 'fix-bash-completion-dir
-             (lambda* (#:key outputs #:allow-other-keys)
-               (substitute* "data/meson.build"
-                 (("bash_completion.get_pkgconfig_variable\
+        #~(modify-phases #$phases
+            (add-after 'unpack 'fix-bash-completion-dir
+              (lambda _
+                (substitute* "data/meson.build"
+                  (("bash_completion.get_pkgconfig_variable\
 \\('completionsdir'\\)")
-                  (string-append "'" (assoc-ref outputs "out")
-                                 "/etc/bash_completion.d'")))))))))
+                   (string-append "'" #$output
+                                  "/etc/bash_completion.d'")))))))))
     (native-inputs
-     (append
-         `(("bash-completion" ,bash-completion)
-           ("docbook-xsl-ns" ,docbook-xsl-ns)
-           ("gtk-doc" ,gtk-doc/stable)
-           ("libxml2" ,libxml2)         ;for XML_CATALOG_FILES
-           ("libxslt" ,libxslt)
-           ("vala" ,vala))              ;for VAPI, needed by simple-scan
-         (package-native-inputs colord-minimal)))))
+     (modify-inputs (package-native-inputs colord-minimal)
+       (append bash-completion
+               docbook-xsl-1.79.1
+               gtk-doc/stable
+               libxml2                  ;for XML_CATALOG_FILES
+               libxslt
+               vala)))))                ;for VAPI, needed by simple-scan
 
 (define-public geoclue
   (package
@@ -8028,7 +8108,7 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
 (define-public evolution-data-server
   (package
     (name "evolution-data-server")
-    (version "3.45.3")
+    (version "3.46.0")
     (source
      (origin
        (method url-fetch)
@@ -8036,7 +8116,7 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
                            (version-major+minor version) "/"
                            name "-" version ".tar.xz"))
        (sha256
-        (base32 "1zjg9b77qmfin9m16rqa6cpqp1rh63pg3bcnkh25vmklslwhvq7a"))))
+        (base32 "1aydynpc9qx2a5xlrvc3xzfq3d3rhf15mqr8m6splgqqb84jiyp5"))))
     (build-system cmake-build-system)
     (arguments
      (list
@@ -10271,19 +10351,18 @@ desktop.  It supports world clock, stop watch, alarms, and count down timer.")
 desktop.  It supports multiple calendars, month, week and year view.")
     (license license:gpl3+)))
 
-(define-public gnome-todo
+(define-public endeavour
   (package
-    (name "gnome-todo")
-    (version "41.0")
+    (name "endeavour")
+    (version "42.0")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major version) "/"
-                                  name "-" version ".tar.xz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.gnome.org/World/Endeavour")
+                    (commit (string-append "v" version))))
               (sha256
                (base32
-                "1r94880d4khbjhhfnhaba3y3d4hv2bri82rzfzxn27s5iybpqras"))
-              (patches (search-patches "gnome-todo-libportal.patch"))))
+                "0d6by7aq8db35zavzvckcxxxcdi6qnv0mkjndhb0syc8ih15dpak"))))
     (build-system meson-build-system)
     (arguments
      (list
@@ -10328,6 +10407,9 @@ desktop.  It supports multiple calendars, month, week and year view.")
 to perfectly fit the GNOME desktop.")
     (license license:gpl3+)))
 
+(define-public gnome-todo
+  (deprecated-package "gnome-todo" endeavour))
+
 (define-public gnome-dictionary
   (package
     (name "gnome-dictionary")
@@ -11521,7 +11603,7 @@ generic enough to work for everyone.")
 (define-public evolution
   (package
     (name "evolution")
-    (version "3.45.3")
+    (version "3.46.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/evolution/"
@@ -11529,7 +11611,7 @@ generic enough to work for everyone.")
                                   "evolution-" version ".tar.xz"))
               (sha256
                (base32
-                "1q4fa5l7k0rax39iwn2spmzxcr2l73mj3644lf8j9mnp5w774c96"))))
+                "0gwi89bqk20ggcxsq7xgd97my0hxx8z82kisml6vz6kbpiv957p0"))))
     (build-system cmake-build-system)
     (arguments
      (list
@@ -12167,7 +12249,13 @@ integrate seamlessly with the GNOME desktop.")
            #:phases #~(modify-phases %standard-phases
                         (add-after 'unpack 'disable-gtk-update-icon-cache
                           (lambda _
-                            (setenv "DESTDIR" "/"))))))
+                            (setenv "DESTDIR" "/")))
+                        (add-before 'configure 'set-qemu-file-name
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (substitute* "src/installed-media.vala"
+                              (("qemu-img")
+                               (search-input-file inputs
+                                                  "/bin/qemu-img"))))))))
     (native-inputs
      (list desktop-file-utils           ;for update-desktop-database
            gettext-minimal
@@ -12193,6 +12281,7 @@ integrate seamlessly with the GNOME desktop.")
            libvirt
            libvirt-glib
            libxml2
+           qemu-minimal                           ;for qemu-img
            sparql-query
            spice-gtk
            tracker
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 0c701fb77e..be923de72f 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -19,6 +19,7 @@
 ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 ;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2021 Baptiste Strazzul <bstrazzull@hotmail.fr>
+;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -84,6 +85,7 @@
   #:use-module (gnu packages assembly)
   #:use-module (gnu packages rust)
   #:use-module (gnu packages rust-apps)
+  #:use-module (gnu packages crates-io)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages nss)
   #:use-module (gnu packages icu4c)
@@ -348,6 +350,169 @@ in C/C++.")
     (inputs
      (list icu4c readline zlib))))
 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Temporary packaging of rust-1.59, pending inclusion in (gnu packages rust)
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(define rust-1.58-promise
+  (delay
+    (let ((rust-bootstrapped-package
+           (@@ (gnu packages rust)
+               rust-bootstrapped-package)))
+      (rust-bootstrapped-package
+       rust "1.58.1" "1iq7kj16qfpkx8gvw50d8rf7glbm6s0pj2y1qkrz7mi56vfsyfd8"))))
+
+(define rust-1.59-promise
+  (delay
+    (let ((rust-bootstrapped-package
+           (@@ (gnu packages rust)
+               rust-bootstrapped-package)))
+      (rust-bootstrapped-package
+       (force rust-1.58-promise)
+       "1.59.0" "1yc5bwcbmbwyvpfq7zvra78l0r8y3lbv60kbr62fzz2vx2pfxj57"))))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Temporary packaging of rust-cbindgen-0.23 and its dependencies
+;; follow, pending their inclusion into (gnu packages rust-apps)
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(define rust-textwrap-0.15-promise
+  (delay
+    (package
+     (inherit rust-textwrap-0.12)
+     (name "rust-textwrap")
+     (version "0.15.0")
+     (source (origin
+              (method url-fetch)
+              (uri (crate-uri "textwrap" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1yw513k61lfiwgqrfvsjw1a5wpvm0azhpjr2kr0jhnq9c56is55i"))))
+     (arguments
+      `(#:skip-build? #t
+        #:cargo-inputs (("rust-hyphenation" ,rust-hyphenation-0.8)
+                        ("rust-smawk" ,rust-smawk-0.3)
+                        ("rust-terminal-size" ,rust-terminal-size-0.1)
+                        ("rust-unicode-linebreak" ,rust-unicode-linebreak-0.1)
+                        ("rust-unicode-width" ,rust-unicode-width-0.1)))))))
+
+(define rust-clap-lex-0.2
+  (package
+    (name "rust-clap-lex")
+    (version "0.2.4")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "clap_lex" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1ib1a9v55ybnaws11l63az0jgz5xiy24jkdgsmyl7grcm3sz4l18"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-os-str-bytes" ,rust-os-str-bytes-6))))
+    (home-page "https://github.com/clap-rs/clap/tree/master/clap_lex")
+    (synopsis "Minimal, flexible command line parser")
+    (description "Minimal, flexible command line parser")
+    (license (list license:expat license:asl2.0))))
+
+(define rust-clap-derive-3.2.15-promise
+  (delay
+    (package
+     (inherit rust-clap-derive-3)
+     (name "rust-clap-derive")
+     (version "3.2.15")
+     (source (origin
+              (method url-fetch)
+              (uri (crate-uri "clap_derive" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1d2c4vs345fwihkd8cc7m6acbiydcwramkd5mnp36p0a7g6jm9cv"))))
+     (arguments
+      `(#:skip-build? #t
+        #:cargo-inputs (("rust-heck" ,rust-heck-0.4)
+                        ("rust-proc-macro-error" ,rust-proc-macro-error-1)
+                        ("rust-proc-macro2" ,rust-proc-macro2-1)
+                        ("rust-quote" ,rust-quote-1)
+                        ("rust-syn" ,rust-syn-1)))))))
+
+(define rust-clap-3.2.16-promise
+  (delay
+    (package
+     (inherit rust-clap-3)
+     (name "rust-clap")
+     (version "3.2.16")
+     (source (origin
+              (method url-fetch)
+              (uri (crate-uri "clap" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1af06z8z7m3327yz1xvzxfjanclgpvvy3lssb745rig7adkbpnx3"))))
+     (arguments
+      `(#:skip-build? #t
+        #:cargo-inputs (("rust-atty" ,rust-atty-0.2)
+                        ("rust-backtrace" ,rust-backtrace-0.3)
+                        ("rust-bitflags" ,rust-bitflags-1)
+                        ("rust-clap-derive" ,(force rust-clap-derive-3.2.15-promise))
+                        ("rust-clap-lex" ,rust-clap-lex-0.2)
+                        ("rust-indexmap" ,rust-indexmap-1)
+                        ("rust-once-cell" ,rust-once-cell-1)
+                        ("rust-regex" ,rust-regex-1)
+                        ("rust-strsim" ,rust-strsim-0.10)
+                        ("rust-termcolor" ,rust-termcolor-1)
+                        ("rust-terminal-size" ,rust-terminal-size-0.1)
+                        ("rust-textwrap" ,(force rust-textwrap-0.15-promise))
+                        ("rust-unicase" ,rust-unicase-2)
+                        ("rust-yaml-rust" ,rust-yaml-rust-0.4)))))))
+
+(define rust-cbindgen-0.24-promise
+  (delay
+    (package
+     (inherit rust-cbindgen-0.19)
+     (name "rust-cbindgen")
+     (version "0.24.3")
+     (source (origin
+              (method url-fetch)
+              (uri (crate-uri "cbindgen" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1yqxqsz2d0cppd8zwihk2139g5gy38wqgl9snj6rnk8gyvnqsdd6"))))
+     (arguments
+      `(#:cargo-inputs (("rust-clap" ,(force rust-clap-3.2.16-promise))
+                        ("rust-heck" ,rust-heck-0.4)
+                        ("rust-indexmap" ,rust-indexmap-1)
+                        ("rust-log" ,rust-log-0.4)
+                        ("rust-proc-macro2" ,rust-proc-macro2-1)
+                        ("rust-quote" ,rust-quote-1)
+                        ("rust-serde" ,rust-serde-1)
+                        ("rust-serde-json" ,rust-serde-json-1)
+                        ("rust-syn" ,rust-syn-1)
+                        ("rust-tempfile" ,rust-tempfile-3)
+                        ("rust-toml" ,rust-toml-0.5))
+        #:cargo-development-inputs (("rust-serial-test" ,rust-serial-test-0.5)))))))
+
+;; Bug with IceCat 102 with cbindgen-0.24, see
+;; https://bugzilla.mozilla.org/show_bug.cgi?id=1773259#c5 for
+;; possible patch (untested)
+(define rust-cbindgen-0.23-promise
+  (delay
+    (package
+     (inherit (force rust-cbindgen-0.24-promise))
+     (name "rust-cbindgen")
+     (version "0.23.0")
+     (source (origin
+              (method url-fetch)
+              (uri (crate-uri "cbindgen" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "006rn3fn4njayjxr2vd24g1awssr9i3894nbmfzkybx07j728vav")))))))
+
+
 (define mozilla-compare-locales
   (origin
     (method hg-fetch)
@@ -375,110 +540,110 @@ in C/C++.")
   (mozilla-locales
    ;;                      sha256                            changeset    locale
    ;;---------------------------------------------------------------------------
-   ("0f2lkv79gqf46f74905mab3zwyz1532chxlf9d28s548p1hw6lv9" "8312cd2e0777" "ach")
-   ("1v5jpmd0b04mizm9pjffp4r9q121vpq3yzkkxcgmrcwj4gc5jb2y" "21bf766c19d8" "af")
-   ("1fqjiq2la543z5pbbvd9kfs0wdc2phmqjbxascfsak854qy1z9f9" "34b6a4f0790d" "an")
-   ("0pl6j99xnali25glyr3g9fmj67v9vqmhd9k74i97f8q5n4xmv3ym" "513c3e8dac97" "ar")
-   ("0d1fbk9jcai19pi8b7i4y4r0gscqi1inr9dbahd6h0xbxfwc0zif" "19ca0cd0d1bf" "ast")
-   ("08f9b63wxxy28zaimjn1ab9w51bvrarc3pp75s7v6kzm5bk1jwic" "44aa0dad7964" "az")
-   ("15pksy9bgaxcbcnvvp8jwqnqxvvhq9vnljpai6jlh52yyrsglbwi" "5e4499355167" "be")
-   ("0gdg84jp1i4il4nc6gwaswdhc4ljbb9inyip7vhkng09v3pmwm0h" "98d006107851" "bg")
-   ("0i6vl0ag74phj4l38cvds1ds3jjdal1c8d7hy6pf4aqrp4ai32mh" "2ca52cbb680a" "bn")
-   ("16yavargwq8rhipzpmrrvyh68g3a6disz9g5m8xbhxvixhcsi5fr" "ce92556a0a90" "br")
-   ("1512dzp394pj66i13nsz76qh6fmjpz7r7fmvk8d0h7pjk0d6n0dy" "1c79dabdb120" "bs")
-   ("19wg0kbr2ihbn4lscsxg9agz04r8bsih4692vfgb6nyn1z8vx2i0" "a22912c01617" "ca")
-   ("1ixpzjb7caq1d9c7c044rxg3ymxs3hjw120kq85v004jrrb4d9c6" "34bf3fd631d4" "ca-valencia")
-   ("1abizdmd1c56syni1aanwwrfvmgzz25fmimbj2324bcw801ma9h0" "e2e4ba2c37bc" "cak")
-   ("0wgrg2wiz1jcj52nd4zl4shfkjhbngfj6p1gw1ywj266hk8g6pvw" "a60792bff6ff" "cs")
-   ("132f29111jd2z9yxpakkyri80mi2ggnik6zxaxqrp4vlcrd1fxd2" "66369fcad8c7" "cy")
-   ("04lpic3cxdj1imcwjkbk81avp9dpa1c9b1zcchrr1a4vyy4yfjpy" "af198d43f7d6" "da")
-   ("1h0rkwlsqls8k1qi1y68plw6xk0z2c5xc2y4nqywiirl71yz7fi5" "816fcef20c05" "de")
-   ("11lzdyl1h42zb1x2yxiv3r0wih8jy1gr0gzs5d1isdq53sa9cqnq" "962e5a544415" "dsb")
-   ("146jgrhl41k6zbxg58hxh1s088padsjz7ny8nm59i9i8d00jpv0a" "e7c49fd88463" "el")
-   ("1qppr44hdnrb1z1igcd1p0w5sy9vpihzilkl2w44y0v0v9rigppv" "5a0e35b08a48" "en-CA")
-   ("1v2irfms24cx9g5s6r1glmp2c000wi91axyca1pn37s7c01r0n4b" "72f8c5d8305d" "en-GB")
-   ("1y0rbbmax1w6jy4jacy27xgy4aqnd43izysw8qjwm0qhhfjvf3xh" "40994fca693d" "eo")
-   ("0kmjvinqpb3y81mqda1qq8k202aa36as9z1z775745bx6sbvkggz" "6cf3c836995d" "es-AR")
-   ("06rvd1z3l0r7hwnsnw90i0f5j2ysbv6wd3cl64g0bgifmwjk75hi" "8727dda3935e" "es-CL")
-   ("0gzw1rn9nzpgcrrc10indnbqqpax87azczrfxv8mn5n56j734hc0" "5351aba49895" "es-ES")
-   ("0bnmgisxfkb6rb12avhipbsj1yr0dyv56qjj9471gnc2ppq7k3c9" "dd834a4af402" "es-MX")
-   ("1951975h9w813qxanbk3frjz7c8knzx5rvq9i82j9i6x6a3fh6fi" "1f2150796079" "et")
-   ("1vkb5rd0k6vh9dbll3fhyzg8rfpkxxkd2rxwf66b8l3hg4fqd7f2" "2911663f4a7c" "eu")
-   ("1cj9zblfp94h86m7zd762bfmcfz0yxc1q4ra35s4wnnlqajarzwj" "04ec3c3bbe92" "fa")
-   ("1ininsyzaj7xd8ppmklm3zglgw1i0nhdy43iiyva32hb592zxy4m" "0cf866f9bc4e" "ff")
-   ("1hc308d71iygarrpliv7pxjz49gxwqg10d0pv8j4sbb2pw39bprl" "04a600fc54a4" "fi")
-   ("02nl54db9130rg59wmrrnh0z726fg5ir1njfcnhxagb4g5b7s69f" "64a3576df276" "fr")
-   ("1qbby23qlkxjz3vwlk8pd2w1w4cxdff8cq7j0ipk44mijkxkry0c" "c84177dfa254" "fy-NL")
-   ("1x23pg36ld5qnrmdn149rkl85ia8lmiqbzcac2bm0iqprnjdszii" "31590cffac56" "ga-IE")
-   ("005fpyr1lvw23dja3yrzx4y8wdih7vx6ljjpisf4pd3k5zai4x81" "ba4f274ac4a1" "gd")
-   ("0kdlb5q74n0fl5fxfy873s392kry69dmdl8b4gvqdyh5sy66vsqm" "56b41bdcd401" "gl")
-   ("0v8r8b0nrk1l4xipzhq16klmh0pinzcrma0s0gyhgzqqli6z7aym" "59e2afb65c08" "gn")
-   ("1grb1lq1f9p5jxgh9v78jl1wswxmsqxkcssm35l30k6y24pglr0m" "33b4409fb615" "gu-IN")
-   ("172fg55y8l90ix4c8s5x7f8mg6rc7779p6l852cnnkfqjgqa5a5f" "92f9f8238189" "he")
-   ("0i52nmg0yv3y1y3rkinxcyh51mgjksk7c3jlc8014801m3zvyxj7" "00090f7a2a3f" "hi-IN")
-   ("074q8n00yq54kzk632dwbs64r0sygvybbvwpd6hbvfpn38lz8hxf" "6e4a3fdc01f3" "hr")
-   ("1jxiz8zyxbpnwgk5xkwfxlr5f1zfyc88jcsajy8wcaifdkld3cwn" "7fd9bc25e49d" "hsb")
-   ("0ca11pmkzyd9ccrnrbmk0jrpcb03k88v4zivxblnxj4w03g0hyhq" "ce3b378ce950" "hu")
-   ("1yszljbh8f7w6lckfw22jwximy3yhis4430lfynfb8lh9nm0fw59" "c91a4a3e8821" "hy-AM")
-   ("0hhl8b8szqlhjdxhsa81zmgr303kr0jx5d6rzbi840qwf01h12sz" "4f235acc839e" "ia")
-   ("063yfk3nz3kignbri7r9sr3jwr5p9yyqc6sckgqs94hx6lvc355p" "fface86a34e4" "id")
-   ("1qszxkgliall4haaq6v0xayxikq43ddcdsn1d4m1mwyp7gdpbry5" "5978ae767b44" "is")
-   ("1fsfz9iz5pdd5r9ckdal6grvddchsc4r3r8gn4w6f2bja6vpbs05" "0c7d2a0e1304" "it")
-   ("1phkw0apiicgbw2nq3g392xncw1v2c4yac595h3nchs4q6rp9pd9" "1c923f3e88b9" "ja")
-   ("1y4gc4l6g72nphhsw4aqhcl80a7wi9qdy61h66c6jc6h14i7278d" "66f700940cfa" "ja-JP-mac")
-   ("0iqwj0y19zqcdclnn92z490s1g9vh2qr9gmkyfnpsz69llxidx1j" "49b4a7c6bb2c" "ka")
-   ("111nm2khff0zxnqqfc68rbi3j0b1nx5r4xai7b8yymyv1i0qbsxd" "4854facbd60b" "kab")
-   ("12p7lg2p6pcqdlb4bqbz5isxilw2r9vb8344sh8zrvv9cb9jq04f" "d2fda8a1b287" "kk")
-   ("142vpw9npqgc8b5zcg5cy2lh07s4mg8xfbaymg44fb4j3s6agw88" "3a5a1cae9b93" "km")
-   ("00v1sd2byj2ksxw1020z142cdlxa7ri2v1rzjrhay9l465bj3k8x" "6ed122b33cac" "kn")
-   ("1s07yhwzpxj0l5vj5lzbvgw115sjx1g2zgbqca5wln95dds39npl" "49bc07645a47" "ko")
-   ("1b4brfww0w7x1h3ff19i6xi8xq2cb1hxysilira6yq4rb6vhlmly" "93f04df12616" "lij")
-   ("1i30my0bbgm9z02rxxi7x4vc69bs3bnjs9l2q6jd8xvs1ga3vc7n" "e1f4e0d87509" "lt")
-   ("1bjh4xlx6562hxq527cqcn4b5295dsdpwn4c4y5ci902nlh6fc8l" "daea4ba4e7f4" "lv")
-   ("0vig42slcx6bhpisyc1bnyklr95lbv7vqd1ckiywp5c5qzfa9afi" "0c4ca0f4fc17" "mk")
-   ("10qfnkqi2snmgvm4vcrmp2489klchv3hn2c4rmkdhi5bilfk42jx" "9be8d5951976" "mr")
-   ("1bkn8ds3fyz710ck4gg4g5vpv23bi573ssm9xbiyl8y59pvbig9b" "0f44d0bcfda2" "ms")
-   ("1j9af3axbijn0s8y96310mvgaq5a36m0r3ij550jv5bv52862crj" "ccbf0c4355d6" "my")
-   ("0lspnp9jn3rrgz3djnmc0qrb6ymigvqnr3fb0jbhmf83r4yfs8z1" "a6cf2c6e3594" "nb-NO")
-   ("1xp2884m9gqm9gaakc747bd9j55wssrh3qsf4y4k02ijh08sfmwb" "c1636a1a7507" "ne-NP")
-   ("0y1fxp9pxia6x2wxdharh2ynvzdqcmzpya1gdb89pcv5qyrzqgcl" "60ed1c2397a6" "nl")
-   ("1nbp924p7fp2c76ym71wp34vk96z89i4g2rfgpsi54cgv42a6vgq" "a7f9a3d35875" "nn-NO")
-   ("1yrmhyvb6skypcyvi6j3py51sdkq9vn35zkryx6rdp8ygqwm1va7" "9ac29828960e" "oc")
-   ("0rn2414ji1icar627arf5rjwl9r9vxhznbfsyxgrmrf0p6dp72fv" "87720cc32205" "pa-IN")
-   ("09lam6yaprc8zyisq0pcdj4afpg930c2x3x47gdxnqfyhmcfygs7" "56b2c592ffba" "pl")
-   ("0mbc1a8wvjs3k928qh0k800d230251i0rw0myhdpc6mk3xjna7i5" "89f1b173c9b1" "pt-BR")
-   ("1v1qa5slllz78222rlqr4b8k7c8dapmx8d7s5nb90wdffic0zcqy" "27adc5dad781" "pt-PT")
-   ("04k6h5d7c740lz1hx1vavj6p0fmhgn9mm3nwvk4p9iccy5nw5pmf" "83e2e4833fc3" "rm")
-   ("0f0hz792wr17mgi6n190dliqx67479aqg3y2ak0jg0fiz2c8qr7p" "69cdc288966f" "ro")
-   ("17yngj0v30687m7fa1ls0g86vjg8jzxs7bnsca91jpxf3ij44xp6" "03046775600f" "ru")
-   ("1fvz23nphs9i4gdkx9fcy5ahdk2f879281pchclwi0qlciq7digr" "61ea93a50fff" "sco")
-   ("0yc1iwqbnpnf1i7yz3zqrx6g8pinc7l53pvbczywfkq3rz6wmmf5" "2b134d24c046" "si")
-   ("0kizljksn2vn4yw7qlv7c8h2m75f7n9ddg6n6ag3hwxxip83hn4y" "6d69c24dc8db" "sk")
-   ("1ll936b18wy464623jc5smf3c6dpimh0qwn28a991h7zcw31n3kp" "29e195d1d160" "sl")
-   ("14w9n994z9gf0wx7vrqisyxkngvhmmnayx8r0vwiq8k7jy81sxlm" "60a3b235fe1d" "son")
-   ("0z7bcfvq6x6dxf4d4bbjsg36r5npkr89087b0j360ljampk6c2fn" "8588cbc89847" "sq")
-   ("1fcq9g89lhzckzr2qb6x0w0z6q486n9jdqfi6h70dx8b069b3jfj" "198f7e89f10d" "sr")
-   ("0ap3m1sbibnaj9s2l139m7l8cc8s2ky4jlxwgzbxdzvqxfz7n954" "b098e2ebc049" "sv-SE")
-   ("0k93gnwfs5mahb9vz1c65ddcbkav0cwhxnrww3qk7gcmn7q88gqk" "25951b964d5b" "szl")
-   ("0b0v5pcwvhvhg8vlzy26g3j0m1r8svrpq07hq0q7lxldwlb48phz" "94659c83c9d8" "ta")
-   ("1v35cl6m3ikzsriq6zkjzjs3p9bhl8zmbp2gl14mga1f1zy4kcah" "eb59646a5d36" "te")
-   ("0y3r30mjgxngjraqmf5cm00kgqx2pvhbvy8sfxb3fhypv9vda3yr" "10d257301a2d" "th")
-   ("1inyqk495py20jwjvs4yl0n5ncf3hhb896bs1lwfsgpvbvr5hbq1" "9be6adca0e51" "tl")
-   ("0vsirjs655cia9n8dys2r84bvg303hcxkk2w6a9j3dkbifq5ymk6" "51354c936bf6" "tr")
-   ("050x882c0ywil290k4g861njw70ffw2y55dqk3w0kffi972mm909" "d7510f2d01dc" "trs")
-   ("001ykwxkwibavbi1k42b1hmysb3gmrwcs68zmw96m1vc80p29nz1" "4d1fa878042b" "uk")
-   ("0lsz6jlmmsqdg47pdx8b1djjvcavi0wlyr0mkpyhjgpginag21zx" "ad3035f28183" "ur")
-   ("0d3ggm3q76pkpg4n3lz2ji4pbb47n885byqxbp7sk6n9vlgzir7l" "8ea7a5a051db" "uz")
-   ("0v7d8y6xsr6yf2s1sjxnsjmw0hdnj91f0w2da6spkifb52lmbv6v" "67fe2acb306f" "vi")
-   ("0j8l09vzqlw4zlkyp6wkh44c5gr1xgbcmnawks1zj7xz02ambwii" "abc22dfb6d84" "xh")
-   ("1c01pbyswixkjg42714fvfy33b09mpdbf4d8f8kcs88c86jpf07z" "d6d6f9bb6113" "zh-CN")
-   ("0yq8fqdz862pnlbvfsqfc152rhpsqgncvp8bqkd653mdfv4qkwr4" "0cbdc5f1a048" "zh-TW")))
+   ("1y562h0dg33vhhhwfk6jl7xbr67gng21vcf3rpm96zzcgbnf8rjj" "503a7baec899" "ach")
+   ("1cqixlk9f8p63jz20wzsvnfb7xa82ba725gzdydlwz2axgp09c26" "4e2c7d1ddbed" "af")
+   ("19r1yhmfxqasyslc8gr9as5w1scscz1xr8iqy9zi4b90fdjzs0ac" "06897e40a7ea" "an")
+   ("0nfknb1p03j9fgmkwlm1mzdyh10g0l33x34ab39kc072apziyv0n" "9272819b09e2" "ar")
+   ("11qqblqfffbmkdr5b6mxzq02i8rj1hjq3iy6xv5i5xxy311b3vpb" "f706d22e6910" "ast")
+   ("0q2p1a437qr2nshdd4934qkv2sblmykiwzir149c8p9m5sjk0dyw" "f5c2a9800add" "az")
+   ("0gxxm3lv18kj0922bw0g897azc4nkrszm5irgwdkgmkbyr97li83" "98ba7d51484f" "be")
+   ("10vrbbaabjns824ndya6c09znm815pak2xpvqgjydl3r5qvacx65" "5c79c77311cd" "bg")
+   ("1il7yyifx5xzj0v2lna315mppl5pk1vi4m9r66hdz1lzc485m1wp" "c80c87ef7193" "bn")
+   ("1p1ig4v9pczzrnnxzr20r61g7xk85k5lgnxhzgn1rx518p85xrkm" "6a1bcb9851b2" "br")
+   ("08q33bk9kdvbyc4ib58bsn2b67ki3d2yzskkf5r2n5zlglblksa2" "939779cb58d6" "bs")
+   ("1bdkywrqah85fh8kfnz163qnc02ffx0a4vlnx5pq1wg9j4f1gznf" "9a45ccf144f1" "ca")
+   ("0hhmp5dzc0rssykl0b2n9h0vfy4svwhxmhpsr3rcfpbg2s0r5h6l" "4f60e18fc248" "ca-valencia")
+   ("18phbl9raqsbys9wa8z0gq0h0pw3b55v6ngn67r4373lfc0s9cxv" "b4ef404c7de8" "cak")
+   ("0147qyw1y97mgqhkb46wblxv61lq2mvvm5n5ihwf49l5cyizi0jg" "f56ef18f05df" "cs")
+   ("08sbhnsxndlsaijnxndc367qcbrzb29m7bpkcawinz9fg6mz3573" "4f9d92f04f5e" "cy")
+   ("09cm5kk1sh2a6ws1fj185jrknhfa6n4bhj7nfnr4lsk339n0kvv9" "902503567e30" "da")
+   ("0r630bki5d4ylicq6lzh6s2mvsq225933szswmm0sap507rj75cm" "6000baf7a412" "de")
+   ("0749qjsfv3rn94rnci3ydgndw27qlr3w3w97kfwma2gmsf3m3r0p" "4a948952d1f4" "dsb")
+   ("0yc64i7mpxhs4qlyyh59i2aiz0vpap0bn8slcsk8b71wd1d7cy5m" "153a16a13733" "el")
+   ("0d4m5ji6ii10yap8y24cxx3fr60ba1jqi10hy3j1cq6ni7hzavga" "7ce17ae529ac" "en-CA")
+   ("12jzqcfbgdhfm8f2gqp15bdnin62li07jwicjc8ynn4cl9a19xiz" "a25d9eea7c23" "en-GB")
+   ("0gbb8hfc5yvjah63mapjxm53wxrf98srbrbg43b9g734zfi4n8y5" "4ed3471dad5d" "eo")
+   ("19lw7zmqx2irjmv5y6r7nncp6nysn06abf10n3dzj5nzgays6sln" "853fe7acb415" "es-AR")
+   ("0rq4pa380b77rkv6dq7sqx8a8i33jk3vs5rgcl8fv7slqvsw23kd" "921b67bf27a5" "es-CL")
+   ("1dyxzab9hln5spch66wmfagfzmfdiaxgpq7qlzvdfg98wkqdj25n" "c9a210ea496c" "es-ES")
+   ("1gwpmfl37wxl7rynqswgj41liljflgxydvljd4zdhk3jzqn605fb" "ddd35183d81c" "es-MX")
+   ("0c3blniddklapifnjbz03f2frw24jjgwgwn6swl5mwm2z0y6wa9f" "82d23ffaa7d3" "et")
+   ("05mq2df6n6fr8m5m2xwl0f6n1q3zgjrnk465ldx1nfr9agrhd36c" "13975626d549" "eu")
+   ("1l1jyqqiy551903j6yzh9ayg1pf26q2hr9h3jj4l51xzp7x4ms2q" "039e1fdb7c71" "fa")
+   ("091l05y9sggxznv0y11b9zy5qf146p0hb5faw4ix7yn5p5kca2f5" "7bd3722d82de" "ff")
+   ("1lllwjvmbl5dx44fcvsqg08fbflkc8dx5as9n6nf4xlkzydx6izm" "39808e88c9d1" "fi")
+   ("10ha955vvyf5vbciricm72kplj9j0s00g2333lmg46jiwi7aviiv" "426d373db6a7" "fr")
+   ("11zdfk8jvdy1k9z1q162cwapplcbz35l3dq4mv45brdin3v0x8kr" "96cd93d18389" "fy-NL")
+   ("1l5xr25gmssyachwmfprlnp2v2xj4b0hp8gxrf7fi5bvv9c2fynb" "de3daf7d3f9d" "ga-IE")
+   ("06h9ijfsn1cgz5fvxxbisk7fvqhgsw99id92575hgyg1p8xb1n69" "f04aea656d9e" "gd")
+   ("19913i5n8yyfhz9j21krlk7wqsyy89vggxc1m1swv94y2ix8rpaj" "1b8cdb87bf69" "gl")
+   ("0k5x31bfl2l0r9b5dkn03frm1gd8n6igai7ch2f1kj0skflynwww" "82df570c4241" "gn")
+   ("03rygnj9xhfvykark7dls117kwhid13ghvrsqiial0vp8m7ymx79" "e2e41d7beaa5" "gu-IN")
+   ("0vyraplj1x7b5im15anhzdaq03k2gqfyybgklrd4f9ry6msh5jhx" "de724e943805" "he")
+   ("1zqps586jrgxpf7xx2l3qw3ch3fr31r9a25y861fpxrpvh7ygw7g" "898598e1a5c6" "hi-IN")
+   ("0czq68l3qdhdc0mgazlrh8x83a6d5qrjwgjv8xvsmmzi7h68ww0l" "2711d1515af0" "hr")
+   ("1wwvrnm38gk2rnw4vmcranh8hk61gjcj9292pck3ckiv6mq7kd4s" "03e02f3d0676" "hsb")
+   ("0yvgdxlbyhhg3lk43hxx9gx66rcm7gaj02zzzx5zni8dhvlk2v6m" "d423ada9dc00" "hu")
+   ("1kjm7bg4990jhfbxwc38r4lqm2fbcxc82nc2d4qkqwikr4aah4b9" "06836af0bd6e" "hy-AM")
+   ("1dla7r3snvagb7m985xxqyi7gl498cr5xsz8msw0zpg6xmi05rlx" "299bd950d538" "ia")
+   ("0w8w9xn93akir7nqcp5iwr3kqvba5gbirg7gmzlzg7mgrhw8pcsa" "dee087477b99" "id")
+   ("10iakv1c1d20ihxg1s7c3zc1zfw18vr2kspcw7bk5k02rmrffgcn" "320095d063ed" "is")
+   ("1xn5pa3rc7l6k2migm3c0dx71q1hk7mjls045xpv9cy8gvirnj94" "4722680fb5bf" "it")
+   ("0va9zfj3wqh1yvbgh3x808yvdyxkg780vazjg887wbxpfk1n6hxa" "cb3cfe294621" "ja")
+   ("0qvjc3fhk6jg2c3g6mymmnslg1rkkxmv9gi3whf2bc5mzfgyc5zw" "7efe92bd7780" "ja-JP-mac")
+   ("0zfiwwz0axbd219ar32c7a6b8h816sf04ajx6jl74s5kyij79y82" "4c1fe3a18da9" "ka")
+   ("1aiik4758r5df76q2a132y5fjdjrsxshjylk7irwsr7yy0c7f63g" "acdf76048aa0" "kab")
+   ("0icxh4sgv6m1yykycb9d9c43k3r6w02f9c6jr04wm8hvqq5icfl5" "9b418ff7936b" "kk")
+   ("1cqlhggf46lr7w399k7qb7a1hc56f32w1dy26i2racpppzza5plc" "9771ada0b5f8" "km")
+   ("0p04irnb7x7y37m6lz388x9dynn8rnk000avpp296barajnhs5i8" "645aa37a2112" "kn")
+   ("1lbc1fxr5i0ccymlsd8axz3633cqggg5k8ak5yqwi704g7kvv9g2" "1cd68952d119" "ko")
+   ("11b55bxg73zqfdn5gy9nn5imab2mv0hxr603whggp7vymllgb7kb" "26bb83959bfe" "lij")
+   ("15jsijm6d26i0105gz0f7sh2yh2v4pmw4j95cwkdrb1d8m935jlz" "b9829891f153" "lt")
+   ("0liwwv13fgyw97nizhsyy53xrbf8jks5ics7qkkxfccawjrg5rlb" "e5f09d03d959" "lv")
+   ("0w420yf3hdnl7dp9mn9ghc20cq79k24fn9adn3syk723ppl6mkb0" "7884845e94f3" "mk")
+   ("13wkr7rgqsv9w3d9w7k8lnxdzgfixsq4bmc27zsyc770l6062ml6" "030db7412202" "mr")
+   ("06nsadcnxx0ssdp67x47dj9crihn1ycgd5mwvn5m7lkb97r4ch9f" "40a7703e875c" "ms")
+   ("0mlnjdzck6dp9p59ajj3sr63r36fn0qi8r9scrqrqcisgfclw9sg" "daca40056531" "my")
+   ("0z1hgx9d5i9w20f9k9azzng1y3lmm5d6hdjkj7rf6r5710bhhzh5" "664bd049e105" "nb-NO")
+   ("1466qvrs13g2iix1k35cknb2pia9b66li2ncvdyqf0jsd92z9k8x" "eaa6ae781ba0" "ne-NP")
+   ("0jgmz2lkzj0aspd9mabygzic6li5s2b25y0r6vjg8mv3jm5pi86j" "5ef8f1c9739e" "nl")
+   ("1m46x0h20vdfbzjxlz0ac43dbaq40xnyldr2yzbf7pk5di9pzxa6" "f08e15466d5d" "nn-NO")
+   ("0r3zvihqh6iya3z1qm7if0m3zfgf81s9qp7x7qc701h2q357wkgf" "6712c0e12ec2" "oc")
+   ("102j89jm28c223yhhkrj76xxj4kmy58hcs2r0jn15xa1qkqv1fdk" "8f36cc819e00" "pa-IN")
+   ("1j9za6s0i46abn8dsrlkpck3qxxw35rhfcg1xs1vp8sc4ckg8qwi" "c3b0c1c02b94" "pl")
+   ("1k9lbsvckpwl4xax8kxp5yxsfkspq2mhqm77jh5nl9aw88dsn55b" "cc32bf9630fe" "pt-BR")
+   ("0f0jyvbn2sa5m66wqdzh4607g4gd0270xq37ipd9ls52b4764bd8" "5478d7242086" "pt-PT")
+   ("19znkkialh1d4np7qcp80xkagrf1j2xah2s1xxzsh854p3d30zs7" "dd934a76fb01" "rm")
+   ("1xn26r8g8zzkb5myfgmnjbk8k4i0brkvbrvnhp7k5nkrnsin25di" "d57ab3dee73d" "ro")
+   ("04rhkxlmpp5pyzw85ldbfkmiigqr2p9y5cbns5dqs6sz1633ccxp" "7aea98f33a20" "ru")
+   ("1zzkkxl7ayxh5gx9snyvp5czflsvi77hp48li613h3c2fii4n9qk" "7c986f4b5044" "sco")
+   ("1219i0ghhqj3s1i0rm68jjkvivh6y40938wav7z4ifck527sq6r1" "bc9e55d4e3ea" "si")
+   ("05i5p3n3a6hgl6rf10yjs4vag7y3rn2jwgxsddcdcqiv6405zn81" "8814afd7f67e" "sk")
+   ("1wcqdbm1py1ldq6cj2g201m715nql79r6szr71jvrxacb711c62a" "20013dc06e96" "sl")
+   ("0g2izkaa4ipwgwyhy77ciyrxxpf4pxzj9mjqvxriy5prmkhm3zjs" "d86d5d2b6eef" "son")
+   ("1cc99m6srjg8698dkc3il70crby0mdv43v3ijwy069k4w50hyjjg" "49bb5fae5d9b" "sq")
+   ("13kfssq4fhq9mb36as6sxiaffl17qyg1wdw8kpz3ilqm86bsjrgl" "d6a0ab79b06f" "sr")
+   ("1wx9snbm0431q97i0q0nv4wbsqcv9nhllwfr88crlp7bfj5w8czw" "4bab04993da3" "sv-SE")
+   ("0laglkfl8ml0ip5vmm3z2q790hgwax9gfqwq3wm68a2nnsyck8fw" "4b3316c4aa48" "szl")
+   ("15pnlic4q7m48y0mc5yh8w5yscjwzx0mmfrbj3f2b9jxxa44nx4h" "48c7aab86db8" "ta")
+   ("16qar5y0wns75ryi8bfv7yln3mjsyn7qi4345zcniz3ydgkczh46" "7bbb3dac8f47" "te")
+   ("112g7x8h0qz16r5faam386x4a0rgwd4zy02d5agmg9m0kbficdfx" "009fd0852454" "th")
+   ("1l80kh9byqxnz5vkz357rb39g4y9sgn9pr0v29ywp6d009img1qg" "dad9caecd7a9" "tl")
+   ("1nalvjlxxsa9wldhhdb93bgfc7dl084xayh7i7mgg93yjgrym93x" "0c48082d37cd" "tr")
+   ("0wkxqcfgsra2ljws28kiwajv73w9aa8drsc4fqlg9krbicnjl2n8" "f6d105faedcc" "trs")
+   ("18jf4ysrfv3635fyxc1vwr970dr2r05bl3h8v599pwp2g7jzyjpm" "e1011388a55e" "uk")
+   ("1ihmksjsz54yii23qda5iv8cxrj9144afy75hzhvfi6m182kj4h8" "c4e927eab511" "ur")
+   ("0d42dhfa2vcw24wsvwf95pw20np0pz8c0is6p4307n981n8s207y" "7063df917cb3" "uz")
+   ("04khnkrg8css55hyna01jqay9c2ppxk5znbx2zj9i25knhvvx1lq" "1753054e6ab8" "vi")
+   ("0fi5kxn78xp7s15svkqlf4748j4pzxh941nm52n6kbbrhyi3qcqn" "93bc595dc32e" "xh")
+   ("0jg676vd37wqgzjnm0yynj7xrvm6fsgdwg296h78wnyc33zc4ads" "edd4e468bc31" "zh-CN")
+   ("1y4wldm3z95mfjlficp994jyqg0lj07wi35b79dy1s8ljy3jilil" "0bad1f7d2b2d" "zh-TW")))
 
 ;; XXXX: Workaround 'snippet' limitations.
 (define computed-origin-method (@@ (guix packages) computed-origin-method))
 
-(define %icecat-version "91.13.0-guix0-preview1")
-(define %icecat-build-id "20220823000000") ;must be of the form YYYYMMDDhhmmss
+(define %icecat-version "102.3.0-guix0-preview1")
+(define %icecat-build-id "20220920000000") ;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'
@@ -500,11 +665,11 @@ in C/C++.")
                   "firefox-" upstream-firefox-version ".source.tar.xz"))
             (sha256
              (base32
-              "0qh7j960wdp5zcfqhkj8ki47spp9i9ms12xx0v0kxvmmw36jpgjk"))))
+              "0nmm861p4zakdvi9lj0ac8dkf9v17250rzcmrx1f6r7rvjv273ih"))))
 
-         (upstream-icecat-base-version "91.13.0") ; maybe older than base-version
+         (upstream-icecat-base-version "102.3.0") ; maybe older than base-version
          ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
-         (gnuzilla-commit "4a87716686104266a9cccc2d83cc249e312f3673")
+         (gnuzilla-commit "f82b5b40943fe7723486fadccb48d454ee3e9dad")
          (gnuzilla-source
           (origin
             (method git-fetch)
@@ -516,13 +681,10 @@ in C/C++.")
                                       (string-take gnuzilla-commit 8)))
             (sha256
              (base32
-              "070j78al04xzchfl5xj1w300hmw17a3iqcw7mnlxf6b8rqlgj20p"))))
+              "1d7lfvwi9mvaxcfiqcgch3idhyxpdf56r9b71r54yiifv6xlr7x9"))))
 
          ;; 'search-patch' returns either a valid file name or #f, so wrap it
          ;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
-         (gnuzilla-fixes-patch
-          (local-file (assume-valid-file-name
-                       (search-patch "icecat-use-older-reveal-hidden-html.patch"))))
          (makeicecat-patch
           (local-file (assume-valid-file-name
                        (search-patch "icecat-makeicecat.patch")))))
@@ -579,8 +741,6 @@ in C/C++.")
                 (with-directory-excursion "/tmp/gnuzilla"
                   (make-file-writable "makeicecat")
                   (invoke "patch" "--force" "--no-backup-if-mismatch"
-                          "-p1" "--input" #+gnuzilla-fixes-patch)
-                  (invoke "patch" "--force" "--no-backup-if-mismatch"
                           "-p1" "--input" #+makeicecat-patch)
                   (patch-shebang "makeicecat")
                   (substitute* "makeicecat"
@@ -695,7 +855,7 @@ in C/C++.")
            libffi
            ffmpeg
            libvpx
-           icu4c
+           icu4c-71  ; TODO: Change to 'icu4c' when its version is >= 71.
            pixman
            pulseaudio
            mesa
@@ -719,18 +879,19 @@ in C/C++.")
      ;; a tarball suitable for compilation on any system that IceCat supports.
      ;; (Bug fixes and security fixes, however, should go in 'source').
      (list
-      ;; XXX TODO: Adapt these patches to IceCat 91.
+      ;; XXX TODO: Adapt these patches to IceCat 102.
       ;; ("icecat-avoid-bundled-libraries.patch"
       ;;  ,(search-patch "icecat-avoid-bundled-libraries.patch"))
       ;; ("icecat-use-system-graphite2+harfbuzz.patch"
       ;;  ,(search-patch "icecat-use-system-graphite2+harfbuzz.patch"))
       ;; ("icecat-use-system-media-libs.patch"
       ;;  ,(search-patch "icecat-use-system-media-libs.patch"))
-      rust
-      `(,rust "cargo")
-      rust-cbindgen-0.19
-      llvm-11
-      clang-11
+      ;; TODO: Change the following lines to use 'rust' when it's >= 1.59.
+      (force rust-1.59-promise)
+      `(,(force rust-1.59-promise) "cargo")
+      (force rust-cbindgen-0.23-promise)
+      llvm
+      clang
       perl
       node
       python-wrapper
@@ -787,6 +948,9 @@ in C/C++.")
          ;; Hack to work around missing "unofficial" branding in icecat.
          "--enable-official-branding"
 
+         ;; TODO: Add support for wasm sandboxed libraries.
+         "--without-wasm-sandboxed-libraries"
+
          ;; Avoid bundled libraries.
          "--with-system-jpeg"           ;must be libjpeg-turbo
          "--with-system-png"            ;must be libpng-apng
@@ -950,6 +1114,13 @@ in C/C++.")
                             "servo"
                             "security/manager/ssl"
                             "build")))))
+          (add-after 'patch-cargo-checksums 'remove-cargo-frozen-flag
+            (lambda _
+              ;; Remove --frozen flag from cargo invokation, otherwise it'll
+              ;; complain that it's not able to change Cargo.lock.
+              ;; https://bugzilla.mozilla.org/show_bug.cgi?id=1726373
+              (substitute* "build/RunCbindgen.py"
+                           (("\"--frozen\",") ""))))
           (delete 'bootstrap)
           (replace 'configure
             ;; configure does not work followed by both "SHELL=..." and
@@ -971,10 +1142,18 @@ in C/C++.")
                 (setenv "LDFLAGS" (string-append "-Wl,-rpath="
                                                  #$output "/lib/icecat"))
 
-                (setenv "MACH_USE_SYSTEM_PYTHON" "1")
-                (setenv "MOZ_NOSPAM" "1")
+                (setenv "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE" "system")
                 (setenv "MOZ_BUILD_DATE" #$%icecat-build-id) ; avoid timestamp
 
+                ;; XXX TODO: Fix this to work on systems other than x86_64-linux.
+                (setenv "GUIX_PYTHONPATH"
+                        (string-append (getcwd)
+                                       "/obj-x86_64-pc-linux-gnu/_virtualenvs/build"))
+
+                (mkdir ".mozbuild")
+                (setenv "MOZBUILD_STATE_PATH"
+                        (string-append (getcwd) "/.mozbuild"))
+
                 (format #t "build directory: ~s~%" (getcwd))
                 (format #t "configure flags: ~s~%" flags)
 
@@ -1049,7 +1228,9 @@ in C/C++.")
                   (("IceCat")           "GNU IceCat")
                   (("Icon=.*")          "Icon=icecat\n")
                   (("NewWindow")        "new-window")
-                  (("NewPrivateWindow") "new-private-window"))
+                  (("NewPrivateWindow") "new-private-window")
+                  (("StartupNotify=true")
+                   "StartupNotify=true\nStartupWMClass=Navigator"))
                 (install-file desktop-file applications))))
           (add-after 'install-desktop-entry 'install-icons
             (lambda _
@@ -1073,7 +1254,7 @@ features built-in privacy-protecting features.  This package also includes the
 @command{geckodriver} command, which can be useful for automated web
 testing.
 
-WARNING: IceCat 91 has not yet been released by the upstream IceCat project.
+WARNING: IceCat 102 has not yet been released by the upstream IceCat project.
 This is a preview release, and does not currently meet the privacy-respecting
 standards of the IceCat project.")
     (license license:mpl2.0)     ;and others, see toolkit/content/license.html
@@ -1082,13 +1263,293 @@ standards of the IceCat project.")
        (cpe-name . "firefox_esr")
        (cpe-version . ,(first (string-split version #\-)))))))
 
+(define all-mozilla-91-locales
+  (mozilla-locales
+   ;;                      sha256                            changeset    locale
+   ;;---------------------------------------------------------------------------
+   ("0f2lkv79gqf46f74905mab3zwyz1532chxlf9d28s548p1hw6lv9" "8312cd2e0777" "ach")
+   ("1v5jpmd0b04mizm9pjffp4r9q121vpq3yzkkxcgmrcwj4gc5jb2y" "21bf766c19d8" "af")
+   ("1fqjiq2la543z5pbbvd9kfs0wdc2phmqjbxascfsak854qy1z9f9" "34b6a4f0790d" "an")
+   ("0pl6j99xnali25glyr3g9fmj67v9vqmhd9k74i97f8q5n4xmv3ym" "513c3e8dac97" "ar")
+   ("0d1fbk9jcai19pi8b7i4y4r0gscqi1inr9dbahd6h0xbxfwc0zif" "19ca0cd0d1bf" "ast")
+   ("08f9b63wxxy28zaimjn1ab9w51bvrarc3pp75s7v6kzm5bk1jwic" "44aa0dad7964" "az")
+   ("15pksy9bgaxcbcnvvp8jwqnqxvvhq9vnljpai6jlh52yyrsglbwi" "5e4499355167" "be")
+   ("0gdg84jp1i4il4nc6gwaswdhc4ljbb9inyip7vhkng09v3pmwm0h" "98d006107851" "bg")
+   ("0i6vl0ag74phj4l38cvds1ds3jjdal1c8d7hy6pf4aqrp4ai32mh" "2ca52cbb680a" "bn")
+   ("16yavargwq8rhipzpmrrvyh68g3a6disz9g5m8xbhxvixhcsi5fr" "ce92556a0a90" "br")
+   ("1512dzp394pj66i13nsz76qh6fmjpz7r7fmvk8d0h7pjk0d6n0dy" "1c79dabdb120" "bs")
+   ("19wg0kbr2ihbn4lscsxg9agz04r8bsih4692vfgb6nyn1z8vx2i0" "a22912c01617" "ca")
+   ("1ixpzjb7caq1d9c7c044rxg3ymxs3hjw120kq85v004jrrb4d9c6" "34bf3fd631d4" "ca-valencia")
+   ("1abizdmd1c56syni1aanwwrfvmgzz25fmimbj2324bcw801ma9h0" "e2e4ba2c37bc" "cak")
+   ("0wgrg2wiz1jcj52nd4zl4shfkjhbngfj6p1gw1ywj266hk8g6pvw" "a60792bff6ff" "cs")
+   ("132f29111jd2z9yxpakkyri80mi2ggnik6zxaxqrp4vlcrd1fxd2" "66369fcad8c7" "cy")
+   ("04lpic3cxdj1imcwjkbk81avp9dpa1c9b1zcchrr1a4vyy4yfjpy" "af198d43f7d6" "da")
+   ("1h0rkwlsqls8k1qi1y68plw6xk0z2c5xc2y4nqywiirl71yz7fi5" "816fcef20c05" "de")
+   ("11lzdyl1h42zb1x2yxiv3r0wih8jy1gr0gzs5d1isdq53sa9cqnq" "962e5a544415" "dsb")
+   ("146jgrhl41k6zbxg58hxh1s088padsjz7ny8nm59i9i8d00jpv0a" "e7c49fd88463" "el")
+   ("1qppr44hdnrb1z1igcd1p0w5sy9vpihzilkl2w44y0v0v9rigppv" "5a0e35b08a48" "en-CA")
+   ("1v2irfms24cx9g5s6r1glmp2c000wi91axyca1pn37s7c01r0n4b" "72f8c5d8305d" "en-GB")
+   ("1y0rbbmax1w6jy4jacy27xgy4aqnd43izysw8qjwm0qhhfjvf3xh" "40994fca693d" "eo")
+   ("0kmjvinqpb3y81mqda1qq8k202aa36as9z1z775745bx6sbvkggz" "6cf3c836995d" "es-AR")
+   ("06rvd1z3l0r7hwnsnw90i0f5j2ysbv6wd3cl64g0bgifmwjk75hi" "8727dda3935e" "es-CL")
+   ("0gzw1rn9nzpgcrrc10indnbqqpax87azczrfxv8mn5n56j734hc0" "5351aba49895" "es-ES")
+   ("0bnmgisxfkb6rb12avhipbsj1yr0dyv56qjj9471gnc2ppq7k3c9" "dd834a4af402" "es-MX")
+   ("1951975h9w813qxanbk3frjz7c8knzx5rvq9i82j9i6x6a3fh6fi" "1f2150796079" "et")
+   ("1vkb5rd0k6vh9dbll3fhyzg8rfpkxxkd2rxwf66b8l3hg4fqd7f2" "2911663f4a7c" "eu")
+   ("1cj9zblfp94h86m7zd762bfmcfz0yxc1q4ra35s4wnnlqajarzwj" "04ec3c3bbe92" "fa")
+   ("1ininsyzaj7xd8ppmklm3zglgw1i0nhdy43iiyva32hb592zxy4m" "0cf866f9bc4e" "ff")
+   ("1hc308d71iygarrpliv7pxjz49gxwqg10d0pv8j4sbb2pw39bprl" "04a600fc54a4" "fi")
+   ("02nl54db9130rg59wmrrnh0z726fg5ir1njfcnhxagb4g5b7s69f" "64a3576df276" "fr")
+   ("1qbby23qlkxjz3vwlk8pd2w1w4cxdff8cq7j0ipk44mijkxkry0c" "c84177dfa254" "fy-NL")
+   ("1x23pg36ld5qnrmdn149rkl85ia8lmiqbzcac2bm0iqprnjdszii" "31590cffac56" "ga-IE")
+   ("005fpyr1lvw23dja3yrzx4y8wdih7vx6ljjpisf4pd3k5zai4x81" "ba4f274ac4a1" "gd")
+   ("0kdlb5q74n0fl5fxfy873s392kry69dmdl8b4gvqdyh5sy66vsqm" "56b41bdcd401" "gl")
+   ("0v8r8b0nrk1l4xipzhq16klmh0pinzcrma0s0gyhgzqqli6z7aym" "59e2afb65c08" "gn")
+   ("1grb1lq1f9p5jxgh9v78jl1wswxmsqxkcssm35l30k6y24pglr0m" "33b4409fb615" "gu-IN")
+   ("172fg55y8l90ix4c8s5x7f8mg6rc7779p6l852cnnkfqjgqa5a5f" "92f9f8238189" "he")
+   ("0i52nmg0yv3y1y3rkinxcyh51mgjksk7c3jlc8014801m3zvyxj7" "00090f7a2a3f" "hi-IN")
+   ("074q8n00yq54kzk632dwbs64r0sygvybbvwpd6hbvfpn38lz8hxf" "6e4a3fdc01f3" "hr")
+   ("1jxiz8zyxbpnwgk5xkwfxlr5f1zfyc88jcsajy8wcaifdkld3cwn" "7fd9bc25e49d" "hsb")
+   ("0ca11pmkzyd9ccrnrbmk0jrpcb03k88v4zivxblnxj4w03g0hyhq" "ce3b378ce950" "hu")
+   ("1yszljbh8f7w6lckfw22jwximy3yhis4430lfynfb8lh9nm0fw59" "c91a4a3e8821" "hy-AM")
+   ("0hhl8b8szqlhjdxhsa81zmgr303kr0jx5d6rzbi840qwf01h12sz" "4f235acc839e" "ia")
+   ("063yfk3nz3kignbri7r9sr3jwr5p9yyqc6sckgqs94hx6lvc355p" "fface86a34e4" "id")
+   ("1qszxkgliall4haaq6v0xayxikq43ddcdsn1d4m1mwyp7gdpbry5" "5978ae767b44" "is")
+   ("1fsfz9iz5pdd5r9ckdal6grvddchsc4r3r8gn4w6f2bja6vpbs05" "0c7d2a0e1304" "it")
+   ("1phkw0apiicgbw2nq3g392xncw1v2c4yac595h3nchs4q6rp9pd9" "1c923f3e88b9" "ja")
+   ("1y4gc4l6g72nphhsw4aqhcl80a7wi9qdy61h66c6jc6h14i7278d" "66f700940cfa" "ja-JP-mac")
+   ("0iqwj0y19zqcdclnn92z490s1g9vh2qr9gmkyfnpsz69llxidx1j" "49b4a7c6bb2c" "ka")
+   ("111nm2khff0zxnqqfc68rbi3j0b1nx5r4xai7b8yymyv1i0qbsxd" "4854facbd60b" "kab")
+   ("12p7lg2p6pcqdlb4bqbz5isxilw2r9vb8344sh8zrvv9cb9jq04f" "d2fda8a1b287" "kk")
+   ("142vpw9npqgc8b5zcg5cy2lh07s4mg8xfbaymg44fb4j3s6agw88" "3a5a1cae9b93" "km")
+   ("00v1sd2byj2ksxw1020z142cdlxa7ri2v1rzjrhay9l465bj3k8x" "6ed122b33cac" "kn")
+   ("1s07yhwzpxj0l5vj5lzbvgw115sjx1g2zgbqca5wln95dds39npl" "49bc07645a47" "ko")
+   ("1b4brfww0w7x1h3ff19i6xi8xq2cb1hxysilira6yq4rb6vhlmly" "93f04df12616" "lij")
+   ("1i30my0bbgm9z02rxxi7x4vc69bs3bnjs9l2q6jd8xvs1ga3vc7n" "e1f4e0d87509" "lt")
+   ("1bjh4xlx6562hxq527cqcn4b5295dsdpwn4c4y5ci902nlh6fc8l" "daea4ba4e7f4" "lv")
+   ("0vig42slcx6bhpisyc1bnyklr95lbv7vqd1ckiywp5c5qzfa9afi" "0c4ca0f4fc17" "mk")
+   ("10qfnkqi2snmgvm4vcrmp2489klchv3hn2c4rmkdhi5bilfk42jx" "9be8d5951976" "mr")
+   ("1bkn8ds3fyz710ck4gg4g5vpv23bi573ssm9xbiyl8y59pvbig9b" "0f44d0bcfda2" "ms")
+   ("1j9af3axbijn0s8y96310mvgaq5a36m0r3ij550jv5bv52862crj" "ccbf0c4355d6" "my")
+   ("0lspnp9jn3rrgz3djnmc0qrb6ymigvqnr3fb0jbhmf83r4yfs8z1" "a6cf2c6e3594" "nb-NO")
+   ("1xp2884m9gqm9gaakc747bd9j55wssrh3qsf4y4k02ijh08sfmwb" "c1636a1a7507" "ne-NP")
+   ("0y1fxp9pxia6x2wxdharh2ynvzdqcmzpya1gdb89pcv5qyrzqgcl" "60ed1c2397a6" "nl")
+   ("1nbp924p7fp2c76ym71wp34vk96z89i4g2rfgpsi54cgv42a6vgq" "a7f9a3d35875" "nn-NO")
+   ("1yrmhyvb6skypcyvi6j3py51sdkq9vn35zkryx6rdp8ygqwm1va7" "9ac29828960e" "oc")
+   ("0rn2414ji1icar627arf5rjwl9r9vxhznbfsyxgrmrf0p6dp72fv" "87720cc32205" "pa-IN")
+   ("09lam6yaprc8zyisq0pcdj4afpg930c2x3x47gdxnqfyhmcfygs7" "56b2c592ffba" "pl")
+   ("0mbc1a8wvjs3k928qh0k800d230251i0rw0myhdpc6mk3xjna7i5" "89f1b173c9b1" "pt-BR")
+   ("1v1qa5slllz78222rlqr4b8k7c8dapmx8d7s5nb90wdffic0zcqy" "27adc5dad781" "pt-PT")
+   ("04k6h5d7c740lz1hx1vavj6p0fmhgn9mm3nwvk4p9iccy5nw5pmf" "83e2e4833fc3" "rm")
+   ("0f0hz792wr17mgi6n190dliqx67479aqg3y2ak0jg0fiz2c8qr7p" "69cdc288966f" "ro")
+   ("17yngj0v30687m7fa1ls0g86vjg8jzxs7bnsca91jpxf3ij44xp6" "03046775600f" "ru")
+   ("1fvz23nphs9i4gdkx9fcy5ahdk2f879281pchclwi0qlciq7digr" "61ea93a50fff" "sco")
+   ("0yc1iwqbnpnf1i7yz3zqrx6g8pinc7l53pvbczywfkq3rz6wmmf5" "2b134d24c046" "si")
+   ("0kizljksn2vn4yw7qlv7c8h2m75f7n9ddg6n6ag3hwxxip83hn4y" "6d69c24dc8db" "sk")
+   ("1ll936b18wy464623jc5smf3c6dpimh0qwn28a991h7zcw31n3kp" "29e195d1d160" "sl")
+   ("14w9n994z9gf0wx7vrqisyxkngvhmmnayx8r0vwiq8k7jy81sxlm" "60a3b235fe1d" "son")
+   ("0z7bcfvq6x6dxf4d4bbjsg36r5npkr89087b0j360ljampk6c2fn" "8588cbc89847" "sq")
+   ("1fcq9g89lhzckzr2qb6x0w0z6q486n9jdqfi6h70dx8b069b3jfj" "198f7e89f10d" "sr")
+   ("0ap3m1sbibnaj9s2l139m7l8cc8s2ky4jlxwgzbxdzvqxfz7n954" "b098e2ebc049" "sv-SE")
+   ("0k93gnwfs5mahb9vz1c65ddcbkav0cwhxnrww3qk7gcmn7q88gqk" "25951b964d5b" "szl")
+   ("0b0v5pcwvhvhg8vlzy26g3j0m1r8svrpq07hq0q7lxldwlb48phz" "94659c83c9d8" "ta")
+   ("1v35cl6m3ikzsriq6zkjzjs3p9bhl8zmbp2gl14mga1f1zy4kcah" "eb59646a5d36" "te")
+   ("0y3r30mjgxngjraqmf5cm00kgqx2pvhbvy8sfxb3fhypv9vda3yr" "10d257301a2d" "th")
+   ("1inyqk495py20jwjvs4yl0n5ncf3hhb896bs1lwfsgpvbvr5hbq1" "9be6adca0e51" "tl")
+   ("0vsirjs655cia9n8dys2r84bvg303hcxkk2w6a9j3dkbifq5ymk6" "51354c936bf6" "tr")
+   ("050x882c0ywil290k4g861njw70ffw2y55dqk3w0kffi972mm909" "d7510f2d01dc" "trs")
+   ("001ykwxkwibavbi1k42b1hmysb3gmrwcs68zmw96m1vc80p29nz1" "4d1fa878042b" "uk")
+   ("0lsz6jlmmsqdg47pdx8b1djjvcavi0wlyr0mkpyhjgpginag21zx" "ad3035f28183" "ur")
+   ("0d3ggm3q76pkpg4n3lz2ji4pbb47n885byqxbp7sk6n9vlgzir7l" "8ea7a5a051db" "uz")
+   ("0v7d8y6xsr6yf2s1sjxnsjmw0hdnj91f0w2da6spkifb52lmbv6v" "67fe2acb306f" "vi")
+   ("0j8l09vzqlw4zlkyp6wkh44c5gr1xgbcmnawks1zj7xz02ambwii" "abc22dfb6d84" "xh")
+   ("1c01pbyswixkjg42714fvfy33b09mpdbf4d8f8kcs88c86jpf07z" "d6d6f9bb6113" "zh-CN")
+   ("0yq8fqdz862pnlbvfsqfc152rhpsqgncvp8bqkd653mdfv4qkwr4" "0cbdc5f1a048" "zh-TW")))
+
+(define %icecat-91-version "91.13.0-guix0-preview1")
+
+(define icecat-91-source
+  (let* ((base-version (first (string-split %icecat-91-version #\-)))
+
+         (major-version (first  (string-split base-version #\.)))
+         (minor-version (second (string-split base-version #\.)))
+         (sub-version   (third  (string-split base-version #\.)))
+
+         (upstream-firefox-version (string-append base-version "esr"))
+         (upstream-firefox-source
+          (origin
+            (method url-fetch)
+            (uri (string-append
+                  "https://ftp.mozilla.org/pub/firefox/releases/"
+                  upstream-firefox-version "/source/"
+                  "firefox-" upstream-firefox-version ".source.tar.xz"))
+            (sha256
+             (base32
+              "0qh7j960wdp5zcfqhkj8ki47spp9i9ms12xx0v0kxvmmw36jpgjk"))))
+
+         (upstream-icecat-base-version "91.13.0") ; maybe older than base-version
+         ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
+         (gnuzilla-commit "4a87716686104266a9cccc2d83cc249e312f3673")
+         (gnuzilla-source
+          (origin
+            (method git-fetch)
+            (uri (git-reference
+                  (url "git://git.savannah.gnu.org/gnuzilla.git")
+                  (commit gnuzilla-commit)))
+            (file-name (git-file-name "gnuzilla"
+                                      ;;upstream-icecat-base-version
+                                      (string-take gnuzilla-commit 8)))
+            (sha256
+             (base32
+              "070j78al04xzchfl5xj1w300hmw17a3iqcw7mnlxf6b8rqlgj20p"))))
+
+         ;; 'search-patch' returns either a valid file name or #f, so wrap it
+         ;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
+         (gnuzilla-fixes-patch
+          (local-file (assume-valid-file-name
+                       (search-patch "icecat-use-older-reveal-hidden-html.patch"))))
+         (makeicecat-patch
+          (local-file (assume-valid-file-name
+                       (search-patch "icecat-makeicecat.patch")))))
+
+    (origin
+      (method computed-origin-method)
+      (file-name (string-append "icecat-" %icecat-91-version ".tar.xz"))
+      (sha256 #f)
+      (uri
+       (delay
+        (with-imported-modules '((guix build utils))
+          #~(begin
+              (use-modules (guix build utils))
+              (let ((firefox-dir
+                     (string-append "firefox-" #$base-version))
+                    (icecat-dir
+                     (string-append "icecat-" #$%icecat-91-version)))
+
+                (set-path-environment-variable
+                 "PATH" '("bin")
+                 (list #+rename
+                       #+python
+                       #+(canonical-package bash)
+                       #+(canonical-package coreutils)
+                       #+(canonical-package findutils)
+                       #+(canonical-package patch)
+                       #+(canonical-package xz)
+                       #+(canonical-package sed)
+                       #+(canonical-package grep)
+                       #+(canonical-package bzip2)
+                       #+(canonical-package gzip)
+                       #+(canonical-package tar)))
+
+                (set-path-environment-variable
+                 "PYTHONPATH"
+                 (list #+(format #f "lib/python~a/site-packages"
+                                 (version-major+minor
+                                  (package-version python))))
+                 '#+(cons python-jsonschema
+                          (map second
+                               (package-transitive-propagated-inputs
+                                python-jsonschema))))
+
+                ;; Needed by the 'makeicecat' script.
+                (setenv "RENAME_CMD" "rename")
+
+                ;; We copy the gnuzilla source directory because it is
+                ;; read-only in 'gnuzilla-source', and the makeicecat script
+                ;; uses "cp -a" to copy parts of it and assumes that the
+                ;; copies will be writable.
+                (copy-recursively #+gnuzilla-source "/tmp/gnuzilla"
+                                  #:log (%make-void-port "w"))
+
+                (with-directory-excursion "/tmp/gnuzilla"
+                  (make-file-writable "makeicecat")
+                  (invoke "patch" "--force" "--no-backup-if-mismatch"
+                          "-p1" "--input" #+gnuzilla-fixes-patch)
+                  (invoke "patch" "--force" "--no-backup-if-mismatch"
+                          "-p1" "--input" #+makeicecat-patch)
+                  (patch-shebang "makeicecat")
+                  (substitute* "makeicecat"
+                    (("^readonly FFMAJOR=(.*)" all ffmajor)
+                     (unless (string=? #$major-version
+                                       (string-trim-both ffmajor))
+                       ;; The makeicecat script cannot be expected to work
+                       ;; properly on a different version of Firefox, even if
+                       ;; no errors occur during execution.
+                       (error "makeicecat major version mismatch"))
+                     (string-append "readonly FFMAJOR=" #$major-version "\n"))
+                    (("^readonly FFMINOR=.*")
+                     (string-append "readonly FFMINOR=" #$minor-version "\n"))
+                    (("^readonly FFSUB=.*")
+                     (string-append "readonly FFSUB=" #$sub-version "\n"))
+                    (("^readonly DATADIR=.*")
+                     "readonly DATADIR=/tmp/gnuzilla/data\n")
+                    (("^readonly SOURCEDIR=.*")
+                     (string-append "readonly SOURCEDIR=" icecat-dir "\n"))
+                    (("/bin/sed")
+                     #+(file-append (canonical-package sed) "/bin/sed"))))
+
+                (format #t "Unpacking upstream firefox tarball...~%")
+                (force-output)
+                (invoke "tar" "xf" #+upstream-firefox-source)
+                (rename-file firefox-dir icecat-dir)
+
+                (with-directory-excursion icecat-dir
+                  (format #t "Populating l10n directory...~%")
+                  (force-output)
+                  (mkdir "l10n")
+                  (with-directory-excursion "l10n"
+                    (for-each
+                     (lambda (locale-dir)
+                       (let ((locale
+                              (string-drop (basename locale-dir)
+                                           (+ 32  ; length of hash
+                                              (string-length "-mozilla-locale-")))))
+                         (format #t "  ~a~%" locale)
+                         (force-output)
+                         (copy-recursively locale-dir locale
+                                           #:log (%make-void-port "w"))
+                         (for-each make-file-writable (find-files locale))
+                         (with-directory-excursion locale
+                           (when (file-exists? ".hgtags")
+                             (delete-file ".hgtags"))
+                           (mkdir-p "browser/chrome/browser/preferences")
+                           (call-with-output-file
+                               "browser/chrome/browser/preferences/advanced-scripts.dtd"
+                             (lambda (port) #f)))))
+                     '#+all-mozilla-91-locales)
+                    (copy-recursively #+mozilla-compare-locales
+                                      "compare-locales"
+                                      #:log (%make-void-port "w"))
+                    (delete-file "compare-locales/.gitignore")
+                    (delete-file "compare-locales/.hgignore")
+                    (delete-file "compare-locales/.hgtags")))
+
+                (format #t "Running makeicecat script...~%")
+                (force-output)
+                (invoke "bash" "/tmp/gnuzilla/makeicecat")
+
+                (format #t "Packing IceCat source tarball...~%")
+                (force-output)
+                (setenv "XZ_DEFAULTS" (string-join (%xz-parallel-args)))
+                (invoke "tar" "cfa" #$output
+                        ;; Avoid non-determinism in the archive.  We set the
+                        ;; mtime of files in the archive to early 1980 because
+                        ;; the build process fails if the mtime of source
+                        ;; files is pre-1980, due to the creation of zip
+                        ;; archives.
+                        "--mtime=@315619200" ; 1980-01-02 UTC
+                        "--owner=root:0"
+                        "--group=root:0"
+                        "--sort=name"
+                        icecat-dir)))))))))
+
 ;; Update this together with icecat!
-(define %icedove-build-id "20220726000000") ;must be of the form YYYYMMDDhhmmss
+(define %icedove-build-id "20220919000000") ;must be of the form YYYYMMDDhhmmss
 (define-public icedove
   (package
     (name "icedove")
-    (version "91.12.0")
-    (source icecat-source)
+    (version "91.13.1")
+    (source icecat-91-source)
     (properties
      `((cpe-name . "thunderbird_esr")))
     (build-system gnu-build-system)
@@ -1366,7 +1827,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 "bd3da11e22d0070699026cb5f4e31b44b35580f0"))
+        ,(let ((changeset "2f9b465346ceb38b4ab79ccc1bfe8d8ad0bc8743"))
            (origin
              (method hg-fetch)
              (uri (hg-reference
@@ -1375,7 +1836,7 @@ standards of the IceCat project.")
              (file-name (string-append "thunderbird-" version "-checkout"))
              (sha256
               (base32
-               "14na1n37sqjqcxmhbp0c56a1j70gnyqgrhlrk5jkblml47x4i35w")))))
+               "10vsbwlh5imq7iljwzq3r4y80wzsmj6s2gsi1n64l0wmfq2m6ilb")))))
        ("cargo" ,rust "cargo")
        ("clang" ,clang)
        ("llvm" ,llvm)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index ca0999b622..2e7094cfff 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -4951,7 +4951,7 @@ with a FSM is being built (for example, from a Makefile.)")
 (define-public guile-ini
   (package
     (name "guile-ini")
-    (version "0.5.1")
+    (version "0.5.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -4960,21 +4960,12 @@ with a FSM is being built (for example, from a Makefile.)")
               (file-name (string-append name "-" version))
               (sha256
                (base32
-                "0ky7sffxywc2p84q5kdsphr99q0g5gy45rj0vx7f77hwpfm2093x"))))
+                "17fbys3gsfyx4f77a2fswirx76dlr57il2z27z77wljaz777jk36"))))
     (build-system gnu-build-system)
     (arguments
      `(#:make-flags '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings
        #:phases (modify-phases %standard-phases
-                  (delete 'strip)
-                  (add-before 'build 'generate-fsm-context
-                    ;; Make sure the intermediate FSM context is present
-                    ;; before the build.
-                    (lambda _
-                      (let ((cwd (getcwd)))
-                        (chdir "modules/ini/")
-                        (invoke "make" "GUILE_AUTO_COMPILE=0"
-                                "fsm-context.scm")
-                        (chdir cwd)))))))
+                  (delete 'strip))))
     (native-inputs (list autoconf automake pkg-config texinfo))
     (inputs (list bash-minimal guile-3.0 guile-lib))
     (propagated-inputs (list guile-smc))
diff --git a/gnu/packages/instrumentation.scm b/gnu/packages/instrumentation.scm
index 964e26d40a..3d6b6fab38 100644
--- a/gnu/packages/instrumentation.scm
+++ b/gnu/packages/instrumentation.scm
@@ -22,6 +22,7 @@
   #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages commencement)
+  #:use-module (gnu packages compression)
   #:use-module (gnu packages datastructures)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages elf)
@@ -30,6 +31,7 @@
   #:use-module (gnu packages flex)
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages guile)
   #:use-module (gnu packages haskell-xyz)
   #:use-module (gnu packages libunwind)
   #:use-module (gnu packages linux)
@@ -207,17 +209,76 @@ interactive SVGs out of traces genated from various tracing tools.  It comes
 with the script @command{flamegraph.pl} and many stackcollapse scripts.")
       (license license:cddl1.0))))
 
+(define-public libpatch
+  (package
+    (name "libpatch")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.sr.ht/~old/libpatch")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1sx1sichnnqfi84z37gd04h41vpr8i2vg6yg0jkqxlrv3dys489a"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        (string-append
+         "--target="
+         ,(platform-linux-architecture
+           (lookup-platform-by-target-or-system
+            (or
+             (%current-target-system)
+             (%current-system))))))))
+    ;;; Add lttng-ust to the inputs if you want tracepoints within libpatch
+    ;;; for debugging.
+    (inputs
+     (list capstone
+           elfutils
+           libunwind
+           liburcu))
+    (native-inputs
+     (list coreutils
+           ;; test-ftrace.scm
+           (list coreutils "debug")
+           (list guile-3.0 "debug")
+           (list gnu-make "debug")
+
+           ;; For eu-nm in test-ftrace.scm.
+           (list elfutils "bin")
+
+           guile-3.0
+           gnu-make
+           pkg-config
+           ;; zlib is required by libdw.  This can be removed if zlib is put
+           ;; as a propagated-input of elfutils.
+           zlib))
+    (synopsis "Dynamic binary patcher")
+    (description
+     "libpatch is a lightweight C library that can be used by tracers,
+debuggers and other tools for insertion of probes in a program at runtime.  It
+has many strategies to minimize probe overhead and maximize possible
+coverage.")
+    (home-page "https://git.sr.ht/~old/libpatch")
+    (license (list license:lgpl2.1 license:expat license:gpl3+))
+    ;; Libpatch only supports instrumentation for x86_64 right now.  Augment
+    ;; that list in further version.
+    (supported-systems (list "x86_64-linux"))))
+
 (define-public lttng-modules
   (package
     (name "lttng-modules")
-    (version "2.13.4")
+    (version "2.13.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://lttng.org/files/lttng-modules/"
                                   "lttng-modules-" version ".tar.bz2"))
               (sha256
                (base32
-                "1vm9nnjvid7acsvgwnjyxd60ih9rmbhnfjldxip58n8x9q7d0nb1"))))
+                "0277yfp57psnvn5g40mk09zryp0r4saynns213qak18fv0l39szc"))))
     (build-system linux-module-build-system)
     (arguments
      `(#:tests? #f ; no tests
@@ -234,14 +295,14 @@ many probes which instrument numerous interesting parts of Linux.")
 (define-public lttng-ust
   (package
     (name "lttng-ust")
-    (version "2.13.3")
+    (version "2.13.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://lttng.org/files/lttng-ust/"
                                   "lttng-ust-" version ".tar.bz2"))
               (sha256
                (base32
-                "0vwgxp027pgwm0a4xr6bdibday7xjlnv6wmbqh546l2h2i8jzi1c"))))
+                "165kz3zsklynkxdkcbkwhw7cccdgmgmld35h1cf9hvn5bpn853v9"))))
     (build-system gnu-build-system)
     (inputs
      (list numactl))
@@ -260,20 +321,17 @@ to ring buffers shared with a consumer daemon.")
 (define-public lttng-tools
   (package
     (name "lttng-tools")
-    (version "2.13.7")
+    (version "2.13.8")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://lttng.org/files/lttng-tools/"
                                   "lttng-tools-" version ".tar.bz2"))
               (sha256
                (base32
-                "13gh4bvlgbh82h9vb80aw8l1cfmdj3xyvjg30cscz9vqy7l04yni"))))
+                "1h9x6mmqrxrbgivll3g81l7a9f7ggjmcgwr01f9r01r6kdbmksdi"))))
     (build-system gnu-build-system)
     (arguments
-     `( ;; FIXME - Currently there's a segmentation fault by swig when enabling
-       ;; Python's bindings.  Thus, bindings are disable here.  Replace
-       ;; `disable` by `enable` in #:configure-flags when this is fixed.
-       #:configure-flags '("--disable-python-bindings")
+     `(#:configure-flags '("--enable-python-bindings")
        ;; FIXME - Tests are disabled for now because one test hangs
        ;; indefinetely.  Also, parallel testing is not possible because of how
        ;; the lttng-daemon handles sessions.  Thus, keep parallel testing
diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm
index d1e04c3ae0..141653176b 100644
--- a/gnu/packages/ipfs.scm
+++ b/gnu/packages/ipfs.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
 ;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -28,7 +29,8 @@
   #:use-module (guix build-system go)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages python)
-  #:use-module (gnu packages shells))
+  #:use-module (gnu packages shells)
+  #:use-module (gnu packages syncthing))
 
 (define-public go-github-com-ipfs-go-ipfs-cmdkit-files
   (let ((commit
@@ -227,7 +229,55 @@ written in Go.")
              "/go-ipfs-source.tar.gz"))
        (sha256
         (base32 "13pmj83hwpz6mk7x52qn0cjnfqxqw2qri3r0k4b270w3bafcccwm"))
-       (file-name (string-append name "-" version "-source"))))
+       (file-name (string-append name "-" version "-source"))
+       (modules '((guix build utils)))
+       (snippet '(for-each delete-file-recursively
+                           ;; TODO: unbundle the rest as well
+                           '("vendor/github.com/alecthomas"
+                             ;; "vendor/github.com/blang"
+                             "vendor/github.com/cespare"
+                             ;; TODO: Go files not found
+                             ;; "vendor/github.com/cheggaaa"
+                             "vendor/github.com/davecgh"
+                             "vendor/github.com/dustin"
+                             "vendor/github.com/flynn"
+                             "vendor/github.com/francoispqt"
+                             "vendor/github.com/fsnotify"
+                             "vendor/github.com/gogo"
+                             "vendor/github.com/golang/groupcache"
+                             "vendor/github.com/golang/snappy"
+                             "vendor/github.com/google/uuid"
+                             "vendor/github.com/gorilla"
+                             ;; These should be fine, they are part of
+                             ;; the IPFS project
+                             ;; "vendor/github.com/ipfs"
+                             ;; "vendor/github.com/ipld"
+                             "vendor/github.com/jackpal"
+                             "vendor/github.com/klauspost"
+                             ;; TODO: Go files not found
+                             ;; "vendor/github.com/lucas-clemente"
+                             "vendor/github.com/mattn"
+                             "vendor/github.com/mgutz"
+                             "vendor/github.com/minio"
+                             "vendor/github.com/mitchellh"
+                             "vendor/github.com/mr-tron"
+                             "vendor/github.com/opentracing"
+                             "vendor/github.com/pkg"
+                             "vendor/github.com/pmezard"
+                             "vendor/github.com/prometheus/client_golang"
+                             "vendor/github.com/prometheus/client_model"
+                             "vendor/github.com/prometheus/common"
+                             "vendor/github.com/prometheus/procfs"
+                             "vendor/github.com/spaolacci"
+                             "vendor/github.com/stretchr"
+                             "vendor/github.com/syndtr"
+                             "vendor/golang.org/x"
+                             "vendor/gopkg.in/yaml.v2"
+                             "vendor/gopkg.in/yaml.v3"
+                             "vendor/go.uber.org/atomic"
+                             "vendor/go.uber.org/multierr"
+                             "vendor/go.uber.org/zap"
+                             "vendor/lukechampine.com")))))
     (build-system go-build-system)
     (arguments
      (list
@@ -247,6 +297,60 @@ written in Go.")
                                   "ipfs"
                                   #~(string-append #$output "/bin/ipfs"))
                             "commands" "completion" "bash")))))))))
+    (inputs (list go-github-com-alecthomas-units
+                  ;; TODO: needs to be updated first
+                  ;; go-github-com-blang-semver
+                  go-github-com-cespare-xxhash
+                  go-github-com-cheekybits-genny
+                  go-github-com-cheggaaa-pb-v3
+                  go-github-com-davecgh-go-spew
+                  go-github-com-dustin-go-humanize
+                  go-github-com-flynn-noise
+                  go-github-com-francoispqt-gojay
+                  go-github-com-fsnotify-fsnotify
+                  go-github-com-gogo-protobuf
+                  go-github-com-google-uuid
+                  go-github-com-golang-groupcache-lru
+                  go-github-com-golang-snappy
+                  go-github-com-gorilla-websocket
+                  go-github-com-jackpal-go-nat-pmp
+                  go-github-com-klauspost-compress
+                  go-github-com-klauspost-cpuid
+                  go-github-com-lucas-clemente-quic-go
+                  go-github-com-mattn-go-colorable
+                  go-github-com-mattn-go-isatty
+                  go-github-com-mattn-go-runewidth
+                  go-github-com-mgutz-ansi
+                  go-github-com-minio-blake2b-simd
+                  go-github-com-minio-sha256-simd
+                  go-github-com-mitchellh-go-homedir
+                  go-github-com-mr-tron-base58
+                  go-github-com-opentracing-opentracing-go
+                  go-github-com-pkg-errors
+                  go-github-com-pmezard-go-difflib
+                  go-github-com-prometheus-client-golang
+                  go-github-com-prometheus-client-model
+                  go-github-com-prometheus-common
+                  go-github-com-prometheus-procfs
+                  go-github-com-spaolacci-murmur3
+                  go-github-com-stretchr-testify
+                  go-github-com-syndtr-goleveldb
+                  go-gopkg-in-yaml-v2
+                  go-gopkg-in-yaml-v3
+                  go-go-uber-org-atomic
+                  go-go-uber-org-multierr
+                  go-go-uber-org-zap
+                  go-golang-org-x-crypto
+                  go-golang-org-x-lint
+                  go-golang-org-x-mod
+                  go-golang-org-x-net
+                  go-golang-org-x-oauth2
+                  go-golang-org-x-sync
+                  go-golang-org-x-sys
+                  go-golang-org-x-term
+                  go-golang-org-x-tools
+                  go-golang-org-x-xerrors
+                  go-lukechampine-com-blake3))
     (native-inputs
      (append (if (%current-target-system)
                  (list this-package)
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 95c0052841..ae4fb653bd 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -66,7 +66,7 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
-(define %jami-version "20220726.1515.da8d1da")
+(define %jami-version "20220825.0828.c10f01f")
 
 (define %jami-sources
   ;; Return an origin object of the tarball release sources archive of the
@@ -90,8 +90,8 @@
                                             "plugins"))))
     (sha256
      (base32
-      "1zx0i9aw8jsba3bjc5r4pkkybm8c0lyz420ciq89vsswd48gfdhg"))
-    (patches (search-patches "jami-fix-esc-bug.patch"))))
+      "1iv06jb66g206qxm75v7rc3mqvrml1028avflsj11chj8jh63j14"))
+    (patches (search-patches "jami-fix-crash-on-block-contact.patch"))))
 
 ;; Jami maintains a set of patches for some key dependencies (currently
 ;; pjproject and ffmpeg) of Jami that haven't yet been integrated upstream.
@@ -113,12 +113,12 @@
          patches))))
 
 (define-public pjproject-jami
-  (let ((commit "e1f389d0b905011e0cb62cbdf7a8b37fc1bcde1a")
+  (let ((commit "5e478bbf8692f43059de9c6ad654b377359baaa0")
         (revision "0"))
     (package
       (inherit pjproject)
       (name "pjproject-jami")
-      (version (git-version "2.11" revision commit))
+      (version (git-version "2.12" revision commit))
       (source (origin
                 (inherit (package-source pjproject))
                 ;; The Jami development team regularly issues patches to
@@ -133,7 +133,7 @@
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "0inpmyb6mhrzr0g309d6clkc99lddqdvyf9xajz0igvgp9pvgpza"))))
+                  "0n9hyqr57hhbmq35iqq5ihavj22gxzsspv0f8i6ajxwd4029nmcl"))))
       (arguments
        (substitute-keyword-arguments (package-arguments pjproject)
          ((#:phases phases '%standard-phases)
@@ -374,16 +374,21 @@
           '())))
 
 (define-public ffmpeg-jami
-  (package/inherit ffmpeg
+  (package
+    (inherit ffmpeg-5)
     (name "ffmpeg-jami")
+    ;; XXX: Use a slightly older version, otherwise the
+    ;; 'libopusdec-enable-FEC' patch doesn't apply.
+    (version "5.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+                "0yq0jcdc4qm5znrzylj3dsicrkk2n3n8bv28vr0a506fb7iglbpg"))))
     (arguments
-     (substitute-keyword-arguments (package-arguments ffmpeg)
-       ((#:tests? _ #f)
-        ;; The "rtp_ext_abs_send_time" patch causes the 'lavf-mov_rtphint'
-        ;; test to fail (see:
-        ;; https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/685).
-        ;; TODO: Try to disable just this test.
-        #f)
+     (substitute-keyword-arguments (package-arguments ffmpeg-5)
        ((#:configure-flags '())
         (ffmpeg-compose-configure-flags))
        ((#:phases phases)
@@ -399,7 +404,16 @@
                              "rtp_ext_abs_send_time"
                              "libopusdec-enable-FEC"
                              "libopusenc-reload-packet-loss-at-encode"
-                             "screen-sharing-x11-fix"))))))))))
+                             "screen-sharing-x11-fix"))))
+            (add-after 'apply-patches 'disable-problematic-tests
+              (lambda _
+                ;; The "rtp_ext_abs_send_time" patch causes the 'lavf-mov_rtphint'
+                ;; test to fail (see:
+                ;; https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/685).
+                (substitute* "tests/fate/lavf-container.mak"
+                  (("mov mov_rtphint ismv")
+                   "mov ismv")
+                  (("fate-lavf-mov_rtphint:.*") ""))))))))))
 
 (define-public libjami
   (package
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index c25a330c2a..3ab324cce9 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1781,511 +1781,398 @@ new Date();"))
                 "0di91nnms2iq1svgq72r5y17am17r4vh2lq43k0bkcwpc84d6nd8"))
               (modules '((guix build utils)))
               (snippet
-               `(begin
-                  (for-each delete-file (find-files "." ".*.(bin|exe|jar)$"))
-                  #t))))
+               '(for-each delete-file (find-files "." ".*.(bin|exe|jar)$")))))
     (build-system gnu-build-system)
     (outputs '("out" "jdk" "doc"))
     (arguments
-     `(#:imported-modules ((guix build syscalls)
+     (list
+      #:imported-modules `((guix build syscalls)
                            ,@%gnu-build-system-modules)
-
-       #:disallowed-references ,(list (gexp-input openjdk10)
-                                      (gexp-input openjdk10 "jdk"))
-
-       #:tests? #f; requires jtreg
-       ;; TODO package jtreg
-       #:configure-flags
-       `(;; Add flags for compilation with gcc >= 10
-         ,(string-append "--with-extra-cflags=-fcommon"
-                         " -fno-delete-null-pointer-checks"
-                         " -fno-lifetime-dse")
-         "--disable-option-checking" ; --enable-fast-install default flag errors otherwise
+      #:modules `((guix build gnu-build-system)
+                  (guix build utils)
+                  (ice-9 match)
+                  (srfi srfi-1)
+                  (srfi srfi-26))
+      #:disallowed-references (list (gexp-input openjdk10)
+                                    (gexp-input openjdk10 "jdk"))
+
+      #:tests? #f                       ; requires jtreg
+      ;; TODO package jtreg
+      #:configure-flags
+      #~(list
+         ;; Add flags for compilation with gcc >= 10.
+         #$(string-append "--with-extra-cflags=-fcommon"
+                          " -fno-delete-null-pointer-checks"
+                          " -fno-lifetime-dse")
+         ;; Otherwise, the '--enable-fast-install' causes an error.
+         "--disable-option-checking"
          "--disable-warnings-as-errors"
-         ;; make validate-runpath pass, see: http://issues.guix.info/issue/32894
+         ;; Make validate-runpath pass (see:
+         ;; http://issues.guix.info/issue/32894).
          "--with-native-debug-symbols=zipped"
-         ;; do not use the bundled libraries
+         ;; Do not use the bundled libraries.
          "--with-giflib=system"
          "--with-lcms=system"
          "--with-libjpeg=system"
          "--with-libpng=system"
          "--with-version-pre="
-         ;; allow the build system to locate the system freetype
-         ,(string-append "--with-freetype-include="
-                         (assoc-ref %build-inputs "freetype") "/include")
-         ,(string-append "--with-freetype-lib="
-                         (assoc-ref %build-inputs "freetype") "/lib"))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'patch-source-shebangs 'fix-java-shebangs
-           (lambda _
-             ;; This file was "fixed" by patch-source-shebangs, but it requires
-             ;; this exact first line.
-             (substitute* "make/data/blockedcertsconverter/blocked.certs.pem"
-               (("^#!.*") "#! java BlockedCertsConverter SHA-256\n"))
-             #t))
-         (add-after 'unpack 'patch-jni-libs
-           ;; Hardcode dynamically loaded libraries.
-           (lambda _
-             (define remove
-               (@ (srfi srfi-1) remove))
-
-             (define (icedtea-or-openjdk? path)
-               (or (string-contains path "openjdk")
-                   (string-contains path "icedtea")))
-
-             (let* ((library-path (remove icedtea-or-openjdk?
-                                          (search-path-as-string->list
-                                           (getenv "LIBRARY_PATH"))))
-                    (find-library (lambda (name)
-                                    (or (search-path
-                                         library-path
-                                         (string-append "lib" name ".so"))
-                                        (string-append "lib" name ".so")))))
-               (for-each
-                (lambda (file)
-                  (catch 'decoding-error
-                    (lambda ()
-                      (substitute* file
-                        (("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)"
-                          _ name version)
-                         (string-append "\"" (find-library name) "\""))
-                        (("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name)
-                         (string-append "\"" (find-library name) "\""))))
-                    (lambda _
-                      ;; Those are safe to skip.
-                      (format (current-error-port)
-                              "warning: failed to substitute: ~a~%"
-                              file))))
-                (find-files "."
-                            "\\.c$|\\.h$"))
-               #t)))
-         (add-before 'build 'write-source-revision-file
-           (lambda _
-             (with-output-to-file ".src-rev"
-               (lambda _
-                 (display ,version)))
-             #t))
-         (replace 'build
-           (lambda* (#:key parallel-build? make-flags #:allow-other-keys)
-             (apply invoke "make" "all"
-                    `(,@(if parallel-build?
-                            (list (string-append "JOBS="
-                                                 (number->string (parallel-job-count))))
-                            '())
-                      ,@make-flags))))
-         ;; jdk 11 does not build jre by default any more
-         ;; building it anyways
-         ;; for further information see:
-         ;; https://github.com/AdoptOpenJDK/openjdk-build/issues/356
-         (add-after 'build 'build-jre
-           (lambda* (#:key parallel-build? make-flags #:allow-other-keys)
-             (apply invoke "make" "legacy-jre-image"
-                    `(,@(if parallel-build?
-                            (list (string-append "JOBS="
-                                                 (number->string (parallel-job-count))))
-                            '())
-                      ,@make-flags))))
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (jdk (assoc-ref outputs "jdk"))
-                   (doc (assoc-ref outputs "doc"))
-                   (images (car (find-files "build" ".*-server-release"
-                                            #:directories? #t))))
-               (copy-recursively (string-append images "/images/jdk") jdk)
-               (copy-recursively (string-append images "/images/jre") out)
-               (copy-recursively (string-append images "/images/docs") doc))
-             #t))
-         ;; Some of the libraries in the lib/ folder link to libjvm.so.
-         ;; But that shared object is located in the server/ folder, so it
-         ;; cannot be found.  This phase creates a symbolic link in the
-         ;; lib/ folder so that the other libraries can find it.
-         ;;
-         ;; See:
-         ;; https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00169.html
-         ;;
-         ;; FIXME: Find the bug in the build system, so that this symlink is
-         ;; not needed.
-         (add-after 'install 'install-libjvm
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((lib-out (string-append (assoc-ref outputs "out")
-                                            "/lib"))
-                    (lib-jdk (string-append (assoc-ref outputs "jdk")
-                                            "/lib")))
-               (symlink (string-append lib-jdk "/server/libjvm.so")
-                        (string-append lib-jdk "/libjvm.so"))
-               (symlink (string-append lib-out "/server/libjvm.so")
-                        (string-append lib-out "/libjvm.so")))
-             #t))
-         (add-after 'install 'strip-character-data-timestamps
-           (lambda* (#:key outputs #:allow-other-keys)
-             (use-modules (guix build syscalls))
-             (let ((archive (string-append
-                             (assoc-ref outputs "jdk") "/lib/src.zip"))
-                   (dir (mkdtemp! "zip-contents.XXXXXX")))
-               (with-directory-excursion dir
-                 (invoke "unzip" archive))
-               (delete-file archive)
-               (with-directory-excursion dir
-                 (let ((char-data-files (find-files "." "CharacterData.*")))
-                   (for-each (lambda (file)
-                               (substitute* file
-                                 (((string-append "This file was generated "
+         ;; Allow the build system to locate the system freetype.
+         (string-append "--with-freetype-include="
+                        #$(this-package-input "freetype") "/include")
+         (string-append "--with-freetype-lib="
+                        #$(this-package-input "freetype") "/lib"))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'patch-source-shebangs 'fix-java-shebangs
+            (lambda _
+              ;; This file was "fixed" by patch-source-shebangs, but it requires
+              ;; this exact first line.
+              (substitute* "make/data/blockedcertsconverter/blocked.certs.pem"
+                (("^#!.*") "#! java BlockedCertsConverter SHA-256\n"))))
+          (add-after 'unpack 'patch-jni-libs
+            ;; Hardcode dynamically loaded libraries.
+            (lambda _
+              (define remove
+                (@ (srfi srfi-1) remove))
+
+              (define (icedtea-or-openjdk? path)
+                (or (string-contains path "openjdk")
+                    (string-contains path "icedtea")))
+
+              (let* ((library-path (remove icedtea-or-openjdk?
+                                           (search-path-as-string->list
+                                            (getenv "LIBRARY_PATH"))))
+                     (find-library (lambda (name)
+                                     (or (search-path
+                                          library-path
+                                          (string-append "lib" name ".so"))
+                                         (string-append "lib" name ".so")))))
+                (for-each
+                 (lambda (file)
+                   (catch 'decoding-error
+                     (lambda ()
+                       (substitute* file
+                         (("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)"
+                           _ name version)
+                          (string-append "\"" (find-library name) "\""))
+                         (("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name)
+                          (string-append "\"" (find-library name) "\""))))
+                     (lambda _
+                       ;; Those are safe to skip.
+                       (format (current-error-port)
+                               "warning: failed to substitute: ~a~%"
+                               file))))
+                 (find-files "."
+                             "\\.c$|\\.h$")))))
+          (add-before 'build 'write-source-revision-file
+            (lambda _
+              (with-output-to-file ".src-rev"
+                (lambda _
+                  (display #$version)))))
+          (replace 'build
+            (lambda* (#:key parallel-build? make-flags #:allow-other-keys)
+              (apply invoke "make" "all"
+                     `(,@(if parallel-build?
+                             (list (string-append "JOBS="
+                                                  (number->string (parallel-job-count))))
+                             '())
+                       ,@make-flags))))
+          ;; jdk 11 does not build jre by default any more; so explicitly build
+          ;; it (see:
+          ;; https://github.com/AdoptOpenJDK/openjdk-build/issues/356).
+          (add-after 'build 'build-jre
+            (lambda* (#:key parallel-build? make-flags #:allow-other-keys)
+              (apply invoke "make" "legacy-jre-image"
+                     `(,@(if parallel-build?
+                             (list (string-append "JOBS="
+                                                  (number->string (parallel-job-count))))
+                             '())
+                       ,@make-flags))))
+          (replace 'install
+            (lambda _
+              (let ((images (car (find-files "build" ".*-server-release"
+                                             #:directories? #t))))
+                (copy-recursively (string-append images "/images/jdk")
+                                  #$output:jdk)
+                (copy-recursively (string-append images "/images/jre")
+                                  #$output)
+                (copy-recursively (string-append images "/images/docs")
+                                  #$output:doc))))
+          ;; Some of the libraries in the lib/ folder link to libjvm.so.
+          ;; But that shared object is located in the server/ folder, so it
+          ;; cannot be found.  This phase creates a symbolic link in the
+          ;; lib/ folder so that the other libraries can find it.
+          ;;
+          ;; See:
+          ;; https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00169.html
+          ;;
+          ;; FIXME: Find the bug in the build system, so that this symlink is
+          ;; not needed.
+          (add-after 'install 'install-libjvm
+            (lambda _
+              (let ((lib-out (string-append #$output "/lib"))
+                    (lib-jdk (string-append #$output:jdk "/lib")))
+                (symlink (string-append lib-jdk "/server/libjvm.so")
+                         (string-append lib-jdk "/libjvm.so"))
+                (symlink (string-append lib-out "/server/libjvm.so")
+                         (string-append lib-out "/libjvm.so")))))
+          (add-after 'install 'strip-character-data-timestamps
+            (lambda _
+              (use-modules (guix build syscalls))
+              (let ((archive (string-append #$output:jdk "/lib/src.zip"))
+                    (dir (mkdtemp! "zip-contents.XXXXXX")))
+                (with-directory-excursion dir
+                  (invoke "unzip" archive))
+                (delete-file archive)
+                (with-directory-excursion dir
+                  (let ((char-data-files (find-files "." "CharacterData.*")))
+                    (for-each (lambda (file)
+                                (substitute* file
+                                  (((string-append "This file was generated "
+                                                   "AUTOMATICALLY from a template "
+                                                   "file.*"))
+                                   (string-append "This file was generated "
                                                   "AUTOMATICALLY from a template "
-                                                  "file.*"))
-                                  (string-append "This file was generated "
-                                                 "AUTOMATICALLY from a template "
-                                                 "file"))))
-                             char-data-files)))
-               (with-directory-excursion dir
-                 (let ((files (find-files "." ".*" #:directories? #t)))
-                   (apply invoke "zip" "-0" "-X" archive files))))))
-         (add-after 'strip-character-data-timestamps 'strip-archive-timestamps
-           (lambda* (#:key outputs #:allow-other-keys)
-             (use-modules (guix build syscalls)
-                          (ice-9 binary-ports)
-                          (rnrs bytevectors))
-             (letrec ((repack-archive
-                       (lambda (archive)
-                         (let ((dir (mkdtemp! "zip-contents.XXXXXX")))
-                           (with-directory-excursion dir
-                             (invoke "unzip" archive))
-                           (delete-file archive)
-                           (for-each (compose repack-archive canonicalize-path)
-                                     (find-files dir "(ct.sym|.*.jar)$"))
-                           (let ((reset-file-timestamp
-                                  (lambda (file)
-                                    (let ((s (lstat file)))
-                                      (unless (eq? (stat:type s) 'symlink)
-                                        (format #t "reset ~a~%" file)
-                                        (utime file 0 0 0 0))))))
-                             (for-each reset-file-timestamp
-                                       (find-files dir #:directories? #t)))
-                           (with-directory-excursion dir
-                             (let ((files (find-files "." ".*" #:directories? #t)))
-                               (apply invoke "zip" "-0" "-X" archive files)))))))
-               (for-each repack-archive
-                         (find-files (assoc-ref outputs "doc") ".*.zip$"))
-               (for-each repack-archive
-                         (find-files (assoc-ref outputs "jdk")
-                                     ".*.(zip|jar|diz)$"))
-               (repack-archive (string-append (assoc-ref outputs "jdk") "/lib/ct.sym"))
-               (let ((repack-jmod
-                      (lambda (file-name)
-                        (call-with-input-file file-name
-                          (lambda (file)
-                            (let ((header #vu8(#x4a #x4d #x01 #x00)))
-                              (if (equal? (get-bytevector-n
-                                           file (bytevector-length header))
-                                          header)
-                                  (let* ((header-length (bytevector-length header))
-                                         (temp-file (mkstemp!
-                                                     (string-copy
-                                                      "temp-file.XXXXXX")))
-                                         (temp-filename (port-filename temp-file))
-                                         (content-length
-                                          (- (stat:size (stat file))
-                                             header-length)))
-                                    (sendfile temp-file file content-length header-length)
-                                    (delete-file file-name)
-                                    (close-port temp-file)
-                                    (repack-archive (canonicalize-path temp-filename))
-                                    (call-with-output-file file-name
-                                      (lambda (file)
-                                        (put-bytevector file header)
-                                        (call-with-input-file temp-filename
-                                          (lambda (temp-file)
-                                            (sendfile
-                                             file temp-file
-                                             (stat:size (stat temp-file)) 0)))))))))))))
-                 (for-each repack-jmod
-                           (find-files (assoc-ref outputs "jdk") ".*.jmod$")))
-               #t)))
-         (add-after 'install 'remove-timestamp-from-api-summary
-           (lambda* (#:key outputs #:allow-other-keys)
-             (substitute* (string-append (assoc-ref outputs "doc")
-                                         "/api/overview-summary.html")
-               (("Generated by javadoc \\(11-internal\\).*$")
-                "Generated by javadoc (11-internal) -->\n"))
-             #t)))))
-    (inputs
-     `(("alsa-lib" ,alsa-lib)
-       ("cups" ,cups)
-       ("fontconfig" ,fontconfig)
-       ("freetype" ,freetype)
-       ("giflib" ,giflib)
-       ("lcms" ,lcms)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libpng" ,libpng)
-       ("libx11" ,libx11)
-       ("libxext" ,libxext)
-       ("libxrandr" ,libxrandr)
-       ("libxrender" ,libxrender)
-       ("libxt" ,libxt)
-       ("libxtst" ,libxtst)))
-    (native-inputs
-     `(("autoconf" ,autoconf)
-       ("openjdk10" ,openjdk10)
-       ("openjdk10:jdk" ,openjdk10 "jdk")
-       ("make" ,gnu-make-4.2)
-       ("pkg-config" ,pkg-config)
-       ("unzip" ,unzip)
-       ("which" ,which)
-       ("zip" ,zip)))
+                                                  "file"))))
+                              char-data-files)))
+                (with-directory-excursion dir
+                  (let ((files (find-files "." ".*" #:directories? #t)))
+                    (apply invoke "zip" "-0" "-X" archive files))))))
+          (add-after 'strip-character-data-timestamps 'remove-extraneous-files
+            (lambda* (#:key outputs #:allow-other-keys)
+              ;; Remove the *.diz and src.zip files for space considerations.
+              ;; The former are compressed debuginfo files not typically
+              ;; shipped with Java distributions, while the later corresponds
+              ;; to Java core API source files.
+              (for-each delete-file
+                        (append-map (cut find-files <> "(^src\\.zip|\\.diz)$")
+                                    (map (match-lambda
+                                           ((name . dir)
+                                            dir))
+                                         outputs)))))
+          (add-after 'remove-diz-file 'strip-archive-timestamps
+            (lambda _
+              (use-modules (guix build syscalls)
+                           (ice-9 binary-ports)
+                           (rnrs bytevectors))
+              (letrec ((repack-archive
+                        (lambda (archive)
+                          (let ((dir (mkdtemp! "zip-contents.XXXXXX")))
+                            (with-directory-excursion dir
+                              (invoke "unzip" archive))
+                            (delete-file archive)
+                            (for-each (compose repack-archive canonicalize-path)
+                                      (find-files dir "(ct.sym|\\.jar)$"))
+                            (let ((reset-file-timestamp
+                                   (lambda (file)
+                                     (let ((s (lstat file)))
+                                       (unless (eq? (stat:type s) 'symlink)
+                                         (format #t "reset ~a~%" file)
+                                         (utime file 0 0 0 0))))))
+                              (for-each reset-file-timestamp
+                                        (find-files dir #:directories? #t)))
+                            (with-directory-excursion dir
+                              (let ((files (find-files "." ".*" #:directories? #t)))
+                                (apply invoke "zip" "-0" "-X" archive files)))))))
+                (for-each repack-archive
+                          (find-files #$output:doc "\\.zip$"))
+                (for-each repack-archive
+                          (find-files #$output:jdk "\\.(zip|jar)$"))
+                (repack-archive (string-append #$output:jdk "/lib/ct.sym"))
+                (let ((repack-jmod
+                       (lambda (file-name)
+                         (call-with-input-file file-name
+                           (lambda (file)
+                             (let ((header #vu8(#x4a #x4d #x01 #x00)))
+                               (if (equal? (get-bytevector-n
+                                            file (bytevector-length header))
+                                           header)
+                                   (let* ((header-length (bytevector-length header))
+                                          (temp-file (mkstemp!
+                                                      (string-copy
+                                                       "temp-file.XXXXXX")))
+                                          (temp-filename (port-filename temp-file))
+                                          (content-length
+                                           (- (stat:size (stat file))
+                                              header-length)))
+                                     (sendfile temp-file file content-length header-length)
+                                     (delete-file file-name)
+                                     (close-port temp-file)
+                                     (repack-archive (canonicalize-path temp-filename))
+                                     (call-with-output-file file-name
+                                       (lambda (file)
+                                         (put-bytevector file header)
+                                         (call-with-input-file temp-filename
+                                           (lambda (temp-file)
+                                             (sendfile
+                                              file temp-file
+                                              (stat:size (stat temp-file)) 0)))))))))))))
+                  (for-each repack-jmod
+                            (find-files #$output:jdk "\\.jmod$"))))))
+          (add-after 'install 'remove-timestamp-from-api-summary
+            (lambda _
+              (substitute* (string-append #$output:doc
+                                          "/api/overview-summary.html")
+                (("Generated by javadoc \\(11-internal\\).*$")
+                 "Generated by javadoc (11-internal) -->\n")))))))
+    (inputs
+     (list alsa-lib
+           cups
+           fontconfig
+           freetype
+           giflib
+           lcms
+           libjpeg-turbo
+           libpng
+           libx11
+           libxext
+           libxrandr
+           libxrender
+           libxt
+           libxtst))
+    (native-inputs
+     (list autoconf
+           openjdk10
+           `(,openjdk10 "jdk")
+           gnu-make-4.2
+           pkg-config
+           unzip
+           which
+           zip))
     (home-page "https://openjdk.java.net/projects/jdk/11/")
     (synopsis "Java development kit")
     (description
      "This package provides the Java development kit OpenJDK.")
     (license license:gpl2+)))
 
+(define-syntax make-openjdk
+  ;; Return an OpenJDK package at VERSION with checksum HASH, using BOOTSTRAP,
+  ;; the bootstrap package.  One or more FIELD can be provided to further
+  ;; refine the package definition; for convenience, the BASE, NAME and
+  ;; VERSION are defined in their scope.
+  (lambda (x)
+    (syntax-case x ()
+      ((_ bootstrap version* hash field ...)
+       (with-syntax ((base (datum->syntax x 'base))
+                     (name (datum->syntax x 'name))
+                     (version (datum->syntax x 'version)))
+         #'(let ((base (package
+                         (inherit bootstrap)
+                         (name "openjdk")
+                         (version version*)
+                         (source
+                          (origin
+                            (inherit (package-source bootstrap))
+                            (method git-fetch)
+                            (uri (git-reference
+                                  (url (format
+                                        #f "https://github.com/openjdk/jdk~au"
+                                        (version-major version*)))
+                                  (commit (string-append "jdk-" version*
+                                                         "-ga"))))
+                            (file-name (git-file-name name version))
+                            (sha256 (base32 hash))))
+                         (native-inputs
+                          (modify-inputs (package-native-inputs bootstrap)
+                            (replace "openjdk" bootstrap)))
+                         (home-page (string-append
+                                     "https://openjdk.java.net/projects/jdk/"
+                                     (version-major version)))))
+                 (name "openjdk")
+                 (version version*))
+             (package
+               (inherit base)
+               field
+               ...)))))))
+
 (define-public openjdk12
-  (package
-    (inherit openjdk11)
-    (name "openjdk")
-    (version "12.33")
-    (source (origin
-              (method url-fetch)
-              (uri "http://hg.openjdk.java.net/jdk/jdk/archive/0276cba45aac.tar.bz2")
-              (file-name (string-append name "-" version ".tar.bz2"))
-              (sha256
-               (base32
-                "0mbhdrk12b6878kby0flnbak7444dlpm0ihlmf92vk59y1c02bc2"))
-              (modules '((guix build utils)))
-              (snippet
-               `(begin
-                  (for-each delete-file (find-files "." ".*.(bin|exe|jar)$"))
-                  #t))))
-    (arguments
-     (substitute-keyword-arguments (package-arguments openjdk11)
-       ((#:phases phases)
-        `(modify-phases ,phases
+  (make-openjdk
+   openjdk11 "12.33" "0mbhdrk12b6878kby0flnbak7444dlpm0ihlmf92vk59y1c02bc2"
+   (source
+    (origin
+      (method url-fetch)
+      (uri "http://hg.openjdk.java.net/jdk/jdk/archive/0276cba45aac.tar.bz2")
+      (file-name (string-append name "-" version ".tar.bz2"))
+      (sha256
+       (base32
+        "0mbhdrk12b6878kby0flnbak7444dlpm0ihlmf92vk59y1c02bc2"))
+      (modules '((guix build utils)))
+      (snippet
+       '(for-each delete-file (find-files "." "\\.(bin|exe|jar)$")))))
+   (arguments
+    (substitute-keyword-arguments (package-arguments openjdk11)
+      ((#:phases phases)
+       #~(modify-phases #$phases
            (replace 'fix-java-shebangs
              (lambda _
-               ;; This file was "fixed" by patch-source-shebangs, but it requires
-               ;; this exact first line.
-               (substitute* "make/data/blacklistedcertsconverter/blacklisted.certs.pem"
-                 (("^#!.*") "#! java BlacklistedCertsConverter SHA-256\n"))))))))
-    (inputs
-     `(("alsa-lib" ,alsa-lib)
-       ("cups" ,cups)
-       ("fontconfig" ,fontconfig)
-       ("freetype" ,freetype)
-       ("giflib" ,giflib)
-       ("lcms" ,lcms)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libpng" ,libpng)
-       ("libx11" ,libx11)
-       ("libxext" ,libxext)
-       ("libxrandr" ,libxrandr)
-       ("libxrender" ,libxrender)
-       ("libxt" ,libxt)
-       ("libxtst" ,libxtst)))
-    (native-inputs
-     `(("autoconf" ,autoconf)
-       ("openjdk11" ,openjdk11)
-       ("openjdk11:jdk" ,openjdk11 "jdk")
-       ("make@4.2" ,gnu-make-4.2)
-       ("pkg-config" ,pkg-config)
-       ("unzip" ,unzip)
-       ("which" ,which)
-       ("zip" ,zip)))
-    (home-page "https://openjdk.java.net/projects/jdk/12")))
+               ;; 'blocked' was renamed to 'blacklisted' in this version for
+               ;; some reason.
+               (substitute* "make/data/blacklistedcertsconverter/\
+blacklisted.certs.pem"
+                 (("^#!.*")
+                  "#! java BlacklistedCertsConverter SHA-256\n"))))))))))
 
 (define-public openjdk13
-  (package
-    (inherit openjdk12)
-    (name "openjdk")
-    (version "13.0.7")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/openjdk/jdk13u")
-                    (commit (string-append "jdk-" version "-ga"))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
+  (make-openjdk openjdk12 "13.0.7"
                 "0wrrr0d7lz1v8qqm752mn4gz5l2vpl2kmx4ac3ysvk4mljc924hp"))
-              (modules '((guix build utils)))
-              (snippet
-               `(begin
-                  (for-each delete-file (find-files "." ".*.(bin|exe|jar)$"))
-                  #t))))
-    (inputs
-     `(("alsa-lib" ,alsa-lib)
-       ("cups" ,cups)
-       ("fontconfig" ,fontconfig)
-       ("freetype" ,freetype)
-       ("giflib" ,giflib)
-       ("lcms" ,lcms)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libpng" ,libpng)
-       ("libx11" ,libx11)
-       ("libxext" ,libxext)
-       ("libxrandr" ,libxrandr)
-       ("libxrender" ,libxrender)
-       ("libxt" ,libxt)
-       ("libxtst" ,libxtst)))
-    (native-inputs
-     `(("autoconf" ,autoconf)
-       ("openjdk12:jdk" ,openjdk12 "jdk")
-       ("make@4.2" ,gnu-make-4.2)
-       ("pkg-config" ,pkg-config)
-       ("unzip" ,unzip)
-       ("which" ,which)
-       ("zip" ,zip)))
-    (home-page "https://openjdk.java.net/projects/jdk/13")))
 
 (define-public openjdk14
-  (package
-    (inherit openjdk13)
-    (name "openjdk")
-    (version "14.0.2")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/openjdk/jdk14u")
-                    (commit (string-append "jdk-" version "-ga"))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "07k9bsbxwyf2z2n50z96nvhsdai916mxdxcr5lm44jz7f6xrwfq6"))
-              (modules '((guix build utils)))
-              (snippet
-               `(begin
-                  ;; The m4 macro uses 'help' to search for builtins, which is
-                  ;; not available in bash-minimal
-                  (substitute* "make/autoconf/basics.m4"
-                    (("if help") "if command -v"))
-                  (for-each delete-file (find-files "." ".*.(bin|exe|jar)$"))
-                  #t))))
-    (inputs
-     `(("alsa-lib" ,alsa-lib)
-       ("cups" ,cups)
-       ("fontconfig" ,fontconfig)
-       ("freetype" ,freetype)
-       ("giflib" ,giflib)
-       ("lcms" ,lcms)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libpng" ,libpng)
-       ("libx11" ,libx11)
-       ("libxext" ,libxext)
-       ("libxrandr" ,libxrandr)
-       ("libxrender" ,libxrender)
-       ("libxt" ,libxt)
-       ("libxtst" ,libxtst)))
-    (native-inputs
-     `(("autoconf" ,autoconf)
-       ("make@4.2" ,gnu-make-4.2)
-       ("openjdk13:jdk" ,openjdk13 "jdk")
-       ("pkg-config" ,pkg-config)
-       ("unzip" ,unzip)
-       ("which" ,which)
-       ("zip" ,zip)))
-    (home-page "https://openjdk.java.net/projects/jdk/14")))
+  (make-openjdk
+   openjdk13 "14.0.2"
+   "07k9bsbxwyf2z2n50z96nvhsdai916mxdxcr5lm44jz7f6xrwfq6"
+   (source (origin
+             (inherit (package-source base))
+             (snippet                   ;override snippet
+              '(begin
+                 ;; The m4 macro uses 'help' to search for builtins, which is
+                 ;; not available in bash-minimal
+                 (substitute* "make/autoconf/basics.m4"
+                   (("if help") "if command -v"))
+                 (for-each delete-file (find-files "." "\\.(bin|exe|jar)$"))))))))
 
 (define-public openjdk15
-  (package
-    (inherit openjdk14)
-    (name "openjdk")
-    (version "15.0.3")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/openjdk/jdk15u")
-                    (commit (string-append "jdk-" version "-ga"))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "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")
-       ("pkg-config" ,pkg-config)
-       ("unzip" ,unzip)
-       ("which" ,which)
-       ("zip" ,zip)))
-    (home-page "https://openjdk.java.net/projects/jdk/15")))
+  (make-openjdk
+   openjdk14 "15.0.3"
+   "168cr08nywp0q3vyj8njkhsmmnyd8rz9r58hk4xhzdzc6bdfkl1i"
+   (source (origin
+             (inherit (package-source base))
+             (modules '())
+             (snippet #f)
+             (patches
+              (search-patches "openjdk-15-xcursor-no-dynamic.patch"))))
+   (inputs
+    (modify-inputs (package-inputs base)
+      (append libxcursor)))             ;for our patch to work
+   (native-inputs
+    (modify-inputs (package-native-inputs base)
+      (delete "make"                    ;remove old gnu-make-4.2
+              "openjdk")                ;to remove non-jdk output
+      (append `(,openjdk14 "jdk"))))))
 
 (define-public openjdk16
-  (package
-    (inherit openjdk15)
-    (name "openjdk")
-    (version "16.0.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/openjdk/jdk16u")
-                    (commit (string-append "jdk-" version "-ga"))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
+  (make-openjdk openjdk15 "16.0.1"
                 "1ggddsbsar4dj2fycfqqqagqil7prhb30afvq6933rz7pa9apm2f"))
-              (patches
-                (search-patches "openjdk-15-xcursor-no-dynamic.patch"))))
-    (native-inputs
-     `(("autoconf" ,autoconf)
-       ("openjdk15:jdk" ,openjdk15 "jdk")
-       ("pkg-config" ,pkg-config)
-       ("unzip" ,unzip)
-       ("which" ,which)
-       ("zip" ,zip)))
-    (arguments
-     (substitute-keyword-arguments (package-arguments openjdk15)
-       ((#:phases phases)
-        `(modify-phases ,phases
-           (add-after 'unpack 'make-templates-writable
-             (lambda _
-               ;; The build system copies a few .template files from the
-               ;; source directory into the build directory and then modifies
-               ;; them in-place.  So these files have to be writable.
-               (for-each make-file-writable
-                (find-files "src/java.base/share/classes/jdk/internal/misc/"
-                            "\\.template$"))))))))
-    (home-page "https://openjdk.java.net/projects/jdk/16")))
 
 (define-public openjdk17
-  (package
-    (inherit openjdk16)
-    (name "openjdk")
-    (version "17.0.3")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/openjdk/jdk17u")
-                    (commit (string-append "jdk-" version "-ga"))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0slmd6ww947gxpp4yr2wmr5z975bg86qh7zqfp2radf2q77ql65b"))
-              (patches
-                (search-patches "openjdk-15-xcursor-no-dynamic.patch"))))
-    (native-inputs
-     `(("autoconf" ,autoconf)
-       ("openjdk16:jdk" ,openjdk16 "jdk")
-       ("pkg-config" ,pkg-config)
-       ("unzip" ,unzip)
-       ("which" ,which)
-       ("zip" ,zip)))
-    (arguments
-     (substitute-keyword-arguments (package-arguments openjdk16)
-       ((#:phases phases)
-        `(modify-phases ,phases
+  (make-openjdk
+   openjdk16 "17.0.3"
+   "0slmd6ww947gxpp4yr2wmr5z975bg86qh7zqfp2radf2q77ql65b"
+   (arguments
+    (substitute-keyword-arguments (package-arguments openjdk16)
+      ((#:phases phases)
+       #~(modify-phases #$phases
            (replace 'fix-java-shebangs
              (lambda _
-               ;; This file was "fixed" by patch-source-shebangs, but it requires
-               ;; this exact first line.
+               ;; 'blacklisted' was renamed back to 'blocked'.
                (substitute* "make/data/blockedcertsconverter/blocked.certs.pem"
-                 (("^#!.*") "#! java BlockedCertsConverter SHA-256\n"))))))))
-    (home-page "https://openjdk.java.net/projects/jdk/17")))
+                 (("^#!.*") "#! java BlockedCertsConverter SHA-256\n"))))))))))
+
+(define-public openjdk18
+  (make-openjdk openjdk17 "18"
+                "1bv6bdhkmwvn10l0xy8yi9xibds640hs5zsvx0jp7wrxa3qw4qy8"))
 
 ;;; Convenience alias to point to the latest version of OpenJDK.
-(define-public openjdk openjdk17)
+(define-public openjdk openjdk18)
 
 (define-public icedtea icedtea-8)
 
@@ -13965,6 +13852,41 @@ library and the API is similar.")
 parse command line options/arguments in your CUI application.")
     (license license:expat)))
 
+(define-public java-argparse4j
+  (package
+    (name "java-argparse4j")
+    (version "0.9.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/argparse4j/argparse4j")
+                    (commit (string-append "argparse4j-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1i0j3zs1ln48n0g8a90vqbv6528mcswhzys6252yp0c8w1ai64fb"))))
+    (build-system ant-build-system)
+    (arguments
+     (list #:jar-name "java-argparse4j.jar"
+           #:source-dir "main/src/main/"
+           #:test-dir "main/src/test/"
+           #:jdk openjdk11
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'copy-resources
+                          (lambda _
+                            (copy-recursively "main/src/test/resources"
+                                              "target/test-classes")
+                            (copy-recursively "main/src/main/resources"
+                                              "build/classes")))
+                        (replace 'install
+                          (install-from-pom "pom.xml")))))
+    (inputs (list java-junit))
+    (home-page "https://argparse4j.github.io/")
+    (synopsis "Java command-line argument parser library")
+    (description "Argparse4j is a command line argument parser library for
+Java based on Python's @code{argparse} module.")
+    (license license:expat)))
+
 (define-public java-metadata-extractor
   (package
     (name "java-metadata-extractor")
diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm
index 8a5967f7b4..d864435829 100644
--- a/gnu/packages/libusb.scm
+++ b/gnu/packages/libusb.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2020 Christopher Howard <christopher@librehacker.com>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2022 Jacob Hrbek <kreyren@rixotstudio.cz>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -41,6 +42,8 @@
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system python)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages curl)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages java)
@@ -49,6 +52,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages readline)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages xiph))
 
@@ -339,6 +343,72 @@ unmodified CircuitPython code to run on the host computer and interact with
 I2C and SPI devices attached to the USB Hub.")
     (license license:expat)))
 
+(define-public ideviceinstaller
+  (package
+    (name "ideviceinstaller")
+    (version "1.1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+              (url "https://github.com/libimobiledevice/ideviceinstaller")
+              (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1xp0sjgfx2z19x9mxihn18ybsmrnrcfc55zbh5a44g3vrmagmlzz"))))
+    (build-system gnu-build-system)
+    (native-inputs (list autoconf automake libtool pkg-config))
+    (inputs (list libimobiledevice libzip))
+    (home-page "https://libimobiledevice.org/")
+    (synopsis "CLI Tool to manage apps and app archives on iOS devices")
+    (description "This package provides an interface to manage IPA format
+files and applications for iOS devices, it's written in C")
+    (license license:gpl2)))
+
+(define-public libirecovery
+  (package
+    (name "libirecovery")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/libimobiledevice/libirecovery")
+                     (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0p9ncqnz5kb7qisw00ynvasw1hax5qx241h9nwppi2g544i9lbnr"))))
+    (build-system gnu-build-system)
+    (inputs (list readline libusb))
+    (native-inputs (list autoconf automake libtool pkg-config))
+    (home-page "https://libimobiledevice.org/")
+    (synopsis "Communication library with iBoot/iBSS of iOS devices via USB")
+    (description "Libirecovery is a cross-platform library which implements
+communication to iBoot/iBSS found on Apple's iOS devices via USB.")
+    (license license:lgpl2.1)))
+
+(define-public idevicerestore
+  (package
+    (name "idevicerestore")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/libimobiledevice/idevicerestore")
+                     (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1w7ywp77xc6v4hifi3j9ywrj447vv7fkwg2w26w0lq95f3bkblqr"))))
+    (build-system gnu-build-system)
+    (inputs (list libusb libirecovery libimobiledevice libzip curl zlib))
+    (native-inputs (list autoconf automake libtool pkg-config))
+    (home-page "https://libimobiledevice.org/")
+    (synopsis "CLI tool to restore firmware files to iOS devices")
+    (description "This utility is used to restore bricked or otherwise
+broken iOS devices.")
+    (license license:lgpl3+)))
+
 (define-public libplist
   (package
     (name "libplist")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 2001b4a0ba..e7d670d63e 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -64,6 +64,7 @@
 ;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
 ;;; Copyright © 2022 Rene Saavedra <nanuui@protonmail.com>
 ;;; Copyright © 2022 muradm <mail@muradm.net>
+;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
 
 ;;;
 ;;; This file is part of GNU Guix.
@@ -353,7 +354,7 @@ 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.19-version "5.19.9")
+(define-public linux-libre-5.19-version "5.19.11")
 (define-public linux-libre-5.19-gnu-revision "gnu")
 (define deblob-scripts-5.19
   (linux-libre-deblob-scripts
@@ -363,7 +364,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
    (base32 "092myqjixvy1k3ylcj0hfc4whfxapjvxsxm4gk30a3jv5dnh7mly")))
 (define-public linux-libre-5.19-pristine-source
   (let ((version linux-libre-5.19-version)
-        (hash (base32 "0dvzjbyknzlx4ndz77fsm6v28fj2chxbq1z85fbc3bckcscbbm8a")))
+        (hash (base32 "0wyrwdqm4dypx2jbb7d8c3b7fl7q5j434d6g9x2v6sw01gwx4m2m")))
    (make-linux-libre-source version
                             (%upstream-linux-source version hash)
                             deblob-scripts-5.19)))
@@ -372,7 +373,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 ;; 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.68")
+(define-public linux-libre-5.15-version "5.15.70")
 (define-public linux-libre-5.15-gnu-revision "gnu")
 (define deblob-scripts-5.15
   (linux-libre-deblob-scripts
@@ -382,12 +383,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
    (base32 "048r4synfax2ajyzlmp672b68yshxwlfccdah2vz1kh88rqfmgsc")))
 (define-public linux-libre-5.15-pristine-source
   (let ((version linux-libre-5.15-version)
-        (hash (base32 "0zlb44bwpc0hwfynzz5v5b3lkv4aha7w5737ns1qb8cvbk5v7fqp")))
+        (hash (base32 "0xhdjz7aqq13pkh1yr7ax3msqdb2xvrcpj464wibn1rl4pq2cz0s")))
    (make-linux-libre-source version
                             (%upstream-linux-source version hash)
                             deblob-scripts-5.15)))
 
-(define-public linux-libre-5.10-version "5.10.143")
+(define-public linux-libre-5.10-version "5.10.145")
 (define-public linux-libre-5.10-gnu-revision "gnu1")
 (define deblob-scripts-5.10
   (linux-libre-deblob-scripts
@@ -397,12 +398,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
    (base32 "1981axxswghza3iadp94q54y8w30h9w9vyq4cbjiiv9alvbv0pb8")))
 (define-public linux-libre-5.10-pristine-source
   (let ((version linux-libre-5.10-version)
-        (hash (base32 "14af0lsvgh1k0fh283d0nrm1pkrk2kaf2mz0ab59vlvjybg9wb7s")))
+        (hash (base32 "0qdcqmwvc70hfgj8hb8ccwmnvwl41dvdffqrmyg3cyblwprr0ngw")))
    (make-linux-libre-source version
                             (%upstream-linux-source version hash)
                             deblob-scripts-5.10)))
 
-(define-public linux-libre-5.4-version "5.4.213")
+(define-public linux-libre-5.4-version "5.4.214")
 (define-public linux-libre-5.4-gnu-revision "gnu1")
 (define deblob-scripts-5.4
   (linux-libre-deblob-scripts
@@ -412,12 +413,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
    (base32 "1vnjbdyssa7dwyjl9kg35alwvf7yh597cl74yr1wy2gk5bc9paw6")))
 (define-public linux-libre-5.4-pristine-source
   (let ((version linux-libre-5.4-version)
-        (hash (base32 "1wdssqmac66zqsnq5lx2z8ampa0rd3qswg0gm1sh6n3y8xlf2z76")))
+        (hash (base32 "1ny57g5agk8sq6cbp2crjiay5bfkwqy32i4a5yw7x0lch2s7kg4s")))
    (make-linux-libre-source version
                             (%upstream-linux-source version hash)
                             deblob-scripts-5.4)))
 
-(define-public linux-libre-4.19-version "4.19.258")
+(define-public linux-libre-4.19-version "4.19.259")
 (define-public linux-libre-4.19-gnu-revision "gnu1")
 (define deblob-scripts-4.19
   (linux-libre-deblob-scripts
@@ -427,12 +428,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
    (base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
 (define-public linux-libre-4.19-pristine-source
   (let ((version linux-libre-4.19-version)
-        (hash (base32 "002sw8b272dzkp3vff0x89sbj5p3vrrikqygfdgrsxv7k3w4459x")))
+        (hash (base32 "1ska6v95zjjj44h53gi34rnbsrm4507jwxi3kklnky6d0aykiy1z")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.19)))
 
-(define-public linux-libre-4.14-version "4.14.293")
+(define-public linux-libre-4.14-version "4.14.294")
 (define-public linux-libre-4.14-gnu-revision "gnu1")
 (define deblob-scripts-4.14
   (linux-libre-deblob-scripts
@@ -442,12 +443,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
    (base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
 (define-public linux-libre-4.14-pristine-source
   (let ((version linux-libre-4.14-version)
-        (hash (base32 "047gl9nqrvpi9jaxlmhfnx848qvnrhf13710ka8fwn3lyv22k342")))
+        (hash (base32 "069i11hv4fhwc9dirqbag1g1k3fn21wzpfggah4f1a41whf98apy")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.14)))
 
-(define-public linux-libre-4.9-version "4.9.328")
+(define-public linux-libre-4.9-version "4.9.329")
 (define-public linux-libre-4.9-gnu-revision "gnu1")
 (define deblob-scripts-4.9
   (linux-libre-deblob-scripts
@@ -457,7 +458,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
    (base32 "0bib3641dbcqdkx3anna3caxnsg3nw9cnmhcklq0s93g3m57041h")))
 (define-public linux-libre-4.9-pristine-source
   (let ((version linux-libre-4.9-version)
-        (hash (base32 "1px2np3k796cjwq1sp9gfxyql6hqyqya82vq9cb5y0canq6fqmg8")))
+        (hash (base32 "168hy7vhgw2sfknflhhf6ykhkp4xs8v0igii6ivjlvs3dmwm21sj")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.9)))
@@ -1342,6 +1343,31 @@ battery charging thresholds, keyboard backlight, fans and thermal monitors,
 and the notification, WiFi, and Bluetooth LED.")
     (license license:gpl2)))
 
+(define-public ec
+  (package
+    (name "ec")
+    (version (package-version linux-libre))
+    (source (package-source linux-libre))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:make-flags #~(list (string-append "sbindir="
+                                               #$output "/sbin")
+                                "INSTALL=install" "STRIPCMD=true")
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'enter-subdirectory
+                          (lambda _
+                            (chdir "tools/power/acpi/tools/ec")))
+                        (delete 'configure)) ;no configure script
+           #:tests? #f)) ;no tests
+    (home-page (package-home-page linux-libre))
+    (synopsis
+     "Utility for reading or writing @acronym{EC, Embedded Controller} registers")
+    (description
+     "This utility can read or write specific registers or all the available
+registers of the @acronym{EC, Embedded Controller} supported by the
+@code{ec_sys} Linux driver.")
+    (license license:gpl2)))
+
 (define-public lkrg
   (package
     (name "lkrg")
@@ -8699,7 +8725,11 @@ of Linux application development.")
       #:configure-flags
       #~(list (string-append "-Dudevrulesdir=" #$output "/lib/udev/rules.d")
               "-Dsystemd=disabled"
-              "-Dsession-managers=[]")))
+              "-Dsession-managers=[]"
+              "-Dman=enabled")))
+    (native-inputs
+     (modify-inputs (package-native-inputs pipewire)
+       (prepend python-docutils)))
     (inputs (modify-inputs (package-inputs pipewire)
               (prepend avahi
                        bluez
diff --git a/gnu/packages/lisp-check.scm b/gnu/packages/lisp-check.scm
index d3f43a4f60..7002cd9d92 100644
--- a/gnu/packages/lisp-check.scm
+++ b/gnu/packages/lisp-check.scm
@@ -575,7 +575,7 @@ testing.  It is an extension of the library written by Chris Riesbeck.")
   ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
   (package
     (name "sbcl-lisp-unit2")
-    (version "0.9.3")
+    (version "0.9.4")
     (source
      (origin
        (method git-fetch)
@@ -584,7 +584,7 @@ testing.  It is an extension of the library written by Chris Riesbeck.")
              (commit version)))
        (file-name (git-file-name "cl-lisp-unit2" version))
        (sha256
-        (base32 "0y7k6fd4mf7ggc8kdrbg8flkj5j7i7ki1350wnj6hqax7cmh4xv5"))))
+        (base32 "0dnq0qvbsn7ciknvmwzfjnimlzq1gdkv5xd87agmhxm1cpm1ksz0"))))
     (build-system asdf-build-system/sbcl)
     (inputs
      (list sbcl-alexandria sbcl-cl-interpol sbcl-iterate
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 07fca27e1e..f23b4a70bb 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -214,6 +214,38 @@ with dice-roll statistics.")
 (define-public ecl-alea
   (sbcl-package->ecl-package sbcl-alea))
 
+(define-public sbcl-bubble-operator-upwards
+  (let ((commit "846275a318b960de81b62caecb1e31930f70aef6")
+        (revision "0"))
+    (package
+      (name "sbcl-bubble-operator-upwards")
+      (version (git-version "1.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Hexstream/bubble-operator-upwards")
+               (commit commit)))
+         (file-name (git-file-name "cl-bubble-operator-upwards" version))
+         (sha256
+          (base32 "0ybsy29ms3yrxgr7f2146lr6z4vm070dvdyzvwwxjh4dgm9na7bi"))))
+      (build-system asdf-build-system/sbcl)
+      (native-inputs
+       (list sbcl-parachute))
+      (home-page "https://www.hexstreamsoft.com/libraries/bubble-operator-upwards/")
+      (synopsis "Function that bubbles an operator upwards in a form")
+      (description
+       "@code{bubble-operator-upwards} is a function that bubbles an operator
+upwards in a form, demultiplexing all alternative branches by way of
+cartesian product.")
+      (license license:unlicense))))
+
+(define-public cl-bubble-operator-upwards
+  (sbcl-package->cl-source-package sbcl-bubble-operator-upwards))
+
+(define-public ecl-bubble-operator-upwards
+  (sbcl-package->ecl-package sbcl-bubble-operator-upwards))
+
 (define-public sbcl-map-bind
   (let ((commit "532d55d93540c632e22b2cd264b5daa5f9d3d900")
         (revision "0"))
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 77706c88ae..e21b60ec75 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -988,7 +988,7 @@ the HTML documentation of TXR.")
 (define-public txr
   (package
     (name "txr")
-    (version "281")
+    (version "282")
     (source
      (origin
        (method git-fetch)
@@ -997,7 +997,7 @@ the HTML documentation of TXR.")
              (commit (string-append "txr-" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "18sncprahl41hcy9l6mc4vwlaiamkwrs805974g4vci4waccb37k"))))
+        (base32 "1hzni1v9qlh1vy8spz8prink7v9hp2bin15vnyfha2ax306w6dq5"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
@@ -1359,7 +1359,7 @@ executable Common Lisp image.  It is similar to cl-launch and hu.dwim.build.")
 (define-public eisl
   (package
     (name "eisl")
-    (version "2.62")
+    (version "2.63")
     (source
      (origin
        (method git-fetch)
@@ -1368,7 +1368,7 @@ executable Common Lisp image.  It is similar to cl-launch and hu.dwim.build.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0yqzj64h9z4dlf2jz5chy6l6lggd4scgsd06crvfi9h1j1cxjvgi"))))
+        (base32 "01fwffk71c1cvq7pf50xwpl2a32rbghcymllg67wvm07yfw3gi0q"))))
     (build-system gnu-build-system)
     (inputs
      (list bash-minimal freeglut gdbm libiconv ncurses tcl tk))
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index c3bb1e8f5b..829c819975 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2014 Raimon Grau <raimonster@gmail.com>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2016, 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2020-2022 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 doncatnip <gnopap@gmail.com>
 ;;; Copyright © 2016, 2017, 2019 Clément Lassieur <clement@lassieur.org>
@@ -61,7 +61,8 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages vim)
   #:use-module (gnu packages xml)
-  #:use-module (gnu packages xorg))
+  #:use-module (gnu packages xorg)
+  #:use-module (srfi srfi-1))
 
 (define-public lua
   (package
@@ -177,7 +178,8 @@ for configuration, scripting, and rapid prototyping.")
     (synopsis "Just in time compiler for Lua programming language version 5.1")
     ;; On powerpc64le-linux, the build fails with an error: "No support for
     ;; PowerPC 64 bit mode (yet)".  See: https://issues.guix.gnu.org/49220
-    (supported-systems (delete "powerpc64le-linux" %supported-systems))
+    (supported-systems (fold delete %supported-systems
+                             (list "powerpc64le-linux" "riscv64-linux")))
     (description
      "LuaJIT is a Just-In-Time Compiler (JIT) for the Lua
 programming language.  Lua is a powerful, dynamic and light-weight programming
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 0a12065978..e702e499fc 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -295,19 +295,36 @@ training, HMM clustering, HMM mixtures.")
 (define-public guile-aiscm
   (package
     (name "guile-aiscm")
-    (version "0.23.1")
+    (version "0.24.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/wedesoft/aiscm")
-                    (commit "c78b91edb7c17c6fbf3b294452f44e91d75e3c67")))
+                    (commit "2e16e38391bf1638f1dd9a1cf4b25a25f6626078")))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "09rdbcr8dinzijyx9h940ann91yjlbg0fangx365llhvy354n840"))))
+                "1gwqpzl6irpaszkpxaf5wliwq19280632hlgxs3ikjkfg8mkqql0"))))
     (build-system gnu-build-system)
     (arguments
      (list
+      #:configure-flags
+      #~(list (string-append "OPENCV_CFLAGS=-I" #$(this-package-input "opencv")
+                             "/include/opencv4")
+              (let ((modules
+                     (list "aruco" "barcode" "bgsegm" "bioinspired"
+                           "calib3d" "ccalib" "core" "datasets" "dnn"
+                           "dnn_objdetect" "dnn_superres" "dpm" "face"
+                           "features2d" "flann" "freetype" "fuzzy" "hdf"
+                           "hfs" "highgui" "img_hash" "imgcodecs" "imgproc"
+                           "intensity_transform" "line_descriptor" "mcc"
+                           "ml" "objdetect" "optflow" "phase_unwrapping"
+                           "photo" "plot" "quality" "rapid" "reg" "rgbd"
+                           "saliency" "shape" "stereo" "stitching"
+                           "structured_light" "superres" "surface_matching"
+                           "text" "tracking" "video" "videoio" "videostab"
+                           "wechat_qrcode" "ximgproc" "xobjdetect" "xphoto")))
+                (format #false "OPENCV_LIBS=~{-lopencv_~a~^ ~}" modules)))
       #:make-flags
       #~(list (string-append "GUILE_CACHE=" #$output "/lib/guile/3.0/site-ccache")
               (string-append "GUILE_EXT=" #$output "/lib/guile/3.0/extensions")
@@ -318,10 +335,23 @@ training, HMM clustering, HMM mixtures.")
            (lambda _
              (substitute* "doc/Makefile.am"
                (("\\$\\(DATE\\)") "1970-01-01"))))
+         (add-after 'unpack 'find-clearsilver
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("/usr/local/include/ClearSilver")
+                (string-append (assoc-ref inputs "clearsilver")
+                               "/include/ClearSilver")))
+             (substitute* "aiscm/Makefile.am"
+               (("-lneo_utl" m)
+                (string-append m " -lstreamhtmlparser")))
+             (setenv "C_INCLUDE_PATH"
+                     (string-append (assoc-ref inputs "clearsilver")
+                                    "/include/ClearSilver:"
+                                    (or (getenv "C_INCLUDE_PATH") "")))))
          (add-after 'unpack 'use-llvm-config
            (lambda _
              (substitute* "m4/ax_llvmc.m4"
-               (("llvm-config-13") "llvm-config")
+               (("llvm-config-11") "llvm-config")
                ;; For some reason this library is not on the link list.
                (("(LLVM_LIBS=\"\\$\\(\\$ac_llvm_config_path --libs \\$1\\))\"" _ m)
                 (string-append m " -lLLVMMCJIT\"")))
@@ -329,10 +359,17 @@ training, HMM clustering, HMM mixtures.")
              ;; Because of this message:
              ;; symbol lookup error: ./.libs/libguile-aiscm-core.so: undefined symbol: LLVMInitializeX86TargetInfo
              ;; This probably needs to differ when building on architectures
-             ;; other than x86_64p
+             ;; other than x86_64.
              (substitute* "aiscm/Makefile.am"
                (("LLVM_LIBS\\)") "LLVM_LIBS) \
 -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMX86Desc -lLLVMX86Info"))))
+         ;; This test fails because our version of tensorflow is too old
+         ;; to provide tf-string-length.
+         (add-after 'unpack 'disable-broken-test
+           (lambda _
+             (substitute* "tests/test_tensorflow.scm"
+               (("\\(test-eqv \"determine string length" m)
+                (string-append "#;" m)))))
          ;; Use Clang instead of GCC.
          (add-before 'configure 'prepare-build-environment
            (lambda _
@@ -341,10 +378,12 @@ training, HMM clustering, HMM mixtures.")
              (setenv "CC" "clang")
              (setenv "CXX" "clang++"))))))
     (inputs
-     (list ffmpeg
+     (list clearsilver
+           ffmpeg-4
            freeglut
            guile-3.0
            imagemagick
+           libgc
            libjpeg-turbo
            libomp
            libxi
@@ -354,12 +393,15 @@ training, HMM clustering, HMM mixtures.")
            libxv
            mesa
            mjpegtools
+           opencv
            pandoc
-           pulseaudio))
+           pulseaudio
+           tensorflow))
     (native-inputs
-     (list clang-13
-           llvm-13
+     (list clang-11
+           llvm-11
            pkg-config
+           protobuf-c
            autoconf
            automake
            gettext-minimal
@@ -372,68 +414,7 @@ Performance is achieved by using the LLVM JIT compiler.")
     (license license:gpl3+)))
 
 (define-public guile-aiscm-next
-  (let ((commit "b17ed538c303badc419a7c358d91f266d2a8c354")
-        (revision "1"))
-    (package
-      (inherit guile-aiscm)
-      (name "guile-aiscm-next")
-      (version (git-version "0.23.1" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/wedesoft/aiscm")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "0px7r7lfskbp1prdrfrcvrsc4wjrk3ahkigsw4pqvny6zs7jnvc0"))))
-      (arguments
-       (substitute-keyword-arguments (package-arguments guile-aiscm)
-         ((#:configure-flags flags '())
-          #~(list (string-append "OPENCV_CFLAGS=-I" #$(this-package-input "opencv")
-                                 "/include/opencv4")
-                  (let ((modules
-                         (list "aruco" "barcode" "bgsegm" "bioinspired"
-                               "calib3d" "ccalib" "core" "datasets" "dnn"
-                               "dnn_objdetect" "dnn_superres" "dpm" "face"
-                               "features2d" "flann" "freetype" "fuzzy" "hdf"
-                               "hfs" "highgui" "img_hash" "imgcodecs" "imgproc"
-                               "intensity_transform" "line_descriptor" "mcc"
-                               "ml" "objdetect" "optflow" "phase_unwrapping"
-                               "photo" "plot" "quality" "rapid" "reg" "rgbd"
-                               "saliency" "shape" "stereo" "stitching"
-                               "structured_light" "superres" "surface_matching"
-                               "text" "tracking" "video" "videoio" "videostab"
-                               "wechat_qrcode" "ximgproc" "xobjdetect" "xphoto")))
-                    (format #false "OPENCV_LIBS=~{-lopencv_~a~^ ~}" modules))))
-         ((#:phases phases '%standard-phases)
-          `(modify-phases ,phases
-             (add-after 'unpack 'find-clearsilver
-               (lambda* (#:key inputs #:allow-other-keys)
-                 (substitute* "configure.ac"
-                   (("/usr/local/include/ClearSilver")
-                    (string-append (assoc-ref inputs "clearsilver")
-                                   "/include/ClearSilver")))
-                 (substitute* "aiscm/Makefile.am"
-                   (("-lneo_utl" m)
-                    (string-append m " -lstreamhtmlparser")))
-                 (setenv "C_INCLUDE_PATH"
-                         (string-append (assoc-ref inputs "clearsilver")
-                                        "/include/ClearSilver:"
-                                        (or (getenv "C_INCLUDE_PATH") "")))))
-             ;; This test fails because our version of tensorflow is too old
-             ;; to provide tf-string-length.
-             (add-after 'unpack 'disable-broken-test
-               (lambda _
-                 (substitute* "tests/test_tensorflow.scm"
-                   (("\\(test-eqv \"determine string length" m)
-                    (string-append "#;" m)))))))))
-      (inputs
-       (modify-inputs (package-inputs guile-aiscm)
-         (append clearsilver opencv tensorflow libgc)))
-      (native-inputs
-       (modify-inputs (package-native-inputs guile-aiscm)
-         (append protobuf-c))))))
+  (deprecated-package "guile-aiscm-next" guile-aiscm))
 
 (define-public mcl
   (package
@@ -3165,7 +3146,7 @@ of Hidden Markov Models.")
 (define-public liblantern
   (package
     (name "liblantern")
-    (version "0.8.0")
+    (version "0.8.1")
     (source
      (origin
        (method git-fetch)
@@ -3174,48 +3155,53 @@ of Hidden Markov Models.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1xkqyj1clj1r70yrp5qpbpyf0xmh9c128005idshi7vk883wfp77"))))
+        (base32 "1q57jsqzv9b70svr6whf04yd08np3x15qq1zm06fbl0sqf0kfn7p"))))
     (build-system cmake-build-system)
     (arguments
      (list
       #:tests? #false                   ;no test target
       #:phases
-      #~(modify-phases %standard-phases
-          (add-after 'unpack 'chdir
-            (lambda _ (chdir "lantern")))
-          (add-after 'chdir 'do-not-download-binaries
-            (lambda* (#:key inputs #:allow-other-keys)
-              (substitute* "CMakeLists.txt"
-                (("find_package\\(Torch.*") "set(TORCH_CXX_FLAGS \"-ltorch\")\n")
-                (("retrieve_lib\\(.*") ""))
-              (setenv "LIBRARY_PATH"
-                      (string-append
-                       (search-input-directory
-                        inputs "/lib/python3.9/site-packages/torch/lib")
-                       ":" (or (getenv "LIBRARY_PATH") "")))
-              (setenv "CPLUS_INCLUDE_PATH"
-                      (string-append
-                       (search-input-directory
-                        inputs "lib/python3.9/site-packages/torch/include/torch/csrc/api/include/")
-                       ":"
-                       (search-input-directory
-                        inputs "lib/python3.9/site-packages/torch/include/")
-                       ":"
-                       (or (getenv "CPLUS_INCLUDE_PATH") "")))
-              (setenv "C_INCLUDE_PATH"
-                      (string-append
-                       (search-input-directory
-                        inputs "lib/python3.9/site-packages/torch/include/")
-                       ":"
-                       (or (getenv "C_INCLUDE_PATH") "")))))
-          (replace 'install
-            (lambda _
-              (install-file
-               "../build/liblantern.so"
-               (string-append #$output "/lib"))
-              (copy-recursively
-               "../lantern/include"
-               (string-append #$output "/include")))))))
+      (let ((python-version (version-major+minor (package-version python))))
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'chdir
+              (lambda _ (chdir "lantern")))
+            (add-after 'chdir 'do-not-download-binaries
+              (lambda* (#:key inputs #:allow-other-keys)
+                (substitute* "CMakeLists.txt"
+                  (("find_package\\(Torch.*") "set(TORCH_CXX_FLAGS \"-ltorch\")\n")
+                  (("retrieve_lib\\(.*") ""))
+                (let ((site-packages (string-append "/lib/python"
+                                                    #$python-version
+                                                    "/site-packages")))
+                  (setenv "LIBRARY_PATH"
+                          (string-append
+                           (search-input-directory
+                            inputs (string-append site-packages "/torch/lib"))
+                           ":" (or (getenv "LIBRARY_PATH") "")))
+                  (setenv "CPLUS_INCLUDE_PATH"
+                          (string-append
+                           (search-input-directory
+                            inputs (string-append
+                                    site-packages "/torch/include/torch/csrc/api/include/"))
+                           ":"
+                           (search-input-directory
+                            inputs (string-append site-packages "/torch/include/"))
+                           ":"
+                           (or (getenv "CPLUS_INCLUDE_PATH") "")))
+                  (setenv "C_INCLUDE_PATH"
+                          (string-append
+                           (search-input-directory
+                            inputs (string-append site-packages "/torch/include/"))
+                           ":"
+                           (or (getenv "C_INCLUDE_PATH") ""))))))
+            (replace 'install
+              (lambda _
+                (install-file
+                 "../build/liblantern.so"
+                 (string-append #$output "/lib"))
+                (copy-recursively
+                 "../lantern/include"
+                 (string-append #$output "/include"))))))))
     (inputs (list python-pytorch-for-r-torch))
     (home-page "https://github.com/mlverse/torch/")
     (synopsis "C API to libtorch")
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 94e14c8e49..d69770c4be 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -7590,6 +7590,7 @@ of C, Java, or Ada programs.")
            ocaml-graph
            ocaml-yojson
            ocaml-zarith
+           ocaml-lablgtk3-sourceview3
            lablgtk3
            why3))
     (native-search-paths
diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm
index 28ec4eb9a8..b7794c4e89 100644
--- a/gnu/packages/maven.scm
+++ b/gnu/packages/maven.scm
@@ -27,6 +27,7 @@
   #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix build-system ant)
+  #:use-module (guix gexp)
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
@@ -1780,31 +1781,33 @@ artifactId=maven-core" ,(package-version maven-core-bootstrap))))
     (arguments
      `(#:jar-name "maven-slf4j-provider.jar"
        #:source-dir "maven-slf4j-provider/src/main/java"
-       #:tests? #f; no tests
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'unpack-slf4j
-           (lambda* (#:key inputs #:allow-other-keys)
-             (mkdir-p "generated-sources")
-             (with-directory-excursion "generated-sources"
-               (invoke "tar" "xf" (assoc-ref inputs "java-slf4j-simple-source"))
-               (for-each delete-file (find-files "." "StaticLoggerBinder.java")))
-             (for-each
-               (lambda (simple)
-                 (for-each
-                   (lambda (java)
-                     (copy-file java
-                                (string-append
-                                  "maven-slf4j-provider/src/main/java/org/slf4j/impl/"
-                                  (basename java))))
-                   (find-files (string-append simple "/src/main/java/") "\\.java$")))
-               (find-files "generated-sources" "slf4j-simple" #:directories? #t))))
-         (replace 'install
-           (install-from-pom "maven-slf4j-provider/pom.xml")))))
-    (inputs
-     `(("java-slf4j-api" ,java-slf4j-api)
-       ("java-slf4j-simple-source" ,(package-source java-slf4j-simple))
-       ("maven-shared-utils" ,maven-shared-utils)))
+       #:tests? #f ;no tests
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'unpack-slf4j
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      (mkdir-p "generated-sources")
+                      (copy-recursively (assoc-ref inputs
+                                                   "java-slf4j-simple-source")
+                                        "generated-sources")
+                      (with-directory-excursion "generated-sources"
+                        (for-each delete-file
+                                  (find-files "." "StaticLoggerBinder.java")))
+                      (for-each (lambda (simple)
+                                  (for-each (lambda (java)
+                                              (copy-file java
+                                                         (string-append
+                                                          "maven-slf4j-provider/src/main/java/org/slf4j/impl/"
+                                                          (basename java))))
+                                            (find-files (string-append simple
+                                                         "/src/main/java/")
+                                                        "\\.java$")))
+                                (find-files "generated-sources" "slf4j-simple"
+                                            #:directories? #t))))
+                  (replace 'install
+                    (install-from-pom "maven-slf4j-provider/pom.xml")))))
+    (inputs `(("java-slf4j-api" ,java-slf4j-api)
+              ("java-slf4j-simple-source" ,(package-source java-slf4j-simple))
+              ("maven-shared-utils" ,maven-shared-utils)))
     (native-inputs (list unzip))))
 
 (define-public maven-embedder
@@ -3012,6 +3015,50 @@ Maven project dependencies.")
            maven-plugin-annotations
            maven-enforcer-parent-pom))))
 
+(define-public maven-sisu-plugin
+  (package
+    (name "maven-sisu-plugin")
+    (version "0.3.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/eclipse/sisu.mojos/")
+                    (commit (string-append "releases/" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "00hb7v6hz8jg0mgkj3cl0nmqz49za4k2a0rbjr4gdhy2m7f34sq3"))))
+    (build-system ant-build-system)
+    (arguments
+     (list #:jar-name "maven-sisu-plugin.jar"
+           #:source-dir "src"
+           #:tests? #f ;no tests
+           #:phases #~(modify-phases %standard-phases
+                        (add-before 'build 'generate-plugin.xml
+                          (generate-plugin.xml "pom.xml" "sisu"
+                           "src/main/java/org/eclipse/sisu/mojos/"
+                           (list (list "IndexMojo.java")
+                                 (list "MainIndexMojo.java")
+                                 (list "TestIndexMojo.java"))))
+                        (replace 'install
+                          (install-from-pom "pom.xml")))))
+    (propagated-inputs (list java-sonatype-oss-parent-pom-9))
+    (inputs (list maven-artifact
+                  maven-plugin-api
+                  maven-plugin-annotations
+                  maven-core
+                  maven-common-artifact-filters
+                  java-slf4j-nop
+                  java-eclipse-sisu-inject
+                  java-plexus-utils
+                  java-plexus-build-api
+                  java-slf4j-api))
+    (home-page "https://www.eclipse.org/sisu/")
+    (synopsis "Maven plugin that generates annotation indexes for Sisu")
+    (description "Maven plugin that generates annotation indexes for Sisu to
+avoid classpath scanning at runtime.")
+    (license license:epl1.0)))
+
 (define-public maven-artifact-transfer
   (package
     (name "maven-artifact-transfer")
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index b5600d4baf..c19ec45a35 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -3196,7 +3196,7 @@ designed for experienced users.")
 (define-public matterbridge
   (package
     (name "matterbridge")
-    (version "1.24.0")
+    (version "1.25.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -3205,7 +3205,7 @@ designed for experienced users.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0cd70x9685162c0imdici1ipl9lziq700wzyb5bsg610wfak3ms7"))))
+                "0csvxsgl62fjkrmk0wy64h2qaiy16m0wh6pqfbhz0kfacq16p9an"))))
     ;; Using the go-build-system results in the same error message
     ;; than in the bug 1551[1]. So we fix it by running go build
     ;; manually in the git repository as-is as this is the solution
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index e2cdf7c448..51ead2fe9b 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -12,6 +12,8 @@
 ;;; Copyright © 2021 Raphaël Mélotte <raphael.melotte@mind.be>
 ;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
 ;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2022 ( <paren@disroot.org>
+;;; Copyright © 2022 Mathieu Laparie <mlaparie@disr.it>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -50,6 +52,7 @@
   #:use-module (gnu packages django)
   #:use-module (gnu packages gd)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages gnome)               ;libnotify
   #:use-module (gnu packages image)
   #:use-module (gnu packages mail)
   #:use-module (gnu packages ncurses)
@@ -758,3 +761,46 @@ display resumes.
     (description "StatsD is a friendly front-end to Graphite.  This package
 provides a simple Python client for the StatsD daemon.")
     (license license:expat)))
+
+(define-public batsignal
+  (package
+    (name "batsignal")
+    (version "1.6.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/electrickite/batsignal")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0b1j6mljnqgxwr3id3r9shzhsjk5r0qdh9cxkvy1dm4kzbyc4dxq"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:make-flags
+           #~(list (string-append "PREFIX=" #$output)
+                   (string-append "CC=" #$(cc-for-target)))
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'fix-cross-compile
+                 (lambda _
+                   (substitute* "Makefile"
+                     (("pkg-config")
+                      #$(pkg-config-for-target)))))
+               (delete 'configure)
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (invoke "./batsignal" "-v")))))))
+    (inputs (list libnotify))
+    (native-inputs (list pkg-config))
+    (home-page "https://github.com/electrickite/batsignal")
+    (synopsis "Power monitoring tool")
+    (description
+     "This package provides a daemon that monitors device power levels,
+notifying the user and optionally running a command when it reaches
+user-configured power thresholds.  This can be used to force powering off a
+laptop when the battery gets below critical levels, instead of damaging the
+battery.")
+    (license license:isc)))
+
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 8a9d698691..3d9ba4fc8d 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -867,14 +867,14 @@ systems with no further dependencies.")
 (define-public blueman
   (package
     (name "blueman")
-    (version "2.2.3")
+    (version "2.3.2")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/blueman-project/blueman/releases"
                            "/download/" version "/blueman-" version ".tar.xz"))
        (sha256
-        (base32 "1s86w4mklzr8hvbgl3nkg8jycl6grww533dhzw8gdn5glqfpkpbf"))))
+        (base32 "1bjh0cx9j2akygiqyxm7g0q74jyx9hpgf186gv3m31vks5zpvkw4"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:configure-flags (list "--enable-polkit"
@@ -942,30 +942,30 @@ systems with no further dependencies.")
                  (map (lambda (prog) (string-append libexec prog))
                       '("mechanism" "rfcomm-watcher"))))))))))
     (native-inputs
-     `(("cython" ,python-cython)
-       ("glib:bin" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("gtk+:bin" ,gtk+ "bin")
-       ("intltool" ,intltool)
-       ("pkg-config" ,pkg-config)))
+     (list python-cython
+           `(,glib "bin")
+           gobject-introspection
+           `(,gtk+ "bin")
+           intltool
+           pkg-config))
     (inputs
-     `(("bluez" ,bluez)
-       ("dbus" ,dbus)
-       ("librsvg" ,librsvg)
-       ("glib" ,glib)
-       ("gtk+" ,gtk+)
-       ("iproute2" ,iproute)
-       ("iptables" ,iptables)
-       ("net-tools" ,net-tools)
-       ("pango" ,pango)
-       ("polkit" ,polkit)
-       ("ppp" ,ppp)
-       ("pulseaudio" ,pulseaudio)
-       ("pycairo" ,python-pycairo)
-       ("pygobject" ,python-pygobject)
-       ("python" ,python-wrapper)
-       ("libappindicator" ,libappindicator)
-       ("libnm" ,network-manager)))
+     (list bluez
+           dbus
+           librsvg
+           glib
+           gtk+
+           iproute
+           iptables
+           net-tools
+           pango
+           polkit
+           ppp
+           pulseaudio
+           python-pycairo
+           python-pygobject
+           python-wrapper
+           libappindicator
+           network-manager))
     (synopsis "GTK+ Bluetooth manager")
     (description "Blueman is a Bluetooth management utility using the Bluez
 D-Bus backend.  It is designed to be easy to use for most common Bluetooth
@@ -2747,6 +2747,10 @@ procedure calls (RPCs).")
          "--disable-static"        ; XXX still installs libopenvswitchavx512.a
          "--localstatedir=/var"
          "--with-dbdir=/var/lib/openvswitch")
+       ;; Tests fail in different ways, on different x86_64-linux hardware:
+       ;; 25. bfd.at:268: 25. bfd - bfd decay (bfd.at:268): FAILED (bfd.at:397)
+       ;; 1040. dpif-netdev - meters (dpif-netdev.at:269): FAILED (dpif-netdev.at:376)
+       #:tests? #f
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'use-absolute-/bin/sh
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 89dcb1d60a..b8f8a6f70b 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -26,6 +26,7 @@
 ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1078,54 +1079,52 @@ the OCaml core distribution.")
     (license license:lgpl2.1+))); with linking exception
 
 (define-public emacs-tuareg
-  ;; Last upstream release on Sept., 14th, 2018, since then "Package cl
-  ;; deprecated" or 'lexical-binding' and others had been fixed.
-  (let ((commit "ccde45bbc292123ec20617f1af7f7e19f7481545")
-        (revision "0"))
-    (package
-      (name "emacs-tuareg")
-      (version (git-version "2.2.0" revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/ocaml/tuareg")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32 "1yxv4bnqarilnpg5j7wywall8170hwvm0q4xx06yqjgcn8pq1lac"))))
-      (build-system gnu-build-system)
-      (native-inputs
-       `(("emacs" ,emacs-minimal)
-         ("opam" ,opam)))
-      (arguments
-       `(#:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'make-git-checkout-writable
-             (lambda _
-               (for-each make-file-writable (find-files "."))
-               #t))
-           (delete 'configure)
-           (add-before 'install 'fix-install-path
-             (lambda* (#:key outputs #:allow-other-keys)
-               (substitute* "Makefile"
-                 (("/emacs/site-lisp")
-                  (string-append (assoc-ref %outputs "out")
-                                 "/share/emacs/site-lisp/")))
-               #t))
-           (add-after 'install 'post-install
-             (lambda* (#:key outputs #:allow-other-keys)
-               (symlink "tuareg.el"
-                        (string-append (assoc-ref outputs "out")
-                                       "/share/emacs/site-lisp/"
-                                       "tuareg-autoloads.el"))
-               #t)))))
-      (home-page "https://github.com/ocaml/tuareg")
-      (synopsis "OCaml programming mode, REPL, debugger for Emacs")
-      (description "Tuareg helps editing OCaml code, to highlight important
+  (package
+    (name "emacs-tuareg")
+    (version "3.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ocaml/tuareg")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "115vm0hq4xkwfd3w0j8xqhkdgcirlxpnwzwxv02c27583hj056is"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:imported-modules `(,@%gnu-build-system-modules
+                           (guix build emacs-build-system)
+                           (guix build emacs-utils))
+      #:modules '((guix build gnu-build-system)
+                  ((guix build emacs-build-system) #:prefix emacs:)
+                  (guix build emacs-utils)
+                  (guix build utils))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'make-git-checkout-writable
+            (lambda _
+              (for-each make-file-writable (find-files "."))))
+          (delete 'configure)
+          (add-before 'install 'fix-install-path
+            (lambda _
+              (substitute* "Makefile"
+                (("/emacs/site-lisp")
+                 (emacs:elpa-directory #$output)))))
+          (add-after 'install 'post-install
+            (lambda _
+              (symlink "tuareg.el"
+                       (string-append (emacs:elpa-directory #$output)
+                                      "/tuareg-autoloads.el")))))))
+    (native-inputs
+     (list emacs-minimal opam))
+    (home-page "https://github.com/ocaml/tuareg")
+    (synopsis "OCaml programming mode, REPL, debugger for Emacs")
+    (description "Tuareg helps editing OCaml code, to highlight important
 parts of the code, to run an OCaml REPL, and to run the OCaml debugger within
 Emacs.")
-      (license license:gpl2+))))
+    (license license:gpl2+)))
 
 (define-public ocaml-menhir
   (package
@@ -1954,7 +1953,7 @@ ocaml-migrate-parsetree")
 (define-public ocaml-linenoise
   (package
     (name "ocaml-linenoise")
-    (version "1.3.1")
+    (version "1.4.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1963,7 +1962,7 @@ ocaml-migrate-parsetree")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0s98695skz1wvrak0rdlh80w3cv6piic1dxqpn9rv1yymbklafg4"))))
+                "1gk11pflal08kg2dz1b5zrlpnhbxpg2rwf8cknw3vzmq6gsmk2kc"))))
     (build-system dune-build-system)
     (arguments
      ;; No tests
@@ -2701,7 +2700,7 @@ module Unix.")
 (define-public ocaml-lwt-log
   (package
     (name "ocaml-lwt-log")
-    (version "1.1.1")
+    (version "1.1.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2710,7 +2709,7 @@ module Unix.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1n12i1rmn9cjn6p8yr6qn5dwbrwvym7ckr7bla04a1xnq8qlcyj7"))))
+                "0mbv5l9gj09jd1c4lr2axcl4v043ipmhjd9xrk27l4hylzfc6d1q"))))
     (build-system dune-build-system)
     (arguments
      `(#:tests? #f)); require lwt_ppx
@@ -3068,7 +3067,7 @@ string values and to directly encode characters in OCaml Buffer.t values.")
 (define-public ocaml-uunf
   (package
     (name "ocaml-uunf")
-    (version "14.0.0")
+    (version "15.0.0")
     (source
      (origin
        (method url-fetch)
@@ -3076,13 +3075,18 @@ string values and to directly encode characters in OCaml Buffer.t values.")
                            version".tbz"))
        (sha256
         (base32
-         "17wv0nm3vvwcbzb1b09akw8jblmigyhbfmh1sy9lkb5756ni94a2"))))
+         "1s5svvdqfbzw16rf1h0zm9n92xfdr0qciprd7lcjza8z1hy6pyh7"))))
     (build-system ocaml-build-system)
     (arguments
      `(#:build-flags (list "build" "--tests" "true")
        #:phases
        (modify-phases %standard-phases
          (delete 'configure)
+         ;; reported and fixed upstream, will be available in next version.
+         (add-before 'build 'fix-test
+           (lambda _
+             (substitute* "test/test.ml"
+               (("test/NormalizationTest.txt") "-"))))
          (add-before 'check 'check-data
            (lambda* (#:key inputs #:allow-other-keys)
              (copy-file (assoc-ref inputs "NormalizationTest.txt")
@@ -3101,7 +3105,7 @@ string values and to directly encode characters in OCaml Buffer.t values.")
                                "/ucd/NormalizationTest.txt"))
            (file-name (string-append "NormalizationTest-" version ".txt"))
            (sha256
-              (base32 "0c93pqdkksf7b7zw8y2w0h9i5kkrsdjmh2cr5clrrhp6mg10rcvw"))))))
+              (base32 "09pkawfqpgy2xnv2nkkgmxv53rx4anprg65crbbcm02a2p6ci6pv"))))))
     (propagated-inputs (list ocaml-uutf))
     (home-page "https://erratique.ch/software/uunf")
     (synopsis "Unicode text normalization for OCaml")
@@ -4468,6 +4472,35 @@ sensitive completion, colors, and more.")
         ("ocaml-zed" ,ocaml-zed)))
      (properties '()))))
 
+(define-public ocaml-ansiterminal
+  (package
+    (name "ocaml-ansiterminal")
+    (version "0.8.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/Chris00/ANSITerminal")
+                    (commit version)
+                    (recursive? #t)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "052qnc23vmxp90yympjz9q6lhqw98gs1yvb3r15kcbi1j678l51h"))))
+    (build-system dune-build-system)
+    (arguments
+     `(#:test-target "tests"))
+    (home-page "https://github.com/Chris00/ANSITerminal")
+    (synopsis
+     "Basic control of ANSI compliant terminals and the windows shell")
+    (description
+     "ANSITerminal is a module allowing to use the colors and cursor
+movements on ANSI terminals.")
+    ;; Variant of the LGPL3+ which permits
+    ;; static and dynamic linking when producing binary files.
+    ;; In other words, it allows one to link to the library
+    ;; when compiling nonfree software.
+    (license (license:non-copyleft "LICENSE.md"))))
+
 (define-public ocaml-ptmap
   (package
     (name "ocaml-ptmap")
@@ -7998,7 +8031,7 @@ support for Mparser.")))
 (define-public lablgtk3
   (package
     (name "lablgtk")
-    (version "3.1.1")
+    (version "3.1.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -8007,10 +8040,11 @@ support for Mparser.")))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "11qfc39cmwfwfpwmjh6wh98zwdv6p73bv8hqwcsss869vs1r7gmn"))))
+                "0b17w9qb1f02h3313cm62mrqlhwxficppzm72n7sf8mmwrylxbm7"))))
     (build-system dune-build-system)
     (arguments
-     `(#:test-target "."
+     `(#:package "lablgtk3"
+       #:test-target "."
        #:phases
        (modify-phases %standard-phases
          (add-before 'build 'make-writable
@@ -8026,7 +8060,7 @@ support for Mparser.")))
     (propagated-inputs
      (list ocaml-cairo2))
     (inputs
-     (list camlp5 gtk+ gtksourceview-3 gtkspell3))
+     (list camlp5 gtk+))
     (native-inputs
      (list pkg-config))
     (home-page "https://github.com/garrigue/lablgtk")
@@ -8040,6 +8074,19 @@ generate OCaml code from .glade files), libpanel, librsvg and quartz.")
     ;; Version 2 only, with linking exception.
     (license license:lgpl2.0)))
 
+(define-public ocaml-lablgtk3-sourceview3
+  (package
+    (inherit lablgtk3)
+    (name "ocaml-lablgtk3-sourceview3")
+    (propagated-inputs (list lablgtk3))
+    (native-inputs (list gtksourceview-3 pkg-config))
+    (arguments
+     `(#:package "lablgtk3-sourceview3"
+       #:test-target "."))
+    (synopsis "OCaml interface to GTK+ gtksourceview library")
+    (description "This package provides the lablgtk interface to the
+GTK+ gtksourceview library.")))
+
 (define-public ocaml-reactivedata
   (package
     (name "ocaml-reactivedata")
@@ -8071,7 +8118,7 @@ client chooses the concrete timeline.")
 (define-public ocaml-uucd
   (package
     (name "ocaml-uucd")
-    (version "14.0.0")
+    (version "15.0.0")
     (source
      (origin
        (method url-fetch)
@@ -8079,7 +8126,7 @@ client chooses the concrete timeline.")
                            "uucd-" version ".tbz"))
        (sha256
         (base32
-         "0fc737v5gj3339jx4x9xr096lxrpwvp6vaiylhavcvsglcwbgm30"))))
+         "1g26237yqmxr7sd1n9fg65qm5mxz66ybk7hr336zfyyzl25h6jqf"))))
     (build-system ocaml-build-system)
     (arguments
      '(#:build-flags '("build" "--tests" "true")
@@ -8101,7 +8148,7 @@ representations can be extracted.")
 (define-public ocaml-uucp
   (package
     (name "ocaml-uucp")
-    (version "14.0.0")
+    (version "15.0.0")
     (source
      (origin
        (method url-fetch)
@@ -8109,7 +8156,7 @@ representations can be extracted.")
                            "uucp-" version ".tbz"))
        (sha256
         (base32
-         "1yx9nih3d9prb9zizq8fzmmqylf24a6yifhf81h33znrj5xn1mpj"))))
+         "0c2k9gkg442l7hnc8rn1vqzn6qh68w9fx7h3nj03n2x90ps98ixc"))))
     (build-system ocaml-build-system)
     (arguments
      '(#:build-flags '("build" "--tests" "true")
diff --git a/gnu/packages/patches/connman-CVE-2022-32292.patch b/gnu/packages/patches/connman-CVE-2022-32292.patch
new file mode 100644
index 0000000000..cbe30742e1
--- /dev/null
+++ b/gnu/packages/patches/connman-CVE-2022-32292.patch
@@ -0,0 +1,34 @@
+https://git.kernel.org/pub/scm/network/connman/connman.git/patch/?id=d1a5ede5d255bde8ef707f8441b997563b9312bd
+
+From d1a5ede5d255bde8ef707f8441b997563b9312bd Mon Sep 17 00:00:00 2001
+From: Nathan Crandall <ncrandall@tesla.com>
+Date: Tue, 12 Jul 2022 08:56:34 +0200
+Subject: gweb: Fix OOB write in received_data()
+
+There is a mismatch of handling binary vs. C-string data with memchr
+and strlen, resulting in pos, count, and bytes_read to become out of
+sync and result in a heap overflow.  Instead, do not treat the buffer
+as an ASCII C-string. We calculate the count based on the return value
+of memchr, instead of strlen.
+
+Fixes: CVE-2022-32292
+---
+ gweb/gweb.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gweb/gweb.c b/gweb/gweb.c
+index 12fcb1d8..13c6c5f2 100644
+--- a/gweb/gweb.c
++++ b/gweb/gweb.c
+@@ -918,7 +918,7 @@ static gboolean received_data(GIOChannel *channel, GIOCondition cond,
+ 		}
+ 
+ 		*pos = '\0';
+-		count = strlen((char *) ptr);
++		count = pos - ptr;
+ 		if (count > 0 && ptr[count - 1] == '\r') {
+ 			ptr[--count] = '\0';
+ 			bytes_read--;
+-- 
+cgit 
+
diff --git a/gnu/packages/patches/connman-CVE-2022-32293-pt1.patch b/gnu/packages/patches/connman-CVE-2022-32293-pt1.patch
new file mode 100644
index 0000000000..c4d1aec31b
--- /dev/null
+++ b/gnu/packages/patches/connman-CVE-2022-32293-pt1.patch
@@ -0,0 +1,140 @@
+https://git.kernel.org/pub/scm/network/connman/connman.git/patch/?id=72343929836de80727a27d6744c869dff045757c
+
+From 72343929836de80727a27d6744c869dff045757c Mon Sep 17 00:00:00 2001
+From: Daniel Wagner <wagi@monom.org>
+Date: Tue, 5 Jul 2022 08:32:12 +0200
+Subject: wispr: Add reference counter to portal context
+
+Track the connman_wispr_portal_context live time via a
+refcounter. This only adds the infrastructure to do proper reference
+counting.
+
+Fixes: CVE-2022-32293
+---
+ src/wispr.c | 52 ++++++++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 42 insertions(+), 10 deletions(-)
+
+diff --git a/src/wispr.c b/src/wispr.c
+index a07896ca..bde7e63b 100644
+--- a/src/wispr.c
++++ b/src/wispr.c
+@@ -56,6 +56,7 @@ struct wispr_route {
+ };
+ 
+ struct connman_wispr_portal_context {
++	int refcount;
+ 	struct connman_service *service;
+ 	enum connman_ipconfig_type type;
+ 	struct connman_wispr_portal *wispr_portal;
+@@ -97,6 +98,11 @@ static char *online_check_ipv4_url = NULL;
+ static char *online_check_ipv6_url = NULL;
+ static bool enable_online_to_ready_transition = false;
+ 
++#define wispr_portal_context_ref(wp_context) \
++	wispr_portal_context_ref_debug(wp_context, __FILE__, __LINE__, __func__)
++#define wispr_portal_context_unref(wp_context) \
++	wispr_portal_context_unref_debug(wp_context, __FILE__, __LINE__, __func__)
++
+ static void connman_wispr_message_init(struct connman_wispr_message *msg)
+ {
+ 	DBG("");
+@@ -162,9 +168,6 @@ static void free_connman_wispr_portal_context(
+ {
+ 	DBG("context %p", wp_context);
+ 
+-	if (!wp_context)
+-		return;
+-
+ 	if (wp_context->wispr_portal) {
+ 		if (wp_context->wispr_portal->ipv4_context == wp_context)
+ 			wp_context->wispr_portal->ipv4_context = NULL;
+@@ -201,9 +204,38 @@ static void free_connman_wispr_portal_context(
+ 	g_free(wp_context);
+ }
+ 
++static struct connman_wispr_portal_context *
++wispr_portal_context_ref_debug(struct connman_wispr_portal_context *wp_context,
++			const char *file, int line, const char *caller)
++{
++	DBG("%p ref %d by %s:%d:%s()", wp_context,
++		wp_context->refcount + 1, file, line, caller);
++
++	__sync_fetch_and_add(&wp_context->refcount, 1);
++
++	return wp_context;
++}
++
++static void wispr_portal_context_unref_debug(
++		struct connman_wispr_portal_context *wp_context,
++		const char *file, int line, const char *caller)
++{
++	if (!wp_context)
++		return;
++
++	DBG("%p ref %d by %s:%d:%s()", wp_context,
++		wp_context->refcount - 1, file, line, caller);
++
++	if (__sync_fetch_and_sub(&wp_context->refcount, 1) != 1)
++		return;
++
++	free_connman_wispr_portal_context(wp_context);
++}
++
+ static struct connman_wispr_portal_context *create_wispr_portal_context(void)
+ {
+-	return g_try_new0(struct connman_wispr_portal_context, 1);
++	return wispr_portal_context_ref(
++		g_new0(struct connman_wispr_portal_context, 1));
+ }
+ 
+ static void free_connman_wispr_portal(gpointer data)
+@@ -215,8 +247,8 @@ static void free_connman_wispr_portal(gpointer data)
+ 	if (!wispr_portal)
+ 		return;
+ 
+-	free_connman_wispr_portal_context(wispr_portal->ipv4_context);
+-	free_connman_wispr_portal_context(wispr_portal->ipv6_context);
++	wispr_portal_context_unref(wispr_portal->ipv4_context);
++	wispr_portal_context_unref(wispr_portal->ipv6_context);
+ 
+ 	g_free(wispr_portal);
+ }
+@@ -452,7 +484,7 @@ static void portal_manage_status(GWebResult *result,
+ 		connman_info("Client-Timezone: %s", str);
+ 
+ 	if (!enable_online_to_ready_transition)
+-		free_connman_wispr_portal_context(wp_context);
++		wispr_portal_context_unref(wp_context);
+ 
+ 	__connman_service_ipconfig_indicate_state(service,
+ 					CONNMAN_SERVICE_STATE_ONLINE, type);
+@@ -616,7 +648,7 @@ static void wispr_portal_request_wispr_login(struct connman_service *service,
+ 				return;
+ 		}
+ 
+-		free_connman_wispr_portal_context(wp_context);
++		wispr_portal_context_unref(wp_context);
+ 		return;
+ 	}
+ 
+@@ -952,7 +984,7 @@ static int wispr_portal_detect(struct connman_wispr_portal_context *wp_context)
+ 
+ 		if (wp_context->token == 0) {
+ 			err = -EINVAL;
+-			free_connman_wispr_portal_context(wp_context);
++			wispr_portal_context_unref(wp_context);
+ 		}
+ 	} else if (wp_context->timeout == 0) {
+ 		wp_context->timeout = g_idle_add(no_proxy_callback, wp_context);
+@@ -1001,7 +1033,7 @@ int __connman_wispr_start(struct connman_service *service,
+ 
+ 	/* If there is already an existing context, we wipe it */
+ 	if (wp_context)
+-		free_connman_wispr_portal_context(wp_context);
++		wispr_portal_context_unref(wp_context);
+ 
+ 	wp_context = create_wispr_portal_context();
+ 	if (!wp_context)
+-- 
+cgit 
+
diff --git a/gnu/packages/patches/connman-CVE-2022-32293-pt2.patch b/gnu/packages/patches/connman-CVE-2022-32293-pt2.patch
new file mode 100644
index 0000000000..556e69e397
--- /dev/null
+++ b/gnu/packages/patches/connman-CVE-2022-32293-pt2.patch
@@ -0,0 +1,173 @@
+https://git.kernel.org/pub/scm/network/connman/connman.git/patch/?id=416bfaff988882c553c672e5bfc2d4f648d29e8a
+
+From 416bfaff988882c553c672e5bfc2d4f648d29e8a Mon Sep 17 00:00:00 2001
+From: Daniel Wagner <wagi@monom.org>
+Date: Tue, 5 Jul 2022 09:11:09 +0200
+Subject: wispr: Update portal context references
+
+Maintain proper portal context references to avoid UAF.
+
+Fixes: CVE-2022-32293
+---
+ src/wispr.c | 34 ++++++++++++++++++++++------------
+ 1 file changed, 22 insertions(+), 12 deletions(-)
+
+diff --git a/src/wispr.c b/src/wispr.c
+index bde7e63b..84bed33f 100644
+--- a/src/wispr.c
++++ b/src/wispr.c
+@@ -105,8 +105,6 @@ static bool enable_online_to_ready_transition = false;
+ 
+ static void connman_wispr_message_init(struct connman_wispr_message *msg)
+ {
+-	DBG("");
+-
+ 	msg->has_error = false;
+ 	msg->current_element = NULL;
+ 
+@@ -166,8 +164,6 @@ static void free_wispr_routes(struct connman_wispr_portal_context *wp_context)
+ static void free_connman_wispr_portal_context(
+ 		struct connman_wispr_portal_context *wp_context)
+ {
+-	DBG("context %p", wp_context);
+-
+ 	if (wp_context->wispr_portal) {
+ 		if (wp_context->wispr_portal->ipv4_context == wp_context)
+ 			wp_context->wispr_portal->ipv4_context = NULL;
+@@ -483,9 +479,6 @@ static void portal_manage_status(GWebResult *result,
+ 				&str))
+ 		connman_info("Client-Timezone: %s", str);
+ 
+-	if (!enable_online_to_ready_transition)
+-		wispr_portal_context_unref(wp_context);
+-
+ 	__connman_service_ipconfig_indicate_state(service,
+ 					CONNMAN_SERVICE_STATE_ONLINE, type);
+ 
+@@ -546,14 +539,17 @@ static void wispr_portal_request_portal(
+ {
+ 	DBG("");
+ 
++	wispr_portal_context_ref(wp_context);
+ 	wp_context->request_id = g_web_request_get(wp_context->web,
+ 					wp_context->status_url,
+ 					wispr_portal_web_result,
+ 					wispr_route_request,
+ 					wp_context);
+ 
+-	if (wp_context->request_id == 0)
++	if (wp_context->request_id == 0) {
+ 		wispr_portal_error(wp_context);
++		wispr_portal_context_unref(wp_context);
++	}
+ }
+ 
+ static bool wispr_input(const guint8 **data, gsize *length,
+@@ -618,13 +614,15 @@ static void wispr_portal_browser_reply_cb(struct connman_service *service,
+ 		return;
+ 
+ 	if (!authentication_done) {
+-		wispr_portal_error(wp_context);
+ 		free_wispr_routes(wp_context);
++		wispr_portal_error(wp_context);
++		wispr_portal_context_unref(wp_context);
+ 		return;
+ 	}
+ 
+ 	/* Restarting the test */
+ 	__connman_service_wispr_start(service, wp_context->type);
++	wispr_portal_context_unref(wp_context);
+ }
+ 
+ static void wispr_portal_request_wispr_login(struct connman_service *service,
+@@ -700,11 +698,13 @@ static bool wispr_manage_message(GWebResult *result,
+ 
+ 		wp_context->wispr_result = CONNMAN_WISPR_RESULT_LOGIN;
+ 
++		wispr_portal_context_ref(wp_context);
+ 		if (__connman_agent_request_login_input(wp_context->service,
+ 					wispr_portal_request_wispr_login,
+-					wp_context) != -EINPROGRESS)
++					wp_context) != -EINPROGRESS) {
+ 			wispr_portal_error(wp_context);
+-		else
++			wispr_portal_context_unref(wp_context);
++		} else
+ 			return true;
+ 
+ 		break;
+@@ -753,6 +753,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
+ 		if (length > 0) {
+ 			g_web_parser_feed_data(wp_context->wispr_parser,
+ 								chunk, length);
++			wispr_portal_context_unref(wp_context);
+ 			return true;
+ 		}
+ 
+@@ -770,6 +771,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
+ 
+ 	switch (status) {
+ 	case 000:
++		wispr_portal_context_ref(wp_context);
+ 		__connman_agent_request_browser(wp_context->service,
+ 				wispr_portal_browser_reply_cb,
+ 				wp_context->status_url, wp_context);
+@@ -781,11 +783,14 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
+ 		if (g_web_result_get_header(result, "X-ConnMan-Status",
+ 						&str)) {
+ 			portal_manage_status(result, wp_context);
++			wispr_portal_context_unref(wp_context);
+ 			return false;
+-		} else
++		} else {
++			wispr_portal_context_ref(wp_context);
+ 			__connman_agent_request_browser(wp_context->service,
+ 					wispr_portal_browser_reply_cb,
+ 					wp_context->redirect_url, wp_context);
++		}
+ 
+ 		break;
+ 	case 300:
+@@ -798,6 +803,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
+ 			!g_web_result_get_header(result, "Location",
+ 							&redirect)) {
+ 
++			wispr_portal_context_ref(wp_context);
+ 			__connman_agent_request_browser(wp_context->service,
+ 					wispr_portal_browser_reply_cb,
+ 					wp_context->status_url, wp_context);
+@@ -808,6 +814,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
+ 
+ 		wp_context->redirect_url = g_strdup(redirect);
+ 
++		wispr_portal_context_ref(wp_context);
+ 		wp_context->request_id = g_web_request_get(wp_context->web,
+ 				redirect, wispr_portal_web_result,
+ 				wispr_route_request, wp_context);
+@@ -820,6 +827,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
+ 
+ 		break;
+ 	case 505:
++		wispr_portal_context_ref(wp_context);
+ 		__connman_agent_request_browser(wp_context->service,
+ 				wispr_portal_browser_reply_cb,
+ 				wp_context->status_url, wp_context);
+@@ -832,6 +840,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
+ 	wp_context->request_id = 0;
+ done:
+ 	wp_context->wispr_msg.message_type = -1;
++	wispr_portal_context_unref(wp_context);
+ 	return false;
+ }
+ 
+@@ -890,6 +899,7 @@ static void proxy_callback(const char *proxy, void *user_data)
+ 					xml_wispr_parser_callback, wp_context);
+ 
+ 	wispr_portal_request_portal(wp_context);
++	wispr_portal_context_unref(wp_context);
+ }
+ 
+ static gboolean no_proxy_callback(gpointer user_data)
+-- 
+cgit 
+
diff --git a/gnu/packages/patches/gnome-todo-libportal.patch b/gnu/packages/patches/gnome-todo-libportal.patch
deleted file mode 100644
index 380c628592..0000000000
--- a/gnu/packages/patches/gnome-todo-libportal.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 3e1f4da8c0e536c09ffaf3b43fe2eb5dc17cc23e Mon Sep 17 00:00:00 2001
-From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
-Date: Thu, 18 Nov 2021 19:46:13 -0300
-Subject: [PATCH] flatpak: Adjust to libportal changes
-
----
- build-aux/flatpak/org.gnome.Todo.json          | 3 +++
- src/plugins/background/gtd-plugin-background.c | 2 +-
- src/plugins/background/meson.build             | 2 +-
- 3 files changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/build-aux/flatpak/org.gnome.Todo.json b/build-aux/flatpak/org.gnome.Todo.json
-index 034e200c..44b83d66 100644
---- a/build-aux/flatpak/org.gnome.Todo.json
-+++ b/build-aux/flatpak/org.gnome.Todo.json
-@@ -143,6 +143,9 @@
-         {
-             "name" : "libportal",
-             "buildsystem" : "meson",
-+            "config-opts" : [
-+                "-Dbackends=gtk4"
-+            ],
-             "sources" : [
-                 {
-                     "type" : "git",
-diff --git a/src/plugins/background/gtd-plugin-background.c b/src/plugins/background/gtd-plugin-background.c
-index cf48786c..f64d07aa 100644
---- a/src/plugins/background/gtd-plugin-background.c
-+++ b/src/plugins/background/gtd-plugin-background.c
-@@ -28,7 +28,7 @@
- #include <gtk/gtk.h>
- 
- #include <libportal/portal.h>
--#include <libportal/portal-gtk4.h>
-+#include <libportal-gtk4/portal-gtk4.h>
- 
- #define AUTOSTART_NOTIFICATION_ID      "Gtd::BackgroundPlugin::autostart_notification"
- #define AUTOSTART_NOTIFICATION_TIMEOUT 3  /* seconds */
-diff --git a/src/plugins/background/meson.build b/src/plugins/background/meson.build
-index a671a4f3..59d3635f 100644
---- a/src/plugins/background/meson.build
-+++ b/src/plugins/background/meson.build
-@@ -1,7 +1,7 @@
- plugins_ldflags += ['-Wl,--undefined=gtd_plugin_background_register_types']
- 
- plugins_deps += [
--  dependency('libportal'),
-+  dependency('libportal-gtk4'),
- ]
- 
- plugins_sources += files(
--- 
-GitLab
-
diff --git a/gnu/packages/patches/jami-fix-crash-on-block-contact.patch b/gnu/packages/patches/jami-fix-crash-on-block-contact.patch
new file mode 100644
index 0000000000..60dab79296
--- /dev/null
+++ b/gnu/packages/patches/jami-fix-crash-on-block-contact.patch
@@ -0,0 +1,32 @@
+From 673dc5f525c9d478fc22f8ea0a50d9849a81f6c8 Mon Sep 17 00:00:00 2001
+From: Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com>
+Date: Fri, 2 Sep 2022 13:32:10 -0400
+Subject: [PATCH] conversation: fix crash when block contact
+
+This patch fixes crash that happened when block contact
+for not active account.
+
+GitLab: #758
+Change-Id: I5347394a67cdffe0d95c9ee03aedf9d2618cec55
+---
+ src/jamidht/jamiaccount.cpp | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/daemon/src/jamidht/jamiaccount.cpp b/daemon/src/jamidht/jamiaccount.cpp
+index fe15eedb2..9d0a5ee68 100644
+--- a/daemon/src/jamidht/jamiaccount.cpp
++++ b/daemon/src/jamidht/jamiaccount.cpp
+@@ -1129,7 +1129,9 @@ JamiAccount::loadAccount(const std::string& archive_password,
+                     if (auto convModule = shared->convModule())
+                         convModule->removeContact(uri, banned);
+                     // Remove current connections with contact
+-                    shared->connectionManager_->closeConnectionsWith(uri);
++                    if (shared->connectionManager_) {
++                        shared->connectionManager_->closeConnectionsWith(uri);
++                    }
+                     // Update client.
+                     emitSignal<DRing::ConfigurationSignal::ContactRemoved>(shared->getAccountID(),
+                                                                            uri,
+-- 
+2.37.3
+
diff --git a/gnu/packages/patches/jami-fix-esc-bug.patch b/gnu/packages/patches/jami-fix-esc-bug.patch
deleted file mode 100644
index 6d78542f1e..0000000000
--- a/gnu/packages/patches/jami-fix-esc-bug.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-This fixes the issue where pressing the ESC key would hide the Jami
-GUI on systems lacking a notification tray.
-
-From 47fd4c38ddd8bd350319ce9bb750ca496826e655 Mon Sep 17 00:00:00 2001
-From: Sébastien Blin <sebastien.blin@savoirfairelinux.com>
-Date: Fri, 29 Jul 2022 21:24:01 -0400
-Subject: [PATCH] layoutmanager: fix popFullScreenItem
-
-Change-Id: I79780d4ad570846e6f3c52734dd627bcd0e11327
----
-
-diff --git a/src/app/LayoutManager.qml b/src/app/LayoutManager.qml
-index 98516ce..87f13ac 100644
---- a/client-qt/src/app/LayoutManager.qml
-+++ b/client-qt/src/app/LayoutManager.qml
-@@ -176,7 +176,7 @@
-
-         // Only leave fullscreen mode if our window isn't in fullscreen
-         // mode already.
--        if (priv.fullScreenItems.length === 0) {
-+        if (priv.fullScreenItems.length === 0 && priv.windowedVisibility !== Window.Hidden) {
-             // Simply recall the last visibility state.
-             visibility = priv.windowedVisibility
-         }
diff --git a/gnu/packages/patches/pjproject-install-libpjsua2.patch b/gnu/packages/patches/pjproject-install-libpjsua2.patch
deleted file mode 100644
index ef9b0de91f..0000000000
--- a/gnu/packages/patches/pjproject-install-libpjsua2.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-# Retrieved from upstream:
-# https://github.com/pjsip/pjproject/commit/742f7dc252ded778a8b677937791c02e2fbc0dde
-diff --git a/Makefile b/Makefile
-index 31a6d39d4..74e246a44 100644
---- a/Makefile
-+++ b/Makefile
-@@ -121,9 +121,10 @@ cmp_wav:
- 
- install:
- 	mkdir -p $(DESTDIR)$(libdir)/
--	cp -af $(APP_LIB_FILES) $(DESTDIR)$(libdir)/
- 	if [ "$(PJ_EXCLUDE_PJSUA2)x" = "x" ] ; then \
--	    cp -af $(PJ_DIR)/pjsip/lib/libpjsua2-$(LIB_SUFFIX) $(DESTDIR)$(libdir)/; \
-+	    cp -af $(APP_LIBXX_FILES) $(DESTDIR)$(libdir)/; \
-+	else \
-+	    cp -af $(APP_LIB_FILES) $(DESTDIR)$(libdir)/; \
- 	fi
- 	mkdir -p $(DESTDIR)$(includedir)/
- 	for d in pjlib pjlib-util pjnath pjmedia pjsip; do \
diff --git a/gnu/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch b/gnu/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch
new file mode 100644
index 0000000000..bd55d512cf
--- /dev/null
+++ b/gnu/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch
@@ -0,0 +1,25 @@
+From ff5ed26f21d304e867ab57781878069567deb23d Mon Sep 17 00:00:00 2001
+From: Hartmut Goebel <h.goebel@crazy-compilers.com>
+Date: Mon, 3 Aug 2020 19:49:58 +0000
+Subject: [PATCH] Fix build errors if PREFIX is different from ECM's PREFIX.
+
+See <https://bugs.kde.org/424483> for details
+---
+ KF5PlasmaMacros.cmake | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/KF5PlasmaMacros.cmake b/KF5PlasmaMacros.cmake
+index 494b42d56..80b3fd8dd 100644
+--- a/KF5PlasmaMacros.cmake
++++ b/KF5PlasmaMacros.cmake
+@@ -1,6 +1,5 @@
+ 
+-find_package(ECM 1.6.0 CONFIG REQUIRED)
+-include(${ECM_KDE_MODULE_DIR}/KDEInstallDirs.cmake)
++include(KDEInstallDirs)
+ 
+ set(PLASMA_RELATIVE_DATA_INSTALL_DIR "plasma")
+ set(PLASMA_DATA_INSTALL_DIR "${KDE_INSTALL_DATADIR}/${PLASMA_RELATIVE_DATA_INSTALL_DIR}")
+-- 
+GitLab
+
diff --git a/gnu/packages/patches/qemu-disable-aarch64-migration-test.patch b/gnu/packages/patches/qemu-disable-aarch64-migration-test.patch
new file mode 100644
index 0000000000..bf60ed23bb
--- /dev/null
+++ b/gnu/packages/patches/qemu-disable-aarch64-migration-test.patch
@@ -0,0 +1,13 @@
+Disable the qtest-aarch64/migration-test, which sometimes fail non-deterministically.
+See: https://gitlab.com/qemu-project/qemu/-/issues/1230.
+
+--- qemu-7.1.0/tests/qtest/meson.build.old	1969-12-31 19:00:01.000000000 -0500
++++ qemu-7.1.0/tests/qtest/meson.build	2022-09-26 11:11:05.434209797 -0400
+@@ -219,7 +219,6 @@
+   ['arm-cpu-features',
+    'numa-test',
+    'boot-serial-test',
+-   'migration-test',
+    'bcm2835-dma-test']
+ 
+ qtests_s390x = \
diff --git a/gnu/packages/patches/r-httpuv-1.5.5-unvendor-libuv.patch b/gnu/packages/patches/r-httpuv-1.6.6-unvendor-libuv.patch
index 30c6425477..adbacc995f 100644
--- a/gnu/packages/patches/r-httpuv-1.5.5-unvendor-libuv.patch
+++ b/gnu/packages/patches/r-httpuv-1.6.6-unvendor-libuv.patch
@@ -1,7 +1,7 @@
 Removes references to bundled libuv.
 
---- a/src/Makevars	2020-07-31 11:53:30.576484531 +0200
-+++ b/src/Makevars	2020-07-31 11:54:19.369863118 +0200
+--- a/src/Makevars	2022-09-19 23:37:55.067810741 +0200
++++ b/src/Makevars	2022-09-19 23:39:20.984859770 +0200
 @@ -5,7 +5,7 @@
  
  UNAME := $(shell uname)
@@ -20,13 +20,12 @@ Removes references to bundled libuv.
  
  # To avoid spurious warnings from `R CMD check --as-cran`, about compiler
  # warning flags like -Werror.
-@@ -43,49 +43,5 @@
+@@ -43,50 +43,4 @@
  # PKG_CPPFLAGS += -D_GLIBCXX_ASSERTIONS
  
  
 -$(SHLIB): libuv/.libs/libuv.a http-parser/http_parser.o sha1/sha1.o base64/base64.o
-+$(SHLIB): http-parser/http_parser.o sha1/sha1.o base64/base64.o
- 
+-
 -# We needed to rename lt~obsolete.m4 because the name causes problems with R
 -# CMD check. Here we rename it back.
 -libuv/m4/lt~obsolete.m4: libuv/m4/lt_obsolete.m4
@@ -59,7 +58,8 @@ Removes references to bundled libuv.
 -		touch aclocal.m4; \
 -		touch -r aclocal.m4 configure Makefile.in; \
 -	else \
--		echo "automake found. Running autogen.sh."; \
+-		echo "automake found. Running autoupdate and autogen.sh."; \
+-		autoupdate; \
 -		sh autogen.sh; \
 -	fi; \
 -	chmod +x configure; \
@@ -71,3 +71,4 @@ Removes references to bundled libuv.
 -
 -clean:
 -	$(MAKE) --directory=libuv distclean
++$(SHLIB): http-parser/http_parser.o sha1/sha1.o base64/base64.o
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index ca4e7f2557..d698450656 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -625,7 +625,7 @@ by using the poppler rendering engine.")
 (define-public zathura
   (package
     (name "zathura")
-    (version "0.4.9")
+    (version "0.5.1")
     (source (origin
               (method url-fetch)
               (uri
@@ -633,20 +633,21 @@ by using the poppler rendering engine.")
                               version ".tar.xz"))
               (sha256
                (base32
-                "0msy7s57mlx0wya99qpia4fpcy40pbj253kmx2y97nb0sqnc8c7w"))))
-    (native-inputs `(("pkg-config" ,pkg-config)
-                     ("gettext" ,gettext-minimal)
-                     ("glib:bin" ,glib "bin")
+                "1c8vmfpghqlq5kdnq92bzzp2grym3x3kxxxqgs51178s4z7639lq"))))
+    (native-inputs
+     (list pkg-config
+           gettext-minimal
+           (list glib "bin")
 
-                     ;; For building documentation.
-                     ("python-sphinx" ,python-sphinx)
+           ;; For building documentation.
+           python-sphinx
 
-                     ;; For building icons.
-                     ("librsvg" ,(librsvg-for-system))
+           ;; For building icons.
+           (librsvg-for-system)
 
-                     ;; For tests.
-                     ("check" ,check)
-                     ("xorg-server" ,xorg-server-for-tests)))
+           ;; For tests.
+           check
+           xorg-server-for-tests))
     (inputs (list sqlite))
     ;; Listed in 'Requires.private' of 'zathura.pc'.
     (propagated-inputs (list cairo girara))
@@ -660,8 +661,7 @@ by using the poppler rendering engine.")
                   (add-before 'check 'start-xserver
                     ;; Tests require a running X server.
                     (lambda* (#:key inputs #:allow-other-keys)
-                      (let ((xorg-server (assoc-ref inputs "xorg-server"))
-                            (display ":1"))
+                      (let ((display ":1"))
                         (setenv "DISPLAY" display)
 
                         ;; On busy machines, tests may take longer than
@@ -670,8 +670,9 @@ by using the poppler rendering engine.")
 
                         ;; Don't fail due to missing '/etc/machine-id'.
                         (setenv "DBUS_FATAL_WARNINGS" "0")
-                        (zero? (system (string-append xorg-server "/bin/Xvfb "
-                                                      display " &")))))))))
+                        (zero? (system (string-append
+                                         (search-input-file inputs "/bin/Xvfb")
+                                         " " display " &")))))))))
     (home-page "https://pwmt.org/projects/zathura/")
     (synopsis "Lightweight keyboard-driven PDF viewer")
     (description "Zathura is a customizable document viewer.  It provides a
diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index e7023aca0c..9d9b07f769 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2018, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -474,3 +475,25 @@ system, then @code{flit_core} to build the package.")
 @dfn{software configuration management} (SCM) metadata instead of declaring
 them as the version argument or in a SCM managed file.")
     (license license:expat)))
+
+(define-public python-editables
+  (package
+    (name "python-editables")
+    (version "0.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/pfmoore/editables")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1gbfkgzmrmbd4ycshm09fr2wd4f1n9gq7s567jgkavhfkn7s2pn1"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/pfmoore/editables")
+    (synopsis "Editable installations")
+    (description "This library supports the building of wheels which, when
+installed, will expose packages in a local directory on @code{sys.path} in
+``editable mode''.  In other words, changes to the package source will be
+reflected in the package visible to Python, without needing a reinstall.")
+    (license license:expat)))
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index 417f9c5a34..dfc0bad7a0 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -50,6 +50,7 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system cargo)
   #:use-module (guix build-system python)
+  #:use-module (guix utils)
   #:use-module (gnu packages)
   #:use-module (gnu packages check)
   #:use-module (gnu packages crates-io)
@@ -394,6 +395,86 @@ general production use.  Include this module and use its backends at your own
 risk.")
     (license license:expat)))
 
+(define-public python-blake3
+  (package
+    (name "python-blake3")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "blake3" version))
+       (sha256
+        (base32 "1p6z6jfk8n1lshz4cp6dgz2i8zmqdxwr8d9m86ypp3m1kp70k5xk"))))
+    (build-system cargo-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'install 'build-python-module
+            (lambda _
+              ;; We don't use maturin.
+              (delete-file "pyproject.toml")
+              (call-with-output-file "pyproject.toml"
+                (lambda (port)
+                  (format port "\
+[build-system]
+build-backend = 'setuptools.build_meta'
+requires = ['setuptools']
+")))
+              (call-with-output-file "setup.cfg"
+                (lambda (port)
+                  (format port "\
+
+[metadata]
+name = blake3
+version = '~a'
+
+[options]
+packages = find:
+
+[options.packages.find]
+exclude =
+  src*
+  c_impl*
+  tests*
+  Cargo.toml
+" #$version)))
+              ;; ZIP does not support timestamps before 1980.
+              (setenv "SOURCE_DATE_EPOCH" "315532800")
+              (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+          (add-after 'build-python-module 'install-python-module
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let ((whl (car (find-files "dist" "\\.whl$"))))
+                (invoke "pip" "--no-cache-dir" "--no-input"
+                        "install" "--no-deps" "--prefix" #$output whl))))
+          (add-after 'install-python-module 'install-python-library
+            (lambda _
+              (let ((site (string-append #$output "/lib/python"
+                                         #$(version-major+minor
+                                            (package-version python))
+                                         "/site-packages")))
+                (mkdir-p site)
+                (copy-file "target/release/libblake3.so"
+                           (string-append site "/blake3.so"))))))
+      #:cargo-inputs
+      `(("rust-blake3" ,rust-blake3-1)
+        ("rust-hex" ,rust-hex-0.4)
+        ("rust-parking-lot" ,rust-parking-lot-0.11)
+        ("rust-pyo3" ,rust-pyo3-0.15)
+        ("rust-rayon" ,rust-rayon-1))))
+    (inputs (list rust-blake3-1))
+    (native-inputs
+     (list python-wrapper
+           python-pypa-build
+           python-wheel))
+    (home-page "https://github.com/oconnor663/blake3-py")
+    (synopsis "Python bindings for the Rust blake3 crate")
+    (description "This package provides Python bindings for the Rust crate of
+blake3, a cryptographic hash function.")
+    ;; This work is released into the public domain with CC0
+    ;; 1.0. Alternatively, it is licensed under the Apache License 2.0.
+    (license (list license:asl2.0 license:cc0))))
+
 (define-public python-certauth
   (package
     (name "python-certauth")
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 80acb606b2..8ebf3d27b1 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -45,12 +45,14 @@
   #:use-module (gnu packages build-tools)
   #:use-module (gnu packages check)
   #:use-module (gnu packages cpp)
+  #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages image-processing)
   #:use-module (gnu packages machine-learning)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mpi)
+  #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -1492,6 +1494,62 @@ well as potentially any library which conforms to a standard API. See the
 documentation for more information.")
     (license license:expat)))
 
+(define-public python-vaex-core
+  (package
+    (name "python-vaex-core")
+    (version "4.13.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "vaex-core" version))
+       (sha256
+        (base32 "0ni862x5njhfsldjy49xmasd34plrs7yrmkyss6z1b6sgkbw9fsb"))
+       (modules '((guix build utils)))
+       (snippet
+        ;; Remove bundled libraries
+        '(for-each delete-file-recursively
+                   (list "vendor/boost"
+                         "vendor/pcre"
+                         "vendor/pybind11")))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #false ;require vaex.server and others, which require vaex-core.
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "pytest" "-vv" )))))))
+    (inputs
+     (list boost pcre pybind11-2.3))
+    (propagated-inputs
+     (list python-aplus
+           python-blake3
+           python-cloudpickle
+           python-dask
+           python-filelock
+           python-frozendict
+           python-future
+           python-nest-asyncio
+           python-numpy
+           python-pandas
+           python-progressbar2
+           python-pyarrow
+           python-pydantic
+           python-pyyaml
+           python-requests
+           python-rich
+           python-six
+           python-tabulate))
+    (native-inputs
+     (list python-pytest python-cython))
+    (home-page "https://www.github.com/maartenbreddels/vaex")
+    (synopsis "Core of Vaex library for exploring tabular datasets")
+    (description "Vaex is a high performance Python library for lazy
+Out-of-Core DataFrames (similar to Pandas), to visualize and explore big
+tabular datasets.  This package provides the core modules of Vaex.")
+    (license license:expat)))
+
 ;;;
 ;;; Avoid adding new packages to the end of this file. To reduce the chances
 ;;; of a merge conflict, place them above by existing packages with similar
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 56a07564c9..580a03ec0d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -129,6 +129,7 @@
 ;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
 ;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
 ;;; Copyright © 2022 Mathieu Laparie <mlaparie@disr.it>
+;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -19664,6 +19665,26 @@ point is the point of maximum curvature.")
      perform the operations required for synchronizing plain text.")
     (license license:asl2.0)))
 
+(define-public python-icdiff
+  (package
+    (name "python-icdiff")
+    (version "2.0.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/jeffkaufman/icdiff")
+                    (commit (string-append "release-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "14gr9j2h7sfw47pwfzspm4zinywhqmzm4a0qz5c2k9wbixz120a4"))))
+    (build-system python-build-system)
+    (home-page "https://www.jefftk.com/icdiff")
+    (synopsis "Improved colored diff")
+    (description "This package provides colored diff functions that highlight
+parts of the lines that were modified.")
+    (license license:psfl)))
+
 (define-public python-dirsync
   (package
     (name "python-dirsync")
@@ -22381,6 +22402,26 @@ library: to minimize boilerplate code in traditional extension modules by
 inferring type information using compile-time introspection.")
     (license license:bsd-3)))
 
+;; This is needed for python-vaex-core.
+(define-public pybind11-2.3
+  (package
+    (inherit pybind11)
+    (name "pybind11")
+    (version "2.3.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/pybind/pybind11")
+                    (commit (string-append "v" version))))
+              (sha256
+               (base32
+                "11b6dniri8m05spfd2a19irz82shf4sdca73566bniggrf3zclnf"))
+              (file-name (git-file-name name version))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments pybind11)
+       ((#:tests? tests? #false)
+        #false)))))
+
 (define-public python-pooch
   (package
     (name "python-pooch")
@@ -27148,6 +27189,29 @@ applications with variable CPU loads).")
     (home-page "https://jwilk.net/software/python-djvulibre")
     (license license:gpl2)))
 
+(define-public python-version
+  ;; No version tags available in the git repo; just using bare commit instead.
+  (let ((commit "5232eea250ab72cc5cb72b0b75efb35d2192b906")
+        (revision "1"))
+    (package
+      (name "python-version")
+      (version (git-version "0.0.2" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://gitlab.com/halfak/python_version")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0w210559ypdynlj9yn40m9awzkaknwrf682i99hswl7h66sdgh0h"))))
+      (build-system python-build-system)
+      (home-page "https://gitlab.com/halfak/python_version")
+      (synopsis "Python version checking utility")
+      (description
+       "This package provides a simple utility for checking the python version.")
+      (license license:expat))))
+
 (define-public python-versioneer
   (package
     (name "python-versioneer")
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index b89eff4eb0..8e7c4a0ed5 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -18,6 +18,7 @@
 ;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org>
 ;;; Copyright © 2022 Gabriel Arazas <foo.dogsquared@gmail.com>
 ;;; Copyright © 2022 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2022 Mathieu Laparie <mlaparie@disr.it>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -768,6 +769,31 @@ your current directory for a regex pattern while respecting your
 gitignore rules.")
     (license (list license:unlicense license:expat))))
 
+(define-public rot8
+  (package
+    (name "rot8")
+    (version "0.1.4")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "rot8" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1m5kzpqq9pgc19lbnh20iaq654lzlmc1m5fc9f73w2vpwqdiw1qf"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-clap" ,rust-clap-2)
+                       ("rust-glob" ,rust-glob-0.3)
+                       ("rust-regex" ,rust-regex-1)
+                       ("rust-serde" ,rust-serde-1)
+                       ("rust-serde-json" ,rust-serde-json-1))))
+    (home-page "https://github.com/efernau/rot8/")
+    (synopsis "Automatic display rotation using built-in accelerometer")
+    (description "@command{rot8} is a daemon that automates rotating screen and
+associated input devices using the built-in accelerometer; handy for convertible
+touchscreen devices.")
+    (license license:expat)))
+                
 (define-public git-interactive-rebase-tool
   (package
     (name "git-interactive-rebase-tool")
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 360c06d216..35d15667b6 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -35,6 +35,7 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system copy)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix utils)
   #:use-module (gnu packages)
@@ -274,7 +275,7 @@ external dependencies.")
            python-pyasn1                ;for krb5 tests
            ;; For generating man pages.
            docbook-xml-4.2
-           docbook-xsl
+           docbook-xsl-next             ;otherwise the man pages are corrupted
            libxslt
            libxml2))                    ;for XML_CATALOG_FILES
     (home-page "https://www.samba.org/")
@@ -505,3 +506,30 @@ and IPV6 and the protocols layered above them, such as TCP and UDP.")
                    license:bsd-4
                    license:gpl2+
                    license:public-domain))))
+
+(define-public wsdd
+  (package
+    (name "wsdd")
+    (version "0.7.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference (url "https://github.com/christgau/wsdd")
+                           (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "04an2w6hamnai668ag4vq8x0i09fsg2jrayb4a7ar0x6bn837k7m"))))
+    (build-system copy-build-system)
+    (inputs
+     `(("python" ,python)))
+    (arguments
+     '(#:install-plan
+       '(("src/wsdd.py" "bin/wsdd")
+         ("man/wsdd.1" "share/man/man1/"))))
+    (home-page "https://github.com/christgau/wsdd")
+    (synopsis "A Web Service Discovery host daemon")
+    (description "This daemon allows (Samba) hosts to be found by Web
+Service Dicovery Clients.  It also implements the client side of the
+discovery protocol which allows to search for devices implementing
+WSD.")
+    (license license:expat)))
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 4d0dd92007..9791a7dd97 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -540,14 +540,14 @@ ksh, and tcsh.")
 (define-public xonsh
   (package
     (name "xonsh")
-    (version "0.13.1")
+    (version "0.13.3")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "xonsh" version))
         (sha256
           (base32
-           "1b409wkh41inn6m0qmps4iq6bgvwg465dcfcbffqd15fr1j2d0hq"))
+           "154s4lbda3n8kamiyblfrv8isn3hnqyxw2k99qicyfll02chpjzl"))
         (modules '((guix build utils)))
         (snippet
          #~(begin
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 36dda6f215..6e57eb2f4f 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -550,14 +550,14 @@ k-nearest neighbour, Learning Vector Quantization and Self-Organizing Maps.")
 (define-public r-cluster
   (package
     (name "r-cluster")
-    (version "2.1.3")
+    (version "2.1.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "cluster" version))
        (sha256
         (base32
-         "1ab466lniykz2a6kdnrbkk7hwair79xfmy6cqvhc8d6nana7mbd3"))))
+         "1dpmss4mdpw6la5kjf135h2jj5j5zmqvykpj6fl6n5wslbn0rwf6"))))
     (build-system r-build-system)
     (native-inputs
      (list gfortran))
@@ -655,14 +655,14 @@ also flexible enough to handle most nonstandard requirements.")
 (define-public r-matrix
   (package
     (name "r-matrix")
-    (version "1.4-1")
+    (version "1.5-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "Matrix" version))
        (sha256
         (base32
-         "0zigzgx4dv7ydcyppr5ypna9dxi9vzi944pgy07jnj4l3qflzcj2"))))
+         "0pap6pb0is2s02l43y982p7banwi844bjpgbcgf6fb8pb01vlzam"))))
     (properties `((upstream-name . "Matrix")))
     (build-system r-build-system)
     (propagated-inputs
@@ -677,13 +677,13 @@ and operations on them using LAPACK and SuiteSparse.")
 (define-public r-nlme
   (package
     (name "r-nlme")
-    (version "3.1-158")
+    (version "3.1-159")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "nlme" version))
        (sha256
-        (base32 "08xzaslqmbizj38v746hn09bi7k9h0vjhh0z7mv0c9xsq80v8nx5"))))
+        (base32 "1gqrv4skfgcny4pdpmymdwjcmsd3hla84s76g18dgqj665f5zc4v"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-lattice))
@@ -779,14 +779,14 @@ analysis.")
 (define-public r-survival
   (package
     (name "r-survival")
-    (version "3.3-1")
+    (version "3.4-0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "survival" version))
        (sha256
         (base32
-         "1isdrcvrzi118xiyigckj9sq1xl4m92180brmpzdqzhcrl2qg1ql"))))
+         "04pqkklbjpcqaq49h49j0vw18q4hi31ry3szzf84vzk5fba273m4"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-matrix))
@@ -1186,16 +1186,21 @@ transliteration, concatenation, date-time formatting and parsing, etc.")
 (define-public r-stringr
   (package
     (name "r-stringr")
-    (version "1.4.0")
+    (version "1.4.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "stringr" version))
        (sha256
-        (base32 "1p9ip7p87gbbg4s6d3d392svvzz2b5dqdq2c8ilgvn4s78nlsq47"))))
+        (base32 "1cfw1lv64lzg16zb04c0fcmd3gx8vq9x73hqikqhgqd3ra88w3gc"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-glue r-magrittr r-stringi))
+    ;; We can't add r-knitr here, because this package ends up being an input
+    ;; to r-knitr.
+    #;
+    (native-inputs
+     (list r-knitr))
     (home-page "https://github.com/hadley/stringr")
     (synopsis "Simple, consistent wrappers for common string operations")
     (description
@@ -1421,13 +1426,13 @@ for template use among CRAN packages.")
 (define-public r-evaluate
   (package
     (name "r-evaluate")
-    (version "0.15")
+    (version "0.16")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "evaluate" version))
               (sha256
                (base32
-                "0pbwj02y2j7r0msa7747ih1p32xm9bcyr8fa7bysfslb199ywnl8"))))
+                "009861l805z4c10cz0pyym5qd2b2wsiignjkz74vl25718k0mz0h"))))
     (build-system r-build-system)
     (home-page "https://github.com/hadley/evaluate")
     (synopsis "Parsing and evaluation tools for R")
@@ -1551,13 +1556,13 @@ emitter (http://pyyaml.org/wiki/LibYAML) for R.")
 (define-public r-knitr
   (package
     (name "r-knitr")
-    (version "1.39")
+    (version "1.40")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "knitr" version))
               (sha256
                (base32
-                "0wmcj6xv0bcqzmp5vm8s574rfx366rkgm03lgyppk9ywxgnna6n9"))))
+                "1g1mhnkyxd2sv6p1l6iph9dnmpbwxhah78xx4kq543ks6vzrb3wv"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-evaluate r-highr r-stringr r-xfun r-yaml))
@@ -1756,13 +1761,13 @@ defined in different packages.")
 (define-public r-rlang
   (package
     (name "r-rlang")
-    (version "1.0.4")
+    (version "1.0.5")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "rlang" version))
               (sha256
                (base32
-                "15l65as409b3y9sn1jm7lb2019jsp19w6qxsgvimr1badka8kdqz"))))
+                "1argj8pvf8b19693r6j7rw1fl4bd99b39h5y52qrm1wpcvjkba9d"))))
     (build-system r-build-system)
     (home-page "http://rlang.tidyverse.org")
     (synopsis "Functions for base types, core R and Tidyverse features")
@@ -1803,13 +1808,13 @@ and printing capabilities than traditional data frames.")
 (define-public r-dplyr
   (package
     (name "r-dplyr")
-    (version "1.0.9")
+    (version "1.0.10")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "dplyr" version))
               (sha256
                (base32
-                "0sxl9yzccsdhlrrwj26lmh9frsijxyfaf7csv8mf7d0q4qqzgqg2"))))
+                "0aqggs0gk95b326gzqjab8i27cna1hzik3zi5l2kkr5l4zv3kdis"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-generics
@@ -2173,13 +2178,13 @@ jackknifed confidence intervals are available for most estimates.")
 (define-public r-rversions
   (package
     (name "r-rversions")
-    (version "2.1.1")
+    (version "2.1.2")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "rversions" version))
               (sha256
                (base32
-                "1cbwwbz8lqx2n33xr4q904whvld22s63rpyy1nn93395l7ssrakr"))))
+                "0q5ip3rkhcxz7472fbqddrw3a2wm31b18w7ax0pi6wc27qiihn6y"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-curl r-xml2))
@@ -2353,14 +2358,14 @@ module, Java Server Pages, and Python's psp module.")
 (define-public r-desc
   (package
     (name "r-desc")
-    (version "1.4.1")
+    (version "1.4.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "desc" version))
        (sha256
         (base32
-         "0m3g5m0g08k674zh4lq0ihmqiwz8jpsfqrdwfqp5p4ngxi8vp7lg"))))
+         "0z1259ghccmrjylydra4bpryqasirsky7bc4gsx0k327pqacz2km"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-cli r-r6 r-rprojroot))
@@ -2434,14 +2439,14 @@ collation, and NAMESPACE files.")
 (define-public r-openssl
   (package
     (name "r-openssl")
-    (version "2.0.2")
+    (version "2.0.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "openssl" version))
        (sha256
         (base32
-         "1i7il5kkr1yp2xk8zw7max4llga4hfz0cx9sx0v2xnb9pg4ksbc6"))))
+         "1al6cb0qwafa32dxr2hhhv6hvbp26hiykamn7w27z1gc1d99ipkw"))))
     (build-system r-build-system)
     (arguments
      (list
@@ -2476,13 +2481,13 @@ integers.")
 (define-public r-httr
   (package
     (name "r-httr")
-    (version "1.4.3")
+    (version "1.4.4")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "httr" version))
               (sha256
                (base32
-                "0skwi501rzndywn81704d68n1l6lrvqilf91q08cjfhpjvx171ls"))))
+                "0pa3ypkq6kq6sw7b8w62rfpcbjwhc49y8nkvk900s9pfycijbn21"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-curl r-jsonlite r-openssl r-mime r-r6))
@@ -2523,13 +2528,13 @@ pure C implementation of the Git core methods.")
 (define-public r-rstudioapi
   (package
     (name "r-rstudioapi")
-    (version "0.13")
+    (version "0.14")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "rstudioapi" version))
               (sha256
                (base32
-                "12vdfzzjc6mv4h105l8cp108j3hjk0mqmg23m6mqr3jarfymphxa"))))
+                "1i5g9l2739mlaglzg98iifycx98jlzxj5933qfb8lwmdn63hk7a6"))))
     (build-system r-build-system)
     (native-inputs
      (list r-knitr))
@@ -2605,14 +2610,14 @@ were originally a part of the r-devtools package.")
 (define-public r-hms
   (package
     (name "r-hms")
-    (version "1.1.1")
+    (version "1.1.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "hms" version))
        (sha256
         (base32
-         "0qlh4s1g9rbm6c3s906dhw3xsz28m8fg6cyynlkhvis533dk0pvb"))))
+         "1vdx08irnh8q5232hriv47hh88hc55nbbrff7y6zbainff2akrhy"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-ellipsis r-lifecycle r-pkgconfig r-rlang r-vctrs))
@@ -2721,13 +2726,13 @@ well as additional utilities such as panel and axis annotation functions.")
 (define-public r-rcpparmadillo
   (package
     (name "r-rcpparmadillo")
-    (version "0.11.2.0.0")
+    (version "0.11.2.4.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "RcppArmadillo" version))
               (sha256
                (base32
-                "0f0rrv254jd66m80vm4bmk3yrnyw1kdfgdki6zbcih7mbvw7mqgr"))))
+                "1y499idmci72x6gpj855vf4rlzh1r2qqpxyzs53r59ay8f4g0jar"))))
     (properties `((upstream-name . "RcppArmadillo")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2813,13 +2818,13 @@ certain criterion, e.g., it contains a certain regular file.")
 (define-public r-rmarkdown
   (package
     (name "r-rmarkdown")
-    (version "2.14")
+    (version "2.16")
     (source
       (origin
         (method url-fetch)
         (uri (cran-uri "rmarkdown" version))
         (sha256
-          (base32 "081j1hpxcwadn606ch5lq279s66c1b0f0mjvap7yimnrljpigv79"))))
+          (base32 "0wgsc5ax4wynviasyxr240fkjk0g1wm9aq7b42mx66f43424xlyk"))))
     (properties `((upstream-name . "rmarkdown")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2846,15 +2851,17 @@ variety of formats.")
 (define-public r-gtable
   (package
     (name "r-gtable")
-    (version "0.3.0")
+    (version "0.3.1")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "gtable" version))
               (sha256
                (base32
-                "1lyncxf2dqdjgw1071cn9c8zwzkz6sldnd5cgmicf70bc726qf7x"))))
+                "1dbwxhxawwbmaixwxxglazv5bici56qvmjk7sqa8j66m49bjrmlb"))))
     (properties `((upstream-name . "gtable")))
     (build-system r-build-system)
+    (native-inputs
+     (list r-knitr))
     (home-page "https://cran.r-project.org/web/packages/gtable")
     (synopsis "R library to arrange grobs in tables")
     (description
@@ -2928,13 +2935,13 @@ a column in data frame.")
 (define-public r-rsqlite
   (package
     (name "r-rsqlite")
-    (version "2.2.15")
+    (version "2.2.17")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "RSQLite" version))
               (sha256
                (base32
-                "1cypz9i85fnp3izk0px9r8s3l1jwn5kmgs2avc0fi3fad1775029"))))
+                "16l64ganvdlaldmqryz2c95id2m8vchlj9x5rz9kppbmhy122vjw"))))
     (properties `((upstream-name . "RSQLite")))
     (build-system r-build-system)
     (propagated-inputs
@@ -3346,9 +3353,8 @@ using the multicore functionality of the parallel package.")
            ("https://cdn.datatables.net/buttons/1.6.1/js/buttons.bootstrap4.js"
             "0hfclipg43wr9p7irrcn9vp5wji8z7gz6y5mclkq88z1mlpwklzf"
             "datatables-extensions/Buttons")
-           ;; It is not clear what version the bundled file corresponds to.
-           ("https://cdnjs.cloudflare.com/ajax/libs/jszip/2.5.0/jszip.js"
-            "18hpj9vwgki56ijb20l5gwmqa5p1d0xprn57z2mlg3ph6ll0bdkd"
+           ("https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.js"
+            "01l5lw49jz2qn6k9i63dk4llar4lvvpd6xp6i45mpwfk49fbxqg2"
             "datatables-extensions/Buttons")
            ("https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/pdfmake.js"
             "1sfw80az2cgzin5wk7q1p2n9zm66c35cz0m6isdygml81i594wia"
@@ -3564,13 +3570,13 @@ using the multicore functionality of the parallel package.")
             "datatables-extensions/Select"))))
     (package
       (name "r-dt")
-      (version "0.23")
+      (version "0.25")
       (source (origin
                 (method url-fetch)
                 (uri (cran-uri "DT" version))
                 (sha256
                  (base32
-                  "0w6wgiwa3zgldp175a3q7zfw853xqc7mfj34n6hja48ln7yf42in"))
+                  "0as43h4minnz5c09nvbvq8b1d9506mzkcdl98bhf87rf0q9qgz0d"))
                 (modules '((guix build utils)))
                 (snippet
                  '(for-each delete-file
@@ -4132,14 +4138,14 @@ most common form of color blindness.")
 (define-public r-viridislite
   (package
     (name "r-viridislite")
-    (version "0.4.0")
+    (version "0.4.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "viridisLite" version))
        (sha256
         (base32
-         "0siwr0vq80gs3sbyd542zjb0cl9av5zqdm0fqnym5g6ribf5b6c4"))))
+         "15zaf2c7kzjf3i0g7y8w6jlgfkpprqj2zl346y5imz75r8fdp5m8"))))
     (properties `((upstream-name . "viridisLite")))
     (build-system r-build-system)
     (home-page "https://github.com/sjmgarnier/viridisLite")
@@ -4183,14 +4189,14 @@ selection.")
 (define-public r-tidyr
   (package
     (name "r-tidyr")
-    (version "1.2.0")
+    (version "1.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tidyr" version))
        (sha256
         (base32
-         "1a0k296a0jb2xi5zgfrqfmmw8197bwibjl7a04fm49vqx6livl4c"))))
+         "1bv1rvnbbfdqf78qfbawq3yxjhjfdy0mgcla6b17bp336rnpcwb9"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-cpp11
@@ -4445,14 +4451,14 @@ following problems:
 (define-public r-base64
   (package
     (name "r-base64")
-    (version "2.0")
+    (version "2.0.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "base64" version))
        (sha256
         (base32
-         "1labh0ycdm2xcjssj8bhnyjvbk44mcdsi0rb2p8rfqa428mrq9cf"))))
+         "1w9m4n29xmj7px8fbmha04vq146bxfqi7ipj1ag09hlm05y6h8jd"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-openssl))
@@ -4467,13 +4473,13 @@ package instead.")
 (define-public r-hmisc
   (package
     (name "r-hmisc")
-    (version "4.7-0")
+    (version "4.7-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "Hmisc" version))
        (sha256
-        (base32 "1gc71wg6f17x6nriphs1kk39ix7lpqk32clk1qshqy8wl6f2vv19"))))
+        (base32 "0zrfi2mmi6wfl6440iqflzzmkina8dhxia2qsamqw6djd0d5fp9j"))))
     (properties `((upstream-name . "Hmisc")))
     (build-system r-build-system)
     (native-inputs
@@ -4858,13 +4864,13 @@ Wall Street Journal, among others.  This package also provides
 (define-public r-statmod
   (package
     (name "r-statmod")
-    (version "1.4.36")
+    (version "1.4.37")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "statmod" version))
               (sha256
                (base32
-                "1hkvklcav6gj4zib4g3b4xwsdsbsmnzdblr0v6jaqv227p49gs0l"))))
+                "04v9nynv3lakhnd7b17v5syrlnscrxml71jnd3r93chckskwillh"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/statmod")
     (native-inputs
@@ -5245,14 +5251,14 @@ analysis} (PCA) by projection pursuit.")
 (define-public r-rrcov
   (package
     (name "r-rrcov")
-    (version "1.7-0")
+    (version "1.7-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rrcov" version))
        (sha256
         (base32
-         "1z98j9973hl19b70dcwfcf55ifxr2a9v53daaq2sagynh95aik6b"))))
+         "1rd4r4acgpr25x2iy7v2mnahmmf76a378zq16gnpwv5ljycs05g1"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-lattice r-mvtnorm r-pcapp r-robustbase))
@@ -5486,14 +5492,14 @@ metrics for evaluating models.")
 (define-public r-matrixmodels
   (package
     (name "r-matrixmodels")
-    (version "0.5-0")
+    (version "0.5-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "MatrixModels" version))
        (sha256
         (base32
-         "1va6i6bpkq71rzl9i4xgyc5x7qcksa3nfzihlaggf6aj30dayzx8"))))
+         "1a9ywhv1yklfcp0jgirkih3ib5scs61hkscmyddwfh5blpgmpi9z"))))
     (properties `((upstream-name . "MatrixModels")))
     (build-system r-build-system)
     (propagated-inputs
@@ -5773,14 +5779,14 @@ first and second order derivatives.")
 (define-public r-sn
   (package
     (name "r-sn")
-    (version "2.0.2")
+    (version "2.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "sn" version))
        (sha256
         (base32
-         "140p1pl5sq0laxhcm16kbqm986hlhqj90gj3jccga491gh14jywm"))))
+         "12s4g9rfrnijdil7bqw66ikj5k3w6bdnz6fsgqsp0bkfsap9nps9"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-mnormt r-numderiv r-quantreg))
@@ -5950,17 +5956,24 @@ and the corresponding decision threshold.")
 (define-public r-forcats
   (package
     (name "r-forcats")
-    (version "0.5.1")
+    (version "0.5.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "forcats" version))
        (sha256
         (base32
-         "12d2nv2w15085jscgidmjdnr1ryymciflcmal6ldmgp2fkl9dyy4"))))
+         "0hb1m16il1n8nmhp7hx8k2xxq8bd8kp3qqs2pw7xm0iz311hm9hl"))))
     (build-system r-build-system)
     (propagated-inputs
-     (list r-ellipsis r-magrittr r-tibble r-rlang))
+     (list r-cli
+           r-ellipsis
+           r-glue
+           r-lifecycle
+           r-magrittr
+           r-tibble
+           r-rlang
+           r-withr))
     (native-inputs
      (list r-knitr))
     (home-page "https://forcats.tidyverse.org")
@@ -6462,14 +6475,14 @@ mediation and estimating power.")
 (define-public r-clubsandwich
   (package
     (name "r-clubsandwich")
-    (version "0.5.7")
+    (version "0.5.8")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "clubSandwich" version))
        (sha256
         (base32
-         "1chq0bjz0yskm3cs8k6019j9v1m3fiz4p2ysk3xmqxlcihmnvv0b"))))
+         "1y894n35l4lzqm15ifxjnpnh95dldsfivv4098571yqf1z4a253q"))))
     (properties `((upstream-name . "clubSandwich")))
     (build-system r-build-system)
     (propagated-inputs
@@ -6901,13 +6914,13 @@ Calculates confidence intervals for the difference in proportion.")
 (define-public r-desctools
   (package
     (name "r-desctools")
-    (version "0.99.45")
+    (version "0.99.46")
     (source
       (origin
         (method url-fetch)
         (uri (cran-uri "DescTools" version))
         (sha256
-          (base32 "01gbmikpzjmymvb7p76k7wqvfvwznl6v0qa78jy7bi6fzmbp1zld"))))
+          (base32 "1f6jhvwgzv8mw5vmy7nqh8bpmrrzl36x1bq1ggnk3va24fcd01jq"))))
     (properties `((upstream-name . "DescTools")))
     (build-system r-build-system)
     (propagated-inputs
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 1a22d230d2..6c9869f93e 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -62,6 +62,7 @@
   #:use-module (gnu packages xorg)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system copy)
@@ -71,6 +72,230 @@
   #:use-module (guix build-system python)
   #:use-module (guix build-system qt))
 
+(define %telegram-version "2.9.3")
+
+(define libvpx-for-telegram-desktop
+  (let ((commit "5b63f0f821e94f8072eb483014cfc33b05978bb9")
+        (revision "112"))
+    (origin
+      (method git-fetch)
+      (uri (git-reference
+            (url "https://chromium.googlesource.com/webm/libvpx")
+            (commit commit)))
+      (file-name (git-file-name
+                  "libvpx-for-telegram-desktop"
+                  (git-version "1.9.0" revision commit)))
+      (sha256
+       (base32
+        "1psvxaddihlw1k5n0anxif3qli6zyw2sa2ywn6mkb8six9myrp68")))))
+
+(define libyuv-for-telegram-desktop
+  (let ((commit "ad890067f661dc747a975bc55ba3767fe30d4452")
+        (revision "2211"))
+    (origin
+      (method git-fetch)
+      (uri (git-reference
+            (url "https://chromium.googlesource.com/libyuv/libyuv")
+            (commit commit)))
+      (file-name (git-file-name
+                  "libyuv-for-telegram-desktop"
+                  (git-version "0" revision commit)))
+      (sha256
+       (base32
+        "01knnk4h247rq536097n9n3s3brxlbby3nv3ppdgsqfda3k159ll")))))
+
+(define cmake-helpers-for-telegram-desktop
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/desktop-app/cmake_helpers.git")
+          (commit "4d44d822e01b3b5fbec3ce824e01f56aa35d7f72")))
+    (file-name
+     (git-file-name "cmake-helpers-for-telegram-desktop" %telegram-version))
+    (sha256
+     (base32
+      "0h6cjiqy014h2mz90h1z5a7plb3ihbnds4bja8994ybr1dy3m7m5"))))
+
+(define codegen-for-telegram-desktop
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/desktop-app/codegen.git")
+          (commit "248614b49cd7d5aff69d75a737f2e35b79fbb119")))
+    (file-name
+     (git-file-name "codegen-for-telegram-desktop" %telegram-version))
+    (sha256
+     (base32
+      "00f7g2z6xmkbkrmi3q27hscjl44mg66wf9q0mz3rhy3jaa6cfdrk"))))
+
+(define lib-base-for-telegram-desktop
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/desktop-app/lib_base.git")
+          (commit "a23c05c44e4f01dc4428f4d75d4db98c59d313a6")))
+    (file-name
+     (git-file-name "lib-base-for-telegram-desktop" %telegram-version))
+    (sha256
+     (base32
+      "0vh5zgxwalmbnvz8lzlnba87ch8vnpmcz6nvf56w09f3nlxvvq78"))))
+
+(define lib-crl-for-telegram-desktop
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/desktop-app/lib_crl.git")
+          (commit "3ccf2ed5095442e5874bba8852cb7dc4efeae29f")))
+    (file-name
+     (git-file-name "lib-crl-for-telegram-desktop" %telegram-version))
+    (sha256
+     (base32
+      "11my7q54m4lvvlgma6pbdyjxi1cv1adk1gph2j50mh18sqlm8myz"))))
+
+(define lib-lottie-for-telegram-desktop
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/desktop-app/lib_lottie.git")
+          (commit "0770df009db7928df1d0cad0900dc5110106d229")))
+    (file-name
+     (git-file-name "lib-lottie-for-telegram-desktop" %telegram-version))
+    (sha256
+     (base32
+      "1gj56ymlbk5dnk82jw674808m511lv9dky8891a5wm4gp3pph5jb"))))
+
+(define lib-qr-for-telegram-desktop
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/desktop-app/lib_qr.git")
+          (commit "2b08c71c6edcfc3e31f7d7f518cc963493b6e189")))
+    (file-name
+     (git-file-name "lib-qr-for-telegram-desktop" %telegram-version))
+    (sha256
+     (base32
+      "05hrkmwgrczyjv87r507i2r7m1zr6k2i43mq3my0s6j4szr1rjq0"))))
+
+(define lib-rlottie-for-telegram-desktop
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/desktop-app/lib_rlottie.git")
+          (commit "0671bf70547381effcf442ec9618e04502a8adbc")))
+    (file-name
+     (git-file-name "lib-rlottie-for-telegram-desktop" %telegram-version))
+    (sha256
+     (base32
+      "05qnza7j15356s8jq16pkbyp4zr586lssmd86lz5jq23lcb3raxv"))))
+
+(define lib-rpl-for-telegram-desktop
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/desktop-app/lib_rpl.git")
+          (commit "df721be3fa14a27dfc230d2e3c42bb1a7c9d0617")))
+    (file-name
+     (git-file-name "lib-rpl-for-telegram-desktop" %telegram-version))
+    (sha256
+     (base32
+      "15fnv3ssn7rn5d0j52gggdvyqc2wm464678dj7v2x9h8lka2jjxn"))))
+
+(define lib-spellcheck-for-telegram-desktop
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/desktop-app/lib_spellcheck.git")
+          (commit "68c9b788958904aea7de79f986a0f82ec8c5b094")))
+    (file-name
+     (git-file-name "lib-spellcheck-for-telegram-desktop" %telegram-version))
+    (sha256
+     (base32
+      "0d8s4wwk6fxf536mhzq2vb9qw3j0m8nqia7ylvvpsbc4kh09dadn"))))
+
+(define lib-storage-for-telegram-desktop
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/desktop-app/lib_storage.git")
+          (commit "403df6c4a29562bd417c92d410e49819f5a48cc1")))
+    (file-name
+     (git-file-name "lib-storage-for-telegram-desktop" %telegram-version))
+    (sha256
+     (base32
+      "1zxvzfrxbj4d395fzyb5pm9wn3n8jyimxx88cyqjcdd46sx4h7r5"))))
+
+(define lib-tl-for-telegram-desktop
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/desktop-app/lib_tl.git")
+          (commit "45faed44e7f4d11fec79b7a70e4a35dc91ef3fdb")))
+    (file-name
+     (git-file-name "lib-tl-for-telegram-desktop" %telegram-version))
+    (sha256
+     (base32
+      "0h43xvzklda02494d466jp52hl8c1kmav9f12dyld10dpf1w6c7m"))))
+
+(define lib-ui-for-telegram-desktop
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/desktop-app/lib_ui.git")
+          (commit "1b590f9e16eb9571a039f072d6fea66c607e419f")))
+    (file-name
+     (git-file-name "lib-ui-for-telegram-desktop" %telegram-version))
+    (sha256
+     (base32
+      "0ighyhfp29h9h8c7vr70pnhcv2xnsr9ln084pssn8hb5z4pmb62f"))))
+
+(define lib-waylandshells-for-telegram-desktop
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/desktop-app/lib_waylandshells.git")
+          (commit "59b0ee55a68976d27f1bf7cec0e11d5939e185e7")))
+    (file-name
+     (git-file-name "lib-waylandshells-for-telegram-desktop" %telegram-version))
+    (sha256
+     (base32
+      "0l2xrpc5mvvdlsj333pmkgfvn9wi1ijfdaaz8skfnw9icw52faaf"))))
+
+(define lib-webrtc-for-telegram-desktop
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/desktop-app/lib_webrtc.git")
+          (commit "ef49f953f12b112008a094a719f40939aaf39db4")))
+    (file-name
+     (git-file-name "lib-webrtc-for-telegram-desktop" %telegram-version))
+    (sha256
+     (base32
+      "15k4xs3462p3ddp5cn9im3nvdiaijmxir8wxsf5yrj70ghy26ibw"))))
+
+(define lib-webview-for-telegram-desktop
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/desktop-app/lib_webview.git")
+          (commit "e06427c624515485774e2e2181d4afeb05ad5a67")))
+    (file-name
+     (git-file-name "lib-webview-for-telegram-desktop" %telegram-version))
+    (sha256
+     (base32
+      "148z7xzfscynwwwqssdsd97npax6yn8zrd64xw8qzbwff2g2r7k4"))))
+
+(define tgcalls-for-telegram-desktop
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/TelegramMessenger/tgcalls.git")
+          (commit "81e97fa52e25b7775b62ce07bb653533d81e91b3")))
+    (file-name
+     (git-file-name "tgcalls-for-telegram-desktop" %telegram-version))
+    (sha256
+     (base32
+      "0fvad87hyxli83xn19mgf8jjrrh6y6iaig14pckpbkg33vf4wqkj"))))
+
 (define-public webrtc-for-telegram-desktop
   (let ((commit "91d836dc84a16584c6ac52b36c04c0de504d9c34")
         (revision "166"))
@@ -94,84 +319,54 @@
                      (ice-9 ftw)
                      (srfi srfi-1)))
           (snippet
-           `(begin
-              (let ((keep
-                     '( ;; Custom forks which are incompatible with the ones in Guix.
-                       "abseil-cpp" "libsrtp" "openh264" "rnnoise"
-                       ;; Not available in Guix.
-                       "pffft" "usrsctp"
-                       ;; Has cmake support files for libvpx input.
-                       "libvpx")))
-                (with-directory-excursion "src/third_party"
-                  (for-each delete-file-recursively
-                            (lset-difference string=?
-                                             (scandir ".")
-                                             (cons* "." ".." keep))))
-                #t)))))
+           #~(begin
+               (let ((keep
+                      '( ;; Custom forks which are incompatible with the ones in Guix.
+                        "abseil-cpp" "libsrtp" "openh264" "rnnoise"
+                        ;; Not available in Guix.
+                        "pffft" "usrsctp"
+                        ;; Has cmake support files for libvpx input.
+                        "libvpx")))
+                 (with-directory-excursion "src/third_party"
+                   (for-each delete-file-recursively
+                             (lset-difference string=?
+                                              (scandir ".")
+                                              (cons* "." ".." keep)))))))))
        (build-system cmake-build-system)
        (arguments
-        `(#:tests? #f                   ; No target
-          #:configure-flags
-          (list
-           "-DCMAKE_C_FLAGS=-fPIC"
-           "-DCMAKE_CXX_FLAGS=-fPIC")
-          #:phases
-          (modify-phases %standard-phases
-            (add-after 'unpack 'copy-inputs
-              (lambda* (#:key inputs outputs #:allow-other-keys)
-                (let* ((libvpx-from (assoc-ref inputs "libvpx"))
-                       (libyuv-from (assoc-ref inputs "libyuv"))
-                       (libvpx-to (string-append (getcwd)
-                                                 "/src/third_party/libvpx/source/libvpx"))
-                       (libyuv-to (string-append (getcwd)
-                                                 "/src/third_party/libyuv")))
-                  (copy-recursively libvpx-from libvpx-to)
-                  (copy-recursively libyuv-from libyuv-to))
-                #t)))))
-       (native-inputs
-        `(("perl" ,perl)
-          ("pkg-config" ,pkg-config)
-          ("python" ,python-wrapper)
-          ("yasm" ,yasm)))
+        (list
+         #:tests? #f                    ; No target
+         #:configure-flags #~(list "-DCMAKE_C_FLAGS=-fPIC"
+                                   "-DCMAKE_CXX_FLAGS=-fPIC")
+         #:phases
+         #~(modify-phases %standard-phases
+             (add-after 'unpack 'copy-inputs
+               (lambda _
+                 (let* ((third-party (string-append (getcwd) "/src/third_party"))
+                        (libvpx-to (string-append third-party
+                                                  "/libvpx/source/libvpx"))
+                        (libyuv-to (string-append third-party "/libyuv")))
+                   (copy-recursively #$libvpx-for-telegram-desktop libvpx-to)
+                   (copy-recursively #$libyuv-for-telegram-desktop
+                                     libyuv-to)))))))
+       (native-inputs (list perl pkg-config python-wrapper yasm))
        (inputs
-        `(("alsa" ,alsa-lib)
-          ("ffmpeg" ,ffmpeg)
-          ("libjpeg" ,libjpeg-turbo)
-          ("glib" ,glib)
-          ("libvpx"
-           ,(origin
-              (method git-fetch)
-              (uri
-               (git-reference
-                (url "https://chromium.googlesource.com/webm/libvpx")
-                (commit "5b63f0f821e94f8072eb483014cfc33b05978bb9")))
-              (file-name
-               (git-file-name "libvpx-for-webrtc-for-telegram-desktop" version))
-              (sha256
-               (base32 "1psvxaddihlw1k5n0anxif3qli6zyw2sa2ywn6mkb8six9myrp68"))))
-          ("libyuv"
-           ,(origin
-              (method git-fetch)
-              (uri
-               (git-reference
-                (url "https://chromium.googlesource.com/libyuv/libyuv")
-                (commit "ad890067f661dc747a975bc55ba3767fe30d4452")))
-              (file-name
-               (git-file-name "libyuv-for-webrtc-for-telegram-desktop" version))
-              (sha256
-               (base32 "01knnk4h247rq536097n9n3s3brxlbby3nv3ppdgsqfda3k159ll"))))
-          ("libxcomposite" ,libxcomposite)
-          ("libxdamage" ,libxdamage)
-          ("libxrender" ,libxrender)
-          ("libxrandr" ,libxrandr)
-          ("openssl" ,openssl)
-          ("opus" ,opus)
-          ("pipewire" ,pipewire)
-          ("protobuf" ,protobuf)
-          ("pulseaudio" ,pulseaudio)
-          ("x11" ,libx11)
-          ("xext" ,libxext)
-          ("xtst" ,libxtst)))
+        (list alsa-lib
+              ffmpeg
+              libjpeg-turbo
+              glib
+              libxcomposite
+              libxdamage
+              libxrender
+              libxrandr
+              openssl
+              opus
+              pipewire
+              protobuf
+              pulseaudio
+              libx11
+              libxext
+              libxtst))
        (synopsis "WebRTC support for Telegram Desktop")
        (description "WebRTC-for-Telegram-Desktop is a custom WebRTC fork by
 Telegram project, for its use in telegram desktop client.")
@@ -269,7 +464,7 @@ Telegram project, for its use in telegram desktop client.")
 (define-public telegram-desktop
   (package
     (name "telegram-desktop")
-    (version "2.9.3")
+    (version %telegram-version)
     (source
      (origin
        (method git-fetch)
@@ -286,312 +481,124 @@ Telegram project, for its use in telegram desktop client.")
                   (ice-9 ftw)
                   (srfi srfi-1)))
        (snippet
-        `(begin
-           (let ((keep
-                  '( ;; Not available in Guix.
-                    "SPMediaKeyTap" "statusnotifieritem" "tgcalls")))
-             (with-directory-excursion "Telegram/ThirdParty"
-               (for-each delete-file-recursively
-                         (lset-difference string=?
-                                          (scandir ".")
-                                          (cons* "." ".." keep))))
-             #t)))))
+        #~(begin
+            (let ((keep
+                   '( ;; Not available in Guix.
+                     "SPMediaKeyTap" "statusnotifieritem" "tgcalls")))
+              (with-directory-excursion "Telegram/ThirdParty"
+                (for-each delete-file-recursively
+                          (lset-difference string=?
+                                           (scandir ".")
+                                           (cons* "." ".." keep)))))))))
     (build-system qt-build-system)
     (arguments
-     `(#:tests? #f                      ; No target
-       #:imported-modules
-       (,@%qt-build-system-modules
-        (guix build glib-or-gtk-build-system))
-       #:modules
-       ((guix build qt-build-system)
-        ((guix build glib-or-gtk-build-system)
-         #:prefix glib-or-gtk:)
-        (guix build utils)
-        (ice-9 match))
-       #:configure-flags
-       (list
-        ;; Client applications must provide their own API-ID and API-HASH,
-        ;; see also <https://core.telegram.org/api/obtaining_api_id>.
-        ;; In case, that the credentials below fail to work, contact
-        ;;   Raghav Gururajan <rg@raghavgururajan.name>
-        "-DTDESKTOP_API_ID=2791056"
-        "-DTDESKTOP_API_HASH=582d6d0b44f7a2de949e99271fd8b3f2"
-        ;; Disable WebkitGTK support as it fails to link
-        "-DDESKTOP_APP_DISABLE_WEBKITGTK=ON"
-        ;; Use bundled fonts as fallback.
-        "-DDESKTOP_APP_USE_PACKAGED_FONTS=OFF")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'make-writable
-           (lambda _
-             (for-each make-file-writable (find-files "."))
-             #t))
-         (add-after 'make-writable 'copy-inputs
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (for-each
-              (match-lambda
-                ((dst src)
-                 (copy-recursively src dst)
-                 (for-each make-file-writable (find-files dst))))
-              `(("cmake" ,(assoc-ref inputs "cmake-helpers"))
-                ("Telegram/codegen" ,(assoc-ref inputs "codegen-source"))
-                ("Telegram/lib_base" ,(assoc-ref inputs "lib-base-source"))
-                ("Telegram/lib_crl" ,(assoc-ref inputs "lib-crl-source"))
-                ("Telegram/lib_lottie"
-                 ,(assoc-ref inputs "lib-lottie-source"))
-                ("Telegram/lib_qr" ,(assoc-ref inputs "lib-qr-source"))
-                ("Telegram/lib_rlottie"
-                 ,(assoc-ref inputs "lib-rlottie-source"))
-                ("Telegram/lib_rpl" ,(assoc-ref inputs "lib-rpl-source"))
-                ("Telegram/lib_spellcheck"
-                 ,(assoc-ref inputs "lib-spellcheck-source"))
-                ("Telegram/lib_storage"
-                 ,(assoc-ref inputs "lib-storage-source"))
-                ("Telegram/lib_tl" ,(assoc-ref inputs "lib-tl-source"))
-                ("Telegram/lib_ui" ,(assoc-ref inputs "lib-ui-source"))
-                ("Telegram/lib_waylandshells" ,(assoc-ref inputs "lib-waylandshells-source"))
-                ("Telegram/lib_webrtc" ,(assoc-ref inputs "lib-webrtc-source"))
-                ("Telegram/lib_webview" ,(assoc-ref inputs "lib-webview-source"))
-                ("Telegram/ThirdParty/tgcalls"
-                 ,(assoc-ref inputs "tgcalls-source"))))
-             #t))
-         (add-before 'configure 'patch-cxx-flags
-           (lambda _
-             (substitute* "cmake/options_linux.cmake"
-               (("class-memaccess") "all"))
-             #t))
-         (add-after 'install 'glib-or-gtk-compile-schemas
-           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
-         (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
-           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+     (list #:tests? #f                      ; No target
+           #:imported-modules
+           `(,@%qt-build-system-modules
+             (guix build glib-or-gtk-build-system))
+           #:modules
+           '((guix build qt-build-system)
+             ((guix build glib-or-gtk-build-system)
+              #:prefix glib-or-gtk:)
+             (guix build utils)
+             (ice-9 match))
+           #:configure-flags
+           #~(list
+              ;; Client applications must provide their own API-ID and API-HASH,
+              ;; see also <https://core.telegram.org/api/obtaining_api_id>.
+              ;; Here, we snarf the keys from the official Snaps, which are
+              ;; also stored in <#$source/snap/snapcraft.yaml>.
+              "-DTDESKTOP_API_ID=611335"
+              "-DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c"
+              ;; Disable WebkitGTK support as it fails to link
+              "-DDESKTOP_APP_DISABLE_WEBKITGTK=ON"
+              ;; Use bundled fonts as fallback.
+              "-DDESKTOP_APP_USE_PACKAGED_FONTS=OFF")
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'make-writable
+                 (lambda _
+                   (for-each make-file-writable (find-files "."))))
+               (add-after 'make-writable 'copy-inputs
+                 (lambda _
+                   (for-each
+                    (match-lambda
+                      ((dst src)
+                       (copy-recursively src dst)
+                       (for-each make-file-writable (find-files dst))))
+                    '(("cmake" #$cmake-helpers-for-telegram-desktop)
+                      ("Telegram/codegen" #$codegen-for-telegram-desktop)
+                      ("Telegram/lib_base" #$lib-base-for-telegram-desktop)
+                      ("Telegram/lib_crl" #$lib-crl-for-telegram-desktop)
+                      ("Telegram/lib_lottie" #$lib-lottie-for-telegram-desktop)
+                      ("Telegram/lib_qr" #$lib-qr-for-telegram-desktop)
+                      ("Telegram/lib_rlottie" #$lib-rlottie-for-telegram-desktop)
+                      ("Telegram/lib_rpl" #$lib-rpl-for-telegram-desktop)
+                      ("Telegram/lib_spellcheck" #$lib-spellcheck-for-telegram-desktop)
+                      ("Telegram/lib_storage" #$lib-storage-for-telegram-desktop)
+                      ("Telegram/lib_tl" #$lib-tl-for-telegram-desktop)
+                      ("Telegram/lib_ui" #$lib-ui-for-telegram-desktop)
+                      ("Telegram/lib_waylandshells" #$lib-waylandshells-for-telegram-desktop)
+                      ("Telegram/lib_webrtc" #$lib-webrtc-for-telegram-desktop)
+                      ("Telegram/lib_webview" #$lib-webview-for-telegram-desktop)
+                      ("Telegram/ThirdParty/tgcalls" #$tgcalls-for-telegram-desktop)))))
+               (add-before 'configure 'patch-cxx-flags
+                 (lambda _
+                   (substitute* "cmake/options_linux.cmake" (("class-memaccess") "all"))))
+               (add-after 'install 'glib-or-gtk-compile-schemas
+                 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+               (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
+                 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
     (native-inputs
-     `(("cmake-helpers"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/cmake_helpers.git")
-             (commit "4d44d822e01b3b5fbec3ce824e01f56aa35d7f72")))
-           (file-name
-            (git-file-name "cmake-helpers-for-telegram-desktop" version))
-           (sha256
-            (base32 "0h6cjiqy014h2mz90h1z5a7plb3ihbnds4bja8994ybr1dy3m7m5"))))
-       ("cmake-shared" ,cmake-shared)
-       ("extra-cmake-modules" ,extra-cmake-modules)
-       ("glib:bin" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("gtk+:bin" ,gtk+ "bin")
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("qttools-5" ,qttools-5)))
+     (list cmake-shared
+           extra-cmake-modules
+           `(,glib "bin")
+           `(,gtk+ "bin")
+           pkg-config
+           python-wrapper
+           qttools-5))
     (inputs
-     `(("alsa" ,alsa-lib)
-       ("c++-gsl" ,c++-gsl)
-       ("catch" ,catch2)
-       ("codegen-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/codegen.git")
-             (commit "248614b49cd7d5aff69d75a737f2e35b79fbb119")))
-           (file-name
-            (git-file-name "codegen" version))
-           (sha256
-            (base32 "00f7g2z6xmkbkrmi3q27hscjl44mg66wf9q0mz3rhy3jaa6cfdrk"))))
-       ("expected" ,libexpected)
-       ("fcitx-qt5" ,fcitx-qt5)
-       ("fcitx5-qt" ,fcitx5-qt)
-       ("ffmpeg" ,ffmpeg)
-       ("glib" ,glib)
-       ("glibmm" ,glibmm-2.64)
-       ("gtk+" ,gtk+)
-       ("hime" ,hime)
-       ("hunspell" ,hunspell)
-       ("jemalloc" ,jemalloc)
-       ("kwayland" ,kwayland)
-       ("lib-base-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_base.git")
-             (commit "a23c05c44e4f01dc4428f4d75d4db98c59d313a6")))
-           (file-name
-            (git-file-name "lib-base-for-telegram-desktop" version))
-           (sha256
-            (base32 "0vh5zgxwalmbnvz8lzlnba87ch8vnpmcz6nvf56w09f3nlxvvq78"))))
-       ("lib-crl-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_crl.git")
-             (commit "3ccf2ed5095442e5874bba8852cb7dc4efeae29f")))
-           (file-name
-            (git-file-name "lib-crl-for-telegram-desktop" version))
-           (sha256
-            (base32 "11my7q54m4lvvlgma6pbdyjxi1cv1adk1gph2j50mh18sqlm8myz"))))
-       ("lib-lottie-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_lottie.git")
-             (commit "0770df009db7928df1d0cad0900dc5110106d229")))
-           (file-name
-            (git-file-name "lib-lottie-for-telegram-desktop" version))
-           (sha256
-            (base32 "1gj56ymlbk5dnk82jw674808m511lv9dky8891a5wm4gp3pph5jb"))))
-       ("lib-qr-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_qr.git")
-             (commit "2b08c71c6edcfc3e31f7d7f518cc963493b6e189")))
-           (file-name
-            (git-file-name "lib-qr-for-telegram-desktop" version))
-           (sha256
-            (base32 "05hrkmwgrczyjv87r507i2r7m1zr6k2i43mq3my0s6j4szr1rjq0"))))
-       ("lib-rlottie-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_rlottie.git")
-             (commit "0671bf70547381effcf442ec9618e04502a8adbc")))
-           (file-name
-            (git-file-name "lib-rlottie-for-telegram-desktop" version))
-           (sha256
-            (base32 "05qnza7j15356s8jq16pkbyp4zr586lssmd86lz5jq23lcb3raxv"))))
-       ("lib-rpl-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_rpl.git")
-             (commit "df721be3fa14a27dfc230d2e3c42bb1a7c9d0617")))
-           (file-name
-            (git-file-name "lib-rpl-for-telegram-desktop" version))
-           (sha256
-            (base32 "15fnv3ssn7rn5d0j52gggdvyqc2wm464678dj7v2x9h8lka2jjxn"))))
-       ("lib-spellcheck-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_spellcheck.git")
-             (commit "68c9b788958904aea7de79f986a0f82ec8c5b094")))
-           (file-name
-            (git-file-name "lib-spellcheck-for-telegram-desktop" version))
-           (sha256
-            (base32 "0d8s4wwk6fxf536mhzq2vb9qw3j0m8nqia7ylvvpsbc4kh09dadn"))))
-       ("lib-storage-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_storage.git")
-             (commit "403df6c4a29562bd417c92d410e49819f5a48cc1")))
-           (file-name
-            (git-file-name "lib-storage-for-telegram-desktop" version))
-           (sha256
-            (base32 "1zxvzfrxbj4d395fzyb5pm9wn3n8jyimxx88cyqjcdd46sx4h7r5"))))
-       ("lib-tl-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_tl.git")
-             (commit "45faed44e7f4d11fec79b7a70e4a35dc91ef3fdb")))
-           (file-name
-            (git-file-name "lib-tl-for-telegram-desktop" version))
-           (sha256
-            (base32 "0h43xvzklda02494d466jp52hl8c1kmav9f12dyld10dpf1w6c7m"))))
-       ("lib-ui-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_ui.git")
-             (commit "1b590f9e16eb9571a039f072d6fea66c607e419f")))
-           (file-name
-            (git-file-name "lib-ui-for-telegram-desktop" version))
-           (sha256
-            (base32 "0ighyhfp29h9h8c7vr70pnhcv2xnsr9ln084pssn8hb5z4pmb62f"))))
-       ("lib-waylandshells-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_waylandshells.git")
-             (commit "59b0ee55a68976d27f1bf7cec0e11d5939e185e7")))
-           (file-name
-            (git-file-name "lib-waylandshells-for-telegram-desktop" version))
-           (sha256
-            (base32 "0l2xrpc5mvvdlsj333pmkgfvn9wi1ijfdaaz8skfnw9icw52faaf"))))
-       ("lib-webrtc-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_webrtc.git")
-             (commit "ef49f953f12b112008a094a719f40939aaf39db4")))
-           (file-name
-            (git-file-name "lib-webrtc-for-telegram-desktop" version))
-           (sha256
-            (base32 "15k4xs3462p3ddp5cn9im3nvdiaijmxir8wxsf5yrj70ghy26ibw"))))
-       ("lib-webview-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/desktop-app/lib_webview.git")
-             (commit "e06427c624515485774e2e2181d4afeb05ad5a67")))
-           (file-name
-            (git-file-name "lib-webview-for-telegram-desktop" version))
-           (sha256
-            (base32 "148z7xzfscynwwwqssdsd97npax6yn8zrd64xw8qzbwff2g2r7k4"))))
-       ("libdbusmenu-qt" ,libdbusmenu-qt)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libtgvoip" ,libtgvoip-for-telegram-desktop)
-       ("lz4" ,lz4)
-       ("materialdecoration" ,materialdecoration)
-       ("minizip" ,minizip)
-       ("nimf" ,nimf)
-       ("openal" ,openal)
-       ("openssl" ,openssl)
-       ("opus" ,opus)
-       ("pulseaudio" ,pulseaudio)
-       ("qrcodegen" ,qrcodegen-cpp)
-       ("qt" ,qtbase-5)
-       ("qtsvg-5" ,qtsvg-5)
-       ("qt5ct" ,qt5ct)
-       ("qtimageformats" ,qtimageformats)
-       ("qtwayland" ,qtwayland)
-       ("range-v3" ,range-v3)
-       ("rlottie" ,rlottie-for-telegram-desktop)
-       ("rnnoise" ,rnnoise)
-       ("tgcalls-source"
-        ,(origin
-           (method git-fetch)
-           (uri
-            (git-reference
-             (url "https://github.com/TelegramMessenger/tgcalls.git")
-             (commit "81e97fa52e25b7775b62ce07bb653533d81e91b3")))
-           (file-name
-            (git-file-name "tgcalls-for-telegram-desktop" version))
-           (sha256
-            (base32 "0fvad87hyxli83xn19mgf8jjrrh6y6iaig14pckpbkg33vf4wqkj"))))
-       ("webrtc" ,webrtc-for-telegram-desktop)
-       ("x11" ,libx11)
-       ("xcb" ,libxcb)
-       ("xcb-keysyms" ,xcb-util-keysyms)
-       ("xxhash" ,xxhash)
-       ("zlib" ,zlib)))
-    (propagated-inputs
-     (list dconf))
+     (list alsa-lib
+           c++-gsl
+           catch2
+           libexpected
+           fcitx-qt5
+           fcitx5-qt
+           ffmpeg
+           glib
+           glibmm-2.64
+           gtk+
+           hime
+           hunspell
+           jemalloc
+           kwayland
+           libdbusmenu-qt
+           libjpeg-turbo
+           libtgvoip-for-telegram-desktop
+           lz4
+           materialdecoration
+           minizip
+           nimf
+           openal
+           openssl
+           opus
+           pulseaudio
+           qrcodegen-cpp
+           qtbase-5
+           qtsvg-5
+           qt5ct
+           qtimageformats
+           qtwayland
+           range-v3
+           rlottie-for-telegram-desktop
+           rnnoise
+           webrtc-for-telegram-desktop
+           libx11
+           libxcb
+           xcb-util-keysyms
+           xxhash
+           zlib))
+    (propagated-inputs (list dconf))
     (synopsis "Telegram Desktop")
     (description "Telegram desktop is the official desktop version of the
 Telegram instant messenger.")
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 6702155a57..5a7c3821ad 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -17,7 +17,7 @@
 ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
 ;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
 ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
-;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org>
 ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
@@ -723,7 +723,7 @@ your calls and messages.")
 (define-public pjproject
   (package
     (name "pjproject")
-    (version "2.11.1")
+    (version "2.12.1")
     (source
      (origin
        (method git-fetch)
@@ -733,7 +733,7 @@ your calls and messages.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "04s4bgr2d22ym2ajjk6q507hyqss1p59yp8avyyyf5f8032nbaws"))
+         "0xrj4sznbaip22y9hclff6y81l285bzkkj1smzifskpk3kiwp00w"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -742,99 +742,100 @@ your calls and messages.")
            (substitute* "aconfigure.ac"
              (("third_party/build/os-auto.mak") ""))
            (substitute* "Makefile"
-             (("third_party/build") ""))))
-       (patches (search-patches "pjproject-install-libpjsua2.patch"))))
+             (("third_party/build") ""))))))
     (build-system gnu-build-system)
     (outputs '("out" "debug" "static"))
     (arguments
-     `(#:test-target "selftest"
-       #:configure-flags
-       (list "--enable-shared"
-             "--with-external-speex"
-             "--with-external-gsm"
-             "--with-external-srtp"
-             "--with-external-pa"
-             ;; The following flag is Linux specific.
-             ,@(if (string-contains (or (%current-system)
-                                        (%current-target-system)) "linux")
-                   '("--enable-epoll")
-                   '())
-             "--with-gnutls"            ;disable OpenSSL checks
-             "--disable-libyuv"         ;TODO: add missing package
-             "--disable-silk"           ;TODO: add missing package
-             "--disable-libwebrtc"      ;TODO: add missing package
-             "--disable-ilbc-codec"     ;cannot be unbundled
-             "--disable-g7221-codec"    ;TODO: add missing package
-             "--enable-libsamplerate"
-             ;; -DNDEBUG is set to prevent pjproject from raising
-             ;; assertions that aren't critical, crashing
-             ;; applications as the result.
-             "CFLAGS=-DNDEBUG"
-             ;; Specify a runpath reference to itself, which is missing and
-             ;; causes the validate-runpath phase to fail.
-             (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out")
-                            "/lib"))
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'build 'build-dep
-           (lambda _ (invoke "make" "dep")))
-         ;; The check phases is moved after the install phase so to
-         ;; use the installed shared libraries for the tests.
-         (delete 'check)
-         (add-after 'install 'move-static-libraries
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (s (string-append (assoc-ref outputs "static") "/lib")))
-               (mkdir-p s)
-               (with-directory-excursion out
-                 (for-each (lambda (f)
-                             (rename-file f (string-append s "/" (basename f))))
-                           (find-files "." "\\.a$"))))))
-         (add-after 'install 'check
-           (assoc-ref %standard-phases 'check))
-         (add-before 'patch-source-shebangs 'autoconf
-           (lambda _
-             (invoke "autoconf" "-v" "-f" "-i" "-o"
-                     "aconfigure" "aconfigure.ac")))
-         (add-before 'autoconf 'disable-some-tests
-           (lambda _
-             (substitute* "pjlib/src/pjlib-test/test.h"
-               ;; Disable network tests which are slow and/or require an
-               ;; actual network.
-               (("#define GROUP_NETWORK.*")
-                "#define GROUP_NETWORK 0\n"))
-             (substitute* "self-test.mak"
-               ;; Fails with: pjlib-util-test-x86_64-unknown-linux-gnu:
-               ;; ../src/pjlib-util-test/resolver_test.c:1501: action2_1:
-               ;; Assertio n `pj_strcmp2(&pkt->q[0].name, "_sip._udp."
-               ;; "domain2.com")==0' failed.
-               ((" pjlib_util_test ") ""))
-             (substitute* "pjsip/src/test/test.h"
-               ;; Fails with: Error: unable to acquire TCP transport:
-               ;; [pj_status_t=120101] Network is unreachable.
-               (("#define INCLUDE_TCP_TEST.*")
-                "#define INCLUDE_TCP_TEST 0\n")
-               ;; The TSX tests takes a very long time to run; skip them.
-               (("#define INCLUDE_TSX_GROUP.*")
-                "#define INCLUDE_TSX_GROUP 0\n"))
-             (substitute* "pjsip/src/test/dns_test.c"
-               ;; The round_robin_test fails non-deterministically (depending
-               ;; on load); skip it (see:
-               ;; https://github.com/pjsip/pjproject/issues/2500).
-               (("round_robin_test(pool)") 0))
-             (substitute* "pjmedia/src/test/test.h"
-               ;; The following tests require a sound card.
-               (("#define HAS_MIPS_TEST.*")
-                "#define HAS_MIPS_TEST 0\n")
-               (("#define HAS_JBUF_TEST.*")
-                "#define HAS_JBUF_TEST 0\n"))
-             (substitute* "Makefile"
-               ;; Disable the pjnath and pjsua tests, which require an actual
-               ;; network and an actual sound card, respectively.
-               (("pjnath-test pjmedia-test pjsip-test pjsua-test")
-                "pjmedia-test pjsip-test")))))))
+     (list
+      #:test-target "selftest"
+      #:configure-flags
+      #~(list "--enable-shared"
+              "--with-external-speex"
+              "--with-external-gsm"
+              "--with-external-srtp"
+              "--with-external-pa"
+              ;; The following flag is Linux specific.
+              #$@(if (string-contains (or (%current-system)
+                                          (%current-target-system)) "linux")
+                     #~("--enable-epoll")
+                     #~())
+              "--with-gnutls"           ;disable OpenSSL checks
+              "--disable-libyuv"        ;TODO: add missing package
+              "--disable-silk"          ;TODO: add missing package
+              "--disable-libwebrtc"     ;TODO: add missing package
+              "--disable-ilbc-codec"    ;cannot be unbundled
+              "--disable-g7221-codec"   ;TODO: add missing package
+              "--enable-libsamplerate"
+              ;; -DNDEBUG is set to prevent pjproject from raising
+              ;; assertions that aren't critical, crashing
+              ;; applications as the result.
+              "CFLAGS=-DNDEBUG"
+              ;; Specify a runpath reference to itself, which is missing and
+              ;; causes the validate-runpath phase to fail.
+              (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib"))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'build 'build-dep
+            (lambda _ (invoke "make" "dep")))
+          ;; The check phases is moved after the install phase so to
+          ;; use the installed shared libraries for the tests.
+          (delete 'check)
+          (add-after 'install 'move-static-libraries
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let ((s (string-append #$output:static "/lib")))
+                (mkdir-p s)
+                (with-directory-excursion #$output
+                  (for-each (lambda (f)
+                              (rename-file f (string-append s "/" (basename f))))
+                            (find-files "." "\\.a$"))))))
+          (add-after 'install 'check
+            (assoc-ref %standard-phases 'check))
+          (add-before 'patch-source-shebangs 'autoconf
+            (lambda _
+              (invoke "autoconf" "-v" "-f" "-i" "-o"
+                      "aconfigure" "aconfigure.ac")))
+          (add-before 'autoconf 'disable-some-tests
+            (lambda _
+              (substitute* "pjlib/src/pjlib-test/test.h"
+                ;; Disable network tests which are slow and/or require an
+                ;; actual network.
+                (("#define GROUP_NETWORK.*")
+                 "#define GROUP_NETWORK 0\n"))
+              (substitute* "self-test.mak"
+                ;; Fails with: pjlib-util-test-x86_64-unknown-linux-gnu:
+                ;; ../src/pjlib-util-test/resolver_test.c:1501: action2_1:
+                ;; Assertio n `pj_strcmp2(&pkt->q[0].name, "_sip._udp."
+                ;; "domain2.com")==0' failed.
+                ((" pjlib_util_test ") ""))
+              (substitute* "pjsip/src/test/test.h"
+                ;; Fails with: Error: unable to acquire TCP transport:
+                ;; [pj_status_t=120101] Network is unreachable.
+                (("#define INCLUDE_TCP_TEST.*")
+                 "#define INCLUDE_TCP_TEST 0\n")
+                ;; The TSX tests takes a very long time to run; skip them.
+                (("#define INCLUDE_TSX_GROUP.*")
+                 "#define INCLUDE_TSX_GROUP 0\n"))
+              (substitute* "pjsip/src/test/dns_test.c"
+                ;; The round_robin_test fails non-deterministically (depending
+                ;; on load); skip it (see:
+                ;; https://github.com/pjsip/pjproject/issues/2500).
+                (("round_robin_test(pool)") 0))
+              (substitute* "pjmedia/src/test/test.h"
+                ;; The following tests require a sound card.
+                (("#define HAS_MIPS_TEST.*")
+                 "#define HAS_MIPS_TEST 0\n")
+                (("#define HAS_JBUF_TEST.*")
+                 "#define HAS_JBUF_TEST 0\n"))
+              (substitute* "Makefile"
+                ;; Disable the pjnath and pjsua tests, which require an actual
+                ;; network and an actual sound card, respectively.
+                (("pjnath-test pjmedia-test pjsip-test pjsua-test")
+                 "pjmedia-test pjsip-test")))))))
     (native-inputs
-     (list autoconf automake libtool pkg-config))
+     (list autoconf
+           automake
+           libtool
+           pkg-config))
     (inputs
      (list bcg729
            gnutls
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 92342c0121..1fa3178a24 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -6209,6 +6209,45 @@ the same place.  The package also has a range of techniques for labelling
 footnotes with symbols rather than numbers.")
     (license license:lppl1.3+)))
 
+(define-public texlive-latex-frankenstein
+  (package
+    (name "texlive-latex-frankenstein")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference (url (string-append
+                                        "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/tex/latex/frankenstein"))
+                                  (revision %texlive-revision)))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "1zhdvn3zgdarlzfcyq8nzilvw0v0bqgl4m0y7j233cbqw8wiil4z"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder (begin
+                   (use-modules (guix build utils))
+                   (let ((target (string-append (assoc-ref %outputs "out")
+                                  "/share/texmf-dist/tex/latex/frankenstein")))
+                     (mkdir-p target)
+                     (copy-recursively (assoc-ref %build-inputs "source")
+                                       target) #t))))
+    (home-page "https://ctan.org/pkg/frankenstein")
+    (synopsis "Collection of unrelated LaTeX packages")
+    (description
+     "Frankenstein is a bundle of LaTeX packages serving various purposes and a
+BibTeX bibliography style.  The individual packages are: @code{abbrevs},
+@code{achicago}, @code{achicago} bibstyle, @code{attrib}, @code{blkcntrl},
+@code{compsci}, @code{dialogue}, @code{lips}, @code{moredefs}, @code{newclude},
+@code{slemph} and @code{titles}.  Note: The installation follows the suboptimal
+``Quick and dirty'' recipe, rendering some features unavailable.")
+    ;; README mentions an unspecified version of GNU GPL and points to COPYING,
+    ;; which is missing. However, the individual files mention LPPL 1.2 or
+    ;; later.
+    (license license:lppl1.2+)))
+
 (define-public texlive-latex-letltxmacro
   (package
     (inherit (simple-texlive-package
@@ -6929,6 +6968,24 @@ They combine a comprehensive Unicode-based collection of mathematical symbols
 and alphabets with a set of text faces suitable for professional publishing.")
       (license license:silofl1.1))))
 
+(define-public texlive-latex-sidecap
+  (package
+    (inherit (simple-texlive-package
+              "texlive-latex-sidecap"
+              (list "doc/latex/sidecap/"
+                    "tex/latex/sidecap/")
+              (base32 "1biyxvh7fm70pq1rxqrla2vs013bpsd1j8jvlyl3vjg433d5bly3")
+              #:trivial? #t))
+    (build-system texlive-build-system)
+    (home-page "https://ctan.org/pkg/sidecap")
+    (synopsis "Typeset captions sideways")
+    (description
+     "@code{sidecap} defines environments called @code{SCfigure} and
+@code{SCtable} (analogous to @code{figure} and @code{table}) to typeset
+captions sideways.  Options include @code{outercaption}, @code{innercaption},
+@code{leftcaption} and @code{rightcaption}.")
+    (license license:lppl1.0+)))
+
 (define-public texlive-stmaryrd
   (let ((template (simple-texlive-package
                    "texlive-stmaryrd"
@@ -11238,6 +11295,33 @@ Danish in @code{babel}.  It provides all the necessary macros, definitions and
 settings to typeset Danish documents.")
       (license license:lppl1.3c+))))
 
+(define-public texlive-babel-polish
+  (let ((template (simple-texlive-package
+                   "texlive-babel-polish"
+                   (list "/source/generic/babel-polish/")
+                   (base32
+                    "1jymxl98mwxmq0yq90mhrr7bq7c613rh1rnhl7l3bih36af55rwr"))))
+    (package
+      (inherit template)
+      (arguments
+       (substitute-keyword-arguments (package-arguments template)
+         ((#:tex-directory _ '())
+          "generic/babel-polish")
+         ((#:build-targets _ '())
+          ''("polish.ins")) ; TODO: use dtx and build documentation
+         ((#:phases phases)
+          `(modify-phases ,phases
+             (add-after 'unpack 'chdir
+               (lambda _
+                 (chdir "source/generic/babel-polish")))))))
+      (home-page "https://www.ctan.org/pkg/babel-polish")
+      (synopsis "Babel support for Polish")
+      (description
+       "This package provides the language definition file for support of
+Polish in @code{babel}.  Some shortcuts are defined, as well as translations to
+Polish of standard ``LaTeX names''.")
+      (license license:lppl1.3+))))
+
 (define-public texlive-mdframed
   (package
     (inherit
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index fefdaf8f55..a6250f71de 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -77,7 +77,7 @@
 (define-public vim
   (package
     (name "vim")
-    (version "9.0.0325")
+    (version "9.0.0509")
     (source (origin
              (method git-fetch)
              (uri (git-reference
@@ -86,7 +86,7 @@
              (file-name (git-file-name name version))
              (sha256
               (base32
-               "18m3lhp7d8a0n3bx0kqn082gqrh7lyar1ndvwq79gj73fz5c19vh"))))
+               "0affh0q6r5cvf01f4m5nr94bq1k23bzhiwa4xlpqim21yipafamm"))))
     (build-system gnu-build-system)
     (arguments
      `(#:test-target "test"
@@ -95,14 +95,11 @@
        (modify-phases %standard-phases
          (add-after 'configure 'patch-absolute-paths
            (lambda _
-             (substitute* '("runtime/autoload/context.vim"
-                            "src/testdir/Makefile"
+             (substitute* '("src/testdir/Makefile"
                             "src/testdir/test_filetype.vim"
                             "src/testdir/test_normal.vim"
                             "src/testdir/test_popupwin.vim"
-                            "src/testdir/test_prompt_buffer.vim"
                             "src/testdir/test_shell.vim"
-                            "src/testdir/test_suspend.vim"
                             "src/testdir/test_terminal.vim"
                             "src/testdir/test_terminal2.vim")
                (("/bin/sh") (which "sh")))
@@ -826,7 +823,7 @@ and support for fonts with ligatures.")
 (define-public vifm
   (package
     (name "vifm")
-    (version "0.12")
+    (version "0.12.1")
     (source
       (origin
         (method url-fetch)
@@ -837,7 +834,7 @@ and support for fonts with ligatures.")
                               "vifm-" version ".tar.bz2")))
         (sha256
          (base32
-          "1h5j4y704nciyzg3aaav8sl3r5h9mpwq8f28cj65nnxk6a7n3a9k"))))
+          "122ncp319xisxjxcy33bshjib6905bb0aaz0xjdfkkycplz83qlg"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--disable-build-timestamp")
@@ -852,8 +849,7 @@ and support for fonts with ligatures.")
                (("/bin/bash") (which "bash")))
              ;; This test segfaults
              (substitute* "tests/Makefile"
-               (("misc") ""))
-             #t))
+               (("misc") ""))))
           (add-after 'install 'install-vim-plugin-files
             (lambda* (#:key outputs #:allow-other-keys)
               (let* ((out (assoc-ref outputs "out"))
@@ -864,8 +860,7 @@ and support for fonts with ligatures.")
                 (copy-recursively (string-append vifm "/vim")
                                   vimfiles)
                 (delete-file-recursively (string-append vifm "/colors"))
-                (delete-file-recursively (string-append vifm "/vim")))
-              #t)))))
+                (delete-file-recursively (string-append vifm "/vim"))))))))
     (native-inputs
      (list groff)) ; for the documentation
     (inputs
@@ -1380,30 +1375,29 @@ files for reading or editing, and perform basic file system operations.")
     (license license:wtfpl2)))
 
 (define-public vim-nerdcommenter
-  (let ((commit "a65465d321f2f8a74b2ffa540b9b87563f7e12e8")
-        (revision "1"))
-    (package
-      (name "vim-nerdcommenter")
-      (version (git-version "2.5.2" revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-                (url "https://github.com/preservim/nerdcommenter")
-                (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32 "00ir65iv8jfbgzjmj7332fmydh0qhabbhx8zbvd3j6pgfxqpaafw"))))
-      (build-system copy-build-system)
-      (arguments
-       '(#:install-plan
-         '(("autoload" "share/vim/vimfiles/")
-           ("doc" "share/vim/vimfiles/")
-           ("plugin" "share/vim/vimfiles/"))))
-      (home-page "https://github.com/preservim/nerdcommenter")
-      (synopsis "Vim plugin for easy commenting of code")
-      (description
-       "NERD commenter is a Vim plugin that provides many different commenting
+  (package
+    (name "vim-nerdcommenter")
+    (version "2.6.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/preservim/nerdcommenter")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1ka2rqn7rby55aps3iblh1dcqxm7m7qx72mpkz6y2aaj8mkj0zyd"))))
+    (build-system copy-build-system)
+    (arguments
+     (list
+      #:install-plan
+      #~`(("autoload" "share/vim/vimfiles/")
+          ("doc" "share/vim/vimfiles/")
+          ("plugin" "share/vim/vimfiles/"))))
+    (home-page "https://github.com/preservim/nerdcommenter")
+    (synopsis "Vim plugin for easy commenting of code")
+    (description
+     "NERD commenter is a Vim plugin that provides many different commenting
 operations and styles which are invoked via key mappings and a menu.  These
 operations are available for most filetypes.")
-      (license license:cc0))))
+    (license license:cc0)))
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 199156dbb9..e14549dcd1 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -169,6 +169,7 @@
         (base32
          "1rmvrgqjhrvcmchnz170dxvrrf14n6nm39y8ivrprmfydd9lwqx0"))
        (patches (search-patches "qemu-build-info-manual.patch"
+                                "qemu-disable-aarch64-migration-test.patch"
                                 "qemu-fix-agent-paths.patch"))
        (modules '((guix build utils)))
        (snippet
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index f329020eb4..310e62a00d 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1987,6 +1987,41 @@ productive, customizable lisp based systems.")
     (description "This package provides a StumpWM interactive shell.")
     (license (list license:gpl2+ license:gpl3+ license:bsd-2))))
 
+(define-public sbcl-stumpwm-pamixer
+  (let ((commit "aa820533c80ea1af5a0e107cea25eaf34e69dc24")
+        (revision "1"))
+    (package
+      (name "sbcl-stumpwm-pamixer")
+      (version (git-version "0.1.1" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/Junker/stumpwm-pamixer")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0djcrr16bx40l7b60d4j507vk5l42fdgmjpgrnk86z1ba8wlqim8"))))
+      (inputs (list pamixer `(,stumpwm "lib")))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       (list #:asd-systems ''("pamixer")
+             #:phases
+             #~(modify-phases %standard-phases
+                 (add-after 'unpack 'patch-pamixer
+                   (lambda _
+                     (substitute* "pamixer.lisp"
+                       (("\"pamixer \"")
+                        (string-append "\""
+                                       #$(this-package-input "pamixer")
+                                       "/bin/pamixer \""))))))))
+      (home-page "https://github.com/Junker/stumpwm-pamixer")
+      (synopsis "StumpWM Pamixer Module")
+      (description
+       "This package provides a minimalistic Pulseaudio volume and microphone
+control module for StumpWM.")
+      (license license:gpl3))))
+
 (define-public sbcl-stumpwm+slynk
   (deprecated-package "sbcl-stumpwm-with-slynk" stumpwm+slynk))
 
@@ -2809,7 +2844,7 @@ Type=Application~%"
 (define-public avizo
   (package
     (name "avizo")
-    (version "1.2")
+    (version "1.2.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2818,7 +2853,7 @@ Type=Application~%"
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "02h2jbgrbl2hyq6bzwryc1r47mipgdqrdh7zi44skc25w045s6q5"))))
+                "0ddv5ssxfjbzhqskbbhi9qj1yqkraiv3r8svfmp9s5nnfpid8aba"))))
     (build-system meson-build-system)
     (inputs (list gtk+))
     (native-inputs
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 85a20a94ef..e49e55edc7 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -497,7 +497,7 @@ matching them against regular expressions.")
 (define-public xfce4-pulseaudio-plugin
   (package
     (name "xfce4-pulseaudio-plugin")
-    (version "0.4.3")
+    (version "0.4.5")
     (source
      (origin
        (method url-fetch)
@@ -506,21 +506,8 @@ matching them against regular expressions.")
                            (version-major+minor version) "/"
                            "xfce4-pulseaudio-plugin-" version ".tar.bz2"))
        (sha256
-        (base32 "0nv1lbkshfzar87f6xq1ib120pjja24r7135rbc42wqkw8vq4las"))))
+        (base32 "05f12fzn8q1y7jkzanxy82pzl00km66gngb5j6d5k8kbx9ykj9a4"))))
     (build-system gnu-build-system)
-    (arguments
-     `(#:phases
-       ;; For dbus/dbus-glib.h in pulseaudio-config.h.
-       (modify-phases %standard-phases
-         (add-after 'set-paths 'augment-cflags
-           (lambda* (#:key inputs #:allow-other-keys)
-             (setenv "C_INCLUDE_PATH"
-                     (string-append (assoc-ref inputs "dbus-glib")
-                                    "/include/dbus-1.0" ":"
-                                    (assoc-ref inputs "dbus")
-                                    "/include/dbus-1.0" ":"
-                                    (or (getenv "C_INCLUDE_PATH") "")))
-             #t)))))
     (native-inputs
      (list intltool pkg-config dbus-glib dbus))
     (inputs
@@ -1530,7 +1517,7 @@ each time a new earthquake occurs.")
 (define-public xfce4-datetime-plugin
   (package
    (name "xfce4-datetime-plugin")
-   (version "0.8.1")
+   (version "0.8.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://archive.xfce.org/src/panel-plugins/"
@@ -1539,7 +1526,7 @@ each time a new earthquake occurs.")
                                   "/xfce4-datetime-plugin-" version ".tar.bz2"))
               (sha256
                (base32
-                "0h15mxq5lawlxyr6h1vxc60rkf0rpmnv81l0f52mrswww9dz3xp9"))))
+                "0dz0syl9dm55pqcqywbnjpi14z2xh7pg2ipmxjgn4pq1az28qf3c"))))
     (build-system gnu-build-system)
     (native-inputs
      (list intltool pkg-config))
@@ -1847,7 +1834,7 @@ interfaces of your choice in the panel.")
 (define-public xfce4-places-plugin
   (package
    (name "xfce4-places-plugin")
-   (version "1.8.1")
+   (version "1.8.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://archive.xfce.org/src/panel-plugins/"
@@ -1856,7 +1843,7 @@ interfaces of your choice in the panel.")
                                   "/xfce4-places-plugin-" version ".tar.bz2"))
               (sha256
                (base32
-                "1chac4ki70axgvkmhw94m0srsv0pwiwqrqbh8di0y9n90fgj24gj"))))
+                "00bh7d91vzk6s38djlpnihvjvymxgrnx3nh6sm2y3mnx2jmb4chy"))))
     (build-system gnu-build-system)
     (native-inputs
      (list intltool desktop-file-utils pkg-config))