summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2023-06-08 15:33:29 +0200
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2023-06-08 15:33:29 +0200
commit909788c0aebd8098084c009afa98d1209c9ec869 (patch)
treeffe6735a2db3b0ac595b90a52825fe82eca9b803 /gnu/packages
parent16a5ce3bb7fbd14fb17a6ba6a62fb079d2379fcc (diff)
parent872b2487451c39020a78ed3227992fb02a7ed5e5 (diff)
downloadguix-909788c0aebd8098084c009afa98d1209c9ec869.tar.gz
Merge branch 'master' into gnome-team
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/admin.scm12
-rw-r--r--gnu/packages/agda.scm246
-rw-r--r--gnu/packages/bioconductor.scm6
-rw-r--r--gnu/packages/bioinformatics.scm151
-rw-r--r--gnu/packages/compression.scm10
-rw-r--r--gnu/packages/conky.scm4
-rw-r--r--gnu/packages/cpp.scm27
-rw-r--r--gnu/packages/cran.scm144
-rw-r--r--gnu/packages/databases.scm8
-rw-r--r--gnu/packages/education.scm12
-rw-r--r--gnu/packages/efi.scm59
-rw-r--r--gnu/packages/emacs-xyz.scm6
-rw-r--r--gnu/packages/embedded.scm44
-rw-r--r--gnu/packages/fltk.scm8
-rw-r--r--gnu/packages/fonts.scm13
-rw-r--r--gnu/packages/geo.scm4
-rw-r--r--gnu/packages/glib.scm5
-rw-r--r--gnu/packages/gnome.scm7
-rw-r--r--gnu/packages/gnuzilla.scm12
-rw-r--r--gnu/packages/guile-xyz.scm4
-rw-r--r--gnu/packages/haskell-xyz.scm42
-rw-r--r--gnu/packages/image.scm47
-rw-r--r--gnu/packages/kde-frameworks.scm4
-rw-r--r--gnu/packages/kde.scm15
-rw-r--r--gnu/packages/kerberos.scm36
-rw-r--r--gnu/packages/linux.scm27
-rw-r--r--gnu/packages/lisp-xyz.scm24
-rw-r--r--gnu/packages/lisp.scm144
-rw-r--r--gnu/packages/machine-learning.scm146
-rw-r--r--gnu/packages/mail.scm11
-rw-r--r--gnu/packages/maths.scm180
-rw-r--r--gnu/packages/messaging.scm9
-rw-r--r--gnu/packages/mpd.scm25
-rw-r--r--gnu/packages/music.scm4
-rw-r--r--gnu/packages/networking.scm7
-rw-r--r--gnu/packages/nim.scm8
-rw-r--r--gnu/packages/notcurses.scm18
-rw-r--r--gnu/packages/package-management.scm59
-rw-r--r--gnu/packages/password-utils.scm6
-rw-r--r--gnu/packages/patches/agda-categories-remove-incompatible-flags.patch31
-rw-r--r--gnu/packages/patches/agda-categories-use-find.patch31
-rw-r--r--gnu/packages/patches/agda-libdirs-env-variable.patch49
-rw-r--r--gnu/packages/patches/agda-stdlib-use-runhaskell.patch28
-rw-r--r--gnu/packages/patches/d-feet-drop-unused-meson-argument.patch36
-rw-r--r--gnu/packages/patches/hdf4-architectures.patch75
-rw-r--r--gnu/packages/patches/proj-7-initialize-memory.patch98
-rw-r--r--gnu/packages/patches/proot-add-clone3.patch114
-rw-r--r--gnu/packages/patches/sbcl-riscv-Make-contribs-build-again.patch71
-rw-r--r--gnu/packages/pdf.scm4
-rw-r--r--gnu/packages/python-xyz.scm347
-rw-r--r--gnu/packages/statistics.scm20
-rw-r--r--gnu/packages/video.scm31
-rw-r--r--gnu/packages/vpn.scm56
-rw-r--r--gnu/packages/web-browsers.scm4
-rw-r--r--gnu/packages/wxwidgets.scm1
-rw-r--r--gnu/packages/xdisorg.scm25
-rw-r--r--gnu/packages/xfce.scm28
-rw-r--r--gnu/packages/xorg.scm46
58 files changed, 2123 insertions, 566 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index f0eed185dd..3193aa1456 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -9,7 +9,7 @@
 ;;; Copyright © 2016, 2017, 2020 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
 ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016-2023 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Peter Feigl <peter.feigl@nexoid.at>
 ;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
 ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
@@ -2603,24 +2603,20 @@ characters can be replaced as well, as can UTF-8 characters.")
 (define-public tree
   (package
     (name "tree")
-    (version "2.1.0")
+    (version "2.1.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
                     "https://mama.indstate.edu/users/ice/tree/src/tree-"
                     version ".tgz"))
               (sha256
-               (base32 "1xmbxgx72w7ddjlqsx1yys076hp3h7ll968bhdmdrc7jpwswaq01"))))
+               (base32 "1mchmdkq77d4c2mx7xmarccbk46a3sm2aqslarjwgxrs81gxbhyk"))))
     (build-system gnu-build-system)
     (arguments
      (list
        #:phases
        #~(modify-phases %standard-phases
-           (delete 'configure)          ; No configure script.
-           (add-after 'unpack 'fix-manpage-version
-             (lambda _
-               (substitute* "doc/tree.1"
-                 (("Tree 2\\.0\\.0") (string-append "Tree " #$version))))))
+           (delete 'configure))         ; No configure script.
        #:tests? #f                      ; No check target.
        #:make-flags
        #~(list (string-append "PREFIX=" #$output)
diff --git a/gnu/packages/agda.scm b/gnu/packages/agda.scm
index 7128a3f108..88626b823c 100644
--- a/gnu/packages/agda.scm
+++ b/gnu/packages/agda.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2018, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 John Soo <jsoo1@asu.edu>
 ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,9 +23,15 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages agda)
+  #:use-module (gnu packages)
   #:use-module (gnu packages haskell-check)
   #:use-module (gnu packages haskell-web)
   #:use-module (gnu packages haskell-xyz)
+  #:use-module (gnu packages imagemagick)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages sphinx)
+  #:use-module (gnu packages texinfo)
+  #:use-module (guix build-system agda)
   #:use-module (guix build-system emacs)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system haskell)
@@ -37,15 +44,18 @@
 (define-public agda
   (package
     (name "agda")
-    (version "2.6.2.2")
+    (version "2.6.3")
     (source
      (origin
-       (method url-fetch)
-       (uri (hackage-uri "Agda" version))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/agda/agda.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
-        (base32 "0yjjbhc593ylrm4mq4j01nkdvh7xqsg5in30wxj4y53vf5hkggp5"))))
+        (base32 "1s7zd01i8pmvi90ywx497kc07z50nah7h0fc2dn6jzb132k5sh1q"))
+       (patches (search-patches "agda-libdirs-env-variable.patch"))))
     (build-system haskell-build-system)
-    (properties '((upstream-name . "Agda")))
     (inputs
      (list ghc-aeson
            ghc-alex
@@ -68,7 +78,14 @@
            ghc-strict
            ghc-unordered-containers
            ghc-uri-encode
+           ghc-vector-hashtables
            ghc-zlib))
+    (native-inputs
+     (list python
+           python-sphinx
+           python-sphinx-rtd-theme
+           texinfo
+           imagemagick))
     (arguments
      (list #:modules `((guix build haskell-build-system)
                        (guix build utils)
@@ -85,7 +102,22 @@
                    (let ((agda-compiler (string-append #$output "/bin/agda")))
                      (for-each (cut invoke agda-compiler <>)
                                (find-files (string-append #$output "/share")
-                                           "\\.agda$"))))))))
+                                           "\\.agda$")))))
+               (add-after 'agda-compile 'install-info
+                 (lambda _
+                   (with-directory-excursion "doc/user-manual"
+                     (invoke "sphinx-build" "-b" "texinfo"
+                             "." "_build_texinfo")
+                     (with-directory-excursion "_build_texinfo"
+                       (setenv "infodir" (string-append #$output
+                                                        "/share/info"))
+                       (invoke "make" "install-info"))))))))
+    (search-paths
+     (list (search-path-specification
+            (variable "AGDA_LIBDIRS")
+            (files (list "lib/agda")))))
+    (native-search-paths
+     search-paths)
     (home-page "https://wiki.portal.chalmers.se/agda/")
     (synopsis
      "Dependently typed functional programming language and proof assistant")
@@ -106,58 +138,184 @@ such as Coq, Epigram and NuPRL.")
 
 (define-public emacs-agda2-mode
   (package
-    (inherit agda)
     (name "emacs-agda2-mode")
+    (version (package-version agda))
+    (source (package-source agda))
     (build-system emacs-build-system)
-    (inputs '())
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'enter-elisp-dir
-           (lambda _ (chdir "src/data/emacs-mode") #t)))))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'enter-elisp-dir
+            (lambda _ (chdir "src/data/emacs-mode"))))))
     (home-page "https://agda.readthedocs.io/en/latest/tools/emacs-mode.html")
     (synopsis "Emacs mode for Agda")
     (description "This Emacs mode enables interactive development with
-Agda.  It also aids the input of Unicode characters.")))
+Agda.  It also aids the input of Unicode characters.")
+    (license (package-license agda))))
 
 (define-public agda-ial
+  (let ((revision "1")
+        ;; There hasn't been a release in a long time, and the last one
+        ;; doesn't build with Agda 2.6.
+        (commit "ded30c410d5d40142249686572aa1acd1b2f8cc7"))
+   (package
+     (name "agda-ial")
+     (version (git-version "1.5.0" revision commit))
+     (source (origin
+               (method git-fetch)
+               (uri (git-reference (url "https://github.com/cedille/ial")
+                                   (commit commit)))
+               (file-name (git-file-name name version))
+               (sha256
+                (base32
+                 "0xn6zvp1wnm0i84pz1rfbzfmayd15ch4i5s11ycd88d22pxd55dc"))))
+     (build-system agda-build-system)
+     (arguments
+      (list
+       #:gnu-and-haskell? #t
+       #:phases
+       #~(modify-phases %standard-phases
+           (add-before 'build 'patch-dependencies
+             (lambda _ (patch-shebang "find-deps.sh")))
+           (replace 'build
+             (lambda _
+               (invoke "make"))))))
+     (home-page "https://github.com/cedille/ial")
+     (synopsis "The Iowa Agda Library")
+     (description
+      "The goal is to provide a concrete library focused on verification
+examples, as opposed to mathematics.  The library has a good number
+of theorems for booleans, natural numbers, and lists.  It also has
+trees, tries, vectors, and rudimentary IO.  A number of good ideas
+come from Agda's standard library.")
+     (license license:expat))))
+
+(define-public agda-stdlib
   (package
-    (name "agda-ial")
-    (version "1.5.0")
-    (home-page "https://github.com/cedille/ial")
+    (name "agda-stdlib")
+    (version "1.7.2")
     (source (origin
               (method git-fetch)
-              (uri (git-reference (url home-page)
-                                  (commit (string-append "v" version))))
+              (uri (git-reference
+                    (url "https://github.com/agda/agda-stdlib")
+                    (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0dlis6v6nzbscf713cmwlx8h9n2gxghci8y21qak3hp18gkxdp0g"))))
-    (build-system gnu-build-system)
-    (inputs
-     (list agda))
+                "065hf24xjpciwdrvk4isslgcgi01q0k93ql0y1sjqqvy5ryg5xmy"))))
+    (build-system agda-build-system)
     (arguments
-     `(#:parallel-build? #f
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'configure)
-         (add-before 'build 'patch-dependencies
-           (lambda _ (patch-shebang "find-deps.sh") #t))
-         (delete 'check)
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out     (assoc-ref outputs "out"))
-                    (include (string-append out "/include/agda/ial")))
-               (for-each (lambda (file)
-                           (make-file-writable file)
-                           (install-file file include))
-                         (find-files "." "\\.agdai?(-lib)?$"))
-               #t))))))
-    (synopsis "The Iowa Agda Library")
+     (list
+      #:plan '(("^\\./README.agda$" "-i."))
+      #:gnu-and-haskell? #t
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'build 'generate-everything
+            (lambda* (#:key inputs native-inputs #:allow-other-keys)
+              (invoke
+               (search-input-file (or native-inputs inputs) "/bin/runhaskell")
+               "GenerateEverything.hs"))))))
+    (native-inputs (list ghc-filemanip))
+    (synopsis "The Agda Standard Library")
     (description
-     "The goal is to provide a concrete library focused on verification
-examples, as opposed to mathematics.  The library has a good number
-of theorems for booleans, natural numbers, and lists.  It also has
-trees, tries, vectors, and rudimentary IO.  A number of good ideas
-come from Agda's standard library.")
+     "The standard library aims to contain all the tools needed to write
+both programs and proofs easily.  While we always try and write efficient
+code, we prioritize ease of proof over type-checking and normalization
+performance.  If computational performance is important to you, then perhaps
+try agda-prelude instead.")
+    (home-page "https://wiki.portal.chalmers.se/agda/pmwiki.php")
+    (license license:expat)))
+
+(define-public agda-categories
+  (package
+    (name "agda-categories")
+    (version "0.1.7.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/agda/agda-categories.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0xwgm2mfl2pxipsv31bin8p14y1yhd9n27lv3clvsxd4z9yc034m"))
+              (patches (search-patches "agda-categories-remove-incompatible-flags.patch"
+                                       "agda-categories-use-find.patch"))))
+    (build-system agda-build-system)
+    (arguments
+     (list
+      #:gnu-and-haskell? #t
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'build
+            (lambda _
+              (invoke "make"))))))
+    (propagated-inputs
+     (list agda-stdlib))
+    (synopsis "New Categories library for Agda")
+    (description "A new Categories library for Agda")
+    (home-page "https://github.com/agda/agda-categories")
     (license license:expat)))
+
+(define-public agda-cubical
+  ;; Upstream's HEAD follows the latest Agda release, but they don't release
+  ;; until a newer Agda release comes up, so their releases are always one
+  ;; version late.
+  (let* ((revision "1")
+         (commit "814d54b08b360b8e80828065f54b80e3a98a0092"))
+    (package
+      (name "agda-cubical")
+      (version (git-version "0.4" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/agda/cubical.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0d25gb1qzpx539k62qjsjq4xmzp34qk7n3hmd9y6v8slhrrxw312"))))
+      (build-system agda-build-system)
+      (arguments
+       (list
+        #:gnu-and-haskell? #t
+        #:phases
+        #~(modify-phases %standard-phases
+            (replace 'build
+              (lambda _
+                (invoke "make"))))))
+      (synopsis "Standard library for Cubical Agda")
+      (description "A standard library for Cubical Agda, comparable to
+agda-stdlib but using cubical methods.")
+      (home-page "https://github.com/agda/cubical")
+      (license license:expat))))
+
+(define-public agda-1lab
+  ;; Upstream doesn't do releases (yet).  Use a commit that builds with 2.6.3,
+  ;; since they use Agda HEAD.
+  (let* ((revision "1")
+         (commit "47ca1d23640a6f49a3abe3c2fe27738bcc10c9c6"))
+    (package
+      (name "agda-1lab")
+      (version (git-version "0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/plt-amy/1lab.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0j7mp6c0xd0849skdxzncklkxynxnyfrbpcjv4qp5p1xfn0dnfqx"))))
+      (build-system agda-build-system)
+      (arguments
+       (list #:plan '(("src/index\\.lagda\\.md$"))))
+      (synopsis "Reference resource for mathematics done in Homotopy Type Theory")
+      (description "A formalised, cross-linked reference resource for
+mathematics done in Homotopy Type Theory.  Unlike the HoTT book, the 1lab is
+not a “linear” resource: Concepts are presented as a directed graph, with
+links indicating dependencies.")
+      (home-page "https://1lab.dev")
+      (license license:agpl3))))
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index ec52cd6e2d..00701c4463 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -10313,17 +10313,18 @@ fitting of some classes of graphical Markov models.")
 (define-public r-ggpicrust2
   (package
     (name "r-ggpicrust2")
-    (version "1.6.5")
+    (version "1.7.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "ggpicrust2" version))
               (sha256
                (base32
-                "02ais1y3z85vykxd9975gz33s80d1nhivly6a07y98dbmlzjyr6a"))))
+                "0rw2nrmnniff5hb56r21rk0mphba74fppxsa5ps2xamg1a63qfyw"))))
     (properties `((upstream-name . "ggpicrust2")))
     (build-system r-build-system)
     (propagated-inputs (list r-aldex2
                              r-aplot
+                             r-circlize
                              r-deseq2
                              r-dplyr
                              r-edger
@@ -10341,6 +10342,7 @@ fitting of some classes of graphical Markov models.")
                              r-summarizedexperiment
                              r-tibble
                              r-tidyr))
+    (native-inputs (list r-knitr))
     (home-page "https://github.com/cafferychen777/ggpicrust2")
     (synopsis "Make PICRUSt2 output analysis and visualization easier")
     (description
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 0b67d8fbe6..9ce28596c2 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1337,6 +1337,75 @@ pretty, publication-quality figures for next-generation sequencing
 experiments.")
     (license license:expat)))
 
+(define-public python-bulkvis
+  (let ((commit "00a82a90c7e748a34af896e779d27e78a2c82b5e")
+        (revision "2"))
+    (package
+      (name "python-bulkvis")
+      (version (git-version "2.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/LooseLab/bulkVis")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "02blai158xyyqcg0ljzkmfa6ci05m4awrl4njvp9nwfp717xq8n0"))
+                (modules '((guix build utils)))
+                (snippet
+                 '(substitute* '("requirements.txt"
+                                 "setup.py")
+                    (("tqdm~=4.46.1") "tqdm")
+                    (("tornado~=6.0.4") "tornado")
+                    (("pandas~=1.0.5") "pandas")
+                    (("h5py~=2.10.0") "h5py")
+                    ;; See below for com
+                    (("bokeh~=2.1.0") "bokeh")))))
+      (build-system pyproject-build-system)
+      (arguments
+       (list #:tests? #f                ;There are no tests
+             #:phases
+             '(modify-phases %standard-phases
+                ;; See https://github.com/LooseLab/bulkvis/issues/58
+                (add-after 'unpack 'bokeh-compatibility
+                  (lambda _
+                    (substitute* "bulkvis/bulkvis.py"
+                      (("import importlib" m)
+                       (string-append m "
+from bokeh.command.subcommand import Argument
+from bokeh.util.dataclasses import entries\n"))
+                      (("( *)_parser.add_argument" m indent)
+                       (string-append
+                        (string-join (list "if isinstance(opts, Argument):\n"
+                                           "  opts = dict(entries(opts))\n")
+                                     indent 'prefix)
+                        m))))))))
+      (propagated-inputs (list python-bokeh
+                               python-dill
+                               python-h5py
+                               python-joblib
+                               python-matplotlib
+                               python-numpy
+                               python-pandas
+                               python-plotly
+                               python-readpaf
+                               python-scikit-learn
+                               python-scikit-image
+                               python-scipy
+                               python-seaborn
+                               python-tornado-6
+                               python-tqdm
+                               python-umap-learn))
+      (native-inputs (list python-pytest))
+      (home-page "https://github.com/LooseLab/bulkVis")
+      (synopsis "Interactive visualization of bulk RNA-seq data")
+      (description
+       "This is a Python package for the interactive visualization of bulk
+RNA-seq data.  It provides a range of plotting functions and interactive tools
+to explore and analyze bulk RNA-seq data.")
+      (license license:expat))))
+
 (define-public python-cell2cell
   (package
     (name "python-cell2cell")
@@ -1480,6 +1549,69 @@ from high-throughput single-cell RNA sequencing (scRNA-seq) data.")
 and sequence consensus.")
     (license license:expat)))
 
+(define-public python-decoupler-py
+  ;; This latest commit fixes a bug in test_omnip.py.
+  (let ((commit "b84c524ec4a9280a56c0db963e2c7b010316ce8f")
+        (revision "1"))
+    (package
+      (name "python-decoupler-py")
+      (version (git-version "1.3.1" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/saezlab/decoupler-py")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0d74yr5jqc52vcxaca84kxqw7m5rbazpmvnrcp2y4xxrj6yr1sfc"))))
+      (build-system pyproject-build-system)
+      (arguments
+       (list
+        #:test-flags
+        '(list "-k"
+               ;; These tests require internet access
+               (string-append "not test_get_resource"
+                              " and not test_show_resources"
+                              " and not test_get_dorothea"
+                              " and not test_get_progeny"
+                              ;; XXX This one fails because the "texts" list
+                              ;; is empty, so there are no texts to adjust.
+                              ;; It is not clear whether this a compatibility
+                              ;; problem with our adjusttext package.
+                              " and not test_plot_volcano"))
+        #:phases
+        '(modify-phases %standard-phases
+           (add-before 'check 'set-home
+             ;; Some tests require a home directory to be set.
+             (lambda _ (setenv "HOME" "/tmp")))
+           ;; Numba needs a writable dir to cache functions.
+           (add-before 'build 'set-numba-cache-dir
+             (lambda _ (setenv "NUMBA_CACHE_DIR" "/tmp"))))))
+      (propagated-inputs (list python-adjusttext
+                               python-anndata
+                               python-ipython
+                               python-matplotlib
+                               python-nbsphinx
+                               python-numba
+                               python-numpy
+                               python-numpydoc
+                               python-omnipath
+                               python-scanpy
+                               python-scikit-learn
+                               python-scipy
+                               python-skranger
+                               python-tqdm
+                               python-typing-extensions))
+      (native-inputs (list python-pytest))
+      (home-page "https://github.com/saezlab/decoupler-py")
+      (synopsis
+       "Framework for modeling, analyzing and interpreting single-cell RNA-seq data")
+      (description
+       "This package provides different statistical methods to extract
+biological activities from omics data within a unified framework.")
+      (license license:gpl3+))))
+
 (define-public python-demuxem
   (package
     (name "python-demuxem")
@@ -1998,6 +2130,25 @@ alignments and perform the following operations:
 ")
     (license license:expat)))
 
