summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2024-01-07 18:31:32 +0100
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2024-01-07 18:31:32 +0100
commit2cbb1a6e1e2679c7db74b6b906d223fb3661d09f (patch)
treeab4101e769bbac1d53950004044fd297223b9492 /gnu
parentb369dc272eeba4eafb2bc7dc56f7b3cf09fb0961 (diff)
parentb212e6934643e085f168a5364cb593f61aa616ba (diff)
downloadguix-2cbb1a6e1e2679c7db74b6b906d223fb3661d09f.tar.gz
Merge branch 'master' into gnome-team
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk3
-rw-r--r--gnu/packages/backup.scm1
-rw-r--r--gnu/packages/bioconductor.scm150
-rw-r--r--gnu/packages/bioinformatics.scm416
-rw-r--r--gnu/packages/bootstrap.scm5
-rw-r--r--gnu/packages/check.scm8
-rw-r--r--gnu/packages/configuration-management.scm1
-rw-r--r--gnu/packages/cran.scm69
-rw-r--r--gnu/packages/databases.scm5
-rw-r--r--gnu/packages/display-managers.scm80
-rw-r--r--gnu/packages/emacs-xyz.scm611
-rw-r--r--gnu/packages/engineering.scm14
-rw-r--r--gnu/packages/finance.scm5
-rw-r--r--gnu/packages/game-development.scm131
-rw-r--r--gnu/packages/games.scm157
-rw-r--r--gnu/packages/gcc.scm5
-rw-r--r--gnu/packages/gl.scm7
-rw-r--r--gnu/packages/gnupg.scm7
-rw-r--r--gnu/packages/gnuzilla.scm35
-rw-r--r--gnu/packages/golang-web.scm1467
-rw-r--r--gnu/packages/golang.scm1404
-rw-r--r--gnu/packages/graph.scm50
-rw-r--r--gnu/packages/guile-xyz.scm124
-rw-r--r--gnu/packages/high-availability.scm1
-rw-r--r--gnu/packages/image.scm24
-rw-r--r--gnu/packages/ipfs.scm1
-rw-r--r--gnu/packages/libsigsegv.scm27
-rw-r--r--gnu/packages/linux.scm14
-rw-r--r--gnu/packages/lisp-check.scm6
-rw-r--r--gnu/packages/lisp-xyz.scm348
-rw-r--r--gnu/packages/lisp.scm4
-rw-r--r--gnu/packages/machine-learning.scm22
-rw-r--r--gnu/packages/mail.scm1
-rw-r--r--gnu/packages/messaging.scm6
-rw-r--r--gnu/packages/minetest.scm6
-rw-r--r--gnu/packages/mpd.scm5
-rw-r--r--gnu/packages/multiprecision.scm4
-rw-r--r--gnu/packages/networking.scm40
-rw-r--r--gnu/packages/patches/emacs-ess-fix-obsolete-function-alias.patch23
-rw-r--r--gnu/packages/patches/emacs-haskell-mode-no-redefine-builtin.patch75
-rw-r--r--gnu/packages/plan9.scm136
-rw-r--r--gnu/packages/python-xyz.scm138
-rw-r--r--gnu/packages/shellutils.scm4
-rw-r--r--gnu/packages/statistics.scm140
-rw-r--r--gnu/packages/tbb.scm46
-rw-r--r--gnu/packages/tls.scm29
-rw-r--r--gnu/packages/uucp.scm1
-rw-r--r--gnu/packages/version-control.scm1
-rw-r--r--gnu/packages/video.scm4
-rw-r--r--gnu/packages/vulkan.scm7
-rw-r--r--gnu/packages/web.scm1
-rw-r--r--gnu/packages/xfce.scm8
-rw-r--r--gnu/services/base.scm4
-rw-r--r--gnu/services/docker.scm12
-rw-r--r--gnu/services/shepherd.scm21
-rw-r--r--gnu/services/xorg.scm15
56 files changed, 3554 insertions, 2375 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 7a758beb80..1f8505ebfb 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -307,6 +307,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/gobby.scm			\
   %D%/packages/golang.scm			\
   %D%/packages/golang-check.scm		\
+  %D%/packages/golang-web.scm	        	\
   %D%/packages/gperf.scm			\
   %D%/packages/gpodder.scm			\
   %D%/packages/gps.scm				\
@@ -1115,11 +1116,9 @@ dist_patch_DATA =						\
   %D%/packages/patches/emacs-deferred-fix-number-of-arguments.patch	\
   %D%/packages/patches/emacs-elpy-dup-test-name.patch		\
   %D%/packages/patches/emacs-exec-path.patch			\
-  %D%/packages/patches/emacs-ess-fix-obsolete-function-alias.patch	\
   %D%/packages/patches/emacs-git-email-missing-parens.patch	\
   %D%/packages/patches/emacs-fix-scheme-indent-function.patch	\
   %D%/packages/patches/emacs-json-reformat-fix-tests.patch	\
-  %D%/packages/patches/emacs-haskell-mode-no-redefine-builtin.patch	\
   %D%/packages/patches/emacs-helpful-fix-tests.patch	\
   %D%/packages/patches/emacs-highlight-stages-add-gexp.patch	\
   %D%/packages/patches/emacs-lispy-fix-thread-last-test.patch   \
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 58c071e1fa..3126464347 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -71,6 +71,7 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages golang)
+  #:use-module (gnu packages golang-web)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 316aa20026..a7af5c42ce 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015-2023 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015-2024 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016, 2017, 2018, 2020, 2021 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
 ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
@@ -7324,13 +7324,13 @@ global-scaling and full-quantile normalization.")
 (define-public r-edger
   (package
     (name "r-edger")
-    (version "4.0.3")
+    (version "4.0.5")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "edgeR" version))
               (sha256
                (base32
-                "0sz46pwa1bsqrff2igswfhhj1fcwzn34zrlawy4fnb58z48kccb0"))))
+                "16cghh83v14jdq5n6xkm3jxj87n6l6zrxjgqdwb2ffgc26vkpb7w"))))
     (properties `((upstream-name . "edgeR")))
     (build-system r-build-system)
     (propagated-inputs
@@ -7462,6 +7462,37 @@ chromosome region or transcript models of lincRNA genes.")
     ;; No version specified
     (license license:lgpl3+)))
 
+(define-public r-epidish
+  (package
+    (name "r-epidish")
+    (version "2.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "EpiDISH" version))
+       (sha256
+        (base32 "170ym3y6gd1kxghz2g5ynvgi1wrxx87b568cjcvzidpqkrkg87s6"))))
+    (properties `((upstream-name . "EpiDISH")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-e1071
+                             r-locfdr
+                             r-mass
+                             r-matrix
+                             r-matrixstats
+                             r-quadprog
+                             r-stringr))
+    (native-inputs (list r-knitr))
+    (home-page "https://github.com/sjczheng/EpiDISH")
+    (synopsis "Epigenetic dissection of intra-sample-heterogeneity")
+    (description
+     "@code{EpiDISH} is a R package to infer the proportions of a priori known
+cell-types present in a sample representing a mixture of such cell-types.
+Right now, the package can be used on DNAm data of whole blood, generic
+epithelial tissue and breast tissue.  Besides, the package provides a function
+that allows the identification of differentially methylated cell-types and
+their directionality of change in Epigenome-Wide Association Studies.")
+    (license license:gpl2)))
+
 (define-public r-fastseg
   (package
     (name "r-fastseg")
@@ -10315,6 +10346,49 @@ comprehensive scDblFinder method.")
     (license license:gpl3)))
 
 ;; This is a CRAN package, but it depends on packages from Bioconductor.
+(define-public r-scgate
+  (package
+    (name "r-scgate")
+    (version "1.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "scGate" version))
+       (sha256
+        (base32 "0h12d36zjc6fvxbhkxrzbpvw49z9fgyn1jc941q70ajw1yqi2hhh"))))
+    (properties `((upstream-name . "scGate")))
+    (build-system r-build-system)
+    (propagated-inputs
+     (list r-biocparallel
+           r-dplyr
+           r-ggplot2
+           r-ggridges
+           r-patchwork
+           r-reshape2
+           r-seurat
+           r-ucell))
+    (native-inputs (list r-knitr))
+    (home-page "https://github.com/carmonalab/scGate")
+    (synopsis
+     "Marker-based cell type purification for single-cell sequencing data")
+    (description
+     "This package provides a method to purify a cell type or cell population
+of interest from heterogeneous datasets.  scGate package automatizes
+marker-based purification of specific cell populations, without requiring
+training data or reference gene expression profiles.  scGate takes as input a
+gene expression matrix stored in a Seurat object and a @acronym{GM, gating
+model}, consisting of a set of marker genes that define the cell population of
+interest.  It evaluates the strength of signature marker expression in each
+cell using the rank-based method UCell, and then performs @acronym{kNN,
+k-nearest neighbor} smoothing by calculating the mean UCell score across
+neighboring cells.  kNN-smoothing aims at compensating for the large degree of
+sparsity in scRNAseq data.  Finally, a universal threshold over kNN-smoothed
+signature scores is applied in binary decision trees generated from the
+user-provided gating model, to annotate cells as either “pure” or “impure”,
+with respect to the cell population of interest.")
+    (license license:gpl3)))
+
+;; This is a CRAN package, but it depends on packages from Bioconductor.
 (define-public r-scistreer
   (package
     (name "r-scistreer")
@@ -10436,6 +10510,38 @@ expression information.  The package functions as a wrapper for Startrac and
 powerTCR R packages.")
     (license license:gpl2)))
 
+(define-public r-scrnaseq
+  (package
+    (name "r-scrnaseq")
+    (version "2.16.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "scRNAseq" version
+                              'experiment))
+       (sha256
+        (base32 "0dbh3sqq7lkkdf7vls5qg7fbn6y74c7hsigb4d69pvk934ll88aw"))))
+    (properties `((upstream-name . "scRNAseq")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-annotationdbi
+                             r-annotationhub
+                             r-biocgenerics
+                             r-ensembldb
+                             r-experimenthub
+                             r-genomicfeatures
+                             r-genomicranges
+                             r-s4vectors
+                             r-singlecellexperiment
+                             r-summarizedexperiment))
+    (native-inputs (list r-knitr))
+    (home-page "https://bioconductor.org/packages/scRNAseq")
+    (synopsis "Collection of public single-cell RNA-seq datasets")
+    (description
+     "This package contains gene-level counts for a collection of public
+@code{scRNA-seq} datasets, provided as @code{SingleCellExperiment} objects
+with cell- and gene-level metadata.")
+    (license license:cc0)))
+
 (define-public r-scry
   (package
     (name "r-scry")
@@ -10793,6 +10899,44 @@ identifier translation via the GDC API.")
      "This package implements widgets to provide user interfaces.")
     (license license:artistic2.0)))
 
+(define-public r-toast
+  (package
+    (name "r-toast")
+    (version "1.16.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "TOAST" version))
+       (sha256
+        (base32 "00wpgs2zdrgrh9xmp6m5h9xgv85mhdi36qvwg9gwbz9i7cfabmy1"))))
+    (properties `((upstream-name . "TOAST")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-corpcor
+                             r-doparallel
+                             r-epidish
+                             r-ggally
+                             r-ggplot2
+                             r-limma
+                             r-nnls
+                             r-quadprog
+                             r-summarizedexperiment
+                             r-tidyr))
+    (native-inputs (list r-knitr))
+    (home-page "https://bioconductor.org/packages/TOAST")
+    (synopsis "Tools for the analysis of heterogeneous tissues")
+    (description
+     "This package is devoted to analyzing high-throughput data (e.g. gene
+expression microarray, DNA methylation microarray, RNA-seq) from complex
+tissues.  Current functionalities include
+
+@enumerate
+@item detect cell-type specific or cross-cell type differential signals
+@item tree-based differential analysis
+@item improve variable selection in reference-free deconvolution
+@item partial reference-free deconvolution with prior knowledge.
+@end enumerate")
+    (license license:gpl2)))
+
 ;; TODO: check javascript
 (define-public r-trackviewer
   (package
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 2e4bc876d4..7dbebcf3da 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -130,6 +130,7 @@
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages perl-web)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages popt)
   #:use-module (gnu packages protobuf)
@@ -574,6 +575,30 @@ BED, GFF/GTF, VCF.")
 whole-genome bisulfite sequencing (WGBS) reads from directional protocol.")
     (license license:asl2.0)))
 
+(define-public bustools
+  (package
+    (name "bustools")
+    (version "0.43.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/BUStools/bustools")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "068kjlc4d528269nl5mc3j8h2c95r1v545d3fi1iw1ckg8rba0hg"))))
+    (build-system cmake-build-system)
+    (arguments (list #:tests? #f))          ;no test target
+    (inputs (list zlib))
+    (home-page "https://bustools.github.io")
+    (synopsis "Tools for working with BUS files")
+    (description "bustools is a program for manipulating BUS files for single
+cell RNA-Seq datasets.  It can be used to error correct barcodes, collapse
+UMIs, produce gene count or transcript compatibility count matrices, and is useful
+for many other tasks.")
+    (license license:bsd-2)))
+
 (define-public cellsnp-lite
   ;; Last release is from November 2021 and does not contain fixes.
   (let ((commit "0885d746b0b1ea65c8ef92f8943ca7669ca9734a")
@@ -617,6 +642,50 @@ Compared to cellSNP, this package is more efficient with higher speed and less
 memory usage.")
       (license license:asl2.0))))
 
+(define-public cpat
+  (package
+    (name "cpat")
+    (version "3.0.4")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "CPAT" version))
+              (sha256
+               (base32
+                "0dfrwwbhv1n4nh2a903d1qfb30fgxgya89sa70aci3wzf8h2z0vd"))
+              (modules '((guix build utils)))
+              (snippet
+               '(for-each delete-file-recursively
+                          (list ".eggs"
+                                "lib/__pycache__/"
+                                "lib/cpmodule/__pycache__/")))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:phases
+      '(modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (with-directory-excursion "test"
+                 ;; There is no test4.fa
+                 (substitute* "test.sh"
+                   ((".*-g test4.fa.*") ""))
+                 (invoke "bash" "test.sh"))))))))
+    (propagated-inputs
+     (list python-numpy python-pysam))
+    (inputs
+     (list r-minimal))
+    (home-page "https://wlcb.oit.uci.edu/cpat/")
+    (synopsis "Alignment-free distinction between coding and noncoding RNA")
+    (description
+     "CPAT is a method to distinguish coding and noncoding RNA by using a
+logistic regression model based on four pure sequence-based, linguistic
+features: ORF size, ORF coverage, Ficket TESTCODE, and Hexamer usage bias.
+Linguistic features based method does not require other genomes or protein
+databases to perform alignment and is more robust.  Because it is
+alignment-free, it runs much faster and also easier to use.")
+    (license license:gpl2+)))
+
 (define-public pbcopper
   (package
     (name "pbcopper")
@@ -1070,6 +1139,42 @@ of single-cell data using Seurat, RcppML nmf, SingleCellExperiments and
 similar.")
       (license license:gpl2+))))
 
+(define-public r-stacas
+  (package
+    (name "r-stacas")
+    (version "2.2.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/carmonalab/STACAS")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "13i0h5i6vlbrb8ndq9gr81560z9d74b2c7m3rjfzls01irjza9hm"))))
+    (properties `((upstream-name . "STACAS")))
+    (build-system r-build-system)
+    (propagated-inputs
+     (list r-biocneighbors
+           r-biocparallel
+           r-ggplot2
+           r-ggridges
+           r-pbapply
+           r-r-utils
+           r-seurat))
+    (home-page "https://github.com/carmonalab/STACAS")
+    (synopsis "Sub-type anchoring correction for alignment in Seurat")
+    (description
+     "This package implements methods for batch correction and integration of
+scRNA-seq datasets, based on the Seurat anchor-based integration framework.
+In particular, STACAS is optimized for the integration of heterogenous
+datasets with only limited overlap between cell sub-types (e.g. TIL sets of
+CD8 from tumor with CD8/CD4 T cells from lymphnode), for which the default
+Seurat alignment methods would tend to over-correct biological differences.
+The 2.0 version of the package allows the users to incorporate explicit
+information about cell-types in order to assist the integration process.")
+    (license license:gpl3)))
+
 (define-public r-stringendo
   (let ((commit "15594b1bba11048a812874bafec0eea1dcc8618a")
         (revision "1"))
@@ -1156,6 +1261,32 @@ shape.  This package provides an @code{htmlwidget} for building streamgraph
 visualizations.")
       (license license:expat))))
 
+(define-public r-wasabi
+  (let ((commit "8c33cabde8d18c2657cd6e38e7cb834f87cf9846")
+        (revision "1"))
+    (package
+      (name "r-wasabi")
+      (version (git-version "1.0.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/COMBINE-lab/wasabi")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0rpdj6n4cnx8n2zl60dzgl638474sg49dknwi9x3qb4g56dpphfa"))))
+      (properties `((upstream-name . "wasabi")))
+      (build-system r-build-system)
+      (propagated-inputs (list r-data-table r-rhdf5 r-rjson))
+      (home-page "https://github.com/COMBINE-lab/wasabi")
+      (synopsis "Use Sailfish and Salmon with Sleuth")
+      (description
+       "This package converts the output of the Sailfish and Salmon RNA-seq
+quantification tools so that it can be used with the Sleuth differential
+analysis package.")
+      (license license:bsd-3))))
+
 (define-public pbbam
   (package
     (name "pbbam")
@@ -2259,6 +2390,40 @@ sequencing data and the end result are tables of UMI-unique DamID and CEL-Seq
 counts.")
     (license license:expat)))
 
+(define-public python-snaptools
+  (package
+    (name "python-snaptools")
+    (version "1.4.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "snaptools" version))
+       (sha256
+        (base32
+         "1s5373g5jjbshh3q39zy7dlxr7nda6ksxq9d1gw46h82c4fsmfbn"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs
+     (list python-future
+           python-h5py
+           python-louvain
+           python-numpy
+           python-pybedtools
+           python-pysam))
+    (home-page "https://github.com/r3fang/SnapTools")
+    (synopsis "Tools for processing snap files" )
+    (description
+     "@code{SnapTools} can operate on snap files the following types of
+operations:
+
+@itemize
+@item index the reference genome before alignment;
+@item align reads to the corresponding reference genome;
+@item pre-process by convert pair-end reads into fragments, checking the
+  mapping quality score, alingment and filtration;
+@item create the cell-by-bin matrix.
+@end itemize")
+    (license license:asl2.0)))
+
 (define-public python-bioframe
   (package
     (name "python-bioframe")
@@ -4893,6 +5058,126 @@ be of arbitrary length. Repeats with pattern size in the range from 1 to 2000
 bases are detected.")
     (license license:agpl3+)))
 
+(define-public trinityrnaseq
+  (package
+    (name "trinityrnaseq")
+    (version "2.13.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/trinityrnaseq/trinityrnaseq.git")
+                    (commit (string-append "Trinity-v" version))
+                    (recursive? #true)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1qszrxqbx4q5pavpgm4rkrh1z1v1mf7qx83vv3fnlqdmncnsf1gv"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:test-target "test"
+      #:modules
+      '((guix build gnu-build-system)
+        (guix build utils)
+        (ice-9 match)
+        (srfi srfi-1))
+      #:make-flags
+      #~(list (string-append "CC=" #$(cc-for-target)))
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'configure
+            (lambda _
+              (setenv "SHELL" (which "sh"))
+              (setenv "CONFIG_SHELL" (which "sh"))
+              ;; Do not require version.h, which triggers a local build of a
+              ;; vendored htslib.
+              (substitute* "trinity-plugins/bamsifter/Makefile"
+                (("sift_bam_max_cov.cpp htslib/version.h")
+                 "sift_bam_max_cov.cpp"))))
+          (add-after 'build 'build-plugins
+            (lambda _
+              ;; Run this in the subdirectory to avoid running the
+              ;; tests right here.
+              (with-directory-excursion "trinity-plugins"
+                (invoke "make" "plugins"))))
+          ;; The install script uses rsync, provides no overrides for the
+          ;; default location at /usr/local/bin, and patching it would change
+          ;; all lines that do something.
+          (replace 'install
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((share (string-append #$output "/share/trinity/"))
+                    (bin   (string-append #$output "/bin/")))
+                (mkdir-p bin)
+                (copy-recursively "." share)
+                (delete-file (string-append share "/Chrysalis/build/CMakeFiles/CMakeOutput.log"))
+                (delete-file (string-append share "/Inchworm/build/CMakeFiles/CMakeOutput.log"))
+
+                (wrap-program (string-append share "Trinity")
+                  `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))
+                  `("PERL5LIB"    ":" = (,(getenv "PERL5LIB")))
+                  `("PYTHONPATH"  ":" = (,(getenv "GUIX_PYTHONPATH")))
+                  `("PATH"        ":" =
+                    ,(cons (string-append share "/trinity-plugins/BIN")
+                           (filter-map (match-lambda
+                                         ((name . dir)
+                                          (string-append dir "/bin")))
+                                       inputs))))
+                (symlink (string-append share "Trinity")
+                         (string-append bin "Trinity"))))))))
+    (inputs
+     (list blast+
+           bowtie
+           fastqc
+           hisat
+           htslib
+           icedtea-8
+           jellyfish
+           kallisto
+           multiqc
+           perl
+           perl-uri-escape
+           python-numpy
+           python-wrapper
+           r-ape
+           r-argparse
+           r-biobase
+           r-ctc
+           r-deseq2
+           r-edger
+           r-fastcluster
+           r-glimma
+           r-goplot
+           r-goseq
+           r-gplots
+           r-minimal
+           r-qvalue
+           r-rots
+           r-sm
+           r-tidyverse
+           rsem
+           salmon
+           samtools
+           sra-tools
+           star
+           zlib))
+    (propagated-inputs
+     (list coreutils
+           gzip
+           which))
+    (native-inputs (list cmake))
+    (home-page "https://github.com/trinityrnaseq/trinityrnaseq/wiki")
+    (synopsis "Trinity RNA-Seq de novo transcriptome assembly")
+    (description "Trinity assembles transcript sequences from Illumina RNA-Seq
+data.  Trinity represents a novel method for the efficient and robust de novo
+reconstruction of transcriptomes from RNA-seq data.  Trinity combines three
+independent software modules: Inchworm, Chrysalis, and Butterfly, applied
+sequentially to process large volumes of RNA-seq reads.  Trinity partitions
+the sequence data into many individual de Bruijn graphs, each representing the
+transcriptional complexity at a given gene or locus, and then processes each
+graph independently to extract full-length splicing isoforms and to tease
+apart transcripts derived from paralogous genes.")
+    (license license:bsd-3)))
+
 (define-public repeat-masker
   (package
     (name "repeat-masker")
@@ -10313,6 +10598,51 @@ data.  This package includes panel editing or renaming for FCS files,
 bead-based normalization and debarcoding.")
       (license license:gpl3))))
 
+(define-public r-projectils
+  (let ((commit "cc73b97471b4b6eea11ce779b5c4a7dc5c3e1709")
+        (revision "1"))
+    (package
+      (name "r-projectils")
+      (version (git-version "3.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/carmonalab/ProjecTILs")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0dpzvbhhb9andnj7angpj32cgkwd6rs6qgpl6i21pqzcn6vqqhqw"))))
+      (properties `((upstream-name . "ProjecTILs")))
+      (build-system r-build-system)
+      (propagated-inputs
+       (list r-biocneighbors
+             r-biocparallel
+             r-dplyr
+             r-ggplot2
+             r-matrix
+             r-patchwork
+             r-pheatmap
+             r-pracma
+             r-purrr
+             r-rcolorbrewer
+             r-reshape2
+             r-scales
+             r-scgate
+             r-seurat
+             r-seuratobject
+             r-stacas
+             r-ucell
+             r-umap
+             r-uwot))
+      (home-page "https://github.com/carmonalab/ProjecTILs")
+      (synopsis "Reference-based analysis of scRNA-seq data")
+      (description
+       "This package implements methods to project single-cell RNA-seq data
+onto a reference atlas, enabling interpretation of unknown cell transcriptomic
+states in the the context of known, reference states.")
+      (license license:gpl3))))
+
 (define-public r-presto
   (let ((commit "052085db9c88aa70a28d11cc58ebc807999bf0ad")
         (revision "0"))
@@ -10527,6 +10857,43 @@ analysis of cell types, subtypes, transcriptional gradients,cell-cycle
 variation, gene modules and their regulatory models and more.")
       (license license:expat))))
 
+(define-public r-sleuth
+  (package
+    (name "r-sleuth")
+    (version "0.30.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/pachterlab/sleuth")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "09xgc7r6iisjkk0c0wn0q56zy0aph386kphwixfzq4422y7vlqci"))))
+    (properties `((upstream-name . "sleuth")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-aggregation
+                             r-data-table
+                             r-dplyr
+                             r-ggplot2
+                             r-lazyeval
+                             r-matrixstats
+                             r-pheatmap
+                             r-reshape2
+                             r-rhdf5
+                             r-shiny
+                             r-tidyr))
+    (native-inputs (list r-knitr))
+    (home-page "https://github.com/pachterlab/sleuth")
+    (synopsis "Tools for investigating RNA-Seq")
+    (description
+     "Sleuth is a program for differential analysis of RNA-Seq data.
+It makes use of quantification uncertainty estimates obtained via Kallisto for
+accurate differential analysis of isoforms or genes, allows testing in the
+context of experiments with complex designs, and supports interactive
+exploratory data analysis via sleuth live.")
+    (license license:gpl3)))
+
 (define-public r-snapatac
   (package
     (name "r-snapatac")
@@ -16602,7 +16969,16 @@ the HiCExplorer and pyGenomeTracks packages.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1yavgxry38g326z10bclvdf8glmma05fxj5m73h15m1r2l9xmw3v"))))
+         "1yavgxry38g326z10bclvdf8glmma05fxj5m73h15m1r2l9xmw3v"))
+       (modules '((guix build utils)))
+       ;; setup.py is malformed. The requirements are defined using a catchall
+       ;; pattern for the patch version number. This has been fixed in version
+       ;; 3.7.3, but we cannot upgrade to this version yet, since some Guix
+       ;; packages are not new enough. (See upstream commit
+       ;; 4845c715ec7b105e938d0c2426e27d0181690bfe for the fix).
+       (snippet '(substitute* "setup.py"
+                   (("\\.\\*")
+                    "")))))
     (build-system pyproject-build-system)
     (arguments
      (list
@@ -20324,24 +20700,28 @@ aligner.")
        (uri (pypi-uri "scvelo" version))
        (sha256
         (base32 "0h5ha1459ljs0qgpnlfsw592i8dxqn6p9bl08l1ikpwk36baxb7z"))))
-    (build-system python-build-system)
+    (build-system pyproject-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         ;; Numba needs a writable dir to cache functions.
-         (add-before 'check 'set-numba-cache-dir
-           (lambda _
-             (setenv "NUMBA_CACHE_DIR" "/tmp")))
-         (replace 'check
-           (lambda* (#:key outputs tests? #:allow-other-keys)
-             (when tests?
-               ;; The discovered test file names must match the names of the
-               ;; compiled files, so we cannot run the tests from
-               ;; /tmp/guix-build-*.
-               (with-directory-excursion
-                   (string-append (assoc-ref outputs "out")
-                                  "/lib/python3.10/site-packages/scvelo/core/tests/")
-                 (invoke "pytest" "-v"))))))))
+     (list
+       #:test-flags
+       ;; XXX: these two tests fail for unknown reasons
+       '(list "-k" "not test_perfect_fit and not test_perfect_fit_2d")
+       #:phases
+       #~(modify-phases %standard-phases
+           ;; Numba needs a writable dir to cache functions.
+           (add-before 'check 'set-numba-cache-dir
+             (lambda _
+               (setenv "NUMBA_CACHE_DIR" "/tmp")))
+           (replace 'check
+             (lambda* (#:key tests? test-flags #:allow-other-keys)
+               (when tests?
+                 ;; The discovered test file names must match the names of the
+                 ;; compiled files, so we cannot run the tests from
+                 ;; /tmp/guix-build-*.
+                 (with-directory-excursion
+                     (string-append #$output
+                                    "/lib/python3.10/site-packages/scvelo/core/tests/")
+                   (apply invoke "pytest" "-v" test-flags))))))))
     (propagated-inputs
      (list python-anndata
            python-hnswlib
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 602d8f26c5..a36bb289cd 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015, 2018, 2019 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2020, 2024 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2018, 2020, 2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2019 Carl Dong <contact@carldong.me>
 ;;; Copyright © 2019 Léo Le Bouter <lle-bout@zaclys.net>
@@ -323,6 +323,9 @@ or false to signal an error."
      ((string=? system "powerpc64-linux") "/lib/ld64.so.1")
      ((string=? system "alpha-linux") "/lib/ld-linux.so.2")
 
+     ;; TODO: Differentiate between x86_64-linux-gnu and x86_64-linux-gnux32.
+     ((string=? system "x86_64-linux-gnux32") "/lib/ld-linux-x32.so.2")
+
      ;; XXX: This one is used bare-bones, without a libc, so add a case
      ;; here just so we can keep going.
      ((string=? system "arm-eabi") "no-ld.so")
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 5181d3a164..80e0b94d01 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -39,7 +39,7 @@
 ;;; Copyright © 2021 Hugo Lecomte <hugo.lecomte@inria.fr>
 ;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
 ;;; Copyright © 2022, 2023 David Elsing <david.elsing@posteo.net>
-;;; Copyright © 2022 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2022, 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
 ;;; Copyright © 2022 jgart <jgart@dismail.de>
 ;;; Copyright © 2023 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
 ;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
@@ -1069,7 +1069,7 @@ but it works for any C/C++ project.")
 (define-public actionlint
   (package
     (name "actionlint")
-    (version "1.6.23")
+    (version "1.6.26")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1078,7 +1078,7 @@ but it works for any C/C++ project.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "07is4920a40zrl7mfldg0az2pisi7f6dv4vh3ijn3nzb4i7fqbni"))))
+                "0j4ni2cryvqn3qim1r6q6sargh0wig6l4vjjwc40cgqvvkrdla04"))))
     (build-system go-build-system)
     (arguments
      '(#:import-path "github.com/rhysd/actionlint/cmd/actionlint"
@@ -1087,7 +1087,7 @@ but it works for any C/C++ project.")
     (inputs (list go-github-com-fatih-color
                   go-github-com-mattn-go-colorable
                   go-github-com-mattn-go-runewidth
-                  go-github-com-robfig-cron-1.2
+                  go-github-com-robfig-cron
                   go-golang.org-x-sync-errgroup
                   go-golang.org-x-sync-semaphore
                   go-gopkg-in-yaml-v3))
diff --git a/gnu/packages/configuration-management.scm b/gnu/packages/configuration-management.scm
index 95a7e8615f..296f48dcd5 100644
--- a/gnu/packages/configuration-management.scm
+++ b/gnu/packages/configuration-management.scm
@@ -21,6 +21,7 @@
   #:use-module (guix build-system go)
   #:use-module (guix git-download)
   #:use-module (gnu packages golang)
+  #:use-module (gnu packages golang-web)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages textutils)
   #:use-module ((guix licenses) #:prefix license:)
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index bf9e94adee..85c527dc32 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -7437,6 +7437,10 @@ consistency with the base functions in the evd package is provided, so that user
 can safely interchange most code.")
     (license license:gpl3)))
 
+;; This package contains minified JavaScript: jExcel CE Spreadsheet,
+;; version 3.9.1.  It is not clear how to obtain this particular
+;; version as there is no tag for 3.9.1.  There only is 3.6.1 and
+;; 4.2.0 at https://github.com/jspreadsheet/ce.
 (define-public r-excelr
   (package
     (name "r-excelr")
@@ -7452,37 +7456,44 @@ can safely interchange most code.")
     (properties `((upstream-name . "excelR")))
     (build-system r-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'process-javascript
-           (lambda* (#:key inputs #:allow-other-keys)
-             (with-directory-excursion "inst/htmlwidgets/lib/jexcel/js/"
-               (let ((source (assoc-ref inputs "js-jexcel"))
-                     (target "jexcel.min.js"))
-                 (format #true "Processing ~a --> ~a~%"
-                         source target)
-                 (invoke "esbuild" source "--minify"
-                         (string-append "--outfile=" target)))))))))
-    (native-inputs
-     `(("esbuild" ,esbuild)
-       ;; There is no tag for this particular commit, but comparison of the
-       ;; contents of the JavaScript files point to this commit as the most
-       ;; likely source.
-       ("js-jexcel"
-        ,(origin
-           (method url-fetch)
-           (uri (string-append "https://raw.githubusercontent.com/jspreadsheet/ce/"
-                               "8af1960f76e6803bebc5750013d2ebe95354e88a/dist/jexcel.js"))
-           (sha256
-            (base32
-             "0y88hsr9d8cpnvdmbm17m328pc4kc5wbcv02kzmhm0bryzhviw7h"))))))
+     (list
+      #:modules
+      '((guix build r-build-system)
+        (guix build minify-build-system)
+        (guix build utils))
+      #:imported-modules
+      `(,@%r-build-system-modules
+        (guix build minify-build-system))
+      #:phases
+      #~(modify-phases (@ (guix build r-build-system) %standard-phases)
+          (add-after 'unpack 'process-javascript
+            (lambda* (#:key inputs #:allow-other-keys)
+              (with-directory-excursion "inst/htmlwidgets/lib/jexcel/js"
+                (minify (search-input-file inputs "/dist/jexcel.js")
+                        #:target "jexcel.min.js")))))))
     (propagated-inputs (list r-htmlwidgets r-jsonlite))
+    (native-inputs
+     (list esbuild
+           ;; There is no tag for this particular commit, but comparison of
+           ;; the contents of the JavaScript files point to this commit as the
+           ;; most likely source.
+           (let* ((commit "8af1960f76e6803bebc5750013d2ebe95354e88a")
+                  (version (git-version "3.9.1" "0" commit)))
+             (origin
+               (method git-fetch)
+               (uri (git-reference
+                     (url "https://github.com/jspreadsheet/ce")
+                     (commit commit)))
+               (file-name (git-file-name "jexcel" version))
+               (sha256
+                (base32
+                 "1zk0wc4h0vax7zgimhwqq2icrvjr84agm3qv42l16gim7gq7fqfq"))))))
     (home-page "https://github.com/Swechhya/excelR")
     (synopsis "Wrapper of the JavaScript library jExcel")
     (description
-     "This package provides an R interface to the jExcel library to
-create web-based interactive tables and spreadsheets compatible with
-spreadsheet software.")
+     "This package provides an R interface to the jExcel library to create
+web-based interactive tables and spreadsheets compatible with spreadsheet
+software.")
     (license license:expat)))
 
 (define-public r-extremes
@@ -9498,14 +9509,14 @@ modeling for empirical income distributions.")
 (define-public r-vcd
   (package
     (name "r-vcd")
-    (version "1.4-11")
+    (version "1.4-12")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "vcd" version))
        (sha256
         (base32
-         "0ch9ks25ab4h4fh4y267s0psvc4ndyaplk8ddva2j54yd1ayhm3s"))))
+         "127dkln826ah5ydp3pmd5bqyns9m9m6yrjnmn7fir4r9al8yycf9"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-colorspace r-lmtest r-mass))
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index ba5d4b9f29..564927c2a7 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -108,6 +108,7 @@
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages golang-check)
+  #:use-module (gnu packages golang-web)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -1600,14 +1601,14 @@ types are supported, as is encryption.")
 (define-public emacs-rec-mode
   (package
     (name "emacs-rec-mode")
-    (version "1.9.1")
+    (version "1.9.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://elpa.gnu.org/packages/"
                                   "rec-mode-" version ".tar"))
               (sha256
                (base32
-                "0f60bw07l6kk1kkjjxsk30p6rxj9mpngaxqy8piyabnijfgjzd3s"))
+                "15m0h84fcrcxpx67mc9any4ap2dcqysfjm1d2a7sx4clx8h3mgk0"))
               (snippet #~(begin (delete-file "rec-mode.info")))))
     (build-system emacs-build-system)
     (arguments
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 7120c2ad75..2df4e6311b 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -69,25 +69,16 @@
 (define-public sddm
   (package
     (name "sddm")
-    (version "0.19.0")
+    (version "0.20.0")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/sddm/sddm"
-                    "/releases/download/v" version "/"
-                    "sddm-" version ".tar.xz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/sddm/sddm")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0hcdysw8ibr66vk8i7v56l0v5ijvhlq67v4460mc2xf2910g2m72"))
-              (snippet
-               #~(begin
-                   ;; https://github.com/sddm/sddm/issues/1536
-                   ;; https://github.com/sddm/sddm/commit/e93bf95c54ad8c2a1604f8d7be05339164b19308
-                   ;; Commit comes shortly after the 0.19.0 release.
-                   (use-modules ((guix build utils)))
-                   (substitute* "src/daemon/XorgDisplayServer.cpp"
-                     (("m_cookie\\[i\\] = digits\\[dis\\(gen\\)\\]")
-                      "m_cookie[i] = QLatin1Char(digits[dis(gen)])"))))))
+                "1450zv03d3mbid27986p4mdshw9qf3ar8crl4idybf7khxgan22y"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules pkg-config qttools-5))
@@ -109,36 +100,39 @@
            shadow
            wayland))
     (arguments
-     `(#:configure-flags
-       ,#~(list
-            ;; This option currently does nothing, but will presumably be enabled
-            ;; if/when <https://github.com/sddm/sddm/pull/616> is merged.
-            "-DENABLE_WAYLAND=ON"
-            "-DENABLE_PAM=ON"
-            ;; Both flags are required for elogind support.
-            "-DNO_SYSTEMD=ON" "-DUSE_ELOGIND=ON"
-            "-DCONFIG_FILE=/etc/sddm.conf"
-            ;; Set path to /etc/login.defs.
-            ;; An alternative would be to use -DUID_MIN and -DUID_MAX.
-            (string-append "-DLOGIN_DEFS_PATH="
-                           #$(this-package-input "shadow")
-                           "/etc/login.defs")
-            (string-append "-DQT_IMPORTS_DIR="
-                           #$output "/lib/qt5/qml")
-            (string-append "-DCMAKE_INSTALL_SYSCONFDIR="
-                           #$output "/etc"))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'embed-loginctl-reference
-           (lambda _
-             (substitute* "CMakeLists.txt"
-               (("/usr/bin/loginctl") (which "loginctl")))
-               #t)))))
+     (list
+      #:configure-flags
+      #~(list
+         "-DENABLE_WAYLAND=ON"
+         "-DENABLE_PAM=ON"
+         ;; Both flags are required for elogind support.
+         "-DNO_SYSTEMD=ON"
+         "-DUSE_ELOGIND=ON"
+         "-DCONFIG_FILE=/etc/sddm.conf"
+         ;; Set path to /etc/login.defs.
+         ;; An alternative would be to use -DUID_MIN and -DUID_MAX.
+         (string-append "-DLOGIN_DEFS_PATH="
+                        #$(this-package-input "shadow")
+                        "/etc/login.defs")
+         (string-append "-DCMAKE_CXX_FLAGS=-I"
+                        #$(this-package-input
+                           "qtdeclarative") "/include/qt5")
+         (string-append "-DQT_IMPORTS_DIR="
+                        #$output "/lib/qt5/qml")
+         (string-append "-DCMAKE_INSTALL_SYSCONFDIR="
+                        #$output "/etc"))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'embed-loginctl-reference
+            (lambda _
+              (substitute* "CMakeLists.txt"
+                (("/usr/bin/loginctl")
+                 (which "loginctl"))))))))
     (synopsis "QML based X11 and Wayland display manager")
     (description "SDDM is a display manager for X11 and Wayland aiming to be
 fast, simple and beautiful.  SDDM is themeable and puts no restrictions on the
-user interface design.  It uses QtQuick which gives the designer the ability to
-create smooth, animated user interfaces.")
+user interface design.  It uses QtQuick which gives the designer the ability
+to create smooth, animated user interfaces.")
     (home-page "https://github.com/sddm/sddm")
     ;; QML files are MIT licensed and images are CC BY 3.0.
     (license (list license:gpl2+ license:expat license:cc-by3.0))))
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index a8ac238f58..f2953295c2 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -14,7 +14,7 @@
 ;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
 ;;; Copyright © 2016, 2019 Alex Griffin <a@ajgrf.com>
-;;; Copyright © 2016-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2016-2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2016-2022 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
@@ -435,7 +435,7 @@ input via a small child-frame spawned at the position of the cursor.")
 (define-public emacs-geiser
   (package
     (name "emacs-geiser")
-    (version "0.29.1")
+    (version "0.30")
     (source
      (origin
        (method git-fetch)
@@ -444,7 +444,7 @@ input via a small child-frame spawned at the position of the cursor.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1jbjhljjbwz2inh8x0ivsx6l1amm550cji6q2rdaay2jl8a8db0q"))))
+        (base32 "1y9k9v7ll816rs20krchrk080b3a5q4hikskaamvr5hrmi0jw938"))))
     (build-system emacs-build-system)
     (arguments
      '(#:phases
@@ -482,7 +482,7 @@ e.g. emacs-geiser-guile for Guile.")
 (define-public emacs-gptel
   (package
     (name "emacs-gptel")
-    (version "0.4.0")
+    (version "0.5.5")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -491,7 +491,7 @@ e.g. emacs-geiser-guile for Guile.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1aac0jds8hzyfvav06mhqm32v81swrnvyv0ldrkd7qxc2b1x4q7n"))))
+                "1vqs03plivb1dmal53j53y4r567ggx4781n2mqyjk6s6wfvyvn93"))))
     (build-system emacs-build-system)
     (arguments
      (list
@@ -2403,7 +2403,7 @@ replacement.")
 (define-public emacs-haskell-mode
   (package
     (name "emacs-haskell-mode")
-    (version "17.4")
+    (version "17.5")
     (source
      (origin
        (method git-fetch)
@@ -2412,9 +2412,7 @@ replacement.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "03j94fgw1bljbjqmikbn9mnrfifxf7g9zrb727zmnnrjwyi0wd4n"))
-       (patches
-        (search-patches "emacs-haskell-mode-no-redefine-builtin.patch"))))
+        (base32 "0ndi986rxq9gz61ss2vazadn7rn0niv1gnpk9nfq9sw3m336glsf"))))
     (propagated-inputs
      (list emacs-dash))
     (native-inputs
@@ -2952,26 +2950,27 @@ in certain cases.  It also enables recursion for anonymous functions.")
     (license license:public-domain)))
 
 (define-public emacs-xah-fly-keys
-  (package
-    (name "emacs-xah-fly-keys")
-    (version "17.13.20220526011611")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/xahlee/xah-fly-keys")
-                    (commit "b1b1ea62c3f1a329376d9125592175cf2027ebc7")))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1gv8d9zgmhzjg6zk2a7y76dz30a3l91xb1p15vldka95faz197wn"))))
-    (build-system emacs-build-system)
-    (home-page "http://xahlee.info/emacs/misc/ergoemacs_vi_mode.html")
-    (synopsis "Modal keybinding system for Emacs, based on command frequency and
+  (let ((commit "e81f8143e9f7b8e55fa549ec6113048e4959b96e"))
+    (package
+      (name "emacs-xah-fly-keys")
+      (version "24.19.20231204080156")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/xahlee/xah-fly-keys")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1pnq4p5y0h7d3nj3vcsdfccc0aahdvcgskik337z6k7hmb32xz48"))))
+      (build-system emacs-build-system)
+      (home-page "http://xahlee.info/emacs/misc/ergoemacs_vi_mode.html")
+      (synopsis "Modal keybinding system for Emacs, based on command frequency and
 ergonomics")
-    (description "xah-fly-keys.el is a modal editing mode for Emacs, like Vi,
+      (description "xah-fly-keys.el is a modal editing mode for Emacs, like Vi,
 but the design of key/command choice is based on command frequency statistics
 and ease-of-key score.  Most frequently used commands have most easy keys.")
-    (license license:gpl3)))
+      (license license:gpl3))))
 
 (define-public emacs-xr
   (package
@@ -3331,7 +3330,7 @@ incrementally confined in Isearch manner.")
          (file-name (git-file-name name version))
          (sha256
           (base32 "1bls9j1ibw0npjapslbrh6nmlbn3d4ajhjygsqlf6h9qg12sxm3r"))))
-      (inputs (list emacs-s))
+      (propagated-inputs (list emacs-s))
       (build-system emacs-build-system)
       (home-page "https://codeberg.org/emacs-weirdware/dnt")
       (synopsis "Strip trackers from URLs")
@@ -3348,14 +3347,14 @@ podcasts) in Emacs.")
 (define emacs-emms-print-metadata
   (package
     (name "emacs-emms-print-metadata")
-    (version "16")
+    (version "17")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://elpa.gnu.org/packages/"
                            "emms-" version ".tar"))
        (sha256
-        (base32 "1c18lrrfg1n5vn1av9p7q3jys27pdmxq8pq5gqb6397jnv9xywby"))))
+        (base32 "103gqlmda24izhb5xrh14k0bwhijr98vnlnmdr9a9xxfla9n5xw0"))))
     (build-system gnu-build-system)
     (arguments
      (list
@@ -4194,7 +4193,7 @@ while paused.")
   (package
     (name "emacs-async")
     (home-page "https://github.com/jwiegley/emacs-async")
-    (version "1.9.7")
+    (version "1.9.8")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -4203,8 +4202,13 @@ while paused.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "18pysi1pf6hbv6w0nq50j5xclvgd006iqqijh44wck9hxhdwyfr1"))))
+                "191bjmwg5bgih1322n4q4i2jxx7aa3cb9lx0ymkwc3r2bdhkn0lp"))))
     (build-system emacs-build-system)
+    (arguments
+     `(#:tests? #t
+       #:test-command '("buttercup" "-L" ".")))
+    (native-inputs
+     (list emacs-buttercup))
     (synopsis "Asynchronous processing in Emacs")
     (description
      "This package provides the ability to call asynchronous functions and
@@ -4216,14 +4220,14 @@ as a library for other Emacs packages.")
 (define-public emacs-auctex
   (package
     (name "emacs-auctex")
-    (version "13.2.2")
+    (version "13.2.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://elpa.gnu.org/packages/"
                            "auctex-" version ".tar"))
        (sha256
-        (base32 "1k8ypxp2iwg7a0m5lyk1sy5chcnmas0gs6frk6xw6k0r974f193s"))))
+        (base32 "1590g2yd8q88xgxc449fxbxwgrbjh2cbcalcs7jk50lhzy3y8mc8"))))
     (build-system emacs-build-system)
     ;; We use 'emacs' because AUCTeX requires dbus at compile time
     ;; ('emacs-minimal' does not provide dbus).