+(define-public python-readpaf
+  (package
+    (name "python-readpaf")
+    (version "0.0.10")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "readpaf" version))
+              (sha256
+               (base32
+                "15m6ffks4zwpp1ycwk6n02py6mw2yh7qr0vhpc178b91gldr97ia"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-pandas))
+    (home-page "https://github.com/alexomics/read-paf")
+    (synopsis "Minimap2 PAF file reader")
+    (description
+     "This is a fast parser for minimap2 PAF (Pairwise mApping Format)
+files.")
+    (license license:expat)))
+
 (define-public bioperl-minimal
   (package
     (name "bioperl-minimal")
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 8a8b94c07b..bedc6ecca9 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015, 2017, 2018 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015-2023 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
 ;;; Copyright © 2016–2022 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -2687,12 +2687,8 @@ to their original, binary CD format.")
     (build-system cmake-build-system)
     (arguments
      (list #:configure-flags
-           #~(list "-DLIBDEFLATE_BUILD_STATIC_LIB=NO")
-           #:phases
-           #~(modify-phases %standard-phases
-               (replace 'check
-                 (lambda _
-                   (invoke "../source/scripts/run_tests.sh"))))))
+           #~(list "-DLIBDEFLATE_BUILD_STATIC_LIB=NO"
+                   "-DLIBDEFLATE_BUILD_TESTS=YES")))
     (inputs
      (list zlib))
     (home-page "https://github.com/ebiggers/libdeflate")
diff --git a/gnu/packages/conky.scm b/gnu/packages/conky.scm
index 9843cbe3c0..afc6374554 100644
--- a/gnu/packages/conky.scm
+++ b/gnu/packages/conky.scm
@@ -40,7 +40,7 @@
   (package
     (name "conky")
     (home-page "https://github.com/brndnmtthws/conky")
-    (version "1.12.2")
+    (version "1.19.2")
     (source
      (origin
        (method git-fetch)
@@ -49,7 +49,7 @@
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1grxapl4q37fzk2rsijwz2rrl0aj520y8daki6bg48jb9vjd39n7"))))
+        (base32 "196wqr477fch1152cqmf11ckwrgkk2wmhl56ms6jk19hfs83d980"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 9983213f7f..365b15a3b9 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -25,7 +25,7 @@
 ;;; Copyright © 2021 jgart <jgart@dismail.de>
 ;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2021 Disseminate Dissent <disseminatedissent@protonmail.com>
-;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2022, 2023 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2022 muradm <mail@muradm.net>
 ;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
 ;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
@@ -821,7 +821,7 @@ tools:
   ;; header
   (package
     (name "cpp-httplib")
-    (version "0.8.8")
+    (version "0.12.5")
     (source
      (origin
        (method git-fetch)
@@ -829,16 +829,19 @@ tools:
              (url "https://github.com/yhirose/cpp-httplib")
              (commit (string-append "v" version))))
        (sha256
-        (base32 "0c0gyfbvm34bgrqy9fhfxw1f8nb9zhf063j7xq91k892flb7qm1c"))
+        (base32 "1m1p6h1dsxg4kg5zziffb6xl8zgjbkw7gmgmmlnrhpl3bswam87n"))
        (file-name (git-file-name name version))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags
        '("-DBUILD_SHARED_LIBS=ON"
+         "-DHTTPLIB_TEST=ON"
          "-DHTTPLIB_COMPILE=ON"
          "-DHTTPLIB_REQUIRE_BROTLI=ON"
          "-DHTTPLIB_REQUIRE_OPENSSL=ON"
          "-DHTTPLIB_REQUIRE_ZLIB=ON")
+       #:make-flags
+       '(,(string-append "CXX=" (cxx-for-target)))
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'disable-network-tests
@@ -850,21 +853,19 @@ tools:
                    (string-append "(DISABLED_" test))))
               ;; There are tests requiring network access, disable them
               '("AbsoluteRedirectTest" "BaseAuthTest" "CancelTest"
+                "ConnectionErrorTest"
                 "ChunkedEncodingTest" "ChunkedEncodingTest"
+                "ClientDefaultHeadersTest"
                 "DecodeWithChunkedEncoding" "DefaultHeadersTest"
                 "DigestAuthTest" "HttpsToHttpRedirectTest"
+                "HostnameToIPConversionTest"
                 "RangeTest" "RedirectTest" "RelativeRedirectTest"
-                "SSLClientTest" "SendAPI" "TooManyRedirectTest" "UrlWithSpace"
-                "YahooRedirectTest" "YahooRedirectTest"))))
-         (replace 'check
-           (lambda* (#:key source tests? #:allow-other-keys)
-             ;; openssl genrsa wants to write a file in the git checkout
-             (when tests?
-               (with-directory-excursion "../source/test"
-                 (invoke "make"))))))))
+                "SSLClientTest" "SendAPI"
+                "SpecifyServerIPAddressTest"
+                "TooManyRedirectTest" "UrlWithSpace"
+                "YahooRedirectTest" "YahooRedirectTest")))))))
     (native-inputs
-     ;; required to build shared lib
-     (list python))
+     (list googletest python))
     (inputs
      (list brotli openssl zlib))
     (home-page "https://github.com/yhirose/cpp-httplib")
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 688621343e..53c49e3ac7 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -1927,13 +1927,13 @@ Prism-look is achieved with @code{theme_prism()} and
 (define-public r-ggrastr
   (package
     (name "r-ggrastr")
-    (version "1.0.1")
+    (version "1.0.2")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "ggrastr" version))
               (sha256
                (base32
-                "07sx5wlawfyb0zy5am2q1ajhkdym5r9ih47p57l8bv4dlc7ykml2"))))
+                "1l90mlb6bqq98ifmlbs5481vch9inmzdnvnz192adklrr9nl09yb"))))
     (properties `((upstream-name . "ggrastr")))
     (build-system r-build-system)
     (propagated-inputs (list r-cairo r-ggbeeswarm r-ggplot2 r-png r-ragg))
@@ -6203,13 +6203,13 @@ most popular ones.")
 (define-public r-sp
   (package
     (name "r-sp")
-    (version "1.6-0")
+    (version "1.6-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "sp" version))
        (sha256
-        (base32 "1npwz49qmlqz46jrwlmv4929hb3wv3whxzj1bplyipp7h2z7z5zm"))))
+        (base32 "09d3jhk7iwjfhzyq0cwws1p5gspj9nxww5x7xvngh8hr9gan5wkn"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-lattice))
@@ -7784,14 +7784,14 @@ or between integer vectors representing generic sequences.")
 (define-public r-ucminf
   (package
     (name "r-ucminf")
-    (version "1.1-4.3")
+    (version "1.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ucminf" version))
        (sha256
         (base32
-         "1vjrbavj909wlsyb82dq3rybk0nqay6vl81f2qiqrm12ks9pw3js"))))
+         "1x3d3l500kyqamzfjpz4qc38d6d3sha9av3rpxz0m4dhms28zpas"))))
     (build-system r-build-system)
     (native-inputs (list gfortran))
     (home-page "https://cran.r-project.org/web/packages/ucminf/")
@@ -10804,15 +10804,17 @@ methods.")
 (define-public r-catdap
   (package
     (name "r-catdap")
-    (version "1.3.5")
+    (version "1.3.7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "catdap" version))
        (sha256
         (base32
-         "0fyhl69z2lznymvpzxra9qvcg85ggzkfjy68c6mzdmf1ja44d2k5"))))
+         "0z84bx808hy70bkzdda9l42ljh9i9pz07isxq756axi7nr0ky6p9"))))
     (build-system r-build-system)
+    (propagated-inputs
+     (list r-rcolorbrewer))
     (native-inputs
      (list gfortran))
     (home-page "https://cran.r-project.org/web/packages/catdap/")
@@ -11023,14 +11025,14 @@ simple method for converting between file types.")
 (define-public r-maptools
   (package
     (name "r-maptools")
-    (version "1.1-6")
+    (version "1.1-7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "maptools" version))
        (sha256
         (base32
-         "024kyq81gwpl7shil63nng1z6pgqcwy6j6wj44gj7ch3vd9dz9fn"))))
+         "0m576fzaaqbz1pqjv585841k93xnmx844kpsjzivmpfyvhbmw81v"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-foreign r-lattice r-sp))
@@ -12769,14 +12771,14 @@ contains or can be specified by the user.")
 (define-public r-biasedurn
   (package
     (name "r-biasedurn")
-    (version "2.0.9")
+    (version "2.0.10")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "BiasedUrn" version))
        (sha256
         (base32
-         "02bb81x1hfvhm6qlcvp88bdpm1fhqak9cjbqz1r7fhg2qfxjpims"))))
+         "0jv0zvz1zs34h12zdgn3lqmn7hfkk2z6fkwbd9mlyddf34rkvfqv"))))
     (properties `((upstream-name . "BiasedUrn")))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/BiasedUrn/")
@@ -15318,14 +15320,14 @@ ROPE percentage and pd).")
 (define-public r-performance
   (package
     (name "r-performance")
-    (version "0.10.3")
+    (version "0.10.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "performance" version))
        (sha256
         (base32
-         "1l4sr6cgg8rkgs5w98a36n79b1lbg241p60grsnz12hskppa1a6q"))))
+         "0ddwfkrzwbj1bykvifzrb11hs5kh2a6ykr3ac1hi7cqpqikymfna"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-bayestestr r-datawizard r-insight))
@@ -18188,14 +18190,14 @@ library.")
 (define-public r-ontologyindex
   (package
     (name "r-ontologyindex")
-    (version "2.10")
+    (version "2.11")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ontologyIndex" version))
        (sha256
         (base32
-         "0hisb9scxyyqkxhxhvgsgwix54pkq0zma3xq3ywczyazvzcxd5f9"))))
+         "17ndvqvb74b980gpb3hpg9bd68bb5f52k9s1i2kd1f9cdrdjvw97"))))
     (properties `((upstream-name . "ontologyIndex")))
     (build-system r-build-system)
     (native-inputs
@@ -18576,14 +18578,14 @@ packages.")
 (define-public r-assertive-code
   (package
     (name "r-assertive-code")
-    (version "0.0-3")
+    (version "0.0-4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "assertive.code" version))
        (sha256
         (base32
-         "1qhbp668zfvhqs8avkhg9amp4zyazz6dsy4fc6kpdmw3sv8yi07g"))))
+         "11qkhbjyxw0njzhcszyc2452518yrn3jr5l4n9jnzq10xms090ig"))))
     (properties
      `((upstream-name . "assertive.code")))
     (build-system r-build-system)
@@ -25192,14 +25194,18 @@ effect size.")
 (define-public r-rgdal
   (package
     (name "r-rgdal")
-    (version "1.6-6")
+    (version "1.6-7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rgdal" version))
        (sha256
-        (base32 "16irhw858771bc8ikshxk3ddpd7ymwgqmhnac4g7f160vymdfhnp"))))
-    (properties `((upstream-name . "rgdal")))
+        (base32 "0cxfmm7niixw3dnbqm7a00603dyqjrphajqx0q5vjpdhmpyysp2m"))))
+    (properties
+     `((upstream-name . "rgdal")
+       (updater-extra-inputs . ("gdal" "proj"))
+       ;; These are only needed for Windows
+       (updater-ignored-inputs . ("curl" "openssl" "openssh" "pcre2"))))
     (build-system r-build-system)
     (inputs
      (list gdal proj zlib))
@@ -27915,21 +27921,58 @@ it may be seen by an animal with less acute vision.")
 classification and regression models.")
     (license license:gpl2+)))
 
+(define-public r-caretensemble
+  (package
+    (name "r-caretensemble")
+    (version "2.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "caretEnsemble" version))
+              (sha256
+               (base32
+                "0kagw1ilfz1yy1q0ysmkp3f13k08hiq84xk7d0xp5p7d5dsg7z6q"))))
+    (properties `((upstream-name . "caretEnsemble")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-caret
+                             r-data-table
+                             r-digest
+                             r-ggplot2
+                             r-gridextra
+                             r-lattice
+                             r-pbapply
+                             r-plyr))
+    (native-inputs (list r-knitr))
+    (home-page "https://github.com/zachmayer/caretEnsemble")
+    (synopsis "Ensembles of caret models")
+    (description
+     "This is a framework for fitting multiple caret models.  It uses the same
+re-sampling strategy as well as creating ensembles of such models.  Use
+@code{caretList} to fit multiple models and then use @code{caretEnsemble} to
+combine them greedily or @code{caretStack} to combine them using a caret
+model.")
+    (license license:expat)))
+
 (define-public r-adabag
   (package
     (name "r-adabag")
-    (version "4.3")
+    (version "5.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "adabag" version))
        (sha256
         (base32
-         "1v4cl50wbv834cpbwkkhaq5wf8s746fp8xkjrwvyw912x6b2zmik"))))
+         "03nnqgia61pavic9l6av0hh81wilxlkrx3g244ypar1fv9ppan7c"))))
     (properties `((upstream-name . "adabag")))
     (build-system r-build-system)
     (propagated-inputs
-     (list r-caret r-doparallel r-foreach r-rpart))
+     (list r-caret
+           r-consrank
+           r-doparallel
+           r-dplyr
+           r-foreach
+           r-rpart
+           r-tidyr))
     (home-page "https://cran.r-project.org/web/packages/adabag/")
     (synopsis "Multiclass AdaBoost.M1, SAMME and Bagging")
     (description
@@ -29527,14 +29570,14 @@ least squares.")
 (define-public r-regsem
   (package
     (name "r-regsem")
-    (version "1.9.3")
+    (version "1.9.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "regsem" version))
        (sha256
         (base32
-         "0vpizmdml55naxmhy9nfcm9ylhy15p9na7l0c6z3rvk29ck3g3sw"))))
+         "0lvsy7byrhiizyhwnwr22v8g36735nb0liyzl1nzk0py9rjbv4kk"))))
     (properties `((upstream-name . "regsem")))
     (build-system r-build-system)
     (propagated-inputs
@@ -29554,14 +29597,14 @@ perform @dfn{exploratory mediation} (XMed).")
 (define-public r-stanheaders
   (package
     (name "r-stanheaders")
-    (version "2.26.25")
+    (version "2.26.26")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "StanHeaders" version))
        (sha256
         (base32
-         "1xds719xga7144mxirjnqxmcv1ncj5fb5z247blm4dkbn9q2vg4k"))))
+         "1jr5sflqhg70jkgz3x0q9nrk2xjzm1l4zmyc7j89m755b209sq4k"))))
     (properties `((upstream-name . "StanHeaders")))
     (build-system r-build-system)
     (inputs (list pandoc))
@@ -31265,14 +31308,14 @@ here.")
 (define-public r-projpred
   (package
     (name "r-projpred")
-    (version "2.5.0")
+    (version "2.6.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "projpred" version))
        (sha256
         (base32
-         "0faf0hq5kvibqyzgqqz2sdqms8g3vvxy6calpm6d2wzmbczi5v5n"))))
+         "1nkil537n43sz0ajkcyr0i38hb852qgcdxlgnirqkl0w98ax2hac"))))
     (properties `((upstream-name . "projpred")))
     (build-system r-build-system)
     (propagated-inputs
@@ -31290,7 +31333,7 @@ here.")
            r-rcpp
            r-rcpparmadillo
            r-rstantools
-           r-ucminf))
+           r-scales))
     (native-inputs (list r-knitr r-rmarkdown))
     (home-page "https://mc-stan.org/projpred/")
     (synopsis "Projection predictive feature selection")
@@ -31702,14 +31745,14 @@ designed to be distributed and efficient with the following goals:
 (define-public r-shapforxgboost
   (package
     (name "r-shapforxgboost")
-    (version "0.1.1")
+    (version "0.1.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "SHAPforxgboost" version))
        (sha256
         (base32
-         "106nsf02b1w3yshb55lwnyw1rl1a60162v2wk8znjz3b4ln3mqj5"))))
+         "0b3h6py80a0dmb8f8j4h7a7d0k6ld8l0qr24r8pxxy7dbqbyxh5x"))))
     (properties
      `((upstream-name . "SHAPforxgboost")))
     (build-system r-build-system)
@@ -31900,6 +31943,33 @@ a Huber regression warm start.  Confidence intervals for regression
 coefficients are constructed using multiplier bootstrap.")
     (license license:gpl3)))
 
+(define-public r-consrank
+  (package
+    (name "r-consrank")
+    (version "2.1.3")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "ConsRank" version))
+              (sha256
+               (base32
+                "0v1dr7zj2fpgncymakv5qszdrlqzvc5zxfyc3yrsj09gbm0gvyby"))))
+    (properties `((upstream-name . "ConsRank")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-gtools r-proxy r-rgl r-rlist r-tidyr))
+    (home-page "https://www.r-project.org/")
+    (synopsis
+     "Compute median rankings according to Kemeny's axiomatic approach")
+    (description
+     "This package lets you compute the median ranking according to Kemeny's
+axiomatic approach.  Rankings can or cannot contain ties, rankings can be both
+complete or incomplete.  The package contains both branch-and-bound algorithms
+and heuristic solutions recently proposed.  The searching space of the
+solution can either be restricted to the universe of the permutations or
+unrestricted to all possible ties.  The package also provides some useful
+utilities for deal with preference rankings, including both element-weight
+Kemeny distance and correlation coefficient.")
+    (license license:gpl3)))
+
 (define-public r-fastshap
   (package
     (name "r-fastshap")
@@ -33395,13 +33465,13 @@ observations.")
 (define-public r-scico
   (package
     (name "r-scico")
-    (version "1.3.1")
+    (version "1.4.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "scico" version))
        (sha256
-        (base32 "1f2czfhzdpi5dqjbxvbrrcnxjpylc5zzghj70ihlh2agq3n9hw5g"))))
+        (base32 "1zcsqmsr9vjs4krz8vmq4z59wh6x25g9ca6yxb0wlq58nmws77k6"))))
     (properties `((upstream-name . "scico")))
     (build-system r-build-system)
     (propagated-inputs (list r-scales))
@@ -36953,14 +37023,14 @@ the @code{raster} package that is suitable for extracting raster values using
 (define-public r-stringfish
   (package
     (name "r-stringfish")
-    (version "0.15.7")
+    (version "0.15.8")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "stringfish" version))
        (sha256
         (base32
-         "0ddpsi7z0kzqgbq9y646pk9afclq0r7ak22zsdh0i93ni0x71c9l"))))
+         "16w3i3d7jw2s1hzxr3mngrh7yjxvhswqdlpjw5g4z25i84lixcnz"))))
     (properties `((upstream-name . "stringfish")))
     (build-system r-build-system)
     (propagated-inputs
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 43f5f9c072..74483d27f7 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -4677,13 +4677,11 @@ algorithm implementations.")
          (delete 'build) ; XXX the build is performed again during the install phase
          (add-after 'unpack 'enter-source-directory
            (lambda _ (chdir "python")))
-         (add-after 'unpack 'make-git-checkout-writable
-           (lambda _
-             (for-each make-file-writable (find-files "."))))
-         (add-before 'install 'set-PYARROW_WITH_PARQUET
+         (add-before 'install 'set-pyarrow-build-options
            (lambda _
              (setenv "PYARROW_BUNDLE_ARROW_CPP_HEADERS" "0")
-             (setenv "PYARROW_WITH_PARQUET" "1"))))))
+             (setenv "PYARROW_WITH_PARQUET" "1")
+             (setenv "PYARROW_WITH_DATASET" "1"))))))
     (propagated-inputs
      (list (list apache-arrow "lib")
            (list apache-arrow "include")
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 406c1c1a35..4118c84bbf 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
 ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
-;;; Copyright © 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017-2023 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
@@ -150,7 +150,7 @@ of categories with some of the activities available in that category.
 (define-public gcompris-qt
   (package
     (name "gcompris-qt")
-    (version "2.3")
+    (version "3.2")
     (source
      (origin
        (method url-fetch)
@@ -158,7 +158,7 @@ of categories with some of the activities available in that category.
              "mirror://kde/stable/gcompris/qt/src/gcompris-qt-"
              version ".tar.xz"))
        (sha256
-        (base32 "0qncknaaf168anh4cjp7dqz6qzgx948kvgr32j2vga8mjakqn1aj"))))
+        (base32 "06yisr5qd2ri8qgpmlri0yic45fdfcdjn12anp17f6kvv83lk2js"))))
     (build-system qt-build-system)
     (arguments
      `(#:phases
@@ -183,13 +183,13 @@ of categories with some of the activities available in that category.
      (list openssl
            python-wrapper
            qtbase-5
+           qtcharts
            qtdeclarative-5
            qtgraphicaleffects
            qtmultimedia-5
-           qtquickcontrols-5
+           qtquickcontrols2-5
            qtsensors
-           qtsvg-5
-           qtxmlpatterns))
+           qtsvg-5))
     (home-page "https://gcompris.net/index-en.html")
     (synopsis "Educational games for small children")
     (description
diff --git a/gnu/packages/efi.scm b/gnu/packages/efi.scm
index 75eb24bf86..499745eba1 100644
--- a/gnu/packages/efi.scm
+++ b/gnu/packages/efi.scm
@@ -30,6 +30,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system gnu)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix packages)
   #:use-module (guix utils)
@@ -99,7 +100,7 @@ information.")
 (define-public sbsigntools
   (package
     (name "sbsigntools")
-    (version "0.9.4")
+    (version "0.9.5")
     (source
      (origin
        (method git-fetch)
@@ -110,34 +111,32 @@ information.")
          (recursive? #t)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1y76wy65y6k10mjl2dm5hb5ms475alr4s080xzj8y833x01xvf3m"))))
+        (base32 "060n6w0dx1mrilhdv482ncckanqz6pdv53piimiki0bm15d2fcp4"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-more-shebangs
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "lib/ccan.git/tools/create-ccan-tree"
-              (("#!/bin/bash")
-               (string-append "#!"
-                              (assoc-ref inputs "bash")
-                              "/bin/bash")))
-             #t))
-         (add-after 'unpack 'patch
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (substitute* '("configure.ac"
-                            "tests/Makefile.am")
-              (("/usr/include/efi")
-               (string-append (assoc-ref inputs "gnu-efi")
-                              "/include/efi"))
-              (("/usr/lib/gnuefi")
-               (string-append (assoc-ref inputs "gnu-efi")
-                              "/lib")))
-             #t))
-         (add-after 'unpack 'setenv
-           (lambda _
-             (setenv "CC" "gcc")
-             #t)))))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-more-shebangs
+            (lambda* (#:key inputs native-inputs #:allow-other-keys)
+              (substitute* "lib/ccan.git/tools/create-ccan-tree"
+                (("#!/bin/bash")
+                 (string-append "#!"
+                                (search-input-file (or native-inputs inputs)
+                                                   "/bin/bash"))))))
+          (add-after 'unpack 'patch
+            (lambda _
+              (substitute* '("configure.ac"
+                             "tests/Makefile.am")
+                (("/usr/include/efi")
+                 (string-append #$(this-package-input "gnu-efi")
+                                "/include/efi"))
+                (("/usr/lib/gnuefi")
+                 (string-append #$(this-package-input "gnu-efi")
+                                "/lib")))))
+          (add-after 'unpack 'setenv
+            (lambda _
+              (setenv "CC" #$(cc-for-target)))))))
     (native-inputs
      (list autoconf
            automake
@@ -146,9 +145,9 @@ information.")
            pkg-config
            util-linux)) ; getopt
     (inputs
-     `(("gnu-efi" ,gnu-efi)
-       ("libuuid" ,util-linux "lib")
-       ("openssl" ,openssl)))
+     (list gnu-efi
+           `(,util-linux "lib") ; libuuid
+           openssl))
     (synopsis "EFI signing tools")
     (description "This package provides tools for signing EFI binaries.")
     (home-page "https://git.kernel.org/pub/scm/linux/kernel/git/jejb/sbsigntools.git/")
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 7575049ea3..b77bd0aa83 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -36463,8 +36463,8 @@ headlines, keywords, tables and source blocks.")
       (license license:gpl3+)))) ; License is in pyimport.el
 
 (define-public emacs-straight-el
-  (let ((commit "f21103d97d180fba0b6e2e86ebb0b6269219ef2c")
-        (revision "1"))
+  (let ((commit "039e5c9a9b5c00749602afb41341e9e77ba09429")
+        (revision "2"))
     (package
       (name "emacs-straight-el")
       (version (git-version "0" revision commit))
@@ -36477,7 +36477,7 @@ headlines, keywords, tables and source blocks.")
            (commit commit)))
          (file-name (git-file-name name version))
          (sha256
-          (base32 "1dqhb7kx4hr3cm4gj6qdk9aav05vc016y4nks2dj1sy88wia6wsv"))))
+          (base32 "05avzakgkwzrj1pxa1pkcv96knqq4mnkv2cszn4cs4kmvr2mchxm"))))
       (build-system emacs-build-system)
       (arguments
        (list
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 50a3abd1fd..215007dd31 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -69,6 +69,7 @@
   #:use-module (gnu packages readline)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages xorg)
   #:use-module (srfi srfi-1))
@@ -511,7 +512,7 @@ languages are C and C++.")
 (define-public libjaylink
   (package
     (name "libjaylink")
-    (version "0.2.0")
+    (version "0.3.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -520,7 +521,7 @@ languages are C and C++.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0ndyfh51hiqyv2yscpj6qd091w7myxxjid3a6rx8f6k233vy826q"))))
+                "1wps72ir2kwdr7dphx4vp6cy0d46dm3nkwbk0mpryn9la09l7lm1"))))
     (build-system gnu-build-system)
     (native-inputs
      (list autoconf automake libtool pkg-config))
@@ -535,7 +536,7 @@ SEGGER J-Link and compatible devices.")
 (define-public jimtcl
   (package
     (name "jimtcl")
-    (version "0.80")
+    (version "0.82")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -544,23 +545,22 @@ SEGGER J-Link and compatible devices.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "06rn60cx9sapc175vxvan87b8j5rkhh5gvvz7343xznzwlr0wcgk"))))
+                "01nxqzn41797ypph1vpwjfh3zqgks0l8ihh6932b4kb83apy6f08"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (replace 'configure
-         ;; This package doesn't use autoconf.
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (invoke "./configure"
-                       (string-append "--prefix=" out)))))
-         (add-before 'check 'delete-failing-tests
-           (lambda _
-             ;; XXX All but 1 TTY tests fail (Inappropriate ioctl for device).
-             (delete-file "tests/tty.test")
-             #t))
-         )))
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (replace 'configure
+                 ;; This package doesn't use autoconf.
+                 (lambda _
+                   (invoke "./configure"
+                           (string-append "--prefix=" #$output))))
+               (add-before 'check 'delete-failing-tests
+                 (lambda _
+                   ;; XXX All but 1 SSL tests fail (tries connecting to Google
+                   ;; servers).
+                   (delete-file "tests/ssl.test"))))))
+    (inputs (list openssl))
     (native-inputs
      ;; For tests.
      (list inetutils))       ; for hostname
@@ -573,7 +573,7 @@ language.")
 (define-public openocd
   (package
     (name "openocd")
-    (version "0.11.0")
+    (version "0.12.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -582,7 +582,7 @@ language.")
               (file-name (string-append name "-" version "-checkout"))
               (sha256
                (base32
-                "0qi4sixwvw1i7c64sy221fsjs82qf3asmdk86g74ds2jjm3f8pzp"))))
+                "09wb11zlmrw6rx1bql3kafgi3ilzp9mhvb6j6rql216by06csing"))))
     (build-system gnu-build-system)
     (native-inputs
      (list autoconf
@@ -592,10 +592,10 @@ language.")
            pkg-config
            texinfo))
     (inputs
-     (list hidapi jimtcl libftdi libjaylink libusb-compat))
+     (list hidapi jimtcl libftdi libjaylink openssl))
     (arguments
      '(#:configure-flags
-       (append (list "LIBS=-lutil"
+       (append (list "LIBS=-lutil -lcrypto -lssl"
                      "--disable-werror"
                      "--enable-sysfsgpio"
                      "--disable-internal-jimtcl"
diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm
index 5a1582b1bc..4518a1e30a 100644
--- a/gnu/packages/fltk.scm
+++ b/gnu/packages/fltk.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018, 2023 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -43,15 +43,15 @@
 (define-public fltk
   (package
     (name "fltk")
-    (version "1.3.6")
+    (version "1.3.8")
     (source
      (origin
       (method url-fetch)
-      (uri (string-append "http://fltk.org/pub/fltk/"
+      (uri (string-append "https://www.fltk.org/pub/fltk/"
                           (first (string-split version #\-))
                           "/fltk-" version "-source.tar.gz"))
       (sha256
-       (base32 "1arp1niiz3qxm8iacpmilwpc5rinsm6hsk4a6fsxfywvkvppbb4s"))))
+       (base32 "1gyisjwjbdsax4kbdm3hpijp2f0qgh1wk7wgad87l3pb0wmi1hgk"))))
    (build-system gnu-build-system)
    (native-inputs
     (list pkg-config))
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 0a897fcf0b..91e7ccc49f 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, 2022 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2017–2023 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>
@@ -2845,18 +2845,7 @@ optimized for using musical symbols inline with regular text.")
          (file-name (string-append name "-" version ".zip"))
          (sha256
           (base32 "1j8iv2dl695zrabs2knb7jsky8mjis29a2ddpna4by8mlvqrf0ml"))))
-      (outputs '("out" "woff2"))
       (build-system font-build-system)
-      (arguments
-       `(#:phases
-         (modify-phases %standard-phases
-           (add-after 'install 'install-woff2
-             (lambda* (#:key outputs #:allow-other-keys)
-               (let ((dest (string-append (assoc-ref outputs "woff2")
-                                          "/share/fonts/woff2")))
-                 (for-each (lambda (file)
-                             (install-file file dest))
-                           (find-files "." "\\.woff2$"))))))))
       (home-page "https://practicaltypography.com/charter.html")
       (synopsis "Charter fonts in OpenType and TrueType formats")
       (description "Charter was designed by Matthew Carter in 1987 and was
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 25805fe2e5..6ad3c87ff1 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -738,7 +738,9 @@ lets developers use the functionality of Proj in their own software.")
                            version ".tar.gz"))
        (sha256
         (base32
-         "050apzdn0isxpsblys1shrl9ccli5vd32kgswlgx1imrbwpg915k"))))
+         "050apzdn0isxpsblys1shrl9ccli5vd32kgswlgx1imrbwpg915k"))
+       (patches
+        (search-patches "proj-7-initialize-memory.patch"))))
     (arguments
      `(#:configure-flags '("-DUSE_EXTERNAL_GTEST=ON")
        #:phases
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index de6de1f3f0..9400abe79a 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -524,7 +524,10 @@ be used when cross-compiling."
                                           "/_giscanner"))))
                 #~()))))
     (native-inputs
-     `(("glib" ,glib "bin")
+     `(,@(if (%current-target-system)
+           `(("python" ,python))
+           '())
+       ("glib" ,glib "bin")
        ("pkg-config" ,pkg-config)
        ("bison" ,bison)
        ("flex" ,flex)))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 39d7dc5954..6db2d6569e 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -76,6 +76,7 @@
 ;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com>
 ;;; Copyright © 2023 Juliana Sims <juli@incana.org>
 ;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw>
+;;; Copyright © 2023 Zhu Zihao <all_but_last@163.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2701,7 +2702,7 @@ on the GNOME Desktop with a single simple application.")
                                                  "/share/backgrounds/gnome"))
                         ;; Do not reference fonts, that may not exist.
                         (("'Source Code Pro 10'") "'Monospace 11'")))))))
-    (inputs (list glib gnome-backgrounds))
+    (inputs (list glib gnome-backgrounds gobject-introspection))
     (native-inputs (list gettext-minimal
                          `(,glib "bin") ;glib-compile-schemas, etc.
                          gobject-introspection
@@ -7199,7 +7200,9 @@ principles are simplicity and standards compliance.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1jqw5ndpgyb0zxh0g21ai1911lfrm56vz18xbccfqm4sk95wwcw7"))))
+                "1jqw5ndpgyb0zxh0g21ai1911lfrm56vz18xbccfqm4sk95wwcw7"))
+              (patches
+               (search-patches "d-feet-drop-unused-meson-argument.patch"))))
     (build-system meson-build-system)
     (arguments
      (list
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index fd7f4565f9..e40d2b8922 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -518,9 +518,9 @@ variable defined below.  It requires guile-json to be installed."
 ;; XXXX: Workaround 'snippet' limitations.
 (define computed-origin-method (@@ (guix packages) computed-origin-method))
 
-(define %icecat-base-version "102.11.0")
+(define %icecat-base-version "102.12.0")
 (define %icecat-version (string-append %icecat-base-version "-guix0-preview1"))
-(define %icecat-build-id "20230509000000") ;must be of the form YYYYMMDDhhmmss
+(define %icecat-build-id "20230606000000") ;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'
@@ -540,12 +540,12 @@ variable defined below.  It requires guile-json to be installed."
                   "firefox-" upstream-firefox-version ".source.tar.xz"))
             (sha256
              (base32
-              "0cyfij00i9m1pwwyfhiq2qasbfr2ykdwziqykj8878kyjvkj1wg7"))))
+              "189irpd8xkwh3qixbbcmn5jblx7jz80rilcq8ihaawpmdh76safp"))))
 
          ;; The upstream-icecat-base-version may be older than the
          ;; %icecat-base-version.
-         (upstream-icecat-base-version "102.11.0")
-         (gnuzilla-commit "5a1894fc966840dc242110ec0459471c637a4675")
+         (upstream-icecat-base-version "102.12.0")
+         (gnuzilla-commit "b2d463b0e331795eebe3ee62f2c58c1bd05b9899")
          (gnuzilla-source
           (origin
             (method git-fetch)
@@ -557,7 +557,7 @@ variable defined below.  It requires guile-json to be installed."
                                       (string-take gnuzilla-commit 8)))
             (sha256
              (base32
-              "1816lm4cl45l1zbc043827rfnzzzxckhxk16gvj3a8kyg7fxvv3v"))))
+              "0db03i3xmapdr0xyb9yg6cl66kyxavnl22hhhnf85ffnlfrcdx2r"))))
 
          ;; 'search-patch' returns either a valid file name or #f, so wrap it
          ;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index a7b226091c..750e11d687 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -3843,7 +3843,7 @@ debugging code.")
 (define-public guile-png
   (package
     (name "guile-png")
-    (version "0.4.1")
+    (version "0.5.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -3852,7 +3852,7 @@ debugging code.")
               (file-name (string-append name "-" version "-checkout"))
               (sha256
                (base32
-                "1vkhv0dip0na6d9g478i587n5y6046vn5rsjmfnbibi9yx4rkrf8"))))
+                "0dnahq05mwxzbsqb0qjkyysylc54qr8l5839zyc4sanl2syzhvwk"))))
     (build-system gnu-build-system)
     (arguments
      `(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 929ee08387..a819698710 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -31,6 +31,7 @@
 ;;; Copyright © 2021–2023 Alice BRENON <alice.brenon@ens-lyon.fr>
 ;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
 ;;; Copyright © 2022 jgart <jgart@dismail.de>
+;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -8602,6 +8603,26 @@ of functions that implement regular expression pattern matching using the same
 syntax and semantics as Perl 5.")
     (license license:bsd-3)))
 
+(define-public ghc-peano
+  (package
+    (name "ghc-peano")
+    (version "0.1.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "peano" version))
+              (sha256
+               (base32
+                "0yzcxrl41dacvx2wkyxjj7hgvz56l4qb59r4h9rmaqd7jcwx5z9i"))))
+    (build-system haskell-build-system)
+    (arguments
+     `(#:cabal-revision ("3"
+                         "0wl22dnz6ld300cg6id3lw991bp8kdfi8h0nbv37vn79i1zdcj5n")))
+    (home-page "http://hackage.haskell.org/package/peano")
+    (synopsis "Peano numbers")
+    (description "Provides an efficient Haskell implementation of Peano
+numbers")
+    (license license:bsd-3)))
+
 (define-public ghc-persistent
   (package
     (name "ghc-persistent")
@@ -13308,6 +13329,27 @@ the vector; then you can execute the builder to actually produce the
 vector.")
     (license license:expat)))
 
+(define-public ghc-vector-hashtables
+  (package
+    (name "ghc-vector-hashtables")
+    (version "0.1.1.2")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "vector-hashtables" version))
+              (sha256
+               (base32
+                "0hrjvy9qg1m5g3w91zxy4syqmp8jk7ajjbxbzkhy282dwfigkyd2"))))
+    (build-system haskell-build-system)
+    (inputs (list ghc-primitive ghc-vector ghc-hashable))
+    (native-inputs (list ghc-hspec ghc-quickcheck ghc-quickcheck-instances
+                         hspec-discover))
+    (home-page "https://github.com/klapaucius/vector-hashtables#readme")
+    (synopsis "Efficient vector-based mutable hashtables implementation")
+    (description
+     "This package provides efficient vector-based hashtable implementation
+similar to .NET Generic Dictionary implementation (at the time of 2015).")
+    (license license:bsd-3)))
+
 (define-public ghc-vector-th-unbox
   (package
     (name "ghc-vector-th-unbox")
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index d1330d17f7..069a214b8c 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -571,9 +571,27 @@ official designation is ISO/IEC 29199-2). This library is an implementation of t
       (sha256
        (base32 "06f6d08xvmsiki4mc1qs985gsjqmsxx793a93b72y25q84wbg9x9"))))
    (build-system gnu-build-system)