@@ -4544,7 +4548,7 @@ Its features are:
 (define-public emacs-citeproc-el
   (package
     (name "emacs-citeproc-el")
-    (version "0.9.3")
+    (version "0.9.4")
     (source
      (origin
        (method git-fetch)
@@ -4553,12 +4557,13 @@ Its features are:
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0md8pfmd0v9ipnxj1q13vv81hl90wf4rm46czbk1fdzkyf9js08m"))))
+        (base32 "1l74c2f2xjzsp3i331sw3db4fhbvdbwyd856j1ygldwrh4rli9ml"))))
     (build-system emacs-build-system)
     (arguments
      `(#:emacs ,emacs))                 ;need libxml support
     (propagated-inputs
-     (list emacs-dash
+     (list emacs-compat
+           emacs-dash
            emacs-f
            emacs-parsebib
            emacs-queue
@@ -4576,7 +4581,7 @@ of bibliographic references.")
 (define-public emacs-corfu
   (package
     (name "emacs-corfu")
-    (version "0.38")
+    (version "1.1")
     (source
      (origin
        (method git-fetch)
@@ -4585,7 +4590,7 @@ of bibliographic references.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0wh1lw96b2nghwk6lic4k01pfqj73ssw710lx3s8nj2lv5bzh94n"))))
+        (base32 "1c900hl01vf43r6vikjy2glrac1cl2z54rahs5kb4q77cz0z1zxf"))))
     (build-system emacs-build-system)
     (arguments
      (list
@@ -4670,7 +4675,7 @@ be regarded as @code{emacs-company-quickhelp} for @code{emacs-corfu}.")
 (define-public emacs-cape
   (package
     (name "emacs-cape")
-    (version "0.17")
+    (version "1.1")
     (source
      (origin
        (method git-fetch)
@@ -4679,7 +4684,7 @@ be regarded as @code{emacs-company-quickhelp} for @code{emacs-corfu}.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1kzhiffzv20rwjcx0iywj39hxibw0wga9ck77yam9xv7ips2mav4"))))
+        (base32 "0nx08i11s0z9kk711r7wp8sgj00n8hjk5gx0rqr9awrl9fmw1kp2"))))
     (build-system emacs-build-system)
     (arguments
      (list
@@ -4768,20 +4773,18 @@ that the binary uses instead of the actual binary contents.")
     (license license:gpl3+)))
 
 (define-public emacs-org-fc
-  (let ((commit "f64b5336485a42be91cfe77850c02a41575f5984")
-        (revision "0"))
-    (package
+  (package
       (name "emacs-org-fc")
-      (version (git-version "0.1.0" revision commit))
+      (version "0.3.0")
       (source
        (origin
          (method git-fetch)
          (uri (git-reference
                (url "https://git.sr.ht/~l3kn/org-fc")
-               (commit commit)))
+               (commit (string-append "v" version))))
          (file-name (git-file-name name version))
          (sha256
-          (base32 "1d0a3vr09zkplclypcgpfbfd6r0h0i3g3zsqb4pcz6x239d59gd5"))))
+          (base32 "17cdn4sdyb9fs9w725l155lb74inzdn86m8y62m6hn4dgb5l4spm"))))
       (build-system emacs-build-system)
       (arguments
        (list
@@ -4816,7 +4819,7 @@ It allows you to mark headlines in a file as flashcards, turning pieces of
 knowledge you want to learn into a question-answer test.  These cards are
 reviewed at regular interval.  After each review, the next review interval is
 calculated based on how well you remembered the contents of the card.")
-      (license license:gpl3+))))
+      (license license:gpl3+)))
 
 (define-public emacs-font-lock+
   (let ((commit "aa1c82d05c9222b09099a0ccd7468e955497940c")
@@ -5879,7 +5882,7 @@ kmonad's configuration files (@file{.kbd}).")
 (define-public emacs-keycast
   (package
     (name "emacs-keycast")
-    (version "1.3.2")
+    (version "1.3.3")
     (source
      (origin
        (method git-fetch)
@@ -5888,7 +5891,7 @@ kmonad's configuration files (@file{.kbd}).")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0nqx53a1hjgibqrmkdic6syqb2fb5fkna0k5dbbg6igb5k775c8r"))))
+        (base32 "0hwmjy90ngnbvhxiyf4l3lb7212i5bsqdz73qnfg1iwa7vgkv1q7"))))
     (build-system emacs-build-system)
     (propagated-inputs
      (list emacs-compat))
@@ -6098,32 +6101,42 @@ english words between singular and plural.")
     (license license:gpl3+)))
 
 (define-public emacs-blight
-  (let ((commit "6bf9c6192d2bf979eebbfae1963401ef3ff4ef5d")
-        (revision "0"))
-    (package
-      (name "emacs-blight")
-      (version (git-version "0" revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://codeberg.org/emacs-weirdware/blight")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32 "1x7s1fcva5kkl9iyb5grd6crf38rrz3zb0c6wb85khi9far10vgq"))))
-      (build-system emacs-build-system)
-      (home-page "https://codeberg.org/emacs-weirdware/blight")
-      (synopsis "Control display brightness")
-      (description
-       "Blight allows you to control display brightness from Emacs.  It
-features object-oriented code using EIEIO, a base class implementing
-a reasonable API which focuses on the @emph{set the back light to this
-percentage} functionality, it includes a concrete implementation that uses
-SysFS to control brightness.  Other systems (D-Bus, xbacklight, XELB using
-XRandR) are easily supportable, giving the same experience across
-environments.")
-      (license license:gpl3+))))
+  (package
+    (name "emacs-blight")
+    (version "1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://codeberg.org/emacs-weirdware/blight")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1k1w1jr56pp8dgcpdxrymiam1hxsdy7nh6gi5l17pimwba3r4wbm"))))
+    (build-system emacs-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-udev-rules-absolute-path-bins
+            (lambda _
+              (substitute* "20-backlight.rules"
+                (("/bin/chgrp") (which "chgrp"))
+                (("/bin/chmod") (which "chmod")))))
+          (add-after 'install 'install-udev-rules
+            (lambda _
+              (install-file "20-backlight.rules"
+                            (string-append #$output "/lib/udev/rules.d")))))))
+    (home-page "https://codeberg.org/emacs-weirdware/blight")
+    (synopsis "Control display brightness")
+    (description
+     "Blight allows you to control display brightness from Emacs.  It features
+object-oriented code using EIEIO, a base class implementing a reasonable API
+which focuses on the @emph{set the back light to this percentage}
+functionality, it includes a concrete implementation that uses SysFS to
+control brightness.  Other systems (D-Bus, xbacklight, XELB using XRandR) are
+easily supportable, giving the same experience across environments.")
+    (license license:gpl3+)))
 
 (define-public emacs-symon
   (package
@@ -6504,7 +6517,7 @@ This mode supports Apache HTTP Server 2.4 and major modules.")
 (define-public emacs-apheleia
   (package
     (name "emacs-apheleia")
-    (version "3.2")
+    (version "4.0")
     (source
      (origin
        (method git-fetch)
@@ -6513,7 +6526,7 @@ This mode supports Apache HTTP Server 2.4 and major modules.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0rcga3nq1ly5xg61zv3jxgqi0krxk86c24wcrij4vzidhn0s9ncn"))))
+        (base32 "0afv75w028v59qf777nrf57xj9yaz3jj2bixfmkgiqrn1wii9pm6"))))
     (build-system emacs-build-system)
     (home-page "https://github.com/raxod502/apheleia")
     (synopsis "Reformat buffer stably")
@@ -6996,7 +7009,7 @@ then refine or modify the search results.")
 (define-public emacs-inf-ruby
   (package
     (name "emacs-inf-ruby")
-    (version "2.8.0")
+    (version "2.8.1")
     (source
      (origin
        (method git-fetch)
@@ -7005,7 +7018,7 @@ then refine or modify the search results.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0dxjcr34xsa0m25yw8pp4iwjq8cqdgs6r8ls4lwfb69rnii7jmn5"))))
+        (base32 "043ml560z69rlgw60w7m03r6cdwp8gfi1zs38qykg2yi98l6gg3x"))))
     (build-system emacs-build-system)
     (home-page "https://github.com/nonsequitur/inf-ruby")
     (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
@@ -7838,16 +7851,16 @@ method and constant name completion.")
 (define-public emacs-robot-mode
   (package
     (name "emacs-robot-mode")
-    (version "0.7.0")
+    (version "0.8.0")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/kopoli/robot-mode")
-             (commit version)))
+             (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "10i4lwjf60ms3dj8s7k9c0vb24rhszskhciz9lijphcdh8k622hz"))))
+        (base32 "1a377lws4f0az2y1r3z2i3mghvg7a4094wkchvjvsl1nd6yxdxwa"))))
     (build-system emacs-build-system)
     (home-page "https://github.com/kopoli/robot-mode")
     (synopsis "Emacs mode for Robot Framework")
@@ -8099,7 +8112,7 @@ It is not intended as a user interface.")
 (define-public emacs-sqlite3-api
   (package
     (name "emacs-sqlite3-api")
-    (version "0.17")
+    (version "0.18")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -8108,7 +8121,7 @@ It is not intended as a user interface.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1y36818nd47mzfi3xcp31nr8n0izzmdyiqfx9hgp7ag98rbm7wlx"))))
+                "1d1r65ybcf5idbs8sv0l3dna4l1wy3jba9dvv1kkz7zj6qhr48fs"))))
     (build-system emacs-build-system)
     (arguments
      (list
@@ -8749,14 +8762,14 @@ user.")
 (define-public emacs-subed
   (package
     (name "emacs-subed")
-    (version "1.2.7")
+    (version "1.2.11")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://elpa.nongnu.org/nongnu/subed-"
                                   version ".tar"))
               (sha256
                (base32
-                "1rvc17pvig3ihc74d7i25kl3lnigp0h8lh634x0676hdx38h91ib"))))
+                "1dlh7vd8kc16wr9sqd3v7kkxfvqadi56pa52h35b86krndh4vazp"))))
     (arguments
      (list
       #:tests? #t
@@ -9686,30 +9699,28 @@ one Emacs buffer.")
       (license license:gpl3+))))
 
 (define-public emacs-mc-extras
-  (let ((commit "053abc52181b8718559d7361a587bbb795faf164")
-        (revision "1"))
-    (package
-      (name "emacs-mc-extras")
-      (version (git-version "1.2.4" revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/knu/mc-extras.el")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32 "16y48qrd20m20vypvys5jp4v4gc1qrqlkm75s1pk1r68i9zrw481"))))
-      (build-system emacs-build-system)
-      (propagated-inputs
-       (list emacs-multiple-cursors))
-      (home-page "https://github.com/knu/mc-extras.el")
-      (synopsis "Extra functions for manipulating multiple cursors")
-      (description
-       "This package provides additional functions for
+  (package
+    (name "emacs-mc-extras")
+    (version "1.3.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/knu/mc-extras.el")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1xrlp192wi51qpzgpkn9ph5zlpj08ifd8r3444llskyv0bay6g14"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     (list emacs-multiple-cursors))
+    (home-page "https://github.com/knu/mc-extras.el")
+    (synopsis "Extra functions for manipulating multiple cursors")
+    (description
+     "This package provides additional functions for
 @code{multiple-cursors}, including functions for marking s-expressions,
 comparing characters, removing cursors, and more.")
-      (license license:bsd-2))))
+    (license license:bsd-2)))
 
 (define-public emacs-substitute
   (package
@@ -10094,13 +10105,20 @@ constants and units into an Emacs buffer.")
        (sha256
         (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
     (build-system emacs-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'remove-spurious-require
+                 (lambda _
+                   (substitute* "tagedit.el"
+                     (("\\(require 'assoc\\)") "")))))))
     (propagated-inputs
-     (list emacs-s emacs-dash))
+     (list emacs-dash emacs-s))
     (home-page "https://github.com/magnars/tagedit")
-    (synopsis "Some paredit-like features for html-mode")
+    (synopsis "Some Paredit-like features for HTML mode")
     (description
-     "This package provides a collection of paredit-like functions for editing
-in @code{html-mode}.")
+     "This package provides a collection of Paredit-like functions for editing
+in HTML mode.")
     (license license:gpl3+)))
 
 (define-public emacs-slime
@@ -10647,7 +10665,7 @@ sgml/html integration, and indentation (working with sgml).")
 (define-public emacs-jinx
   (package
     (name "emacs-jinx")
-    (version "1.0")
+    (version "1.1")
     (source
      (origin
        (method git-fetch)
@@ -10657,7 +10675,7 @@ sgml/html integration, and indentation (working with sgml).")
          (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "00rlp7iby02zd3sqigpyskph4a26r0dgp53y17hm4xjr6zqifhz5"))))
+        (base32 "08ajkhpds3m8dk1m2h84vcn6pg5w6hbq55xyd50593kb012a2pmz"))))
     (build-system emacs-build-system)
     (arguments
      (list
@@ -11130,7 +11148,7 @@ started with 20 minutes.  All values are customizable.")
 (define-public emacs-org-sidebar
   (package
     (name "emacs-org-sidebar")
-    (version "0.3.2")
+    (version "0.4")
     (source
      (origin
        (method git-fetch)
@@ -11139,10 +11157,13 @@ started with 20 minutes.  All values are customizable.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1r8kp954ciin4j7j7j8ihdkryf5x09s3ryl7bi9h2j6xqc1ij4wq"))))
+        (base32 "1gccih9wgi31m59flljw4cphfyhlfcqbjih91gkcnldq5z7n83nj"))))
     (build-system emacs-build-system)
     (propagated-inputs
-     (list emacs-dash emacs-org-super-agenda emacs-org emacs-org-ql
+     (list emacs-dash
+           emacs-org
+           emacs-org-ql
+           emacs-org-super-agenda
            emacs-s))
     (home-page "https://github.com/alphapapa/org-sidebar")
     (synopsis "Helpful sidebar for Org buffers")
@@ -11320,7 +11341,7 @@ variants.")
 (define-public emacs-solarized-theme
   (package
     (name "emacs-solarized-theme")
-    (version "2.0.3")
+    (version "2.0.4")
     (source
      (origin
        (method git-fetch)
@@ -11329,7 +11350,7 @@ variants.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0mip5da7glzylmagxkmi2f68i19phbbzn72vh3jd3w76labcvbzm"))))
+        (base32 "18z36nzyh4dsd8igys37x0r3lnav77fvjrkxv48v3yjsrwli19gl"))))
     (build-system emacs-build-system)
     (propagated-inputs
      (list emacs-dash))
@@ -11739,7 +11760,7 @@ include installing, removing or visiting the homepage.")
 (define-public emacs-prescient
   (package
     (name "emacs-prescient")
-    (version "6.1")
+    (version "6.2")
     (source
      (origin
        (method git-fetch)
@@ -11748,7 +11769,7 @@ include installing, removing or visiting the homepage.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1mc9pjb80bxcmzaylfwh0sgpvwbx3h35jalznwz464hw3vqfff83"))))
+        (base32 "1vj21kcqlsa02nvslmxgxsbv4pc93gakj4x2a6rbk87zl6ccw7pk"))))
     (build-system emacs-build-system)
     (propagated-inputs
      (list emacs-company emacs-corfu emacs-ivy emacs-selectrum emacs-vertico))
@@ -11822,7 +11843,7 @@ style, or as multiple word prefixes.")
 (define-public emacs-consult
   (package
     (name "emacs-consult")
-    (version "0.35")
+    (version "1.1")
     (source
      (origin
        (method git-fetch)
@@ -11830,7 +11851,7 @@ style, or as multiple word prefixes.")
              (url "https://github.com/minad/consult")
              (commit version)))
        (sha256
-        (base32 "0a20rfqv2yfwqal1vx6zzg92qgr32p3rp7n6awnyb010jnykqszw"))
+        (base32 "11fgjgny10falyjs0dlb8cvvfqpvc538mskq4j60j68v36nnkb23"))
        (file-name (git-file-name name version))))
     (build-system emacs-build-system)
     (arguments
@@ -11977,29 +11998,26 @@ call.")
       (license license:gpl3+))))
 
 (define-public emacs-consult-flycheck
-  ;; This particular commit introduces bug fixes above latest release.
-  (let ((commit "3f2a7c17cc2fe64e0c07e3bf90e33c885c0d7062")
-        (revision "0"))
-    (package
-      (name "emacs-consult-flycheck")
-      (version (git-version "0.9" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/minad/consult-flycheck")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "0cvxl6ynbns3wlpzilhg4ldakb91ikpibbr9wpb2wkzbgi5c766c"))))
-      (build-system emacs-build-system)
-      (propagated-inputs (list emacs-consult emacs-flycheck))
-      (home-page "https://github.com/minad/consult-flycheck")
-      (synopsis "Consult integration for Flycheck")
-      (description
-       "This package provides the @code{consult-flycheck} command for Emacs,
+  (package
+    (name "emacs-consult-flycheck")
+    (version "1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/minad/consult-flycheck")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1yi2qa4gbxlyhwc4rj3iidgr1dpdij68gbkgkk55l53p3yl1p2ww"))))
+    (build-system emacs-build-system)
+    (propagated-inputs (list emacs-consult emacs-flycheck))
+    (home-page "https://github.com/minad/consult-flycheck")
+    (synopsis "Consult integration for Flycheck")
+    (description
+     "This package provides the @code{consult-flycheck} command for Emacs,
  which integrates @code{Consult} with @code{Flycheck}.")
-      (license license:gpl3+))))
+    (license license:gpl3+)))
 
 (define-public emacs-eglot-tempel
   (let ((commit "e08b203d6a7c495d4b91ed4537506b5f1ea8a84f")
@@ -12090,7 +12108,7 @@ expansion and overwriting the marked region with a new snippet completion.")
 (define-public emacs-marginalia
   (package
     (name "emacs-marginalia")
-    (version "1.3")
+    (version "1.5")
     (source
      (origin
        (method git-fetch)
@@ -12099,7 +12117,7 @@ expansion and overwriting the marked region with a new snippet completion.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0fjbif2l5fj4xjb9drqfc8zxla8y7mha0imdd1nm4x83i0y4fa6l"))))
+        (base32 "12ncif2lv6d7r2g87lyjr7idbqa283ijb3qgd5a61i3760czs7d6"))))
     (build-system emacs-build-system)
     (arguments
      (list
@@ -13227,7 +13245,7 @@ allowing unprefixed keys to insert their respective characters as expected.")
 (define-public emacs-clojure-mode
   (package
     (name "emacs-clojure-mode")
-    (version "5.18.0")
+    (version "5.18.1")
     (source
      (origin
        (method git-fetch)
@@ -13236,7 +13254,7 @@ allowing unprefixed keys to insert their respective characters as expected.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0g4x587fpzcj9y59k8sb1g7c6yvga9gjs8ximpmar7d8jq2cv5qa"))))
+        (base32 "1d5kkq2i8d04k2qfrb31zyjpij92ckbccnzvz01mls3xrvpr57m5"))))
     (build-system emacs-build-system)
     (native-inputs
      (list emacs-buttercup emacs-dash emacs-paredit emacs-s))
@@ -13279,7 +13297,7 @@ Clojure projects from templates.")
 (define-public emacs-clj-refactor
   (package
     (name "emacs-clj-refactor")
-    (version "3.10.0")
+    (version "3.11.2")
     (source
      (origin
        (method git-fetch)
@@ -13288,7 +13306,7 @@ Clojure projects from templates.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "100ngpgvff0xvw1h5krvh40sa3ympl241imwskcv62yk29m9z411"))))
+        (base32 "1y8xphmmd2ciwnrr7lbiwq0v5c7chq60wssxng9mw0fiz2i3ix22"))))
     (build-system emacs-build-system)
     (propagated-inputs
      (list emacs-cider
@@ -13816,7 +13834,7 @@ to all the other commands, too.")
 (define-public emacs-js2-mode
   (package
     (name "emacs-js2-mode")
-    (version "20230408")
+    (version "20231224")
     (source
      (origin
        (method git-fetch)
@@ -13825,7 +13843,7 @@ to all the other commands, too.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1vwykla43315wlky52807pn2nm508dx6593alk7hnrl2qkl7852s"))))
+        (base32 "11ppp1m7hl4ii79zjw62bqvksyzh5xmp3q1qw21wlj2s47mkpm73"))))
     (build-system emacs-build-system)
     (arguments
      `(#:tests? #t
@@ -14981,7 +14999,7 @@ that uses the standard completion function completing-read.")
 (define-public emacs-yaml
   (package
     (name "emacs-yaml")
-    (version "0.5.4")
+    (version "0.5.5")
     (source
      (origin
        (method git-fetch)
@@ -14990,8 +15008,15 @@ that uses the standard completion function completing-read.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "10sdcihgd8yvdf7yab5fsvq65amp25msjh7mbrxgk3w4zc96fxzi"))))
+        (base32 "0qq9jr1ihk1b5wfvppyvb8c2pq2gma9wysggd22iln4nqz2mjc81"))))
     (build-system emacs-build-system)
+    (arguments
+     (list
+      #:tests? #true
+      #:test-command #~(list "emacs" "--batch" "-Q"
+                             "-l" "yaml.el"
+                             "-l" "yaml-tests.el"
+                             "-f" "ert-run-tests-batch-and-exit")))
     (home-page "https://github.com/zkry/yaml.el")
     (synopsis "YAML parser in Elisp")
     (description
@@ -15148,7 +15173,7 @@ ack, ag, helm and pt.")
 (define-public emacs-helm
   (package
     (name "emacs-helm")
-    (version "3.9.5")
+    (version "3.9.6")
     (source
      (origin
        (method git-fetch)
@@ -15157,7 +15182,7 @@ ack, ag, helm and pt.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "067nc728dfbwzfs07z26cwcqjj00l4lvw3n9bl1zw094v0x6hxxm"))))
+        (base32 "01b2608gsly557927wdkp71mbakk7h23icjnxq097r12zra4agc7"))))
     (build-system emacs-build-system)
     (propagated-inputs
      (list emacs-async emacs-popup))