-   (inputs (list libjpeg-turbo))
    (arguments
-    '(#:tests? #f))                     ; no tests
+    `(#:tests? #f                       ; no tests
+      ,@(if (and (target-riscv64?)
+                 (%current-target-system))
+          (list #:phases
+                #~(modify-phases %standard-phases
+                    (add-after 'unpack 'update-config-scripts
+                      (lambda* (#:key native-inputs inputs #:allow-other-keys)
+                        (for-each (lambda (file)
+                                    (install-file
+                                      (search-input-file
+                                        (or native-inputs inputs)
+                                        (string-append "/bin/" file)) "./tools"))
+                                  '("config.guess" "config.sub"))))))
+          '())))
+   (inputs (list libjpeg-turbo))
+   (native-inputs
+    (if (and (target-riscv64?)
+             (%current-target-system))
+      (list config)
+      '()))
    (synopsis "Optimize JPEG images")
    (description
     "jpegoptim provides lossless optimization (based on optimizing
@@ -595,6 +613,25 @@ maximum quality factor.")
                (base32
                 "1hjm8lwap7bjyyxsyi94fh5817xzqhk4kb5y0b7mb6675xw10prk"))))
     (build-system gnu-build-system)
+    (arguments
+     (if (and (target-riscv64?)
+              (%current-target-system))
+       (list #:phases
+             #~(modify-phases %standard-phases
+                 (add-after 'unpack 'update-config-scripts
+                   (lambda* (#:key native-inputs inputs #:allow-other-keys)
+                     (for-each (lambda (file)
+                                 (install-file
+                                   (search-input-file
+                                     (or native-inputs inputs)
+                                     (string-append "/bin/" file)) "."))
+                               '("config.guess" "config.sub"))))) )
+       '()))
+    (native-inputs
+     (if (and (target-riscv64?)
+              (%current-target-system))
+       (list config)
+       '()))
     (inputs
      (list libpng jasper))
     (home-page "https://icns.sourceforge.io/")
@@ -2105,7 +2142,7 @@ losslessly translates between SNG and PNG.")
 (define-public blurhash
   (package
     (name "blurhash")
-    (version "0.0.1")
+    (version "0.2.0")
     (source
      (origin
        (method git-fetch)
@@ -2114,10 +2151,10 @@ losslessly translates between SNG and PNG.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0jy2iigarskwfhskyladbb6l92x1fb3i3vz4bvcks0za4w5hfxk5"))))
+        (base32 "0hx15fspava43z47kv17ivxv56g03fb2zf45dl07v3shickqxw0x"))))
     (build-system meson-build-system)
     (native-inputs
-     (list cmake doctest))
+     (list doctest pkg-config))
     (home-page "https://github.com/Nheko-Reborn/blurhash")
     (synopsis "C++ blurhash encoder/decoder")
     (description "Simple encoder and decoder for blurhashes.  Contains a
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 058f64187d..1b802922a8 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -40,6 +40,7 @@
   #:use-module (gnu packages acl)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages aidc)
+  #:use-module (gnu packages aspell)
   #:use-module (gnu packages attr)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages base)
@@ -1450,7 +1451,8 @@ system.")
     (native-inputs
      (list extra-cmake-modules pkg-config qttools-5))
     (inputs
-     (list hunspell
+     (list aspell
+           hunspell
            ;; TODO: hspell (for Hebrew), Voikko (for Finish)
            qtdeclarative-5
            qtbase-5))
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index f9c0a260f0..28b4ce1ee0 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2019-2021, 2023 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 David Craven <david@craven.ch>
 ;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;; Copyright © 2017, 2018 Mark Meyer <mark@ofosos.org>
@@ -516,15 +516,16 @@ the functionality of the KDE resource and network access abstractions.")
 (define-public kirigami-addons
   (package
     (name "kirigami-addons")
-    (version "0.3")
+    (version "0.8.0")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://invent.kde.org/libraries/kirigami-addons/-/archive/v"
-                    version "/kirigami-addons-v" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://invent.kde.org/libraries/kirigami-addons")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1zr8dpc7bzw6g3y0jaxsr2lqlxqwlcphchpk8iah6g1f3n9fq73r"))))
+                "1bi6sc1fpycxj1ydd08gkbw1x1pi2ab6p9bk4175hm0mb0rykdir"))))
     (build-system qt-build-system)
     (arguments
      (list #:tests? #f)) ; failing test
diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm
index c553f8180a..241881ea47 100644
--- a/gnu/packages/kerberos.scm
+++ b/gnu/packages/kerberos.scm
@@ -183,14 +183,7 @@ After installation, the system administrator should generate keys using
                (base32
                 "0f4dblav859p5hn7b2jdj1akw6d8p32as6bj6zym19kghh3s51zx"))
               (patches
-               (search-patches "heimdal-CVE-2022-45142.patch"))
-              (modules '((guix build utils)))
-              (snippet
-               '(begin
-                  (substitute* "configure"
-                    (("User=.*$") "User=Guix\n")
-                    (("Host=.*$") "Host=GNU")
-                    (("Date=.*$") "Date=2022\n"))))))
+               (search-patches "heimdal-CVE-2022-45142.patch"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
@@ -221,9 +214,20 @@ After installation, the system administrator should generate keys using
                                                    "/libexec/heimdal")))
                   #~()))
        #:phases (modify-phases %standard-phases
+                  ;; Skip the appl folder as obsolete per message from Brian May <brian@linuxpenguins.xyz>
+                  ;; <MDAEMON-F202305111940.AA401569md5001000003030@sequoia-grove.ad.secure-endpoints.com>
+                  (add-after 'unpack 'drop-obsolete-executables
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      (substitute* '("Makefile.am")
+                        (("appl") ""))))
                   (add-before 'configure 'pre-configure
                     (lambda* (#:key inputs #:allow-other-keys)
+                      (invoke (search-input-file inputs "bin/autoreconf") "--install" "--force")
                       (substitute* "configure"
+                        ;; Reproducible build date, etc.
+                        (("User=.*$") "User=Guix\n")
+                        (("Host=.*$") "Host=GNU\n")
+                        (("Date=.*$") "Date=2022\n")
                         ;; The e2fsprogs input is included for libcom_err,
                         ;; let's use it even if cross-compiling.
                         (("test \"\\$\\{krb_cv_com_err\\}\" = \"yes\"")
@@ -232,15 +236,6 @@ After installation, the system administrator should generate keys using
                         ;; which confuses heimdal.
                         (("ac_cv_prog_COMPILE_ET=\\$\\{with_cross_tools\\}compile_et")
                          "ac_cv_PROG_COMPILE_ET=compile_et"))
-                      (substitute* '("appl/afsutil/pagsh.c" "appl/su/su.c")
-                        (("/bin/sh")
-                         (search-input-file inputs "bin/sh"))
-                        ;; Use the cross-compiled bash instead of the
-                        ;; native bash (XXX shouldn't _PATH_BSHELL point
-                        ;; to a cross-compiled bash?).
-                        (("_PATH_BSHELL")
-                         (string-append
-                          "\"" (search-input-file inputs "bin/sh") "\"")))
                       (substitute* '("tools/Makefile.in")
                         (("/bin/sh") (which "sh")))))
                   (add-before 'check 'pre-check
@@ -255,12 +250,17 @@ After installation, the system administrator should generate keys using
                           (format #t "#!~a~%exit 1~%" (which "sh")))))))
        ;; Tests fail when run in parallel.
        #:parallel-tests? #f))
-    (native-inputs (list bison
+    (native-inputs (list autoconf
+                         automake
+                         bison
                          e2fsprogs      ;for 'compile_et'
                          flex
+                         libtool
                          texinfo
                          unzip          ;for tests
                          pkg-config
+                         perl
+                         perl-json
                          python))
     (inputs (list readline
                   bash-minimal
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index fc6f3cbda5..3bcc34374c 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -485,7 +485,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-6.3-version "6.3.5")
+(define-public linux-libre-6.3-version "6.3.6")
 (define-public linux-libre-6.3-gnu-revision "gnu")
 (define deblob-scripts-6.3
   (linux-libre-deblob-scripts
@@ -495,7 +495,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
    (base32 "0la20slh52jm4cg4v2liphhqqx4808gm6pfqcxiawj13a4ps9ygk")))
 (define-public linux-libre-6.3-pristine-source
   (let ((version linux-libre-6.3-version)
-        (hash (base32 "0pl2zypsmrnna69850jadccffxwg9xdfkldg0sv8m44b7n64gkgm")))
+        (hash (base32 "1vr418rf0zd16fq4vaxda1w2ccng2n9l0ysakmgz9xqbz86iysks")))
    (make-linux-libre-source version
                             (%upstream-linux-source version hash)
                             deblob-scripts-6.3)))
@@ -503,7 +503,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-6.1-version "6.1.31")
+(define-public linux-libre-6.1-version "6.1.32")
 (define-public linux-libre-6.1-gnu-revision "gnu")
 (define deblob-scripts-6.1
   (linux-libre-deblob-scripts
@@ -513,12 +513,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
    (base32 "1yv15mb278wlrn8gb2yjm0mczirzixy668h221vcpbz416ibxx1m")))
 (define-public linux-libre-6.1-pristine-source
   (let ((version linux-libre-6.1-version)
-        (hash (base32 "1hbkw290kmf1dj8a255ik1gk5fk458c88m348dwrc3lrl6xifsg8")))
+        (hash (base32 "0v0saai735jzaj3dbpgp6sbdi95n3lmv78pbg1xy9fd2kfhbg23w")))
    (make-linux-libre-source version
                             (%upstream-linux-source version hash)
                             deblob-scripts-6.1)))
 
-(define-public linux-libre-5.15-version "5.15.114")
+(define-public linux-libre-5.15-version "5.15.115")
 (define-public linux-libre-5.15-gnu-revision "gnu")
 (define deblob-scripts-5.15
   (linux-libre-deblob-scripts
@@ -528,12 +528,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
    (base32 "00n8c7ghfs36bvz0yjw6w9daf5zcgj94kxxn27bfyfm274rkddmz")))
 (define-public linux-libre-5.15-pristine-source
   (let ((version linux-libre-5.15-version)
-        (hash (base32 "1lkpa9wv1qj90qdzzi71qf5dyy7mi95fixx3ymdp6xwz45fym0g9")))
+        (hash (base32 "050j9z0wg5glgxwbmzfq4l8lv8y7g3nc2rz8342yjdcjfxh6h1qv")))
    (make-linux-libre-source version
                             (%upstream-linux-source version hash)
                             deblob-scripts-5.15)))
 
-(define-public linux-libre-5.10-version "5.10.181")
+(define-public linux-libre-5.10-version "5.10.182")
 (define-public linux-libre-5.10-gnu-revision "gnu1")
 (define deblob-scripts-5.10
   (linux-libre-deblob-scripts
@@ -543,12 +543,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
    (base32 "12jhak2bw1jy2jk70vrm66kjvh0cd6c8f2qiy2bk40rq7bf62mr6")))
 (define-public linux-libre-5.10-pristine-source
   (let ((version linux-libre-5.10-version)
-        (hash (base32 "1rx43dkxspris9529vl11blzhvsxnpaqr6yb3fy089az7yvwxrmc")))
+        (hash (base32 "1xp9bxk2vyw29bq3z854ly4cj94z8i52yl5hq4a3l3j6564wb3ny")))
    (make-linux-libre-source version
                             (%upstream-linux-source version hash)
                             deblob-scripts-5.10)))
 
-(define-public linux-libre-5.4-version "5.4.244")
+(define-public linux-libre-5.4-version "5.4.245")
 (define-public linux-libre-5.4-gnu-revision "gnu1")
 (define deblob-scripts-5.4
   (linux-libre-deblob-scripts
@@ -558,7 +558,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
    (base32 "070j069sj6spy2wkzfzm1d5jd7pffm0s1m917wblc8d3x8pbgvf8")))
 (define-public linux-libre-5.4-pristine-source
   (let ((version linux-libre-5.4-version)
-        (hash (base32 "06x20aq7bv86ghv2sdsz3q2rmqh8h389x5zksr53fyzdjl72ixch")))
+        (hash (base32 "195ixy9l18mhwvzj7v63fkyifb9mysq950afxh6ixlpvg0c8h1wn")))
    (make-linux-libre-source version
                             (%upstream-linux-source version hash)
                             deblob-scripts-5.4)))
@@ -8159,7 +8159,7 @@ Text-based output formats: CSV, XML, Netfilter's LOG, Netfilter's conntrack
 (define-public proot
   (package
     (name "proot")
-    (version "5.3.0")
+    (version "5.4.0")
     (source
      (origin
        (method git-fetch)
@@ -8168,7 +8168,10 @@ Text-based output formats: CSV, XML, Netfilter's LOG, Netfilter's conntrack
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1r1ga3xbwq5kx4i8ihj1p6nmgaa14lfkwxzpsbdcmfh1jimpbmzk"))))
+        (base32 "186qsg4yvisqjgf8w5jxhnlig7x341vpqwcgp8as3r59qmqkpmk7"))
+       ;; Waiting for upstream inclusion at
+       ;; https://github.com/proot-me/proot/pull/355
+       (patches (search-patches "proot-add-clone3.patch"))))
     (build-system gnu-build-system)
     ;; Many architectures are not supported (see:
     ;; https://github.com/proot-me/proot/blob/master/src/arch.h#L51).
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index fd09b4f52c..16deb85e5e 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -4978,7 +4978,7 @@ is a library for creating graphical user interfaces.")
 (define-public sbcl-cl-webkit
   (package
     (name "sbcl-cl-webkit")
-    (version "3.5.7")
+    (version "3.5.9")
     (source
      (origin
        (method git-fetch)
@@ -4988,7 +4988,7 @@ is a library for creating graphical user interfaces.")
        (file-name (git-file-name "cl-webkit" version))
        (sha256
         (base32
-         "0aqkqcs0n5wkgjx3lb513fvm7f2jw3d5daisc9mw1bmbbcqh2sba"))))
+         "00h61p5mrvvbycp703isy0wvgqlfb7k0cidw4vg75y7s29m3k6k0"))))
     (build-system asdf-build-system/sbcl)
     (inputs
      `(("cffi" ,sbcl-cffi)
@@ -21176,9 +21176,10 @@ window it creates as just another output for your graphics, analogous to how
   (sbcl-package->cl-source-package sbcl-cepl))
 
 (define-public sbcl-stmx
-  ;; No release for years and recent commits contain fixes for revent SBCL versions.
-  (let ((commit "a7bb44082cd53ee968965adff03d4351750711a1")
-        (revision "1"))
+  ;; No release for years and recent commits contain fixes for recent SBCL
+  ;; versions.
+  (let ((commit "f71e742a50b85e3abc0af9bb5f02802f218a1705")
+        (revision "2"))
     (package
      (name "sbcl-stmx")
      (version (git-version "2.0.5" revision commit))
@@ -21190,11 +21191,22 @@ window it creates as just another output for your graphics, analogous to how
              (commit commit)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1hfmh4vj271jdilir97qs6nqbi5nmn5alyls0w3d3xxqwi6ffqjs"))))
+        (base32 "0q739mlw3s3z5kclzccz4r64ag38ks11fmd38109qwjv5knn69jv"))))
      (build-system asdf-build-system/sbcl)
      (inputs
       (list sbcl-alexandria sbcl-bordeaux-threads sbcl-log4cl
             sbcl-closer-mop sbcl-trivial-garbage))
+     (arguments
+      (list
+       #:phases
+       #~(modify-phases %standard-phases
+           (add-after 'unpack 'fix-build
+             (lambda _
+               (substitute* "asm/transaction.lisp"
+                 (("\\(ftype \\(function \\(\\) fixnum\\)        transaction-begin\\)")
+                  "(ftype (function () (unsigned-byte 32))        transaction-begin)")
+                 (("\\(values fixnum  &optional\\)")
+                  "(unsigned-byte 32)")))))))
      (home-page "https://stmx.org/")
      (synopsis "High performance Transactional Memory for Common Lisp")
      (description
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 000c8e8e66..a7e06dd34c 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -23,6 +23,7 @@
 ;;; Copyright © 2022 Joeke de Graaf <joeke@posteo.net>
 ;;; Copyright © 2021, 2022 jgart <jgart@dismail.de>
 ;;; Copyright © 2022 ( <paren@disroot.org>
+;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -57,6 +58,7 @@
   #:use-module (guix build-system haskell)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages admin)
+  #:use-module (gnu packages algebra)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages bdw-gc)
@@ -83,6 +85,7 @@
   #:use-module (gnu packages maths)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages notcurses)
   #:use-module (gnu packages onc-rpc)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages readline)
@@ -93,7 +96,8 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages xorg)
-  #:use-module (ice-9 match))
+  #:use-module (ice-9 match)
+  #:use-module (srfi srfi-1))
 
 (define-public cl-asdf
   (package
@@ -428,20 +432,22 @@ an interpreter, a compiler, a debugger, and much more.")
 (define-public sbcl
   (package
     (name "sbcl")
-    (version "2.3.2")
+    (version "2.3.5")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-"
                            version "-source.tar.bz2"))
        (sha256
-        (base32 "1ahyrc3p9cf7y5zbgzvb9yxa8a480ccis4ksijlajck3z8n1dk24"))
+        (base32 "11ji5n65l31249r0v7hm0wc0yk2ila0y746nj36xn1cxrwh0gjc9"))
        (modules '((guix build utils)))
+       ;; backport from upstream.
+       (patches (search-patches "sbcl-riscv-Make-contribs-build-again.patch"))
        (snippet
         '(begin
            ;; Don't force ARMv5.
            (substitute* "src/runtime/Config.arm-linux"
-             (("-march=armv5") ""))))))
+             (("-march=armv5t") ""))))))
     (build-system gnu-build-system)
     (outputs '("out" "doc"))
     (native-inputs
@@ -987,7 +993,7 @@ the HTML documentation of TXR.")
 (define-public txr
   (package
     (name "txr")
-    (version "286")
+    (version "287")
     (source
      (origin
        (method git-fetch)
@@ -996,7 +1002,7 @@ the HTML documentation of TXR.")
              (commit (string-append "txr-" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0c5prq9ans4qv8dgfn85555by9rb22p276g21w4mns0rqhjd0ij8"))))
+        (base32 "0bwa40l5c0dnpcpfbysqbv8ch58sycbb31dnskmhr387jlv938dl"))))
     (build-system gnu-build-system)
     (arguments
      (list #:configure-flags
@@ -1478,3 +1484,129 @@ includes a compiler as well as an interpreter.")
                    license:expat ;; cii/LICENSE
                    license:gpl2+ ;; nana/gdb/test.c and others under nana/
                    license:bsd-3)))) ;; bench/*
+
+(define-public s7-bootstrap
+  ;; Need s7-bootstrap to build libc_s7.so (for the REPL) and run tests
+  (let ((commit "a5b4bb49f8bcd7c33ae2366065fc8c254b734460") ;no releases
+        (revision "0"))
+    (hidden-package
+     (package
+       (name "s7-bootstrap")
+       (version (git-version "23.3" revision commit))
+       (source (origin
+                 (method git-fetch)
+                 (uri (git-reference
+                       (url "https://cm-gitlab.stanford.edu/bil/s7.git")
+                       (commit commit)))
+                 (file-name (git-file-name name version))
+                 (sha256
+                  (base32
+                   "03n1axdlypzmbgzrhlwfqwa1xiw36hi25j2hwc7vw77mz90cd9f8"))))
+       (build-system gnu-build-system)
+       (arguments
+        (list #:tests? #f ;no tests in bootstrap
+              #:phases #~(modify-phases %standard-phases
+                           (delete 'configure) ;no configure
+                           (replace 'build
+                             (lambda _
+                               ;; using build commands from s7 home page
+                               (display "[BUILD] repl\n")
+                               (invoke #$(cc-for-target) "s7.c" "-o" "repl"
+                                       "-I." "-O2" "-g"
+                                       "-DWITH_MAIN"
+                                       (string-append
+                                        "-DS7_LOAD_PATH=\""
+                                        #$output "/share/s7/scm\"")
+                                       "-ldl" "-lm"
+                                       "-Wl,-export-dynamic")
+                               (display "[BUILD] nrepl\n")
+                               (invoke #$(cc-for-target) "s7.c" "-o" "nrepl"
+                                       "-I." "-O2" "-g"
+                                       "-DWITH_MAIN" "-DWITH_NOTCURSES"
+                                       (string-append
+                                        "-DS7_LOAD_PATH=\""
+                                        #$output "/share/s7/scm\"")
+                                       "-ldl" "-lm" "-lnotcurses-core"
+                                       "-Wl,-export-dynamic")
+                               (display "[BUILD] libarb_s7.so\n")
+                               (invoke #$(cc-for-target) "libarb_s7.c"
+                                       "-I." "-O2" "-g"
+                                       "-shared" "-o" "libarb_s7.so"
+                                       "-larb" "-lflint" "-lmpc" "-fPIC")
+                               (display "[BUILD] libnotcurses_s7.so\n")
+                               (invoke #$(cc-for-target) "notcurses_s7.c"
+                                       "-I." "-O2" "-g"
+                                       "-shared" "-o" "libnotcurses_s7.so"
+                                       "-lnotcurses-core" "-fPIC")
+                               ;; Need s7.o and ffitest for tests
+                               (display "[BUILD] s7.o\n")
+                               (invoke #$(cc-for-target) "-c" "s7.c" "-o"
+                                       "s7.o" "-I." "-O2"  "-ldl" "-lm")
+                               (display "[BUILD] ffitest\n")
+                               (invoke #$(cc-for-target) "-o" "ffitest"
+                                       "ffitest.c" "-g2" "s7.o" "-lm" "-I."
+                                       "-ldl" "-Wl,-export-dynamic")))
+                           (add-before 'check 'install-scm
+                             ;; scm files need to be installed before testing
+                             (lambda _
+                               (for-each (lambda (x)
+                                           (install-file
+                                            x (string-append
+                                               #$output "/share/s7/scm/")))
+                                         (find-files "." "\\.scm"))))
+                           (replace 'install
+                             (lambda _
+                               (let ((bin (string-append #$output "/bin"))
+                                     (share (string-append #$output
+                                                           "/share/s7/"))
+                                     (doc (string-append #$output
+                                                         "/share/doc/s7/"))
+                                     (lib (string-append #$output "/lib"))
+                                     (inc (string-append #$output "/include/")))
+                                 (install-file "repl" bin)
+                                 (install-file "nrepl" bin)
+                                 (install-file "ffitest" bin)
+                                 (install-file "libarb_s7.so" lib)
+                                 (install-file "libnotcurses_s7.so" lib)
+                                 (install-file "s7.c" share)
+                                 (install-file "s7.h" inc)
+                                 (install-file "s7.html" doc)))))))
+       (inputs (list arb flint mpc notcurses))
+       (home-page "https://ccrma.stanford.edu/software/snd/snd/s7.html")
+       (synopsis "Scheme interpreter intended as an extension language")
+       (description
+        "s7 is a Scheme interpreter intended as an extension language for
+other applications.  It exists as just two files, @code{s7.c} and @code{s7.h},
+that may be copied into the source tree of another application.  There are no
+libraries, no run-time init files, and no configuration scripts.  It can also
+be built as a stand-alone REPL interpreter.")
+       (license license:bsd-0)))))
+
+(define-public s7
+  (package
+    (inherit s7-bootstrap)
+    (name "s7")
+    (arguments
+     (substitute-keyword-arguments (package-arguments s7-bootstrap)
+       ((#:tests? _) #t)
+       ((#:phases phases)
+        #~(modify-phases #$phases
+            (add-after 'unpack 'patch
+              (lambda _
+                (substitute* "s7.c"
+                  (("libc_s7.so")
+                   (string-append #$output "/lib/libc_s7.so")))))
+            (add-after 'build 'build-full
+              (lambda _
+                (invoke "repl" "./libc.scm")))
+            (replace 'check
+              (lambda* (#:key tests? #:allow-other-keys)
+                (when tests?
+                  (invoke "repl" "./s7test.scm"))))
+            (add-after 'install 'install-full
+              (lambda _
+                (install-file "libc_s7.so"
+                              (string-append #$output "/lib/"))
+                (delete-file (string-append #$output "/bin/ffitest"))))))))
+    (native-inputs (list s7-bootstrap))
+    (properties (alist-delete 'hidden? (package-properties s7-bootstrap)))))
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index c9bc5e8b68..827bcd597b 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -727,6 +727,112 @@ depend on language-specific pre- or post-processing.")
 unsupervised text tokenizer.")
     (license license:asl2.0)))
 
+(define-public python-spacy-legacy
+  (package
+    (name "python-spacy-legacy")
+    (version "3.0.12")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "spacy-legacy" version))
+              (sha256
+               (base32
+                "0x57aw1qgjrzgapsv1cwymqlck2anqm1bisvryhpq7bfkc66wzdk"))))
+    (build-system pyproject-build-system)
+    ;; This package depends on spacy, which depends on this package.
+    (arguments (list #:tests? #false))
+    (native-inputs (list python-pytest))
+    (home-page "https://spacy.io")
+    (synopsis "Legacy registered functions for spaCy backwards compatibility")
+    (description
+     "This package contains legacy registered functions for spaCy backwards
+compatibility.")
+    (license license:expat)))
+
+(define-public python-spacy-loggers
+  (package
+    (name "python-spacy-loggers")
+    (version "1.0.4")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "spacy-loggers" version))
+              (sha256
+               (base32
+                "0a5zjfxd0mci7pwda24ihg55whalpmjby4bvpgar2013f6zq7yg6"))))
+    (build-system pyproject-build-system)
+    ;; This package depends on spacy, which depends on this package.
+    (arguments (list #:tests? #false))
+    (native-inputs (list python-pytest))
+    (home-page "https://github.com/explosion/spacy-loggers")
+    (synopsis "Logging utilities for SpaCy")
+    (description "This package provides logging utilities for the SpaCy
+natural language processing framework.")
+    (license license:expat)))
+
+(define-public python-spacy
+  (package
+    (name "python-spacy")
+    (version "3.5.3")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "spacy" version))
+              (sha256
+               (base32
+                "13141hc966d8nxbnlwj01vhndgq0rq4nmii3qkb3hrap45kiv5rm"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags
+      '(list "-k"
+             (string-append
+              ;; We don't do that around here.
+              "not test_download_compatibility"
+              ;; This needs to download a model.
+              " and not test_validate_compatibility_table"
+              ;; This tries to run the application with typer, which fails
+              ;; with an unspecified error, possibly because the build
+              ;; container doesn't have /bin/sh.
+              " and not test_project_assets"))
+      #:phases
+      '(modify-phases %standard-phases
+         (add-after 'build 'build-ext
+           (lambda _
+             (invoke "python" "setup.py" "build_ext" "--inplace"
+                     "-j" (number->string (parallel-job-count))))))))
+    (propagated-inputs (list python-catalogue
+                             python-cymem
+                             python-jinja2
+                             python-langcodes
+                             python-murmurhash
+                             python-numpy
+                             python-packaging
+                             python-pathy
+                             python-preshed
+                             python-pydantic
+                             python-requests
+                             python-setuptools
+                             python-smart-open
+                             python-spacy-legacy
+                             python-spacy-loggers
+                             python-srsly
+                             python-thinc
+                             python-tqdm
+                             python-typer
+                             python-typing-extensions
+                             python-wasabi))
+    (native-inputs
+     (list python-cython python-pytest python-mock))
+    (home-page "https://spacy.io")
+    (synopsis "Natural Language Processing (NLP) in Python")
+    (description
+     "SpaCy is a library for advanced Natural Language Processing in Python
+and Cython.  It comes with pretrained pipelines and currently supports
+tokenization and training for 70+ languages. It features state-of-the-art
+speed and neural network models for tagging, parsing, named entity
+recognition, text classification and more, multi-task learning with pretrained
+transformers like BERT, as well as a production-ready training system and easy
+model packaging, deployment and workflow management.")
+    (license license:expat)))
+
 (define-public shogun
   (package
     (name "shogun")
@@ -1276,6 +1382,46 @@ computing environments.")
 data analysis.")
     (license license:bsd-3)))
 
+(define-public python-thinc
+  (package
+    (name "python-thinc")
+    (version "8.1.10")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "thinc" version))
+              (sha256
+               (base32
+                "14drmwa2sh8fqszv1fm2jl4lky1j5yrbkjv89bl49q07vbblhjkc"))))
+    (build-system pyproject-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'build 'build-ext
+           (lambda _
+             (invoke "python" "setup.py" "build_ext" "--inplace"
+                     "-j" (number->string (parallel-job-count))))))))
+    (propagated-inputs (list python-blis-for-thinc
+                             python-catalogue
+                             python-confection
+                             python-contextvars
+                             python-cymem
+                             python-dataclasses
+                             python-murmurhash
+                             python-numpy
+                             python-packaging
+                             python-preshed
+                             python-pydantic
+                             python-srsly
+                             python-typing-extensions
+                             python-wasabi))
+    (native-inputs (list python-cython python-mock python-pytest))
+    (home-page "https://github.com/explosion/thinc")
+    (synopsis "Functional take on deep learning")
+    (description
+     "This package provides a functional take on deep learning, compatible
+with your favorite libraries.")
+    (license license:expat)))
+
 (define-public python-threadpoolctl
   (package
     (name "python-threadpoolctl")
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 02e0da2ec8..ee6e19fcfe 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -188,6 +188,7 @@
   #:use-module (guix build-system meson)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system pyproject)
   #:use-module (guix build-system trivial)
   #:use-module (srfi srfi-1)
   #:use-module (ice-9 match))
@@ -4039,16 +4040,20 @@ servers.  The 4rev1 and 4 versions of IMAP are supported.")
 (define-public urlscan
   (package
     (name "urlscan")
-    (version "0.9.10")
+    (version "1.0.0")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "urlscan" version))
         (sha256
-         (base32 "1ir6dxifkd8hv048p65jyz4wyg6ll002fzvbmajpdnvs6mvkj1md"))))
-    (build-system python-build-system)
+         (base32 "0rxqdrss34rgnfmbn8ab976dchjbz72wp4ywqrdib119a5xnhqzh"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:tests? #f))        ; No tests.
     (propagated-inputs
      (list python-urwid))
+    (native-inputs
+     (list python-hatch-vcs python-hatchling))
     (home-page "https://github.com/firecat53/urlscan")
     (synopsis "View/select the URLs in an email message or file")
     (description
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 4e34124469..f89e70c0bb 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -96,6 +96,7 @@
   #:use-module (guix build-system meson)
   #:use-module (guix build-system ocaml)
   #:use-module (guix build-system perl)
+  #:use-module (guix build-system pyproject)
   #:use-module (guix build-system python)
   #:use-module (guix build-system ruby)
   #:use-module (gnu packages algebra)
@@ -1314,13 +1315,12 @@ computations.")
        #:phases
        (modify-phases %standard-phases
          ;; This is inspired by two of Debian's patches.
-         (add-before 'configure 'add-more-aarch64-support
+         (add-before 'configure 'add-more-architecture-support
            (lambda _
              (substitute* '("mfhdf/ncgen/ncgen.l"
                             "mfhdf/ncgen/ncgenyy.c"
                             "mfhdf/libsrc/netcdf.h.in")
-               (("AIX5L64") "__aarch64__"))
-             #t))
+               (("AIX5L64") "__aarch64__ || ( __riscv && __riscv_xlen == 64)"))))
          (add-before 'configure 'patchbuild
            (lambda _
              (substitute*
@@ -4682,90 +4682,85 @@ library.")
 (define-public blis
   (package
     (name "blis")
-    (version "0.8.1")
+    (version "0.9.0")
     (home-page "https://github.com/flame/blis")
     (source (origin
               (method git-fetch)
               (uri (git-reference (url home-page) (commit version)))
               (sha256
                (base32
-                "05ifil6jj9424sr8kmircl8k4bmxnl3y12a79vwj1kxxva5gz50g"))
+                "14v2awhxma6nzas42hq97702672f2njrskqhsv9kl23hvrvci8fm"))
               (file-name (git-file-name "blis" version))))
     (native-inputs
      (list python perl))
     (build-system gnu-build-system)
     (arguments
-     `(#:modules
-       ((guix build gnu-build-system)
+     (list
+      #:modules
+      '((guix build gnu-build-system)
         (guix build utils)
         (srfi srfi-1))
-        #:test-target "test"
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'configure
-           (lambda* (#:key outputs
-                           target
-                           system
-                           (configure-flags '())
-                           #:allow-other-keys)
-             ;; This is a home-made 'configure' script.
-             (let* ((out (assoc-ref outputs "out"))
-                     ;; Guix-specific support for choosing the configuration
+      #:test-target "test"
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'configure
+            (lambda* (#:key outputs target system (configure-flags '())
+                      #:allow-other-keys)
+              ;; This is a home-made 'configure' script.
+              (let* (;; Guix-specific support for choosing the configuration
                      ;; via #:configure-flags: see below for details.
-                    (config-flag-prefix "--blis-config=")
-                    (maybe-config-flag (find
-                                        (lambda (s)
-                                          (string-prefix? config-flag-prefix s))
-                                        configure-flags))
-                    (configure-flags (if maybe-config-flag
-                                         (delete maybe-config-flag
-                                                 configure-flags)
+                     (config-flag-prefix "--blis-config=")
+                     (maybe-config-flag (find
+                                         (lambda (s)
+                                           (string-prefix? config-flag-prefix s))
                                          configure-flags))
-                    ;; Select the "configuration" to build.
-                    ;; The "generic" configuration is non-optimized but
-                    ;; portable (no assembly).
-                    ;; The "x86_64" configuration family includes
-                    ;; sub-configurations for all supported
-                    ;; x86_64 microarchitectures.
-                    ;; BLIS currently lacks runtime hardware detection
-                    ;; for other architectures: see
-                    ;; <https://github.com/flame/blis/commit/c534da6>.
-                    ;; Conservatively, we stick to "generic" on armhf,
-                    ;; aarch64, and ppc64le for now. (But perhaps
-                    ;; "power9", "cortexa9", and "cortexa57" might be
-                    ;; general enough to use?)
-                    ;; Another approach would be to use the "auto"
-                    ;; configuration and make this package
-                    ;; non-substitutable.
-                    ;; The build is fairly intensive, though.
-                    (blis-config
-                     (cond
-                      (maybe-config-flag
-                       (substring maybe-config-flag
-                                  (string-length config-flag-prefix)))
-                      ((string-prefix? "x86_64" (or target system))
-                       "x86_64")
-                      (else
-                       "generic")))
-                    (configure-args
-                     `("-p" ,out
-                       "-d" "opt"
-                       "--disable-static"
-                       "--enable-shared"
-                       "--enable-threading=openmp"
-                       "--enable-verbose-make"
-                       ,@configure-flags
-                       ,blis-config)))
-               (format #t "configure args: ~s~%" configure-args)
-               (apply invoke
-                      "./configure"
-                      configure-args)
-               #t)))
-         (add-before 'check 'show-test-output
-           (lambda _
-             ;; By default "make check" is silent.  Make it verbose.
-             (system "tail -F output.testsuite &")
-             #t)))))
+                     (configure-flags (if maybe-config-flag
+                                          (delete maybe-config-flag
+                                                  configure-flags)
+                                          configure-flags))
+                     ;; Select the "configuration" to build.
+                     ;; The "generic" configuration is non-optimized but
+                     ;; portable (no assembly).
+                     ;; The "x86_64" configuration family includes
+                     ;; sub-configurations for all supported
+                     ;; x86_64 microarchitectures.
+                     ;; BLIS currently lacks runtime hardware detection
+                     ;; for other architectures: see
+                     ;; <https://github.com/flame/blis/commit/c534da6>.
+                     ;; Conservatively, we stick to "generic" on armhf,
+                     ;; aarch64, and ppc64le for now. (But perhaps
+                     ;; "power9", "cortexa9", and "cortexa57" might be
+                     ;; general enough to use?)
+                     ;; Another approach would be to use the "auto"
+                     ;; configuration and make this package
+                     ;; non-substitutable.
+                     ;; The build is fairly intensive, though.
+                     (blis-config
+                      (cond
+                       (maybe-config-flag
+                        (substring maybe-config-flag
+                                   (string-length config-flag-prefix)))
+                       ((string-prefix? "x86_64" (or target system))
+                        "x86_64")
+                       (else
+                        "generic")))
+                     (configure-args
+                      `("-p" ,#$output
+                        "-d" "opt"
+                        "--disable-static"
+                        "--enable-shared"
+                        "--enable-threading=openmp"
+                        "--enable-verbose-make"
+                        ,@configure-flags
+                        ,blis-config)))
+                (format #t "configure args: ~s~%" configure-args)
+                (apply invoke
+                       "./configure"
+                       configure-args))))
+          (add-before 'check 'show-test-output
+            (lambda _
+              ;; By default "make check" is silent.  Make it verbose.
+              (system "tail -F output.testsuite &"))))))
     (synopsis "High-performance basic linear algebra (BLAS) routines")
     (description
      "BLIS is a portable software framework for instantiating high-performance
@@ -4779,6 +4774,47 @@ access to BLIS implementations via traditional BLAS routine calls.")
 
 (define ignorance blis)
 
+;; It is unfortunate that we cannot just link with the existing blis package.
+(define-public python-blis
+  (package
+    (name "python-blis")
+    (version "0.9.1")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "blis" version))
+              (sha256
+               (base32
+                "0vrnzk9jx7fcl56q6zpa4w4mxkr4iknxs42fngn9g78zh1kc9skw"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:phases
+      '(modify-phases %standard-phases
+         (add-after 'build 'build-ext
+           (lambda _
+             (invoke "python" "setup.py" "build_ext" "--inplace"
+                     "-j" (number->string (parallel-job-count))))))))
+    (propagated-inputs (list python-numpy))
+    (native-inputs (list python-cython python-pytest))
+    (home-page "https://github.com/explosion/cython-blis")
+    (synopsis "Blis as a self-contained C-extension for Python")
+    (description
+     "This package provides the Blis BLAS-like linear algebra library, as a
+self-contained C-extension for Python.")
+    (license license:bsd-3)))
+
+(define-public python-blis-for-thinc
+  (package
+    (inherit python-blis)
+    (name "python-blis")
+    (version "0.7.8")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "blis" version))
+              (sha256
+               (base32
+                "0mvcif9g69424bk8xiflacxzpvz802ns791v2r8a6fij0sxl3mgp"))))))
+
 (define-public openlibm
   (package
     (name "openlibm")
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 46170ff31e..00897ea451 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -39,6 +39,7 @@
 ;;; Copyright © 2022 Giovanni Biscuolo <g@xelera.eu>
 ;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
+;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3085,7 +3086,13 @@ designed for experienced users.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0da1ki1v252avy27j6d7snnc0gyq0xa9fypm3qdmxhw2w79d6q36"))))
+         "0da1ki1v252avy27j6d7snnc0gyq0xa9fypm3qdmxhw2w79d6q36"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; TODO: This is fixed upstream in later versions
+           (substitute* "zulip/tests/test_default_arguments.py"
+             (("optional arguments:") "options:"))))))
     (build-system python-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index 5005da4e87..9884bc0487 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -118,7 +118,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
 (define-public mpd
   (package
     (name "mpd")
-    (version "0.23.12")
+    (version "0.23.13")
     (source (origin
               (method url-fetch)
               (uri
@@ -127,12 +127,13 @@ interfacing MPD in the C, C++ & Objective C languages.")
                               "/mpd-" version ".tar.xz"))
               (sha256
                (base32
-                "1rq2hyfvwwri3sivab747csza2i096y7m8563rl5mhpchhiadz5p"))))
+                "06fmy68lfrsi5y03l53dnwcynqhwh5f5vhdpbsr8lzmvzgk02sx9"))))
     (build-system meson-build-system)
     (arguments
      (list
       #:configure-flags #~(list "-Ddocumentation=enabled"
-                                "-Dsystemd=enabled")
+                                "-Dsystemd=enabled"
+                                "-Dtest=true")
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'enable-elogind
@@ -145,7 +146,15 @@ interfacing MPD in the C, C++ & Objective C languages.")
                 (("systemd_dep = declare_dependency" all)
                  (string-append "_" all)))
               (substitute* "meson.build"
-                (("systemd_dep,") "systemd_dep, _systemd_dep,")))))))
+                (("systemd_dep,") "systemd_dep, _systemd_dep,"))))
+          (add-after 'install 'split-package
+            (lambda _
+              ;; The HTML manual accounts for over 40% of the disk
+              ;; space used by the package.
+              (let* ((old (string-append #$output "/share/doc"))
+                     (new (string-append #$output:doc "/share/doc")))
+                (mkdir-p (dirname new))
+                (rename-file old new)))))))
     (inputs (append
              (if (target-linux?) (list liburing) '())
              (list ao
@@ -182,7 +191,13 @@ interfacing MPD in the C, C++ & Objective C languages.")
                    yajl
                    zlib
                    zziplib)))
-    (native-inputs (list cmake pkg-config python-sphinx))
+    (native-inputs (list pkg-config python-sphinx googletest
+                         ;; See test/meson.build for information about these
+                         ;; additional dependencies.
+                         ;;
+                         ;; Used when zziplib feature is enabled.
+                         zip))
+    (outputs (list "out" "doc"))
     ;; Missing optional inputs:
     ;;   libcdio_paranoia
     ;;   libmms
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 7e4a7d1169..b7369391db 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -3215,7 +3215,7 @@ capabilities, custom envelopes, effects, etc.")
 (define-public yoshimi
   (package
     (name "yoshimi")
-    (version "2.2.2.1")
+    (version "2.3.0")
     (source
      (origin
        (method url-fetch)
@@ -3223,7 +3223,7 @@ capabilities, custom envelopes, effects, etc.")
                            (version-major+minor version)
                            "/yoshimi-" version ".tar.bz2"))
        (sha256
-        (base32 "1axrbk1qwsiq77g5957db744481zb2v158psnk2w530wxhls2442"))))
+        (base32 "0rkwz545bipanyl8kcp6rgdqppiad7s0j409a4n8dd97maislsa0"))))
     (build-system cmake-build-system)
     (arguments
      (list
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 9dfc785f04..2055ed93c7 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -59,6 +59,7 @@
 ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
 ;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
 ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
+;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3097,7 +3098,10 @@ The filters can be aggregated and exported in the most common formats.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "07kwika1zdq62s5p5z94xznm77dxjxdg8k0hrg7wygz50151nzmx"))))
+        (base32 "07kwika1zdq62s5p5z94xznm77dxjxdg8k0hrg7wygz50151nzmx"))
+       (modules '((guix build utils)))
+       (snippet '(begin (substitute* '("Makefile")
+                          (("-march=native") ""))))))
     (build-system gnu-build-system)
     (arguments
      (list
@@ -3126,6 +3130,7 @@ The filters can be aggregated and exported in the most common formats.")
            libpcap
            openssl
            perl))
+    (properties '((tunable? . #t)))
     (home-page "https://github.com/vanhauser-thc/thc-ipv6")
     (synopsis "IPv6 security research toolkit")
     (description "The THC IPv6 Toolkit provides command-line tools and a library
diff --git a/gnu/packages/nim.scm b/gnu/packages/nim.scm
index 6da382119f..ebcff26c7b 100644
--- a/gnu/packages/nim.scm
+++ b/gnu/packages/nim.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
 ;;; Copyright © 2022 (unmatched parenthesis <paren@disroot.org>
 ;;; Copyright © 2022 Trevor Richards <trev@trevdev.ca>
+;;; Copyright © 2023 Gruruya <greytest@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -36,14 +37,14 @@
 (define-public nim
   (package
     (name "nim")
-    (version "1.6.6")
+    (version "1.6.12")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "https://nim-lang.org/download/"
                           name "-" version ".tar.xz"))
       (sha256
-       (base32 "0lm4450ig8k4l3rzxv6kcqji5l1lzicsw76ckwxm0q9qdz713cb7"))))
+       (base32 "1hjd9dxhqzn2ifr988li8q7v6kxpxlcqbdllfd6lsq3knw50pvxc"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f          ; TODO: Investigate tests failures.
@@ -55,6 +56,7 @@
                (let ((out (assoc-ref outputs "out")))
                  (substitute* "install.sh"
                   (("/usr/local") out)
+                  (("/lib/nim") "/lib")
                   (("/opt/nimble") (string-append out "/share/nimble"))
                   (("configdir=/etc/nim")
                    (string-append "configdir=" out "/etc/nim"))))))
@@ -102,7 +104,7 @@
                                 "lib/pure/osproc.nim"
                                 "lib/pure/strscans.nim")
                    (("/bin/sh") sh))
-                 (substitute* (find-files "c_code" "stdlib_osproc\\.nim\\.c")
+                 (substitute* (find-files "c_code" "@m\\.\\.@slib@spure@sosproc\\.nim\\.c")
                    (("\"/bin/sh\", 7") (format #f "~s, ~s" sh (string-length sh)))))))
            (replace 'build
              (lambda* (#:key (parallel-build? #t) #:allow-other-keys)
diff --git a/gnu/packages/notcurses.scm b/gnu/packages/notcurses.scm
index bb0086d4b3..20b2cbb225 100644
--- a/gnu/packages/notcurses.scm
+++ b/gnu/packages/notcurses.scm
@@ -1,5 +1,6 @@
 ;;; Copyright © 2021 Blake Shaw <blake@nonconstructivism.com>
 ;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -35,7 +36,7 @@
 (define-public notcurses
   (package
     (name "notcurses")
-    (version "3.0.8")
+    (version "3.0.9")
     (source
      (origin
        (method url-fetch)
@@ -48,7 +49,7 @@
                            "+dfsg.1.orig.tar.xz"))
        (file-name (string-append name "-" version ".tar.xz"))
        (sha256
-        (base32 "1nz32nqh7fn4i06hvl8ndkm0z4g08a6wzhilvv8ggx2hc5axsz89"))))
+        (base32 "1sj2m7sil2i3yw73z15947kypsp0rnapwpwanwzam15lbicc8c3y"))))
     (build-system cmake-build-system)
     (arguments
      `(#:make-flags
@@ -59,6 +60,10 @@
          "-DUSE_COVERAGE=off"
          ;; Do not build HTML documentation
          "-DUSE_DOXYGEN=off"
+         ;; Unfortunately this disables the manpages.
+         ,@(if (supported-package? pandoc)
+             '()
+             '("-DUSE_PANDOC=off"))
          ;; Don't include mouse support
          "-DUSE_GPM=off"
          ;; Use FFmpeg for multimedia support
@@ -66,9 +71,12 @@
          ;; Follow the Debian Free Software Guidelines, omitting nonfree content.
          "-DDFSG_BUILD=ON")))
     (native-inputs
-     (list pkg-config
-           pandoc
-           doctest))
+     (append
+       (list pkg-config)
+       (if (supported-package? pandoc)
+         (list pandoc)
+         '())
+       (list doctest)))
     (inputs
      (list ffmpeg
            libdeflate
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 3006631b66..9532fd7187 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013-2023 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2015, 2017, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2017, 2020, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
 ;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
@@ -120,6 +120,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system guile)
   #:use-module (guix build-system meson)
+  #:use-module (guix build-system pyproject)
   #:use-module (guix build-system python)
   #:use-module (guix build-system ruby)
   #:use-module (guix build-system trivial)
@@ -917,7 +918,34 @@ transactions from C or Python.")
        (sha256
         (base32
          "1vyk0g0gci4z9psisb8h50zi3j1nwfdg1jw3j76cxv0brln0v3fw"))))
-    (build-system python-build-system)
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags
+      ;; These tests require a network connection
+      '(append (map (lambda (file)
+                      (string-append "--ignore=binstar_client/" file))
+                    (list "tests/test_upload.py"
+                          "tests/test_authorizations.py"
+                          "tests/test_login.py"
+                          "tests/test_whoami.py"
+                          "utils/notebook/tests/test_data_uri.py"
+                          "utils/notebook/tests/test_base.py"
+                          "utils/notebook/tests/test_downloader.py"
+                          "inspect_package/tests/test_conda.py"))
+               ;; get_conda_root returns None
+               (list "-k"
+                     "not test_conda_root \
+and not test_conda_root_outside_root_environment"))
+      #:phases
+      '(modify-phases %standard-phases
+         (add-after 'unpack 'python3.10-compatibility
+           (lambda _
+             (substitute* "binstar_client/utils/config.py"
+               (("collections.Mapping") "collections.abc.Mapping"))))
+         ;; This is needed for some tests.
+         (add-before 'check 'set-HOME
+           (lambda _ (setenv "HOME" "/tmp"))))))
     (propagated-inputs
      (list python-clyent python-nbformat python-pyyaml python-requests))
     (native-inputs
@@ -926,27 +954,8 @@ transactions from C or Python.")
            python-freezegun
            python-mock
            python-pillow
+           python-pytest
            python-pytz))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         ;; This is needed for some tests.
-         (add-before 'check 'set-up-home
-           (lambda* _ (setenv "HOME" "/tmp") #t))
-         (add-before 'check 'remove-network-tests
-           (lambda* _
-             ;; Remove tests requiring a network connection
-             (let ((network-tests '("tests/test_upload.py"
-                                    "tests/test_authorizations.py"
-                                    "tests/test_login.py"
-                                    "tests/test_whoami.py"
-                                    "utils/notebook/tests/test_data_uri.py"
-                                    "utils/notebook/tests/test_base.py"
-                                    "utils/notebook/tests/test_downloader.py"
-                                    "inspect_package/tests/test_conda.py")))
-               (with-directory-excursion "binstar_client"
-                 (for-each delete-file network-tests)))
-             #t)))))
     (home-page "https://github.com/Anaconda-Platform/anaconda-client")
     (synopsis "Anaconda Cloud command line client library")
     (description
@@ -1384,8 +1393,8 @@ environments.")
                   "0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc")))))))
 
 (define-public guix-build-coordinator
-  (let ((commit "99981dc3270d79ae0b83f94386e26cc75a7162b3")
-        (revision "84"))
+  (let ((commit "c44d485bba42034804beb47afc23005c4e73ea96")
+        (revision "85"))
     (package
       (name "guix-build-coordinator")
       (version (git-version "0" revision commit))
@@ -1396,7 +1405,7 @@ environments.")
                       (commit commit)))
                 (sha256
                  (base32
-                  "047qqqhpcg5rrzgpp2qlijn6rhlm2ipqhqr1yj1lrnx12dld2kqk"))
+                  "1y69yrmmifdp55l5c5b8iiq0llwpggxmq6a4233cdll3bhfxaicl"))
                 (file-name (string-append name "-" version "-checkout"))))
       (build-system gnu-build-system)
       (arguments
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index f5f301308a..74e465d21e 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Steve Sprang <scs@stevesprang.com>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015-2023 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2015 Aljosha Papsch <misc@rpapsch.de>
 ;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org>
 ;;; Copyright © 2016 Jessica Tallon <tsyesika@tsyesika.se>
@@ -142,7 +142,7 @@ human.")
 (define-public keepassxc
   (package
     (name "keepassxc")
-    (version "2.7.4")
+    (version "2.7.5")
     (source
      (origin
        (method url-fetch)
@@ -150,7 +150,7 @@ human.")
                            "/releases/download/" version "/keepassxc-"
                            version "-src.tar.xz"))
        (sha256
-        (base32 "1knywp38byq0jq9vdyp1ykha9prh09k1y5srwwkr6f503nb5402n"))))
+        (base32 "03002fncllr658mgl5s6an5wnh0a333qnkxad6aw85hqj004iqpd"))))
     (build-system cmake-build-system)
     (arguments
      (list
diff --git a/gnu/packages/patches/agda-categories-remove-incompatible-flags.patch b/gnu/packages/patches/agda-categories-remove-incompatible-flags.patch
new file mode 100644
index 0000000000..dc33af7cf9
--- /dev/null
+++ b/gnu/packages/patches/agda-categories-remove-incompatible-flags.patch
@@ -0,0 +1,31 @@
+From 3d73d59617281c6ae9c19032eae381ff77fd2e65 Mon Sep 17 00:00:00 2001
+Message-Id: <3d73d59617281c6ae9c19032eae381ff77fd2e65.1682841188.git.dev@jpoiret.xyz>
+From: Josselin Poiret <dev@jpoiret.xyz>
+Date: Sun, 30 Apr 2023 09:51:12 +0200
+Subject: [PATCH] Remove stdlib-incompatible flags
+
+From: Josselin Poiret <dev@jpoiret.xyz>
+
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 68846579..ba5923a2 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,6 +1,6 @@
+ .PHONY: test Everything.agda clean
+ 
+-OTHEROPTS = --auto-inline -Werror
++OTHEROPTS =
+ 
+ RTSARGS = +RTS -M6G -A128M -RTS ${OTHEROPTS}
+ 
+
+base-commit: 20397e93a60ed1439ed57ee76ae377c66a5eb8d9
+prerequisite-patch-id: da10df58fa86d08b31174a01db7b9a02377aba55
+prerequisite-patch-id: 508dabd923ba9ac1ee4d8dab6697432b4bd8ba18
+-- 
+2.39.2
+
diff --git a/gnu/packages/patches/agda-categories-use-find.patch b/gnu/packages/patches/agda-categories-use-find.patch
new file mode 100644
index 0000000000..772352a0cb
--- /dev/null
+++ b/gnu/packages/patches/agda-categories-use-find.patch
@@ -0,0 +1,31 @@
+From 53922aedd81d5111d9007b41235aa12eaa2a863d Mon Sep 17 00:00:00 2001
+Message-Id: <53922aedd81d5111d9007b41235aa12eaa2a863d.1682840933.git.dev@jpoiret.xyz>
+From: Josselin Poiret <dev@jpoiret.xyz>
+Date: Sun, 30 Apr 2023 09:48:21 +0200
+Subject: [PATCH] Use find instead of git ls-tree in Makefile
+
+From: Josselin Poiret <dev@jpoiret.xyz>
+
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 158802d1..68846579 100644
+--- a/Makefile
++++ b/Makefile
+@@ -11,7 +11,7 @@ html: Everything.agda
+ 	agda ${RTSARGS} --html -i. Everything.agda
+ 
+ Everything.agda:
+-	git ls-tree --full-tree -r --name-only HEAD | grep '^src/[^\.]*.agda' | sed -e 's|^src/[/]*|import |' -e 's|/|.|g' -e 's/.agda//' -e '/import Everything/d' | LC_COLLATE='C' sort > Everything.agda
++	find src -iname '*.agda' | sed -e 's|^src/[/]*|import |' -e 's|/|.|g' -e 's/.agda//' -e '/import Everything/d' | LC_COLLATE='C' sort > Everything.agda
+ 
+ clean:
+ 	find . -name '*.agdai' -exec rm \{\} \;
+
+base-commit: 20397e93a60ed1439ed57ee76ae377c66a5eb8d9
+prerequisite-patch-id: da10df58fa86d08b31174a01db7b9a02377aba55
+-- 
+2.39.2
+
diff --git a/gnu/packages/patches/agda-libdirs-env-variable.patch b/gnu/packages/patches/agda-libdirs-env-variable.patch
new file mode 100644
index 0000000000..3b291358a6
--- /dev/null
+++ b/gnu/packages/patches/agda-libdirs-env-variable.patch
@@ -0,0 +1,49 @@
+From 457bc7438a4f0801dbf332fa2369248bddf5da0c Mon Sep 17 00:00:00 2001
+Message-Id: <457bc7438a4f0801dbf332fa2369248bddf5da0c.1678309546.git.dev@jpoiret.xyz>
+From: Josselin Poiret <dev@jpoiret.xyz>
+Date: Wed, 8 Mar 2023 18:31:52 +0100
+Subject: [PATCH] Add environment variable for library directories
+
+AGDA_LIBDIRS is a new environment colon-separated variable for site libraries.
+Agda will look for .agda-lib files directly inside direct descendants of these.
+---
+ src/full/Agda/Interaction/Library.hs | 16 ++++++++++++++--
+ 1 file changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/src/full/Agda/Interaction/Library.hs b/src/full/Agda/Interaction/Library.hs
+index 09c1f2a82..774cc3e74 100644
+--- a/src/full/Agda/Interaction/Library.hs
++++ b/src/full/Agda/Interaction/Library.hs
+@@ -323,13 +323,25 @@ getInstalledLibraries overrideLibFile = mkLibM [] $ do
+         raiseErrors' [ LibrariesFileNotFound theOverrideLibFile ]
+         return []
+       Right file -> do
+-        if not (lfExists file) then return [] else do
++        siteLibDirs <- liftIO $ fromMaybe [] . fmap splitAtColon . lookup "AGDA_LIBDIRS" <$> getEnvironment
++        siteLibs <- liftIO $ concat <$> mapM findSiteLibs siteLibDirs
++        if not (lfExists file) then parseLibFiles Nothing $ nubOn snd ((0,) <$> siteLibs) else do
+           ls    <- liftIO $ stripCommentLines <$> UTF8.readFile (lfPath file)
+           files <- liftIO $ sequence [ (i, ) <$> expandEnvironmentVariables s | (i, s) <- ls ]
+-          parseLibFiles (Just file) $ nubOn snd files
++          parseLibFiles (Just file) $ nubOn snd (files ++ fmap (0,) siteLibs)
+   `catchIO` \ e -> do
+     raiseErrors' [ ReadError e "Failed to read installed libraries." ]
+     return []
++  where splitAtColon :: String -> [String]
++        splitAtColon "" = []
++        splitAtColon str = case break (==':') str of
++          (a, _:b) -> a : splitAtColon b
++          (a, "")    -> [a]
++        findSiteLibs :: String -> IO [String]
++        findSiteLibs dir = do
++          subDirs <- filterM doesDirectoryExist =<< map (dir </>) <$> listDirectory dir
++          subFiles <- mapM (\dir -> map (dir </>) <$> listDirectory dir) subDirs
++          return $ concatMap (filter (List.isSuffixOf ".agda-lib")) subFiles
+ 
+ -- | Parse the given library files.
+ --
+
+base-commit: 183534bc41af5a53daf685122997dc98883f2be2
+-- 
+2.39.1
+
diff --git a/gnu/packages/patches/agda-stdlib-use-runhaskell.patch b/gnu/packages/patches/agda-stdlib-use-runhaskell.patch
new file mode 100644
index 0000000000..21ce16689f
--- /dev/null
+++ b/gnu/packages/patches/agda-stdlib-use-runhaskell.patch
@@ -0,0 +1,28 @@
+From 3dc3c0856906d25bb697a4480a8457a69637cd51 Mon Sep 17 00:00:00 2001
+Message-Id: <3dc3c0856906d25bb697a4480a8457a69637cd51.1682798848.git.dev@jpoiret.xyz>
+From: Josselin Poiret <dev@jpoiret.xyz>
+Date: Sat, 29 Apr 2023 22:06:55 +0200
+Subject: [PATCH] Makefile: use runhaskell instead of cabal
+
+From: Josselin Poiret <dev@jpoiret.xyz>
+
+---
+ GNUmakefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/GNUmakefile b/GNUmakefile
+index c5d886e03..f3cb2a1e7 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -21,7 +21,7 @@ Everything.agda:
+ # command `cabal install` is needed by cabal-install <= 2.4.*. I did
+ # not found any problem running both commands with different versions
+ # of cabal-install. See Issue #1001.
+-	cabal run GenerateEverything
++	runhaskell GenerateEverything
+ 
+ .PHONY: listings
+ listings: Everything.agda
+-- 
+2.39.2
+
diff --git a/gnu/packages/patches/d-feet-drop-unused-meson-argument.patch b/gnu/packages/patches/d-feet-drop-unused-meson-argument.patch
new file mode 100644
index 0000000000..5d728d7d60
--- /dev/null
+++ b/gnu/packages/patches/d-feet-drop-unused-meson-argument.patch
@@ -0,0 +1,36 @@
+From 05465d486afdba116dbc22fc22c1e6573aea4f22 Mon Sep 17 00:00:00 2001
+From: Jan Beich <jbeich@FreeBSD.org>
+Date: Mon, 24 Jan 2022 12:11:57 +0000
+Subject: [PATCH] meson: drop unused argument for i18n.merge_file()
+
+Ignored in Meson < 0.60.0, deprecated since 0.60.1 and fatal since 0.61.0.
+
+data/meson.build:15:0: ERROR: Function does not take positional arguments.
+data/meson.build:27:0: ERROR: Function does not take positional arguments.
+---
+ data/meson.build | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/data/meson.build b/data/meson.build
+index 026bd80..3b03b94 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -13,7 +13,6 @@ desktop_in = configure_file(
+ )
+ 
+ i18n.merge_file(
+-  desktop,
+   type: 'desktop',
+   input: desktop_in,
+   output: '@BASENAME@',
+@@ -25,7 +24,6 @@ i18n.merge_file(
+ appdata = df_namespace + '.appdata.xml'
+ 
+ i18n.merge_file(
+-  appdata,
+   input: appdata + '.in',
+   output: '@BASENAME@',
+   po_dir: po_dir,
+-- 
+GitLab
+
diff --git a/gnu/packages/patches/hdf4-architectures.patch b/gnu/packages/patches/hdf4-architectures.patch
index 5549f11277..aa71d5a383 100644
--- a/gnu/packages/patches/hdf4-architectures.patch
+++ b/gnu/packages/patches/hdf4-architectures.patch
@@ -21,7 +21,7 @@ Author: Francesco Paolo Lovergine <frankie@debian.org>
  #define     DFMT_PC             0x4441
  #define     DFMT_APPLE          0x1111
  #define     DFMT_APPLE_INTEL    0x4441
-@@ -75,6 +77,12 @@
+@@ -75,6 +77,13 @@
  #define     DFMT_IA64           0x4441
  #define     DFMT_LINUX64        0x4441
  #define     DFMT_POWERPC64      0x1111
@@ -29,12 +29,13 @@ Author: Francesco Paolo Lovergine <frankie@debian.org>
 +#define     DFMT_ARMV4L         0x4441
 +#define     DFMT_AARCH64        0x4441
 +#define     DFMT_X86_64         0x4441
-+#define     DFMT_SH		0x4441
-+#define     DFMT_SHEB		0x1111
++#define     DFMT_SH             0x4441
++#define     DFMT_SHEB           0x1111
++#define     DFMT_RISCV64        0x4441
  
  /* I/O library constants */
  #define UNIXUNBUFIO 1
-@@ -288,7 +296,7 @@ typedef int               hdf_pint_t;
+@@ -288,7 +297,7 @@ typedef int               hdf_pint_t;
  
  #endif /* IBM6000 */
  
@@ -43,7 +44,7 @@ Author: Francesco Paolo Lovergine <frankie@debian.org>
  
  #ifndef HP9000
  #define HP9000
-@@ -347,6 +355,10 @@ typedef int               hdf_pint_t;
+@@ -347,6 +356,10 @@ typedef int               hdf_pint_t;
  /*  what each does */
  #define JMEMSYS         MEM_ANSI
  
@@ -54,7 +55,7 @@ Author: Francesco Paolo Lovergine <frankie@debian.org>
  #endif /* HP9000 */
  
  
-@@ -666,6 +678,410 @@ typedef int               hdf_pint_t;
+@@ -670,6 +683,462 @@ typedef int               hdf_pint_t;
  #endif /* !(defined(__APPLE__)) */
  
  /*-----------------------------------------------------*/
@@ -462,10 +463,62 @@ Author: Francesco Paolo Lovergine <frankie@debian.org>
 +
 +#endif /* Linux/aarch64 */
 +
++#if defined (__linux__) && defined (__riscv) && (__riscv_xlen == 64)
++
++#ifdef GOT_MACHINE
++If you get an error on this line more than one machine type has been defined.
++Please check your Makefile.
++#endif
++#define GOT_MACHINE 1
++
++#include <fcntl.h>
++#include <sys/types.h>      /* for unbuffered file I/O */
++#include <sys/stat.h>
++#include <unistd.h>
++#include <ctype.h>          /* for character macros */
++
++#define DF_MT             DFMT_RISCV64
++
++typedef void              VOID;
++typedef void *            VOIDP;
++typedef char *            _fcd;
++typedef char              char8;
++typedef unsigned char     uchar8;
++typedef signed char       int8;
++typedef unsigned char     uint8;
++typedef short int         int16;
++typedef unsigned short int uint16;
++typedef int               int32;
++typedef unsigned int      uint32;
++typedef int               intn;
++typedef unsigned int      uintn;
++typedef float             float32;
++typedef double            float64;
++typedef int               intf;     /* size of INTEGERs in Fortran compiler */
++typedef long              hdf_pint_t;   /* an integer the same size as a pointer */
++#define FNAME_POST_UNDERSCORE
++#define _fcdtocp(desc) (desc)
++#define FILELIB UNIXBUFIO
++
++#ifndef BIG_LONGS
++#define BIG_LONGS
++#endif
++
++/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
++
++/* Determine the memory manager we are going to use. Valid values are: */
++/*  MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS.  See the JPEG docs for details on */
++/*  what each does */
++#define JMEMSYS         MEM_ANSI
++#define HAVE_STDC
++#define INCLUDES_ARE_ANSI
++
++#endif /* Linux/riscv64 */
++
  #if defined(NEXT) || defined(NeXT)
  
  #ifndef NEXT
-@@ -928,7 +1344,11 @@ Please check your Makefile.
+@@ -932,7 +1401,11 @@ Please check your Makefile.
  
  #include <sys/file.h>               /* for unbuffered i/o stuff */
  #include <sys/stat.h>
@@ -478,7 +531,7 @@ Author: Francesco Paolo Lovergine <frankie@debian.org>
  typedef void              VOID;
  typedef void              *VOIDP;
  typedef char              *_fcd;
-@@ -952,6 +1372,11 @@ typedef long              hdf_pint_t;
+@@ -956,6 +1429,11 @@ typedef long              hdf_pint_t;
  #define _fcdtocp(desc) (desc)
  #define FILELIB UNIXBUFIO
  
@@ -490,7 +543,7 @@ Author: Francesco Paolo Lovergine <frankie@debian.org>
  /* JPEG #define's - Look in the JPEG docs before changing - (Q) */
  
  /* Determine the memory manager we are going to use. Valid values are: */
-@@ -1097,6 +1522,8 @@ typedef long              hdf_pint_t;
+@@ -1101,6 +1579,8 @@ typedef long              hdf_pint_t;
  #define _fcdtocp(desc) (desc)
  #define FILELIB UNIXBUFIO
  
@@ -499,7 +552,7 @@ Author: Francesco Paolo Lovergine <frankie@debian.org>
  /* JPEG #define's - Look in the JPEG docs before changing - (Q) */
  
  /* Determine the memory manager we are going to use. Valid values are: */
-@@ -1111,6 +1538,66 @@ typedef long              hdf_pint_t;
+@@ -1115,6 +1595,66 @@ typedef long              hdf_pint_t;
  
  #endif /* IA64 */
  
@@ -573,7 +626,7 @@ Author: Francesco Paolo Lovergine <frankie@debian.org>
  /*****************************************************************************/
  /* Generally Big-Endian machines */
 -#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__)
-+#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) && !(defined(__powerpc__) && defined(__LITTLE_ENDIAN__)) && !defined(__aarch64__) && !defined(__ARM_EABI__)
++#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) && !(defined(__powerpc__) && defined(__LITTLE_ENDIAN__)) && !defined(__aarch64__) && !defined(__ARM_EABI__) && !defined(__riscv)
  #       define UI8_IN     DFKnb1b   /* Unsigned Integer, 8 bits */
  #       define UI8_OUT    DFKnb1b
  #       define SI16_IN    DFKnb2b   /* S = Signed */
diff --git a/gnu/packages/patches/proj-7-initialize-memory.patch b/gnu/packages/patches/proj-7-initialize-memory.patch
new file mode 100644
index 0000000000..81481f9a46
--- /dev/null
+++ b/gnu/packages/patches/proj-7-initialize-memory.patch
@@ -0,0 +1,98 @@
+From 6f1a3c4648bf06862dca0b3725cbb3b7ee0284e3 Mon Sep 17 00:00:00 2001
+From: Even Rouault <even.rouault@spatialys.com>
+Date: Sat, 6 Mar 2021 22:12:27 +0100
+Subject: [PATCH] =?UTF-8?q?gie=5Fself=5Ftests:=20fix=20use=20of=20uninitia?=
+ =?UTF-8?q?lized=20memory=20(fixes=C2=A0#2557)?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+---
+ test/unit/gie_self_tests.cpp | 39 ++++++++++++++++++++++--------------
+ 1 file changed, 24 insertions(+), 15 deletions(-)
+
+diff --git a/test/unit/gie_self_tests.cpp b/test/unit/gie_self_tests.cpp
+index 4244766ebf..92f1c758dc 100644
+--- a/test/unit/gie_self_tests.cpp
++++ b/test/unit/gie_self_tests.cpp
+@@ -268,8 +268,10 @@ TEST_F(gieTest, proj_create_crs_to_crs) {
+     ASSERT_TRUE(P != nullptr);
+     PJ_COORD a, b;
+ 
+-    a.xy.x = 700000.0;
+-    a.xy.y = 6000000.0;
++    a.xyzt.x = 700000.0;
++    a.xyzt.y = 6000000.0;
++    a.xyzt.z = 0;
++    a.xyzt.t = HUGE_VAL;
+     b.xy.x = 307788.8761171057;
+     b.xy.y = 5999669.3036037628;
+ 
+@@ -306,8 +308,10 @@ TEST_F(gieTest, proj_create_crs_to_crs_EPSG_4326) {
+     PJ_COORD a, b;
+ 
+     // Lat, long degrees
+-    a.xy.x = 0.0;
+-    a.xy.y = 3.0;
++    a.xyzt.x = 0.0;
++    a.xyzt.y = 3.0;
++    a.xyzt.z = 0;
++    a.xyzt.t = HUGE_VAL;
+ 
+     b.xy.x = 500000.0;
+     b.xy.y = 0.0;
+@@ -328,8 +332,10 @@ TEST_F(gieTest, proj_create_crs_to_crs_proj_longlat) {
+     PJ_COORD a, b;
+ 
+     // Long, lat degrees
+-    a.xy.x = 3.0;
+-    a.xy.y = 0;
++    a.xyzt.x = 3.0;
++    a.xyzt.y = 0;
++    a.xyzt.z = 0;
++    a.xyzt.t = HUGE_VAL;
+ 
+     b.xy.x = 500000.0;
+     b.xy.y = 0.0;
+@@ -718,9 +724,10 @@ TEST(gie, proj_create_crs_to_crs_PULKOVO42_ETRS89) {
+     proj_destroy(target_crs);
+ 
+     // Romania
+-    c.xyz.x = 45; // Lat
+-    c.xyz.y = 25; // Long
+-    c.xyz.z = 0;
++    c.xyzt.x = 45; // Lat
++    c.xyzt.y = 25; // Long
++    c.xyzt.z = 0;
++    c.xyzt.t = HUGE_VAL;
+     c = proj_trans(P, PJ_FWD, c);
+     EXPECT_NEAR(c.xy.x, 44.999701238, 1e-9);
+     EXPECT_NEAR(c.xy.y, 24.998474948, 1e-9);
+@@ -740,9 +747,10 @@ TEST(gie, proj_create_crs_to_crs_PULKOVO42_ETRS89) {
+     EXPECT_NEAR(c.xy.x, 45, 1e-8);
+     EXPECT_NEAR(c.xy.y, 25, 1e-8);
+ 
+-    c.xyz.x = 45; // Lat
+-    c.xyz.y = 25; // Long
+-    c.xyz.z = 0;
++    c.xyzt.x = 45; // Lat
++    c.xyzt.y = 25; // Long
++    c.xyzt.z = 0;
++    c.xyzt.t = HUGE_VAL;
+     proj_trans_generic(P, PJ_FWD, &(c.xyz.x), sizeof(double), 1, &(c.xyz.y),
+                        sizeof(double), 1, &(c.xyz.z), sizeof(double), 1,
+                        nullptr, 0, 0);
+@@ -783,9 +791,10 @@ TEST(gie, proj_create_crs_to_crs_outside_area_of_use) {
+     EXPECT_EQ(P->fwd, nullptr);
+ 
+     // Test point outside area of use of both candidate coordinate operations
+-    c.xyz.x = 58; // Lat in deg
+-    c.xyz.y = 5;  // Long in deg
+-    c.xyz.z = 0;
++    c.xyzt.x = 58; // Lat in deg
++    c.xyzt.y = 5;  // Long in deg
++    c.xyzt.z = 0;
++    c.xyzt.t = HUGE_VAL;
+     c = proj_trans(P, PJ_FWD, c);
+     EXPECT_NEAR(c.xy.x, 64.44444444444444, 1e-9); // Lat in grad
+     EXPECT_NEAR(c.xy.y, 2.958634259259258, 1e-9); // Long in grad
diff --git a/gnu/packages/patches/proot-add-clone3.patch b/gnu/packages/patches/proot-add-clone3.patch
new file mode 100644
index 0000000000..c09d99a743
--- /dev/null
+++ b/gnu/packages/patches/proot-add-clone3.patch
@@ -0,0 +1,114 @@
+From 4699a580ca1aeecd35742494eb0259ee962e89a8 Mon Sep 17 00:00:00 2001
+Message-Id: <4699a580ca1aeecd35742494eb0259ee962e89a8.1685735399.git.dev@jpoiret.xyz>
+From: Josselin Poiret <dev@jpoiret.xyz>
+Date: Fri, 2 Jun 2023 21:42:31 +0200
+Subject: [PATCH] Add clone3.
+
+From: Josselin Poiret <dev@jpoiret.xyz>
+
+---
+ src/syscall/sysnums-arm.h    | 1 +
+ src/syscall/sysnums-arm64.h  | 1 +
+ src/syscall/sysnums-i386.h   | 1 +
+ src/syscall/sysnums-sh4.h    | 1 +
+ src/syscall/sysnums-x32.h    | 1 +
+ src/syscall/sysnums-x86_64.h | 1 +
+ src/syscall/sysnums.list     | 1 +
+ src/tracee/tracee.c          | 4 ++++
+ 8 files changed, 11 insertions(+)
+
+diff --git a/src/syscall/sysnums-arm.h b/src/syscall/sysnums-arm.h
+index dfd512f..306e2b1 100644
+--- a/src/syscall/sysnums-arm.h
++++ b/src/syscall/sysnums-arm.h
+@@ -341,4 +341,5 @@ static const Sysnum sysnums_arm[] = {
+ 	[ 382 ] = PR_renameat2,
+ 	[ 397 ] = PR_statx,
+ 	[ 412 ] = PR_utimensat_time64,
++        [ 435 ] = PR_clone3,
+ };
+diff --git a/src/syscall/sysnums-arm64.h b/src/syscall/sysnums-arm64.h
+index dfb9889..65ccc4e 100644
+--- a/src/syscall/sysnums-arm64.h
++++ b/src/syscall/sysnums-arm64.h
+@@ -264,4 +264,5 @@ static const Sysnum sysnums_arm64[] = {
+ 	[ 275 ] = PR_sched_getattr,
+ 	[ 276 ] = PR_renameat2,
+ 	[ 291 ] = PR_statx,
++        [ 435 ] = PR_clone3,
+ };
+diff --git a/src/syscall/sysnums-i386.h b/src/syscall/sysnums-i386.h
+index 3bbb70e..0f3daf2 100644
+--- a/src/syscall/sysnums-i386.h
++++ b/src/syscall/sysnums-i386.h
+@@ -353,4 +353,5 @@ static const Sysnum sysnums_i386[] = {
+ 	[ 353 ] = PR_renameat2,
+ 	[ 383 ] = PR_statx,
+ 	[ 412 ] = PR_utimensat_time64,
++        [ 435 ] = PR_clone3,
+ };
+diff --git a/src/syscall/sysnums-sh4.h b/src/syscall/sysnums-sh4.h
+index 1d3758c..09acca6 100644
+--- a/src/syscall/sysnums-sh4.h
++++ b/src/syscall/sysnums-sh4.h
+@@ -344,4 +344,5 @@ static const Sysnum sysnums_sh4[] = {
+ 	[ 369 ] = PR_sched_setattr,
+ 	[ 370 ] = PR_sched_getattr,
+ 	[ 371 ] = PR_renameat2,
++        [ 435 ] = PR_clone3,
+ };
+diff --git a/src/syscall/sysnums-x32.h b/src/syscall/sysnums-x32.h
+index 448c699..a9fdb48 100644
+--- a/src/syscall/sysnums-x32.h
++++ b/src/syscall/sysnums-x32.h
+@@ -277,6 +277,7 @@ static const Sysnum sysnums_x32[] = {
+ 	[ 315 ] = PR_sched_getattr,
+ 	[ 316 ] = PR_renameat2,
+ 	[ 332 ] = PR_statx,
++        [ 435 ] = PR_clone3,
+ 	[ 439 ] = PR_faccessat2,
+ 	[ 512 ] = PR_rt_sigaction,
+ 	[ 513 ] = PR_rt_sigreturn,
+diff --git a/src/syscall/sysnums-x86_64.h b/src/syscall/sysnums-x86_64.h
+index 92229f8..9840b4a 100644
+--- a/src/syscall/sysnums-x86_64.h
++++ b/src/syscall/sysnums-x86_64.h
+@@ -319,5 +319,6 @@ static const Sysnum sysnums_x86_64[] = {
+ 	[ 315 ] = PR_sched_getattr,
+ 	[ 316 ] = PR_renameat2,
+ 	[ 332 ] = PR_statx,
++        [ 435 ] = PR_clone3,
+ 	[ 439 ] = PR_faccessat2,
+ };
+diff --git a/src/syscall/sysnums.list b/src/syscall/sysnums.list
+index 1d6e666..2b6c9b2 100644
+--- a/src/syscall/sysnums.list
++++ b/src/syscall/sysnums.list
+@@ -38,6 +38,7 @@ SYSNUM(clock_gettime)
+ SYSNUM(clock_nanosleep)
+ SYSNUM(clock_settime)
+ SYSNUM(clone)
++SYSNUM(clone3)
+ SYSNUM(close)
+ SYSNUM(connect)
+ SYSNUM(creat)
+diff --git a/src/tracee/tracee.c b/src/tracee/tracee.c
+index 58ab7df..9b16f6a 100644
+--- a/src/tracee/tracee.c
++++ b/src/tracee/tracee.c
+@@ -403,6 +403,10 @@ int new_child(Tracee *parent, word_t clone_flags)
+ 	status = fetch_regs(parent);
+ 	if (status >= 0 && get_sysnum(parent, CURRENT) == PR_clone)
+ 		clone_flags = peek_reg(parent, CURRENT, SYSARG_1);
++        else if (status >= 0 && get_sysnum(parent, CURRENT) == PR_clone3)
++                // Look at the first word of the clone_args structure, which
++                // contains the usual clone flags.
++                clone_flags = peek_word(parent, peek_reg(parent, CURRENT, SYSARG_1));
+ 
+ 	/* Get the pid of the parent's new child.  */
+ 	status = ptrace(PTRACE_GETEVENTMSG, parent->pid, NULL, &pid);
+
+base-commit: bd5a5f63d72f8210d8cee76195eb9f0749e5bd70
+-- 
+2.40.1
+
diff --git a/gnu/packages/patches/sbcl-riscv-Make-contribs-build-again.patch b/gnu/packages/patches/sbcl-riscv-Make-contribs-build-again.patch
new file mode 100644
index 0000000000..85b96e1b20
--- /dev/null
+++ b/gnu/packages/patches/sbcl-riscv-Make-contribs-build-again.patch
@@ -0,0 +1,71 @@
+From 8704f528f227f587d0e06dfd2f807aeca7a69a71 Mon Sep 17 00:00:00 2001
+From: Charles Zhang <charleszhang99@yahoo.com>
+Date: Thu, 1 Jun 2023 16:39:26 +0200
+Subject: [PATCH] riscv: Make contribs build again.
+
+The issue was that the LINKAGE_TEMP_REG being NL3 was a C argument
+register, so of course that caused clashing on C call-out, causing
+problems with run-program. Going back to NL7 didn't work either
+because it wasn't getting saved before entry into the trampoline. The
+code here used to have NL7 before the trampoline code was gutted and
+then restored, so I'm wondering how this ever worked before, because
+it definitely did. Pick LIP as the TEMP_REG now because not only does
+it get saved, it's also the least likely thing to get disturbed by
+clobbering.
+
+Fixes #lp2002930.
+
+Also remove assembly routine printing because it doesn't need to be
+part of the build script (unlike the other files in output/ which
+can't trivially be recovered from a built image), and because not all
+disassembler printers have been written on riscv yet.
+---
+ NEWS                     | 3 +++
+ make-target-2-load.lisp  | 4 ----
+ src/runtime/riscv-arch.c | 2 +-
+ 3 files changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/NEWS b/NEWS
+index 17537ff92..5c0f7777b 100644
+--- a/NEWS
++++ b/NEWS
+@@ -1,5 +1,8 @@
+ ;;;; -*- coding: utf-8; fill-column: 78 -*-
+ 
++changes relative to sbcl-2.3.5:
++  * bug fix: riscv can build contribs again.
++
+ changes in sbcl-2.3.5 relative to sbcl-2.3.4:
+   * enhancement: Unicode support has been updated to support version 15.0.0 of
+     the Unicode standard, including addition of characters and their collation
+diff --git a/make-target-2-load.lisp b/make-target-2-load.lisp
+index 885ebda74..b9a1a1e36 100644
+--- a/make-target-2-load.lisp
++++ b/make-target-2-load.lisp
+@@ -6,10 +6,6 @@
+ (defvar *compile-files-p* nil)
+ (load (merge-pathnames "src/cold/warm.lisp" *load-pathname*))
+ 
+-(with-open-file (stream "output/asm-routines.txt" :direction :output
+-                        :if-does-not-exist :create :if-exists :supersede)
+-  (sb-c:dis sb-fasl:*assembler-routines* stream))
+-
+ ;; sb-xref-for-internals is actively harmful to tree-shaking.
+ ;; Remove some symbols to make the hide-packages test pass.
+ #+sb-xref-for-internals
+diff --git a/src/runtime/riscv-arch.c b/src/runtime/riscv-arch.c
+index 6c1994829..062623899 100644
+--- a/src/runtime/riscv-arch.c
++++ b/src/runtime/riscv-arch.c
+@@ -159,7 +159,7 @@ arch_install_interrupt_handlers(void)
+  * Linkage entry size is 8 or 20, because we need 2 instructions for the 32-bit case and we need 3 instructions and an 8 byte address in the 64-bit case.
+  */
+ 
+-#define LINKAGE_TEMP_REG reg_NL3
++#define LINKAGE_TEMP_REG reg_LIP // Lisp needs to save before entry.
+ 
+ void arch_write_linkage_table_entry(int index, void *target_addr, int datap)
+ {
+-- 
+2.40.1
+
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index ec4e4620f8..1f3cc4ba46 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -824,14 +824,14 @@ and based on PDF specification 1.7.")
 (define-public mupdf
   (package
     (name "mupdf")
-    (version "1.22.0")
+    (version "1.22.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://mupdf.com/downloads/archive/"
                            "mupdf-" version "-source.tar.lz"))
        (sha256
-        (base32 "0ghwam1c1izks1n2zq2pr8z67nvrx4njk5rla86b75l4pw58mmxy"))
+        (base32 "1px73qnazjvmbwf1fab8ad8j1dmiddg1mjb7zg7h9i1vp4bh7c1k"))
        (modules '((guix build utils)
                   (ice-9 ftw)
                   (srfi srfi-1)))
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 50a586d773..98abf038a5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -156,12 +156,14 @@
 (define-module (gnu packages python-xyz)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
-  #:use-module (gnu packages algebra)
   #:use-module (gnu packages adns)
   #:use-module (gnu packages aidc)
+  #:use-module (gnu packages algebra)
   #:use-module (gnu packages attr)
   #:use-module (gnu packages backup)
+  #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
+  #:use-module (gnu packages bdw-gc)
   #:use-module (gnu packages check)
   #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
@@ -177,28 +179,28 @@
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages enchant)
   #:use-module (gnu packages file)
-  #:use-module (gnu packages fontutils)
   #:use-module (gnu packages fonts)
+  #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
-  #:use-module (gnu packages gdb)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages gdb)
   #:use-module (gnu packages geo)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
-  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages graphics)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gsasl)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages haskell-xyz)
   #:use-module (gnu packages icu4c)
-  #:use-module (gnu packages inkscape)
   #:use-module (gnu packages image)
   #:use-module (gnu packages image-processing)
   #:use-module (gnu packages imagemagick)
+  #:use-module (gnu packages inkscape)
   #:use-module (gnu packages java)
   #:use-module (gnu packages jupyter)
   #:use-module (gnu packages kerberos)
@@ -214,10 +216,10 @@
   #:use-module (gnu packages maths)
   #:use-module (gnu packages monitoring)
   #:use-module (gnu packages multiprecision)
-  #:use-module (gnu packages networking)
   #:use-module (gnu packages ncurses)
-  #:use-module (gnu packages node)
+  #:use-module (gnu packages networking)
   #:use-module (gnu packages ninja)
+  #:use-module (gnu packages node)
   #:use-module (gnu packages openstack)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages pdf)
@@ -236,14 +238,15 @@
   #:use-module (gnu packages rdf)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages regex)
-  #:use-module (gnu packages sdl)
   #:use-module (gnu packages scanner)
+  #:use-module (gnu packages sdl)
   #:use-module (gnu packages search)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages shells)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages swig)
+  #:use-module (gnu packages tcl)
   #:use-module (gnu packages terminals)
   #:use-module (gnu packages tex)
   #:use-module (gnu packages texinfo)
@@ -254,24 +257,20 @@
   #:use-module (gnu packages video)
   #:use-module (gnu packages web)
   #:use-module (gnu packages wxwidgets)
-  #:use-module (gnu packages base)
   #:use-module (gnu packages xml)
-  #:use-module (gnu packages xorg)
   #:use-module (gnu packages xdisorg)
-  #:use-module (gnu packages tcl)
-  #:use-module (gnu packages bdw-gc)
-  #:use-module (gnu packages serialization)
+  #:use-module (gnu packages xorg)
   #:use-module (guix packages)
-  #:use-module (guix download)
-  #:use-module (guix git-download)
-  #:use-module (guix hg-download)
-  #:use-module (guix gexp)
-  #:use-module (guix utils)
-  #:use-module (guix build-system gnu)
   #:use-module (guix build-system cargo)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system gnu)
   #:use-module (guix build-system pyproject)
   #:use-module (guix build-system python)
+  #:use-module (guix download)
+  #:use-module (guix hg-download)
+  #:use-module (guix git-download)
+  #:use-module (guix gexp)
+  #:use-module (guix utils)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26))
 
@@ -1342,15 +1341,10 @@ threads.")
               (sha256
                (base32
                 "0bwkvjpjfyi9dgszzad9aww2vc00w3bczjnbifi92cp7wch2l923"))))
-    (build-system python-build-system)
+    (build-system pyproject-build-system)
     (native-inputs
-     (list python-setuptools-scm python-tornado python-typeguard
+     (list python-setuptools-scm python-tornado-6 python-typeguard
            python-pytest))
-    (arguments
-     (list #:phases
-           #~(modify-phases %standard-phases
-               (replace 'check
-                 (lambda _ (invoke "pytest" "-vv"))))))
     (home-page "https://github.com/jd/tenacity")
     (synopsis "Retrying library for python")
     (description "Tenacity is a general-purpose python library to simplify the
@@ -2693,48 +2687,32 @@ class.")
 (define-public python-can
   (package
     (name "python-can")
-    (version "4.0.0")
+    (version "4.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "python-can" version))
        (sha256
         (base32
-         "0pcbdgdw94lc2sxd56w6wdsshrs9dd5d3wp0x4sfd0drzx32inar"))))
-    (build-system python-build-system)
+         "1w5sdzxivpd3pw4pypwnjlksvfimdb93qnlddbrh5f13flhsgg8g"))))
+    (build-system pyproject-build-system)
     (arguments
-     `(#:phases (modify-phases %standard-phases
-                  (add-after 'unpack 'relax-version-requirements
-                    (lambda _
-                      (substitute* "setup.py"
-                        (("mock~=2\\.0") "mock")
-                        (("coverage<5") "coverage")
-                        (("pytest~=4\\.6") "pytest")
-                        (("pytest-timeout~=1\\.3") "pytest-timeout")
-                        (("pytest-cov.*") "pytest-cov\n")
-                        (("hypothesis~=4\\.56") "hypothesis"))))
-                  (add-after 'unpack 'fix-broken-tests
-                    ;; The tests try to run two scripts it expects should be
-                    ;; in PATH, but they aren't at this time (see:
-                    ;; https://github.com/hardbyte/python-can/issues/805).
-                    (lambda _
-                      (substitute* "test/test_scripts.py"
-                        (("\"can_logger\\.py --help\"") "")
-                        (("\"can_player\\.py --help\"") ""))))
-                  (replace 'check
-                    (lambda* (#:key tests? #:allow-other-keys)
-                      (when tests?
-                        (invoke "pytest" "-vv" "test"
-                                ;; Disable tests which require specific CAN
-                                ;; drivers we have no package for in Guix.
-                                "--ignore" "test/test_interface_canalystii.py"
-                                ;; These tests fail with "OSError: [Errno 19]
-                                ;; No such device".
-                                "-k" "not BasicTestUdpMulticastBusIPv")))))))
+     (list
+      #:test-flags
+      #~(list
+         ;; TODO: Check if it could be packed:
+         ;; https://github.com/projectgus/python-canalystii
+         ;;
+         ;; Disable tests which require specific CAN drivers we have no
+         ;; package for in Guix.
+         "--ignore" "test/test_interface_canalystii.py"
+         ;; These tests fail with "OSError: [Errno 19] No such device".
+         "-k" "not BasicTestUdpMulticastBusIPv")))
     (propagated-inputs
      (list python-msgpack python-typing-extensions python-wrapt))
     (native-inputs
-     (list python-codecov
+     (list ;; python-canalystii ; Not packed yet
+           python-codecov
            python-coverage
            python-future
            python-hypothesis
@@ -4419,6 +4397,58 @@ with sensible defaults out of the box.")
 clickgen is using @code{anicursorgen} and @code{xcursorgen} under the hood.")
     (license license:expat)))
 
+(define-public python-clickhouse-connect
+  (package
+    (name "python-clickhouse-connect")
+    (version "0.6.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/ClickHouse/clickhouse-connect")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1s0lk7xdq8f351cmpbp6jidqi5zdazrdba7w7fxph0w8sd74amry"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags
+      ;; All these tests require docker-compose
+      '(list "--ignore-glob=tests/integration_tests/*")
+      #:phases
+      '(modify-phases %standard-phases
+         (add-after 'unpack 'patch-pyproject
+           (lambda _
+             ;; Our version of pytest is confused by this field.
+             (substitute* "pyproject.toml"
+               (("^env_files.*") ""))))
+         (add-before 'check 'build-extensions
+           (lambda _
+             ;; Cython extensions have to be built before running the tests.
+             (invoke "python" "setup.py" "build_ext" "--inplace"))))))
+    (propagated-inputs
+     (list python-arrow
+           python-certifi
+           python-lz4
+           python-numpy
+           python-orjson
+           python-pandas
+           python-pytz
+           python-sqlalchemy
+           python-urllib3
+           python-zstandard))
+    (native-inputs
+     (list python-cython
+           python-pytest))
+    (home-page "https://github.com/ClickHouse/clickhouse-connect")
+    (synopsis
+     "ClickHouse database core driver for Python, Pandas, and Superset")
+    (description
+     "This package provides a high performance core database driver for
+connecting ClickHouse to Python, Pandas, and Superset.")
+    (license license:asl2.0)))
+
 (define-public python-cligj
   (package
     (name "python-cligj")
@@ -9411,6 +9441,28 @@ all the newest features of the standard @code{pathlib} can be used also on
 older Python versions.")
     (license license:expat)))
 
+(define-public python-pathy
+  (package
+    (name "python-pathy")
+    (version "0.10.1")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "pathy" version))
+              (sha256
+               (base32
+                "12v196q3rai33cfzrmb9pqfqv7ailngssjdrzdf8gzym9hdygmjc"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs
+     (list python-dataclasses python-smart-open python-typer))
+    (native-inputs (list python-mock python-pytest))
+    (home-page "https://github.com/justindujardin/pathy")
+    (synopsis "Path interface for local and cloud bucket storage")
+    (description "Pathy is a python package (with type annotations) for
+working with Cloud Bucket storage providers using a @code{pathlib} interface.
+It provides @code{pathlib.Path} subclasses for local and cloud bucket
+storage.")
+    (license license:asl2.0)))
+
 (define-public python-importlib-resources
   (package
     (name "python-importlib-resources")
@@ -10305,6 +10357,36 @@ you're careful.  The @code{backcall} package provides a way of specifying the
 callback signature using a prototype function.")
     (license license:bsd-3)))
 
+(define-public python-pubmed-parser
+  (package
+    (name "python-pubmed-parser")
+    (version "0.3.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/titipata/pubmed_parser")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "195cmjjg7xdwjj5455h78q7jnxnccia07a19xwndhlkxv7vk9v60"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs
+     (list python-lxml
+           python-numpy
+           python-requests
+           python-six
+           python-unidecode))
+    (native-inputs
+     (list python-pytest
+           python-pytest-cov))
+    (home-page "https://github.com/titipata/pubmed_parser")
+    (synopsis "Parser for Pubmed Open-Access Subset and MEDLINE XML repository")
+    (description
+     "This package provides a Python parser for Pubmed Open-Access Subset and
+MEDLINE XML repository.")
+    (license license:expat)))
+
 (define-public python-pure-eval
   (package
     (name "python-pure-eval")
@@ -15351,6 +15433,27 @@ provide an easy to use, pythonic and comprehensive Python interface to dialog.
 This allows one to make simple text-mode user interfaces on Unix-like systems")
     (license license:lgpl2.1)))
 
+(define-public python-confection
+  (package
+    (name "python-confection")
+    (version "0.0.4")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "confection" version))
+              (sha256
+               (base32
+                "1ksfn10zhnpkcj3y0c3xs4dznvc062bk62x4c3ig0dd6bn4gbpdi"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-pydantic python-srsly
+                             python-typing-extensions))
+    (native-inputs (list python-pytest))
+    (home-page "https://github.com/explosion/confection")
+    (synopsis "Config system for Python")
+    (description "Confection is a lightweight library that offers a
+configuration system letting you conveniently describe arbitrary trees of
+objects.")
+    (license license:expat)))
+
 (define-public python-configobj
   (package
     (name "python-configobj")
@@ -16408,7 +16511,7 @@ enhancements to optimization and data fitting problems.")
            python-packaging
            python-pillow
            python-pyyaml
-           python-tornado
+           python-tornado-6
            python-typing-extensions))
     (native-inputs
      (list python-beautifulsoup4
@@ -17235,19 +17338,23 @@ checking library.")
 (define-public python-codespell
   (package
     (name "python-codespell")
-    (version "2.1.0")
+    (version "2.2.4")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "codespell" version))
         (sha256
-          (base32 "1r9y714cz8m894rxp7pyvicr1lw2iid24vz6fxbl5wzy8ibgxlqr"))))
-    (build-system python-build-system)
+          (base32 "0fp8ihlj8q23qdfryj5pq8srl85vn8k8p6gq3zg9qz957i3j0ihb"))))
+    (build-system pyproject-build-system)
     (inputs
       (list python-chardet))
     (native-inputs
-      (list python-check-manifest python-flake8 python-pytest
-            python-pytest-cov python-pytest-dependency))
+      (list python-flake8
+            python-pygments
+            python-pytest
+            python-pytest-cov
+            python-pytest-dependency
+            python-tomli))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
@@ -20481,6 +20588,59 @@ from the header, as well as section details and data available.")
 Mustache templating language renderer.")
     (license license:expat)))
 
+(define-public python-duckdb
+  (package
+    (name "python-duckdb")
+    (version "0.8.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "duckdb" version))
+              (sha256
+               (base32
+                "13y1gs565q51li5fi9m7fpf0sqns8frsaii6v95acwjhmdds73f6"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags
+      '(list "--ignore=tests/slow/test_h2oai_arrow.py"
+             ;; Don't install anything, thank you.
+             "-k" "not test_install_non_existent_extension")
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; Tests need this
+          (add-before 'check 'set-HOME
+            (lambda _ (setenv "HOME" "/tmp")))
+          (add-before 'build 'set-version
+            (lambda _
+              (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)
+              (substitute* "setup.py"
+                (("\"setuptools_scm<7.0.0\",") ""))))
+          ;; Later versions of pybind replace "_" with "const_name".
+          (add-after 'unpack 'pybind-compatibility
+            (lambda _
+              (with-directory-excursion "src/include/duckdb_python"
+                (substitute* '("python_objects.hpp"
+                               "pyfilesystem.hpp"
+                               "pybind11/conversions/pyconnection_default.hpp")
+                  (("const_name") "_"))))))))
+    (native-inputs
+     (list pybind11
+           python-fsspec
+           python-google-cloud-storage
+           python-mypy
+           python-numpy
+           python-pandas
+           python-psutil
+           python-pyarrow
+           python-pytest
+           python-pytest-runner
+           python-setuptools-scm))
+    (home-page "https://www.duckdb.org")
+    (synopsis "DuckDB embedded database")
+    (description "DuckDB is an in-process SQL OLAP database management
+system.")
+    (license license:expat)))
+
 (define-public python-dulwich
   (package
     (name "python-dulwich")
@@ -26647,32 +26807,29 @@ the syntactic logic to configure and launch jobs in an execution environment.")
 (define-public python-flit
   (package
     (name "python-flit")
-    (version "3.5.1")
+    (version "3.8.0") ;same as python-flit-core
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "flit" version))
        (sha256
-        (base32 "04152qj46sqbnlrj7ch9p7svjrrlpzbk0qr39g2yr0s4f5vp6frf"))))
-    (build-system python-build-system)
+        (base32 "0dz9sp2zlhkmk6sm5gapbbb30f7xq3n3jn5zxx5pkp25ppsaiwnh"))))
+    (build-system pyproject-build-system)
     (arguments
      (list
+      #:test-flags
+      ;; These tests fail when FLIT_NO_NETWORK is set
+      '(list "-k" "not test_invalid_classifier \
+and not test_install_requires \
+and not test_install_requires_extra \
+and not test_validate_classifiers_private")
       #:phases
       #~(modify-phases %standard-phases
-          ;; XXX: PEP 517 manual build copied from python-isort.
-          (replace 'build
-            (lambda _
-              (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
-          (replace 'check
+          (add-before 'check 'pre-check
             (lambda* (#:key tests? inputs outputs #:allow-other-keys)
               (when tests?
                 (setenv "HOME" "/tmp")
-                (setenv "FLIT_NO_NETWORK" "1"))))
-          (replace 'install
-            (lambda _
-              (let ((whl (car (find-files "dist" "\\.whl$"))))
-                (invoke "pip" "--no-cache-dir" "--no-input"
-                        "install" "--no-deps" "--prefix" #$output whl)))))))
+                (setenv "FLIT_NO_NETWORK" "1")))))))
     (propagated-inputs
      (list python-pypa-build
            python-tomli-w
@@ -31767,6 +31924,40 @@ uses the parsed regular expression, so you get a much more accurate result
 than trying to just split strings.")
     (license license:asl2.0)))
 
+(define-public python-srsly
+  (package
+    (name "python-srsly")
+    (version "2.4.6")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "srsly" version))
+              (sha256
+               (base32
+                "0vsafkvk4g0p5m0dqrczqvlyza837i20xxmb24rrqk5s78r1zd27"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'check 'build-extensions
+            (lambda _
+              ;; Cython extensions have to be built before running the tests.
+              (invoke "python" "setup.py" "build_ext" "--inplace"))))))
+    (propagated-inputs (list python-catalogue))
+    (native-inputs
+     (list python-cython
+           python-pytest
+           python-pytest-timeout
+           python-mock
+           python-numpy
+           python-psutil))
+    (home-page "https://github.com/explosion/srsly")
+    (synopsis "Serialization utilities for Python")
+    (description "This package bundles some of the best Python serialization
+libraries into one standalone package, with a high-level API that makes it
+easy to write code that's correct across platforms and Pythons.")
+    (license license:expat)))
+
 (define-public python-pyperf
   (package
     (name "python-pyperf")
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 450bf933db..e025653338 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -2866,14 +2866,16 @@ certain criterion, e.g., it contains a certain regular file.")
 (define-public r-rmarkdown
   (package
     (name "r-rmarkdown")
-    (version "2.21")
+    (version "2.22")
     (source
       (origin
         (method url-fetch)
         (uri (cran-uri "rmarkdown" version))
         (sha256
-          (base32 "0a5czn18clfnw0a9nd5v98ah4h47i32423s6jdf126ni4aj20ny2"))))
-    (properties `((upstream-name . "rmarkdown")))
+          (base32 "1f47ccph09ilqlr0bnyrxkadja4ddp4klvb933aws3rya0cmaqy6"))))
+    (properties
+     `((upstream-name . "rmarkdown")
+       (updater-extra-propagated-inputs . ("pandoc"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-bslib
@@ -4172,13 +4174,13 @@ vignettes.")
 (define-public r-mvtnorm
   (package
     (name "r-mvtnorm")
-    (version "1.1-3")
+    (version "1.2-0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "mvtnorm" version))
               (sha256
                (base32
-                "0j14q2bkc14v35s5k03sw44zsssrd2qjljlwzj014qxs74hk0kpz"))))
+                "1q1bmsvd10iz003xlsd40dj5bhmy2069p88ydf9f4gj56mysnlpm"))))
     (build-system r-build-system)
     (native-inputs
      (list gfortran))
@@ -4191,13 +4193,13 @@ t-probabilities, quantiles, random deviates and densities.")
 (define-public r-matrixstats
   (package
     (name "r-matrixstats")
-    (version "0.63.0")
+    (version "1.0.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "matrixStats" version))
               (sha256
                (base32
-                "0pqz6mn5l7inh464yj45i6rf8ycab0zdvvjczwsv0bkl442bc060"))))
+                "0vxd7g1fm4x0f72bs1xfik1d4yklvpjdyg1hpx86pl8fwr86i1wl"))))
     (properties `((upstream-name . "matrixStats")))
     (build-system r-build-system)
     (arguments
@@ -4505,14 +4507,14 @@ data behind them) can be viewed and modified in a web browser.")
 (define-public r-biased-urn
   (package
    (name "r-biased-urn")
-   (version "2.0.9")
+   (version "2.0.10")
    (source
     (origin
      (method url-fetch)
      (uri (cran-uri "BiasedUrn" version))
      (sha256
       (base32
-       "02bb81x1hfvhm6qlcvp88bdpm1fhqak9cjbqz1r7fhg2qfxjpims"))))
+       "0jv0zvz1zs34h12zdgn3lqmn7hfkk2z6fkwbd9mlyddf34rkvfqv"))))
    (properties `((upstream-name . "BiasedUrn")))
    (build-system r-build-system)
    (home-page "https://www.agner.org/random/")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index ab19c2dd8c..3b6af31b76 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3475,37 +3475,6 @@ and JACK.")
     (home-page "https://obsproject.com")
     (license license:gpl2+)))
 
-(define-public obs-spectralizer
-  (package
-    (name "obs-spectralizer")
-    (version "1.3.3")
-    (source
-      (origin
-        (method git-fetch)
-        (uri (git-reference
-              (url "https://github.com/univrsal/spectralizer")
-              (commit (string-append "v" version))))
-        (file-name (git-file-name name version))
-
-        ;; Remove bundled Windows DLLs.
-        (snippet '(delete-file-recursively "fftw3"))
-        (modules '((guix build utils)))
-
-        (sha256
-         (base32
-          "0q75cnyqydpvfda51zm9gxqj3wqr99ad0lxzjhw0ld67qvj1ag6i"))))
-    (build-system cmake-build-system)
-    (arguments
-     `(#:tests? #f
-       #:configure-flags
-       (list "-DGLOBAL_INSTALLATION=ON" "-DUSE_CMAKE_LIBDIR=ON")))
-    (inputs (list obs fftw))
-    (home-page "https://github.com/univrsal/spectralizer")
-    (synopsis "OBS plugin for audio visualization")
-    (description "This OBS plugins allows you to vizualize MPD and internal
-OBS audio sources.")
-    (license license:gpl2)))
-
 (define-public obs-websocket
   (package
     (name "obs-websocket")
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 500461fecf..af070526ec 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -20,7 +20,7 @@
 ;;; Copyright © 2021 jgart <jgart@dismail.de>
 ;;; Copyright © 2022 Josselin Poiret <josselin.poiret@protonmail.ch>
 ;;; Copyright © 2022 Lu hui <luhux76@gmail.com>
-;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2022 Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
 ;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
@@ -677,35 +677,31 @@ the user specifically asks to proxy, so the @dfn{VPN} interface no longer
 
 (define-public openconnect
   (package
-   (name "openconnect")
-   (version "9.01")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "ftp://ftp.infradead.org/pub/openconnect/"
-                                "openconnect-" version ".tar.gz"))
-            (sha256
-             (base32 "1iz4j00031a5ircrx30lkiwf58yl9kc827m4ssck4yg963wgmmxk"))))
-   (build-system gnu-build-system)
-   (propagated-inputs
-    (list libxml2 gnutls zlib))
-   (inputs
-    (list lz4 vpnc-scripts))
-   (native-inputs
-    `(("gettext" ,gettext-minimal)
-      ("pkg-config" ,pkg-config)))
-   (arguments
-    `(#:configure-flags
-      `(,(string-append "--with-vpnc-script="
-                        (assoc-ref %build-inputs "vpnc-scripts")
-                        "/etc/vpnc/vpnc-script"))))
-   (synopsis "Client for Cisco VPN")
-   (description
-    "OpenConnect is a client for Cisco's AnyConnect SSL VPN, which is
-supported by the ASA5500 Series, by IOS 12.4(9)T or later on Cisco SR500,
-870, 880, 1800, 2800, 3800, 7200 Series and Cisco 7301 Routers,
-and probably others.")
-   (license license:lgpl2.1)
-   (home-page "https://www.infradead.org/openconnect/")))
+    (name "openconnect")
+    (version "9.12")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "ftp://ftp.infradead.org/pub/openconnect/"
+                                  "openconnect-" version ".tar.gz"))
+              (sha256
+               (base32 "0gj1nba1pygvcjasqdakxxnx94dwx3l4hzj0dvipbzjdmbixrgm2"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:configure-flags
+           #~(list (string-append "--with-vpnc-script="
+                                  (search-input-file %build-inputs
+                                                     "etc/vpnc/vpnc-script")))))
+    (native-inputs (list gettext-minimal pkg-config))
+    (inputs (list lz4 vpnc-scripts))
+    (propagated-inputs (list libxml2 gnutls zlib))
+    (synopsis "Client for Cisco VPN")
+    (description
+     "OpenConnect is a client for Cisco's AnyConnect SSL VPN, which is
+supported by the ASA5500 Series, by IOS 12.4(9)T or later on Cisco SR500, 870,
+880, 1800, 2800, 3800, 7200 Series and Cisco 7301 Routers, and probably
+others.")
+    (license license:lgpl2.1)
+    (home-page "https://www.infradead.org/openconnect/")))
 
 (define-public openconnect-sso
   (package
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 1fe5ef5c82..7d1f61be53 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -724,7 +724,7 @@ is fully configurable and extensible in Common Lisp.")
 (define-public lagrange
   (package
     (name "lagrange")
-    (version "1.15.9")
+    (version "1.16.3")
     (source
      (origin
        (method url-fetch)
@@ -732,7 +732,7 @@ is fully configurable and extensible in Common Lisp.")
         (string-append "https://git.skyjake.fi/skyjake/lagrange/releases/"
                        "download/v" version "/lagrange-" version ".tar.gz"))
        (sha256
-        (base32 "19pn5nnlskyj7w61s9vg5c0vb0hpdyalj3m8znvs4lgw3463ijs3"))
+        (base32 "1kmhxacka0rixxv1r5vqjhxmdxll73b5w5ja18m1qpbk2sk00bg8"))
        (modules '((guix build utils)))
        (snippet
         '(begin
diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm
index e6194e6f50..d0c323e30c 100644
--- a/gnu/packages/wxwidgets.scm
+++ b/gnu/packages/wxwidgets.scm
@@ -112,6 +112,7 @@
            libsecret
            libsm
            libtiff
+           libxtst                      ;for wxUIActionSimulator
            mesa
            pcre2
            sdl2
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 462ac082f5..b8671d1cf6 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -41,7 +41,7 @@
 ;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com>
 ;;; Copyright © 2020 James Smith <jsubuntuxp@disroot.org>
 ;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
-;;; Copyright © 2020, 2021 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2020, 2021, 2023 Zheng Junjie <873216071@qq.com>
 ;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2021, 2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
@@ -768,7 +768,28 @@ and Matrox.")
          (base32
           "1q700h9dqcm3zl6c3gj0qxxjcx6ibw2c51wjijydhwdcm26v5mqm"))))
     (build-system gnu-build-system)
-    (arguments '(#:configure-flags '("--disable-static")))
+    (arguments
+     `(#:configure-flags
+       '("--disable-static")
+       ,@(if (and (target-riscv64?)
+                  (%current-target-system))
+           `(#:phases
+             (modify-phases %standard-phases
+               (add-after 'unpack 'update-config-scripts
+                 (lambda* (#:key inputs native-inputs #:allow-other-keys)
+                   ;; Replace outdated config.guess and config.sub.
+                   (for-each (lambda (file)
+                               (install-file
+                                 (search-input-file
+                                   (or native-inputs inputs)
+                                   (string-append "/bin/" file)) "./config-aux"))
+                             '("config.guess" "config.sub"))))))
+           '())))
+    (native-inputs
+     (if (and (target-riscv64?)
+              (%current-target-system))
+       (list config)
+       '()))
     (home-page "https://bitmath.org/code/mtdev/")
     (synopsis "Multitouch protocol translation library")
     (description "Mtdev is a stand-alone library which transforms all
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 2eb90ed4b2..31dc750101 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -185,7 +185,7 @@ storage system.")
 (define-public libxfce4ui
   (package
     (name "libxfce4ui")
-    (version "4.18.3")
+    (version "4.18.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -193,7 +193,7 @@ storage system.")
                                   name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "1g8a067xbazgh0qc25nc7k1zc6aqmznhh4vy5wnn3aykxrpa98xg"))))
+                "0k6b8al8cy2w5zi8iywkzjsz2cgiz9r8ir2dflzxw9kdgiwzxvl7"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
@@ -398,7 +398,7 @@ management D-Bus specification.")
 (define-public xfce4-panel
   (package
     (name "xfce4-panel")
-    (version "4.18.3")
+    (version "4.18.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -406,7 +406,7 @@ management D-Bus specification.")
                                   name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "06sy6vjydx1p8rx8z94ya6szvmvyarijl5x0pm5ij4cqbihviq2a"))
+                "0m7vmk7rc2sjfqba0flgnw77kn1j222xqs7r86bpg8sf1614yc1j"))
               (patches (search-patches "xfce4-panel-plugins.patch"))))
     (build-system gnu-build-system)
     (arguments
@@ -498,7 +498,7 @@ matching them against regular expressions.")
 (define-public xfce4-pulseaudio-plugin
   (package
     (name "xfce4-pulseaudio-plugin")
-    (version "0.4.6")
+    (version "0.4.7")
     (source
      (origin
        (method url-fetch)
@@ -507,7 +507,7 @@ matching them against regular expressions.")
                            (version-major+minor version) "/"
                            "xfce4-pulseaudio-plugin-" version ".tar.bz2"))
        (sha256
-        (base32 "05k02ilvffddgbp6in9wpjvg6vzlcxxw09nmj29hzba44klc04bf"))))
+        (base32 "0b4fjvrrah0b97cbv8ds7r6cwnj392ya2r7703ixf724f43hkpah"))))
     (build-system gnu-build-system)
     (native-inputs
      (list intltool pkg-config dbus-glib dbus))
@@ -630,7 +630,7 @@ your system in categories, so you can quickly find and launch them.")
 (define-public xfce4-session
   (package
     (name "xfce4-session")
-    (version "4.18.2")
+    (version "4.18.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -638,7 +638,7 @@ your system in categories, so you can quickly find and launch them.")
                                   "xfce4-session-" version ".tar.bz2"))
               (sha256
                (base32
-                "12pbppyhg0jdwswwk59fffh2n5ckpfvwc999zkg1l2f2skl7zzq1"))
+                "1v4lfgz7az8iqp01a1ww8sxxjfmr676bijhrhw4r6r7cjvh96brq"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -1222,7 +1222,7 @@ system resources, while still being visually appealing and user friendly.")
 (define-public xfce4-power-manager
   (package
     (name "xfce4-power-manager")
-    (version "4.18.1")
+    (version "4.18.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -1230,7 +1230,7 @@ system resources, while still being visually appealing and user friendly.")
                                   "xfce4-power-manager-" version ".tar.bz2"))
               (sha256
                (base32
-                "00zz9bhzsf2vww8mym9c093sz7va5716qb6kvdvn6ldp9h6b223b"))))
+                "0kfzvhb1hnr16fcplm7bdpp4fcxr3irzq3w4q0lpbc5n6kaqyq71"))))
     (build-system gnu-build-system)
     (native-inputs
      (list pkg-config intltool))
@@ -1453,7 +1453,7 @@ of data to either CD/DVD/BD.")
 (define-public xfce4-screenshooter
   (package
    (name "xfce4-screenshooter")
-   (version "1.10.3")
+   (version "1.10.4")
    (source (origin
             (method url-fetch)
             (uri (string-append "https://archive.xfce.org/src/apps/"
@@ -1463,7 +1463,7 @@ of data to either CD/DVD/BD.")
                                 version ".tar.bz2"))
             (sha256
              (base32
-              "061qixpz8krvpixs6ickl9ha5m0pb078rdd5fjifrkxy8yc1am54"))))
+              "1534h1a3a8b9pl20zpccaifrlsrbsihdcdjndn9nmqalgrl9kwd2"))))
    (build-system gnu-build-system)
    (native-inputs
     (list pkg-config intltool
@@ -1482,7 +1482,7 @@ A plugin for the Xfce panel is also available.")
 (define-public xfce4-screensaver
   (package
     (name "xfce4-screensaver")
-    (version "4.18.1")
+    (version "4.18.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://archive.xfce.org/src/apps/"
@@ -1492,7 +1492,7 @@ A plugin for the Xfce panel is also available.")
                                   version ".tar.bz2"))
               (sha256
                (base32
-                "0p2an3g5jlhmr60if319cfgkqacziym52csj7dfwq64assmyhcdp"))))
+                "161bdsvkbknaf9fpz4b1r4amnm72hzfmx9c6krg2396k2k2d5z74"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index d6c388739f..e1a7cf96f9 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -34,6 +34,7 @@
 ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 ;;; Copyright © 2021 qblade <qblade@protonmail.com>
 ;;; Copyright © 2021 Lu Hui <luhux76@gmail.com>
+;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -4493,13 +4494,30 @@ cannot be adequately worked around on the client side of the wire.")
             "012jpyj7xfm653a9jcfqbzxyywdmwb2b5wr1dwylx14f3f54jma6"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags '("--disable-static")))
+     `(#:configure-flags '("--disable-static")
+       ,@(if (and (target-riscv64?)
+                  (%current-target-system))
+             `(#:phases
+               (modify-phases %standard-phases
+                 (add-after 'unpack 'update-config
+                   (lambda* (#:key native-inputs inputs #:allow-other-keys)
+                     (for-each (lambda (file)
+                                 (install-file
+                                  (search-input-file
+                                   (or native-inputs inputs)
+                                   (string-append "/bin/" file)) "."))
+                               '("config.guess" "config.sub"))))))
+             '())))
     (propagated-inputs
      (list libxi xorgproto))
     (inputs
-      (list libx11))
+     (list libx11))
     (native-inputs
-      (list pkg-config))
+     (append (if (and (target-riscv64?)
+                      (%current-target-system))
+               (list config)
+               '())
+             (list pkg-config)))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg library for Xtest and Record extensions")
     (description
@@ -5620,11 +5638,29 @@ The XCB util-renderutil module provides the following library:
                "0gra7hfyxajic4mjd63cpqvd20si53j1q3rbdlkqkahfciwq3gr8"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags '("--disable-static")))
+     `(#:configure-flags '("--disable-static")
+       ,@(if (and (target-riscv64?)
+                  (%current-target-system))
+           `(#:phases
+             (modify-phases %standard-phases
+               (add-after 'unpack 'update-config-scripts
+                 (lambda* (#:key inputs native-inputs #:allow-other-keys)
+                   ;; Replace outdated config.guess and config.sub.
+                   (for-each (lambda (file)
+                               (install-file
+                                (search-input-file
+                                 (or native-inputs inputs)
+                                 (string-append "/bin/" file)) "."))
+                             '("config.guess" "config.sub"))))))
+           '())))
     (propagated-inputs
      (list libxcb))
     (native-inputs
-     (list m4 pkg-config))
+     (append (if (and (target-riscv64?)
+                      (%current-target-system))
+               (list config)
+               '())
+             (list m4 pkg-config)))
     (home-page "https://cgit.freedesktop.org/xcb/util-wm/")
     (synopsis "Client and window-manager helpers for ICCCM and EWMH")
     (description