@@ -15444,7 +15469,7 @@ implementation.")
 (define-public emacs-cider
   (package
     (name "emacs-cider")
-    (version "1.9.0")
+    (version "1.12.0")
     (source
      (origin
        (method git-fetch)
@@ -15453,7 +15478,7 @@ implementation.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0sjscbi3qgwn3wcpq5lz7k4gam69h0svh8wbhxcbskr9ys1rmysp"))))
+        (base32 "11bibkbv3x0z4ilxra3p91nh8klgg3mg3h4f63pxnnp8fjhqpsph"))))
     (build-system emacs-build-system)
     (arguments
      '(#:include (cons* "^lein\\.sh$" "^clojure\\.sh$" %default-include)
@@ -16528,7 +16553,7 @@ passive voice.")
 (define-public emacs-org
   (package
     (name "emacs-org")
-    (version "9.6.12")
+    (version "9.6.14")
     (source
      (origin
        (method git-fetch)
@@ -16537,7 +16562,7 @@ passive voice.")
              (commit (string-append "release_" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1anzvsa7kj2rp419qc5rv8jz50h7np391lcgbxcin727njyc7wpr"))))
+        (base32 "0g59nfx8gqzkqidqvyvh83yd7mahjm9khhr1ccwqj3r4phwpciqx"))))
     (build-system emacs-build-system)
     (arguments
      (list
@@ -17134,7 +17159,7 @@ you to deal with multiple log levels.")
 (define-public emacs-denote
   (package
     (name "emacs-denote")
-    (version "2.1.0")
+    (version "2.2.0")
     (source
      (origin
        (method git-fetch)
@@ -17143,7 +17168,7 @@ you to deal with multiple log levels.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1gfjckqh170z8slhm0wdqf0570ywgni7b1wdnifxf5cb69h3izpr"))))
+        (base32 "0w9r5d0br5hpay13vbx78ak2n0yy8bbwlaxnz4p5ggxiv8g5044q"))))
     (build-system emacs-build-system)
     (native-inputs (list texinfo))
     (home-page "https://protesilaos.com/emacs/denote/")
@@ -17263,7 +17288,7 @@ using a convenient notation.")
 (define-public emacs-beframe
   (package
     (name "emacs-beframe")
-    (version "0.3.0")
+    (version "1.0.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -17272,7 +17297,7 @@ using a convenient notation.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1nblpac1pkhgwpbw0k0p9xx6yc5kiai4pznw39slx703mzzqzqyj"))))
+                "08k9lwfxfvpm50n1c0gcm07sicd6yw7dbyyvhp8lai6pfxl465v9"))))
     (build-system emacs-build-system)
     (arguments
      (list
@@ -18673,7 +18698,7 @@ in Emacs.")
 (define-public emacs-php-mode
   (package
     (name "emacs-php-mode")
-    (version "1.25.0")
+    (version "1.25.1")
     (home-page "https://github.com/emacs-php/php-mode")
     (source
      (origin
@@ -18683,7 +18708,7 @@ in Emacs.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1vwbxaxjvz2hhb6pli1bh1qlrc2r991zl4i18wiwk78ffanqx6q0"))))
+        (base32 "1pxv4c63dma1il6w8vl2485yddp0ngm3gvfdqwjjszanfdxa4fg1"))))
     (build-system emacs-build-system)
     (arguments
      (list
@@ -19491,7 +19516,7 @@ Emacs.")
 (define-public emacs-eglot
   (package
     (name "emacs-eglot")
-    (version "1.15")
+    (version "1.16")
     (source
      (origin
        (method url-fetch)
@@ -19499,7 +19524,7 @@ Emacs.")
                            ".tar"))
        (sha256
         (base32
-         "05brq76xbdkbhbn572n0hyz80lwc3ly5waaqsaan5l1apxgl6ww7"))))
+         "0zi2r8fp7acqlx8s4k2m9dc8w29bwsxyvfa6cnd1366nm3rlfybn"))))
     (build-system emacs-build-system)
     (propagated-inputs
      (list emacs-external-completion
@@ -19601,14 +19626,14 @@ more information.")
 (define-public emacs-eldoc
   (package
     (name "emacs-eldoc")
-    (version "1.14.0")
+    (version "1.15.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append
              "https://elpa.gnu.org/packages/eldoc-" version ".tar"))
        (sha256
-        (base32 "15bg61nbfb6l51frlsn430ga3vscns2651wvi6377vlyra7kgn39"))))
+        (base32 "1wn7q2f19lfdc3b639ffhbmsglnm3zc6rvgyc6amqwnpc2n2gkdl"))))
     (build-system emacs-build-system)
     (home-page "https://elpa.gnu.org/packages/eldoc.html")
     (synopsis "Show function arglist or variable docstring in echo area")
@@ -19844,7 +19869,7 @@ a @url{http://json.org/, JSON} file.")
 (define-public emacs-json-mode
   (package
     (name "emacs-json-mode")
-    (version "1.8.0")
+    (version "1.9.0")
     (source
      (origin
        (method git-fetch)
@@ -19853,7 +19878,7 @@ a @url{http://json.org/, JSON} file.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0r0k56q58kb133l9x9nbisz9p2kbphfgw1l4g2xp0pjqsc9wvq8z"))))
+        (base32 "0irz9gpw43wkhiq8828wm9nsc3baqg299dgly9iv7jiygk2lp14s"))))
     (build-system emacs-build-system)
     (propagated-inputs
      (list emacs-json-snatcher))
@@ -19868,10 +19893,10 @@ highlighting.")
   ;; upstreamed.  By convention, it should refer to a commit in which
   ;; jsonrpc.el was actually touched.  In order to find this, you can refer to
   ;; <https://git.savannah.gnu.org/cgit/emacs.git/log/?qt=grep&q=jsonrpc>.
-  (let ((commit "2d835d64ba339bb375f0d55c4679149d6da3f209")) ;version bump
+  (let ((commit "731cfee3b45361158d88bded3c32c9a48ace7bdb")) ;version bump
     (package
       (name "emacs-jsonrpc")
-      (version "1.0.17")
+      (version "1.0.23")
       (source
        (origin
          (method git-fetch)
@@ -19881,7 +19906,7 @@ highlighting.")
          (file-name (git-file-name name version))
          (sha256
           (base32
-           "1jv8pcq0yad5wmqsdvamwq6674p6ghpyyznbd2x5mlxyp6za6cx5"))))
+           "0xrlqjd4kj7z5ssidi159n8fm1hx35if2h1ds586ppf8y057bmhn"))))
       (build-system emacs-build-system)
       (arguments
        (list #:phases
@@ -20393,7 +20418,7 @@ multiplexer.")
 (define-public emacs-plz
   (package
     (name "emacs-plz")
-    (version "0.7")
+    (version "0.7.1")
     (source
      (origin
        (method git-fetch)
@@ -20402,7 +20427,7 @@ multiplexer.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "18lq7v2gglfnax5r1svh9p0fcd5hs745js57nl8bk58ba047a9q8"))))
+        (base32 "0x2yhkdagwdqzjkaq54l095m3zvn49dg8y47wg27qdb5m2cjnswr"))))
     (build-system emacs-build-system)
     (inputs (list curl))
     (arguments
@@ -22579,6 +22604,26 @@ objects.  All objects have to share a common superclass and subclasses cannot
 add any additional instance slots.")
     (license license:gpl3)))
 
+(define-public emacs-sql-indent
+  (package
+    (name "emacs-sql-indent")
+    (version "1.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://elpa.gnu.org/packages/sql-indent-" version
+                           ".tar"))
+       (sha256
+        (base32 "043qcy97a5hx68w0ac7xsk380l2i7bphgrdz6aby2zfpp90vrjpn"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/alex-hhh/emacs-sql-indent")
+    (synopsis "Support for indenting code in SQL files")
+    (description
+     "This package provides a minor mode that enables syntax-based indentation
+for SQL mode buffers.  Indentation rules are flexible and can be customized to
+match your personal coding style.")
+    (license license:gpl3+)))
+
 (define-public emacs-epkg
   (package
     (name "emacs-epkg")
@@ -23055,7 +23100,7 @@ according to a parsing expression grammar.")
 (define-public emacs-eldev
   (package
     (name "emacs-eldev")
-    (version "1.7")
+    (version "1.8.1")
     (source
      (origin
        (method git-fetch)
@@ -23064,7 +23109,7 @@ according to a parsing expression grammar.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1q30r6di3r8dxxfbxfyii7kfvjj83c16bxx8ixadki3ix6imd6l5"))))
+        (base32 "058f2k2qhwbyr7a759wig9x6v6n2rl7zshqjbp4jnhnkcqkr70g5"))))
     (build-system emacs-build-system)
     (arguments
      (list
@@ -23144,7 +23189,7 @@ interactive commands and functions, such as @code{completing-read}.")
 (define-public emacs-org-ql
   (package
     (name "emacs-org-ql")
-    (version "0.7.3")
+    (version "0.8")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -23152,7 +23197,7 @@ interactive commands and functions, such as @code{completing-read}.")
                     (commit (string-append "v" version))))
               (sha256
                (base32
-                "1jdkk837z8fw2dff5v8fh2dhx7rz348sf5jqpj2aja5ji48p0fs9"))
+                "0l403n75xyjf14pbk7hfdzajv393mk5m0xp9csv8dl805rgzrdkr"))
               (file-name (git-file-name name version))))
     (build-system emacs-build-system)
     (arguments
@@ -23162,7 +23207,8 @@ interactive commands and functions, such as @code{completing-read}.")
     (native-inputs
      (list emacs-buttercup emacs-with-simulated-input emacs-xr))
     (propagated-inputs
-     (list emacs-dash
+     (list emacs-compat
+           emacs-dash
            emacs-f
            emacs-helm
            emacs-helm-org
@@ -23269,7 +23315,7 @@ files to be expanded upon opening them.")
 (define-public emacs-ebib
   (package
     (name "emacs-ebib")
-    (version "2.39.4")
+    (version "2.40.3")
     (source
      (origin
        (method git-fetch)
@@ -23278,10 +23324,10 @@ files to be expanded upon opening them.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "08j6z4rpnvz7vhdrm7y3prf2jpxclqicid6as4qljysq3czzfhay"))))
+        (base32 "07pyb76impqpczx6hl6amfs4hfnszfwydp27az46dkqc17hy0fgy"))))
     (build-system emacs-build-system)
     (propagated-inputs
-     (list emacs-biblio emacs-ivy emacs-parsebib))
+     (list emacs-biblio emacs-compat emacs-ivy emacs-parsebib))
     (home-page "https://joostkremers.github.io/ebib/")
     (synopsis "BibTeX database manager for Emacs")
     (description
@@ -24145,14 +24191,14 @@ or expressions with SVG rounded box labels that are fully customizable.")
 (define-public emacs-kind-icon
   (package
     (name "emacs-kind-icon")
-    (version "0.2.0")
+    (version "0.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://elpa.gnu.org/packages/kind-icon-"
                            version ".tar"))
        (sha256
-        (base32 "1vgwbd99vx793iy04albkxl24c7vq598s7bg0raqwmgx84abww6r"))))
+        (base32 "0ri5k2bgr9cf0qsdznsil70b4zs4z00fs4k35c3dj7kxx9nlncfi"))))
     (build-system emacs-build-system)
     (propagated-inputs (list emacs-svg-lib))
     (home-page "https://github.com/jdtsmith/kind-icon")
@@ -24774,7 +24820,7 @@ powerful Org contents.")
 (define-public emacs-org-re-reveal
   (package
     (name "emacs-org-re-reveal")
-    (version "3.23.0")
+    (version "3.25.0")
     (source
      (origin
        (method git-fetch)
@@ -24783,7 +24829,7 @@ powerful Org contents.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1ss71iy1xnhr3p4mmfbnbgvp7kjqxpqag49f851wgmmwwg8gajvd"))))
+        (base32 "13q45c2a4y6pkaiixf931j4rq6sfpklxx854xwadik4a3mm06ipi"))))
     (build-system emacs-build-system)
     (propagated-inputs
      (list emacs-htmlize emacs-org))
@@ -26700,7 +26746,7 @@ tracking.")
 (define-public emacs-helm-company
   (package
     (name "emacs-helm-company")
-    (version "0.2.7")
+    (version "0.2.8")
     (source
      (origin
        (method git-fetch)
@@ -26710,7 +26756,7 @@ tracking.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0zg878i48kmgw9lj772c3kx5v13k9k2afz98j65jx2bjbcm9f338"))))
+         "0lschnr15c39bnfvm2zdp7f3qvyzrdk8gzzwcb1g2d9jy3mkcq05"))))
     (build-system emacs-build-system)
     (propagated-inputs
      (list emacs-helm emacs-company))
@@ -28266,7 +28312,7 @@ This package also includes a @code{yt-dlp} front-end.")
 (define-public emacs-org-web-tools
   (package
     (name "emacs-org-web-tools")
-    (version "1.2")
+    (version "1.3")
     (source
      (origin
        (method git-fetch)
@@ -28276,10 +28322,15 @@ This package also includes a @code{yt-dlp} front-end.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1w24d1cxzgjqycqz894kg3707n3ckwpv5cmbywfaffsz1v5i2p3a"))))
+         "0x1j1y2pl6a8f97cw04nm0w6g4jh449cjfsr2aryn316ms4nj1a0"))))
     (build-system emacs-build-system)
     (propagated-inputs
-     (list emacs-compat emacs-dash emacs-esxml emacs-request emacs-s))
+     (list emacs-compat
+           emacs-dash
+           emacs-esxml
+           emacs-plz
+           emacs-request
+           emacs-s))
     (inputs
      (list pandoc))
     (arguments
@@ -28866,7 +28917,7 @@ targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
 (define-public emacs-buttercup
   (package
     (name "emacs-buttercup")
-    (version "1.31")
+    (version "1.33")
     (source
      (origin
        (method git-fetch)
@@ -28876,7 +28927,7 @@ targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1rvc9r6swb74lhzd877jidkkf2cxl5v4zz302j2imqhsbk844qzh"))))
+         "10q6zr837yaal1g3l7vmj08b3c301j99b290pylshb0si360a27h"))))
     (build-system emacs-build-system)
     (arguments
      (list
@@ -29514,7 +29565,7 @@ tabulated-lists).")
 (define-public emacs-eat
   (package
     (name "emacs-eat")
-    (version "0.9.2")
+    (version "0.9.4")
     (source
      (origin
        (method git-fetch)
@@ -29524,7 +29575,7 @@ tabulated-lists).")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1mw3iwid2iky0kwpn90bbswx8m4kkni5zdjc75clzhzzygh340sd"))
+         "0h4j40amdd92h1bhwcyw0kn6j2ihs671xfmz028qklx5cw8a31yg"))
        (modules '((guix build utils)))
        (snippet
         #~(begin
@@ -29568,10 +29619,11 @@ shell integration.")
     (license license:gpl3+)))
 
 (define-public emacs-vterm
-  (let ((commit "e19dc2bb9859a75616bf068c341a540d0d329e4d"))
+  (let ((commit "c3a3a23a5eace137947524c93644204bf6b56cff")
+        (revision "1"))
     (package
       (name "emacs-vterm")
-      (version "0.0.2")
+      (version (git-version "0.0.2" revision commit))
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
@@ -29580,7 +29632,7 @@ shell integration.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "0iqlzpy83ra6xz406fmddfj72bmkdb5b1j59m1dbxf3wxn55320d"))))
+                  "0a3akvqmwh3frgbk1rgmi4b2gwdnpa3fymg7prin3k3jgqih1piv"))))
       (build-system emacs-build-system)
       (arguments
        `(#:modules ((guix build emacs-build-system)
@@ -30071,7 +30123,7 @@ constant expressions.")
 (define-public emacs-docker
   (package
     (name "emacs-docker")
-    (version "2.2.0")
+    (version "2.3.1")
     (source
      (origin
        (method git-fetch)
@@ -30080,7 +30132,7 @@ constant expressions.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1743x2s7ss7h329yayima3pqi62f0qjv56g5y6b7iwk40wpnhv9v"))))
+        (base32 "13927ns3393q40gxrfzyqh6ajxzfjg14d0srfxi6ild3pmaz0460"))))
     (inputs
      (list emacs-undercover))
     (propagated-inputs
@@ -30714,47 +30766,43 @@ as Emacs Lisp.")
     (license license:gpl3+)))
 
 (define-public emacs-transient
-  ;; Use this unreleased commit to support a recent Magit change needed to add
-  ;; Reviewed-by: tags for any contributor.
-  (let ((commit "cc0fa80530b02493f73b870032bfcdd1435286cd")
-        (revision "0"))
-    (package
-      (name "emacs-transient")
-      (version (git-version "0.4.3" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/magit/transient")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "10yaanpz3krh3f9vzyafg6n85yp8sk58gj9vrpsqg926x4m0w1p1"))))
-      (build-system emacs-build-system)
-      (arguments
-       `(#:tests? #f                      ;no test suite
-         #:phases (modify-phases %standard-phases
-                    (add-after 'unpack 'build-info-manual
-                      (lambda _
-                        (invoke "make" "info")
-                        ;; Move the info file to lisp so that it gets
-                        ;; installed by the emacs-build-system.
-                        (rename-file "docs/transient.info"
-                                     "lisp/transient.info")))
-                    (add-after 'build-info-manual 'enter-lisp-directory
-                      (lambda _
-                        (chdir "lisp"))))))
-      (native-inputs (list texinfo))
-      (propagated-inputs (list emacs-compat))
-      (home-page "https://magit.vc/manual/transient")
-      (synopsis "Transient commands in Emacs")
-      (description
-       "Taking inspiration from prefix keys and prefix arguments
+  (package
+    (name "emacs-transient")
+    (version "0.5.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/magit/transient")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0fr0pan4dffckfywnx7a0dkb2l71fnc47cqqqb1lckqwr1gr9z6l"))))
+    (build-system emacs-build-system)
+    (arguments
+     `(#:tests? #f                      ;no test suite
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'build-info-manual
+                    (lambda _
+                      (invoke "make" "info")
+                      ;; Move the info file to lisp so that it gets
+                      ;; installed by the emacs-build-system.
+                      (rename-file "docs/transient.info"
+                                   "lisp/transient.info")))
+                  (add-after 'build-info-manual 'enter-lisp-directory
+                    (lambda _
+                      (chdir "lisp"))))))
+    (native-inputs (list texinfo))
+    (propagated-inputs (list emacs-compat))
+    (home-page "https://magit.vc/manual/transient")
+    (synopsis "Transient commands in Emacs")
+    (description
+     "Taking inspiration from prefix keys and prefix arguments
 in Emacs, Transient implements a similar abstraction involving a prefix
 command, infix arguments and suffix commands.  We could call this abstraction
 a \"transient command\", but because it always involves at least two
 commands (a prefix and a suffix) we prefer to call it just a \"transient\".")
-      (license license:gpl3+))))
+    (license license:gpl3+)))
 
 (define-public emacs-forge
   (package
@@ -31355,11 +31403,10 @@ keypresses mapped in firefox to the action described in the function name.")
       (license (list license:gpl3+)))))
 
 (define-public emacs-exwm-firefox
-  (let ((commit "7390c3bc425894aeda3c12c23f61a234bb71a2d9")
-        (revision "1"))
+  (let ((commit "ba4044cf57f99656bbe1974278336b6abcb15497")) ;version bump
     (package
       (name "emacs-exwm-firefox")
-      (version (git-version "0.4" revision commit))
+      (version "1.2")
       (source
        (origin
          (method git-fetch)
@@ -31368,9 +31415,20 @@ keypresses mapped in firefox to the action described in the function name.")
                (commit commit)))
          (file-name (git-file-name name version))
          (sha256
-          (base32 "0xmgij04h4cbcgqafyyf9qajf0wp6mxpfpwjm6gi1jgisrql882d"))))
+          (base32 "1x9hc94a5wygyw714q98jbk4kjvys2ra94qdc2cbgkm6iq982rvq"))))
       (build-system emacs-build-system)
-      (inputs (list emacs-exwm-firefox-core emacs-s emacs-exwm))
+      (arguments
+       (list
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'chdir
+              (lambda _ (chdir "lisp"))))
+        #:tests? #true
+        #:test-command #~(list "emacs" "-Q" "--batch"
+                               "-l" "../test/exwm-firefox--tests.el"
+                               "-l" "exwm-firefox.el"
+                               "-f" "ert-run-tests-batch-and-exit")))
+      (inputs (list emacs-exwm emacs-exwm-firefox-core emacs-s))
       (home-page "https://codeberg.org/emacs-weirdware/exwm-firefox")
       (synopsis "Enhanced support for Firefox under EXWM")
       (description
@@ -31992,7 +32050,7 @@ all of your projects, then override or add variables on a per-project basis.")
 (define-public emacs-el-patch
   (package
     (name "emacs-el-patch")
-    (version "3.0")
+    (version "3.1")
     (source
      (origin
        (method git-fetch)
@@ -32001,7 +32059,7 @@ all of your projects, then override or add variables on a per-project basis.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0qkx7f19kl85n56bp3q40200a6ynpkhimcnb3k6x4n6idn6ff2pa"))))
+        (base32 "0x2x3ci5i428wgagbwjh9qp2zlflkzlrkbpi6qa4fv7dq3vgkrv2"))))
     (build-system emacs-build-system)
     (home-page "https://github.com/raxod502/el-patch")
     (synopsis "Future-proof your Emacs customizations")
@@ -32244,14 +32302,14 @@ well as an option for visually flashing evaluated s-expressions.")
 (define-public emacs-tramp
   (package
     (name "emacs-tramp")
-    (version "2.6.1.4")
+    (version "2.6.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://elpa.gnu.org/packages/"
                            "tramp-" version ".tar"))
        (sha256
-        (base32 "1ajlx0982hx6ypby9dvw1yh9zyl1h4j9xp4n9rfzxhfvvq3139bi"))))
+        (base32 "06wpaqjr3qw1424k9rh5i28yxrkzh1z5dczpgp7mpv823l2x8ip3"))))
     (build-system emacs-build-system)
     (arguments
      (list
@@ -33285,14 +33343,14 @@ federated microblogging social network.")
 (define-public emacs-ebdb
   (package
     (name "emacs-ebdb")
-    (version "0.8.18")
+    (version "0.8.20")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://elpa.gnu.org/packages/"
                            "ebdb-" version ".tar"))
        (sha256
-        (base32 "1mb1qsw3dfaa6x52vsg73by6w7x5i6w5l7b0d2jr667y006q2vvf"))))
+        (base32 "1kcygkfw7r3ixbb2dgsf3rl2662xls24992y2j1w32fdh9gqk03s"))))
     (build-system emacs-build-system)
     (home-page "https://github.com/girzel/ebdb")
     (synopsis "EIEIO port of BBDB, Emacs's contact-management package")
@@ -33588,7 +33646,7 @@ passphrase until the first time you push to a remote.")
 (define-public emacs-super-save
   (package
     (name "emacs-super-save")
-    (version "0.3.0")
+    (version "0.4.0")
     (source
      (origin
        (method git-fetch)
@@ -33598,7 +33656,7 @@ passphrase until the first time you push to a remote.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "066fyg4r4pksyandpd7s53hagpvm2rw90q5ks4jlpgy7x00hw09l"))))
+         "1nypbklgfxyrp55f0dazg9hm7gkqibijd6k4nlb0b0f1rhcm989b"))))
     (build-system emacs-build-system)
     (home-page "https://github.com/bbatsov/super-save")
     (synopsis "Auto-save buffers, based on your activity")
@@ -34191,11 +34249,11 @@ other @code{helm-type-file} sources such as @code{helm-locate}.")
     (license license:gpl3+)))
 
 (define-public emacs-telega-server
-  (let ((commit "4f08c835c08e762137ca04e12055cf9dc0b2b8cf")
+  (let ((commit "304705fa007c3dae3c5d0c6dc66641ae783f0081")
         (revision "0"))
     (package
       (name "emacs-telega-server")
-      (version (git-version "0.8.203" revision commit))
+      (version (git-version "0.8.230" revision commit))
       (source
        (origin
          (method git-fetch)
@@ -34203,7 +34261,7 @@ other @code{helm-type-file} sources such as @code{helm-locate}.")
                (url "https://github.com/zevlg/telega.el")
                (commit commit)))
          (sha256
-          (base32 "02iv2cxwsmfpx2b6wvp7l22izvqw21f1b98jm0yihmfh39idxwn8"))
+          (base32 "02yxjaxpf2f6pjg3ixw7jvx56x6lfh30mnsmiz1p2yi64kyllaan"))
          (file-name (git-file-name "emacs-telega" version))
          (patches
           (search-patches "emacs-telega-path-placeholder.patch"
@@ -34340,7 +34398,7 @@ icon support, git integration, and several other utilities.")
 (define-public emacs-mood-line
   (package
     (name "emacs-mood-line")
-    (version "2.2.0")
+    (version "3.1.1")
     (source
      (origin
        (method git-fetch)
@@ -34349,7 +34407,7 @@ icon support, git integration, and several other utilities.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1z50vr3ymn466z26qh0ybbm8aaizl5ghi471a47cp8bnnn9y9dqg"))))
+        (base32 "19yh93kkyailczv1yyg7jhmzwl768sg0rk4as5kgqays87h9bnfn"))))
     (build-system emacs-build-system)
     (home-page "https://gitlab.com/jessieh/mood-line")
     (synopsis "Minimal mode-line for Emacs")
@@ -34895,7 +34953,6 @@ on removable volumes in Linux.")
          (sha256
           (base32 "112vk1svnc6516vhs47sx5jw6bg8lwrc15l99dxj0sc313lxjy3k"))))
       (build-system emacs-build-system)
-      (inputs (list))
       (home-page "https://codeberg.org/emacs-weirdware/debase")
       (synopsis "D-Bus convenience layer for Emacs")
       (description
@@ -34919,7 +34976,7 @@ services inside Emacs.")
          (sha256
           (base32 "01p4bfiasqxfmp9x1bxdc7763bh712d3vlp2014y8pzrwb1jqdaq"))))
       (build-system emacs-build-system)
-      (inputs (list emacs-debase))
+      (propagated-inputs (list emacs-debase))
       (home-page "https://codeberg.org/emacs-weirdware/discomfort")
       (synopsis "User interface to mount & unmount disks in Emacs.")
       (description "Discomfort is an interface to mount and unmount disks in Emacs, using UDisks2.")
@@ -34953,7 +35010,7 @@ data, including buffers, window configuration, variables, and more.")
 (define-public emacs-parseedn
   (package
     (name "emacs-parseedn")
-    (version "1.2.0")
+    (version "1.2.1")
     (source
      (origin
        (method git-fetch)
@@ -34962,7 +35019,7 @@ data, including buffers, window configuration, variables, and more.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1pxm50i74id3c4c0j2ifac0wx5zkdq431dmcqbyb6w6k0s05l23c"))))
+        (base32 "0b2jralm5lm4z4lpkn8ygzfga67xsalaszc8gqqv36khmz2mrckc"))))
     (build-system emacs-build-system)
     (propagated-inputs
      (list emacs-a emacs-parseclj))
@@ -34976,7 +35033,7 @@ It uses parseclj's shift-reduce parser internally.")
 (define-public emacs-parseclj
   (package
     (name "emacs-parseclj")
-    (version "1.1.0")
+    (version "1.1.1")
     (source
      (origin
        (method git-fetch)
@@ -34985,7 +35042,7 @@ It uses parseclj's shift-reduce parser internally.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0ifc9gyp7hr97ssnsqxiwrzmldqysz874crlg6jm4iy5l9fyls22"))))
+        (base32 "1iz7qbsq4whmb3iqy777jlm47chjp62313hc6nfcp0lfqsanmcmv"))))
     (build-system emacs-build-system)
     (propagated-inputs (list emacs-a))
     (home-page "https://cider.mx")
@@ -36494,7 +36551,7 @@ project root.")
          (sha256
           (base32 "19h3d12a99i7a92k3iw4zmjmw3dazsgnkc6j4965h033r1s40amx"))))
       (build-system emacs-build-system)
-      (inputs (list emacs-s))
+      (propagated-inputs (list emacs-s))
       (home-page "https://codeberg.org/emacs-weirdware/hyperspace")
       (synopsis "Get there from here")
       (description
@@ -37406,7 +37463,7 @@ and preferred services can easily be configured.")
 (define-public emacs-vertico
   (package
     (name "emacs-vertico")
-    (version "1.4")
+    (version "1.6")
     (source
      (origin
        (method git-fetch)
@@ -37415,7 +37472,7 @@ and preferred services can easily be configured.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0pf6qm89nysrri3xx7pda32yfsyv5fwswg6695qivldpq2biwx2x"))))
+        (base32 "088x0xqmhicdg44xprhimay0v9hcy12g15c7lk5kvhylxmkbg8wb"))))
     (build-system emacs-build-system)
     (arguments
      (list
@@ -37631,10 +37688,10 @@ future.")
 (define-public emacs-code-cells
   ;; XXX: Upstream does not tag releases.  The commit below matches version
   ;; bump.
-  (let ((commit "fd68a33eb43b3cbd44fed767f48e230382903592"))
+  (let ((commit "44546ca256f3da29e3ac884e3d699c8455acbd6e"))
     (package
       (name "emacs-code-cells")
-      (version "0.3")
+      (version "0.4")
       (source
        (origin
          (method git-fetch)
@@ -37643,7 +37700,7 @@ future.")
                (commit commit)))
          (file-name (git-file-name name version))
          (sha256
-          (base32 "072d5vldjfg9mj4a86bw8xmxl3hmywsnx4f2k6nayqy4whry5fmq"))))
+          (base32 "1fc5l87kzmnwxmrq2v7x4jzcplq375v9j0h2yz4grzaql3jcc419"))))
       (build-system emacs-build-system)
       (home-page "https://github.com/astoff/code-cells.el")
       (synopsis "Emacs utilities for code split into cells, including Jupyter
@@ -38228,7 +38285,7 @@ hacker.")
 (define-public emacs-osm
   (package
     (name "emacs-osm")
-    (version "0.14")
+    (version "1.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -38237,7 +38294,7 @@ hacker.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1y0zkfc27pnhz5hqpapsqin2kc6al1zjgd6cd4nhzqmh49h81bsb"))))
+                "0mmq83ill1vzx1x07vxjn53di2cskid2gmj5qqa6694s1xzpywf4"))))
     (build-system emacs-build-system)
     (arguments
      (list #:phases #~(modify-phases %standard-phases
@@ -38443,14 +38500,14 @@ projects.")
 (define-public emacs-vundo
   (package
     (name "emacs-vundo")
-    (version "2.1.0")
+    (version "2.2.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://elpa.gnu.org/packages/vundo-"
                                   version ".tar"))
               (sha256
                (base32
-                "1inm6kvh5j47nsrmq6wpf30dqmx0arzdpa6vdcn834g50i4fh8kc"))))
+                "1vb5mq51krpcaw741dai3b9s12yicn73l1bqql41gylpanca83py"))))
     (build-system emacs-build-system)
     (home-page "https://github.com/casouri/vundo")
     (synopsis "Visualize the undo tree")
@@ -38897,7 +38954,7 @@ in Emacs.")
 (define-public emacs-vertico-posframe
   (package
     (name "emacs-vertico-posframe")
-    (version "0.7.3")
+    (version "0.7.6")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -38905,7 +38962,7 @@ in Emacs.")
                     ".tar"))
               (sha256
                (base32
-                "1gfapchkj9jkzlyz3hzkb9kpifcak0fn4y5jw6f2cs6379sjwvzm"))))
+                "15d7j37rmmg021mciwibcfmdwjn2694ljlh4sj03m1j4gj7igfqd"))))
     (build-system emacs-build-system)
     (propagated-inputs (list emacs-posframe emacs-vertico))
     (home-page "https://github.com/tumashu/vertico-posframe")
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 28f5032982..4a52290e1b 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1098,7 +1098,7 @@ Emacs).")
 (define-public kicad
   (package
     (name "kicad")
-    (version "7.0.9")
+    (version "7.0.10")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1106,7 +1106,7 @@ Emacs).")
                     (commit version)))
               (sha256
                (base32
-                "1hq9rba1gcks14zwbr8nbicpsil4imslgfch6ll33fhizbks3fq4"))
+                "0rmlkgzgvpd70jzspyrrb2f618fimw52qrhpsp777flmpyh91wly"))
               (file-name (git-file-name name version))))
     (build-system cmake-build-system)
     (arguments
@@ -1206,7 +1206,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "14dg99fvl6av9sn6gig6d6k1sdcf2svxy4fipqcz994z2khhz1sj"))))
+                "0lc7d6hn8ya8m51kjnf59v41pbp03l5ncxir75s21pb92l26xgnv"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags (list "-DBUILD_FORMATS=html")
@@ -1240,7 +1240,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0ynsnjq3z126cjkgm1fjbjvdvpc0walnr42ya9dv46l27kxy2j77"))))
+                "0nlgmxf9z1vf4g350dfkxql1dawgmw275wqxkgszsfxmhdfpmi9v"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f))                    ; no tests exist
@@ -1269,7 +1269,7 @@ libraries.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "16a4c2xs4i8wbm01a901yxabxk0qdsjkzlccfawddv82bkh4b87h"))))
+                "1az6fzh1lma71mj12bc4bblnmzjayrxhkb8w9rjvlhvvgv33cdmy"))))
     (synopsis "Official KiCad footprint libraries")
     (description "This package contains the official KiCad footprint libraries.")))
 
@@ -1286,7 +1286,7 @@ libraries.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1cly28vc07i54v487zbb8d1h70nrd3naxvq146b0xnbrjwnd2q28"))))
+                "0xzyi4mgyifwc6dppdzh6jq294mkj0a71cwkqw2ymz1kfbksw626"))))
     (synopsis "Official KiCad 3D model libraries")
     (description "This package contains the official KiCad 3D model libraries.")))
 
@@ -1303,7 +1303,7 @@ libraries.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "11582ldnv7hkljmhaym83962kixq1hjbfmdrn5laq7l4jk3l19vh"))))
+                "0mykfwwik7472i4r0isc5szj3dnmvd0538p0vlmzh4rcgj3pj3vm"))))
     (synopsis "Official KiCad project and worksheet templates")
     (description "This package contains the official KiCad project and
 worksheet templates.")))
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 98a220385b..eadaa46102 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -93,6 +93,7 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages golang)
+  #:use-module (gnu packages golang-web)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages groff)
   #:use-module (gnu packages gsasl)
@@ -2299,7 +2300,7 @@ mining.")
 (define-public p2pool
   (package
     (name "p2pool")
-    (version "3.7")
+    (version "3.10")
     (source
      (origin
        (method git-fetch)
@@ -2308,7 +2309,7 @@ mining.")
              (commit (string-append "v" version))
              (recursive? #t)))
        (file-name (git-file-name name version))
-       (sha256 (base32 "1sghdk8yq8si0bq0z83fji48q8yrq0ymvsxbbh5mscw6223syrjq"))
+       (sha256 (base32 "0lp9slfwaq3wp4x6xpsiazam5lv6dz57m20adzlzzk0anb1ascr0"))
        (modules '((guix build utils)))
        (snippet
         #~(for-each delete-file-recursively
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 73f93a9992..ea1adf0ecf 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -196,69 +196,71 @@ is used in some video games and movies.")
     (license license:zlib)))
 
 (define-public dds
-  (package
-    (name "dds")
-    (version "2.9.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/dds-bridge/dds")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "1iv09qic43nvla02lm8zgnkqpjgnc95p8zh3wyifmnmlh1rz02yj"))))
-    (build-system gnu-build-system)
-    (arguments
-     (list #:phases
-           #~(modify-phases %standard-phases
-               (add-after 'unpack 'chdir
-                 (lambda _
-                   (chdir "src")))
-               (replace 'configure
-                 ;; Configuration is done by copying the appropriate
-                 ;; make file in the working directory.  There is no
-                 ;; configure script.
-                 (lambda _
-                   (copy-file "Makefiles/Makefile_linux_shared"
-                              "Makefile")))
-               (replace 'check
-                 ;; There is no "check" traget.  We must compile
-                 ;; a "dtest" program and apply it on a data set.
-                 (lambda* (#:key tests? #:allow-other-keys)
-                   (when tests?
-                     (install-file "libdds.so" "../test")
-                     (with-directory-excursion "../test"
-                       (copy-file "Makefiles/Makefile_linux"
-                                  "Makefile")
-                       (substitute* "Makefile"
-                         (("-Werror") ""))
-                       (invoke "make")
-                       (invoke "./dtest" "-f" "../hands/list100.txt")))))
-               (replace 'install
-                 ;; "install" target merely moves ".so" file around
-                 ;; the source directory.  We install it in the store,
-                 ;; along with all shipped documentation (which cannot
-                 ;; be built from source unfortunately).
-                 (lambda _
-                   (install-file "libdds.so"
-                                 (string-append #$output "/lib"))
-                   (let ((doc (string-append #$output
-                                             "/share/doc/"
-                                             #$name "-" #$version)))
-                     (install-file "../LICENSE" doc)
-                     (copy-recursively "../doc" doc)))))))
-    (native-inputs
-     (list gawk procps))
-    (inputs
-     (list boost))
-    (home-page "https://privat.bahnhof.se/wb758135/")
-    (synopsis "Double dummy solver for the bridge card game")
-    (description "DDS is a double-dummy solver of bridge hands.  It supports
+  (let ((commit "d2bc4c2c703941664fc1d73e69caa5233cdeac18")
+        (revision "1"))
+    (package
+      (name "dds")
+      (version (git-version "2.9.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/dds-bridge/dds")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1ishbb69cvyv96xdxshnly0m5ydwljgdf8fwa1cr9rj2qj40q4rm"))))
+      (build-system gnu-build-system)
+      (arguments
+       (list #:phases
+             #~(modify-phases %standard-phases
+                 (add-after 'unpack 'chdir
+                   (lambda _
+                     (chdir "src")))
+                 (replace 'configure
+                   ;; Configuration is done by copying the appropriate
+                   ;; make file in the working directory.  There is no
+                   ;; configure script.
+                   (lambda _
+                     (copy-file "Makefiles/Makefile_linux_shared"
+                                "Makefile")))
+                 (replace 'check
+                   ;; There is no "check" traget.  We must compile
+                   ;; a "dtest" program and apply it on a data set.
+                   (lambda* (#:key tests? #:allow-other-keys)
+                     (when tests?
+                       (install-file "libdds.so" "../test")
+                       (with-directory-excursion "../test"
+                         (copy-file "Makefiles/Makefile_linux"
+                                    "Makefile")
+                         (substitute* "Makefile"
+                           (("-Werror") ""))
+                         (invoke "make")
+                         (invoke "./dtest" "-f" "../hands/list100.txt")))))
+                 (replace 'install
+                   ;; "install" target merely moves ".so" file around
+                   ;; the source directory.  We install it in the store,
+                   ;; along with all shipped documentation (which cannot
+                   ;; be built from source unfortunately).
+                   (lambda _
+                     (install-file "libdds.so"
+                                   (string-append #$output "/lib"))
+                     (let ((doc (string-append #$output
+                                               "/share/doc/"
+                                               #$name "-" #$version)))
+                       (install-file "../LICENSE" doc)
+                       (copy-recursively "../doc" doc)))))))
+      (native-inputs
+       (list gawk procps))
+      (inputs
+       (list boost))
+      (home-page "https://privat.bahnhof.se/wb758135/")
+      (synopsis "Double dummy solver for the bridge card game")
+      (description "DDS is a double-dummy solver of bridge hands.  It supports
 single-threading and multi-threading for improved performance.  DDS
 offers a wide range of functions, including par-score calculations.")
-    (license license:asl2.0)))
+      (license license:asl2.0))))
 
 (define-public deutex
   (package
@@ -3269,16 +3271,16 @@ progresses the level, or you may regenerate tiles as the world changes.")
 (define-public bbcsdl
   (package
     (name "bbcsdl")
-    (version "1.35a")
+    (version "1.39a")
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/rtrussell/BBCSDL/")
-                    (commit "b9b2a3eb438cb799edb2766055b3c38e9518e3e3")))
+                    (commit "93b0ffae960f4c4f45fdc2202bc6e83ee5ca277c")))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1d03xmhrl6ba6w0vwfk46mpyc9d0w3bixxj2d4irx7wl7bh3bfic"))))
+                "03ga14k2hbhflnaynbyx9lwlbxlzx3rv6zqq21yhl183s6d4c0wa"))))
     (build-system gnu-build-system)
     (arguments
      (list
@@ -3318,6 +3320,7 @@ progresses the level, or you may regenerate tiles as the world changes.")
                      inputs (string-append "share/fonts/truetype/" font))
                     (string-append opt "/lib/" font)))
                  '("DejaVuSans.ttf" "DejaVuSansMono.ttf"
+                   "DejaVuSans-Oblique.ttf"
                    "FreeSans.ttf" "FreeMono.ttf" "FreeSerif.ttf"))
                 (mkdir bin)
                 (symlink (string-append opt "/bbcsdl")
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index c7813790a1..cf2e38f49c 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -78,7 +78,8 @@
 ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
 ;;; Copyright © 2023 Florian Pelz <pelzflorian@pelzflorian.de>
 ;;; Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com>
-;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
+;;; Copyright © 2023, 2024 gemmaro <gemmaro.dev@gmail.com>
+;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -193,6 +194,7 @@
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-compression)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
@@ -230,6 +232,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 qt)
   #:use-module (guix build-system scons)
   #:use-module (guix build-system trivial)
@@ -2367,6 +2370,55 @@ Every puzzle has a complete solution, although there may be more than one.")
     "PrBoom+ is a Doom source port developed from the original PrBoom project.")
    (license license:gpl2+)))
 
+(define-public redeal
+  (let ((commit "e2e81a477fd31ae548a340b5f0f380594d3d0ad6")
+        (revision "1"))
+    (package
+      (name "redeal")
+      (version (git-version "0.2.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/anntzer/redeal")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1vac36bg4ah9gs4hgmp745xq6nnmd7s71vsq99d72ng3sxap0wa3"))))
+      (build-system pyproject-build-system)
+      (arguments
+       (list
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'unbundle-dds
+              (lambda* (#:key inputs #:allow-other-keys)
+                (substitute* "setup.py"
+                  (("cmdclass=.*") ""))
+                (let ((libdds (search-input-file inputs "lib/libdds.so")))
+                  (substitute* "redeal/dds.py"
+                    ((" and os.path.exists\\(dll_path\\)") "")
+                    (("dll = DLL\\(dll_path\\)")
+                     (format #f "dll = DLL(~s)" libdds))))))
+            (add-after 'install 'install-examples
+              (lambda _
+                (let* ((doc (string-append #$output "/share/doc/"))
+                       (examples
+                        (string-append doc #$name "-" #$version "/examples")))
+                  (mkdir-p examples)
+                  (copy-recursively "examples" examples)))))))
+      (inputs (list dds `(,python "tk")))
+      (propagated-inputs (list python-colorama))
+      (home-page "https://github.com/anntzer/redeal")
+      (synopsis
+       "Deal generator for bridge card game, written in Python")
+      (description
+       "Redeal is a deal generator written in Python.  It outputs deals
+satisfying whatever conditions you specify --- deals with a double void, deals
+with a strong 2♣ opener opposite a yarborough, etc.  Using Bo Haglund's double
+dummy solver, it can even solve the hands it has generated for you.")
+      (license license:gpl3))))
+
 (define-public retux
   (let ((release "1.6.1")
         (revision 0))
@@ -3385,25 +3437,29 @@ a C library, so they can easily be integrated into other programs.")
 (define-public taisei
   (package
     (name "taisei")
-    (version "1.3.2")
+    (version "1.4")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/taisei-project/"
                            "taisei/releases/download/v" version
-                           "/taisei-v" version ".tar.xz"))
+                           "/taisei-" version ".tar.xz"))
        (sha256
-        (base32 "1g53fcyrlzmvlsb40pw90gaglysv6n1w42hk263iv61ibhdmzh6v"))))
+        (base32 "1glrr99xiyz674d1izgvmk9w1zxanc94d34pacd0wya66bbml0nc"))))
     (build-system meson-build-system)
     (arguments
-     `(#:build-type "release"      ;comment out for bug-reporting (and cheats)
-       #:configure-flags
-       (list "-Dr_default=gles30"
-             "-Dr_gles20=true"
-             "-Dr_gles30=true"
-             "-Dshader_transpiler=true")))
+     (list
+      #:build-type "release" ;comment out for bug-reporting (and cheats)
+      #:configure-flags #~(list "-Dr_default=gles30"
+                                "-Dr_gles20=true"
+                                "-Dr_gles30=true"
+                                "-Dshader_transpiler=true")))
     (native-inputs
-     (list pkg-config python python-docutils python-pygments))
+     (list pkg-config
+           python
+           python-docutils
+           python-pygments
+           python-zstandard))
     (inputs
      (list cglm
            freetype
@@ -3417,21 +3473,23 @@ a C library, so they can easily be integrated into other programs.")
            sdl2-mixer
            shaderc
            spirv-cross
-           zlib))
+           zlib
+           (list zstd "lib")))
     (home-page "https://taisei-project.org/")
     (synopsis "Shoot'em up fangame and libre clone of Touhou Project")
     (description
      "The player controls a character (one of three: Good, Bad, and Dead),
 dodges the missiles (lots of it cover the screen, but the character's hitbox
 is very small), and shoot at the adversaries that keep appear on the screen.")
-    (license (list ;;game
-                   license:expat
-                   ;;resources/00-taisei.pkgdir/bgm/
-                   ;;atlas/portraits/
-                   license:cc-by4.0
-                   ;;miscellaneous
-                   license:cc0
-                   license:public-domain))))
+    (license (list
+              ;; game
+              license:expat
+              ;; resources/00-taisei.pkgdir/bgm/
+              ;; atlas/portraits/
+              license:cc-by4.0
+              ;; miscellaneous
+              license:cc0
+              license:public-domain))))
 
 (define-public cmatrix
   (package
@@ -3833,7 +3891,7 @@ for common mesh file formats, and collision detection.")
   (package
     (inherit irrlicht)
     (name "irrlicht-for-minetest")
-    (version "1.9.0mt10")
+    (version "1.9.0mt13")
     (source
      (origin
        (method git-fetch)
@@ -3843,7 +3901,7 @@ for common mesh file formats, and collision detection.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0y5vchz91khs8dmrkpgc7sqmvzx2yjj6svivvm80r4yppv7s03rw"))))
+         "11pxg0yh50ym1hvh8va5jbbcjz5dsshj3xxvm3qhkgg96vpism06"))))
     (build-system cmake-build-system)
     (arguments
      ;; No check target.
@@ -10115,6 +10173,36 @@ can be downloaded from @url{https://zero.sjeng.org/best-network}.")
    (home-page "https://github.com/bernds/q5Go")
    (license license:gpl2+)))
 
+(define-public qcheckers
+  (package
+    (name "qcheckers")
+    (version "0.9.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/portnov/qcheckers")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "05wzql6abzdf6l0vdzki4rfy2zn31mcplh1wkw3ddk8w81pvaymw"))))
+    (build-system qt-build-system)
+    (arguments
+     (list
+      #:tests? #f
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'configure
+            (lambda _
+              (invoke "qmake"
+                      (string-append "PREFIX=" #$output)))))))
+    (inputs (list qtbase-5 qtsvg-5))
+    (home-page "https://portnov.github.io/qcheckers/")
+    (synopsis "Qt-based checkers boardgame")
+    (description "QCheckers, formely known as KCheckers, is a is a Qt version
+of the classic boardgame checkers (also known as draughts).")
+    (license license:gpl2+)))
+
 (define-public xmoto
   (package
     (name "xmoto")
@@ -10415,6 +10503,31 @@ sunfish, but is written in C rather than Python.  It also has TUI tools for
 using any UCI engine and also to connect UCI engines to Lichess.")
       (license license:agpl3+))))
 
+(define-public morris
+  (package
+    (name "morris")
+    (version "0.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/farindk/morris")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1kkcnpkzgybm7rqg7nafd7sqd5m4alns6l4j5zcf3p41jdc9s3iv"))))
+    (build-system glib-or-gtk-build-system)
+    (inputs (list automake autoconf pkg-config intltool
+		 gnu-gettext libtool glib gtk+-2 boost))
+    (arguments `(#:tests? #f))
+    (home-page "http://nine-mens-morris.net/downloads.html")
+    (synopsis "Morris is an implementation of the board game Nine Men's Morris")
+    (description "Morris is an implementation of the board game Nine Men's Morris.
+It supports not only the standard game, but also several rule-variants and different
+board layouts. You can play against the computer, or simply use the program to
+present the board, but play against another human opponent.")
+    (license license:gpl3)))
+
 (define-public barrage
   (package
     (name "barrage")
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index a8b74a3632..5590cd3d7e 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015, 2023 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2015-2018, 2020-2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015-2018, 2020-2024 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018, 2020, 2022 Marius Bakke <marius@gnu.org>
@@ -75,6 +75,9 @@ where the OS part is overloaded to denote a specific ABI---into GCC
            "--with-mode=thumb"
            "--with-fpu=neon"))
 
+        ((string-match "x86_64-linux-gnux32" target)
+         '("--with-abi=mx32"))
+
         ((and (string-suffix? "-gnu" target)
               (not (string-contains target "-linux")))
          ;; Cross-compilation of libcilkrts in GCC 5.5.0 to GNU/Hurd fails
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 2c109ee124..b0ee413acd 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -690,7 +690,12 @@ glxdemo, glxgears, glxheads, and glxinfo.")
                   #t))))
     (build-system gnu-build-system)
     (arguments
-     (list #:make-flags #~(list (string-append "GLEW_PREFIX=" #$output)
+     (list #:make-flags #~(list #$@(if (%current-target-system)
+                                       #~((string-append "CC=" #$(cc-for-target))
+                                          (string-append "LD=" #$(cc-for-target))
+                                          (string-append "STRIP=" #$(strip-for-target)))
+                                       #~())
+                                (string-append "GLEW_PREFIX=" #$output)
                                 (string-append "GLEW_DEST=" #$output))
            #:phases
            #~(modify-phases %standard-phases
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index c1bed14b2f..8c6ff059e7 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -23,6 +23,7 @@
 ;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -236,6 +237,12 @@ generation.")
        (base32
         "1r1lvcp67gn5lfrj1g388sd77ca6qwnmxndirdysd71gk362z34f"))))
     (build-system gnu-build-system)
+    (arguments (if (%current-target-system)
+                   (list #:configure-flags
+                         #~(list (string-append
+                                  "--with-libgpg-error-prefix="
+                                  #$(this-package-input "libgpg-error"))))
+                   '()))
     (propagated-inputs
      (list libgpg-error pth))
     (home-page "https://gnupg.org")
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index af50325548..82dedcdf2d 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -1035,6 +1035,9 @@ variable defined below.  It requires guile-json to be installed."
                 (setenv "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE" "system")
                 (setenv "MOZ_BUILD_DATE" #$%icecat-build-id) ; avoid timestamp
 
+                ;; WM_CLASS (default is "$MOZ_APP_NAME-$MOZ_UPDATE_CHANNEL").
+                (setenv "MOZ_APP_REMOTINGNAME" "Icecat")
+
                 ;; XXX TODO: Fix this to work on systems other than x86_64-linux.
                 (setenv "GUIX_PYTHONPATH"
                         (string-append (getcwd)
@@ -1092,18 +1095,22 @@ variable defined below.  It requires guile-json to be installed."
               (let* ((lib (string-append #$output "/lib"))
                      (gtk #$(this-package-input "gtk+"))
                      (gtk-share (string-append gtk "/share"))
-                     (ld-libs '#$(map (lambda (label)
-                                        (file-append (this-package-input label) "/lib"))
-                                      '("libpng-apng"
-                                        "libxscrnsaver"
-                                        "mesa"
-                                        "pciutils"
-                                        "mit-krb5"
-                                        "eudev"
-                                        "pulseaudio"
-                                        ;; For the integration of native notifications
-                                        ;; (same reason as icedove)
-                                        "libnotify"))))
+                     (ld-libs '#$(cons
+                                  (file-append
+                                   (this-package-input "libcanberra")
+                                   "/lib/gtk-3.0/modules")
+                                  (map (lambda (label)
+                                         (file-append (this-package-input label) "/lib"))
+                                       '("libpng-apng"
+                                         "libxscrnsaver"
+                                         "mesa"
+                                         "pciutils"
+                                         "mit-krb5"
+                                         "eudev"
+                                         "pulseaudio"
+                                         ;; For the integration of native notifications
+                                         ;; (same reason as icedove)
+                                         "libnotify")))))
                 (wrap-program (car (find-files lib "^icecat$"))
                   `("XDG_DATA_DIRS" prefix (,gtk-share))
                   ;; The following line is commented out because the icecat
@@ -1123,7 +1130,7 @@ variable defined below.  It requires guile-json to be installed."
                   (("NewWindow")        "new-window")
                   (("NewPrivateWindow") "new-private-window")
                   (("StartupNotify=true")
-                   "StartupNotify=true\nStartupWMClass=Navigator"))
+                   "StartupNotify=true\nStartupWMClass=Icecat"))
                 (install-file desktop-file applications))))
           (add-after 'install-desktop-entry 'install-icons
             (lambda _
@@ -1775,7 +1782,7 @@ ca495991b7852b855"))
                     (format #t
                             "[Desktop Entry]~@
                             Name=Icedove~@
-                            Exec=~a/bin/icedove~@
+                            Exec=~a/bin/icedove %u~@
                             Icon=icedove~@
                             GenericName=Mail/News Client~@
                             Categories=Network;Email;~@
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
new file mode 100644
index 0000000000..3e60bfaf33
--- /dev/null
+++ b/gnu/packages/golang-web.scm
@@ -0,0 +1,1467 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
+;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
+;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
+;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
+;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
+;;; Copyright © 2020 raingloom <raingloom@riseup.net>
+;;; Copyright © 2020-2022 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2021 Collin J. Doering <collin@rekahsoft.ca>
+;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
+;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
+;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
+;;; Copyright © 2022 Adam Kandur <kefironpremise@gmail.com>
+;;; Copyright © 2022 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2022 jgart via Guix-patches via <guix-patches@gnu.org>
+;;; Copyright © 2022 muradm <mail@muradm.net>
+;;; Copyright © 2022, 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
+;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
+;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
+;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages golang-web)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix build-system go)
+  #:use-module (guix gexp)
+  #:use-module (guix git-download)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages golang)
+  #:use-module (gnu packages golang-check)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages web))
+
+;;; Commentary:
+;;;
+;;; Golang modules (libraries) related to HTML, CSS, SCSS, JavaScript, JSON,
+;;; Web-framework, REST-API or similar functionality.
+;;;
+;;; Please: Try to add new module packages in alphabetic order.
+;;;
+;;; Code:
+
+(define-public go-cloud-google-com-go-compute-metadata
+  (package
+    (name "go-cloud-google-com-go-compute-metadata")
+    (version "0.81.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/googleapis/google-cloud-go")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "15jgynqb5pbxqbj3a7ii970yn4srsw1dbxzxnhpkfkmplalpgyh3"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:unpack-path "cloud.google.com/go"
+       #:import-path "cloud.google.com/go/compute/metadata"))
+    (home-page
+     "https://pkg.go.dev/cloud.google.com/go/compute/metadata")
+    (synopsis
+     "Go wrapper for Google Compute Engine metadata service")
+    (description
+     "This package provides access to Google Compute Engine (GCE) metadata and
+API service accounts for Go.")
+    (license license:asl2.0)))
+
+(define-public go-github-com-andybalholm-cascadia
+  (package
+    (name "go-github-com-andybalholm-cascadia")
+    (version "1.3.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/andybalholm/cascadia")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0zgc9fjkn7d66cnmgnmalr9lrq4ii1spap95pf2x1hln4pflib5s"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/andybalholm/cascadia"))
+    (native-inputs
+     (list go-golang-org-x-net))
+    (home-page "https://github.com/andybalholm/cascadia/")
+    (synopsis "CSS selectors for HTML")
+    (description "The Cascadia package implements CSS selectors for use with
+the parse trees produced by the html package.")
+    (license license:bsd-2)))
+
+(define-public go-github-com-aws-sdk
+  (package
+    (name "go-github-com-aws-sdk")
+    (version "1.35.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/aws/aws-sdk-go")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1ky5lw2s2zpslnnqcs6hgsrwvwbxwgflb5jwf16dd4aga3vrg10c"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/aws/aws-sdk-go/aws"
+       #:unpack-path "github.com/aws/aws-sdk-go"))
+    (propagated-inputs
+     (list go-github-com-go-sql-driver-mysql
+           go-github-com-jmespath-go-jmespath
+           go-github-com-pkg-errors
+           go-golang-org-x-net))
+    (home-page "https://github.com/aws/aws-sdk-go")
+    (synopsis "Library to access Amazon Web Services (AWS)")
+    (description
+     "This is the official AWS SDK for the Go programming language.")
+    (license license:asl2.0)))
+
+;; XXX: This package might be a duplicate of go-github-com-aws-sdk, it's not
+;; in use anywhere. Keep it here for the farther review.
+(define-public go-github-com-aws-aws-sdk-go
+  (package
+    (name "go-github-com-aws-aws-sdk-go")
+    (version "1.36.18")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/aws/aws-sdk-go")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "169mkkw1cff1px6326krwvfpfj07sb4y5rbn003gi4bk176h6ry9"))))
+    (build-system go-build-system)
+    (propagated-inputs
+     (list go-github-com-jmespath-go-jmespath))
+    (arguments
+     '(#:import-path "github.com/aws/aws-sdk-go"
+       #:phases %standard-phases))
+    (synopsis "The official AWS SDK for the Go programming language")
+    (description
+     "The official AWS SDK for the Go programming language.")
+    (home-page "https://github.com/aws/aws-sdk-go")
+    (license license:asl2.0)))
+
+(define-public go-github-com-aws-aws-sdk-go-v2
+  (package
+    (name "go-github-com-aws-aws-sdk-go-v2")
+    (version "1.17.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/aws/aws-sdk-go-v2")
+             (commit "v1.17.3")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1a07xab1cn96iff7zvp5a82fzhqwl0i4bhplkm2h1qbkxgldn6x0"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/aws/aws-sdk-go-v2"))
+    (propagated-inputs
+     (list go-github-com-aws-smithy-go
+           go-github-com-google-go-cmp-cmp
+           go-github-com-jmespath-go-jmespath))
+    (home-page "https://github.com/aws/aws-sdk-go-v2")
+    (synopsis "AWS SDK for Go v2")
+    (description
+     "Package sdk is the official AWS SDK v2 for the Go programming language.")
+    (license license:asl2.0)))
+
+(define-public go-github-com-aws-aws-sdk-go-v2-config
+  (package
+    (inherit go-github-com-aws-aws-sdk-go-v2)
+    (name "go-github-com-aws-aws-sdk-go-v2-config")
+    (version "1.18.5")
+    (arguments
+     '(#:import-path "github.com/aws/aws-sdk-go-v2/config"
+       #:unpack-path "github.com/aws/aws-sdk-go-v2"))
+    (propagated-inputs
+     (list go-github-com-google-go-cmp-cmp
+           go-github-com-aws-smithy-go))))
+
+(define-public go-github-com-aws-aws-sdk-go-v2-feature-s3-manager
+  (package
+    (inherit go-github-com-aws-aws-sdk-go-v2)
+    (name "go-github-com-aws-aws-sdk-go-v2-feature-s3-manager")
+    (version "1.11.44")
+    (arguments
+     '(#:import-path "github.com/aws/aws-sdk-go-v2/feature/s3/manager"
+       #:unpack-path "github.com/aws/aws-sdk-go-v2"))
+    (propagated-inputs (list go-github-com-aws-smithy-go))))
+
+(define-public go-github-com-aws-aws-sdk-go-v2-service-iam
+  (package
+    (inherit go-github-com-aws-aws-sdk-go-v2)
+    (name "go-github-com-aws-aws-sdk-go-v2-service-iam")
+    (version "1.44.161")
+    (arguments
+     '(#:import-path "github.com/aws/aws-sdk-go-v2/service/iam"
+       #:unpack-path "github.com/aws/aws-sdk-go-v2"))
+    (propagated-inputs
+     (list go-github-com-aws-smithy-go))))
+
+(define-public go-github-com-aws-aws-sdk-go-v2-service-s3
+  (package
+    (inherit go-github-com-aws-aws-sdk-go-v2)
+    (name "go-github-com-aws-aws-sdk-go-v2-service-s3")
+    (version "1.30.0")
+    (arguments
+     '(#:import-path "github.com/aws/aws-sdk-go-v2/service/s3"
+       #:unpack-path "github.com/aws/aws-sdk-go-v2"))
+    (propagated-inputs
+     (list go-github-com-aws-smithy-go))))
+
+(define-public go-github-com-aws-aws-sdk-go-v2-service-sso
+  (package
+    (inherit go-github-com-aws-aws-sdk-go-v2)
+    (name "go-github-com-aws-aws-sdk-go-v2-service-sso")
+    (version "1.11.27")
+    (arguments
+     '(#:import-path "github.com/aws/aws-sdk-go-v2/service/sso"
+       #:unpack-path "github.com/aws/aws-sdk-go-v2"))
+    (propagated-inputs
+     (list go-github-com-aws-smithy-go))))
+
+(define-public go-github-com-aws-aws-sdk-go-v2-service-ssooidc
+  (package
+    (inherit go-github-com-aws-aws-sdk-go-v2)
+    (name "go-github-com-aws-aws-sdk-go-v2-service-ssooidc")
+    (version "1.13.10")
+    (arguments
+     '(#:import-path "github.com/aws/aws-sdk-go-v2/service/ssooidc"
+       #:unpack-path "github.com/aws/aws-sdk-go-v2"))
+    (propagated-inputs
+     (list go-github-com-aws-smithy-go))))
+
+(define-public go-github-com-aws-aws-sdk-go-v2-service-sts
+  (package
+    (inherit go-github-com-aws-aws-sdk-go-v2)
+    (name "go-github-com-aws-aws-sdk-go-v2-service-sts")
+    (version "1.17.7")
+    (arguments
+     '(#:import-path "github.com/aws/aws-sdk-go-v2/service/sts"
+       #:unpack-path "github.com/aws/aws-sdk-go-v2"))
+    (propagated-inputs
+     (list go-github-com-aws-smithy-go))))
+
+(define-public go-github-com-aws-smithy-go
+  (package
+    (name "go-github-com-aws-smithy-go")
+    (version "1.13.5")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/aws/smithy-go")
+             (commit "v1.13.5")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1rgyk0m2d3agknnlzjqvac1a61wwdq1pbck7vyl587m38n5zi2cz"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/aws/smithy-go"))
+    (propagated-inputs
+     (list go-github-com-jmespath-go-jmespath go-github-com-google-go-cmp-cmp))
+    (home-page "https://github.com/aws/smithy-go")
+    (synopsis "@url{https://smithy.io/2.0/index.html,Smithy} code generators
+for Go")
+    (description
+     "Package smithy provides the core components for a Smithy SDK.")
+    (license license:asl2.0)))
+
+(define-public go-github-com-aymerick-douceur
+  (package
+    (name "go-github-com-aymerick-douceur")
+    (version "0.2.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/aymerick/douceur/")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1hfysznib0fqbp8vqxpk0xiggpp0ayk2bsddi36vbg6f8zq5f81n"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/aymerick/douceur"))
+    (native-inputs
+     (list go-github-com-andybalholm-cascadia
+           go-github-com-gorilla-css
+           go-github-com-puerkitobio-goquery
+           go-golang-org-x-net))
+    (home-page "https://github.com/aymerick/douceur/")
+    (synopsis "CSS parser and inliner")
+    (description "This package provides a CSS parser and inliner.")
+    (license license:expat)))
+
+(define-public go-github-com-bep-golibsass
+  (package
+    (name "go-github-com-bep-golibsass")
+    (version "0.7.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/bep/golibsass")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0xk3m2ynbydzx87dz573ihwc4ryq0r545vz937szz175ivgfrhh3"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (delete-file-recursively "libsass_src")
+           #t))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/bep/golibsass/libsass"
+       #:unpack-path "github.com/bep/golibsass"
+       ;; The dev build tag modifies the build to link to system libsass
+       ;; instead of including the bundled one (which we remove.)
+       ;; https://github.com/bep/golibsass/blob/v0.7.0/internal/libsass/a__cgo_dev.go
+       #:build-flags '("-tags" "dev")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'generate-bindings
+           ;; Generate bindings for system libsass, replacing the
+           ;; pre-generated bindings.
+           (lambda* (#:key inputs unpack-path #:allow-other-keys)
+             (mkdir-p (string-append "src/" unpack-path "/internal/libsass"))
+             (let ((libsass-src (string-append (assoc-ref inputs "libsass-src") "/src")))
+               (substitute* (string-append "src/" unpack-path "/gen/main.go")
+                 (("filepath.Join\\(rootDir, \"libsass_src\", \"src\"\\)")
+                  (string-append "\"" libsass-src "\""))
+                 (("../../libsass_src/src/")
+                  libsass-src)))
+             (invoke "go" "generate" (string-append unpack-path "/gen"))
+             #t))
+         (replace 'check
+           (lambda* (#:key tests? import-path #:allow-other-keys)
+             (if tests?
+                 (invoke "go" "test" import-path "-tags" "dev"))
+             #t)))))
+    (propagated-inputs
+     (list libsass))
+    (native-inputs
+     `(("go-github-com-frankban-quicktest" ,go-github-com-frankban-quicktest)
+       ("libsass-src" ,(package-source libsass))))
+    (home-page "https://github.com/bep/golibsass")
+    (synopsis "Easy to use Go bindings for LibSass")
+    (description
+     "This package provides SCSS compiler support for Go applications.")
+    (license license:expat)))
+
+(define-public go-github-com-chris-ramon-douceur
+  (package
+    (name "go-github-com-chris-ramon-douceur")
+    (version "0.2.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/chris-ramon/douceur")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1hfysznib0fqbp8vqxpk0xiggpp0ayk2bsddi36vbg6f8zq5f81n"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/chris-ramon/douceur"))
+    (propagated-inputs
+     (list go-github-com-aymerick-douceur
+           go-github-com-gorilla-css))
+    (native-inputs
+     (list go-github-com-puerkitobio-goquery
+           go-github-com-andybalholm-cascadia
+           go-golang-org-x-net))
+    (home-page "https://github.com/chris-ramon/douceur/")
+    (synopsis "CSS parser and inliner")
+    (description "This package provides a CSS parser and inliner.")
+    (license license:expat)))
+
+(define-public go-github-com-coreos-go-oidc
+  (package
+    (name "go-github-com-coreos-go-oidc")
+    (version "2.2.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/coreos/go-oidc")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "11m6slbpi33ynffml7812piq4anhjlf1qszjlsf26f5y7x3qh8n5"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/coreos/go-oidc"))
+    (propagated-inputs
+     (list go-github-com-pquerna-cachecontrol
+           go-golang-org-x-oauth2
+           go-gopkg-in-square-go-jose-v2))
+    (home-page "https://github.com/coreos/go-oidc")
+    (synopsis "OpenID Connect support for Go")
+    (description
+     "This package enables OpenID Connect support for the
+@code{go-golang-org-x-oauth2} package.")
+    (license license:asl2.0)))
+
+(define-public go-github-com-coreos-go-oidc-v3
+  (package
+    (inherit go-github-com-coreos-go-oidc)
+    (name "go-github-com-coreos-go-oidc-v3")
+    (version "3.6.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/coreos/go-oidc")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1sbm6n3lp48lymn0g921afhq2j6inb38w3wy5rhyx9h8gpzhnxx9"))))
+    (arguments
+     (list ;; no Go files in [...]/src/github.com/coreos/go-oidc/v3.
+      #:import-path "github.com/coreos/go-oidc/v3/oidc"
+      #:unpack-path "github.com/coreos/go-oidc/v3"))
+    (propagated-inputs
+     (list go-github-com-go-jose-go-jose-v3
+           go-golang-org-x-oauth2))))
+
+(define-public go-github-com-emicklei-go-restful
+  (package
+    (name "go-github-com-emicklei-go-restful")
+    (version "3.4.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/emicklei/go-restful")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0m1y5a6xr6hmdj77afrvyh2llkbhn1166lcrgis654shl8zs9qhz"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/emicklei/go-restful"))
+    (home-page "https://github.com/emicklei/go-restful")
+    (synopsis "Build REST-style web services using Go")
+    (description "This package provides @code{go-restful}, which helps
+developers to use @code{http} methods explicitly and in a way that's
+consistent with the HTTP protocol definition.")
+    (license license:expat)))
+
+(define-public go-github-com-felixge-httpsnoop
+  (package
+    (name "go-github-com-felixge-httpsnoop")
+    (version "1.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/felixge/httpsnoop")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0ncd8lar5zxiwjhsp315s4hsl4bhnm271h49jhyxc66r5yffgmac"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/felixge/httpsnoop"))
+    (home-page "https://github.com/felixge/httpsnoop/")
+    (synopsis "Capture http related metrics")
+    (description
+     "Httpsnoop provides an easy way to capture http related
+metrics (i.e. response time, bytes written, and http status code) from your
+application's http.Handlers.")
+    (license license:expat)))
+
+(define-public go-github-com-francoispqt-gojay
+  (package
+    (name "go-github-com-francoispqt-gojay")
+    (version "1.2.13")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/francoispqt/gojay")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1ix95qdyajfmxhf9y52vjrih63f181pjs4v5as8905s4d5vmkd06"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/francoispqt/gojay"))
+    (native-inputs
+     (list go-github-com-stretchr-testify))
+    (synopsis "JSON encoder/decoder with powerful stream API for Golang")
+    (description "GoJay is a performant JSON encoder/decoder for Golang.  It has
+a simple API and doesn't use reflection.  It relies on small interfaces to
+decode/encode structures and slices.")
+    (home-page "https://github.com/francoispqt/gojay")
+    (license license:expat)))
+
+;; TODO: This repository has been archived by the owner on Aug 30, 2023. It is
+;; now read-only. The raven-go SDK is no longer maintained and was superseded
+;; by the sentry-go
+(define-public go-github-com-getsentry-raven-go
+  (let ((commit "5c24d5110e0e198d9ae16f1f3465366085001d92")
+        (revision "0"))
+    (package
+      (name "go-github-com-getsentry-raven-go")
+      (version (git-version "0.2.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/getsentry/raven-go")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0lvc376sq8r8jhy2v1m6rf1wyld61pvbk0x6j9xpg56ivqy69xs7"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:import-path "github.com/getsentry/raven-go"))
+      (propagated-inputs
+       (list go-github-com-certifi-gocertifi go-github-com-pkg-errors))
+      (home-page "https://github.com/getsentry/raven-go")
+      (synopsis "Sentry client in Go")
+      (description "This package is a Go client API for the Sentry event/error
+logging system.")
+      (license license:bsd-3))))
+
+(define-public go-github-com-go-chi-chi-v5
+  (package
+    (name "go-github-com-go-chi-chi-v5")
+    (version "5.0.7")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/go-chi/chi")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0rzrsxz4xj0973c6nxklvq2vmg2m795snhk25836i0gnd1jnx79k"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/go-chi/chi/v5"))
+    (home-page "https://github.com/go-chi/chi")
+    (synopsis "Composable router for HTTP services written in Go")
+    (description
+     "@code{go-github-com-go-chi-chi-v5} is an HTTP router that lets the user
+decompose request handling into many smaller layers.")
+    (license license:expat)))
+
+(define-public go-github-com-go-telegram-bot-api-telegram-bot-api
+  (package
+    (name "go-github-com-go-telegram-bot-api-telegram-bot-api")
+    (version "4.6.4")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/go-telegram-bot-api/telegram-bot-api")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1x6j0k3aiicsr8l53na99ci10zm3qpn2syz4f60fzh164w5k1l7w"))))
+    (build-system go-build-system)
+    (home-page "https://go-telegram-bot-api.dev/")
+    (arguments
+     (list #:tests? #f                  ; Upstream tests are broken.
+           #:import-path "github.com/go-telegram-bot-api/telegram-bot-api"))
+    (propagated-inputs
+     (list go-github-com-technoweenie-multipartstreamer))
+    (synopsis "Golang bindings for the Telegram Bot API")
+    (description
+     "This package provides Golang bindings for the Telegram Bot API.")
+    (license license:expat)))
+
+(define-public go-github-com-goccy-go-json
+  (package
+    (name "go-github-com-goccy-go-json")
+    (version "0.9.10")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/goccy/go-json")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1bg8p4c6r8r0kixdxv2m8xmdsmb1zl5sd8czswpccldjk3c358wp"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/goccy/go-json"))
+    (home-page "https://github.com/goccy/go-json")
+    (synopsis "JSON encoder/decoder in Go")
+    (description "Fast JSON encoder/decoder compatible with encoding/json for Go.")
+    (license license:expat)))
+
+(define-public go-github-com-google-go-github
+  (package
+    (name "go-github-com-google-go-github")
+    (version "26.1.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/google/go-github")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0x0zz1vcmllp6r6l2qin9b2llm5cxbf6n84rf99h8wrmhvzs2ipi"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:tests? #f ;application/octet-stream instead of text/plain
+       #:import-path "github.com/google/go-github/v26/github"
+       #:unpack-path "github.com/google/go-github/v26"))
+    (native-inputs
+     (list go-github-com-google-go-querystring go-golang-org-x-crypto))
+    (home-page "https://github.com/google/go-github/")
+    (synopsis "Client library for accessing the GitHub API v3")
+    (description "@code{go-github} is a Go client library for accessing the
+GitHub API v3.")
+    (license license:bsd-3)))
+
+(define-public go-github-com-google-safehtml
+  (package
+    (name "go-github-com-google-safehtml")
+    (version "0.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/google/safehtml")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0j2xjy8xrk9y9k6bqpvimj84i6hg1wwsyvwsb0axhmp49cmnrp86"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/google/safehtml"))
+    (propagated-inputs
+     (list go-golang-org-x-text))
+    (home-page "https://github.com/google/safehtml")
+    (synopsis "Safe HTML for Go")
+    (description
+     "Package safehtml provides immutable string-like types which represent
+values that are guaranteed to be safe, by construction or by escaping or
+sanitization, to use in various HTML contexts and with various DOM APIs.")
+    (license license:bsd-3)))
+
+(define-public go-github-com-gorilla-context
+  (let ((commit "08b5f424b9271eedf6f9f0ce86cb9396ed337a42")
+        (revision "0"))
+    (package
+      (name "go-github-com-gorilla-context")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/gorilla/context")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "03p4hn87vcmfih0p9w663qbx9lpsf7i7j3lc7yl7n84la3yz63m4"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:import-path "github.com/gorilla/context"))
+      (home-page "https://github.com/gorilla/context")
+      (synopsis "Go registry for request variables")
+      (description
+       "This package provides @code{gorilla/context}, which is a general
+purpose registry for global request variables in the Go programming
+language.")
+      (license license:bsd-3))))
+
+(define-public go-github-com-gorilla-csrf
+  (package
+    (name "go-github-com-gorilla-csrf")
+    (version "1.7.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/gorilla/csrf")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0iryq0z48yi7crfbd8jxyn7lh1gsglpiglvjgnf23bz6xfisssav"))))
+    (build-system go-build-system)
+    (propagated-inputs
+     `(("github.com/gorilla/securecookie" ,go-github-com-gorilla-securecookie)
+       ("github.com/pkg/errors" ,go-github-com-pkg-errors)))
+    (arguments
+     '(#:import-path "github.com/gorilla/csrf"))
+    (home-page "https://github.com/gorilla/csrf")
+    (synopsis "Cross Site Request Forgery (CSRF) prevention middleware")
+    (description
+     "Gorilla/csrf provides Cross Site Request Forgery (CSRF) prevention
+middleware for Go web applications and services.")
+    (license license:bsd-3)))
+
+(define-public go-github-com-gorilla-css
+  (package
+    (name "go-github-com-gorilla-css")
+    (version "1.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/gorilla/css")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "116fhy3n7bsq3psyn4pa0i4x9zy916kh1zxslmbbp0p9l4i7ysrj"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/gorilla/css/scanner"
+       #:unpack-path "github.com/gorilla/css"))
+    (home-page "https://github.com/gorilla/css/")
+    (synopsis "CSS3 tokenizer")
+    (description "This package provides a CSS3 tokenizer.")
+    (license license:bsd-3)))
+
+(define-public go-github-com-gorilla-handlers
+  (package
+    (name "go-github-com-gorilla-handlers")
+    (version "1.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/gorilla/handlers")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "15gycdz9lkjnsvvichsbdf25vf6pi1sfn41khhz53iqf300l0w0s"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:tests? #f                      ; Tries to download from the internet
+       #:import-path "github.com/gorilla/handlers"))
+    (propagated-inputs
+     (list go-github-com-felixge-httpsnoop))
+    (home-page "https://github.com/gorilla/handlers")
+    (synopsis "Middleware for Go HTTP services and web applications")
+    (description "A collection of useful middleware for Go HTTP services and
+web applications.")
+    (license license:bsd-3)))
+
+(define-public go-github-com-gorilla-mux
+  (package
+    (name "go-github-com-gorilla-mux")
+    (version "1.8.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/gorilla/mux")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "18f0q9qxgq1yh4ji07mqhiydfcwvi56z9d775v7dc7yckj33kpdk"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/gorilla/mux"))
+    (home-page "https://github.com/gorilla/mux")
+    (synopsis "URL router and dispatcher for Go")
+    (description
+     "Gorilla/Mux implements a request router and dispatcher for matching
+incoming requests with their respective handler.")
+    (license license:bsd-3)))
+
+(define-public go-github-com-gorilla-securecookie
+  (package
+    (name "go-github-com-gorilla-securecookie")
+    (version "1.1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/gorilla/securecookie")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "16bqimpxs9vj5n59vm04y04v665l7jh0sddxn787pfafyxcmh410"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/gorilla/securecookie"))
+    (home-page "https://github.com/gorilla/securecookie")
+    (synopsis "Encodes and decodes authenticated and optionally encrypted
+cookie values")
+    (description
+     "Gorilla/securecookie encodes and decodes authenticated and optionally
+encrypted cookie values for Go web applications.")
+    (license license:bsd-3)))
+
+(define-public go-github-com-gorilla-sessions
+  (package
+    (name "go-github-com-gorilla-sessions")
+    (version "1.2.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/gorilla/sessions")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1zjw2s37yggk9231db0vmgs67z8m3am8i8l4gpgz6fvlbv52baxp"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/gorilla/sessions"))
+    (propagated-inputs
+     (list go-github-com-gorilla-securecookie))
+    (home-page "https://github.com/gorilla/sessions")
+    (synopsis "Manage user sessions in web applications")
+    (description
+     "This package that provides infrastructure for creating and managing user
+sessions in web applications.  It supports cookie and filesystem-based
+sessions, flash messages, custom backends, and more.")
+    (license license:bsd-3)))
+
+(define-public go-github-com-gorilla-websocket
+  (package
+    (name "go-github-com-gorilla-websocket")
+    (version "1.5.0")
+    (home-page "https://github.com/gorilla/websocket")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1xrr6snvs9g1nzxxg05w4i4pq6k1xjljl5mvavd838qc468n118i"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/gorilla/websocket"))
+    (synopsis "Fast WebSocket implementation for Go")
+    (description "Gorilla WebSocket is a Go implementation of the WebSocket
+protocol.")
+    (license license:bsd-2)))
+
+(define-public go-github-com-hjson-hjson-go
+  (package
+    (name "go-github-com-hjson-hjson-go")
+    (version "4.3.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/hjson/hjson-go")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "138vmbnrwzxf64cia27k407clrydvs2jx927dlv6ziydiqyvy7m3"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/hjson/hjson-go"))
+    (home-page "https://hjson.org/")
+    (synopsis "Human JSON implementation for Go")
+    (description "Hjson is a syntax extension to JSON.  It is intended to be
+used like a user interface for humans, to read and edit before passing the
+JSON data to the machine.")
+    (license license:expat)))
+
+(define-public go-github-com-jcmturner-dnsutils-v2
+  (package
+    (name "go-github-com-jcmturner-dnsutils-v2")
+    (version "2.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/jcmturner/dnsutils")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "116zbgvfj88vv93fnapmmgyd5g8kzy774cdyzsnnzyzng92j61c9"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/jcmturner/dnsutils/v2"))
+    (native-inputs
+     (list go-github-com-stretchr-testify))
+    (home-page "https://github.com/jcmturner/dnsutils")
+    (synopsis "Go library with DNS utils")
+    (description
+     "The dnsutils package provides a Go function to return a map of Service
+Records (SRV) in the order they should be used for a given service, protocol
+and name.  The order is determined by the records' priority and randomized
+selection based on their relative weighting.  This package is useful for
+network applications that require accessing services using SRV records.")
+    (license license:asl2.0)))
+
+(define-public go-github-com-jcmturner-goidentity-v6
+  (package
+    (name "go-github-com-jcmturner-goidentity-v6")
+    (version "6.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/jcmturner/goidentity")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "064ysvxvrvij843s7qj1nkzl5qc6j1qbrsb3s0zmwd1sa7vq8q1n"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/jcmturner/goidentity/v6"))
+    (native-inputs
+     (list go-github-com-stretchr-testify))
+    (propagated-inputs
+     (list go-github-com-hashicorp-go-uuid))
+    (home-page "https://github.com/jcmturner/goidentity")
+    (synopsis "Hold authenticated identities and their attributes")
+    (description "This package provides a standard interface for holding
+authenticated identities and their attributes.")
+    (license license:asl2.0)))
+
+(define-public go-github-com-jcmturner-gokrb5-v8
+  (package
+    (name "go-github-com-jcmturner-gokrb5-v8")
+    (version "8.4.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/jcmturner/gokrb5")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0w9d1pa3r6qmdblk25bghf78ncs03l15l1sxnh4n536c356rzq4b"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/jcmturner/gokrb5/v8"
+       #:unpack-path "github.com/jcmturner/gokrb5"))
+    (native-inputs
+     (list go-github-com-stretchr-testify))
+    (propagated-inputs
+     (list go-github-com-gorilla-sessions
+           go-github-com-hashicorp-go-uuid
+           go-github-com-jcmturner-aescts-v2
+           go-github-com-jcmturner-dnsutils-v2
+           go-github-com-jcmturner-gofork
+           go-github-com-jcmturner-goidentity-v6
+           go-github-com-jcmturner-rpc-v2-mstypes
+           go-github-com-jcmturner-rpc-v2-ndr
+           go-golang-org-x-crypto
+           go-golang-org-x-net))
+    (home-page "https://github.com/jcmturner/gokrb5")
+    (synopsis "Pure Go Kerberos library for clients and services")
+    (description "This package provides a pure Go Kerberos library.  It
+features:
+@itemize
+@item Kerberos libraries for custom integration
+@item Parsing Keytab files
+@item Parsing krb5.conf files
+@item Parsing client credentials cache files such as /tmp/krb5cc_$(id -u $(whoami))
+@end itemize
+
+On the client side, it provides a client that can authenticate to an SPNEGO
+Kerberos authenticated web service, and the ability to change client's
+password.
+
+On the server side, the library provides a HTTP handler wrapper implements
+SPNEGO Kerberos authentication, as well as a HTTP handler wrapper decodes
+Microsoft AD PAC authorization data.")
+    (license license:asl2.0)))
+
+(define-public go-github-com-jmespath-go-jmespath
+  (package
+    (name "go-github-com-jmespath-go-jmespath")
+    (version "0.4.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/jmespath/go-jmespath")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "18zyr9nlywmwp3wpzcjxrgq9s9d2mmc6zg6xhsna00m663nkyc3n"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/jmespath/go-jmespath"))
+    (native-inputs
+     (list go-github-com-davecgh-go-spew
+           go-github-com-pmezard-go-difflib
+           go-gopkg-in-yaml-v2))
+    (home-page "https://github.com/jmespath/go-jmespath")
+    (synopsis "Golang implementation of JMESPath")
+    (description
+     "This package implements JMESPath, a query language for JSON.  It
+transforms one JSON document into another through a JMESPath expression.")
+    (license license:asl2.0)))
+
+(define-public go-github-com-julienschmidt-httprouter
+  (package
+    (name "go-github-com-julienschmidt-httprouter")
+    (version "1.3.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/julienschmidt/httprouter")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1a6sy0ysqknsjssjh7qg1dqn21xmj9a36c57nrk7srfmab4ffmk1"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/julienschmidt/httprouter"))
+    (home-page "https://github.com/julienschmidt/httprouter")
+    (synopsis "High performance HTTP request router")
+    (description
+     "Package @code{httprouter} is a trie based high performance HTTP request
+router.")
+    (license license:bsd-3)))
+
+(define-public go-github-com-microcosm-cc-bluemonday
+  (package
+    (name "go-github-com-microcosm-cc-bluemonday")
+    (version "1.0.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/microcosm-cc/bluemonday")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "071ph097c1iwbcc33x6kblj9rxb1r4mp3qfkrj4qw5mg7qcqxydk"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/microcosm-cc/bluemonday"))
+    (propagated-inputs
+     (list go-github-com-chris-ramon-douceur
+           go-golang-org-x-net))
+    (home-page "https://github.com/microcosm-cc/bluemonday/")
+    (synopsis "HTML sanitizer")
+    (description "@code{bluemonday} is a HTML sanitizer implemented in Go.")
+    (license license:bsd-3)))
+
+(define-public go-github-com-nwidger-jsoncolor
+  (package
+    (name "go-github-com-nwidger-jsoncolor")
+    (version "0.3.0")
+    (home-page "https://github.com/nwidger/jsoncolor")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "13rd146pnj7qm70r1333gyd1f61x40nafxlpvdxlci9h7mx8c5p8"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/nwidger/jsoncolor"))
+    (native-inputs
+     (list go-github-com-fatih-color))
+    (synopsis "Colorized JSON marshalling and encoding")
+    (description
+     "@code{jsoncolor} is a drop-in replacement for @code{encoding/json}'s
+@code{Marshal} and @code{MarshalIndent} functions and @code{Encoder} type
+which produce colorized output using github.com/fatih/color.")
+    (license license:expat)))
+
+(define-public go-github-com-opentracing-opentracing-go
+  (package
+    (name "go-github-com-opentracing-opentracing-go")
+    (version "1.2.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/opentracing/opentracing-go")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "04rgdwl29kimp2wnm4dycnzp7941hvpj6wym85x23c6fclacm94h"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/opentracing/opentracing-go"))
+    (native-inputs
+     (list go-github-com-stretchr-testify))
+    (home-page "https://github.com/opentracing/opentracing-go")
+    (synopsis "OpenTracing API for Go")
+    (description "OpenTracing-Go is a Go implementation of the OpenTracing API.")
+    (license license:asl2.0)))
+
+(define-public go-github-com-puerkitobio-goquery
+  (package
+    (name "go-github-com-puerkitobio-goquery")
+    (version "1.7.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/PuerkitoBio/goquery")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0gh1d99l5xc9hvwa4j40pfq3y9vfyq52mnrz6bf1kw2r2zr2gbcc"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/PuerkitoBio/goquery"))
+    (propagated-inputs
+     (list go-github-com-andybalholm-cascadia go-golang-org-x-net))
+    (home-page "https://github.com/PuerkitoBio/goquery")
+    (synopsis "Features similar to jQuery to the Go language")
+    (description "@code{goquery} brings a syntax and a set of features similar
+to jQuery to the Go language.")
+    (license license:bsd-3)))
+
+(define-public go-github-com-sourcegraph-jsonrpc2
+  (package
+    (name "go-github-com-sourcegraph-jsonrpc2")
+    (version "0.1.0")
+    (home-page "https://github.com/sourcegraph/jsonrpc2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1dk0w32k96vxrwnmm24wqx337dn8ylch65qwrbc3wh7whw2xx71q"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/sourcegraph/jsonrpc2"))
+    (propagated-inputs
+     (list go-github-com-daviddengcn-go-colortext
+           go-github-com-gorilla-websocket
+           go-github-com-motemen-go-colorine))
+    (synopsis "Provides a client and server implementation of JSON-RPC 2.0")
+    (description
+     "Package jsonrpc2 provides a Go implementation of JSON-RPC 2.0.")
+    (license license:expat)))
+
+(define-public go-github-com-tdewolff-minify-v2
+  (package
+    (name "go-github-com-tdewolff-minify-v2")
+    (version "2.12.7")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/tdewolff/minify")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0qhslaq885zbqs83nvbi29yh09b89kkb6ycami8lz28wkwrlayap"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:import-path "github.com/tdewolff/minify/v2"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'regenerate-hash
+            (lambda* (#:key import-path #:allow-other-keys)
+              (for-each
+               (lambda (dir)
+                 (with-directory-excursion
+                     (format #f "src/~a/~a" import-path dir)
+                   (make-file-writable "hash.go")
+                   (format #t "Generating `hash.go' for ~a...~%" dir)
+                   (invoke "go" "generate")))
+               '("css" "html" "svg")))))))
+    (propagated-inputs
+     (list go-github-com-tdewolff-parse-v2))
+    (native-inputs
+     (list go-github-com-tdewolff-hasher
+           go-github-com-tdewolff-test))
+    (home-page "https://go.tacodewolff.nl/minify")
+    (synopsis "Go minifiers for web formats")
+    (description
+     "This package provides HTML5, CSS3, JS, JSON, SVG and XML minifiers and
+an interface to implement any other minifier.")
+    (license license:expat)))
+
+(define-public go-github-com-tdewolff-parse-v2
+  (package
+    (name "go-github-com-tdewolff-parse-v2")
+    (version "2.6.6")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/tdewolff/parse")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1dqki9ima079k9a3l72igmx5dml8qsl9z8rzw8a433f4gjhlv320"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:import-path "github.com/tdewolff/parse/v2"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'regenerate-hash
+            (lambda* (#:key import-path #:allow-other-keys)
+              (for-each
+               (lambda (dir)
+                 (with-directory-excursion
+                     (format #f "src/~a/~a" import-path dir)
+                   (make-file-writable "hash.go")
+                   (format #t "Generating `hash.go' for ~a...~%" dir)
+                   (invoke "go" "generate")))
+               '("css" "html")))))))
+    (native-inputs
+     (list go-github-com-tdewolff-hasher
+           go-github-com-tdewolff-test))
+    (home-page "https://github.com/tdewolff/parse")
+    (synopsis "Go parsers for web formats")
+    (description
+     "This package contains several lexers and parsers written in Go.")
+    (license license:expat)))
+
+(define-public go-github-com-tv42-httpunix
+  (let ((commit "2ba4b9c3382c77e7b9ea89d00746e6111d142a22")
+        (revision "0"))
+    (package
+      (name "go-github-com-tv42-httpunix")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/tv42/httpunix")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0xbwpip2hsfhd2kd878jn5ndl8y1i9658lggha4x3xb5m1rsds9w"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:import-path "github.com/tv42/httpunix"))
+      (home-page "https://github.com/tv42/httpunix")
+      (synopsis "Go library to talk HTTP over Unix domain sockets")
+      (description "This package is a Go library to talk HTTP over Unix domain
+sockets.")
+      (license license:expat))))
+
+(define-public go-github-com-valyala-fasthttp
+  (package
+    (name "go-github-com-valyala-fasthttp")
+    (version "1.39.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/valyala/fasthttp")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "12qwx0yk7wjj25v4fswgmj28r69gk94kqdmzavca8k9f0yznniz1"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:import-path "github.com/valyala/fasthttp"
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'check
+            (lambda* (#:key inputs #:allow-other-keys #:rest args)
+              (unless
+                  ;; Tests hang forever with gccgo.
+                  (false-if-exception (search-input-file inputs "/bin/gccgo"))
+                (apply (assoc-ref %standard-phases 'check) args)))))))
+    (propagated-inputs
+     (list go-github-com-andybalholm-brotli
+           go-github-com-klauspost-compress
+           go-github-com-valyala-bytebufferpool
+           go-github-com-valyala-tcplisten
+           go-golang-org-x-crypto
+           go-golang-org-x-net
+           go-golang-org-x-sys))
+    (home-page "https://github.com/valyala/fasthttp")
+    (synopsis "Provides fast HTTP server and client API")
+    (description
+     "This package provides a Go module @code{fasthttp} which may be used as
+replacement for native @code{net/http} module.")
+    (license license:expat)))
+
+(define-public go-github-com-whyrusleeping-json-filter
+  (let ((commit "ff25329a9528f01c5175414f16cc0a6a162a5b8b")
+        (revision "0"))
+    (package
+      (name "go-github-com-whyrusleeping-json-filter")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/whyrusleeping/json-filter")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0cai0drvx4c8j686l908vpcsz3mw3vxi3ziz94b0f3c5ylpj07j7"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:import-path
+         "github.com/whyrusleeping/json-filter"))
+      (home-page "https://github.com/whyrusleeping/json-filter")
+      (synopsis "Library to query JSON objects marshalled into map[string]interface")
+      (description "A library to query JSON objects marshalled into
+@command{map[string]interface{}}.")
+      (license license:expat))))
+
+(define-public go-github-com-xeipuuv-gojsonpointer
+  (let ((commit "4e3ac2762d5f479393488629ee9370b50873b3a6")
+        (revision "0"))
+    (package
+      (name "go-github-com-xeipuuv-gojsonpointer")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/xeipuuv/gojsonpointer")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "13y6iq2nzf9z4ls66bfgnnamj2m3438absmbpqry64bpwjfbsi9q"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:import-path "github.com/xeipuuv/gojsonpointer"))
+      (home-page "https://github.com/xeipuuv/gojsonpointer")
+      (synopsis "Implementation of JSON Pointer for Go")
+      (description
+       "This package provides an implementation of JSON Pointer for the Go
+programming language.")
+      (license license:asl2.0))))
+
+(define-public go-github-com-xeipuuv-gojsonreference
+  (let ((commit "bd5ef7bd5415a7ac448318e64f11a24cd21e594b")
+        (revision "0"))
+    (package
+      (name "go-github-com-xeipuuv-gojsonreference")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/xeipuuv/gojsonreference")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1xby79padc7bmyb8rfbad8wfnfdzpnh51b1n8c0kibch0kwc1db5"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:import-path "github.com/xeipuuv/gojsonreference"))
+      (propagated-inputs
+       (list go-github-com-xeipuuv-gojsonpointer))
+      (home-page "https://github.com/xeipuuv/gojsonreference")
+      (synopsis "Implementation of JSON Reference for Go")
+      (description
+       "This package provides an implementation of JSON Reference for the Go
+programming language.")
+      (license license:asl2.0))))
+
+(define-public go-github-com-xeipuuv-gojsonschema
+  (let ((commit "6b67b3fab74d992bd07f72550006ab2c6907c416")
+        (revision "0"))
+    (package
+      (name "go-github-com-xeipuuv-gojsonschema")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/xeipuuv/gojsonschema")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1q937a6q7canlr3dllqdw0qwa6z2fpwn1w9kycavx8jmwh6q3f69"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:import-path "github.com/xeipuuv/gojsonschema"
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'disable-failing-tests
+             (lambda* (#:key import-path #:allow-other-keys)
+               (with-directory-excursion (string-append "src/" import-path)
+                 (substitute* "schema_test.go"
+                   (("\\{\"phase\": \"remote ref, " all)
+                    (string-append "// " all))
+                   (("\\{\"phase\": \"valid definition" all)
+                    (string-append "// " all))
+                   (("\\{\"phase\": \"invalid definition" all)
+                    (string-append "// " all)))))))))
+      (native-inputs
+       (list go-github-com-stretchr-testify))
+      (propagated-inputs
+       (list go-github-com-xeipuuv-gojsonreference
+             go-github-com-xeipuuv-gojsonpointer))
+      (home-page "https://github.com/xeipuuv/gojsonschema")
+      (synopsis "Implementation of JSON Schema for Go")
+      (description
+       "This package provides an implementation of JSON Schema for the Go
+programming language, which supports draft-04, draft-06 and draft-07.")
+      (license license:asl2.0))))
+
+(define-public go-gopkg-in-square-go-jose-v2
+  (package
+    (name "go-gopkg-in-square-go-jose-v2")
+    (version "2.6.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/square/go-jose")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1b1nhqxfmhzwrfk7pkvp2w3z3d0pf5ir00vizmy2d4xdbnldn70r"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "gopkg.in/square/go-jose.v2"))
+    (propagated-inputs
+     (list go-golang-org-x-crypto))
+    (native-inputs
+     (list go-github-com-google-go-cmp-cmp
+           go-github-com-stretchr-testify))
+    (home-page "https://gopkg.in/square/go-jose.v2")
+    (synopsis "Implementation of JOSE standards (JWE, JWS, JWT) in Go")
+    (description
+     "This package aims to provide an implementation of the Javascript Object
+Signing and Encryption set of standards.  This includes support for JSON Web
+Encryption, JSON Web Signature, and JSON Web Token standards.")
+    (license license:asl2.0)))
+
+;;;
+;;; Avoid adding new packages to the end of this file. To reduce the chances
+;;; of a merge conflict, place them above by existing packages with similar
+;;; functionality or similar names.
+;;;
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index fb77f610e7..36e2c4b23e 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -80,6 +80,7 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages golang-check)
+  #:use-module (gnu packages golang-web)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages mail)
   #:use-module (gnu packages mp3)
@@ -1498,57 +1499,6 @@ not included in the Go standard library.")
 encryption and decryption methods.")
     (license license:asl2.0)))
 
-(define-public go-github-com-jcmturner-dnsutils-v2
-  (package
-    (name "go-github-com-jcmturner-dnsutils-v2")
-    (version "2.0.0")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/jcmturner/dnsutils")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "116zbgvfj88vv93fnapmmgyd5g8kzy774cdyzsnnzyzng92j61c9"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/jcmturner/dnsutils/v2"))
-    (propagated-inputs (list go-github-com-stretchr-testify))
-    (home-page "https://github.com/jcmturner/dnsutils")
-    (synopsis "Go library with DNS utils")
-    (description
-     "The dnsutils package provides a Go function to return a map of Service
-Records (SRV) in the order they should be used for a given service, protocol
-and name.  The order is determined by the records' priority and randomized
-selection based on their relative weighting.  This package is useful for
-network applications that require accessing services using SRV records.")
-    (license license:asl2.0)))
-
-(define-public go-github-com-jcmturner-goidentity-v6
-  (package
-    (name "go-github-com-jcmturner-goidentity-v6")
-    (version "6.0.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/jcmturner/goidentity")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "064ysvxvrvij843s7qj1nkzl5qc6j1qbrsb3s0zmwd1sa7vq8q1n"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/jcmturner/goidentity/v6"))
-    (propagated-inputs
-     (list go-github-com-stretchr-testify go-github-com-hashicorp-go-uuid))
-    (home-page "https://github.com/jcmturner/goidentity")
-    (synopsis "Hold authenticated identities and their attributes")
-    (description "This package provides a standard interface for holding
-authenticated identities and their attributes.")
-    (license license:asl2.0)))
-
 (define-public go-github-com-jcmturner-gofork
   (package
     (name "go-github-com-jcmturner-gofork")
@@ -1572,54 +1522,6 @@ authenticated identities and their attributes.")
 arounds until issues are addressed in the official distribution.")
     (license license:bsd-3)))
 
-(define-public go-github-com-jcmturner-gokrb5-v8
-  (package
-    (name "go-github-com-jcmturner-gokrb5-v8")
-    (version "8.4.2")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/jcmturner/gokrb5")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0w9d1pa3r6qmdblk25bghf78ncs03l15l1sxnh4n536c356rzq4b"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/jcmturner/gokrb5/v8"
-       #:unpack-path "github.com/jcmturner/gokrb5"))
-    (propagated-inputs (list go-golang-org-x-net
-                             go-golang-org-x-crypto
-                             go-github-com-stretchr-testify
-                             go-github-com-jcmturner-rpc-v2-ndr
-                             go-github-com-jcmturner-rpc-v2-mstypes
-                             go-github-com-jcmturner-goidentity-v6
-                             go-github-com-jcmturner-gofork
-                             go-github-com-jcmturner-dnsutils-v2
-                             go-github-com-jcmturner-aescts-v2
-                             go-github-com-hashicorp-go-uuid
-                             go-github-com-gorilla-sessions))
-    (home-page "https://github.com/jcmturner/gokrb5")
-    (synopsis "Pure Go Kerberos library for clients and services")
-    (description "This package provides a pure Go Kerberos library.  It
-features:
-@itemize
-@item Kerberos libraries for custom integration
-@item Parsing Keytab files
-@item Parsing krb5.conf files
-@item Parsing client credentials cache files such as /tmp/krb5cc_$(id -u $(whoami))
-@end itemize
-
-On the client side, it provides a client that can authenticate to an SPNEGO
-Kerberos authenticated web service, and the ability to change client's
-password.
-
-On the server side, the library provides a HTTP handler wrapper implements
-SPNEGO Kerberos authentication, as well as a HTTP handler wrapper decodes
-Microsoft AD PAC authorization data.")
-    (license license:asl2.0)))
-
 (define-public go-github-com-jcmturner-rpc
   (package
     (name "go-github-com-jcmturner-rpc")
@@ -2032,30 +1934,6 @@ standardized in RFC 7539.")
       (description "InterConv converts interfaces into any data type.")
       (license license:expat))))
 
-(define-public go-github-com-opentracing-opentracing-go
-  (package
-    (name "go-github-com-opentracing-opentracing-go")
-    (version "1.2.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri
-        (git-reference
-         (url "https://github.com/opentracing/opentracing-go")
-         (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "04rgdwl29kimp2wnm4dycnzp7941hvpj6wym85x23c6fclacm94h"))))
-    (build-system go-build-system)
-    (arguments
-     `(#:import-path "github.com/opentracing/opentracing-go"))
-    (native-inputs
-     (list go-github-com-stretchr-testify))
-    (home-page "https://github.com/opentracing/opentracing-go")
-    (synopsis "OpenTracing API for Go")
-    (description "OpenTracing-Go is a Go implementation of the OpenTracing API.")
-    (license license:asl2.0)))
-
 (define-public go-github-com-operatorfoundation-monolith-go
   (package
     (name "go-github-com-operatorfoundation-monolith-go")
@@ -3429,63 +3307,6 @@ specified.  Algorithms are included to calculate yahrzeits, birthdays,
 and anniversaries.")
       (license license:gpl2+))))
 
-(define-public go-github-com-aws-sdk
-  (package
-    (name "go-github-com-aws-sdk")
-    (version "1.35.2")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/aws/aws-sdk-go")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "1ky5lw2s2zpslnnqcs6hgsrwvwbxwgflb5jwf16dd4aga3vrg10c"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/aws/aws-sdk-go/aws"
-       #:unpack-path "github.com/aws/aws-sdk-go"))
-    (propagated-inputs
-     (list go-github-com-go-sql-driver-mysql
-           go-github-com-jmespath-go-jmespath go-github-com-pkg-errors
-           go-golang-org-x-net))
-    (home-page "https://github.com/aws/aws-sdk-go")
-    (synopsis "Library to access Amazon Web Services (AWS)")
-    (description
-     "This is the official AWS SDK for the Go programming language.")
-    (license license:asl2.0)))
-
-(define-public go-gopkg-in-square-go-jose-v2
-  (package
-    (name "go-gopkg-in-square-go-jose-v2")
-    (version "2.6.0")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/square/go-jose")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1b1nhqxfmhzwrfk7pkvp2w3z3d0pf5ir00vizmy2d4xdbnldn70r"))))
-    (build-system go-build-system)
-    (arguments
-     (list #:import-path "gopkg.in/square/go-jose.v2"))
-    (propagated-inputs
-     (list go-golang-org-x-crypto))
-    (native-inputs
-     (list go-github-com-google-go-cmp-cmp
-           go-github-com-stretchr-testify))
-    (home-page "https://gopkg.in/square/go-jose.v2")
-    (synopsis "Implementation of JOSE standards (JWE, JWS, JWT) in Go")
-    (description
-     "This package aims to provide an implementation of the Javascript Object
-Signing and Encryption set of standards.  This includes support for JSON Web
-Encryption, JSON Web Signature, and JSON Web Token standards.")
-    (license license:asl2.0)))
-
 (define-public go-github-com-go-jose-go-jose-v3
   (package
     (inherit go-gopkg-in-square-go-jose-v2)
@@ -3671,83 +3492,6 @@ per-goroutine.")
 @code{string} to @code{uint32} mapper.")
     (license license:bsd-3)))
 
-(define-public go-github-com-tdewolff-minify-v2
-  (package
-    (name "go-github-com-tdewolff-minify-v2")
-    (version "2.12.7")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/tdewolff/minify")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0qhslaq885zbqs83nvbi29yh09b89kkb6ycami8lz28wkwrlayap"))))
-    (build-system go-build-system)
-    (arguments
-     (list #:import-path "github.com/tdewolff/minify/v2"
-           #:phases
-           #~(modify-phases %standard-phases
-               (add-after 'unpack 'regenerate-hash
-                 (lambda* (#:key import-path #:allow-other-keys)
-                   (for-each
-                    (lambda (dir)
-                      (with-directory-excursion
-                          (format #f "src/~a/~a" import-path dir)
-                        (make-file-writable "hash.go")
-                        (format #t "Generating `hash.go' for ~a...~%" dir)
-                        (invoke "go" "generate")))
-                    '("css" "html" "svg")))))))
-    (propagated-inputs
-     (list go-github-com-tdewolff-parse-v2))
-    (native-inputs
-     (list go-github-com-tdewolff-hasher
-           go-github-com-tdewolff-test))
-    (home-page "https://go.tacodewolff.nl/minify")
-    (synopsis "Go minifiers for web formats")
-    (description
-     "This package provides HTML5, CSS3, JS, JSON, SVG and XML minifiers and
-an interface to implement any other minifier.")
-    (license license:expat)))
-
-(define-public go-github-com-tdewolff-parse-v2
-  (package
-    (name "go-github-com-tdewolff-parse-v2")
-    (version "2.6.6")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/tdewolff/parse")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1dqki9ima079k9a3l72igmx5dml8qsl9z8rzw8a433f4gjhlv320"))))
-    (build-system go-build-system)
-    (arguments
-     (list #:import-path "github.com/tdewolff/parse/v2"
-           #:phases
-           #~(modify-phases %standard-phases
-               (add-after 'unpack 'regenerate-hash
-                 (lambda* (#:key import-path #:allow-other-keys)
-                   (for-each
-                    (lambda (dir)
-                      (with-directory-excursion
-                          (format #f "src/~a/~a" import-path dir)
-                        (make-file-writable "hash.go")
-                        (format #t "Generating `hash.go' for ~a...~%" dir)
-                        (invoke "go" "generate")))
-                    '("css" "html")))))))
-    (native-inputs
-     (list go-github-com-tdewolff-hasher
-           go-github-com-tdewolff-test))
-    (home-page "https://github.com/tdewolff/parse")
-    (synopsis "Go parsers for web formats")
-    (description
-     "This package contains several lexers and parsers written in Go.")
-    (license license:expat)))
-
 (define-public go-github-com-tj-docopt
   (package
     (name "go-github-com-tj-docopt")
@@ -4430,55 +4174,6 @@ loading algorithms.")
 is similar to Go's standard library @code{json} and @code{xml} package.")
     (license license:expat)))
 
-(define-public go-github-com-goccy-go-json
-  (package
-    (name "go-github-com-goccy-go-json")
-    (version "0.9.10")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/goccy/go-json")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "1bg8p4c6r8r0kixdxv2m8xmdsmb1zl5sd8czswpccldjk3c358wp"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/goccy/go-json"))
-    (home-page "https://github.com/goccy/go-json")
-    (synopsis "JSON encoder/decoder in Go")
-    (description
-     "Fast JSON encoder/decoder compatible with encoding/json for Go.")
-    (license license:expat)))
-
-(define-public go-github-com-getsentry-raven-go
-  (let ((commit "5c24d5110e0e198d9ae16f1f3465366085001d92")
-        (revision "0"))
-    (package
-      (name "go-github-com-getsentry-raven-go")
-      (version (git-version "0.2.0" revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/getsentry/raven-go")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32
-           "0lvc376sq8r8jhy2v1m6rf1wyld61pvbk0x6j9xpg56ivqy69xs7"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "github.com/getsentry/raven-go"))
-      (propagated-inputs
-       (list go-github-com-certifi-gocertifi go-github-com-pkg-errors))
-      (home-page "https://github.com/getsentry/raven-go")
-      (synopsis "Sentry client in Go")
-      (description "This package is a Go client API for the Sentry event/error
-logging system.")
-      (license license:bsd-3))))
-
 (define-public go-github-com-hashicorp-go-uuid
   (package
     (name "go-github-com-hashicorp-go-uuid")
@@ -4691,30 +4386,6 @@ to use line-based tools such as grep to search for what you want and see the
 absolute \"path\" to it.")
     (license license:expat)))
 
-(define-public go-github-com-tv42-httpunix
-  (let ((commit "2ba4b9c3382c77e7b9ea89d00746e6111d142a22")
-        (revision "0"))
-    (package
-      (name "go-github-com-tv42-httpunix")
-      (version (git-version "0.0.0" revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/tv42/httpunix")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32 "0xbwpip2hsfhd2kd878jn5ndl8y1i9658lggha4x3xb5m1rsds9w"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "github.com/tv42/httpunix"))
-      (home-page "https://github.com/tv42/httpunix")
-      (synopsis "Go library to talk HTTP over Unix domain sockets")
-      (description "This package is a Go library to talk HTTP over Unix domain
-sockets.")
-      (license license:expat))))
-
 (define-public go-github-com-blang-semver
   (let ((commit "60ec3488bfea7cca02b021d106d9911120d25fe9")
         (revision "0"))
@@ -4739,57 +4410,6 @@ sockets.")
       (description "Semver is a library for Semantic versioning written in Go.")
       (license license:expat))))
 
-(define-public go-github-com-emicklei-go-restful
-  (package
-    (name "go-github-com-emicklei-go-restful")
-    (version "3.4.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/emicklei/go-restful")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "0m1y5a6xr6hmdj77afrvyh2llkbhn1166lcrgis654shl8zs9qhz"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/emicklei/go-restful"))
-    (home-page "https://github.com/emicklei/go-restful")
-    (synopsis "Build REST-style web services using Go")
-    (description "This package provides @code{go-restful}, which helps
-developers to use @code{http} methods explicitly and in a way that's consistent
-with the HTTP protocol definition.")
-    (license license:expat)))
-
-(define-public go-cloud-google-com-go-compute-metadata
-  (package
-    (name "go-cloud-google-com-go-compute-metadata")
-    (version "0.81.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/googleapis/google-cloud-go")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "15jgynqb5pbxqbj3a7ii970yn4srsw1dbxzxnhpkfkmplalpgyh3"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:unpack-path "cloud.google.com/go"
-       #:import-path "cloud.google.com/go/compute/metadata"))
-    (home-page
-     "https://pkg.go.dev/cloud.google.com/go/compute/metadata")
-    (synopsis
-     "Go wrapper for Google Compute Engine metadata service")
-    (description
-     "This package provides access to Google Compute Engine (GCE) metadata and
-API service accounts for Go.")
-    (license license:asl2.0)))
-
 (define-public go-github-com-google-cadvisor
   (let ((commit "2ed7198f77395ee9a172878a0a7ab92ab59a2cfd")
         (revision "0"))
@@ -4816,76 +4436,6 @@ information about the resource usage and performance characteristics of running
 containers.")
       (license license:asl2.0))))
 
-(define-public go-github-com-gorilla-css
-  (package
-    (name "go-github-com-gorilla-css")
-    (version "1.0.0")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/gorilla/css")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "116fhy3n7bsq3psyn4pa0i4x9zy916kh1zxslmbbp0p9l4i7ysrj"))))
-    (build-system go-build-system)
-    (arguments
-     `(#:import-path "github.com/gorilla/css/scanner"
-       #:unpack-path "github.com/gorilla/css"))
-    (home-page "https://github.com/gorilla/css/")
-    (synopsis "CSS3 tokenizer")
-    (description "This package provides a CSS3 tokenizer.")
-    (license license:bsd-3)))
-
-(define-public go-github-com-gorilla-context
-  (let ((commit "08b5f424b9271eedf6f9f0ce86cb9396ed337a42")
-        (revision "0"))
-    (package
-      (name "go-github-com-gorilla-context")
-      (version (git-version "0.0.0" revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/gorilla/context")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32
-           "03p4hn87vcmfih0p9w663qbx9lpsf7i7j3lc7yl7n84la3yz63m4"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "github.com/gorilla/context"))
-      (home-page "https://github.com/gorilla/context")
-      (synopsis "Go registry for request variables")
-      (description "This package provides @code{gorilla/context}, which is a general purpose registry for global request variables in the Go programming language.")
-      (license license:bsd-3))))
-
-(define-public go-github-com-gorilla-mux
-  (package
-    (name "go-github-com-gorilla-mux")
-    (version "1.8.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/gorilla/mux")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "18f0q9qxgq1yh4ji07mqhiydfcwvi56z9d775v7dc7yckj33kpdk"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/gorilla/mux"))
-    (home-page "https://github.com/gorilla/mux")
-    (synopsis "URL router and dispatcher for Go")
-    (description
-     "Gorilla/Mux implements a request router and dispatcher for matching
-incoming requests with their respective handler.")
-    (license license:bsd-3)))
-
 (define-public go-github-com-andybalholm-brotli
   (package
     (name "go-github-com-andybalholm-brotli")
@@ -4912,109 +4462,6 @@ the @code{c2go} tool at
 @url{https://github.com/andybalholm/c2go,https://github.com/andybalholm/c2go}.")
     (license license:expat)))
 
-(define-public go-github-com-gorilla-handlers
-  (package
-    (name "go-github-com-gorilla-handlers")
-    (version "1.5.1")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/gorilla/handlers")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "15gycdz9lkjnsvvichsbdf25vf6pi1sfn41khhz53iqf300l0w0s"))))
-    (build-system go-build-system)
-    (propagated-inputs
-     `(("github.com/felixge/httpsnoop" ,go-github-com-felixge-httpsnoop)))
-    (arguments
-     '(#:tests? #f                      ; Tries to download from the internet
-       #:import-path "github.com/gorilla/handlers"))
-    (home-page "https://github.com/gorilla/handlers")
-    (synopsis "Middleware for Go HTTP services and web applications")
-    (description "A collection of useful middleware for Go HTTP services
-and web applications.")
-    (license license:bsd-3)))
-
-(define-public go-github-com-gorilla-securecookie
-  (package
-    (name "go-github-com-gorilla-securecookie")
-    (version "1.1.1")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/gorilla/securecookie")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "16bqimpxs9vj5n59vm04y04v665l7jh0sddxn787pfafyxcmh410"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/gorilla/securecookie"))
-    (home-page "https://github.com/gorilla/securecookie")
-    (synopsis "Encodes and decodes authenticated and optionally encrypted
-cookie values")
-    (description
-     "Gorilla/securecookie encodes and decodes authenticated and optionally
-encrypted cookie values for Go web applications.")
-    (license license:bsd-3)))
-
-(define-public go-github-com-gorilla-sessions
-  (package
-    (name "go-github-com-gorilla-sessions")
-    (version "1.2.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/gorilla/sessions")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1zjw2s37yggk9231db0vmgs67z8m3am8i8l4gpgz6fvlbv52baxp"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/gorilla/sessions"))
-    (propagated-inputs (list go-github-com-gorilla-securecookie))
-    (home-page "https://github.com/gorilla/sessions")
-    (synopsis "Manage user sessions in web applications")
-    (description
-     "This package that provides infrastructure for creating and
-managing user sessions in web applications.  It supports cookie and
-filesystem-based sessions, flash messages, custom backends, and more.")
-    (license license:bsd-3)))
-
-(define-public go-github-com-gorilla-csrf
-  (package
-    (name "go-github-com-gorilla-csrf")
-    (version "1.7.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/gorilla/csrf")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "0iryq0z48yi7crfbd8jxyn7lh1gsglpiglvjgnf23bz6xfisssav"))))
-    (build-system go-build-system)
-    (propagated-inputs
-     `(("github.com/gorilla/securecookie" ,go-github-com-gorilla-securecookie)
-       ("github.com/pkg/errors" ,go-github-com-pkg-errors)))
-    (arguments
-     '(#:import-path "github.com/gorilla/csrf"))
-    (home-page "https://github.com/gorilla/csrf")
-    (synopsis "Cross Site Request Forgery (CSRF) prevention middleware")
-    (description
-     "Gorilla/csrf provides Cross Site Request Forgery (CSRF) prevention
-middleware for Go web applications and services.")
-    (license license:bsd-3)))
-
 (define-public go-github-com-jonboulle-clockwork
   (let ((commit "e3653ace2d63753697e0e5b07b9393971c0bba9d")
         (revision "0"))
@@ -5216,31 +4663,6 @@ GNU extensions} to the POSIX recommendations for command-line options.")
 all types of configuration needs and formats.")
     (license license:expat)))
 
-(define-public go-github-com-felixge-httpsnoop
-  (package
-    (name "go-github-com-felixge-httpsnoop")
-    (version "1.0.1")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/felixge/httpsnoop")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "0ncd8lar5zxiwjhsp315s4hsl4bhnm271h49jhyxc66r5yffgmac"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/felixge/httpsnoop"))
-    (home-page "https://github.com/felixge/httpsnoop/")
-    (synopsis "Capture http related metrics")
-    (description
-     "Httpsnoop provides an easy way to capture http related
-metrics (i.e. response time, bytes written, and http status code) from your
-application's http.Handlers.")
-    (license license:expat)))
-
 (define-public go-github-com-fsnotify-fsnotify
   (package
     (name "go-github-com-fsnotify-fsnotify")
@@ -7195,32 +6617,6 @@ anchor names.")
     (description "This package provides unified and context-aware diffs in Go.")
     (license license:bsd-3)))
 
-(define-public go-github-com-whyrusleeping-json-filter
-  (let ((commit "ff25329a9528f01c5175414f16cc0a6a162a5b8b")
-        (revision "0"))
-    (package
-      (name "go-github-com-whyrusleeping-json-filter")
-      (version (git-version "0.0.0" revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/whyrusleeping/json-filter")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32
-           "0cai0drvx4c8j686l908vpcsz3mw3vxi3ziz94b0f3c5ylpj07j7"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path
-         "github.com/whyrusleeping/json-filter"))
-      (home-page "https://github.com/whyrusleeping/json-filter")
-      (synopsis "Library to query JSON objects marshalled into map[string]interface")
-      (description "A library to query JSON objects marshalled into
-@command{map[string]interface{}}.")
-      (license license:expat))))
-
 (define-public go-github-com-whyrusleeping-progmeter
   (let ((commit "f3e57218a75b913eff88d49a52c1debf9684ea04")
         (revision "0"))
@@ -7981,31 +7377,6 @@ designed to clean up raw terminal output by stripping escape sequences,
 optionally preserving color.")
     (license license:expat)))
 
-(define-public go-github-com-francoispqt-gojay
-  (package
-    (name "go-github-com-francoispqt-gojay")
-    (version "1.2.13")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                     (url "https://github.com/francoispqt/gojay")
-                     (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1ix95qdyajfmxhf9y52vjrih63f181pjs4v5as8905s4d5vmkd06"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/francoispqt/gojay"))
-    (propagated-inputs
-     (list go-github-com-stretchr-testify))
-    (synopsis "JSON encoder/decoder with powerful stream API for Golang")
-    (description "GoJay is a performant JSON encoder/decoder for Golang.  It has
-a simple API and doesn't use reflection.  It relies on small interfaces to
-decode/encode structures and slices.")
-    (home-page "https://github.com/francoispqt/gojay")
-    (license license:expat)))
-
 (define-public go-github-com-pkg-errors
   (package
     (name "go-github-com-pkg-errors")
@@ -8083,24 +7454,6 @@ and aid debugging.")
 a cron spec parser and job runner.")
     (license license:expat)))
 
-;; Required by actionlint. The version of `go-github-com-robfig-cron'
-;; packaged in Guix is newer and changed some error messages, causing
-;; unit tests in actionlint to fail.
-(define-public go-github-com-robfig-cron-1.2
-  (package
-    (inherit go-github-com-robfig-cron)
-    (name "go-github-com-robfig-cron")
-    (version "1.2.0")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/robfig/cron")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0nv31m3940d9kf38lw2zs4hpj435bdi9mmim098rb3n4l07qrvva"))))))
-
 (define-public go-github-com-shirou-gopsutil
   (let ((commit "47ef3260b6bf6ead847e7c8fc4101b33c365e399")
         (revision "0"))
@@ -8562,32 +7915,6 @@ and from termios translations, readCh, reading passwords, etc.")
 into URL query parameters.")
       (license license:bsd-3))))
 
-(define-public go-github-com-google-go-github
-  (package
-    (name "go-github-com-google-go-github")
-    (version "26.1.3")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/google/go-github")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0x0zz1vcmllp6r6l2qin9b2llm5cxbf6n84rf99h8wrmhvzs2ipi"))))
-    (build-system go-build-system)
-    (arguments
-     `(#:tests? #f ;application/octet-stream instead of text/plain
-       #:import-path "github.com/google/go-github/v26/github"
-       #:unpack-path "github.com/google/go-github/v26"))
-    (native-inputs
-     (list go-github-com-google-go-querystring go-golang-org-x-crypto))
-    (home-page "https://github.com/google/go-github/")
-    (synopsis "Client library for accessing the GitHub API v3")
-    (description "@code{go-github} is a Go client library for accessing the
-GitHub API v3.")
-    (license license:bsd-3)))
-
 (define-public go-github-com-google-renameio
   (package
     (name "go-github-com-google-renameio")
@@ -9511,158 +8838,6 @@ synchronizing plain text:
 converts it into syntax highlighted HTML, ANSI-coloured text, etc.")
     (license license:expat)))
 
-(define-public go-github-com-andybalholm-cascadia
-  (package
-    (name "go-github-com-andybalholm-cascadia")
-    (version "1.3.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/andybalholm/cascadia")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0zgc9fjkn7d66cnmgnmalr9lrq4ii1spap95pf2x1hln4pflib5s"))))
-    (build-system go-build-system)
-    (arguments
-     `(#:import-path "github.com/andybalholm/cascadia"))
-    (native-inputs
-     (list go-golang-org-x-net))
-    (home-page "https://github.com/andybalholm/cascadia/")
-    (synopsis "CSS selectors for HTML")
-    (description "The Cascadia package implements CSS selectors for use with
-the parse trees produced by the html package.")
-    (license license:bsd-2)))
-
-(define-public go-github-com-puerkitobio-goquery
-  (package
-    (name "go-github-com-puerkitobio-goquery")
-    (version "1.7.0")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/PuerkitoBio/goquery")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0gh1d99l5xc9hvwa4j40pfq3y9vfyq52mnrz6bf1kw2r2zr2gbcc"))))
-    (build-system go-build-system)
-    (arguments
-     `(#:import-path "github.com/PuerkitoBio/goquery"))
-    (propagated-inputs
-     (list go-github-com-andybalholm-cascadia go-golang-org-x-net))
-    (home-page "https://github.com/PuerkitoBio/goquery")
-    (synopsis "Features similar to jQuery to the Go language")
-    (description "@code{goquery} brings a syntax and a set of features similar
-to jQuery to the Go language.")
-    (license license:bsd-3)))
-
-(define-public go-github-com-jmespath-go-jmespath
-  (package
-    (name "go-github-com-jmespath-go-jmespath")
-    (version "0.4.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/jmespath/go-jmespath")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "18zyr9nlywmwp3wpzcjxrgq9s9d2mmc6zg6xhsna00m663nkyc3n"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/jmespath/go-jmespath"))
-    (native-inputs
-     (list go-github-com-davecgh-go-spew go-github-com-pmezard-go-difflib
-           go-gopkg-in-yaml-v2))
-    (home-page "https://github.com/jmespath/go-jmespath")
-    (synopsis "Golang implementation of JMESPath")
-    (description
-     "This package implements JMESPath, a query language for JSON.  It
-transforms one JSON document into another through a JMESPath expression.")
-    (license license:asl2.0)))
-
-(define-public go-github-com-aymerick-douceur
-  (package
-    (name "go-github-com-aymerick-douceur")
-    (version "0.2.0")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/aymerick/douceur/")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1hfysznib0fqbp8vqxpk0xiggpp0ayk2bsddi36vbg6f8zq5f81n"))))
-    (build-system go-build-system)
-    (arguments
-     `(#:import-path "github.com/aymerick/douceur"))
-    (native-inputs
-     (list go-github-com-puerkitobio-goquery
-           go-github-com-andybalholm-cascadia go-golang-org-x-net
-           go-github-com-gorilla-css))
-    (home-page "https://github.com/aymerick/douceur/")
-    (synopsis "CSS parser and inliner")
-    (description "This package provides a CSS parser and inliner.")
-    (license license:expat)))
-
-(define-public go-github-com-chris-ramon-douceur
-  (package
-    (name "go-github-com-chris-ramon-douceur")
-    (version "0.2.0")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/chris-ramon/douceur")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1hfysznib0fqbp8vqxpk0xiggpp0ayk2bsddi36vbg6f8zq5f81n"))))
-    (build-system go-build-system)
-    (arguments
-     `(#:import-path "github.com/chris-ramon/douceur"))
-    (propagated-inputs
-     (list go-github-com-aymerick-douceur
-           go-github-com-gorilla-css))
-    (native-inputs
-     (list go-github-com-puerkitobio-goquery
-           go-github-com-andybalholm-cascadia
-           go-golang-org-x-net))
-    (home-page "https://github.com/chris-ramon/douceur/")
-    (synopsis "CSS parser and inliner")
-    (description "This package provides a CSS parser and inliner.")
-    (license license:expat)))
-
-(define-public go-github-com-microcosm-cc-bluemonday
-  (package
-    (name "go-github-com-microcosm-cc-bluemonday")
-    (version "1.0.3")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/microcosm-cc/bluemonday")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "071ph097c1iwbcc33x6kblj9rxb1r4mp3qfkrj4qw5mg7qcqxydk"))))
-    (build-system go-build-system)
-    (arguments
-     `(#:import-path "github.com/microcosm-cc/bluemonday"))
-    (propagated-inputs
-     (list go-github-com-chris-ramon-douceur
-           go-golang-org-x-net))
-    (home-page "https://github.com/microcosm-cc/bluemonday/")
-    (synopsis "HTML sanitizer")
-    (description "@code{bluemonday} is a HTML sanitizer implemented in Go.")
-    (license license:bsd-3)))
-
 (define-public go-github-com-muesli-reflow-wordwrap
   (package
     (name "go-github-com-muesli-reflow-wordwrap")
@@ -9750,33 +8925,6 @@ style your output, without you having to deal with all kinds of weird ANSI
 escape sequences and color conversions.")
     (license license:expat)))
 
-(define-public go-github-com-nwidger-jsoncolor
-  (package
-    (name "go-github-com-nwidger-jsoncolor")
-    (version "0.3.0")
-    (home-page "https://github.com/nwidger/jsoncolor")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url home-page)
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "13rd146pnj7qm70r1333gyd1f61x40nafxlpvdxlci9h7mx8c5p8"))))
-    (build-system go-build-system)
-    (arguments
-     `(#:import-path "github.com/nwidger/jsoncolor"))
-    (native-inputs
-     (list go-github-com-fatih-color))
-    (synopsis "Colorized JSON marshalling and encoding")
-    (description
-     "@code{jsoncolor} is a drop-in replacement for @code{encoding/json}'s
-@code{Marshal} and @code{MarshalIndent} functions and @code{Encoder} type
-which produce colorized output using github.com/fatih/color.")
-    (license license:expat)))
-
 (define-public go-github-com-olekukonko-tablewriter
   (package
     (name "go-github-com-olekukonko-tablewriter")
@@ -9906,55 +9054,6 @@ templates on ANSI compatible terminals.  You can create your own stylesheet or
 use one of our glamorous default themes.")
     (license license:expat)))
 
-(define-public go-github-com-coreos-go-oidc
-  (package
-    (name "go-github-com-coreos-go-oidc")
-    (version "2.2.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/coreos/go-oidc")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "11m6slbpi33ynffml7812piq4anhjlf1qszjlsf26f5y7x3qh8n5"))))
-    (build-system go-build-system)
-    (arguments
-     (list #:import-path "github.com/coreos/go-oidc"))
-    (propagated-inputs
-     (list go-github-com-pquerna-cachecontrol
-           go-golang-org-x-oauth2
-           go-gopkg-in-square-go-jose-v2))
-    (home-page "https://github.com/coreos/go-oidc")
-    (synopsis "OpenID Connect support for Go")
-    (description
-     "This package enables OpenID Connect support for the
-@code{go-golang-org-x-oauth2} package.")
-    (license license:asl2.0)))
-
-(define-public go-github-com-coreos-go-oidc-v3
-  (package
-    (inherit go-github-com-coreos-go-oidc)
-    (name "go-github-com-coreos-go-oidc-v3")
-    (version "3.6.0")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/coreos/go-oidc")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1sbm6n3lp48lymn0g921afhq2j6inb38w3wy5rhyx9h8gpzhnxx9"))))
-    (arguments
-     (list ;; no Go files in [...]/src/github.com/coreos/go-oidc/v3.
-           #:import-path "github.com/coreos/go-oidc/v3/oidc"
-           #:unpack-path "github.com/coreos/go-oidc/v3"))
-    (propagated-inputs
-     (list go-github-com-go-jose-go-jose-v3
-           go-golang-org-x-oauth2))))
-
 (define-public go-github-com-coreos-go-semver
   (package
     (name "go-github-com-coreos-go-semver")
@@ -10205,29 +9304,6 @@ extensions.")
 for color and styles.")
     (license license:lgpl3)))
 
-(define-public go-github-com-julienschmidt-httprouter
-  (package
-    (name "go-github-com-julienschmidt-httprouter")
-    (version "1.3.0")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/julienschmidt/httprouter")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1a6sy0ysqknsjssjh7qg1dqn21xmj9a36c57nrk7srfmab4ffmk1"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/julienschmidt/httprouter"))
-    (home-page "https://github.com/julienschmidt/httprouter")
-    (synopsis "High performance HTTP request router")
-    (description
-     "Package @code{httprouter} is a trie based high performance HTTP request
-router.")
-    (license license:bsd-3)))
-
 (define-public go-github-com-kevinburke-ssh-config
   (package
     (name "go-github-com-kevinburke-ssh-config")
@@ -11006,64 +10082,6 @@ is unchanged.  This package contains a series of small enhancements and
 additions.")
       (license license:bsd-3))))
 
-(define-public go-github-com-bep-golibsass
-  (package
-    (name "go-github-com-bep-golibsass")
-    (version "0.7.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/bep/golibsass")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "0xk3m2ynbydzx87dz573ihwc4ryq0r545vz937szz175ivgfrhh3"))
-       (modules '((guix build utils)))
-       (snippet
-        '(begin
-           (delete-file-recursively "libsass_src")
-           #t))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/bep/golibsass/libsass"
-       #:unpack-path "github.com/bep/golibsass"
-       ;; The dev build tag modifies the build to link to system libsass
-       ;; instead of including the bundled one (which we remove.)
-       ;; https://github.com/bep/golibsass/blob/v0.7.0/internal/libsass/a__cgo_dev.go
-       #:build-flags '("-tags" "dev")
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'build 'generate-bindings
-           ;; Generate bindings for system libsass, replacing the
-           ;; pre-generated bindings.
-           (lambda* (#:key inputs unpack-path #:allow-other-keys)
-             (mkdir-p (string-append "src/" unpack-path "/internal/libsass"))
-             (let ((libsass-src (string-append (assoc-ref inputs "libsass-src") "/src")))
-               (substitute* (string-append "src/" unpack-path "/gen/main.go")
-                 (("filepath.Join\\(rootDir, \"libsass_src\", \"src\"\\)")
-                  (string-append "\"" libsass-src "\""))
-                 (("../../libsass_src/src/")
-                  libsass-src)))
-             (invoke "go" "generate" (string-append unpack-path "/gen"))
-             #t))
-         (replace 'check
-           (lambda* (#:key tests? import-path #:allow-other-keys)
-             (if tests?
-                 (invoke "go" "test" import-path "-tags" "dev"))
-             #t)))))
-    (propagated-inputs
-     (list libsass))
-    (native-inputs
-     `(("go-github-com-frankban-quicktest" ,go-github-com-frankban-quicktest)
-       ("libsass-src" ,(package-source libsass))))
-    (home-page "https://github.com/bep/golibsass")
-    (synopsis "Easy to use Go bindings for LibSass")
-    (description
-     "This package provides SCSS compiler support for Go applications.")
-    (license license:expat)))
-
 (define-public go-github-com-hashicorp-go-syslog
   (package
     (name "go-github-com-hashicorp-go-syslog")
@@ -11086,30 +10104,6 @@ additions.")
     (description "This package is a very simple wrapper around log/syslog")
     (license license:expat)))
 
-(define-public go-github-com-hjson-hjson-go
-  (package
-    (name "go-github-com-hjson-hjson-go")
-    (version "4.3.1")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/hjson/hjson-go")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "138vmbnrwzxf64cia27k407clrydvs2jx927dlv6ziydiqyvy7m3"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/hjson/hjson-go"))
-    (home-page "https://hjson.org/")
-    (synopsis "Human JSON implementation for Go")
-    (description "Hjson is a syntax extension to JSON.  It is intended to be
-used like a user interface for humans, to read and edit before passing the
-JSON data to the machine.")
-    (license license:expat)))
-
 (define-public go-golang-zx2c4-com-wireguard
   (package
     (name "go-golang-zx2c4-com-wireguard")
@@ -11224,31 +10218,6 @@ modifying them.")
 parsers, and related tools.")
       (license license:expat))))
 
-(define-public go-github-com-go-telegram-bot-api-telegram-bot-api
-  (package
-    (name "go-github-com-go-telegram-bot-api-telegram-bot-api")
-    (version "4.6.4")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/go-telegram-bot-api/telegram-bot-api")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1x6j0k3aiicsr8l53na99ci10zm3qpn2syz4f60fzh164w5k1l7w"))))
-    (build-system go-build-system)
-    (home-page "https://go-telegram-bot-api.dev/")
-    (arguments
-     (list #:tests? #f                  ; Upstream tests are broken.
-           #:import-path "github.com/go-telegram-bot-api/telegram-bot-api"))
-    (propagated-inputs
-     (list go-github-com-technoweenie-multipartstreamer))
-    (synopsis "Golang bindings for the Telegram Bot API")
-    (description
-     "This package provides Golang bindings for the Telegram Bot API.")
-    (license license:expat)))
-
 (define-public go-github.com-ulikunitz-xz
   (package
     (name "go-github.com-ulikunitz-xz")
@@ -11966,46 +10935,6 @@ non-cryptographic hash algorithm, working at speeds close to RAM limits.")
 anti-fragmentation protection.")
     (license license:expat)))
 
-(define-public go-github-com-valyala-fasthttp
-  (package
-    (name "go-github-com-valyala-fasthttp")
-    (version "1.39.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/valyala/fasthttp")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "12qwx0yk7wjj25v4fswgmj28r69gk94kqdmzavca8k9f0yznniz1"))))
-    (build-system go-build-system)
-    (arguments
-     (list
-       #:import-path "github.com/valyala/fasthttp"
-       #:phases
-       #~(modify-phases %standard-phases
-           (replace 'check
-             (lambda* (#:key inputs #:allow-other-keys #:rest args)
-               (unless
-                 ;; Tests hang forever with gccgo.
-                 (false-if-exception (search-input-file inputs "/bin/gccgo"))
-                 (apply (assoc-ref %standard-phases 'check) args)))))))
-    (propagated-inputs
-     (list go-golang-org-x-sys
-           go-golang-org-x-net
-           go-golang-org-x-crypto
-           go-github-com-valyala-tcplisten
-           go-github-com-valyala-bytebufferpool
-           go-github-com-klauspost-compress
-           go-github-com-andybalholm-brotli))
-    (home-page "https://github.com/valyala/fasthttp")
-    (synopsis "Provides fast HTTP server and client API")
-    (description
-     "This package provides a Go module @code{fasthttp} which may be used as
-replacement for native @code{net/http} module.")
-    (license license:expat)))
-
 (define-public go-github-com-valyala-tcplisten
   (package
     (name "go-github-com-valyala-tcplisten")
@@ -12307,126 +11236,6 @@ encrypting JSON Web Tokens (JWT).  It relies only on the standard library.")
     (home-page "https://github.com/dvsekhvalnov/jose2go")
     (license license:expat)))
 
-(define-public go-github-com-aws-smithy-go
-  (package
-    (name "go-github-com-aws-smithy-go")
-    (version "1.13.5")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/aws/smithy-go")
-                    (commit "v1.13.5")))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1rgyk0m2d3agknnlzjqvac1a61wwdq1pbck7vyl587m38n5zi2cz"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/aws/smithy-go"))
-    (propagated-inputs
-     (list go-github-com-jmespath-go-jmespath go-github-com-google-go-cmp-cmp))
-    (home-page "https://github.com/aws/smithy-go")
-    (synopsis "Smithy code generators for Go")
-    (description
-     "Package smithy provides the core components for a Smithy SDK.")
-    (license license:asl2.0)))
-
-(define-public go-github-com-aws-aws-sdk-go-v2
-  (package
-    (name "go-github-com-aws-aws-sdk-go-v2")
-    (version "1.17.3")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/aws/aws-sdk-go-v2")
-                    (commit "v1.17.3")))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1a07xab1cn96iff7zvp5a82fzhqwl0i4bhplkm2h1qbkxgldn6x0"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/aws/aws-sdk-go-v2"))
-    (propagated-inputs (list go-github-com-jmespath-go-jmespath
-                             go-github-com-google-go-cmp-cmp
-                             go-github-com-aws-smithy-go))
-    (home-page "https://github.com/aws/aws-sdk-go-v2")
-    (synopsis "AWS SDK for Go v2")
-    (description
-     "Package sdk is the official AWS SDK v2 for the Go programming language.")
-    (license license:asl2.0)))
-
-(define-public go-github-com-aws-aws-sdk-go-v2-config
-  (package
-    (inherit go-github-com-aws-aws-sdk-go-v2)
-    (name "go-github-com-aws-aws-sdk-go-v2-config")
-    (version "1.18.5")
-    (arguments
-     '(#:import-path "github.com/aws/aws-sdk-go-v2/config"
-       #:unpack-path "github.com/aws/aws-sdk-go-v2"))
-    (propagated-inputs (list go-github-com-google-go-cmp-cmp
-                             go-github-com-aws-smithy-go))))
-
-(define-public go-github-com-aws-aws-sdk-go-v2-service-iam
-  (package
-    (inherit go-github-com-aws-aws-sdk-go-v2)
-    (name "go-github-com-aws-aws-sdk-go-v2-service-iam")
-    (version "1.44.161")
-    (arguments
-     '(#:import-path "github.com/aws/aws-sdk-go-v2/service/iam"
-       #:unpack-path "github.com/aws/aws-sdk-go-v2"))
-    (propagated-inputs (list go-github-com-aws-smithy-go))))
-
-(define-public go-github-com-aws-aws-sdk-go-v2-service-sso
-  (package
-    (inherit go-github-com-aws-aws-sdk-go-v2)
-    (name "go-github-com-aws-aws-sdk-go-v2-service-sso")
-    (version "1.11.27")
-    (arguments
-     '(#:import-path "github.com/aws/aws-sdk-go-v2/service/sso"
-       #:unpack-path "github.com/aws/aws-sdk-go-v2"))
-    (propagated-inputs (list go-github-com-aws-smithy-go))))
-
-(define-public go-github-com-aws-aws-sdk-go-v2-service-ssooidc
-  (package
-    (inherit go-github-com-aws-aws-sdk-go-v2)
-    (name "go-github-com-aws-aws-sdk-go-v2-service-ssooidc")
-    (version "1.13.10")
-    (arguments
-     '(#:import-path "github.com/aws/aws-sdk-go-v2/service/ssooidc"
-       #:unpack-path "github.com/aws/aws-sdk-go-v2"))
-    (propagated-inputs (list go-github-com-aws-smithy-go))))
-
-(define-public go-github-com-aws-aws-sdk-go-v2-service-sts
-  (package
-    (inherit go-github-com-aws-aws-sdk-go-v2)
-    (name "go-github-com-aws-aws-sdk-go-v2-service-sts")
-    (version "1.17.7")
-    (arguments
-     '(#:import-path "github.com/aws/aws-sdk-go-v2/service/sts"
-       #:unpack-path "github.com/aws/aws-sdk-go-v2"))
-    (propagated-inputs (list go-github-com-aws-smithy-go))))
-
-(define-public go-github-com-aws-aws-sdk-go-v2-service-s3
-  (package
-    (inherit go-github-com-aws-aws-sdk-go-v2)
-    (name "go-github-com-aws-aws-sdk-go-v2-service-s3")
-    (version "1.30.0")
-    (arguments
-     '(#:import-path "github.com/aws/aws-sdk-go-v2/service/s3"
-       #:unpack-path "github.com/aws/aws-sdk-go-v2"))
-    (propagated-inputs (list go-github-com-aws-smithy-go))))
-
-(define-public go-github-com-aws-aws-sdk-go-v2-feature-s3-manager
-  (package
-    (inherit go-github-com-aws-aws-sdk-go-v2)
-    (name "go-github-com-aws-aws-sdk-go-v2-feature-s3-manager")
-    (version "1.11.44")
-    (arguments
-     '(#:import-path "github.com/aws/aws-sdk-go-v2/feature/s3/manager"
-       #:unpack-path "github.com/aws/aws-sdk-go-v2"))
-    (propagated-inputs (list go-github-com-aws-smithy-go))))
-
 (define-public aws-vault
   (package
     (name "aws-vault")
@@ -12606,31 +11415,6 @@ pcredential store, Pass, Secret Service, KDE Wallet, Encrypted File.")
 (define-public go-github-com-androiddnsfix
   (deprecated-package "go-github-com-androiddnsfix" go-github-com-mtibben-androiddnsfix))
 
-(define-public go-github-com-aws-aws-sdk-go
-  (package
-    (name "go-github-com-aws-aws-sdk-go")
-    (version "1.36.18")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/aws/aws-sdk-go")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "169mkkw1cff1px6326krwvfpfj07sb4y5rbn003gi4bk176h6ry9"))))
-    (build-system go-build-system)
-    (propagated-inputs
-     (list go-github-com-jmespath-go-jmespath))
-    (arguments
-     '(#:import-path "github.com/aws/aws-sdk-go"
-       #:phases %standard-phases))
-    (synopsis "The official AWS SDK for the Go programming language")
-    (description
-     "The official AWS SDK for the Go programming language.")
-    (home-page "https://github.com/aws/aws-sdk-go")
-    (license license:asl2.0)))
-
 (define-public go-gopkg-in-ini
   (package
     (name "go-gopkg-in-ini")
@@ -12819,29 +11603,6 @@ Features:
 @end itemize")
     (license license:asl2.0)))
 
-(define-public go-github-com-go-chi-chi-v5
-  (package
-    (name "go-github-com-go-chi-chi-v5")
-    (version "5.0.7")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/go-chi/chi")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0rzrsxz4xj0973c6nxklvq2vmg2m795snhk25836i0gnd1jnx79k"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/go-chi/chi/v5"))
-    (home-page "https://github.com/go-chi/chi")
-    (synopsis "Composable router for HTTP services written in Go")
-    (description
-     "@code{go-github-com-go-chi-chi-v5} is an HTTP router that lets the user
-decompose request handling into many smaller layers.")
-    (license license:expat)))
-
 (define-public go-sigs-k8s-io-yaml
   (package
     (name "go-sigs-k8s-io-yaml")
@@ -13008,31 +11769,6 @@ production-ready implementation, compatible with the original Jsonnet C++
 implementation.")
     (license license:asl2.0)))
 
-(define-public go-github-com-google-safehtml
-  (package
-    (name "go-github-com-google-safehtml")
-    (version "0.1.0")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/google/safehtml")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0j2xjy8xrk9y9k6bqpvimj84i6hg1wwsyvwsb0axhmp49cmnrp86"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/google/safehtml"))
-    (propagated-inputs `(("go-golang-org-x-text" ,go-golang-org-x-text)))
-    (home-page "https://github.com/google/safehtml")
-    (synopsis "Safe HTML for Go")
-    (description
-     "Package safehtml provides immutable string-like types which represent values
-that are guaranteed to be safe, by construction or by escaping or sanitization,
-to use in various HTML contexts and with various DOM APIs.")
-    (license license:bsd-3)))
-
 (define-public go-github-com-google-shlex
   (package
     (name "go-github-com-google-shlex")
@@ -13055,53 +11791,6 @@ to use in various HTML contexts and with various DOM APIs.")
 using shell-style rules for quoting and commenting.")
     (license license:asl2.0)))
 
-(define-public go-github-com-gorilla-websocket
-  (package
-    (name "go-github-com-gorilla-websocket")
-    (version "1.5.0")
-    (home-page "https://github.com/gorilla/websocket")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url home-page)
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1xrr6snvs9g1nzxxg05w4i4pq6k1xjljl5mvavd838qc468n118i"))))
-    (build-system go-build-system)
-    (arguments
-     `(#:import-path "github.com/gorilla/websocket"))
-    (synopsis "Fast WebSocket implementation for Go")
-    (description "Gorilla WebSocket is a Go implementation of the WebSocket protocol.")
-    (license license:bsd-2)))
-
-(define-public go-github-com-sourcegraph-jsonrpc2
-  (package
-    (name "go-github-com-sourcegraph-jsonrpc2")
-    (version "0.1.0")
-    (home-page "https://github.com/sourcegraph/jsonrpc2")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url home-page)
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32 "1dk0w32k96vxrwnmm24wqx337dn8ylch65qwrbc3wh7whw2xx71q"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/sourcegraph/jsonrpc2"))
-    (propagated-inputs
-     (list
-      go-github-com-daviddengcn-go-colortext
-      go-github-com-motemen-go-colorine
-      go-github-com-gorilla-websocket))
-    (synopsis "Provides a client and server implementation of JSON-RPC 2.0")
-    (description
-     "Package jsonrpc2 provides a Go implementation of JSON-RPC 2.0.")
-    (license license:expat)))
-
 (define-public go-github-com-disintegration-imaging
   (package
     (name "go-github-com-disintegration-imaging")
@@ -13550,97 +12239,6 @@ reflect.DeepEqual but returns a list of differences.  This is helpful
 when comparing complex types like structures and maps.")
     (license license:expat)))
 
-(define-public go-github-com-xeipuuv-gojsonpointer
-  (let ((commit "4e3ac2762d5f479393488629ee9370b50873b3a6")
-        (revision "0"))
-    (package
-      (name "go-github-com-xeipuuv-gojsonpointer")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/xeipuuv/gojsonpointer")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "13y6iq2nzf9z4ls66bfgnnamj2m3438absmbpqry64bpwjfbsi9q"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "github.com/xeipuuv/gojsonpointer"))
-      (home-page "https://github.com/xeipuuv/gojsonpointer")
-      (synopsis "Implementation of JSON Pointer for Go")
-      (description
-       "This package provides an implementation of JSON Pointer for the Go
-programming language.")
-      (license license:asl2.0))))
-
-(define-public go-github-com-xeipuuv-gojsonreference
-  (let ((commit "bd5ef7bd5415a7ac448318e64f11a24cd21e594b")
-        (revision "0"))
-    (package
-      (name "go-github-com-xeipuuv-gojsonreference")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/xeipuuv/gojsonreference")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "1xby79padc7bmyb8rfbad8wfnfdzpnh51b1n8c0kibch0kwc1db5"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "github.com/xeipuuv/gojsonreference"))
-      (propagated-inputs (list go-github-com-xeipuuv-gojsonpointer))
-      (home-page "https://github.com/xeipuuv/gojsonreference")
-      (synopsis "Implementation of JSON Reference for Go")
-      (description
-       "This package provides an implementation of JSON Reference for the Go
-programming language.")
-      (license license:asl2.0))))
-
-(define-public go-github-com-xeipuuv-gojsonschema
-  (let ((commit "6b67b3fab74d992bd07f72550006ab2c6907c416")
-        (revision "0"))
-    (package
-      (name "go-github-com-xeipuuv-gojsonschema")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/xeipuuv/gojsonschema")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "1q937a6q7canlr3dllqdw0qwa6z2fpwn1w9kycavx8jmwh6q3f69"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "github.com/xeipuuv/gojsonschema"
-         #:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'disable-failing-tests
-             (lambda* (#:key import-path #:allow-other-keys)
-               (with-directory-excursion (string-append "src/" import-path)
-                 (substitute* "schema_test.go"
-                   (("\\{\"phase\": \"remote ref, " all)
-                    (string-append "// " all))
-                   (("\\{\"phase\": \"valid definition" all)
-                    (string-append "// " all))
-                   (("\\{\"phase\": \"invalid definition" all)
-                    (string-append "// " all)))))))))
-      (propagated-inputs (list go-github-com-xeipuuv-gojsonreference
-                               go-github-com-xeipuuv-gojsonpointer
-                               go-github-com-stretchr-testify))
-      (home-page "https://github.com/xeipuuv/gojsonschema")
-      (synopsis "Implementation of JSON Schema for Go")
-      (description
-       "This package provides an implementation of JSON Schema for the Go
-programming language, which supports draft-04, draft-06 and draft-07.")
-      (license license:asl2.0))))
-
 (define-public go-github-com-niemeyer-pretty
   (package
     (name "go-github-com-niemeyer-pretty")
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index a40b580417..26b9d03a73 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2017, 2018, 2019, 2020, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017-2024 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
 ;;; Copyright © 2018, 2020, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
@@ -426,6 +426,48 @@ algorithm for community detection in large networks.")
 large networks.")
     (license license:gpl3+)))
 
+(define-public python-louvain-igraph
+  (package
+    (name "python-louvain-igraph")
+    (version "0.8.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/vtraag/louvain-igraph")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1j2ybihvvzggwjb9zvm829aqb5b94q10h8bw6v0h42xd9w75z9sv"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'find-igraph
+            (lambda _
+              (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)
+              (substitute* "setup.py"
+                (("/usr/include/igraph")
+                 (string-append #$(this-package-input "igraph")
+                                "/include/igraph"))))))))
+    (propagated-inputs (list python-igraph))
+    (inputs (list igraph))
+    (native-inputs
+     (list python-ddt
+           python-setuptools-scm
+           pkg-config))
+    (home-page "https://github.com/vtraag/louvain-igraph")
+    (synopsis "Implementation of the Louvain algorithm")
+    (description "This package implements the Louvain algorithm for community
+detection in C++ and exposes it to Python.  Besides the relative flexibility
+of the implementation, it also scales well, and can be run on graphs of
+millions of nodes (as long as they can fit in memory).  The core function is
+@code{find_partition} which finds the optimal partition using the louvain
+algorithm for a number of different methods.")
+    (license license:gpl3+)))
+
 (define-public faiss
   (package
     (name "faiss")
@@ -449,8 +491,8 @@ large networks.")
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags
-       (list "-DBUILD_WITH_GPU=OFF"  ; thanks, but no thanks, CUDA.
-             "-DBUILD_TUTORIAL=OFF") ; we don't need those
+       (list "-DBUILD_WITH_GPU=OFF"     ; thanks, but no thanks, CUDA.
+             "-DBUILD_TUTORIAL=OFF")    ; we don't need those
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'prepare-build
@@ -466,7 +508,7 @@ large networks.")
                                          '()))))))
                (substitute* "CMakeLists.txt"
                  (("-m64") "")
-                 (("-mpopcnt") "") ; only some architectures
+                 (("-mpopcnt") "")      ; only some architectures
                  (("-msse4")
                   (string-append
                    (string-join features)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 974fad61e6..c2bec91076 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -3565,6 +3565,80 @@ structures.  This package re-uses the SRFI sample implementation.")
            ;; contains ISC code from the SRFI sample implementation
            license:isc))))
 
+(define-public guile-srfi-133
+  (package
+    (name "guile-srfi-133")
+    (version "0.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/scheme-requests-for-implementation/srfi-133")
+             (commit "db81a114cd3e23375f024baec15482614ec90453")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0a7srl72291yah0aj6rwddhj041v2spximhknjj7hczlparsrm7f"))))
+    (build-system guile-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'move-create-and-delete-files
+            (lambda _
+              (rename-file "vectors" "srfi")
+              (rename-file "srfi/vectors-test.scm" "srfi/srfi-test.scm")
+              (rename-file "srfi/vectors-impl.scm" "srfi/srfi-impl.scm")
+              (with-output-to-file "srfi/srfi-133.scm"
+                (lambda ()
+                  (display "(define-module (srfi srfi-133)
+  #:replace (;; Constructors
+             vector-copy
+
+             ;; Mutators
+             vector-fill! vector-copy!
+
+             ;; Conversion
+             vector->list list->vector)
+  #:export (;; Constructors
+            vector-unfold vector-unfold-right vector-reverse-copy
+            vector-append vector-concatenate vector-append-subvectors
+
+            ;; Predicates
+            vector-empty? vector=
+
+            ;; Iteration
+            vector-fold vector-fold-right vector-map vector-map!
+            vector-for-each vector-count vector-cumulate
+
+            ;; Searching
+            vector-index vector-index-right vector-skip vector-skip-right
+            vector-binary-search vector-any vector-every vector-partition
+
+            ;; Mutators
+            vector-swap! vector-reverse!
+            vector-reverse-copy! vector-unfold! vector-unfold-right!
+
+            ;; Conversion
+            reverse-vector->list reverse-list->vector
+            vector->string string->vector))
+
+(include \"srfi-impl.scm\")")))
+              (for-each (lambda (filename)
+                          (delete-file filename))
+                        '("tests/run.scm"
+                          "srfi/vectors.sld"
+                          "srfi/vectors.scm")))))))
+    (native-inputs
+     (list guile-3.0))
+    (home-page "https://github.com/scheme-requests-for-implementation/srfi-133")
+    (synopsis "R7RS-compatible vector library for Guile")
+    (description
+     "This package provides a Guile implementation of
+@uref{https://srfi.schemers.org/srfi-133/srfi-133.html, SRFI-133}, a
+comprehensive library of vector operations.")
+    (license license:expat)))
+
 (define-public guile-srfi-145
   (package
     (name "guile-srfi-145")
@@ -3766,6 +3840,56 @@ Either represents the concept of values which are either correct (Right)
 or errors (Left).")
       (license license:expat))))
 
+(define-public guile-srfi-232
+  (package
+    (name "guile-srfi-232")
+    (version "0.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/scheme-requests-for-implementation/srfi-232")
+             (commit "c3f580d220778cd71492aba4fdd0c7040968e705")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0lp4zcqjjj6hwfh3ix71wak1nffgg4npzsg7cdxfn9hf6iwf9xby"))))
+    (build-system guile-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'move-and-delete-things
+            (lambda _
+              (let* ((srfi-directory (string-append #$output "/srfi")))
+                (mkdir-p "srfi")
+                (with-output-to-file "srfi/srfi-232.scm"
+                  (lambda ()
+                    (display "(define-library (srfi srfi-232)
+ (export curried define-curried)
+ (import (only (guile) import)
+         (scheme base))
+ (include \"../srfi-232.scm\"))")))
+                (for-each (lambda (filename)
+                            (delete-file filename))
+                          '("test-body.scm"
+                            "test-chibi.scm"
+                            "test-srfi-64.scm"))))))))
+    (native-inputs
+     (list guile-3.0))
+    (home-page "https://github.com/scheme-requests-for-implementation/srfi-232")
+    (synopsis "Flexible curried procedures")
+    (description
+     " This package provides an implementation of
+@uref{https://srfi.schemers.org/srfi-232/srfi-232.html, SRFI-232}, which
+describes @code{curried}, a variant of @code{lambda} that creates true curried
+procedures which also behave just like ordinary Scheme procedures.  They can
+be applied to their arguments one by one, all at once, or anywhere in between,
+without any novel syntax.  @code{curried} also supports nullary and variadic
+procedures, and procedures created with it have predictable behavior when
+applied to surplus arguments.")
+    (license license:expat)))
+
 (define-public emacsy
   (package
     (name "emacsy")
diff --git a/gnu/packages/high-availability.scm b/gnu/packages/high-availability.scm
index 553095cb75..6808bcd597 100644
--- a/gnu/packages/high-availability.scm
+++ b/gnu/packages/high-availability.scm
@@ -35,6 +35,7 @@
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages golang)
+  #:use-module (gnu packages golang-web)
   #:use-module (gnu packages hardware)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 79f1a293ec..baaff1d0c1 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -2225,20 +2225,24 @@ identical visual appearance.")
 (define-public grim
   (package
    (name "grim")
-   (version "1.4.0")
+   (version "1.4.1")
    (source
     (origin
      (method git-fetch)
      (uri (git-reference
-           (url "https://github.com/emersion/grim")
+           (url "https://git.sr.ht/~emersion/grim")
            (commit (string-append "v" version))))
      (file-name (git-file-name name version))
      (sha256
-      (base32 "1b1k5cmmk7gzis0rncyl98lnhdwpjkdsv9pada5mmgxcpka6f0lp"))))
+      (base32 "1snp4qlj05d0nx4f0qr8kywv0i1xcw5i278ybng1rand2alhkjz5"))))
    (build-system meson-build-system)
-   (native-inputs (list pkg-config scdoc))
+   (native-inputs (append (if (%current-target-system)
+                              ;; for wayland-scanner
+                              (list pkg-config-for-build wayland)
+                              '())
+                          (list pkg-config scdoc)))
    (inputs (list pixman libpng libjpeg-turbo wayland wayland-protocols))
-   (home-page "https://github.com/emersion/grim")
+   (home-page "https://sr.ht/~emersion/grim/")
    (synopsis "Create screenshots from a Wayland compositor")
    (description "grim can create screenshots from a Wayland compositor.")
    ;; MIT license.
@@ -2247,7 +2251,7 @@ identical visual appearance.")
 (define-public slurp
   (package
    (name "slurp")
-   (version "1.4.0")
+   (version "1.5.0")
    (source
     (origin
      (method git-fetch)
@@ -2256,10 +2260,14 @@ identical visual appearance.")
            (commit (string-append "v" version))))
      (file-name (git-file-name name version))
      (sha256
-      (base32 "1i6g4dfiv2mwkjvvrx3wizb1n05xmd4j9nkhdii4klwd1gdrhjwd"))))
+      (base32 "0wlml42c3shma50bsvqzll7p3zn251jaf0jm59q2idks8gg1zkyq"))))
    (build-system meson-build-system)
    (native-inputs
-    (list pkg-config scdoc))
+    (append (if (%current-target-system)
+                ;; for wayland-scanner
+                (list wayland pkg-config-for-build)
+                '())
+            (list pkg-config scdoc)))
    (inputs
     (list cairo libxkbcommon wayland wayland-protocols))
    (home-page "https://github.com/emersion/slurp")
diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm
index a4c0613e40..fc66582c8a 100644
--- a/gnu/packages/ipfs.scm
+++ b/gnu/packages/ipfs.scm
@@ -30,6 +30,7 @@
   #:use-module (guix build-system go)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages golang-check)
+  #:use-module (gnu packages golang-web)
   #:use-module (gnu packages python)
   #:use-module (gnu packages shells)
   #:use-module (gnu packages syncthing))
diff --git a/gnu/packages/libsigsegv.scm b/gnu/packages/libsigsegv.scm
index ebbdd2ad90..71afb35be0 100644
--- a/gnu/packages/libsigsegv.scm
+++ b/gnu/packages/libsigsegv.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013, 2018 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2024 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,6 +21,7 @@
   #:use-module (guix licenses)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix utils)
   #:use-module (guix build-system gnu))
 
 (define-public libsigsegv
@@ -40,21 +41,15 @@
    (arguments
     `(;; The shared library isn't built by default but some packages need it.
       #:configure-flags '("--enable-shared")
-
-      ;; On MIPS, work around this error:
-      ;;
-      ;; In file included from fault-linux-mips-old.h:18:0,
-      ;;    [...]
-      ;; linux-libre-headers-cross-mips64el-linux-gnu-3.3.8/include/asm/sigcontext.h:57:8: error: redefinition of 'struct sigcontext'
-      ,@(if (string-contains (or (%current-target-system) (%current-system))
-                             "mips64el")
-            `(#:phases (modify-phases %standard-phases
-                         (add-before 'configure 'patch-mips-old-h
-                           (lambda _
-                             (substitute* "src/fault-linux-mips-old.h"
-                               (("#include <asm/sigcontext\\.h>") ""))
-                             #t))))
-            '())))
+      ;; On some architectures 'struct sigcontext' gets redefined from
+      ;; %linux-libre-headers/include/asm/sigcontext.h
+      ,@(cond ((%current-target-system)
+               `(#:phases (modify-phases %standard-phases
+                            (add-before 'configure 'patch-asm-sigcontext-h
+                              (lambda _
+                                (substitute* (find-files "src" "^fault-.*-old\\.h$")
+                                  (("#include <asm/sigcontext\\.h>") "")))))))
+              (else '()))))
    (description
     "GNU libsigsegv is a library to handle page faults, which occur when a
 program tries to access an unavailable region of memory, in user mode.  By
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 1912f9604b..a506447c1e 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -76,7 +76,7 @@
 ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
 ;;; Copyright © 2023 dan <i@dan.games>
 ;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
-;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu>
+;;; Copyright © 2023, 2024 Wilko Meyer <w@wmeyer.eu>
 ;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -494,17 +494,17 @@ 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.6-version "6.6.8")
+(define-public linux-libre-6.6-version "6.6.9")
 (define-public linux-libre-6.6-gnu-revision "gnu")
 (define deblob-scripts-6.6
   (linux-libre-deblob-scripts
    linux-libre-6.6-version
    linux-libre-6.6-gnu-revision
    (base32 "0g8m0rb15b0231dv8ji456s75a67szsaim71may3yprplycz6pav")
-   (base32 "1hg3ck1j8288fhlhcvhgs1zzwh3i62nfvphw7x3vsaqr75kiwbjp")))
+   (base32 "0kavbby960k7wg355p3hjb9v1c4gnk8dv3lkfhpz44ayhv7kihg5")))
 (define-public linux-libre-6.6-pristine-source
   (let ((version linux-libre-6.6-version)
-        (hash (base32 "05i4ayj9wyjkd1s8ixx7bxwcyagqyx8rhj1zvbc3cjqyw4sc8djh")))
+        (hash (base32 "1cs8ym3yq9czjx6sbxpmn16l6a577mc4c1ff7nk1p2gw1jpnbg4f")))
    (make-linux-libre-source version
                             (%upstream-linux-source version hash)
                             deblob-scripts-6.6)))
@@ -512,17 +512,17 @@ 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.69")
+(define-public linux-libre-6.1-version "6.1.70")
 (define-public linux-libre-6.1-gnu-revision "gnu")
 (define deblob-scripts-6.1
   (linux-libre-deblob-scripts
    linux-libre-6.1-version
    linux-libre-6.1-gnu-revision
    (base32 "1sf80f2i4vf888xjcn84ymn4w5ynn30ib9033zwmv7f09yvfhapy")
-   (base32 "1hdibv43xbn1lv83i6qjgfmf1bvqxvq17fryfsq4r4sjgs9212js")))
+   (base32 "1jg2v1nxd6i5x536vmd1l14xhpzrcimpmjfipb1zkrwil102y25f")))
 (define-public linux-libre-6.1-pristine-source
   (let ((version linux-libre-6.1-version)
-        (hash (base32 "0hdm28k49kmy9r96hckps0bvvaq9m06l72n8ih305rccs6a2cgby")))
+        (hash (base32 "1vxgardfm2fi4c7zkxpljqicllfqqnp835a9lyb7dh2nchk6a4zd")))
    (make-linux-libre-source version
                             (%upstream-linux-source version hash)
                             deblob-scripts-6.1)))
diff --git a/gnu/packages/lisp-check.scm b/gnu/packages/lisp-check.scm
index 5f5e39c193..cbaef71b87 100644
--- a/gnu/packages/lisp-check.scm
+++ b/gnu/packages/lisp-check.scm
@@ -1038,8 +1038,8 @@ interactive development.")
   (sbcl-package->ecl-package sbcl-stefil))
 
 (define-public sbcl-try
-  (let ((commit "a1fffad2ca328b3855f629b633ab1daaeec929c2")
-        (revision "1"))
+  (let ((commit "cf2a8887d091bf297b72ef69e15012e7e849ba3b")
+        (revision "2"))
     (package
       (name "sbcl-try")
       (version (git-version "0.0.1" revision commit))
@@ -1051,7 +1051,7 @@ interactive development.")
                (commit commit)))
          (file-name (git-file-name "cl-try" version))
          (sha256
-          (base32 "03dm2i2y4wiyzz9d25zdxm6gdglnvwali0ylp0rfwpk6wf29sj09"))))
+          (base32 "166i3fqwxfv9skz6yf95c95nx0jjqy1ak1131bd0sqmd582gi9mg"))))
       (build-system asdf-build-system/sbcl)
       (native-inputs
        (list sbcl-cl-ppcre))
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 1625197550..aa3ea7c9ce 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -32,7 +32,7 @@
 ;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
 ;;; Copyright © 2021 Jacob MacDonald <jaccarmac@gmail.com>
 ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
-;;; Copyright © 2022, 2023 Paul A. Patience <paul@apatience.com>
+;;; Copyright © 2022, 2023, 2024 Paul A. Patience <paul@apatience.com>
 ;;; Copyright © 2022 Thomas Albers Raviola <thomas@thomaslabs.org>
 ;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2022 Trevor Richards <trev@trevdev.ca>
@@ -1005,11 +1005,11 @@ Common Lisp, heavily influenced by Python's @code{optparse} and
   (sbcl-package->cl-source-package sbcl-adopt))
 
 (define-public sbcl-clingon
-  (let ((commit "ff4fda1768551fecdf1c527a3097ae99ba5f40b5")
-        (revision "1"))
+  (let ((commit "379fc41e7b3977661f1454cf35acdbfae046d40d")
+        (revision "0"))
     (package
       (name "sbcl-clingon")
-      (version (git-version "0.4.0" revision commit))
+      (version (git-version "0.5.0" revision commit))
       (source
        (origin
          (method git-fetch)
@@ -1018,7 +1018,7 @@ Common Lisp, heavily influenced by Python's @code{optparse} and
                (commit commit)))
          (file-name (git-file-name "cl-clingon" version))
          (sha256
-          (base32 "1b5ybq2x8bwsr541cznwv43lf9j5gz1ij52xj181kg32wb3x0y3n"))))
+          (base32 "11p9lplx0fc5ghx601i150vrd46zdbvw0hfrbrrrdqplxaqpywq5"))))
       (build-system asdf-build-system/sbcl)
       (native-inputs
        (list sbcl-rove))
@@ -1510,8 +1510,8 @@ compatible with ANSI-compliant Common Lisp implementations.")
   (sbcl-package->ecl-package sbcl-cl-ppcre))
 
 (define-public sbcl-one-more-re-nightmare
-  (let ((commit "09c33feed35797512bf123ccca053cf8ba42bfbd")
-        (revision "0"))
+  (let ((commit "5b0b02e59f90964baf5737abd13300fa82f27667")
+        (revision "1"))
     (package
       (name "sbcl-one-more-re-nightmare")
       (version (git-version "0.0.0" revision commit))
@@ -1523,7 +1523,7 @@ compatible with ANSI-compliant Common Lisp implementations.")
                (commit commit)))
          (file-name (git-file-name "cl-one-more-re-nightmare" version))
          (sha256
-          (base32 "0vc0lxvn3anjb63hr26r1l18aw5nbj80w9ja3a32fip6nbwfsrfv"))))
+          (base32 "0mwgjgnp8dsf2zn0290px5q89z93zs0v4dhvs3rcir4mpiw8rbsn"))))
       (build-system asdf-build-system/sbcl)
       (arguments
        '(#:asd-test-systems '("one-more-re-nightmare-tests")
@@ -3152,8 +3152,8 @@ Lisp.")
   (sbcl-package->ecl-package sbcl-calm))
 
 (define-public sbcl-esrap
-  (let ((commit "4c82a863871e117f0041b9ef37e61c0b62318aa7")
-        (revision "3"))
+  (let ((commit "d806138342a6b27327649fd5f36e0fe2e0966867")
+        (revision "4"))
     (package
       (name "sbcl-esrap")
       (version (git-version "0.18" revision commit))
@@ -3163,9 +3163,9 @@ Lisp.")
          (uri (git-reference
                (url "https://github.com/scymtym/esrap")
                (commit commit)))
+         (file-name (git-file-name "cl-esrap" version))
          (sha256
-          (base32 "16nc3rhxd61xabja1h9akqqva0cmz2gxk0bkaqy10h492wx93d81"))
-         (file-name (git-file-name "cl-esrap" version))))
+          (base32 "0gs0mfamldhaihnlk0qxg2q4bl8bamq68dif9js9fkl8apg3iykl"))))
       (build-system asdf-build-system/sbcl)
       (native-inputs
        (list sbcl-fiveam))
@@ -3407,8 +3407,8 @@ than the body of the lambda.")
 
 (define-public sbcl-nibbles
   ;; No tagged release since 2018.
-  (let ((commit "dad25240928d5cf8f7df69c4398244e03570bb35")
-        (revision "2"))
+  (let ((commit "a46a67736e07b548cdd7485cb36834f7942313f1")
+        (revision "3"))
     (package
       (name "sbcl-nibbles")
       (version (git-version "0.14" revision commit))
@@ -3418,9 +3418,9 @@ than the body of the lambda.")
          (uri (git-reference
                (url "https://github.com/sharplispers/nibbles/")
                (commit commit)))
+         (file-name (git-file-name "cl-nibbles" version))
          (sha256
-          (base32 "0r6ljlpgjmkf87pmvdwzva8qj15bhznc3ylgcjjqyy4frbx9lygz"))
-         (file-name (git-file-name "nibbles" version))))
+          (base32 "12qjich11hp31dhbvbsixyjbddmr6faaajigrivgbxy9kw6d279j"))))
       (build-system asdf-build-system/sbcl)
       (native-inputs
        ;; Tests only.
@@ -7497,8 +7497,8 @@ port within a range.")
   (sbcl-package->ecl-package sbcl-find-port))
 
 (define-public sbcl-numpy-file-format
-  (let ((commit "e97aef6c592a412fdd1afa9a5f09d0b1ce134510")
-        (revision "1"))
+  (let ((commit "e440c7bbc0d86b9abf73acb0fa665b77b82a6c98")
+        (revision "2"))
     (package
       (name "sbcl-numpy-file-format")
       (version (git-version "0.0.0" revision commit))
@@ -7510,7 +7510,7 @@ port within a range.")
                (commit commit)))
          (file-name (git-file-name "cl-numpy-file-format" version))
          (sha256
-          (base32 "0j7jjcf6k3anvgpm4nf81g6gbhff44v0v9rai7kwm2bm3abzsjfd"))))
+          (base32 "1n0nixc44z1cymm20wif0l2100ydv0h69l6i6xz5bmwcb2zc4gqr"))))
       (build-system asdf-build-system/sbcl)
       (inputs
        (list sbcl-ieee-floats sbcl-trivial-features))
@@ -8316,8 +8316,8 @@ cookie headers, cookie creation, cookie jar creation and more.")
   (sbcl-package->ecl-package sbcl-cl-cookie))
 
 (define-public sbcl-dexador
-  (let ((commit "74a233edb0ebf2b8c696fb8db984ac568fbcc4e5")
-        (revision "1"))
+  (let ((commit "051cbb784ea3015cef9731eb5a624f3122de84b5")
+        (revision "2"))
     (package
       (name "sbcl-dexador")
       (build-system asdf-build-system/sbcl)
@@ -8331,7 +8331,7 @@ cookie headers, cookie creation, cookie jar creation and more.")
                (commit commit)))
          (file-name (git-file-name "cl-dexador" version))
          (sha256
-          (base32 "14cbykd9j8klm8sz3siq5zk78a0ljd6rdwfq12fi4h1ih50apyfi"))))
+          (base32 "1sggpi43la8dai102fmkzysh7760hvk6q68f0pkbb9187vz8nd3y"))))
       (inputs
        (list sbcl-alexandria
              sbcl-babel
@@ -8342,22 +8342,19 @@ cookie headers, cookie creation, cookie jar creation and more.")
              sbcl-cl-base64
              sbcl-cl-cookie
              sbcl-cl-ppcre
-             sbcl-cl-reexport
              sbcl-fast-http
              sbcl-fast-io
              sbcl-quri
+             sbcl-trivial-garbage
              sbcl-trivial-gray-streams
              sbcl-trivial-mimes
              sbcl-usocket))
       ;; These native-inputs are for tests only, which are disabled.
       ;; Leave them commented since they add a lot to the closure size.
       ;; (native-inputs
-      ;;  (list sbcl-cl-ppcre
-      ;;        sbcl-clack
+      ;;  (list sbcl-clack
       ;;        sbcl-lack
-      ;;        sbcl-local-time
-      ;;        sbcl-prove
-      ;;        sbcl-trivial-features))
+      ;;        sbcl-rove))
       (arguments
        ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
        `(#:tests? #f
@@ -13990,8 +13987,8 @@ MOP easier to use.")
        '(#:tests? #f)))))
 
 (define-public sbcl-osicat
-  (let ((commit "a45eb3b5826e9175f7c94ba97a00d6b4932f3163")
-        (revision "3"))
+  (let ((commit "982327905b8980ff3173344ca87282e046565732")
+        (revision "4"))
     (package
       (name "sbcl-osicat")
       (version (git-version "0.7.0" revision commit))
@@ -14004,7 +14001,7 @@ MOP easier to use.")
                (commit commit)))
          (file-name (git-file-name "cl-osicat" version))
          (sha256
-          (base32 "1ilag0b0xn97acc0m1q93vwp2y3md9a586858zfx04d8wpbvk8sz"))
+          (base32 "10q1dfkhrvp5ia860q10y4wdm11fmxf7xv8zl4viz2np9xzf5v22"))
          (snippet
           '(begin
              ;; The useless release.sh drags `bash' into the closure.
@@ -17455,19 +17452,20 @@ the @command{flamegraph.pl} script, which is available in the Guix package
   (sbcl-package->cl-source-package sbcl-flamegraph))
 
 (define-public sbcl-trivial-benchmark
-  (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
+  (let ((commit "1fbc8d15f09ed8aa426bc73956b8b7c9b2668802")
+        (revision "2"))
     (package
       (name "sbcl-trivial-benchmark")
-      (version (git-version "2.0.0" "1" commit))
+      (version (git-version "2.0.0" revision commit))
       (source
        (origin
          (method git-fetch)
          (uri (git-reference
                (url "https://github.com/Shinmera/trivial-benchmark/")
                (commit commit)))
-         (file-name (git-file-name name version))
+         (file-name (git-file-name "cl-trivial-benchmark" version))
          (sha256
-          (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
+          (base32 "1p48wgpady0n8frdcgp7sbg93b0fbvpx1qk5valmanhwr9j3xh88"))))
       (build-system asdf-build-system/sbcl)
       (inputs
        (list sbcl-alexandria))
@@ -17952,47 +17950,50 @@ standard library.")
   (sbcl-package->cl-source-package sbcl-shlex))
 
 (define-public sbcl-cmd
-  (let ((commit "dda16c251992d2711dd98a073c436e73355cdb15"))
+  (let ((commit "0164d574ba236e2001ee1d9dba3f4774c7512a8c")
+        (revision "8"))
     (package
       (name "sbcl-cmd")
-      (version (git-version "0.0.1" "7" commit))
+      (version (git-version "0.0.1" revision commit))
       (source
        (origin
          (method git-fetch)
          (uri (git-reference
                (url "https://github.com/ruricolist/cmd/")
                (commit commit)))
-         (file-name (git-file-name name version))
+         (file-name (git-file-name "cl-cmd" version))
          (sha256
-          (base32 "1m72vir64h21y3z1dmdywr0r3dl9lwawgd5p9g0cl3bgmz2wjgqr"))))
+          (base32 "03wbckzmz6pqdlz7pyar6nfg4vs4bl0b2np7n3kk3qhjbrdakc4m"))))
       (build-system asdf-build-system/sbcl)
-      (inputs
-       `(("alexandria" ,sbcl-alexandria)
-         ("coreutils" ,coreutils)
-         ("procps" ,procps)
-         ("serapeum" ,sbcl-serapeum)
-         ("shlex" ,sbcl-shlex)
-         ("trivia" ,sbcl-trivia)))
       (arguments
-       `(#:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'fix-paths
-             (lambda* (#:key inputs #:allow-other-keys)
-               (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin"))
-                     (ps-bin (string-append (assoc-ref inputs "procps") "/bin")))
-                 (substitute* "cmd.lisp"
-                   (("\\(def \\+env\\+ \"env\"\\)")
-                    (format #f "(def +env+ \"~a/env\")" bin))
-                   (("\\(def \\+kill\\+ \"kill\"\\)")
-                    (format #f "(def +kill+ \"~a/kill\")" bin))
-                   (("\\(def \\+ps\\+ \"ps\"\\)")
-                    (format #f "(def +ps+ \"~a/ps\")" ps-bin))
-                   (("\\(def \\+pwd\\+ \"pwd\"\\)")
-                    (format #f "(def +pwd+ \"~a/pwd\")" bin))
-                   (("\\(def \\+sh\\+ \"/bin/sh\"\\)")
-                    (format #f "(def +sh+ \"~a\")" (which "sh")))
-                   (("\\(def \\+tr\\+ \"tr\"\\)")
-                    (format #f "(def +tr+ \"~a/tr\")" bin)))))))))
+       (list #:phases
+             #~(modify-phases %standard-phases
+                 (add-after 'unpack 'fix-paths
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     (let ((bin (string-append (assoc-ref inputs "coreutils")
+                                               "/bin"))
+                           (ps-bin (string-append (assoc-ref inputs "procps")
+                                                  "/bin")))
+                       (substitute* "cmd.lisp"
+                         (("\\(def \\+env\\+ \"env\"\\)")
+                          (format #f "(def +env+ \"~a/env\")" bin))
+                         (("\\(def \\+kill\\+ \"kill\"\\)")
+                          (format #f "(def +kill+ \"~a/kill\")" bin))
+                         (("\\(def \\+ps\\+ \"ps\"\\)")
+                          (format #f "(def +ps+ \"~a/ps\")" ps-bin))
+                         (("\\(def \\+pwd\\+ \"pwd\"\\)")
+                          (format #f "(def +pwd+ \"~a/pwd\")" bin))
+                         (("\\(def \\+sh\\+ \"/bin/sh\"\\)")
+                          (format #f "(def +sh+ \"~a\")" (which "sh")))
+                         (("\\(def \\+tr\\+ \"tr\"\\)")
+                          (format #f "(def +tr+ \"~a/tr\")" bin)))))))))
+      (inputs
+       (list coreutils
+             procps
+             sbcl-alexandria
+             sbcl-serapeum
+             sbcl-shlex
+             sbcl-trivia))
       (home-page "https://github.com/ruricolist/cmd")
       (synopsis "Conveniently run external programs from Common Lisp")
       (description
@@ -18195,33 +18196,35 @@ the origin.")
   (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
 
 (define-public sbcl-eclector
-  (package
-    (name "sbcl-eclector")
-    (version "0.9.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/s-expressionists/Eclector")
-             (commit version)))
-       (file-name (git-file-name "cl-eclector" version))
-       (sha256
-        (base32 "10whwpz08fkdcz59sz1b6rn5r1pdns5wnsb1g26gppiv3rrg3cvh"))))
-    (build-system asdf-build-system/sbcl)
-    (native-inputs
-     (list sbcl-fiveam))
-    (inputs
-     (list sbcl-acclimation
-           sbcl-alexandria
-           sbcl-closer-mop
-           sbcl-concrete-syntax-tree))
-    (arguments
-     '(#:asd-systems '("eclector"
-                       "eclector-concrete-syntax-tree")))
-    (home-page "https://s-expressionists.github.io/Eclector/")
-    (synopsis "Highly customizable, portable Common Lisp reader")
-    (description
-     "Eclector is a portable Common Lisp reader that is highly customizable,
+  (let ((commit "d499b09142c7e39b4ef52e821fa767d5a8d606a0")
+        (revision "0"))
+    (package
+      (name "sbcl-eclector")
+      (version (git-version "0.9.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/s-expressionists/Eclector")
+               (commit commit)))
+         (file-name (git-file-name "cl-eclector" version))
+         (sha256
+          (base32 "1sg8wmdpm8pcjwk394way5vs2ya3r995lddmi51q9zfn9hmzb7gn"))))
+      (build-system asdf-build-system/sbcl)
+      (native-inputs
+       (list sbcl-fiveam))
+      (inputs
+       (list sbcl-acclimation
+             sbcl-alexandria
+             sbcl-closer-mop
+             sbcl-concrete-syntax-tree))
+      (arguments
+       '(#:asd-systems '("eclector"
+                         "eclector-concrete-syntax-tree")))
+      (home-page "https://s-expressionists.github.io/Eclector/")
+      (synopsis "Highly customizable, portable Common Lisp reader")
+      (description
+       "Eclector is a portable Common Lisp reader that is highly customizable,
 can recover from errors and can return concrete syntax trees.
 
 In contrast to many other reader implementations, eclector can recover from
@@ -18230,7 +18233,7 @@ is realized as a restart.
 
 It can also produce instances of the concrete syntax tree classes provided by
 the concrete syntax tree library.")
-    (license license:bsd-2)))
+      (license license:bsd-2))))
 
 (define-public ecl-eclector
   (sbcl-package->ecl-package sbcl-eclector))
@@ -19193,8 +19196,8 @@ Lisp.")
   (sbcl-package->cl-source-package sbcl-percent-encoding))
 
 (define-public sbcl-machine-state
-  (let ((commit "afa7392bc5dcb689cd170bcca765fb6ce6e4efc5")
-        (revision "1"))
+  (let ((commit "3d258eea63942e7d2fd7212f1ad8bbcf505634a2")
+        (revision "2"))
     (package
       (name "sbcl-machine-state")
       (version (git-version "1.0.0" revision commit))
@@ -19204,9 +19207,9 @@ Lisp.")
          (uri (git-reference
                (url "https://github.com/Shinmera/machine-state")
                (commit commit)))
-         (file-name (git-file-name "machine-state" version))
+         (file-name (git-file-name "cl-machine-state" version))
          (sha256
-          (base32 "1b897wj06cnalzf5nl6rif1skpa79rzc9a562x1bdhvanhsp7hwa"))))
+          (base32 "1fjf2v8agx75qnna1n8fn54lvb01w1rk1vddi3p45a2xw1kwhzml"))))
       (build-system asdf-build-system/sbcl)
       (inputs
        (list sbcl-bordeaux-threads
@@ -19216,7 +19219,7 @@ Lisp.")
       (arguments
        '(#:tests? #f                    ; No tests.
          #:asd-systems '("machine-state" "machine-state/opengl")))
-      (home-page "https://notabug.org/cage/cl-mount-info.git")
+      (home-page "https://shinmera.github.io/machine-state/")
       (synopsis "Retrieve machine state information about CPU time, memory usage and more")
       (description
        "This library implements various functions to access status information
@@ -19868,8 +19871,8 @@ abstract, final and singleton classes.")
   (sbcl-package->cl-source-package sbcl-abstract-classes))
 
 (define-public sbcl-coalton
-  (let ((commit "ba758062bdc7c316438198601f43900c51df25d8")
-        (revision "3"))
+  (let ((commit "939342495f55991812c2c2767322c5e51e755216")
+        (revision "4"))
     (package
       (name "sbcl-coalton")
       (version (git-version "0.0.1" revision commit))
@@ -19881,16 +19884,17 @@ abstract, final and singleton classes.")
                (commit commit)))
          (file-name (git-file-name "cl-coalton" version))
          (sha256
-          (base32 "08sxfla1gyf9pczylaq1cn2j1nr2gzc9w0pk6aarsa4q2770zhf7"))))
+          (base32 "08qzj3v4fvn9h87whyqg650rpap8lva7jr94d1akv6m2z62l5q68"))))
       (build-system asdf-build-system/sbcl)
       (native-inputs
        (list sbcl-fiasco))
       (inputs
        (list sbcl-alexandria
+             sbcl-concrete-syntax-tree
+             sbcl-eclector
              sbcl-float-features
              sbcl-fset
-             sbcl-json-streams
-             sbcl-split-sequence
+             sbcl-named-readtables
              sbcl-trivial-garbage))
       (home-page "https://coalton-lang.github.io")
       (synopsis "Dialect of ML in Common Lisp")
@@ -20561,6 +20565,118 @@ alternative 4x4 matrix representation.")
 (define-public cl-3d-transforms
   (sbcl-package->cl-source-package sbcl-3d-transforms))
 
+(define-public sbcl-type-templates
+  (let ((commit "5b389ebcff61b81585a64d0b899b69fa12aa5f96")
+        (revision "0"))
+    (package
+      (name "sbcl-type-templates")
+      (version (git-version "4.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Shinmera/type-templates")
+               (commit commit)))
+         (file-name (git-file-name "cl-type-templates" version))
+         (sha256
+          (base32 "1zmz3bmwg8ncqbnjwimn8n7q9ik9arnhd5ijd22ap1nwhbnmk1rj"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       ;; No tests
+       (list #:tests? #f))
+      (inputs
+       (list sbcl-alexandria
+             sbcl-documentation-utils
+             sbcl-form-fiddle))
+      (home-page "https://shinmera.github.io/type-templates/")
+      (synopsis "Library for defining and expanding templated functions")
+      (description
+       "The Type-Templates library allows you to define types and “template
+functions” that can be expanded into various type-specialized versions to
+eliminate runtime dispatch overhead.  It was specifically designed to
+implement low-level numerical data types and functionality.")
+      (license license:zlib))))
+
+(define-public cl-type-templates
+  (sbcl-package->cl-source-package sbcl-type-templates))
+
+(define-public ecl-type-templates
+  (sbcl-package->ecl-package sbcl-type-templates))
+
+(define-public sbcl-3d-math
+  (let ((commit "3831b1706d225def95a7301ef48b393b563f0114")
+        (revision "0"))
+    (package
+      (name "sbcl-3d-math")
+      (version (git-version "1.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Shinmera/3d-math")
+               (commit commit)))
+         (file-name (git-file-name "cl-3d-math" version))
+         (sha256
+          (base32 "052vzx5j7bag9dxvl0j0wrm244js1djldyn31rwxgkq7965rmi5r"))))
+      (build-system asdf-build-system/sbcl)
+      (native-inputs
+       (list sbcl-parachute))
+      (inputs
+       (list sbcl-documentation-utils
+             sbcl-type-templates))
+      (home-page "https://shinmera.github.io/3d-math/")
+      (synopsis "Linear algebra for 2D and 3D computations")
+      (description
+       "The @code{3d-math} library implements types, operators, and algorithms
+commonly used in math for 2D and 3D graphics.  It supersedes and combines the
+prior libraries @code{3d-vectors}, @code{3d-matrices}, @code{3d-quaternions},
+and @code{3d-transforms}.  The new API is largely but not entirely backwards
+compatible, and adds new functionality.")
+      (license license:zlib))))
+
+(define-public cl-3d-math
+  (sbcl-package->cl-source-package sbcl-3d-math))
+
+(define-public ecl-3d-math
+  (sbcl-package->ecl-package sbcl-3d-math))
+
+(define-public sbcl-3d-spaces
+  (let ((commit "a93f4915affcf65617366297ad8bd2ec77bae702")
+        (revision "0"))
+    (package
+      (name "sbcl-3d-spaces")
+      (version (git-version "1.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Shirakumo/3d-spaces")
+               (commit commit)))
+         (file-name (git-file-name "cl-3d-spaces" version))
+         (sha256
+          (base32 "1m5cg5zy1731dcgkm1p4m53z1zsp387xligxh32pdrnrhc2lzhmf"))))
+      (build-system asdf-build-system/sbcl)
+      (native-inputs
+       (list sbcl-parachute))
+      (inputs
+       (list sbcl-3d-math
+             sbcl-documentation-utils
+             sbcl-for
+             sbcl-trivial-extensible-sequences))
+      (home-page "https://shirakumo.github.io/3d-spaces/")
+      (synopsis "Implementations of various spatial query structures")
+      (description
+       "The 3D-Spaces library implements a number of spatial query data
+structures; structures that can answer spatial range queries for optimized
+lookup, particularly suited for games.")
+      (license license:zlib))))
+
+(define-public cl-3d-spaces
+  (sbcl-package->cl-source-package sbcl-3d-spaces))
+
+(define-public ecl-3d-spaces
+  (sbcl-package->ecl-package sbcl-3d-spaces))
+
 (define-public sbcl-glsl-toolkit
   (let ((commit "4c4889e75c635772c4df70b11d6f14e7a596da43")
         (revision "2"))
@@ -20785,25 +20901,25 @@ all kind of typesetting applications.")
   (sbcl-package->cl-source-package sbcl-cl-typesetting))
 
 (define-public sbcl-shasht
-  (let ((commit "4055327ef8e2aaa8627892ab256350ff3cb15e3c")
-        (revision "1"))
+  (let ((commit "27ba0a8842e103f2d575b3c8bbcfc19bd172d9ea")
+        (revision "2"))
     (package
       (name "sbcl-shasht")
-      (version (git-version "0.1.0" revision commit))
+      (version (git-version "0.1" revision commit))
       (source
        (origin
          (method git-fetch)
          (uri (git-reference
                (url "https://github.com/yitzchak/shasht")
                (commit commit)))
-         (file-name (git-file-name "shasht" version))
+         (file-name (git-file-name "cl-shasht" version))
          (sha256
-          (base32 "01mh20s5gj0lajq45anxji77ykq1wcg72mn1y9a1k8i7q1ainjlr"))))
+          (base32 "1y7qh8kdhk06243vkmxzdk0y9rax4g8pv28bd01j48ix777mpcdc"))))
       (build-system asdf-build-system/sbcl)
       (native-inputs
        (list sbcl-alexandria sbcl-parachute))
       (inputs
-       (list sbcl-trivial-do))
+       (list sbcl-closer-mop sbcl-trivial-do))
       (home-page "https://yitzchak.github.io/shasht/")
       (synopsis "Common Lisp JSON reading and writing library")
       (description
@@ -21493,11 +21609,11 @@ application development library.")
   (sbcl-package->cl-source-package sbcl-cl-glfw3))
 
 (define-public sbcl-cl-gltf
-  (let ((commit "7f9193acec80cad775b61b1c7a125c14a7b35a0c")
+  (let ((commit "dab186ebf9169926ccfcdec121a157162ad6ed83")
         (revision "0"))
     (package
       (name "sbcl-cl-gltf")
-      (version (git-version "1.0.0" revision commit))
+      (version (git-version "2.0.0" revision commit))
       (source
        (origin
          (method git-fetch)
@@ -21506,7 +21622,7 @@ application development library.")
                (commit commit)))
          (file-name (git-file-name "cl-gltf" version))
          (sha256
-          (base32 "0ni42242a4x052dqlycwrg5j6piwm87s4wgbn2q0a9s3l9f811vk"))))
+          (base32 "0ijy0paph7w037a2k14pv8j44mnj4gwhddhxzyqsz3qwl6fpb7yb"))))
       (build-system asdf-build-system/sbcl)
       (arguments
        ;; No tests provided.
@@ -21733,8 +21849,8 @@ impossible to merge back upstream.")
 
 (define-public sbcl-atomics
   ;; No release in years.
-  (let ((commit "9ee0bdebcd2bb9b242671a75460db13fbf45454c")
-        (revision "1"))
+  (let ((commit "b7477024894e322bff9c85e6d81e5e8d1d4eae59")
+        (revision "2"))
     (package
       (name "sbcl-atomics")
       (version (git-version "1.0.0" revision commit))
@@ -21744,9 +21860,9 @@ impossible to merge back upstream.")
          (uri (git-reference
                (url "https://github.com/Shinmera/atomics")
                (commit commit)))
-         (file-name (git-file-name "atomics" version))
+         (file-name (git-file-name "cl-atomics" version))
          (sha256
-          (base32 "0mp5jdqq0aamdhgnvw149cqqi3zg7dkkibp25qi4rafw1fnpd40z"))))
+          (base32 "1ah6fgvfva0axnhj4sp1qy6gjyw41fkhpnv998di0wbp6hls8j39"))))
       (build-system asdf-build-system/sbcl)
       (inputs
        (list sbcl-documentation-utils))
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index afd50bf46a..4a895984e7 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -999,7 +999,7 @@ the HTML documentation of TXR.")
 (define-public txr
   (package
     (name "txr")
-    (version "292")
+    (version "293")
     (source
      (origin
        (method git-fetch)
@@ -1008,7 +1008,7 @@ the HTML documentation of TXR.")
              (commit (string-append "txr-" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0lly446pinfrr5d4rgsas8c7kqal2g03bbsbmn0yvhvazb39c15g"))))
+        (base32 "1b3vhlnw4ymznnlh9d71qhkcdc1p69a53hilckc3rql9y4jsik57"))))
     (build-system gnu-build-system)
     (arguments
      (list #:configure-flags
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 14fc2a0a72..b4651c80e5 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015-2023 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015-2024 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016, 2020-2023 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2017, 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
@@ -1151,6 +1151,11 @@ in terms of new algorithms.")
     (build-system python-build-system)
     (arguments
      '(#:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'relax-requirements
+                    (lambda _
+                      ;; Does this difference really matter?
+                      (substitute* "requirements.txt"
+                        (("3.20.1") "3.20.2"))))
                   (add-before 'build 'pass-cmake-arguments
                     (lambda* (#:key outputs #:allow-other-keys)
                       ;; Pass options to the CMake-based build process.
@@ -1235,7 +1240,13 @@ operators and standard data types.")
                '(begin
                   (delete-file-recursively "third_party")
                   (substitute* "onnx/backend/test/runner/__init__.py"
-                    (("urlretrieve\\(.*") "raise unittest.SkipTest('Skipping download')\n"))))))))
+                    (("urlretrieve\\(.*") "raise unittest.SkipTest('Skipping download')\n"))))))
+    (arguments
+     ;; reuse build system tweaks
+     (substitute-keyword-arguments (package-arguments onnx)
+       ((#:phases phases)
+        #~(modify-phases #$phases
+            (delete 'relax-requirements)))))))
 
 (define-public python-onnx
   ;; This used to be called "python-onnx" because it provided nothing but
@@ -1262,7 +1273,12 @@ operators and standard data types.")
               (modules '((guix build utils)))
               (snippet '(delete-file-recursively "third_party"))))
     (build-system python-build-system)
-    (arguments (package-arguments onnx))          ;reuse build system tweaks
+    (arguments
+     ;; reuse build system tweaks
+     (substitute-keyword-arguments (package-arguments onnx)
+       ((#:phases phases)
+        #~(modify-phases #$phases
+            (delete 'relax-requirements)))))
     (native-inputs
      (list cmake python-pytest python-pytest-runner python-nbval
            python-coverage))
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 523c20c4a9..4466e5e6d9 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -109,6 +109,7 @@
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages golang-check)
+  #:use-module (gnu packages golang-web)
   #:use-module (gnu packages groff)
   #:use-module (gnu packages gsasl)
   #:use-module (gnu packages gtk)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 1c5bc4bbd7..491901edf3 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -2636,11 +2636,11 @@ replacement.")
     (license license:gpl2+)))
 
 (define-public tdlib
-  (let ((commit "4ed0b23c9c99868ab4d2d28e8ff244687f7b3144")
+  (let ((commit "27c3eaeb4964bd5f18d8488e354abde1a4383e49")
         (revision "0"))
     (package
       (name "tdlib")
-      (version (git-version "1.8.20" revision commit))
+      (version (git-version "1.8.23" revision commit))
       (source
        (origin
          (method git-fetch)
@@ -2648,7 +2648,7 @@ replacement.")
                (url "https://github.com/tdlib/td")
                (commit commit)))
          (sha256
-          (base32 "16kprlcnphi89yfwgnlaxjwwb1xx24az8xd710rx8cslb4zv00qw"))
+          (base32 "14f65dfmg2p5hyvi3lffvvazwcd3i3jrrw3c2pwrc5yfgxk3662g"))
          (file-name (git-file-name name version))))
       (build-system cmake-build-system)
       (arguments
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index bf0df314a7..14c47430e3 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -52,7 +52,7 @@
 (define-public minetest
   (package
     (name "minetest")
-    (version "5.7.0")
+    (version "5.8.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -61,7 +61,7 @@
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "008l44zwwsarwk4hn7wx2nj2m21b1iqsphl7g69rrlxj760zl0pl"))
+                "1sww17h8z77w38jk19nsqxn8xcj27msq0glbil7pyj4i0ffprjrr"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -166,7 +166,7 @@ in different ways.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "02kbj1h6jsq6k8x4v2ir0njczdz7nyx6dbym85ixxp3mrqxiws61"))))
+                "1pq4rm15lzwcqv6npgyz6v89hi3zj8zybw25n9i0d27qj786xc4z"))))
     (build-system copy-build-system)
     (arguments
      (list #:install-plan
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index e462f0f01d..e16c6bb964 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -117,7 +117,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
 (define-public mpd
   (package
     (name "mpd")
-    (version "0.23.14")
+    (version "0.23.15")
     (source (origin
               (method url-fetch)
               (uri
@@ -126,7 +126,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
                               "/mpd-" version ".tar.xz"))
               (sha256
                (base32
-                "1lh9nn4a7ng6i08df7rbs8c4nbgmz883pss9p2gswa6m4rsadfc5"))))
+                "06k60ych9crifyx6zfc98hdcihixq5nba1c9rwngib6ik8ik40am"))))
     (build-system meson-build-system)
     (arguments
      (list
@@ -162,6 +162,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
                    boost
                    chromaprint
                    curl
+                   dbus
                    elogind
                    expat
                    ffmpeg
diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index 0c6255c129..591170b508 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -6,7 +6,7 @@
 ;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2018, 2019, 2021, 2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018, 2019, 2021, 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
@@ -71,6 +71,8 @@
                  ;; they produce different headers.  We need shared.
                  `("--disable-static"
                    "--enable-shared"))
+                ((target-x32?)
+                 `("ABI=x32"))
                 (else '())))
       ;; Remove after core-updates merge.
       ;; Workaround for gcc-7 transition breakage, -system and cross-build,
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index dad217beb0..9844430656 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -123,6 +123,7 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages golang)
+  #:use-module (gnu packages golang-web)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
@@ -4449,31 +4450,30 @@ QUIC protocol.")
                #:deep? #true)))
        (cons go-golang-org-x-sys-0.8
              (map p
-                  (list go-golang-zx2c4-com-wireguard
-                        go-golang-org-x-text
-                        go-golang-org-x-net
-                        go-golang-org-x-crypto
-                        go-golang-org-x-tools
-                        go-netns
-                        go-netlink
+                  (list go-github-com-arceliar-ironwood
+                        go-github-com-arceliar-phony
                         go-github-com-bits-and-blooms-bitset
                         go-github-com-bits-and-blooms-bloom
-                        go-github-com-quic-go-quic-go
+                        go-github-com-cheggaaa-pb-v3
+                        go-github-com-fatih-color
+                        go-github-com-gologme-log
+                        go-github-com-hashicorp-go-syslog
                         go-github-com-hjson-hjson-go
-                        go-github-com-olekukonko-tablewriter
-                        go-github-com-mitchellh-mapstructure
-                        go-github-com-mattn-go-runewidth
-                        go-github-com-mattn-go-isatty
-                        go-github-com-mattn-go-colorable
                         go-github-com-kardianos-minwinsvc
-                        go-github-com-hjson-hjson-go
-                        go-github-com-hashicorp-go-syslog
-                        go-github-com-gologme-log
-                        go-github-com-fatih-color
-                        go-github-com-cheggaaa-pb-v3
+                        go-github-com-mattn-go-colorable
+                        go-github-com-mattn-go-isatty
+                        go-github-com-mattn-go-runewidth
+                        go-github-com-mitchellh-mapstructure
+                        go-github-com-olekukonko-tablewriter
+                        go-github-com-quic-go-quic-go
                         go-github-com-vividcortex-ewma
-                        go-github-com-arceliar-phony
-                        go-github-com-arceliar-ironwood)))))
+                        go-golang-org-x-crypto
+                        go-golang-org-x-net
+                        go-golang-org-x-text
+                        go-golang-org-x-tools
+                        go-golang-zx2c4-com-wireguard
+                        go-netlink
+                        go-netns)))))
     (home-page "https://yggdrasil-network.github.io/blog.html")
     (synopsis
      "Experiment in scalable routing as an encrypted IPv6 overlay network")
diff --git a/gnu/packages/patches/emacs-ess-fix-obsolete-function-alias.patch b/gnu/packages/patches/emacs-ess-fix-obsolete-function-alias.patch
deleted file mode 100644
index f7b61391c3..0000000000
--- a/gnu/packages/patches/emacs-ess-fix-obsolete-function-alias.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 9cc5520e1998d03f5dec0fbb1fe71b7cdec38b65 Mon Sep 17 00:00:00 2001
-From: Alex Branham <alex.branham@gmail.com>
-Date: Wed, 6 Jan 2021 06:41:20 -0500
-Subject: [PATCH] Add required when to obsolete function alias
-
-Closes #1085
----
- lisp/ess-r-package.el | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lisp/ess-r-package.el b/lisp/ess-r-package.el
-index 260959955..397ce14e6 100644
---- a/lisp/ess-r-package.el
-+++ b/lisp/ess-r-package.el
-@@ -577,7 +577,7 @@ package mode. Use this function if state of the buffer such as
-   (error "As of ESS 16.04, `ess-developer' is deprecated. Use `ess-r-set-evaluation-env' instead"))
- 
- (defalias 'ess-toggle-developer 'ess-developer)
--(define-obsolete-function-alias 'ess-r-devtools-check-package-buildwin 'ess-r-devtools-check-with-winbuilder)
-+(define-obsolete-function-alias 'ess-r-devtools-check-package-buildwin 'ess-r-devtools-check-with-winbuilder "18.04")
- (define-obsolete-function-alias 'ess-r-devtools-ask 'ess-r-devtools-execute-command "18.04")
- 
- (make-obsolete-variable 'ess-developer "Please use `ess-developer-select-package' and `ess-r-set-evaluation-env' instead." "16.04")
diff --git a/gnu/packages/patches/emacs-haskell-mode-no-redefine-builtin.patch b/gnu/packages/patches/emacs-haskell-mode-no-redefine-builtin.patch
deleted file mode 100644
index 65ace2ee5e..0000000000
--- a/gnu/packages/patches/emacs-haskell-mode-no-redefine-builtin.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From faa95a784d2c74c72e70367a5d531df6dd61aeab Mon Sep 17 00:00:00 2001
-From: Steve Purcell <steve@sanityinc.com>
-Date: Sun, 6 Aug 2023 16:41:48 +0200
-Subject: [PATCH] Don't redefine built-in function
-
-Fixes #1817
----
- tests/haskell-indent-tests.el      | 14 ++++++++------
- tests/haskell-indentation-tests.el | 14 ++++++++------
- 2 files changed, 16 insertions(+), 12 deletions(-)
-
-diff --git a/tests/haskell-indent-tests.el b/tests/haskell-indent-tests.el
-index 7196405b8..9a3de4ad3 100644
---- a/tests/haskell-indent-tests.el
-+++ b/tests/haskell-indent-tests.el
-@@ -40,11 +40,13 @@
- ;;                    (haskell-indent-put-region-in-literate (point-min) (point-max) -1)
- ;;                    (buffer-substring-no-properties (point-min) (point-max))))))
- 
--(defsubst string-trim-left (string)
--  "Remove leading whitespace from STRING."
--  (if (string-match "\\`[ \t\n\r]+" string)
--      (replace-match "" t t string)
--    string))
-+(if (fboundp 'string-trim-left)
-+    (defalias 'haskell--string-trim-left 'string-trim-left)
-+  (defun haskell--string-trim-left (string &optional regexp)
-+    "Remove leading whitespace from STRING."
-+    (if (string-match (concat "\\`\\(?:" (or regexp "[ \t\n\r]+") "\\)") string)
-+        (substring string (match-end 0))
-+      string)))
- 
- (defun haskell-indent-format-info (info)
-   (if (cdr info)
-@@ -128,7 +130,7 @@ macro quotes them for you."
-          :expected-result
-          ,(if allow-failure :failed :passed)
-          (haskell-indent-check
--          ,(string-trim-left source)
-+          ,(haskell--string-trim-left source)
-           ,@(mapcar (lambda (x)
-                       (list 'quote x))
-                     test-cases))))))
-diff --git a/tests/haskell-indentation-tests.el b/tests/haskell-indentation-tests.el
-index 4889b76a7..cd783a4f4 100644
---- a/tests/haskell-indentation-tests.el
-+++ b/tests/haskell-indentation-tests.el
-@@ -33,11 +33,13 @@
- 
- ;;; Code:
- 
--(defsubst string-trim-left (string)
--  "Remove leading whitespace from STRING."
--  (if (string-match "\\`[ \t\n\r]+" string)
--      (replace-match "" t t string)
--    string))
-+(if (fboundp 'string-trim-left)
-+    (defalias 'haskell--string-trim-left 'string-trim-left)
-+  (defun haskell--string-trim-left (string &optional regexp)
-+    "Remove leading whitespace from STRING."
-+    (if (string-match (concat "\\`\\(?:" (or regexp "[ \t\n\r]+") "\\)") string)
-+        (substring string (match-end 0))
-+      string)))
- 
- (defun haskell-indentation-check (source &rest test-cases)
-   "Check if `haskell-indentation-find-indentations' returns expected results.
-@@ -115,7 +117,7 @@ macro quotes them for you."
-          :expected-result
-          ,(if allow-failure :failed :passed)
-          (haskell-indentation-check
--          ,(string-trim-left source)
-+          ,(haskell--string-trim-left source)
-           ,@(mapcar (lambda (x)
-                       (list 'quote x))
-                     test-cases))))))
diff --git a/gnu/packages/plan9.scm b/gnu/packages/plan9.scm
index f78c26e215..b2d8d75471 100644
--- a/gnu/packages/plan9.scm
+++ b/gnu/packages/plan9.scm
@@ -73,8 +73,8 @@ reconstruct a Plan 9 terminal-like experience from a non-Plan 9 system.")
 
 (define-public plan9port
   ;; no releases
-  (let ((commit "cc4571fec67407652b03d6603ada6580de2194dc")
-        (revision "0"))
+  (let ((commit "f8681acb374fa0d5ed1568dbedb00a4abe1ca6f1")
+        (revision "1"))
     (package
       (name "plan9port")
       (version (git-version "0.1.0" revision commit))
@@ -86,7 +86,7 @@ reconstruct a Plan 9 terminal-like experience from a non-Plan 9 system.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "1g2kzlghcghs560na6xalfsjq5zwp015wv9wk8wxn26981zs759x"))
+                  "01343jvn8kr63i78h8xlgscn6wihdsr44xzh1cylvhigjbqw8n2x"))
                 (modules '((guix build utils)))
                 (snippet #~(for-each delete-file-recursively
                                      '("font/luc" ;nonfree
@@ -94,73 +94,69 @@ reconstruct a Plan 9 terminal-like experience from a non-Plan 9 system.")
       (build-system gnu-build-system)
       (arguments
        (list #:tests? #f ;no tests
-             #:phases #~(modify-phases %standard-phases
-                          (add-after 'unpack 'setup
-                            (lambda _
-                              (delete-file "src/cmd/mk/mk.pdf")
-                              (substitute* "src/cmd/acme/acme.c"
-                                (("/lib/font/bit/lucsans/euro.8.font")
-                                 (string-append #$output
-                                  "/font/fixed/unicode.5x8.font"))
-                                (("/lib/font/bit/lucm/unicode.9.font")
-                                 (string-append #$output
-                                  "/font/fixed/unicode.6x9.font")))
-                              (substitute* (find-files "src")
-                                (("/lib/font/bit")
-                                 (string-append #$output "/font")))
-                              (substitute* "bin/9c"
-                                (("which")
-                                 (which "which")))
-                              (substitute* "src/cmd/fontsrv/freetyperules.sh"
-                                (("'\\$i'/freetype2")
-                                 (string-append "-I"
-                                                #$freetype
-                                                "/include/freetype2")))
-                              (with-output-to-file "LOCAL.config"
-                                (lambda _
-                                  (format #t "CC9=~a~%" #$(cc-for-target))
-                                  (format #t "FONTSRV=fontsrv~%")))
-                              (setenv "X11"
-                                      #$libx11)
-                              (setenv "PLAN9"
-                                      (getcwd))
-                              (setenv "PLAN9_TARGET"
-                                      #$output)))
-                          (delete 'configure) ;no configure
-                          (replace 'build
-                            (lambda _
-                              (invoke "./INSTALL" "-b")))
-                          (replace 'install
-                            (lambda _
-                              (for-each (lambda (x)
-                                          (let ((out (string-append #$output
-                                                                    "/" x)))
-                                            (mkdir-p out)
-                                            (copy-recursively x out)))
-                                        ;; TODO: use external sky and dict packages
-                                        '("bin" "face"
-                                          "font"
-                                          "include"
-                                          "lib"
-                                          "lp"
-                                          "mail"
-                                          "man"
-                                          "ndb"
-                                          "plumb"
-                                          "tmac"
-                                          "troff"
-                                          "postscript"))
-                              (install-file "rcmain" #$output)))
-                          (add-after 'install 'wrap-executables
-                            (lambda _
-                              (for-each (lambda (exe)
-                                          (wrap-program exe
-                                            `("PLAN9" ":" prefix
-                                              (,#$output))))
-                                        (find-files
-                                         (string-append #$output "/bin")))))
-                          ;; Plan9 doesn't compress man pages
-                          (delete 'compress-documentation))))
+             #:strip-directories #~'("plan9/bin")
+             #:phases
+             #~(modify-phases %standard-phases
+                 (add-after 'unpack 'setup
+                   (lambda _
+                     (let ((dest (string-append #$output "/plan9")))
+                       (delete-file "src/cmd/mk/mk.pdf")
+                       (substitute* "src/cmd/acme/acme.c"
+                         (("/lib/font/bit/lucsans/euro.8.font")
+                          (string-append dest
+                                         "/font/fixed/unicode.5x8.font"))
+                         (("/lib/font/bit/lucm/unicode.9.font")
+                          (string-append dest
+                                         "/font/fixed/unicode.6x9.font")))
+                       (substitute* (find-files "src")
+                         (("/lib/font/bit")
+                          (string-append dest "/font")))
+                       (substitute* "bin/9c"
+                         (("which")
+                          (which "which")))
+                       (substitute* "src/cmd/fontsrv/freetyperules.sh"
+                         (("'\\$i'/freetype2")
+                          (string-append "-I"
+                                         #$freetype
+                                         "/include/freetype2")))
+                       (with-output-to-file "LOCAL.config"
+                         (lambda _
+                           (format #t "CC9=~a~%" #$(cc-for-target))
+                           (format #t "FONTSRV=fontsrv~%")))
+                       (setenv "X11" #$libx11)
+                       (setenv "PLAN9" (getcwd))
+                       (setenv "PLAN9_TARGET" dest))))
+                 (delete 'configure)    ;no configure
+                 (replace 'build
+                   (lambda _
+                     (invoke "./INSTALL" "-b")))
+                 (replace 'install
+                   (lambda _
+                     (invoke "./INSTALL" "-c")
+                     (let ((dest (getenv "PLAN9_TARGET")))
+                       (for-each (lambda (x)
+                                   (let ((out (string-append dest "/" x)))
+                                     (mkdir-p out)
+                                     (copy-recursively x out)))
+                                 ;; TODO: use external sky and dict packages
+                                 '("bin" "face"
+                                   "font"
+                                   "include"
+                                   "lib"
+                                   "lp"
+                                   "mail"
+                                   "man"
+                                   "ndb"
+                                   "plumb"
+                                   "tmac"
+                                   "troff"
+                                   "postscript"))
+                       (install-file "rcmain" dest)
+                       (mkdir-p (string-append #$output "/bin"))
+                       (symlink (string-append dest "/bin/9")
+                                (string-append #$output "/bin/9")))))
+                 ;; Plan9 doesn't compress man pages
+                 (delete 'compress-documentation))))
       (native-inputs (list perl which))
       (inputs (list bash-minimal                  ;for 'wrap-program'
                     fontconfig libx11 libxext libxt))
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 3143d8fd99..b7fdb00266 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9239,6 +9239,105 @@ converting, and viewing many of the proprietary file formats used to store
 experimental data and metadata at the Laboratory for Fluorescence Dynamics.")
     (license license:bsd-3)))
 
+(define-public python-av
+  (package
+    (name "python-av")
+    (version "10.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "av" version))
+       (sha256
+        (base32 "01byqsjclkg65mhr6b4i2r2n4y7af9kdd2c35lxny27121b3vzca"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags
+      #~(list
+         ;; Tests require outbound access to download data samples from
+         ;; http://fate.ffmpeg.org/fate-suite:
+         ;;
+         ;; E urllib.error.URLError: <urlopen error [Errno -3]
+         ;; Temporary failure in name resolution>
+         ;;
+         "--ignore=tests/test_doctests.py"
+         "--ignore=tests/test_timeout.py"
+         "-k"
+         (string-append
+          "not test_data"
+          " and not test_container_probing"
+          " and not test_stream_probing"
+          " and not test_transcode"
+          " and not test_codec_tag"
+          " and not test_parse"
+          " and not test_decode_audio_sample_count"
+          " and not test_decoded_motion_vectors"
+          " and not test_decoded_motion_vectors_no_flag"
+          " and not test_decoded_time_base"
+          " and not test_decoded_video_frame_count"
+          " and not test_encoding_aac"
+          " and not test_encoding_dnxhd"
+          " and not test_encoding_dvvideo"
+          " and not test_encoding_h264"
+          " and not test_encoding_mjpeg"
+          " and not test_encoding_mp2"
+          " and not test_encoding_mpeg1video"
+          " and not test_encoding_mpeg4"
+          " and not test_encoding_pcm_s24le"
+          " and not test_encoding_png"
+          " and not test_encoding_tiff"
+          " and not test_encoding_xvid"
+          " and not test_reading_from_buffer"
+          " and not test_reading_from_buffer_no_seek"
+          " and not test_reading_from_file"
+          " and not test_reading_from_pipe_readonly"
+          " and not test_reading_from_write_readonly"
+          " and not test_writing_to_custom_io_dash"
+          " and not test_writing_to_custom_io_image2"
+          " and not test_decode_half"
+          " and not test_seek_end"
+          " and not test_seek_float"
+          " and not test_seek_int64"
+          " and not test_seek_middle"
+          " and not test_seek_start"
+          " and not test_stream_seek"
+          " and not test_selection"
+          " and not test_stream_tuples"
+          " and not test_movtext"
+          " and not test_vobsub"
+          " and not test_roundtrip"
+          " and not test_stream_probing"))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'check 'build-extensions
+            (lambda _
+              (invoke "python" "setup.py" "build_ext" "--inplace"))))))
+    (native-inputs
+     (list pkg-config
+           python-cython
+           python-editorconfig
+           python-numpy
+           python-pillow
+           python-pytest))
+    (inputs
+     ;; XXX: Build is failing with FFmpeg 6.0, unresolved upstream.
+     ;; See https://github.com/PyAV-Org/PyAV/issues/1106
+     (list ffmpeg-5))
+    (home-page "https://github.com/PyAV-Org/PyAV")
+    (synopsis "Pythonic bindings for FFmpeg's libraries")
+    (description
+     "PyAV is a Python library that allows for direct and precise manipulation
+of media through containers, streams, packets, codecs, and frames.  It provides
+access to the powerful FFmpeg libraries while managing the complex details as
+much as possible.
+PyAV also facilitates data transformation and integration with
+other packages such as Numpy and Pillow.  However, working with media is a
+challenging task and PyAV cannot abstract it away or make all the best decisions
+for you.  If you can accomplish your tasks with the ffmpeg command, PyAV may not
+be necessary.  Nonetheless, PyAV is an essential tool when working with media
+that requires its specific capabilities.")
+    (license license:bsd-3)))
+
 (define-public python-ffmpeg-python
   ;; The latest release (0.2.0) is old and its test suite crashs on Python 3.10.
   (let ((commit "df129c7ba30aaa9ffffb81a48f53aa7253b0b4e6") (revision "0"))
@@ -30243,6 +30342,45 @@ heterogeneous and multi-platform clusters (including clusters running other
 applications with variable CPU loads).")
     (license license:bsd-3)))
 
+(define-public python-djitellopy
+  (package
+    (name "python-djitellopy")
+    (version "2.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "djitellopy" version))
+       (sha256
+        (base32 "1kc0syb4hpn7fay0rxpazmczag6jw3pncrrc6v762jj0afiwkrps"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:tests? #f                       ;no test suite
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; OpenCV does not ship metadata files for its Python library, which
+          ;; makes it invisible to the sanity_check script (see:
+          ;; https://github.com/opencv/opencv/issues/24810).
+          (delete 'sanity-check))))
+    (propagated-inputs
+     (list opencv                       ;for opencv-python
+           python-av
+           python-numpy
+           python-pillow))
+    (home-page "https://github.com/damiafuentes/DJITelloPy")
+    (synopsis
+     "DJI Tello drone video streaming, swarms and state packets library")
+    (description
+     "DJI Tello drone Python interface using the official Tello SDK and Tello
+EDU SDK.  This library has the following features:
+@itemize
+@item Implementation of all tello commands
+@item Retrieve a video stream easily
+@item Receive and parse state packets
+@item Control a swarm of drones.
+@end itemize")
+    (license license:expat)))
+
 (define-public python-djvulibre
   (package
     (name "python-djvulibre")
diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index 9993c0b807..00352dc327 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -331,7 +331,7 @@ particularly in catching syntax errors.")
 (define-public grml-zsh-config
   (package
     (name "grml-zsh-config")
-    (version "0.19.5")
+    (version "0.19.6")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -339,7 +339,7 @@ particularly in catching syntax errors.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "0ifw490z3v9ljccbmm04adz39fj2dmx8mjgayxqj0a9ln90yfdc4"))))
+                "1k1m2fbmvw73qy9mc6k2ygjg6zz8h7nn3d9pvj6jbjadnx4pz770"))))
     (build-system copy-build-system)
     (arguments
      (list
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 92bf3d5d96..712b1a9c37 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -6448,7 +6448,7 @@ can load multiple parameters to the current environment.")
       (license license:gpl3+))))
 
 (define-public r-tgutil
-  (let ((commit "0e4a2e84e5cf1f74bc66df0a3d8eac89633fd7b1")
+  (let ((commit "db4ff8b98082f8e4dbdeacb452641d215fd3c7ff")
         (revision "1"))
     (package
       (name "r-tgutil")
@@ -6461,7 +6461,7 @@ can load multiple parameters to the current environment.")
                (commit commit)))
          (file-name (git-file-name name version))
          (sha256
-          (base32 "0pmacpzhrigprlpl8b5j4xz7l110ifw98017xwk569dghbf8zrq1"))))
+          (base32 "00rsqs7f896piywh84jr8fkphbbx4jb7radf6znhhj6fip63yn91"))))
       (properties `((upstream-name . "tgutil")))
       (build-system r-build-system)
       (propagated-inputs (list r-broom
@@ -6481,7 +6481,9 @@ can load multiple parameters to the current environment.")
                                r-tidyr))
       (home-page "https://github.com/tanaylab/tgutil")
       (synopsis "Simple utility functions for Tanay lab code")
-      (description "Shared utility functions for multiple Tanay lab packages.")
+      (description
+       "This package provides simple utility functions that are shared
+across several packages maintained by the Tanay lab.")
       (license license:gpl3))))
 
 (define-public r-catterplots
@@ -6755,11 +6757,9 @@ Java package that provides routines for various statistical distributions.")
     (license license:gpl2+)))
 
 (define-public emacs-ess
-  ;; Latest release is old.  This is not the latest commit either due to bug
-  ;; reported here: <https://github.com/emacs-ess/ESS/issues/987>.
-  (let ((commit "24da603184ce39246611dd5b8602e769d7ebd5bf")
+  (let ((commit "3691ecc642eab5d016887e42699648e0eeeef566")
         (version "18.10.2")
-        (revision "0"))
+        (revision "1"))
     (package
       (name "emacs-ess")
       (version (git-version version revision commit))
@@ -6770,60 +6770,96 @@ Java package that provides routines for various statistical distributions.")
                (url "https://github.com/emacs-ess/ESS")
                (commit commit)))
          (sha256
-          (base32 "0j98lv07nzwzd54d4dgcfz01wy5gj48m0mnirxzh5r45ik2myh1r"))
+          (base32 "19p8djsbgvahpsx1w8i6h3qvpbdr4isjwm3wi82yk2648ri0qsq1"))
          (file-name (git-file-name name version))
          (modules '((guix build utils)))
          (snippet
-          '(begin
-             ;; Stop ESS from trying to bundle an external julia-mode.el.
-             (substitute* "lisp/Makefile"
-               ((" \\$\\(JULIAS)") "")
-               (("\ttest.*julia-mode.*\\.el") ""))
-             ;; Only build docs in info format.
-             (substitute* "doc/Makefile"
-               (("all  : info text")
-                "all  : info")
-               (("install: install-info install-other-docs")
-                "install: install-info"))
-             ;; Stop install-info from trying to update the info directory.
-             (substitute* "doc/Makefile"
-               ((".*/dir.*") ""))
-             ;; Fix r-help-mode test.
-             (substitute* "test/ess-test-r.el"
-               (("\\(equal ess-help-object \"plot.default\")") "t"))
-             ;; Avoid generating ess-autoloads.el twice.
-             (substitute* "Makefile"
-               (("all: lisp doc etc autoloads")
-                "all: lisp doc etc"))
-             ;; Install to correct directories.
-             (substitute* "Makefile"
-               (("mkdir -p \\$\\(ESSDESTDIR)")
-                "$(MAKE) -C lisp install; $(MAKE) -C doc install")
-               (("\\$\\(INSTALL) -R \\./\\* \\$\\(ESSDESTDIR)/")
-                "$(MAKE) -C etc install"))
-             #t))
-         (patches
-          (search-patches "emacs-ess-fix-obsolete-function-alias.patch"))))
+          #~(begin
+              ;; Stop ESS from trying to bundle an external julia-mode.el.
+              (substitute* "lisp/Makefile"
+                ((" \\$\\(JULIAS)") "")
+                (("\ttest.*julia-mode.*\\.el") ""))
+              ;; Only build docs in info format.
+              (substitute* "doc/Makefile"
+                (("all  : info text")
+                 "all  : info")
+                (("install: install-info install-other-docs")
+                 "install: install-info"))
+              ;; Stop install-info from trying to update the info directory.
+              (substitute* "doc/Makefile"
+                ((".*/dir.*") ""))
+              ;; Fix r-help-mode test.
+              (substitute* "test/ess-test-r.el"
+                (("\\(equal ess-help-object \"plot.default\")") "t"))
+              ;; Avoid generating ess-autoloads.el twice.
+              (substitute* "Makefile"
+                (("all: lisp doc etc autoloads")
+                 "all: lisp doc etc"))
+              ;; Install to correct directories.
+              (substitute* "Makefile"
+                (("mkdir -p \\$\\(ESSDESTDIR)")
+                 "$(MAKE) -C lisp install; $(MAKE) -C doc install")
+                (("\\$\\(INSTALL) -R \\./\\* \\$\\(ESSDESTDIR)/")
+                 "$(MAKE) -C etc install"))))))
       (build-system gnu-build-system)
       (arguments
        (let ((base-directory "/share/emacs/site-lisp"))
-         `(#:make-flags (list (string-append "PREFIX=" %output)
-                              (string-append "ETCDIR=" %output
-                                             ,base-directory "/etc")
-                              (string-append "LISPDIR=" %output
-                                             ,base-directory)
-                              (string-append "INFODIR=" %output
-                                             "/share/info"))
-           #:phases
-           (modify-phases %standard-phases
-             (delete 'configure)
-             (replace 'check
-               (lambda _ (invoke "make" "test")))))))
+         (list
+          #:modules '((guix build gnu-build-system)
+                      (guix build utils)
+                      (guix build emacs-utils))
+          #:imported-modules `(,@%gnu-build-system-modules
+                               (guix build emacs-build-system)
+                               (guix build emacs-utils))
+          #:make-flags
+          #~(list (string-append "PREFIX=" #$output)
+                  (string-append "ETCDIR=" #$output #$base-directory "/etc")
+                  (string-append "LISPDIR=" #$output #$base-directory)
+                  (string-append "INFODIR=" #$output "/share/info"))
+          #:phases
+          #~(modify-phases %standard-phases
+              (delete 'configure)
+              (add-before 'check 'skip-failing-tests
+                ;; XXX: Skip 10 failing tests (out of 187).
+                (lambda _
+                  (let-syntax
+                      ((disable-tests
+                        (syntax-rules ()
+                          ((_ file ())
+                           (syntax-error "test names list must not be empty"))
+                          ((_ file (test-name ...))
+                           (substitute* file
+                             (((string-append "^\\(ert-deftest " test-name ".*")
+                               all)
+                              (string-append all "(skip-unless nil)\n"))
+                             ...)))))
+                    (disable-tests (list "test/ess-test-inf.el"
+                                         "test/ess-test-r.el")
+                                   ("ess--derive-connection-path"
+                                    "ess-eval-line-test"
+                                    "ess-eval-region-test"
+                                    "ess-mock-remote-process"
+                                    "ess-r-load-ESSR-github-fetch-no"
+                                    "ess-r-load-ESSR-github-fetch-yes"
+                                    "ess-set-working-directory-test"
+                                    "ess-test-r-startup-directory")))
+                  ;; The two tests below use a different syntax.
+                  (emacs-batch-edit-file "test/ess-test-r-eval.el"
+                    '(progn
+                      (mapc (lambda (test)
+                              (goto-char (point-min))
+                              (search-forward (format "etest-deftest %s " test))
+                              (beginning-of-line)
+                              (kill-sexp))
+                            '("ess-r-eval-ns-env-roxy-tracebug-test"
+                              "ess-r-eval-sink-freeze-test"))
+                      (basic-save-buffer)))))
+              (replace 'check
+                (lambda _ (invoke "make" "test")))))))
       (native-inputs
        (list perl r-roxygen2 texinfo))
       (inputs
-       `(("emacs" ,emacs-minimal)
-         ("r-minimal" ,r-minimal)))
+       (list emacs-minimal r-minimal))
       (propagated-inputs
        (list emacs-julia-mode))
       (home-page "https://ess.r-project.org/")
diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm
index ec630a029f..da3ea74fb6 100644
--- a/gnu/packages/tbb.scm
+++ b/gnu/packages/tbb.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016, 2022 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2022, 2024 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Nikita <nikita@n0.is>
 ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
@@ -51,31 +51,31 @@
      `(#:configure-flags
        '(,@(if (or (target-riscv64?)
                    (target-ppc32?))
-            '("-DTBB_TEST_LINK_FLAGS=-latomic")
-            `())
+               '("-DTBB_TEST_LINK_FLAGS=-latomic")
+               `())
          ,@(if (or (target-arm32?)
                    (target-ppc32?))
-             '("-DTBB_TEST_COMPILE_FLAGS=-DTBB_TEST_LOW_WORKLOAD")
-             `())
-         "-DTBB_STRICT=OFF")   ;; Don't fail on warnings
+               '("-DTBB_TEST_COMPILE_FLAGS=-DTBB_TEST_LOW_WORKLOAD")
+               `())
+         "-DTBB_STRICT=OFF") ;; Don't fail on warnings
        #:phases
        (modify-phases %standard-phases
          ,@(cond
-             ((target-arm32?)
-              `((add-after 'unpack 'adjust-test-suite
-                  (lambda _
-                    (substitute* "test/CMakeLists.txt"
-                      ;; Bus error, skipped on mips.
-                      ((".*test_malloc_pools.*") ""))))))
-             ((target-ppc32?)
-              `((add-after 'unpack 'adjust-test-suite
-                  (lambda _
-                      (substitute* "test/CMakeLists.txt"
-                        ;; These tests hang forever.
-                        ((".*test_function_node.*") "")
-                        ((".*test_multifunction_node.*") "")
-                        ((".*test_async_node.*") ""))))))
-             (else '())))))
+            ((target-arm32?)
+             `((add-after 'unpack 'adjust-test-suite
+                 (lambda _
+                   (substitute* "test/CMakeLists.txt"
+                     ;; Bus error, skipped on mips.
+                     ((".*test_malloc_pools.*") ""))))))
+            ((target-ppc32?)
+             `((add-after 'unpack 'adjust-test-suite
+                 (lambda _
+                   (substitute* "test/CMakeLists.txt"
+                     ;; These tests hang forever.
+                     ((".*test_function_node.*") "")
+                     ((".*test_multifunction_node.*") "")
+                     ((".*test_async_node.*") ""))))))
+            (else '())))))
     (home-page "https://www.threadingbuildingblocks.org")
     (synopsis "C++ library for parallel programming")
     (description
@@ -101,7 +101,9 @@ tasks, synchronization primitives, atomic operations, and more.")
             (lambda _
               (substitute* "python/CMakeLists.txt"
                 (("\\$\\{PYTHON_BUILD_WORK_DIR\\}/build")
-                 #$output))
+                 #$output)
+                (("install --prefix.*-f" m)
+                 (string-append m " --root=/")))
               (substitute* "python/setup.py"
                 (("extra_link_args=tbb_flag,")
                  (string-append "extra_link_args=['-Wl,-rpath="
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 75e6370c72..806a761d9b 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2015 David Thompson <davet@gnu.org>
 ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016, 2017, 2019, 2021-2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2019, 2021-2024 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2017, 2018 Nikita <nikita@n0.is>
 ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
@@ -15,7 +15,7 @@
 ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
-;;; Copyright © 2020, 2021, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020, 2021, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
 ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
 ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
@@ -200,7 +200,7 @@ living in the same process.")
   (package
     (name "gnutls")
     (version "3.7.7")
-    (replacement gnutls-3.8.1)
+    (replacement gnutls-3.8.2)
     (source (origin
               (method url-fetch)
               ;; Note: Releases are no longer on ftp.gnu.org since the
@@ -305,11 +305,11 @@ required structures.")
 (define-deprecated/public-alias gnutls-latest gnutls)
 
 ;; Replacement for gnutls@3.7.7 to address GNUTLS-SA-2020-07-14 /
-;; CVE-2023-0361
-(define-public gnutls-3.8.1
+;; CVE-2023-0361 and GNUTLS-SA-2023-10-23 / CVE-2023-5981.
+(define gnutls-3.8.2
   (package
     (inherit gnutls)
-    (version "3.8.1")
+    (version "3.8.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnupg/gnutls/v"
@@ -318,20 +318,7 @@ required structures.")
               (patches (search-patches "gnutls-skip-trust-store-test.patch"))
               (sha256
                (base32
-                "1742jiigwsfhx7nj5rz7dwqr8d46npsph6b68j7siar0mqarx2xs"))))
-    (arguments
-     (if (target-hurd?)
-         ;; Fix reference to undefined 'PATH_MAX'.  This is fixed in GnuTLS
-         ;; commit 3b6ec1e01de4e96d36276dfe34ee9e183f285264.
-         (substitute-keyword-arguments (package-arguments gnutls)
-           ((#:phases phases #~%standard-phases)
-            #~(modify-phases #$phases
-                (add-after 'unpack 'set-path-max
-                  (lambda _
-                    (substitute* "lib/pathbuf.h"
-                      (("^#define GNUTLS_PATH_MAX PATH_MAX")
-                       "#define GNUTLS_PATH_MAX 8192\n")))))))
-         (package-arguments gnutls)))))
+                "0xzgmp1ck5ifvdki4jg29r278w2p1m3a0qz38g99v6zsdw0yarg7"))))))
 
 (define-public gnutls/dane
   ;; GnuTLS with build libgnutls-dane, implementing DNS-based
@@ -429,6 +416,8 @@ OpenSSL for TARGET."
              (cond
               ((target-x86-32? target)
                "x86")
+              ((target-x32? target)
+               "x32")
               ((target-x86-64? target)
                "x86_64")
               ((target-mips64el? target)
diff --git a/gnu/packages/uucp.scm b/gnu/packages/uucp.scm
index e10de59aa2..1626c90c36 100644
--- a/gnu/packages/uucp.scm
+++ b/gnu/packages/uucp.scm
@@ -19,6 +19,7 @@
 
 (define-module (gnu packages uucp)
   #:use-module (gnu packages golang)
+  #:use-module (gnu packages golang-web)
   #:use-module (gnu packages texinfo)
   #:use-module (guix licenses)
   #:use-module (guix packages)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index d561fb32e3..40d7a00dae 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -107,6 +107,7 @@
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages golang-check)
+  #:use-module (gnu packages golang-web)
   #:use-module (gnu packages groff)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages guile-xyz)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 6da4897a57..e70aa5352e 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1657,14 +1657,14 @@ operate properly.")
 (define-public ffmpeg
   (package
     (name "ffmpeg")
-    (version "6.0")
+    (version "6.1.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
                                   version ".tar.xz"))
               (sha256
                (base32
-                "10kh2f4y4isfqj4xpcqqnzk611jh89ywcjyjnq9c2jcv5p18ggjp"))))
+                "0s7r2qv8gh2a3w568n9xxgcz0q8j5ww1jdsci1hm9f4l1yqg9146"))))
     (outputs '("out" "debug"))
     (build-system gnu-build-system)
     (inputs
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index ca771a30b1..285d6be7f5 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
 ;;; Copyright © 2022 Kaelyn Takata <kaelyn.alexi@protonmail.com>
 ;;; Copyright © 2022 dan <i@dan.games>
+;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -270,7 +271,9 @@ interpretation of the specifications for these languages.")
                              (dirname (dirname
                                        (search-input-directory
                                         %build-inputs "include/vulkan"))))
-              "-DBUILD_TESTS=ON")
+              #$@(if (%current-target-system)
+                     #~("-DBUILD_TESTS=OFF" "-DUSE_GAS=OFF")
+                     #~("-DBUILD_TESTS=ON")))
        #:phases
        #~(modify-phases %standard-phases
            (add-after 'unpack 'fix-pkg-config-file
@@ -299,7 +302,7 @@ interpretation of the specifications for these languages.")
            python
            wayland))
     (inputs
-     (list vulkan-headers))
+     (list vulkan-headers libxrandr))
     (home-page
      "https://github.com/KhronosGroup/Vulkan-Loader")
     (synopsis "Khronos official ICD loader and validation layers for Vulkan")
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index f61c4f045c..13ae53aa8c 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -142,6 +142,7 @@
   #:use-module (gnu packages gnunet)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages golang)
+  #:use-module (gnu packages golang-web)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gtk)
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 73889c945e..a44a871ba2 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -216,7 +216,7 @@ to share commonly used Xfce widgets among the Xfce applications.")
 (define-public catfish
   (package
     (name "catfish")
-    (version "4.16.4")
+    (version "4.18.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://archive.xfce.org/src/apps/"
@@ -224,7 +224,7 @@ to share commonly used Xfce widgets among the Xfce applications.")
                                   "/catfish-" version ".tar.bz2"))
               (sha256
                (base32
-                "1z5m9f4cj473n68rrhhbkq3x5df5k394qp4n27lqqyny6k2h2p3f"))))
+                "16cbsnki7qragwhbfs3h0ja7xg8xlf59ajxhddqm0jkmrirrpbpx"))))
     (build-system python-build-system)
     (arguments
      '(#:phases
@@ -270,7 +270,7 @@ it to your needs by using several command line options.")
 (define-public elementary-xfce-icon-theme
   (package
     (name "elementary-xfce-icon-theme")
-    (version "0.17")
+    (version "0.18")
     (source (origin
               (method git-fetch)
               (uri
@@ -280,7 +280,7 @@ it to your needs by using several command line options.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0jlawp6rg55w5cm4d7836r660i2pnc5gkzpdjsq7w5875i85arzm"))))
+                "124bdgghkjkpcsfn9a2ad6zqy233pi9jqmv8w8a3ha6q3al2s11s"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f                      ; no check target
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 0e3f600128..2340cf1696 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1803,9 +1803,9 @@ archive' public keys, with GUIX."
   (chroot-directories guix-configuration-chroot-directories ;list of file-like/strings
                       (default '()))
   (max-silent-time  guix-configuration-max-silent-time ;integer
-                    (default 0))
+                    (default 3600))
   (timeout          guix-configuration-timeout    ;integer
-                    (default 0))
+                    (default (* 3600 24)))
   (log-compression  guix-configuration-log-compression
                     (default 'gzip))
   (discover?        guix-configuration-discover?
diff --git a/gnu/services/docker.scm b/gnu/services/docker.scm
index 72ef7d74db..4d32b96847 100644
--- a/gnu/services/docker.scm
+++ b/gnu/services/docker.scm
@@ -61,6 +61,8 @@
             oci-container-service-type
             oci-container-shepherd-service))
 
+(define-maybe file-like)
+
 (define-configuration docker-configuration
   (docker
    (file-like docker)
@@ -87,6 +89,9 @@ loop-back communications.")
   (environment-variables
    (list '())
    "Environment variables to set for dockerd")
+  (config-file
+   (maybe-file-like)
+   "JSON configuration file to pass to dockerd")
   (no-serialization))
 
 (define %docker-accounts
@@ -131,7 +136,8 @@ loop-back communications.")
          (enable-iptables? (docker-configuration-enable-iptables? config))
          (environment-variables (docker-configuration-environment-variables config))
          (proxy (docker-configuration-proxy config))
-         (debug? (docker-configuration-debug? config)))
+         (debug? (docker-configuration-debug? config))
+         (config-file (docker-configuration-config-file config)))
     (shepherd-service
            (documentation "Docker daemon.")
            (provision '(dockerd))
@@ -144,6 +150,10 @@ loop-back communications.")
            (start #~(make-forkexec-constructor
                      (list (string-append #$docker "/bin/dockerd")
                            "-p" "/var/run/docker.pid"
+                           #$@(if (not (eq? config-file %unset-value))
+                                  (list #~(string-append
+                                           "--config-file=" #$config-file))
+                                  '())
                            #$@(if debug?
                                   '("--debug" "--log-level=debug")
                                   '())
diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm
index e9d3a631c2..8e122f1aab 100644
--- a/gnu/services/shepherd.scm
+++ b/gnu/services/shepherd.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013-2016, 2018-2023 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013-2016, 2018-2024 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2018 Carlo Zancanaro <carlo@zancanaro.id.au>
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
@@ -371,17 +371,6 @@ as shepherd package."
           (use-modules (srfi srfi-34)
                        (system repl error-handling))
 
-          (define (call-with-file file flags proc)
-            (let ((port #f))
-              (dynamic-wind
-                (lambda ()
-                  (set! port (open file flags)))
-                (lambda ()
-                  (proc port))
-                (lambda ()
-                  (close-port port)
-                  (set! port #f)))))
-
           ;; There's code run from shepherd that uses 'call-with-input-file' &
           ;; co.--e.g., the 'urandom-seed' service.  Starting from Shepherd
           ;; 0.9.2, users need to make sure not to leak non-close-on-exec file
@@ -389,12 +378,12 @@ as shepherd package."
           ;; standard bindings with O_CLOEXEC variants.
           (set! call-with-input-file
                 (lambda (file proc)
-                  (call-with-file file (logior O_RDONLY O_CLOEXEC)
-                                  proc)))
+                  (call-with-port (open file (logior O_RDONLY O_CLOEXEC))
+                    proc)))
           (set! call-with-output-file
                 (lambda (file proc)
-                  (call-with-file file (logior O_WRONLY O_CREAT O_CLOEXEC)
-                                  proc)))
+                  (call-with-port (open file (logior O_WRONLY O_CREAT O_CLOEXEC))
+                    proc)))
 
           ;; Specify the default environment visible to all the services.
           ;; Without this statement, all the environment variables of PID 1
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index f8cf9f25b6..1ee15ea90c 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -981,6 +981,11 @@ argument.")))
                 (lambda (pw)
                   (string-append (passwd:dir pw) "/.guix-profile"))))
 
+       (define home-profile
+         (and=> (getpw (getuid))
+                (lambda (pw)
+                  (string-append (passwd:dir pw) "/.guix-home/profile"))))
+
        ;; If we are able to find the user's profile, we can add it to
        ;; the search paths set below.  We need to do this so that D-Bus
        ;; can start services installed by the user.  This allows
@@ -988,9 +993,13 @@ argument.")))
        ;; 'evolution') to work even if those services are only available
        ;; in the user's profile.  See <https://bugs.gnu.org/35267>.
        (define profiles
-         (if user-profile
-             (list user-profile system-profile)
-             (list system-profile)))
+         (append (if home-profile
+                     (list home-profile)
+                     '())
+                 (if user-profile
+                     (list user-profile)
+                     '())
+                 (list system-profile)))
 
        (setenv "XDG_CONFIG_DIRS"
                (string-join (map (cut string-append <> "/etc/xdg") profiles)