summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorJohn Kehayias <john.kehayias@protonmail.com>2024-01-04 00:03:40 -0500
committerJohn Kehayias <john.kehayias@protonmail.com>2024-01-04 00:03:40 -0500
commitef4e4c9a2ccc1678182fa6e4409fff13c669fd14 (patch)
treed1f097787a69fa3a7089f26ecfed8b5c267883db /gnu
parent42c448ee6e13d165807d83e8c48941bead4847c1 (diff)
parent7b0863f07a113caef26fea13909bd97d250b629e (diff)
downloadguix-ef4e4c9a2ccc1678182fa6e4409fff13c669fd14.tar.gz
Merge branch 'master' into mesa-updates
Change-Id: I46ca25bea98d25150877421c6d5161752afabb25
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk6
-rw-r--r--gnu/packages/backup.scm1
-rw-r--r--gnu/packages/bioconductor.scm136
-rw-r--r--gnu/packages/bioinformatics.scm232
-rw-r--r--gnu/packages/bittorrent.scm11
-rw-r--r--gnu/packages/check.scm8
-rw-r--r--gnu/packages/configuration-management.scm1
-rw-r--r--gnu/packages/cran.scm467
-rw-r--r--gnu/packages/databases.scm5
-rw-r--r--gnu/packages/diffoscope.scm4
-rw-r--r--gnu/packages/disk.scm25
-rw-r--r--gnu/packages/emacs-xyz.scm410
-rw-r--r--gnu/packages/file-systems.scm31
-rw-r--r--gnu/packages/finance.scm1
-rw-r--r--gnu/packages/fonts.scm4
-rw-r--r--gnu/packages/game-development.scm52
-rw-r--r--gnu/packages/games.scm74
-rw-r--r--gnu/packages/gcc.scm15
-rw-r--r--gnu/packages/geo.scm9
-rw-r--r--gnu/packages/gl.scm11
-rw-r--r--gnu/packages/gnunet.scm15
-rw-r--r--gnu/packages/gnupg.scm7
-rw-r--r--gnu/packages/gnuzilla.scm2
-rw-r--r--gnu/packages/golang-check.scm12
-rw-r--r--gnu/packages/golang-web.scm1466
-rw-r--r--gnu/packages/golang.scm1550
-rw-r--r--gnu/packages/guile-xyz.scm9
-rw-r--r--gnu/packages/high-availability.scm1
-rw-r--r--gnu/packages/image.scm44
-rw-r--r--gnu/packages/ipfs.scm1
-rw-r--r--gnu/packages/java.scm28
-rw-r--r--gnu/packages/linux.scm4
-rw-r--r--gnu/packages/lisp-xyz.scm40
-rw-r--r--gnu/packages/machine-learning.scm244
-rw-r--r--gnu/packages/mail.scm1
-rw-r--r--gnu/packages/messaging.scm6
-rw-r--r--gnu/packages/mp3.scm21
-rw-r--r--gnu/packages/mpd.scm4
-rw-r--r--gnu/packages/networking.scm1
-rw-r--r--gnu/packages/ocaml.scm1497
-rw-r--r--gnu/packages/patches/emacs-haskell-mode-no-redefine-builtin.patch75
-rw-r--r--gnu/packages/patches/onnx-1.13.1-use-system-googletest.patch55
-rw-r--r--gnu/packages/patches/python-pytorch2-system-libraries.patch156
-rw-r--r--gnu/packages/patches/transmission-4.0.5-fix-build.patch39
-rw-r--r--gnu/packages/patches/xnnpack-for-torch2-system-libraries.patch2660
-rw-r--r--gnu/packages/protobuf.scm4
-rw-r--r--gnu/packages/python-xyz.scm27
-rw-r--r--gnu/packages/statistics.scm48
-rw-r--r--gnu/packages/uucp.scm1
-rw-r--r--gnu/packages/version-control.scm5
-rw-r--r--gnu/packages/vim.scm55
-rw-r--r--gnu/packages/vulkan.scm7
-rw-r--r--gnu/packages/web.scm5
-rw-r--r--gnu/packages/wine.scm105
-rw-r--r--gnu/packages/wm.scm12
-rw-r--r--gnu/packages/xdisorg.scm57
-rw-r--r--gnu/packages/xorg.scm22
-rw-r--r--gnu/services/docker.scm12
-rw-r--r--gnu/system/examples/vm-image.tmpl28
59 files changed, 6130 insertions, 3699 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 2896395120..ee25e1535e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -306,6 +306,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				\
@@ -1114,7 +1115,6 @@ dist_patch_DATA =						\
   %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   \
@@ -1720,6 +1720,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/online-judge-tools.patch		\
   %D%/packages/patches/onnx-optimizer-system-library.patch	\
   %D%/packages/patches/onnx-use-system-googletest.patch	\
+  %D%/packages/patches/onnx-1.13.1-use-system-googletest.patch	\
   %D%/packages/patches/onnx-shared-libraries.patch	\
   %D%/packages/patches/onnx-skip-model-downloads.patch		\
   %D%/packages/patches/openbios-aarch64-riscv64-support.patch	\
@@ -1776,6 +1777,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-random2-getrandbits-test.patch		\
   %D%/packages/patches/python-poppler-qt5-fix-build.patch	\
   %D%/packages/patches/python-pypdf-annotate-tests-appropriately.patch	\
+  %D%/packages/patches/python-pytorch2-system-libraries.patch	\
   %D%/packages/patches/python-sip-include-dirs.patch	\
   %D%/packages/patches/python-sgmllib3k-assertions.patch	\
   %D%/packages/patches/python-sphinx-prompt-docutils-0.19.patch	\
@@ -2059,6 +2061,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/tofi-32bit-compat.patch			\
   %D%/packages/patches/tpetra-remove-duplicate-using.patch	\
   %D%/packages/patches/transcode-ffmpeg.patch	\
+  %D%/packages/patches/transmission-4.0.5-fix-build.patch	\
   %D%/packages/patches/trytond-add-egg-modules-to-path.patch	\
   %D%/packages/patches/trytond-add-guix_trytond_path.patch	\
   %D%/packages/patches/ttf2eot-cstddef.patch			\
@@ -2160,6 +2163,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/xgboost-use-system-dmlc-core.patch       \
   %D%/packages/patches/xmonad-dynamic-linking.patch		\
   %D%/packages/patches/xnnpack-system-libraries.patch		\
+  %D%/packages/patches/xnnpack-for-torch2-system-libraries.patch	\
   %D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch		\
   %D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch	\
   %D%/packages/patches/xplanet-1.3.1-libimage_gif.c.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 7805fa938e..1ea5e47321 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -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")
@@ -7611,13 +7642,13 @@ genomic intervals.  In addition, it can use BAM or BigWig files as input.")
 (define-public r-genomeinfodb
   (package
     (name "r-genomeinfodb")
-    (version "1.38.2")
+    (version "1.38.5")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomeInfoDb" version))
               (sha256
                (base32
-                "07xncxak8yjy04m7zh779jfjbsdmdbk8a5xs4rbajx4zp3hm4wb7"))))
+                "17w5zrvpk2x0sc55xfkbn9krphg4aszmvwmj1qfsf1bdrazfpwic"))))
     (properties
      `((upstream-name . "GenomeInfoDb")))
     (build-system r-build-system)
@@ -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")
@@ -10793,6 +10867,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
@@ -13085,14 +13197,14 @@ samples.")
 (define-public r-biocneighbors
   (package
     (name "r-biocneighbors")
-    (version "1.20.0")
+    (version "1.20.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "BiocNeighbors" version))
        (sha256
         (base32
-         "0a5wg099fgwjbzd6r3mr4l02rcmjqlkdcz1w97qzwx1mir41fmas"))))
+         "0w7hd6w0lmj1jaaq9zd5gwnnpkzcr0byqm5q584wjg4xgvsb981j"))))
     (properties `((upstream-name . "BiocNeighbors")))
     (build-system r-build-system)
     (propagated-inputs
@@ -13242,14 +13354,14 @@ data.")
 (define-public r-metapod
   (package
     (name "r-metapod")
-    (version "1.10.0")
+    (version "1.10.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "metapod" version))
        (sha256
         (base32
-         "1nhxwj6gwc3hqji7icp1q6n0hj1gnvv1y5zhd2myhm7kj3sic2qc"))))
+         "05cy3xvj78n2p9l2pxfys7aczr51gm2ywprn4qmzr7ppb6rq5f66"))))
     (properties `((upstream-name . "metapod")))
     (build-system r-build-system)
     (propagated-inputs
@@ -13728,14 +13840,14 @@ multiplication and calculation of row/column sums or means.")
 (define-public r-batchelor
   (package
     (name "r-batchelor")
-    (version "1.18.0")
+    (version "1.18.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "batchelor" version))
        (sha256
         (base32
-         "1d5zik3bhz26ky2kpxd9kdzs9ff696qqys5gl8qwmmp8qym520l2"))))
+         "1z4ddkdd3mzqg0c6l94qmrdwrm7427k5xiwzgkzx43gh1j4911d5"))))
     (properties `((upstream-name . "batchelor")))
     (build-system r-build-system)
     (propagated-inputs
@@ -15821,14 +15933,14 @@ type and symbol colors.")
 (define-public r-genomicscores
   (package
     (name "r-genomicscores")
-    (version "2.14.2")
+    (version "2.14.3")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "GenomicScores" version))
        (sha256
         (base32
-         "1wjq6lb2x7vazlr838hlh1ar5pis2bgzya9lm8ki30d1m0hpk66k"))))
+         "0rhyfbm5whz4jygar9cqcrfy92h1lyam5wd8d9svhh80f15v53m9"))))
     (properties `((upstream-name . "GenomicScores")))
     (build-system r-build-system)
     (propagated-inputs
@@ -21332,13 +21444,13 @@ variable and significantly correlated genes.")
 (define-public r-sparsearray
   (package
     (name "r-sparsearray")
-    (version "1.2.2")
+    (version "1.2.3")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "SparseArray" version))
        (sha256
-        (base32 "1kjs3v2ycpcc0plr88af1661ngmclmalkiy6am7i4m75cpa3889p"))))
+        (base32 "19cy1nmmi65fxh012ymgp1kg112yl1m0khcs4y034p5iwlfv7fp6"))))
     (properties `((upstream-name . "SparseArray")))
     (build-system r-build-system)
     (propagated-inputs (list r-biocgenerics
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index de37d19264..41cac296fe 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -617,6 +617,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 +1114,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 +1236,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")
@@ -10313,6 +10419,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 +10678,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")
@@ -17996,12 +18184,40 @@ The tool enables the de novo search for new structural elements and
 facilitates comparative analysis of known RNA families.")
     (license license:bsd-3)))
 
+(define-public r-databaselinke-r
+  (let ((commit "cf3d6cc3d36f2e1c9a557390232e9a8ed5abb7fd")
+        (revision "1"))
+    (package
+      (name "r-databaselinke-r")
+      (version (git-version "1.7.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/vertesy/DatabaseLinke.R")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0hk76sb3w1v8a7c1knpc572ypsbgqlrv0p49c9y55a0dr12n16s1"))))
+      (properties `((upstream-name . "DatabaseLinke.R")))
+      (build-system r-build-system)
+      (propagated-inputs (list r-readwriter))
+      (home-page "https://github.com/vertesy/DatabaseLinke.R")
+      (synopsis
+       "Parse links to databases from your list of gene symbols")
+      (description
+       "This package provides a set of functions to parse and open (search
+query) links to genomics related and other websites for R.  Useful when you
+want to explore e.g.: the function of a set of differentially expressed
+genes.")
+      (license license:gpl3))))
+
 (define-public r-seurat-utils
-  (let ((commit "0b6f5b548a49148cfbeaa654e8a618c0a020afa5")
+  (let ((commit "c0374cc9e25ce391ba8013fda0f8c7babbb9201d")
         (revision "1"))
     (package
       (name "r-seurat-utils")
-      (version (git-version "1.6.5" revision commit))
+      (version (git-version "2.5.0" revision commit))
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
@@ -18010,12 +18226,15 @@ facilitates comparative analysis of known RNA families.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "1mn64h375mkj6x4ix5493z32gqg96yc507j5jr0lx9g5wk1bf762"))))
+                  "15l86b43q245gzz7gsr5rhs4sir74lc14d64yqxfqcb0zrb2bzzd"))))
       (properties `((upstream-name . "Seurat.utils")))
       (build-system r-build-system)
       (propagated-inputs (list r-codeandroll2
                                r-cowplot
+                               r-databaselinke-r
                                r-dplyr
+                               r-enhancedvolcano
+                               r-foreach
                                r-ggcorrplot
                                r-ggexpress
                                r-ggplot2
@@ -18023,15 +18242,21 @@ facilitates comparative analysis of known RNA families.")
                                r-ggrepel
                                r-hgnchelper
                                r-htmlwidgets
+                               r-job
+                               r-magrittr
                                r-markdownhelpers
                                r-markdownreports
                                r-matrix
                                r-matrixstats
+                               r-pheatmap
+                               r-plotly
                                r-princurve
+                               r-qs
                                r-r-utils
                                r-readr
                                r-readwriter
                                r-reshape2
+                               r-rstudioapi
                                r-scales
                                r-seurat
                                r-soupx
@@ -18040,6 +18265,7 @@ facilitates comparative analysis of known RNA families.")
                                r-stringr
                                r-tibble
                                r-tictoc
+                               r-tidyverse
                                r-vroom))
       (home-page "https://github.com/vertesy/Seurat.utils")
       (synopsis "Collection of utility functions for Seurat")
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index 8c032940d4..0d544235c1 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -87,15 +87,16 @@
 (define-public transmission
   (package
     (name "transmission")
-    (version "4.0.4")
+    (version "4.0.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/transmission/transmission"
                                   "/releases/download/" version "/transmission-"
                                   version ".tar.xz"))
+              (patches (search-patches "transmission-4.0.5-fix-build.patch"))
               (sha256
                (base32
-                "19nm7f4x3zq610da5fl63vpycj4kv07np6ldm8czpgyziwqv9xqm"))))
+                "0mv3ds3bbp1fbmdlrjinmzvk46acpafydirh7h2014j7988zys7x"))))
     (build-system cmake-build-system)
     (outputs '("out"                      ; library and command-line interface
                "gui"))                    ; graphical user interface
@@ -253,8 +254,8 @@ XML-RPC over SCGI.")
     (license l:gpl2+)))
 
 (define-public tremc
-  (let ((commit "6c15e3f5637c8f3641473328bd8c5b0cc122d930")
-        (revision "0"))
+  (let ((commit "d8deaa5ac25bb45a2ca3a930309d6ecc74836a54")
+        (revision "1"))
   (package
     (name "tremc")
     (version (git-version "0.9.3" revision commit))
@@ -267,7 +268,7 @@ XML-RPC over SCGI.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1anlqzbwgmhrxlh20pfzf4iyw5l2w227h95rq6xf29ai7vddr82k"))))
+         "08kpqmgisja98918f2hlmdrld5662dqlkssp0pqlki38l6fvbj7r"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                      ; no test suite
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 9547086bf1..85c527dc32 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -171,13 +171,13 @@ kinematics to varying flight conditions.")
 (define-public r-aod
   (package
     (name "r-aod")
-    (version "1.3.2")
+    (version "1.3.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "aod" version))
        (sha256
-        (base32 "0p2i536s0aa54rah1l465g77k2ldn6jm6s25y9vc06mk29xvx1cv"))))
+        (base32 "0zh8sjzbsq3sjzayv8wa0n1vh654g47xkxklgzxcsy3xpy55w95p"))))
     (properties `((upstream-name . "aod")))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/package=aod")
@@ -571,14 +571,14 @@ etc.")
 (define-public r-datawizard
   (package
     (name "r-datawizard")
-    (version "0.9.0")
+    (version "0.9.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "datawizard" version))
        (sha256
         (base32
-         "1w1d18ssd6nbwg2r9gs0779wf33vpl8xivlc79ci5mi4db2m7zsd"))))
+         "0d01akddrbvdf16rvws3fh4pjl64myxn7is4qv2szm7hp6wjb4p5"))))
     (properties `((upstream-name . "datawizard")))
     (build-system r-build-system)
     (propagated-inputs
@@ -1612,14 +1612,14 @@ bioinformaticians to assemble complex plots for publication.")
 (define-public r-rticles
   (package
     (name "r-rticles")
-    (version "0.25")
+    (version "0.26")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rticles" version))
        (sha256
         (base32
-         "17nggn3zrbi1nj8g8v0hq3sakjvl742vhljdnxw7h6cx3j7123xg"))))
+         "0v1sji223iifqmq9hakr1wcgzfca52nvmh3vbi6s6d309qc77vkk"))))
     (properties `((upstream-name . "rticles")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2390,26 +2390,23 @@ scale-sensitive information.")
 (define-public r-ggvenndiagram
   (package
     (name "r-ggvenndiagram")
-    (version "1.2.3")
+    (version "1.4.9")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggVennDiagram" version))
        (sha256
         (base32
-         "083qr0qd3333qmr42v9k0r0sq5842cca83p87h5gikk8v1vljv7j"))))
+         "1nf4prkpciy1q1ix7chy0ymk5d3dlxxb53c29pg6yjp3py0hiw2h"))))
     (properties `((upstream-name . "ggVennDiagram")))
     (build-system r-build-system)
     (propagated-inputs
-     (list r-dplyr
+     (list r-aplot
+           r-dplyr
+           r-forcats
            r-ggplot2
-           r-magrittr
-           r-plotly
-           r-purrr
-           r-rvenn
-           r-sf
            r-tibble
-           r-yulab-utils))
+           r-tidyr))
     (native-inputs (list r-knitr))
     (home-page "https://github.com/gaospecial/ggVennDiagram")
     (synopsis "Implementention of the Venn diagram using ggplot2")
@@ -4204,6 +4201,29 @@ performance evaluation of BSS algorithms, are given.  The package is described
 in Miettinen, Nordhausen and Taskinen (2017) <doi:10.18637/jss.v076.i02>.")
     (license license:gpl2+)))
 
+(define-public r-job
+  (package
+    (name "r-job")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "job" version))
+       (sha256
+        (base32 "0d7pw3q5lqlgmav1vx63y8l6gdav96656bg378wj001rx5gx052h"))))
+    (properties `((upstream-name . "job")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-digest r-rstudioapi))
+    (home-page "https://cran.r-project.org/package=job")
+    (synopsis "Run code as an RStudio job")
+    (description
+     "Call @code{job::job({<code here>})} to run R code as an RStudio job and
+keep your console free in the meantime.  This allows for a productive workflow
+while testing (multiple) long-running chunks of code.  It can also be used to
+organize results using the RStudio Jobs GUI or to test code in a clean
+environment.  Two RStudio Addins can be used to run selected code as a job.")
+    (license license:expat)))
+
 (define-public r-jsonify
   (package
     (name "r-jsonify")
@@ -4255,13 +4275,13 @@ in systems and applications.")
 (define-public r-servr
   (package
     (name "r-servr")
-    (version "0.27")
+    (version "0.28")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "servr" version))
               (sha256
                (base32
-                "1iaqah3896660d609fb6960x3mg17jak3j5akmmli0z4pdb3rhh1"))))
+                "10nl6aal2kr0k1j7yfpggcxpjxby6z5hhc6wb4nkqhy2w5qi6g26"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-httpuv r-jsonlite r-mime r-xfun))
@@ -4670,6 +4690,29 @@ calculations, cut up and filter, change key names and values, perform
 conditionals and comparisons, and more.")
     (license license:expat)))
 
+(define-public r-safetensors
+  (package
+    (name "r-safetensors")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "safetensors" version))
+       (sha256
+        (base32 "0xvg5y2sd7gzcal0qqgxbx8vcvmy50jm0j2ajr8iw3wyy5qpyvkp"))))
+    (properties `((upstream-name . "safetensors")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-cli r-jsonlite r-r6 r-rlang))
+    (home-page "https://github.com/mlverse/safetensors")
+    (synopsis "Safetensors file format")
+    (description
+     "This package provides a file format for storing tensors that is
+secure (doesn't allow for code execution), fast and simple to implement.
+@code{safetensors} also enables cross language and cross frameworks
+compatibility making it an ideal format for storing machine learning model
+weights.")
+    (license license:expat)))
+
 (define-public r-sass
   (package
     (name "r-sass")
@@ -4822,7 +4865,7 @@ previewing themes in real time.")
 (define-public r-shiny
   (package
     (name "r-shiny")
-    (version "1.7.4")
+    (version "1.8.0")
     (source
      (origin
        (method git-fetch)
@@ -4832,7 +4875,7 @@ previewing themes in real time.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0297sbrc7wfj0qfn63yrgs4xkxaxp95ppipdp9pqjg5qhm9k5wbi"))
+         "0rfrch2147yhp2vkr3198gn1ww00ckzcw4i6rywfl38c6fdw9vr1"))
        (snippet
         '(for-each delete-file
                    '("inst/www/shared/bootstrap/js/bootstrap.min.js"
@@ -4851,14 +4894,16 @@ previewing themes in real time.")
                      "inst/www/shared/strftime/strftime-min.js")))))
     (build-system r-build-system)
     (arguments
-     `(#:modules ((guix build r-build-system)
+     (list
+      #:modules '((guix build r-build-system)
                   (guix build minify-build-system)
                   (guix build utils)
                   (ice-9 match))
-       #:imported-modules (,@%r-build-system-modules
-                           (guix build minify-build-system))
-       #:phases
-       (modify-phases (@ (guix build r-build-system) %standard-phases)
+      #:imported-modules
+      `(,@%r-build-system-modules
+        (guix build minify-build-system))
+      #:phases
+      '(modify-phases (@ (guix build r-build-system) %standard-phases)
          (add-after 'unpack 'replace-bundled-minified-JavaScript
            (lambda* (#:key inputs #:allow-other-keys)
              (let ((replace-file (lambda (old new)
@@ -5628,14 +5673,14 @@ and/or higher-resolution databases.")
 (define-public r-maps
   (package
     (name "r-maps")
-    (version "3.4.1.1")
+    (version "3.4.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "maps" version))
        (sha256
         (base32
-         "06l58919kgks9adwzgfir44q6gnx46j3c7ah9c6d4dn36xsld7fk"))))
+         "032b8348k8vjhwj0d58v7akjkvfpvqzfva0nl7acyy8pky47prak"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/maps")
     (synopsis "Draw geographical maps")
@@ -5693,13 +5738,13 @@ coordinates.")
 (define-public r-gensa
   (package
     (name "r-gensa")
-    (version "1.1.10.1")
+    (version "1.1.12")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "GenSA" version))
               (sha256
                (base32
-                "16wla8k6ibxy58hhn7qd02k96lc7j6skaj6g5ap6lqmm854ki4wh"))))
+                "0m5y0hmhcc40d9a24pz5iqw5diip7sn7bih5s01x5dvqqasnx6vk"))))
     (properties `((upstream-name . "GenSA")))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/package=GenSA")
@@ -6441,14 +6486,14 @@ where the bound function accepts additional arguments.")
 (define-public r-bindrcpp
   (package
     (name "r-bindrcpp")
-    (version "0.2.2")
+    (version "0.2.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "bindrcpp" version))
        (sha256
         (base32
-         "0rz4ibjdjsxl99ff3ha79z7cnjmilx4rx58fk9kk7ld9xc4hf4s8"))))
+         "1yn9is89r76ay314s216whr0igych4r78kjz85amhwgfb9wawbb6"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-bindr r-plogr r-rcpp))
@@ -7221,20 +7266,24 @@ matrices.")
 (define-public r-rmpi
   (package
     (name "r-rmpi")
-    (version "0.7-1")
+    (version "0.7-2")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "Rmpi" version))
               (sha256
                (base32
-                "1h9dvlh9mvbc4lhxbv9c8yak3yrq4p7xym92pk5al5wkx9yy5nhp"))))
-    (properties `((upstream-name . "Rmpi")))
+                "1vrf6bakx9i73sdgggpxzl1lxjn68b8pwvmk69d56lnya2gzm4c5"))))
+    (properties
+     `((upstream-name . "Rmpi")
+       (updater-extra-inputs . ("openmpi"))))
     (build-system r-build-system)
     (arguments
-     `(#:configure-flags '("--configure-args=\"--with-Rmpi-type=OPENMPI\"")
-       #:phases (modify-phases %standard-phases
-                  (add-before 'install 'mpi-setup
-                    ,%openmpi-setup))))
+     (list
+      #:configure-flags '(list "--configure-args=\"--with-Rmpi-type=OPENMPI\"")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'install 'mpi-setup
+            #$%openmpi-setup))))
     (inputs
      (list openmpi))
     (native-inputs
@@ -7388,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")
@@ -7403,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
@@ -7504,6 +7564,32 @@ experiments\" (2011), Annals of Applied Statistics, Vol. 5, No. 3, 1752-1779,
 by Li, Brown, Huang, and Bickel")
     (license license:gpl2+)))
 
+(define-public r-inext
+  (package
+    (name "r-inext")
+    (version "3.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "iNEXT" version))
+       (sha256
+        (base32 "1yfvadvdwgby047svj9sjwkm7hhrni2ifn6d2g5bv9djcvi22msh"))))
+    (properties `((upstream-name . "iNEXT")))
+    (build-system r-build-system)
+    (propagated-inputs (list r-ggplot2 r-rcpp r-reshape2))
+    (native-inputs (list r-knitr))
+    (home-page "http://chao.stat.nthu.edu.tw/wordpress/software_download/")
+    (synopsis "Interpolation and extrapolation for species diversity")
+    (description
+     "This package provides simple functions to compute and plot two types
+(sample-size- and coverage-based) rarefaction and extrapolation curves for
+species diversity (Hill numbers) based on individual-based abundance data or
+sampling-unit- based incidence data; see Chao and others (2014, Ecological
+Monographs) for pertinent theory and methodologies, and Hsieh, Ma and Chao
+(2016, Methods in Ecology and Evolution) for an introduction of the R
+package.")
+    (license license:gpl3+)))
+
 (define-public r-inline
   (package
     (name "r-inline")
@@ -7693,14 +7779,16 @@ functions from LINPACK.")
 (define-public r-littler
   (package
     (name "r-littler")
-    (version "0.3.18")
+    (version "0.3.19")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "littler" version))
               (sha256
                (base32
-                "1lp6a62g3yhzr4pv9kynibv7k9pd546w6hifs1aficyxbyg4dgqq"))))
-    (properties `((upstream-name . "littler")))
+                "02b5lfdhajngs2l0fgy47zn7zn68qbx6m41cs5yzzi80qdfapkz1"))))
+    (properties
+     `((upstream-name . "littler")
+       (updater-extra-inputs . ("icu4c" "zlib"))))
     (build-system r-build-system)
     (arguments
      (list
@@ -7712,7 +7800,7 @@ functions from LINPACK.")
                             (string-append #$output "/bin")))))))
     (inputs (list icu4c zlib))
     (native-inputs
-     (list r-simplermarkdown pkg-config))
+     (list r-simplermarkdown))
     (home-page "https://github.com/eddelbuettel/littler")
     (synopsis "R at the command-line via r")
     (description
@@ -8149,14 +8237,14 @@ included in this package.")
 (define-public r-timedate
   (package
     (name "r-timedate")
-    (version "4022.108")
+    (version "4032.109")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "timeDate" version))
        (sha256
         (base32
-         "1vyfpz2ac43c0s6a4j4d0xfc430mwgw3syf03xszzggnw97rp555"))))
+         "0n5rzi3bb1wjpqcgpxcagjy815vy8ksjzpkkjzs3333yljyl2a20"))))
     (properties `((upstream-name . "timeDate")))
     (build-system r-build-system)
     (home-page "https://www.rmetrics.org")
@@ -8482,14 +8570,14 @@ problems as well as resampling based estimators of prediction error.")
 (define-public r-psych
   (package
     (name "r-psych")
-    (version "2.3.9")
+    (version "2.3.12")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "psych" version))
        (sha256
         (base32
-         "1c8r42yv7x1vjxz8j2hvkii6jxapffiib2s5vvlsm4hp2qffihh4"))))
+         "0q8qms180gxk7wlm8li3j5r8rwniqj01xfm00gkvkc8q9djcsm8p"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-lattice r-mnormt r-nlme))
@@ -8574,14 +8662,14 @@ provides a one-row summary of model-level statistics.")
 (define-public r-recipes
   (package
     (name "r-recipes")
-    (version "1.0.8")
+    (version "1.0.9")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "recipes" version))
        (sha256
         (base32
-         "03d0g36svzc64fa2w2kcylsw654px0xjqqrb0znra4bfncj0ilnk"))))
+         "146p9ij2i4rmzaa5v76lm7z8iaw5wqb47i9cqf4a0q7xsgqvf6hi"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-cli
@@ -8884,14 +8972,14 @@ of the text.  All return names of the encodings are iconv-compatible.")
 (define-public r-ucminf
   (package
     (name "r-ucminf")
-    (version "1.2.0")
+    (version "1.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ucminf" version))
        (sha256
         (base32
-         "1x3d3l500kyqamzfjpz4qc38d6d3sha9av3rpxz0m4dhms28zpas"))))
+         "10ycpzxx73div9vpzmkhy524yd47kzmpl7ajpm248clsv6ivngpd"))))
     (build-system r-build-system)
     (native-inputs (list gfortran))
     (home-page "https://cran.r-project.org/web/packages/ucminf/")
@@ -9421,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))
@@ -9612,14 +9700,14 @@ plotting.  a three dimensional point cloud.")
 (define-public r-ggridges
   (package
     (name "r-ggridges")
-    (version "0.5.4")
+    (version "0.5.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggridges" version))
        (sha256
         (base32
-         "0lfqx21g09s3fp74mld47qfx1nnav18xqj37griyqk406hh1rxrb"))))
+         "18bmbq5pd751hnw8rpvshvapg09630i2pqpwk5a3yhgz4hwa8xvm"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-ggplot2 r-scales r-withr))
@@ -9811,13 +9899,13 @@ timeout.  It can also poll several processes at once.")
 (define-public r-timeseries
   (package
     (name "r-timeseries")
-    (version "4031.107")
+    (version "4032.108")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "timeSeries" version))
               (sha256
                (base32
-                "0hmmv8ml2ryw1zkbk55f85ml664as8l0qksj9h1335zn58s6lf44"))))
+                "1mcx059f9hnzgcxcil7hvgp9hz7gancj4gjgpdlpa4by77nwygpd"))))
     (properties `((upstream-name . "timeSeries")))
     (build-system r-build-system)
     (propagated-inputs (list r-timedate))
@@ -9952,14 +10040,14 @@ Markdown documents.")
 (define-public r-seriation
   (package
     (name "r-seriation")
-    (version "1.5.3")
+    (version "1.5.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "seriation" version))
        (sha256
         (base32
-         "1kz1g4dy076bc72hivv26ygbvnjv3li29xxikv1mwanwap4jc2ds"))))
+         "17rk4674r5knfgqyik9gbz6yj42qv6h79j2prw79glc1ym99qcyj"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-ca
@@ -11596,44 +11684,35 @@ local smoothers and many more.")
 (define-public r-radiant-data
   (package
     (name "r-radiant-data")
-    (version "1.6.2")
+    (version "1.6.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "radiant.data" version))
        (sha256
         (base32
-         "0227ry366v9kmksa4vyjmhix0jbl894gdc6gckg209wna35fn20p"))
+         "1nwiw5dps0030f893gs0fixis6xigfr8y8rqhi3l505yx2bsrjbj"))
        (modules '((guix build utils)))
        (snippet
-        '(begin
-           ;; Delete files that are under CC-NC-SA.
-           (delete-file-recursively "inst/app/tools/help")
-           (delete-file "inst/assets/html2canvas/html2canvas.min.js")))))
+        '(delete-file "inst/assets/html2canvas/html2canvas.min.js"))))
     (properties `((upstream-name . "radiant.data")))
     (build-system r-build-system)
     (arguments
      (list
-      #:modules '((guix build utils)
-                  (guix build r-build-system)
-                  (srfi srfi-1))
+      #: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 %standard-phases
-         (add-after 'unpack 'process-javascript
-           (lambda* (#:key inputs #:allow-other-keys)
-             (with-directory-excursion "inst/assets/html2canvas/"
-               (call-with-values
-                   (lambda ()
-                     (unzip2
-                      `((,(assoc-ref inputs "_")
-                         "html2canvas.min.js"))))
-                 (lambda (sources targets)
-                   (for-each (lambda (source target)
-                               (format #true "Processing ~a --> ~a~%"
-                                       source target)
-                               (invoke "esbuild" source "--minify"
-                                       (string-append "--outfile=" target)))
-                             sources targets)))))))))
+      #~(modify-phases (@ (guix build r-build-system) %standard-phases)
+          (add-after 'unpack 'process-javascript
+            (lambda* (#:key inputs #:allow-other-keys)
+              (with-directory-excursion "inst/assets/html2canvas/"
+                (minify (assoc-ref inputs "_")
+                        #:target "html2canvas.min.js")))))))
     (propagated-inputs
      (list r-arrow
            r-base64enc
@@ -15112,14 +15191,14 @@ both to consistency and asymptotic normality.")
 (define-public r-dofuture
   (package
     (name "r-dofuture")
-    (version "1.0.0")
+    (version "1.0.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "doFuture" version))
        (sha256
         (base32
-         "1pxwpfmxswbsd1f2ifj9kdq9hi9q0x2wwv2kv0xq178ymmywi2sz"))))
+         "1avv5kv1c43gmvbh5iwxlwk7yl6prndpcgy0blkwarl3nsgcq4cm"))))
     (properties `((upstream-name . "doFuture")))
     (build-system r-build-system)
     (arguments
@@ -15914,13 +15993,13 @@ multiple-imputation datasets.")
 (define-public r-mixsqp
   (package
    (name "r-mixsqp")
-   (version "0.3-48")
+   (version "0.3-54")
    (source (origin
             (method url-fetch)
             (uri (cran-uri "mixsqp" version))
             (sha256
              (base32
-              "02cjg33m5iqziyy0xi11wvbm5qnlgfy51r1dbpjzyhqsrv1dfx48"))))
+              "13pv3mmz514kl4svxqwyk5b241dy1q52khwdc6rmh712ia8xxl7p"))))
    (properties `((upstream-name . "mixsqp")))
    (build-system r-build-system)
    (propagated-inputs
@@ -15943,14 +16022,14 @@ samples is large and the number of mixture components is not too large.")
 (define-public r-magick
   (package
     (name "r-magick")
-    (version "2.8.1")
+    (version "2.8.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "magick" version))
        (sha256
         (base32
-         "13j55dwvcqbyqgx0c6vj9knqrz25pc2xz19f22b2gm0p307d3z6q"))))
+         "15ja7f46f77a67wmzqfaxvhmvvzgb9yj92p2if5di7i61vlmnid1"))))
     (properties
      '((updater-extra-inputs . ("imagemagick"))))
     (build-system r-build-system)
@@ -16091,13 +16170,13 @@ were influenced by the drake R package by Will Landau (2018)
 (define-public r-targets
   (package
     (name "r-targets")
-    (version "1.3.2")
+    (version "1.4.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "targets" version))
               (sha256
                (base32
-                "0zlbq658zxflz2fk9pksbjx3r5dmay4411byl33gkp3rnynvchgh"))))
+                "0nbvyh1v88lz1fv09ap9p6qw4zw23f1rvmv2f01w1r17z53z7w3c"))))
     (properties `((upstream-name . "targets")))
     (build-system r-build-system)
     (propagated-inputs (list r-base64url
@@ -16267,13 +16346,13 @@ estimation problem.")
 (define-public r-quickjsr
   (package
     (name "r-quickjsr")
-    (version "1.0.8")
+    (version "1.0.9")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "QuickJSR" version))
               (sha256
                (base32
-                "10cyi8wja24j68wqmsphsr19h977hr6ffsxf339bfrvwdnigm5vn"))))
+                "12a0m57kwn2k9j5k6vl8hb10081rydpz9rczc9hccdj9ky9wiv0k"))))
     (properties `((upstream-name . "QuickJSR")))
     (build-system r-build-system)
     (propagated-inputs (list r-jsonlite r-r6 r-rcpp))
@@ -16428,14 +16507,14 @@ observation.")
 (define-public r-sandwich
   (package
     (name "r-sandwich")
-    (version "3.0-2")
+    (version "3.1-0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "sandwich" version))
        (sha256
         (base32
-         "1d72vwxidsyac9mbyxrm06qds63rzcr82nn4c05466gbajsvcc3f"))
+         "1yi3l2q63j0vlaqqh1x3bxb0i7v6lrmmbsc6s8gilfahxq2y3c4n"))
        (modules '((guix build utils)))
        (snippet
         '(with-directory-excursion "inst/doc"
@@ -16534,14 +16613,14 @@ the differences were not significantly different.")
 (define-public r-emmeans
   (package
     (name "r-emmeans")
-    (version "1.8.9")
+    (version "1.9.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "emmeans" version))
        (sha256
         (base32
-         "1ipzs88inyif52rbifqwrfv8vwxw8fwq2hb489vgws8xznhz034a"))))
+         "18gib8ly7kfzdbi3srczrdqvjghf7swp127ksfs1fvs9dzgkkg96"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-estimability r-mvtnorm r-numderiv))
@@ -16671,14 +16750,14 @@ Bayesian modeling.")
 (define-public r-tmb
   (package
     (name "r-tmb")
-    (version "1.9.9")
+    (version "1.9.10")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "TMB" version))
        (sha256
         (base32
-         "0k37xspfk9vqin63ggkm8qlki498h3k3kqg8wa9kff3y1mi8lf84"))))
+         "1cc34zxn2x88fbh4clgbzia36800i30pdlywbkwc26zm50nsxpwi"))))
     (properties `((upstream-name . "TMB")))
     (build-system r-build-system)
     (propagated-inputs
@@ -16829,14 +16908,14 @@ effects models and Bayesian models.")
 (define-public r-ggeffects
   (package
     (name "r-ggeffects")
-    (version "1.3.2")
+    (version "1.3.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggeffects" version))
        (sha256
         (base32
-         "1wp9q2zqygxg2ibmrwdh614sdxqhj80rx0ixbz8kxld99b37ixl7"))))
+         "0hxcal1rldi3295hy5n1nzad092gis1cxnjsbbhfrbj3z35aacbs"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-insight))
@@ -18772,13 +18851,13 @@ maps.")
 (define-public r-tidytree
   (package
     (name "r-tidytree")
-    (version "0.4.5")
+    (version "0.4.6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tidytree" version))
        (sha256
-        (base32 "0wllr18ip4vc37pr3qni1vbn68jj6iz5gh1vxdi24438y1gqww6j"))))
+        (base32 "14i2v6ryqw4cd74n8kz4qwwx730wzx4f0rssg5vgm0vjfsx0kafv"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-ape
@@ -19216,16 +19295,16 @@ Touzet and Varre (2007).")
 (define-public r-rnaturalearth
   (package
     (name "r-rnaturalearth")
-    (version "0.3.4")
+    (version "1.0.1")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "rnaturalearth" version))
               (sha256
                (base32
-                "1lqgv2v72jgp3xrxdwh0x644jwd2ixqjqja32r3sj9dfwnpx6b65"))))
+                "1vfkn4bf77mr2n7dhmnl55ma4cvwy2nazhizmdqd98w2ydl13z3p"))))
     (properties `((upstream-name . "rnaturalearth")))
     (build-system r-build-system)
-    (propagated-inputs (list r-httr r-jsonlite r-sf r-sp r-terra))
+    (propagated-inputs (list r-httr r-jsonlite r-sf r-terra))
     (native-inputs (list r-knitr))
     (home-page "https://cran.r-project.org/package=rnaturalearth")
     (synopsis "World map data from Natural Earth")
@@ -20840,14 +20919,14 @@ sampling.")
 (define-public r-protviz
   (package
     (name "r-protviz")
-    (version "0.7.7")
+    (version "0.7.9")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "protViz" version))
        (sha256
         (base32
-         "18l4aw0fx47w9czw73lxh68aj4ljbfr3z39vakbbx6xp2llyw8b1"))))
+         "1wsjr4asjsknv8fkfv15xqnl67zfv8d2xmvw1i2l0wflxbps3af7"))))
     (properties `((upstream-name . "protViz")))
     (build-system r-build-system)
     (propagated-inputs (list r-rcpp))
@@ -21121,14 +21200,14 @@ port-forwarding to your local computer.")
 (define-public r-future
   (package
     (name "r-future")
-    (version "1.33.0")
+    (version "1.33.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "future" version))
        (sha256
         (base32
-         "0nwk8y3qv2dj41qxrciic6rkpy6lzrhpd5v886zmcjyf6ndyna22"))))
+         "1xvb7rhwnsi7l735jfrh7ij0l6q6hazwcb2620hvfjwl2kkpk00r"))))
     (build-system r-build-system)
     (arguments
      `(#:phases
@@ -21156,14 +21235,14 @@ the local machine to, say, distributed processing on a remote compute cluster.")
 (define-public r-future-apply
   (package
     (name "r-future-apply")
-    (version "1.11.0")
+    (version "1.11.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "future.apply" version))
        (sha256
         (base32
-         "1s019gdmmv0yr8011vm23p7apznbzfw54z9nmymkxc5mp7730yri"))))
+         "0zf22vip8w50pywc47xjghca9wkvcsvvfaa2yfaydwwzc3ss3bh2"))))
     (properties `((upstream-name . "future.apply")))
     (build-system r-build-system)
     (arguments
@@ -21564,14 +21643,14 @@ Coefficient Logit Models.")
 (define-public r-tensora
   (package
     (name "r-tensora")
-    (version "0.36.2")
+    (version "0.36.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tensorA" version))
        (sha256
         (base32
-         "19wwh654qlja4z1n7afjpzsrrm53p8ddysa2vra5mdnkddb4g2cf"))))
+         "1dvxc4d5c8k3mqkx6bjgfmnb98rrdd1rsazyva76mzvxzrhq4n06"))))
     (properties `((upstream-name . "tensorA")))
     (build-system r-build-system)
     (home-page "http://www.stat.boogaart.de/tensorA")
@@ -21959,14 +22038,14 @@ probabilities from a standard bivariate normal CDF.")
 (define-public r-lavaan
   (package
     (name "r-lavaan")
-    (version "0.6-16")
+    (version "0.6-17")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "lavaan" version))
        (sha256
         (base32
-         "150asz3k42ql6k2faldbbzvhnlq5zy94syznc451ns52jdrr5vqx"))))
+         "1bppbv17b35h48vfci6zplix9zb5isi210za52cs9yyc68g2acwj"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-mass r-mnormt r-numderiv r-pbivnorm r-quadprog))
@@ -22850,14 +22929,14 @@ high-performance functions are provided here.")
 (define-public r-s2
   (package
     (name "r-s2")
-    (version "1.1.5")
+    (version "1.1.6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "s2" version))
        (sha256
         (base32
-         "07k9j3sqlqjmcgws2x7accnd5pbqcn8n2pwbviw00sg74sz3xz1v"))))
+         "0rm0jd5k5w725v1bnn6ix8vic40grdh61y6qdy8jy4lhg1mjx78x"))))
     (properties `((upstream-name . "s2")))
     (build-system r-build-system)
     (arguments
@@ -22891,14 +22970,14 @@ information about geometries.")
 (define-public r-sf
   (package
     (name "r-sf")
-    (version "1.0-14")
+    (version "1.0-15")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "sf" version))
        (sha256
         (base32
-         "1xrrqd91601lcd83zzwksb4ampy1j8vf8f6941csk89psm45clwb"))))
+         "0b9whfi709gjkzslkrkm8ki1yz5az6vrv5b1l2w712sjqy8r47f8"))))
     (build-system r-build-system)
     (inputs
      (list curl
@@ -23036,13 +23115,13 @@ also provided to illustrate various methods.")
 (define-public r-pegas
   (package
     (name "r-pegas")
-    (version "1.2")
+    (version "1.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "pegas" version))
        (sha256
-        (base32 "0mdd6wwbgln7272am9pk3p5garmkkf3j76lli4hnxsh9gj9z6fcx"))))
+        (base32 "1j1xrnwi80ycwziwcsb48sfdm2ifdzgsn8clh0ai7rvhknrb4ghh"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-ape))
@@ -23057,30 +23136,6 @@ population structure (Fst, Amova) and equilibrium (HWE), haplotype networks,
 minimum spanning tree and network, and median-joining networks.")
     (license license:gpl2+)))
 
-(define-public r-rmetasim
-  (package
-    (name "r-rmetasim")
-    (version "3.1.14")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (cran-uri "rmetasim" version))
-       (sha256
-        (base32
-         "0rdkhfgyr97r2d1kd9g8ipb2pn563qxm1y4m9z678q0kqan2ddl0"))))
-    (build-system r-build-system)
-    (propagated-inputs
-     (list r-ade4 r-adegenet r-gtools r-pegas))
-    (home-page "https://cran.r-project.org/web/packages/rmetasim")
-    (synopsis "Individual-based population genetic simulation environment")
-    (description
-     "This package provides an interface between R and the metasim simulation
-engine.  The simulation environment is documented in: Strand, A.(2002),
-Metasim 1.0: an individual-based environment for simulating population
-genetics of complex population dynamics.")
-    ;; Any GPL version
-    (license license:gpl2+)))
-
 (define-public r-genetics
   (package
     (name "r-genetics")
@@ -23241,14 +23296,14 @@ include
 (define-public r-haplo-stats
   (package
     (name "r-haplo-stats")
-    (version "1.9.3")
+    (version "1.9.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "haplo.stats" version))
        (sha256
         (base32
-         "1nwxmx3v0085bdr14sr1n4wpipyp1bdq9qhx2gxmx9h3l02glkis"))))
+         "17h7nxpc5ggxwpc4j4cxf7n0qglc93vhwd4ljwa8ic33x3yab673"))))
     (properties `((upstream-name . "haplo.stats")))
     (build-system r-build-system)
     (propagated-inputs
@@ -23982,14 +24037,14 @@ package.")
 (define-public r-yulab-utils
   (package
     (name "r-yulab-utils")
-    (version "0.1.0")
+    (version "0.1.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "yulab.utils" version))
        (sha256
         (base32
-         "045s3xg723a8m9cqql74ifqir5k6zl4csdq39vw5im2zgvyajkzg"))))
+         "0pjm4fnc30kv8xl6akh9y0jpqdsww83558cvyfl4j3xxnafrk8cs"))))
     (properties `((upstream-name . "yulab.utils")))
     (build-system r-build-system)
     (propagated-inputs
@@ -26748,14 +26803,14 @@ emphasize hidden group structures in networks or focus on specific nodes.")
 (define-public r-terra
   (package
     (name "r-terra")
-    (version "1.7-55")
+    (version "1.7-65")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "terra" version))
        (sha256
         (base32
-         "1v1if9ypmra02ngg4r8qg1hldmxan8lyyhgq3j969glihpyvs03h"))))
+         "0m9s5am8l6il1q0skab614cx0qjsb1i9xcv6nm0sdzj7p9lrzkfl"))))
     (properties `((upstream-name . "terra")))
     (build-system r-build-system)
     (inputs
@@ -26786,14 +26841,14 @@ files is supported.")
 (define-public r-tidygraph
   (package
     (name "r-tidygraph")
-    (version "1.2.3")
+    (version "1.3.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tidygraph" version))
        (sha256
         (base32
-         "11sn8z7bwv84lqlgnqc36n14nyhv1qdfc0gcs7nmgbl34nqhd75h"))))
+         "11qlnpn54bdlkh2jcrk807z86vw54jrb6r9za1jkb03x9dqi9cwk"))))
     (properties `((upstream-name . "tidygraph")))
     (build-system r-build-system)
     (propagated-inputs
@@ -26801,6 +26856,7 @@ files is supported.")
            r-cpp11
            r-dplyr
            r-igraph
+           r-lifecycle
            r-magrittr
            r-pillar
            r-r6
@@ -29817,13 +29873,13 @@ Visualizations are also available for most of these settings.")
 (define-public r-torch
   (package
     (name "r-torch")
-    (version "0.11.0")
+    (version "0.12.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "torch" version))
        (sha256
-        (base32 "04hvr3f4rgnxxc42fiv58kpyld4aagj6ambhw769v3bfz7s2v879"))))
+        (base32 "024c8szg3xa2zrl5406jx3bmazbjwp2f07ja7m61ja0dr3z7lvbq"))))
     (properties `((upstream-name . "torch")))
     (build-system r-build-system)
     (arguments
@@ -29857,10 +29913,12 @@ Visualizations are also available for most of these settings.")
            r-desc
            r-ellipsis
            r-glue
+           r-jsonlite
            r-magrittr
            r-r6
            r-rcpp
            r-rlang
+           r-safetensors
            r-withr))
     (native-inputs (list r-knitr))
     (home-page "https://torch.mlverse.org/docs")
@@ -30299,13 +30357,13 @@ from PLINK results.")
 (define-public r-gghighlight
   (package
     (name "r-gghighlight")
-    (version "0.4.0")
+    (version "0.4.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "gghighlight" version))
        (sha256
-        (base32 "0vfcn3gg6j7g20n2z1iwr94jnpqn0zl5j9jfc8bnbsrmz49dzqpd"))))
+        (base32 "1lsvy9ha4d8zs927h8jbdj5r39xqcy1n6g5prw4awiihdvcv9v66"))))
     (properties `((upstream-name . "gghighlight")))
     (build-system r-build-system)
     (propagated-inputs
@@ -31921,14 +31979,14 @@ and reproducible way.")
 (define-public r-rsconnect
   (package
     (name "r-rsconnect")
-    (version "1.1.1")
+    (version "1.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rsconnect" version))
        (sha256
         (base32
-         "1v88ary1gbrhmcbr2syq4jh7ln5ldd9b6pdh508bwxnkivqfdg3p"))))
+         "0g2av3838nnsb51h64ypad0c31gh98zyhib8yf9ffg53ijyqmjs1"))))
     (properties `((upstream-name . "rsconnect")))
     (build-system r-build-system)
     (propagated-inputs
@@ -32966,14 +33024,14 @@ Mean Test, Durbin-Watson statistic etc.")
 (define-public r-rcdd
   (package
     (name "r-rcdd")
-    (version "1.5-2")
+    (version "1.6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rcdd" version))
        (sha256
         (base32
-         "15dk0805yq2fgla2nafxswwvq2lakvb6kpgwzrag5l0xbrwcvv6q"))))
+         "0xfvfcjd9gpp6qaalkfkx2f11lyj4sm6n6b763lnk0rrmn6cv2lz"))))
     (properties
      `((upstream-name . "rcdd")))
     (build-system r-build-system)
@@ -33116,14 +33174,14 @@ here.")
 (define-public r-projpred
   (package
     (name "r-projpred")
-    (version "2.7.0")
+    (version "2.8.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "projpred" version))
        (sha256
         (base32
-         "0dydkvb0znqli4lbncihk8yimsiakvdyra5cx1cakvm73mn37s5r"))))
+         "1xm1444qv0pkxdf2nacxnb2apx5lar1f3qz4jrxp6xd2xk2xv0xk"))))
     (properties `((upstream-name . "projpred")))
     (build-system r-build-system)
     (propagated-inputs
@@ -36458,11 +36516,11 @@ discovery of differentially expressed genes and markers.")
                                r-uwot)))))
 
 (define-public r-seuratdisk
-  (let ((commit "163f1aade5bac38ed1e9e9c912283a7e74781610")
+  (let ((commit "877d4e18ab38c686f5db54f8cd290274ccdbe295")
         (revision "1"))
     (package
       (name "r-seuratdisk")
-      (version (git-version "0.0.0.9019" revision commit))
+      (version (git-version "0.0.0.9021" revision commit))
       (source
        (origin
          (method git-fetch)
@@ -36471,7 +36529,7 @@ discovery of differentially expressed genes and markers.")
                (commit commit)))
          (file-name (git-file-name name version))
          (sha256
-          (base32 "1d1v8qi6kknzy5fj6bl8akwy74h5h143i00lyidsnqjbwp9n4qnw"))))
+          (base32 "0ma9qk95symk95slp8klriqg64d8klqf1634y93ml74icarxw1dm"))))
       (properties `((upstream-name . "SeuratDisk")))
       (build-system r-build-system)
       (propagated-inputs
@@ -36570,17 +36628,15 @@ Maximum Parsimony, distance methods and Hadamard conjugation.")
 (define-public r-diversitree
   (package
     (name "r-diversitree")
-    (version "0.9-20")
+    (version "0.10-0")
     (source
       (origin
         (method url-fetch)
         (uri (cran-uri "diversitree" version))
         (sha256
          (base32
-          "0lm098ysk6np4dy1cifbhd85jd1f1iz4bqhgzlcx7x8qnhh3zc1c"))))
+          "1xl2swbmgpni2y2divl29xh702b88kxgcswa47g62ny59gh2fdn1"))))
     (build-system r-build-system)
-    (native-inputs
-     (list gfortran))
     (inputs (list fftw gsl))
     (propagated-inputs
      (list r-ape r-desolve r-rcpp r-subplex))
@@ -37059,13 +37115,13 @@ implemented as @code{R6} classes.")
 (define-public r-mlr3
   (package
     (name "r-mlr3")
-    (version "0.17.0")
+    (version "0.17.1")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "mlr3" version))
               (sha256
                (base32
-                "1gnn9i33sa2s0s35lhbbjqffjj9m7yhnhh7lyvp7jv9sncw123sa"))))
+                "0q6px0l0ab3xcrf6ylnw9a3i50mnks3hlgqj424d6bpqdjqyh5s4"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-backports
@@ -37082,6 +37138,7 @@ implemented as @code{R6} classes.")
            r-paradox
            r-parallelly
            r-r6
+           r-rhpcblasctl
            r-uuid))
     (home-page "https://mlr3.mlr-org.com/")
     (synopsis "Machine Learning in R - Next Generation")
@@ -37096,13 +37153,13 @@ computational operations, add-on packages provide additional functionality.")
 (define-public r-mlr3learners
   (package
     (name "r-mlr3learners")
-    (version "0.5.7")
+    (version "0.5.8")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "mlr3learners" version))
               (sha256
                (base32
-                "0l4f500qa2xfcwd4b81sxx9cvj9j349bl77c9vwi45sfsjk19w8g"))))
+                "0q44qmd9zfc68jl2zz684rx9744g83vd7z40dck8cdvnnrxcff5g"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-checkmate
@@ -37447,14 +37504,14 @@ the font tool-set provided by the @code{systemfonts} package.")
 (define-public r-ragg
   (package
     (name "r-ragg")
-    (version "1.2.6")
+    (version "1.2.7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ragg" version))
        (sha256
         (base32
-         "1izpw02b8kq6pm37kvxp9pbd9srvfp5bzfjg27j9hbmm794xq50h"))))
+         "17qc53scxf02f8hlpyirsjdav4wjh3mk6q04npf82y0j5mk1hynp"))))
     (properties `((upstream-name . "ragg")))
     (build-system r-build-system)
     (inputs
@@ -40605,14 +40662,14 @@ be efficient and easy to use.")
 (define-public r-ggh4x
   (package
     (name "r-ggh4x")
-    (version "0.2.6")
+    (version "0.2.7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggh4x" version))
        (sha256
         (base32
-         "0frbkdylyz630y7rjyif0whf74r89ca5bmhk9djcwz8nqfs2jygb"))))
+         "114xvlpdhnsdnw1g89yls3z80dxcj9fah09kvfddhlwbqbknxjxf"))))
     (properties `((upstream-name . "ggh4x")))
     (build-system r-build-system)
     (propagated-inputs
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/diffoscope.scm b/gnu/packages/diffoscope.scm
index 1ac5aff719..d950466ffe 100644
--- a/gnu/packages/diffoscope.scm
+++ b/gnu/packages/diffoscope.scm
@@ -74,7 +74,7 @@
 (define-public diffoscope
   (package
     (name "diffoscope")
-    (version "252")
+    (version "253")
     (source
      (origin
        (method git-fetch)
@@ -83,7 +83,7 @@
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1hnsnqpr0v9siqja1wxm64wv0vjacg6j9ph9n4xsiaarpndj1b4r"))))
+        (base32 "1nvq0lv246rah0ryb2qd20yf3gfy0iwfi3335rg9c3gpz0ha4wnb"))))
     (build-system python-build-system)
     (arguments
      (list
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 754c70897c..165f0a8a74 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -27,6 +27,7 @@
 ;;; Copyright © 2022 Disseminate Dissent <disseminatedissent@protonmail.com>
 ;;; Copyright © 2023 Timotej Lazar <timotej.lazar@araneo.si>
 ;;; Copyright © 2023 Morgan Smith <Morgan.J.Smith@outlook.com>
+;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -843,18 +844,18 @@ systems.  Output format is completely customizable.")
        (base32 "17l5vspfcgfbkqg7bakp3gql29yb05gzawm8n3im30ilzdr53678"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f                      ; no check target
-       #:make-flags (list (string-append "CC=" ,(cc-for-target))
-                          (string-append "PREFIX=" %output))
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'configure)            ; no configure script
-         (add-after 'build 'build-extra
-           (lambda* (#:key make-flags #:allow-other-keys)
-             (apply invoke "make" "extra" make-flags)))
-         (add-after 'build 'install-extra
-           (lambda* (#:key make-flags #:allow-other-keys)
-             (apply invoke "make" "install-extra" make-flags))))))
+     (list #:tests? #f                      ; no check target
+           #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
+                                (string-append "PREFIX=" #$output))
+           #:phases
+           #~(modify-phases %standard-phases
+               (delete 'configure)            ; no configure script
+               (add-after 'build 'build-extra
+                 (lambda* (#:key make-flags #:allow-other-keys)
+                   (apply invoke "make" "extra" make-flags)))
+               (add-after 'build 'install-extra
+                 (lambda* (#:key make-flags #:allow-other-keys)
+                   (apply invoke "make" "install-extra" make-flags))))))
     (inputs
      (list eudev parted))
     (home-page "http://oss.digirati.com.br/f3/")
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 6bec2bca46..bb3c905252 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
@@ -3348,14 +3346,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 +4192,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 +4201,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 +4219,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).
@@ -4576,7 +4579,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 +4588,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 +4673,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 +4682,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
@@ -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))
@@ -6504,7 +6507,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 +6516,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 +6999,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 +7008,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")
@@ -8749,14 +8752,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 +9689,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
@@ -10647,7 +10648,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 +10658,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
@@ -11739,7 +11740,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 +11749,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 +11823,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 +11831,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 +11978,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 +12088,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 +12097,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 +13225,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 +13234,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 +13277,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 +13286,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 +13814,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 +13823,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 +14979,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 +14988,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 +15153,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 +15162,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 +15449,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 +15458,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 +16533,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 +16542,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 +17139,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 +17148,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 +17268,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 +17277,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 +18678,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 +18688,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
@@ -19601,14 +19606,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 +19849,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 +19858,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 +19873,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 +19886,7 @@ highlighting.")
          (file-name (git-file-name name version))
          (sha256
           (base32
-           "1jv8pcq0yad5wmqsdvamwq6674p6ghpyyznbd2x5mlxyp6za6cx5"))))
+           "0xrlqjd4kj7z5ssidi159n8fm1hx35if2h1ds586ppf8y057bmhn"))))
       (build-system emacs-build-system)
       (arguments
        (list #:phases
@@ -23055,7 +23060,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 +23069,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 +23149,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 +23157,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 +23167,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 +23275,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 +23284,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 +24151,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 +24780,7 @@ powerful Org contents.")
 (define-public emacs-org-re-reveal
   (package
     (name "emacs-org-re-reveal")
-    (version "3.23.0")
+    (version "3.24.2")
     (source
      (origin
        (method git-fetch)
@@ -24783,7 +24789,7 @@ powerful Org contents.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1ss71iy1xnhr3p4mmfbnbgvp7kjqxpqag49f851wgmmwwg8gajvd"))))
+        (base32 "10x1cinn97wlm3dmv35dxrs78gfzgw59qf4j57m3vgss5q93mqq5"))))
     (build-system emacs-build-system)
     (propagated-inputs
      (list emacs-htmlize emacs-org))
@@ -27112,37 +27118,6 @@ to start sxiv from a Dired buffer, allowing you to mark or unmark image files
 in said buffer using sxiv.")
     (license license:unlicense)))
 
-(define-public emacs-mu4e-conversation
-  (let ((commit "98110bb9c300fc9866dee8e0023355f9f79c9b96")
-        (revision "5"))
-    (package
-      (name "emacs-mu4e-conversation")
-      (version (git-version "0.0.1" revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://gitlab.com/Ambrevar/mu4e-conversation.git")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32
-           "080s96jkcw2p288sp1vgds91rgl693iz6hi2dv56p2ih0nnivwlg"))))
-      (build-system emacs-build-system)
-      (propagated-inputs
-       (list mu))
-      (home-page
-       "https://gitlab.com/Ambrevar/mu4e-conversation")
-      (synopsis
-       "Show a complete thread in a single buffer")
-      (description
-       "This package offers an alternate view to mu4e's e-mail display.  It
-shows all e-mails of a thread in a single view, where each correspondent has
-their own face.  Threads can be displayed linearly (in which case e-mails are
-displayed in chronological order) or as an Org document where the node tree
-maps the thread tree.")
-      (license license:gpl3+))))
-
 ;; Package has no releases or tags.  Version is extracted from "Version:"
 ;; keyword in main file.
 (define-public emacs-mu4e-dashboard
@@ -28297,7 +28272,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)
@@ -28307,10 +28282,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
@@ -28897,7 +28877,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)
@@ -28907,7 +28887,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
@@ -30102,7 +30082,7 @@ constant expressions.")
 (define-public emacs-docker
   (package
     (name "emacs-docker")
-    (version "2.2.0")
+    (version "2.3.1")
     (source
      (origin
        (method git-fetch)
@@ -30111,7 +30091,7 @@ constant expressions.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1743x2s7ss7h329yayima3pqi62f0qjv56g5y6b7iwk40wpnhv9v"))))
+        (base32 "13927ns3393q40gxrfzyqh6ajxzfjg14d0srfxi6ild3pmaz0460"))))
     (inputs
      (list emacs-undercover))
     (propagated-inputs
@@ -30745,47 +30725,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
@@ -32023,7 +31999,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)
@@ -32032,7 +32008,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")
@@ -32275,14 +32251,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
@@ -33316,14 +33292,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")
@@ -34222,11 +34198,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)
@@ -34234,7 +34210,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"
@@ -34371,7 +34347,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)
@@ -34380,7 +34356,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")
@@ -34984,7 +34960,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)
@@ -34993,7 +34969,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))
@@ -35007,7 +34983,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)
@@ -35016,7 +34992,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")
@@ -37437,7 +37413,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)
@@ -37446,7 +37422,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
@@ -37662,10 +37638,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)
@@ -37674,7 +37650,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
@@ -38259,7 +38235,7 @@ hacker.")
 (define-public emacs-osm
   (package
     (name "emacs-osm")
-    (version "0.14")
+    (version "1.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -38268,7 +38244,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
@@ -38928,7 +38904,7 @@ in Emacs.")
 (define-public emacs-vertico-posframe
   (package
     (name "emacs-vertico-posframe")
-    (version "0.7.3")
+    (version "0.7.5")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -38936,7 +38912,7 @@ in Emacs.")
                     ".tar"))
               (sha256
                (base32
-                "1gfapchkj9jkzlyz3hzkb9kpifcak0fn4y5jw6f2cs6379sjwvzm"))))
+                "1fa8kg5lqpa1xk2vf1mp420iqki866gd83vzsj166b8mnd34fdlr"))))
     (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/file-systems.scm b/gnu/packages/file-systems.scm
index 05074b2eb4..8cac1eae9c 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2021 Noisytoot <noisytoot@disroot.org>
 ;;; Copyright © 2021, 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com>
 ;;; Copyright © 2022 Brian Cully <bjc@spork.org>
+;;; Copyright © 2023 Aaron Covrig <aaron.covrig.us@ieee.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -64,8 +65,10 @@
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages elf)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages golang-check)
@@ -81,6 +84,7 @@
   #:use-module (gnu packages nfs)
   #:use-module (gnu packages onc-rpc)
   #:use-module (gnu packages openldap)
+  #:use-module (gnu packages password-utils)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages photo)
@@ -91,6 +95,7 @@
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages rsync)
   #:use-module (gnu packages sssd)
@@ -2112,3 +2117,29 @@ filtering and ordering functionality.
 
 @end itemize\n")
     (license license:gpl3)))
+
+(define-public sirikali
+  (package
+    (name "sirikali")
+    (version "1.5.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mhogomchungu/sirikali")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1l52s8rxkfcxcx3s2fnsh08wy6hhjjvp7gcggdi84aqc4dq3rdnm"))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:tests? #f ;No tests
+       #:configure-flags '("-DQT5=true")))
+    (inputs (list xdg-utils libpwquality libgcrypt libsecret qtbase-5))
+    (native-inputs (list pkg-config))
+    (home-page "https://mhogomchungu.github.io/sirikali/")
+    (synopsis "Graphical program for managing encrypted file-systems")
+    (description "@dfn{SiriKali} is a Qt / C++ @acronym{GUI, graphical user
+interface} application that manages ecryptfs, cryfs, encfs, gocryptfs, fscrypt
+and securefs based encrypted folders.")
+    (license license:gpl2+)))
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 98a220385b..749f741710 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)
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 1b2bc319f7..7516e1642b 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -3159,7 +3159,7 @@ and readability.  This package bundles those icons into a font.")
 (define-public font-lxgw-wenkai
   (package
     (name "font-lxgw-wenkai")
-    (version "1.311")
+    (version "1.315")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3167,7 +3167,7 @@ and readability.  This package bundles those icons into a font.")
                     version "/lxgw-wenkai-v" version ".tar.gz"))
               (sha256
                (base32
-                "0f5fnqcwp8kicrbkncn5j1w06cil771jfdcjf2w48vl62m4gmf27"))))
+                "0isb7rbg8yb6hv8xk1ngngkgzpyb3papkl19jczwrwm373m8bn3f"))))
     (build-system font-build-system)
     (home-page "https://lxgw.github.io/2021/01/28/Klee-Simpchin/")
     (synopsis "Simplified Chinese Imitation Song typeface")
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index f2139b315f..73f93a9992 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -56,6 +56,7 @@
   #:use-module (guix svn-download)
   #:use-module (guix utils)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (guix build-system scons)
@@ -2583,6 +2584,57 @@ added.  The permanent goal is to create a Quake 3 distribution upon which
 people base their games, ports to new platforms, and other projects.")
       (license license:gpl2))))
 
+(define-public inform
+  ;; The latest release does not yet have a build system.
+  ;; This commit is the earliest to have one.
+  (let ((commit "20cbfff96015938809d0e3da6cd0d83b76d27f14")
+        (revision "0"))
+    (package
+      (name "inform")
+      (version (git-version "6.41" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://jxself.org/git/inform.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "19z8pgrj1s2irany5s6xxwsm3bdnri1as46fdi16zdp4aah523jy"))))
+      (build-system gnu-build-system)
+      (native-inputs (list autoconf automake))
+      (synopsis "The Inform 6 compiler")
+      (description
+       "Inform 6 is a programming language designed for interactive fiction.
+This version of the compiler has been modified slightly to work better when the
+Inform standard library is in a non-standard location.")
+      (home-page "https://jxself.org/git/inform.git")
+      (license license:gpl3+))))
+
+(define-public informlib
+  (package
+    (name "informlib")
+    (version "6.12.6")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://jxself.org/git/informlib.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0fcnw4jjzln402qk097n2s8y24vw1p3mmlmh6k1mbr2zfajjcn5r"))))
+    (build-system copy-build-system)
+    (arguments
+     (list
+      #:install-plan
+      #~'(("." "lib"))))
+    (synopsis "Inform 6 standard library")
+    (description
+     "This package provides the standard library for Inform 6.")
+    (home-page "https://jxself.org/git/informlib.git")
+    (license license:agpl3+)))
+
 (define-public instead
   (package
     (name "instead")
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 8313c02754..c7813790a1 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -10939,6 +10939,80 @@ implemented using ncurses user interface.  An SDL graphical version is also
 available.")
     (license license:gpl3+)))
 
+(define-public devours
+  (let ((commit "d50e745aa14aa48f7555ae12eb3d1000de1cc150")
+        (revision "0"))
+  (package
+    (name "devours")
+    (version (git-version "3" revision commit))
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://jxself.org/git/devours.git")
+             (commit commit)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1ksl6mh76jfx64rmasz2571f88ws45vby2977srhgkh355zp3lzn"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:tests? #f ; no tests
+      #:phases
+      #~(modify-phases %standard-phases
+          (delete 'configure) ; no configure
+          (replace 'build
+            (lambda _
+              (invoke "inform"
+                      (string-append "+include_path="
+                                     #$(this-package-native-input "informlib")
+                                     "/lib")
+                      "devours.inf")))
+          (replace 'install
+            (lambda* (#:key inputs #:allow-other-keys)
+              ;; Create standalone executable.
+              (let* ((bash (search-input-file inputs "/bin/bash"))
+                     (share (string-append #$output "/share"))
+                     (scummvm (search-input-file inputs "/bin/scummvm"))
+                     (bin (string-append #$output "/bin"))
+                     (executable (string-append bin "/devours")))
+                (mkdir-p share)
+                (copy-file "devours.z5" (string-append share "/devours.z5"))
+                (mkdir-p bin)
+                (with-output-to-file executable
+                  (lambda ()
+                    (format #t "#!~a~%" bash)
+                    (format #t
+                            "exec ~a --path=~a glk:zcode~%"
+                            scummvm share)))
+                (chmod executable #o755))))
+          (add-after 'install-executable 'install-desktop-file
+            (lambda _
+              (let* ((apps (string-append #$output "/share/applications"))
+                     (share (string-append #$output "")))
+                (mkdir-p apps)
+                (make-desktop-entry-file
+                 (string-append apps "/devours.desktop")
+                 #:name "All Things Devours"
+                 #:generic-name "All Things Devours"
+                 #:exec (string-append #$output "/bin/devours")
+                 #:categories '("AdventureGame" "Game" "RolePlaying")
+                 #:keywords '("game" "adventure" "sci-fi")
+                 #:comment '((#f "Sci-fi text adventure game")))))))))
+    (inputs
+     (list bash scummvm))
+    (native-inputs
+     (list inform informlib))
+    (synopsis "All Things Devours")
+    (description
+     "All Things Devours is a short piece of sci-fi interactive fiction,
+leaning strongly towards the text-adventure end of the spectrum.
+Any move you make may put things into an unwinnable state.  You are therefore
+encouraged to save frequently, and also to realise that you will probably have
+to start over several times to find the most satisfactory ending.")
+    (home-page "https://jxself.org/git/devours.git")
+    (license license:agpl3+))))
+
 (define-public schiffbruch
   ;; There haven't been any releases for several years, so I've taken the most
   ;; recent commit from the master branch that didn't fail to build (the last
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index e352cff5f9..a8b74a3632 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -1182,6 +1182,21 @@ provides the GNU compiler for the Go programming language.")
        (substitute-keyword-arguments (package-arguments gccgo)
          ((#:phases phases)
           #~(modify-phases #$phases
+              #$@(if (version>=? (package-version gccgo) "12.0")
+                     #~((add-after 'unpack 'adjust-libgo-dependencies
+                          (lambda _
+                            (substitute* "Makefile.in"
+                              ;; libgo.la depends on libbacktrace.la but the
+                              ;; current dependency rules don't have libbacktrace
+                              ;; building early enough for libgo.  When built
+                              ;; with more than 1 core this issue doesn't appear.
+                              ;; see commit 5fee5ec362f7a243f459e6378fd49dfc89dc9fb5.
+                              (("all-target-libgo: maybe-all-target-libffi")
+                               (string-append
+                                 "all-target-libgo: maybe-all-target-libbacktrace\n"
+                                 "all-target-libgo: maybe-all-target-libffi\n"
+                                 "all-target-libgo: maybe-all-target-libatomic"))))))
+                     #~())
               (add-after 'install 'wrap-go-with-tool-path
                 (lambda* (#:key outputs #:allow-other-keys)
                   (let* ((out (assoc-ref outputs "out"))
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index fd6bbb003a..31abb2cc36 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -1940,7 +1940,7 @@ to the OSM opening hours specification.")
 (define-public josm
   (package
     (name "josm")
-    (version "18822")
+    (version "18907")
     (source (origin
               (method svn-fetch)
               (uri (svn-reference
@@ -1949,7 +1949,7 @@ to the OSM opening hours specification.")
                      (recursive? #f)))
               (sha256
                (base32
-                "0b4q6n3jbqrh7dsfmcf2g0xdd1wjj62sjq8lwvggvrpqlk1fyn1b"))
+                "0vkczijw537f4y1b7hfxa45k3ww6nf2cf485b19dnbgh9ab6mnjl"))
               (file-name (string-append name "-" version "-checkout"))
               (modules '((guix build utils)))
             (snippet
@@ -1963,6 +1963,7 @@ to the OSM opening hours specification.")
      (list java-commons-jcs
            java-commons-compress
            java-jmapviewer
+           java-jakarta-annotations-api
            java-jakarta-json
            java-jsr305
            java-metadata-extractor
@@ -2329,7 +2330,7 @@ associated attribute file (@file{.dbf}).")
 (define-public spatialite-tools
   (package
     (name "spatialite-tools")
-    (version "5.1.0")
+    (version "5.1.0a")
     (source
      (origin
        (method url-fetch)
@@ -2337,7 +2338,7 @@ associated attribute file (@file{.dbf}).")
                            "spatialite-tools-sources/"
                            "spatialite-tools-" version ".tar.gz"))
        (sha256
-        (base32 "1dc3hnqa9ns0ycsac6wyl96pi052y7rrf233lq7sk708ghv30c6z"))))
+        (base32 "1kh1amab452m3801knmpn1jcg27axakb90gd8fxwv240irsk97hi"))))
     (build-system gnu-build-system)
     (native-inputs
      (list pkg-config))
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index dfe9be73c0..ee76fe0ec0 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
@@ -915,7 +920,7 @@ OpenGL.")
 (define-public glfw
   (package
     (name "glfw")
-    (version "3.3.4")
+    (version "3.3.9")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/glfw/glfw"
@@ -923,7 +928,7 @@ OpenGL.")
                                   "/glfw-" version ".zip"))
               (sha256
                (base32
-                "1kcrpl4d6b6h23ib5j9q670d9w3knd07whgbanbmwwhbcqnc9lmv"))))
+                "023dn97n4h14n5lbjpzjv0y6a2plj254c0w3rr3wraf3z08189jm"))))
     (build-system cmake-build-system)
     (arguments
      (list
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index d1ac228639..fd101a8acf 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -262,7 +262,7 @@ supports HTTP, HTTPS and GnuTLS.")
 (define-public gnunet
   (package
     (name "gnunet")
-    (version "0.19.4")
+    (version "0.20.0")
     (source
      (origin
        (method url-fetch)
@@ -270,14 +270,7 @@ supports HTTP, HTTPS and GnuTLS.")
                            ".tar.gz"))
        (sha256
         (base32
-         "16q0mkkr9b33wlm307ignfgvv0kilzr42155m5dpz66m13s3v9h0"))
-       (modules '((guix build utils)))
-       (snippet
-        #~(begin
-            ;; This is fixed in the upstream repository but the fix
-            ;; has not been released.
-            (substitute* "src/gns/test_proxy.sh"
-              (("test_gnunet_proxy.conf") "test_gns_proxy.conf"))))))
+         "064mmhksznbsymanikwqkgmdhk2f0zjll2aq2cmxa14wm5w9w0jn"))))
     (build-system gnu-build-system)
     (inputs
      (list bluez
@@ -450,14 +443,14 @@ The following services are supported:
 (define-public gnunet-gtk
   (package (inherit gnunet)
     (name "gnunet-gtk")
-    (version "0.19.0")
+    (version "0.20.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnu/gnunet/gnunet-gtk-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0z2731l69vnfsa0cdsw8wh8g1d08wz15y5n0a58qjpf7baric01k"))))
+                "0bandj2f24v4wfq1v5j73zn5jp25dn8r7y0wd7znlkmbh86fb4g9"))))
     (arguments
      (list #:configure-flags
            #~(list "--with-libunique"
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 73e9c3a78a..a6ba57d7f3 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 7318ec727c..54643c314e 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -1774,7 +1774,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-check.scm b/gnu/packages/golang-check.scm
index 42e501a6e3..ec886985d6 100644
--- a/gnu/packages/golang-check.scm
+++ b/gnu/packages/golang-check.scm
@@ -414,6 +414,18 @@ Features include:
 @end itemize")
     (license license:expat)))
 
+(define-public go-github-com-stretchr-testify-bootstrap
+  (hidden-package
+    (package
+      (inherit go-github-com-stretchr-testify)
+      (arguments
+       '(#:import-path "github.com/stretchr/testify"
+         #:tests? #f
+         #:phases (modify-phases %standard-phases
+                    (delete 'build))))
+      (propagated-inputs
+       (list go-gopkg-in-yaml-v3)))))
+
 (define-public go-github-com-tdewolff-test
   (package
     (name "go-github-com-tdewolff-test")
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
new file mode 100644
index 0000000000..7759916c35
--- /dev/null
+++ b/gnu/packages/golang-web.scm
@@ -0,0 +1,1466 @@
+;;; 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>
+;;;
+;;; 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 "3.1.0")
+    (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 "1dfdiahimg6z9idg8jiqxwnlwjnmasbjccx8gnag49cz4yfqskaz"))))
+    (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 476edf6b4d..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)
@@ -971,6 +972,140 @@ in the style of communicating sequential processes (@dfn{CSP}).")
      ;; https://go.dev/issue/44505
      (alist-replace "go" (list go-1.17) (package-native-inputs go-1.17)))))
 
+(define-public go-1.21
+  (package
+    (inherit go-1.20)
+    (name "go")
+    (version "1.21.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/golang/go")
+                    (commit (string-append "go" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0f11kya6rpqfldpw82g0yiknz657i655d3c0yh3qy6f8xa8x7zn2"))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments go-1.20)
+       ;; Source patching phases are broken up into discrete steps to allow
+       ;; future versions to discard individual phases without having to
+       ;; discard all source patching.
+       ((#:phases phases)
+        #~(modify-phases #$phases
+            (delete 'skip-TestGoPathShlibGccgo-tests)
+            (delete 'patch-source)
+            (add-after 'unpack 'patch-os-tests
+              (lambda _
+                (substitute* "src/os/os_test.go"
+                  (("/usr/bin") (getcwd))
+                  (("/bin/sh") (which "sh")))))
+
+            (add-after 'unpack 'apply-patches
+              (lambda* (#:key inputs #:allow-other-keys)
+                ;; Having the patch in the 'patches' field of <origin> breaks
+                ;; the 'TestServeContent' test due to the fact that timestamps
+                ;; are reset.  Thus, apply it from here.
+                (invoke "patch" "-p1" "--force" "-i"
+                        (assoc-ref inputs "go-fix-script-tests.patch"))))
+
+            (add-after 'unpack 'patch-src/net
+              (lambda* (#:key inputs #:allow-other-keys)
+                (let ((net-base (assoc-ref inputs "net-base")))
+                  (substitute* "src/net/lookup_unix.go"
+                    (("/etc/protocols")
+                     (string-append net-base "/etc/protocols")))
+                  (substitute* "src/net/port_unix.go"
+                    (("/etc/services")
+                     (string-append net-base "/etc/services"))))))
+
+            (add-after 'unpack 'patch-zoneinfo
+              (lambda* (#:key inputs #:allow-other-keys)
+                ;; Add the path to this specific version of tzdata's zoneinfo
+                ;; file to the top of the list to search. We don't want to
+                ;; replace any sources because it will affect how binaries
+                ;; compiled with this Go toolchain behave on non-guix
+                ;; platforms.
+                (substitute* "src/time/zoneinfo_unix.go"
+                  (("var platformZoneSources.+" all)
+                   (format #f "~a~%\"~a/share/zoneinfo\",~%"
+                           all
+                           (assoc-ref inputs "tzdata"))))))
+
+            (add-after 'unpack 'patch-cmd/go/testdata/script
+              (lambda _
+                (substitute* "src/cmd/go/testdata/script/cgo_path_space.txt"
+                  (("/bin/sh") (which "sh")))))
+
+            (add-after 'enable-external-linking 'enable-external-linking-1.21
+              (lambda _
+                ;; Invoke GCC to link any archives created with GCC (that is,
+                ;; any packages built using 'cgo'), because Go doesn't know
+                ;; how to handle the runpaths but GCC does.  Use substitute*
+                ;; rather than a patch since these files are liable to change
+                ;; often.
+                ;;
+                ;; XXX: Replace with GO_EXTLINK_ENABLED=1 or similar when
+                ;; <https://github.com/golang/go/issues/31544> and/or
+                ;; <https://github.com/golang/go/issues/43525> are resolved.
+                (substitute* "src/cmd/link/internal/ld/config.go"
+                  (("\\(iscgo && \\(.+\\)") "iscgo"))
+                (substitute* "src/internal/testenv/testenv.go"
+                  (("!CanInternalLink.+") "true {\n"))
+                (substitute* "src/syscall/exec_linux_test.go"
+                  (("testenv.MustHaveExecPath\\(t, \"whoami\"\\)")
+                   "t.Skipf(\"no passwd file present\")"))))
+
+            (replace 'install
+              (lambda* (#:key outputs #:allow-other-keys)
+                ;; Notably, we do not install archives (180M), which Go will
+                ;; happily recompile quickly (and cache) if needed, almost
+                ;; surely faster than they could be substituted.
+                ;;
+                ;; The main motivation for pre-compiled archives is to use
+                ;; libc-linked `net' or `os' packages without a C compiler,
+                ;; but on Guix a C compiler is necessary to properly link the
+                ;; final binaries anyway.  Many build flags also invalidate
+                ;; these pre-compiled archives, so in practice Go often
+                ;; recompiles them anyway.
+                ;;
+                ;; Upstream is also planning to no longer install these
+                ;; archives: <https://github.com/golang/go/issues/47257>.
+                ;;
+                ;; When necessary, a custom pre-compiled library package can
+                ;; be created with `#:import-path "std"' and used with
+                ;; `-pkgdir'.
+                ;;
+                ;; When moving files into place, any files that come from
+                ;; GOROOT should remain in GOROOT to continue functioning. If
+                ;; they need to be referenced from some other directory, they
+                ;; need to be symlinked from GOROOT. For more information,
+                ;; please see <https://github.com/golang/go/issues/61921>.
+                (let* ((out (assoc-ref outputs "out"))
+                       (tests (assoc-ref outputs "tests")))
+                  (for-each
+                   (lambda (file)
+                     (copy-recursively file (string-append out "/lib/go/" file)))
+                   '("bin" "go.env" "lib" "VERSION" "pkg/include" "pkg/tool"))
+
+                  (symlink "lib/go/bin" (string-append out "/bin"))
+
+                  (for-each
+                   (match-lambda
+                     ((file dest output)
+                      ;; Copy to output/dest and symlink from
+                      ;; output/lib/go/file.
+                      (let ((file* (string-append output "/lib/go/" file))
+                            (dest* (string-append output "/" dest)))
+                        (copy-recursively file dest*)
+                        (mkdir-p (dirname file*))
+                        (symlink (string-append "../../" dest) file*))))
+                   `(("src"          "share/go/src"        ,out)
+                     ("misc"         "share/go/misc"       ,out)
+                     ("doc"          "share/doc/go/doc"    ,out)
+                     ("api"          "share/go/api"        ,tests)
+                     ("test"         "share/go/test"       ,tests))))))))))))
+
 (define-public go go-1.17)
 
 (define make-go-std
@@ -1013,6 +1148,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
 (define-public go-std-1.18 (make-go-std go-1.18))
 (define-public go-std-1.19 (make-go-std go-1.19))
 (define-public go-std-1.20 (make-go-std go-1.20))
+(define-public go-std-1.21 (make-go-std go-1.21))
 
 (define-public go-0xacab-org-leap-shapeshifter
   (let ((commit "0aa6226582efb8e563540ec1d3c5cfcd19200474")
@@ -1363,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")
@@ -1437,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")
@@ -1897,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")
@@ -3294,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)
@@ -3536,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")
@@ -4295,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")
@@ -4466,17 +4296,6 @@ Go.")
 slices, JSON and other data.")
     (license license:expat)))
 
-(define go-github-com-stretchr-testify-bootstrap
-  (package
-    (inherit go-github-com-stretchr-testify)
-    (arguments
-     '(#:import-path "github.com/stretchr/testify"
-       #:tests? #f
-       #:phases (modify-phases %standard-phases
-                  (delete 'build))))
-    (propagated-inputs
-     (list go-gopkg-in-yaml-v3))))
-
 (define-public go-github-com-technoweenie-multipartstreamer
   (package
     (name "go-github-com-technoweenie-multipartstreamer")
@@ -4567,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"))
@@ -4615,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"))
@@ -4692,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")
@@ -4788,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"))
@@ -5092,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")
@@ -7071,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"))
@@ -7857,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")
@@ -7959,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"))
@@ -8438,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")
@@ -9387,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")
@@ -9626,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")
@@ -9782,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")
@@ -10081,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")
@@ -10882,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")
@@ -10962,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")
@@ -11100,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")
@@ -11842,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")
@@ -12183,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")
@@ -12482,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")
@@ -12695,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")
@@ -12884,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")
@@ -12931,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")
@@ -13426,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/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 7b44dc3167..afd8900848 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -2267,7 +2267,7 @@ users and in some situations.")
 (define-public guile-udev
   (package
     (name "guile-udev")
-    (version "0.2.4")
+    (version "0.3.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2276,7 +2276,7 @@ users and in some situations.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1q1snj8gz2bvqw2v2jvwlzn5xfh7f7wlp922isnzismrp4adc918"))))
+                "0zvn7ph6sbz5q8jnbkrxxlbxlyf0j8q34hr4a2yxklvg29ya7sd3"))))
     (build-system gnu-build-system)
     (arguments
      (list
@@ -2289,7 +2289,10 @@ users and in some situations.")
               (substitute* (find-files "." "\\.scm")
                 (("load-extension \"libguile-udev\"")
                  (format #f "load-extension \"~a/lib/libguile-udev.so\""
-                         #$output))))))))
+                         #$output)))))
+          (delete 'check)               ;moved after install
+          (add-after 'install 'check
+            (assoc-ref %standard-phases 'check)))))
     (native-inputs (list autoconf
                          automake
                          gettext-minimal
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 ebabd1c973..baaff1d0c1 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -1483,6 +1483,26 @@ channels.")
                (base32
                 "1lvxnpds0vcf0lil6ia2036ghqlbl740c4d2sz0q5g6l93fjyija"))))
     (build-system gnu-build-system)
+    (arguments
+     (if (and (target-riscv64?)
+              (%current-target-system))
+         (list #:phases
+               #~(modify-phases %standard-phases
+                   (add-after 'unpack 'update-config-scripts
+                     (lambda* (#:key inputs native-inputs #:allow-other-keys)
+                       ;; Replace outdated config.guess and config.sub.
+                       (for-each (lambda (file)
+                                   (install-file
+                                    (search-input-file
+                                     (or native-inputs inputs)
+                                     (string-append "/bin/" file)) "."))
+                                 '("config.guess" "config.sub"))))))
+         '()))
+    (native-inputs
+     (if (and (target-riscv64?)
+              (%current-target-system))
+         (list config)
+         '()))
     (propagated-inputs
      ;; These are all in the 'Libs.private' field of libmng.pc.
      (list lcms libjpeg-turbo zlib))
@@ -2205,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.
@@ -2227,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)
@@ -2236,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/java.scm b/gnu/packages/java.scm
index d73550c042..e2c2a041a9 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -13719,6 +13719,34 @@ Processing specification.")
     ;; with classpath exception
     (license license:epl2.0)))
 
+(define-public java-jakarta-annotations-api
+  (package
+    (name "java-jakarta-annotations-api")
+    (version "2.1.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/jakartaee/common-annotations-api")
+                     (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0xq2n2pijal5p75vl9dz10i6hhdmaxw5q8j3aza717xkpxxby9p6"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "jakarta-annotations-api.jar"
+       #:source-dir "api/src/main/java"
+       #:tests? #f; no tests
+       #:jdk ,openjdk11))
+    (home-page "https://github.com/jakartaee/common-annotations-api")
+    (synopsis "Collection of Java annotations")
+    (description "Jakarta Annotations defines a collection of annotations
+representing common semantic concepts that enable a declarative style of
+programming that applies across a variety of Java technologies.")
+    ;; with classpath exception
+    (license (list license:epl2.0
+                   license:gpl2))))
+
 (define-public java-xmp
   (package
     (name "java-xmp")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index e7a317db33..1c359cb300 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -527,7 +527,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
                             (%upstream-linux-source version hash)
                             deblob-scripts-6.1)))
 
-(define-public linux-libre-5.15-version "5.15.144")
+(define-public linux-libre-5.15-version "5.15.145")
 (define-public linux-libre-5.15-gnu-revision "gnu")
 (define deblob-scripts-5.15
   (linux-libre-deblob-scripts
@@ -537,7 +537,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
    (base32 "1idjrn2w8jrixj8ifkk1awxyyq5042nc4p2mld4rda96azlnp948")))
 (define-public linux-libre-5.15-pristine-source
   (let ((version linux-libre-5.15-version)
-        (hash (base32 "0fsv18q64q17ad7mq818wfhb11dax4bdvbvqyk5ilxyfmypsylzh")))
+        (hash (base32 "086nssif66s86wkixz4yb7xilz1k49g32l0ib28r8fjzc23rv95j")))
    (make-linux-libre-source version
                             (%upstream-linux-source version hash)
                             deblob-scripts-5.15)))
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 4daf7afd84..1625197550 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -3284,8 +3284,8 @@ C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
   (sbcl-package->ecl-package sbcl-colorize))
 
 (define-public sbcl-3bmd
-  (let ((commit "4e08d82d7c8fb1b8fc708c87f4d9d13a1ab490cb")
-        (revision "3"))
+  (let ((commit "e68b2d442f29b4534c1c8e2f2cdf7583643a2fc5")
+        (revision "4"))
     (package
       (name "sbcl-3bmd")
       (version (git-version "0.0.0" revision commit))
@@ -3296,7 +3296,7 @@ C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
                (url "https://github.com/3b/3bmd")
                (commit commit)))
          (sha256
-          (base32 "1j885ykg2yds0l7dmw21lrhs7pd66lf541pf9lb677nkhc2f62jz"))
+          (base32 "12xqih1gnwsn1baqm7bq3kxss73phn06gvd0v1h1vwsjd1xgpq3g"))
          (file-name (git-file-name "cl-3bmd" version))))
       (build-system asdf-build-system/sbcl)
       (arguments
@@ -3666,11 +3666,11 @@ processes that doesn't run under Emacs.  Lisp processes created by
   (sbcl-package->ecl-package sbcl-slime-swank))
 
 (define-public sbcl-mgl-pax
-  (let ((commit "ed82a80207b70801fab061f6592cf7d7355294a6")
-        (revision "0"))
+  (let ((commit "6782eb041c152721972420dfafa192692d16b7ce")
+        (revision "1"))
     (package
       (name "sbcl-mgl-pax")
-      (version (git-version "0.1.0" revision commit))
+      (version (git-version "0.3.0" revision commit))
       (source
        (origin
          (method git-fetch)
@@ -3678,7 +3678,7 @@ processes that doesn't run under Emacs.  Lisp processes created by
                (url "https://github.com/melisgl/mgl-pax")
                (commit commit)))
          (sha256
-          (base32 "008wfa70q68cj6npi4107mfjhjzfjmvrhm1x51jpndsn2165c5bx"))
+          (base32 "0fjbzc2fn17m80lfsc8121sa0bk7fg42fqlwhm01sk1fj4s48pma"))
          (file-name (git-file-name "cl-mgl-pax" version))))
       (build-system asdf-build-system/sbcl)
       ;; (native-inputs
@@ -3690,7 +3690,8 @@ processes that doesn't run under Emacs.  Lisp processes created by
              sbcl-md5
              sbcl-named-readtables
              sbcl-pythonic-string-reader
-             sbcl-slime-swank))
+             sbcl-slime-swank
+             sbcl-trivial-utf-8))
       (arguments
        `(#:asd-systems '("mgl-pax"
                          "mgl-pax/navigate"
@@ -18752,19 +18753,20 @@ attributes not supported by the Common Lisp standard functions.")
   (sbcl-package->cl-source-package sbcl-file-attributes))
 
 (define-public sbcl-filesystem-utils
-  (let ((commit "4455bb6c43f4433dd68a34ddad9ed5aa9b649243"))
+  (let ((commit "a07e8b61b89d4b46408fb9294d9b8130e8c8a02e")
+        (revision "2"))
     (package
       (name "sbcl-filesystem-utils")
-      (version (git-version "1.0.0" "1" commit))
+      (version (git-version "1.0.0" revision commit))
       (source
        (origin
          (method git-fetch)
          (uri (git-reference
                (url "https://github.com/Shinmera/filesystem-utils/")
                (commit commit)))
-         (file-name (git-file-name "filesystem-utils" version))
+         (file-name (git-file-name "cl-filesystem-utils" version))
          (sha256
-          (base32 "0rww9r26zh44qwmj0b4sl95jngdn2h0239x5gjzak3gpdc3i3nbr"))))
+          (base32 "1zv2i2gndnbs7hz3bgkkq1qfx604wbndpc7qqlqvg23fssn9w59f"))))
       (build-system asdf-build-system/sbcl)
       (inputs
        (list sbcl-documentation-utils
@@ -19939,8 +19941,8 @@ lQuery.")
   (sbcl-package->cl-source-package sbcl-clip))
 
 (define-public sbcl-pathname-utils
-  (let ((commit "13189c08f2480802a6cba207304c2e0cfdc57f47")
-        (revision "2"))
+  (let ((commit "f28068a79825f37002e96d13dfd739172382bf94")
+        (revision "3"))
     (package
       (name "sbcl-pathname-utils")
       (version (git-version "1.1.0" revision commit))
@@ -19952,7 +19954,7 @@ lQuery.")
                (commit commit)))
          (file-name (git-file-name "cl-pathname-utils" version))
          (sha256
-          (base32 "0b5pjsrpfw0pmahi1zydzpaa5missg3cxqnyz4k6xwvk8fqscpha"))))
+          (base32 "10xs0wnnkbdiirr1cb7q7hzi2zmksfsrj0p7yws0j1l215vz8qs8"))))
       (build-system asdf-build-system/sbcl)
       (native-inputs
        (list sbcl-parachute))
@@ -26752,7 +26754,13 @@ inspired by Haskell package @code{Data.List}.")
            sbcl-trivial-open-browser
            sbcl-websocket-driver))
     (arguments
-     '(#:asd-systems '("clog" "clog/docs" "clog/tools")))
+     '(#:asd-systems '("clog" "clog/docs" "clog/tools")
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'fix-symbol-name
+                    (lambda _
+                      (substitute* "source/clog-docs.lisp"
+                        (("clog:@CLOG-MANUAL")
+                         "clog::@CLOG_MANUAL")))))))
     (home-page "https://github.com/rabbibotton/clog")
     (synopsis "Common Lisp Omnificent GUI")
     (description
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 53a955bb90..14fc2a0a72 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -1214,6 +1214,29 @@ an extensible computation graph model, as well as definitions of built-in
 operators and standard data types.")
     (license license:expat)))
 
+(define-public onnx-for-torch2
+  (package
+    (inherit onnx)
+    (name "onnx")
+    (version "1.13.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/onnx/onnx")
+                    (commit (string-append "v" version))))
+              (sha256
+               (base32
+                "16967dbq2j40diqd0s37r19llsab8q8vbxkg1ppgy0p9fpdhfhyp"))
+              (file-name (git-file-name name version))
+              (patches (search-patches "onnx-1.13.1-use-system-googletest.patch"
+                                       "onnx-shared-libraries.patch"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  (delete-file-recursively "third_party")
+                  (substitute* "onnx/backend/test/runner/__init__.py"
+                    (("urlretrieve\\(.*") "raise unittest.SkipTest('Skipping download')\n"))))))))
+
 (define-public python-onnx
   ;; This used to be called "python-onnx" because it provided nothing but
   ;; Python bindings.  The package now provides shared libraries and C++
@@ -1259,6 +1282,13 @@ aim is to provide all such passes along with ONNX so that they can be re-used
 with a single function call.")
     (license license:expat)))
 
+(define-public onnx-optimizer-for-torch2
+  (package
+    (inherit onnx-optimizer)
+    (inputs
+     (modify-inputs (package-inputs onnx-optimizer)
+       (replace "onnx" onnx-for-torch2)))))
+
 (define-public rxcpp
   (package
     (name "rxcpp")
@@ -3878,6 +3908,34 @@ high-level machine learning frameworks, such as TensorFlow Lite,
 TensorFlow.js, PyTorch, and MediaPipe.")
       (license license:bsd-3))))
 
+(define-public xnnpack-for-torch2
+  ;; There's currently no tag on this repo.
+  (let ((version "0.0")
+        (commit "51a987591a6fc9f0fc0707077f53d763ac132cbf")
+        (revision "3"))
+    (package
+      (inherit xnnpack)
+      (name "xnnpack")
+      (version (git-version version revision commit))
+      (home-page "https://github.com/google/XNNPACK") ;fork of QNNPACK
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference (url home-page) (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1rzby82xq8d0rl1d148yz88jh9cpsw5c8b2yw7yg39mi7qmr55rm"))
+                (patches (search-patches "xnnpack-for-torch2-system-libraries.patch"))))
+      (arguments
+       (list
+        #:tests? #false
+        #:configure-flags '(list "-DXNNPACK_USE_SYSTEM_LIBS=YES"
+                                 "-DBUILD_SHARED_LIBS=ON"
+                                 "-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
+                                 "-DXNNPACK_LIBRARY_TYPE=shared"
+                                 "-DXNNPACK_BUILD_TESTS=FALSE" ;FIXME: see below
+                                 "-DXNNPACK_BUILD_BENCHMARKS=FALSE"))))))
+
 ;; Please also update python-torchvision when updating this package.
 (define-public python-pytorch
   (package
@@ -4027,7 +4085,59 @@ PyTorch when needed.
 Note: currently this package does not provide GPU support.")
     (license license:bsd-3)))
 
-(define-public python-pytorch-for-r-torch python-pytorch)
+(define-public python-pytorch-for-r-torch
+  (package
+    (inherit python-pytorch)
+    (name "python-pytorch")
+    (version "2.0.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/pytorch/pytorch")
+                    (commit (string-append "v" version))
+                    (recursive? #t)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "14m7v54zyd2qg2xk9mqdpbf4ps7091mdzinzh4vq9p5k4bpznj65"))
+              (patches (search-patches "python-pytorch2-system-libraries.patch"
+                                       "python-pytorch-runpath.patch"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; XXX: Let's be clear: this package is a bundling fest.  We
+                  ;; delete as much as we can, but there's still a lot left.
+                  (for-each (lambda (directory)
+                              (delete-file-recursively
+                               (string-append "third_party/" directory)))
+                            '("benchmark" "cpuinfo" "eigen"
+
+                              ;; FIXME: QNNPACK (of which XNNPACK is a fork)
+                              ;; needs these.
+                              ;; "FP16" "FXdiv" "gemmlowp" "psimd"
+
+                              "gloo" "googletest" "ios-cmake" "NNPACK"
+                              "onnx" "protobuf" "pthreadpool"
+                              "pybind11" "python-enum" "python-peachpy"
+                              "python-six" "tbb" "XNNPACK" "zstd"))
+                  (substitute* "caffe2/CMakeLists.txt"
+                    (("target_link_libraries\\(\\$\\{test_name\\}_\\$\\{CPU_CAPABILITY\\} c10 sleef gtest_main\\)")
+                     "target_link_libraries(${test_name}_${CPU_CAPABILITY} c10 sleef gtest gtest_main)"))
+                  (substitute* "functorch/CMakeLists.txt"
+                    (("\\$\\{_rpath_portable_origin\\}/../torch/lib")
+                     "$ORIGIN/../torch/lib"))))))
+    (inputs
+     (modify-inputs (package-inputs python-pytorch)
+       (replace "xnnpack" xnnpack-for-torch2)))
+    (propagated-inputs
+     (modify-inputs (package-propagated-inputs python-pytorch)
+       (append python-filelock
+               python-jinja2
+               python-networkx
+               python-opt-einsum
+               python-sympy)
+       (replace "onnx" onnx-for-torch2)
+       (replace "onnx-optimizer" onnx-optimizer-for-torch2)))))
 
 (define-public python-lightning-cloud
   (package
@@ -4440,70 +4550,74 @@ of Hidden Markov Models.")
 
 ;; Keep this in sync with the r-torch package.
 (define-public liblantern
-  (package
-    (name "liblantern")
-    (version "0.10.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/mlverse/torch")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "12480fac9xq7rgw0q5f2cnvmakhakjsnq1gvh2ncjfwxz34n8fl7"))))
-    (build-system cmake-build-system)
-    (arguments
-     (list
-      #:tests? #false                   ;no test target
-      #:phases
-      (let ((python-version (version-major+minor (package-version python))))
-        #~(modify-phases %standard-phases
-            (add-after 'unpack 'chdir
-              (lambda _ (chdir "src/lantern")))
-            (add-after 'chdir 'do-not-download-binaries
-              (lambda* (#:key inputs #:allow-other-keys)
-                (substitute* "CMakeLists.txt"
-                  (("find_package\\(Torch.*") "set(TORCH_CXX_FLAGS \"-ltorch\")\n")
-                  (("retrieve_lib\\(.*") ""))
-                (let ((site-packages (string-append "/lib/python"
-                                                    #$python-version
-                                                    "/site-packages")))
-                  (setenv "LIBRARY_PATH"
-                          (string-append
-                           (search-input-directory
-                            inputs (string-append site-packages "/torch/lib"))
-                           ":" (or (getenv "LIBRARY_PATH") "")))
-                  (setenv "CPLUS_INCLUDE_PATH"
-                          (string-append
-                           (search-input-directory
-                            inputs (string-append
-                                    site-packages "/torch/include/torch/csrc/api/include/"))
-                           ":"
-                           (search-input-directory
-                            inputs (string-append site-packages "/torch/include/"))
-                           ":"
-                           (or (getenv "CPLUS_INCLUDE_PATH") "")))
-                  (setenv "C_INCLUDE_PATH"
-                          (string-append
-                           (search-input-directory
-                            inputs (string-append site-packages "/torch/include/"))
-                           ":"
-                           (or (getenv "C_INCLUDE_PATH") ""))))))
-            (replace 'install
-              (lambda _
-                (install-file
-                 "../build/liblantern.so"
-                 (string-append #$output "/lib"))
-                (copy-recursively
-                 "../lantern/include"
-                 (string-append #$output "/include"))))))))
-    (inputs (list python-pytorch-for-r-torch))
-    (home-page "https://github.com/mlverse/torch/")
-    (synopsis "C API to libtorch")
-    (description
-     "Lantern provides a C API to the libtorch machine learning library.")
-    (license license:expat)))
+  ;; There has been no release or tagged commit for r-torch 0.12.0.  The
+  ;; selected commit corresponds to the 0.12.0 release.
+  (let ((commit "4d83bd087be581f7db321c27f55897ff021d2537")
+        (revision "1"))
+    (package
+      (name "liblantern")
+      (version (git-version "0.11.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/mlverse/torch")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1xxc6vr7sr2mg0va0hc2fs4f6v5b78mx43dp2shzzbcgw90mgpvk"))))
+      (build-system cmake-build-system)
+      (arguments
+       (list
+        #:tests? #false                 ;no test target
+        #:phases
+        (let ((python-version (version-major+minor (package-version python))))
+          #~(modify-phases %standard-phases
+              (add-after 'unpack 'chdir
+                (lambda _ (chdir "src/lantern")))
+              (add-after 'chdir 'do-not-download-binaries
+                (lambda* (#:key inputs #:allow-other-keys)
+                  (substitute* "CMakeLists.txt"
+                    (("find_package\\(Torch.*") "set(TORCH_CXX_FLAGS \"-ltorch\")\n")
+                    (("retrieve_lib\\(.*") ""))
+                  (let ((site-packages (string-append "/lib/python"
+                                                      #$python-version
+                                                      "/site-packages")))
+                    (setenv "LIBRARY_PATH"
+                            (string-append
+                             (search-input-directory
+                              inputs (string-append site-packages "/torch/lib"))
+                             ":" (or (getenv "LIBRARY_PATH") "")))
+                    (setenv "CPLUS_INCLUDE_PATH"
+                            (string-append
+                             (search-input-directory
+                              inputs (string-append
+                                      site-packages "/torch/include/torch/csrc/api/include/"))
+                             ":"
+                             (search-input-directory
+                              inputs (string-append site-packages "/torch/include/"))
+                             ":"
+                             (or (getenv "CPLUS_INCLUDE_PATH") "")))
+                    (setenv "C_INCLUDE_PATH"
+                            (string-append
+                             (search-input-directory
+                              inputs (string-append site-packages "/torch/include/"))
+                             ":"
+                             (or (getenv "C_INCLUDE_PATH") ""))))))
+              (replace 'install
+                (lambda _
+                  (install-file
+                   "../build/liblantern.so"
+                   (string-append #$output "/lib"))
+                  (copy-recursively
+                   "../lantern/include"
+                   (string-append #$output "/include"))))))))
+      (inputs (list python-pytorch-for-r-torch))
+      (home-page "https://github.com/mlverse/torch/")
+      (synopsis "C API to libtorch")
+      (description
+       "Lantern provides a C API to the libtorch machine learning library.")
+      (license license:expat))))
 
 (define-public python-lap
   (package
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/mp3.scm b/gnu/packages/mp3.scm
index 7ede16f4bb..3010e01432 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
 ;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
 ;;; Copyright © 2022 Joeke de Graaf <joeke@posteo.net>
+;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -161,7 +162,25 @@ This package contains the library.")
                            Version: ~a~@
                            Libs: -L${libdir} -lid3tag -lz~@
                            Cflags: -I${includedir}~%"
-                          out ,version)))))))))
+                          out ,version))))))
+        ,@(if (and (%current-target-system)
+                   (or (target-riscv64?)
+                       (target-aarch64?)))
+              `((add-after 'unpack 'update-config
+                  (lambda* (#:key native-inputs inputs #:allow-other-keys)
+                    (for-each
+                     (lambda (file)
+                       (install-file
+                        (search-input-file (or native-inputs inputs)
+                                           (string-append "/bin/" file))
+                        "."))
+                     '("config.guess" "config.sub")))))
+              '()))))
+   (native-inputs (if (and (%current-target-system)
+                           (or (target-riscv64?)
+                               (target-aarch64?)))
+                      (list config)
+                      '()))
    (inputs (list zlib))
    (synopsis "Library for reading ID3 tags")
    (description
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index dc827a4670..e462f0f01d 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -623,7 +623,7 @@ mpdevil loads all tags and covers on demand.")
 (define-public mympd
   (package
     (name "mympd")
-    (version "13.0.5")
+    (version "13.0.6")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -632,7 +632,7 @@ mpdevil loads all tags and covers on demand.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1ly3iw4irybfxyafgrldldwc28a879wwnd1pg32m2sgrwyhr0czm"))))
+                "17mx6qkdcnm4z6qw0ns8wmihahcnk3kidfcr6fapa34cdadsjapg"))))
     (outputs '("out" "doc"))
     (build-system cmake-build-system)
     (arguments
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index dad217beb0..c3796f7328 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)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 7993dbaa73..a8c497da95 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1332,7 +1332,6 @@ Knuth’s LR(1) parser construction technique.")
                  (substitute* "config.make"
                    ((ocaml) out))
                  #t))))))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-lablgtk))))
     (home-page "http://lablgtk.forge.ocamlcore.org/")
     (synopsis "GTK+ bindings for OCaml")
     (description
@@ -1346,16 +1345,6 @@ libglade (and it an generate OCaml code from .glade files),
 libpanel, librsvg and quartz.")
     (license license:lgpl2.1)))
 
-(define-public ocaml4.07-lablgtk
-  (package
-    (inherit lablgtk)
-    (name "ocaml4.07-lablgtk")
-    (native-inputs
-     `(("ocaml" ,ocaml-4.07)
-       ("findlib" ,ocaml4.07-findlib)
-       ("pkg-config" ,pkg-config)))
-    (properties '())))
-
 (define-public unison
   (package
     (name "unison")
@@ -1638,8 +1627,7 @@ for speed and space economy.")
              (for-each make-file-writable (find-files "." ".")))))))
     (native-inputs
      (list ocaml-menhir ocaml-odoc))
-    (properties `((upstream-name . "FrontC")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-frontc))))
+    (properties `((upstream-name . "FrontC")))
     (home-page "https://www.irit.fr/FrontC")
     (synopsis "C parser and lexer library")
     (description "FrontC is an OCAML library providing a C parser and lexer.
@@ -1648,45 +1636,6 @@ It provides support for ANSI C syntax, old-C K&R style syntax and the standard
 GNU CC attributes.  It provides also a C pretty printer as an example of use.")
     (license license:lgpl2.1)))
 
-(define-public ocaml4.07-frontc
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-frontc)
-      (version "3.4.2")
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/mirage/ocaml-base64")
-                       (commit (string-append
-                                 "V_" (string-join (string-split version #\.) "_")))))
-                (file-name (git-file-name "ocaml-frontc" version))
-                (sha256
-                 (base32
-                  "0k7jk9hkglnkk27s62xl493jyqc017gyvwqb1lyc0ywbb001s102"))))
-      (build-system ocaml-build-system)
-      (arguments
-       `(#:phases
-         (modify-phases %standard-phases
-           (delete 'configure)
-           (add-after 'install 'install-meta
-             (lambda* (#:key outputs #:allow-other-keys)
-               (let ((out (assoc-ref outputs "out")))
-                 (with-output-to-file
-                     (string-append out "/lib/ocaml/frontc/META")
-                   (lambda _
-                     (display
-                      (string-append
-                       "description = \"Parser for the C language\"
-version = \"" ,version "\"
-requires = \"unix\"
-archive(byte) = \"frontc.cma\"
-archive(native) = \"frontc.cmxa\""))))
-                 (symlink (string-append out "/lib/ocaml/frontc")
-                          (string-append out "/lib/ocaml/FrontC"))))))
-         #:make-flags ,#~(list (string-append "PREFIX=" #$output)
-                               "OCAML_SITE=$(LIB_DIR)/ocaml/")))
-      (properties '()))))
-
 (define-public ocaml-qcheck
   (package
     (name "ocaml-qcheck")
@@ -1705,7 +1654,6 @@ archive(native) = \"frontc.cmxa\""))))
      (list ocaml-alcotest ocaml-ounit ocaml-ppxlib))
     (native-inputs
      (list ocamlbuild))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-qcheck))))
     (home-page "https://github.com/c-cube/qcheck")
     (synopsis "QuickCheck inspired property-based testing for OCaml")
     (description "QuickCheck inspired property-based testing for OCaml. This
@@ -1714,22 +1662,6 @@ generated instances of the type. It provides combinators for generating
 instances and printing them.")
     (license license:lgpl3+)))
 
-(define-public ocaml4.07-qcheck
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-qcheck)
-      (version "0.12")
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/c-cube/qcheck")
-                      (commit version)))
-                (file-name (git-file-name "ocaml-qcheck" version))
-                (sha256
-                 (base32
-                  "1llnfynhlndwyjig7wrayjnds2b3mggp5lw20dwxhn2i2lkkb22m"))))
-      (properties '()))))
-
 (define-public ocaml-qtest
   (package
     (name "ocaml-qtest")
@@ -1999,60 +1931,13 @@ module of this library is parameterised by the type of S-expressions.")
     (arguments `(#:tests? #f))
     (propagated-inputs
      (list ocaml-ppx-derivers ocamlbuild ocaml-result))
-    (properties `((upstream-name . "ocaml-migrate-parsetree")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-migrate-parsetree))))
+    (properties `((upstream-name . "ocaml-migrate-parsetree")))
     (synopsis "OCaml parsetree converter")
     (description "This library converts between parsetrees of different OCaml
 versions.  For each version, there is a snapshot of the parsetree and conversion
 functions to the next and/or previous version.")
     (license license:lgpl2.1+)))
 
-;; OCaml 4.07 packages require version 1.*
-(define-public ocaml4.07-migrate-parsetree
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-migrate-parsetree)
-      (name "ocaml-migrate-parsetree")
-      (version "1.8.0")
-      (home-page "https://github.com/ocaml-ppx/ocaml-migrate-parsetree")
-      (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
-           "16x8sxc4ygxrr1868qpzfqyrvjf3hfxvjzmxmf6ibgglq7ixa2nq"))))
-      (properties '((upstream-name . "ocaml-migrate-parsetree"))))))
-
-(define-public ocaml4.07-ppx-tools-versioned
-  (package-with-ocaml4.07
-    (package
-      (name "ocaml-ppx-tools-versioned")
-      (version "5.4.0")
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/ocaml-ppx/ppx_tools_versioned")
-                       (commit version)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "07lnj4yzwvwyh5fhpp1dxrys4ddih15jhgqjn59pmgxinbnddi66"))))
-      (build-system dune-build-system)
-      (arguments
-       `(#:package "ppx_tools_versioned"))
-      (propagated-inputs
-       (list ocaml-migrate-parsetree))
-      (properties `((upstream-name . "ppx_tools_versioned")))
-      (home-page "https://github.com/let-def/ppx_tools_versioned")
-      (synopsis "Variant of ppx_tools")
-      (description "This package is a variant of ppx_tools based on
-ocaml-migrate-parsetree")
-      (license license:expat))))
-
 (define-public ocaml-linenoise
   (package
     (name "ocaml-linenoise")
@@ -2104,7 +1989,6 @@ to replace readline.")
            (lambda _
              (invoke "dune" "upgrade")
              #t)))))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-bitstring))))
     (home-page "https://github.com/xguerin/bitstring")
     (synopsis "Bitstrings and bitstring matching for OCaml")
     (description "Adds Erlang-style bitstrings and matching over bitstrings as
@@ -2114,23 +1998,6 @@ as primitives to the language, making it exceptionally simple to use and very
 powerful.")
     (license license:isc)))
 
-(define-public ocaml4.07-bitstring
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-bitstring)
-      (version "3.1.0")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "https://bitbucket.org/thanatonauts/bitstring/"
-                                    "get/v" version ".tar.gz"))
-                (file-name (string-append "ocaml-bitsring-" version ".tar.gz"))
-                (sha256
-                 (base32
-                  "15jjk2pq1vx311gl49s5ag6x5y0654x35w75z07g7kr2q334hqps"))))
-      (propagated-inputs
-       `(("ocaml-ppx-tools-versioned" ,ocaml4.07-ppx-tools-versioned)))
-      (properties '()))))
-
 (define-public ocaml-ppx-bitstring
   (package
     (inherit ocaml-bitstring)
@@ -2146,7 +2013,7 @@ powerful.")
     (description
      "This package provides a way to write bitstrings and matching over
 bitsrings in Erlang style as primitives to the language.")))
- 
+
 (define-public ocaml-result
   (package
     (name "ocaml-result")
@@ -2189,7 +2056,7 @@ defined in this library.")
      `(#:dune ,ocaml5.0-dune-bootstrap
        #:ocaml ,ocaml-5.0
        #:findlib ,ocaml5.0-findlib))))
- 
+
 (define-public ocaml-topkg
   (package
     (name "ocaml-topkg")
@@ -2219,7 +2086,7 @@ provides an API to describe the files a package installs in a given build
 configuration and to specify information about the package's distribution,
 creation and publication procedures.")
     (license license:isc)))
- 
+
 (define-public ocaml-rresult
   (package
     (name "ocaml-rresult")
@@ -2265,7 +2132,6 @@ library.")
         (base32
          "1ksm0a490315sf0yy8lmva5f3bgr0jnllffanyq89431grpj6x15"))))
     (build-system dune-build-system)
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-sqlite3))))
     (propagated-inputs
      (list dune-configurator ocaml-odoc))
     (native-inputs
@@ -2281,32 +2147,6 @@ coexistence with the old (version 2) SQLite and its OCaml wrapper
 @code{ocaml-sqlite}.")
     (license license:expat)))
 
-(define-public ocaml4.07-sqlite3
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-sqlite3)
-     (version "5.0.2")
-     (source
-      (origin
-        (method git-fetch)
-        (uri (git-reference
-               (url "https://github.com/mmottl/sqlite3-ocaml")
-               (commit version)))
-        (file-name (git-file-name "ocaml-sqlite3" version))
-        (sha256
-         (base32
-          "15mmq7ak5facpfawfrc6hjz211gli7jab52iqdsihfvh790xm55f"))))
-     (arguments
-      `(#:phases
-        (modify-phases %standard-phases
-         (add-before 'build 'chmod
-           (lambda _
-             (for-each (lambda (file) (chmod file #o644)) (find-files "." ".*"))
-             #t)))))
-     (propagated-inputs
-      `(("ocaml-odoc" ,ocaml-odoc)))
-     (properties '()))))
-
 (define-public ocaml-csv
   (package
     (name "ocaml-csv")
@@ -2440,7 +2280,6 @@ dates and times.")
                (("Sys.readdir dir")
                 "let a = Sys.readdir dir in Array.sort String.compare a; a"))
              #t)))))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-cmdliner))))
     (home-page "https://erratique.ch/software/cmdliner")
     (synopsis "Declarative definition of command line interfaces for OCaml")
     (description "Cmdliner is a module for the declarative definition of command
@@ -2451,20 +2290,6 @@ generation. It supports programs with single or multiple commands and respects
 most of the POSIX and GNU conventions.")
     (license license:bsd-3)))
 
-(define-public ocaml4.07-cmdliner
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-cmdliner)
-      (version "1.0.4")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "https://erratique.ch/software/cmdliner/releases/"
-                                    "cmdliner-" version ".tbz"))
-                (sha256
-                 (base32
-                  "1h04q0zkasd0mw64ggh4y58lgzkhg6yhzy60lab8k8zq9ba96ajw"))))
-      (properties '()))))
-
 (define-public ocaml-fmt
   (package
     (name "ocaml-fmt")
@@ -2491,27 +2316,12 @@ most of the POSIX and GNU conventions.")
                  #:phases
                  (modify-phases %standard-phases
                    (delete 'configure))))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-fmt))))
     (home-page "https://erratique.ch/software/fmt")
     (synopsis "OCaml Format pretty-printer combinators")
     (description "Fmt exposes combinators to devise Format pretty-printing
 functions.")
     (license license:isc)))
 
-(define-public ocaml4.07-fmt
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-fmt)
-      (version "0.8.9")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "http://erratique.ch/software/fmt/releases/fmt-"
-                                    version ".tbz"))
-                (sha256
-                 (base32
-                  "0gkkkj4x678vxdda4xaw2dd44qjacavsvn5nx8gydfwah6pjbkxk"))))
-      (properties '()))))
-
 (define-public ocaml-astring
   (package
     (name "ocaml-astring")
@@ -2579,7 +2389,6 @@ immutability.")
            ocaml-stdlib-shims
            ocaml-uuidm
            ocaml-uutf))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-alcotest))))
     (home-page "https://github.com/mirage/alcotest")
     (synopsis "Lightweight OCaml test framework")
     (description "Alcotest exposes simple interface to perform unit tests.  It
@@ -2590,24 +2399,6 @@ displayed at the end of the run (with the full logs ready to inspect), with a
 simple (yet expressive) query language to select the tests to run.")
     (license license:isc)))
 
-(define-public ocaml4.07-alcotest
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-alcotest)
-      (version "1.0.1")
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/mirage/alcotest")
-                      (commit version)))
-                (file-name (git-file-name "ocaml-alcotest" version))
-                (sha256
-                 (base32
-                  "1frwi185z4aadmaf0vp8xk5227nyg7nmh28ijj5l7ncjr5slvhz8"))))
-      (arguments
-       `(#:package "alcotest"))
-      (properties '()))))
-
 (define-public ocaml-expect-test-helpers-core
   (package
     (name "ocaml-expect-test-helpers-core")
@@ -3034,26 +2825,8 @@ OCaml with fibers.")
 make it easy to run normally-blocking I/O operations concurrently in a single
 process.  Also, in many cases, Lwt threads can interact without the need for
 locks or other synchronization primitives.")
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-lwt))))
     (license license:lgpl2.1)))
 
-(define-public ocaml4.07-lwt
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-lwt)
-     (name "ocaml-lwt")
-     (version "5.5.0")
-     (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-                (url "https://github.com/ocsigen/lwt")
-                (commit version)))
-         (file-name (git-file-name name version))
-         (sha256 (base32
-                  "1jbjz2rsz3j56k8vh5qlmm87hhkr250bs2m3dvpy9vsri8rkzj9z"))))
-     (properties '()))))
-
 ;; TODO this alias is not ideal but ocaml-lwt already explicitly specifies a
 ;; package argument and at least this way the importer doesn't try to
 ;; re-import it.
@@ -3567,32 +3340,11 @@ and consumable.")
            (sha256
             (base32
              "0gsb1jpj3mnqbjgbavi4l95gl6g4agq58j82km22fdfg63j3w3fk"))))))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-sedlex))))
     (home-page "https://www.cduce.org/download.html#side")
     (synopsis "Lexer generator for Unicode and OCaml")
     (description "Lexer generator for Unicode and OCaml.")
     (license license:expat)))
 
-(define-public ocaml4.07-sedlex
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-sedlex)
-     (name "ocaml-sedlex")
-     (version "2.1")
-     (source (origin
-               (method git-fetch)
-               (uri (git-reference
-                     (url "https://github.com/ocaml-community/sedlex")
-                     (commit (string-append "v" version))))
-               (file-name (git-file-name name version))
-               (sha256
-                (base32
-                 "05f6qa8x3vhpdz1fcnpqk37fpnyyq13icqsk2gww5idjnh6kng26"))))
-     (propagated-inputs
-      `(("ocaml-ppx-tools-versioned" ,ocaml4.07-ppx-tools-versioned)
-        ,@(package-propagated-inputs ocaml-sedlex)))
-     (properties '()))))
-
 (define-public ocaml-uchar
   (package
     (name "ocaml-uchar")
@@ -3738,7 +3490,7 @@ without a complete in-memory representation.")
 the JSON data format.  It can process JSON text without blocking on IO and
 without a complete in-memory representation of the data.")
     (license license:isc)))
- 
+
 (define-public ocaml-ocp-indent
   (package
     (name "ocaml-ocp-indent")
@@ -3773,7 +3525,7 @@ This package includes:
       fault-tolerant and approximate parsing.
 @end itemize")
     (license license:lgpl2.1)))
- 
+
 (define-public ocaml-ocp-index
   (package
     (name "ocaml-ocp-index")
@@ -4302,7 +4054,6 @@ multitude of other network protocols (FTP/SMTP/RTSP/etc).")
     (build-system dune-build-system)
     (native-inputs
      (list ocaml-alcotest ocaml-bos ocaml-rresult))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-base64))))
     (home-page "https://github.com/mirage/ocaml-base64")
     (synopsis "Base64 encoding for OCaml")
     (description "Base64 is a group of similar binary-to-text encoding schemes
@@ -4310,25 +4061,6 @@ that represent binary data in an ASCII string format by translating it into a
 radix-64 representation.  It is specified in RFC 4648.")
     (license license:isc)))
 
-(define-public ocaml4.07-base64
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-base64)
-      (version "3.2.0")
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/mirage/ocaml-base64")
-                       (commit (string-append "v" version))))
-                (file-name (git-file-name "ocaml-base64" version))
-                (sha256
-                 (base32
-                  "1ilw3zj0w6cq7i4pvr8m2kv5l5f2y9aldmv72drlwwns013b1gwy"))))
-      (arguments
-       ;; Tests are likely incompatible with our recent alcotest
-       `(#:tests? #f))
-      (properties '()))))
-
 (define-public ocamlify
   (package
     (name "ocamlify")
@@ -4491,7 +4223,6 @@ samples.")
                (("Sys.readdir dirname")
                 "let a = Sys.readdir dirname in Array.sort String.compare a; a"))
              #t)))))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-batteries))))
     (home-page "http://batteries.forge.ocamlcore.org/")
     (synopsis "Development platform for the OCaml programming language")
     (description "Define a standard set of libraries which may be expected on
@@ -4499,54 +4230,6 @@ every compliant installation of OCaml and organize these libraries into a
 hierarchy of modules.")
     (license license:lgpl2.1+)))
 
-(define-public ocaml4.07-batteries
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-batteries)
-      (version "2.10.0")
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/ocaml-batteries-team/batteries-included")
-                       (commit (string-append "v" version))))
-                (file-name (git-file-name "ocaml-batteries" version))
-                (sha256
-                 (base32
-                  "02fxa1nkp7rpiwfp04n0sagdp9lad4dh9bvljp95xfshm1cx7y4q"))))
-      (arguments
-       `(#:phases
-         (modify-phases %standard-phases
-           (delete 'check) ; tests are run by the build phase
-           (add-before 'build 'fix-nondeterminism
-             (lambda _
-               (substitute* "setup.ml"
-                 (("Sys.readdir dirname")
-                  "let a = Sys.readdir dirname in Array.sort String.compare a; a"))
-               #t))
-           (replace 'build
-             (lambda* (#:key inputs outputs #:allow-other-keys)
-               (let ((files
-                       (map (lambda (str)
-                              (substring str 0 (- (string-length str) 1)))
-                            (append
-                              (find-files "src" ".*.mliv")
-                              (find-files "src" ".*.mlv")
-                              (find-files "src" ".*.mlp")))))
-                 (apply invoke "ocamlbuild" "-no-links" "-use-ocamlfind" "-I" "num"
-                        "-lflag" "-dllpath-all" files)
-                 (for-each (lambda (file)
-                             (copy-file (string-append "_build/" file) file))
-                           files))
-               (invoke "ocamlbuild" "-no-links" "-use-ocamlfind" "-I" "num"
-                       "-lflag" "-dllpath-all" "build/mkconf.byte")
-               (copy-file "_build/build/mkconf.byte" "build/mkconf.byte")
-               (invoke "make" "all")
-               #t)))))
-      (native-inputs
-       `(("ocamlbuild" ,ocamlbuild)
-         ("qtest" ,ocaml-qtest)))
-      (properties '()))))
-
 (define-public ocaml-pcre
   (package
     (name "ocaml-pcre")
@@ -4820,7 +4503,6 @@ standard iterator type starting from 4.07.")
      (list ocaml-seq))
     (native-inputs
      `(("ounit" ,ocaml-ounit)))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-re))))
     (home-page "https://github.com/ocaml/ocaml-re/")
     (synopsis "Regular expression library for OCaml")
     (description "Pure OCaml regular expressions with:
@@ -4833,18 +4515,6 @@ standard iterator type starting from 4.07.")
 @end enumerate")
     (license license:expat)))
 
-(define-public ocaml4.07-re
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-re)
-      (arguments
-       `(#:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'fix-dune-version
-             (lambda _
-               (delete-file "dune-project"))))))
-      (properties '()))))
-
 (define-public ocaml-ocplib-endian
   (package
     (name "ocaml-ocplib-endian")
@@ -4890,7 +4560,6 @@ big- and little-endian, with their unsafe counter-parts.")
      (list ocaml-bigarray-compat))
     (native-inputs
      (list ocaml-alcotest))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-cstruct))))
     (home-page "https://github.com/mirage/ocaml-cstruct")
     (synopsis "Access C structures via a camlp4 extension")
     (description "Cstruct is a library and syntax extension to make it easier
@@ -4898,22 +4567,6 @@ to access C-like structures directly from OCaml.  It supports both reading and
 writing to these structures, and they are accessed via the Bigarray module.")
     (license license:isc)))
 
-(define-public ocaml4.07-cstruct
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-cstruct)
-      (version "5.1.1")
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/mirage/ocaml-cstruct")
-                       (commit (string-append "v" version))))
-                (file-name (git-file-name "ocaml-cstruct" version))
-                (sha256
-                 (base32
-                  "0jj3whs8r3jc524i9bb67rffh7y7r157hjgvws0bkxijxpjzwkbk"))))
-      (properties '()))))
-
 ;; TODO again, the "parent" package already has an explicit package argument,
 ;; so a variant package doesn't make sense, at least these aliases help the
 ;; importer out so it doesn't re-import things.  At least hopefully.
@@ -5005,45 +4658,7 @@ JSON.")
      (list ocaml-stringext ocaml-angstrom))
     (native-inputs
      (list ocaml-ounit ocaml-ppx-sexp-conv))
-    (properties `((upstream-name . "uri")
-                  (ocaml4.07-variant ,(delay ocaml4.07-uri))))
-    (synopsis "RFC3986 URI/URL parsing library")
-    (description "OCaml-uri is a library for parsing URI/URL in the RFC3986 format.")
-    (license license:isc)))
-
-(define-public ocaml4.07-uri
-  (package
-    (name "ocaml4.07-uri")
-    (version "2.2.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/mirage/ocaml-uri")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "1ppbav41mszpjcl0zi3fyg958cxyfs57i7kvha4ds9ydn89bjmrh"))))
-    (build-system dune-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'build 'update-deprecated
-           (lambda _
-             (substitute* "lib/uri.ml"
-               (("Re.get") "Re.Group.get")))))
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
-    (native-inputs
-     `(("ocaml-ounit" ,(package-with-ocaml4.07 ocaml-ounit))
-       ("ocaml-ppx-sexp-conv" ,(package-with-ocaml4.07 ocaml-ppx-sexp-conv))))
-    (propagated-inputs
-     `(("ocaml-re" ,(package-with-ocaml4.07 ocaml-re))
-       ("ocaml-sexplib0" ,(package-with-ocaml4.07 ocaml-sexplib0))
-       ("ocaml-stringext" ,(package-with-ocaml4.07 ocaml-stringext))))
     (properties `((upstream-name . "uri")))
-    (home-page "https://github.com/mirage/ocaml-uri")
     (synopsis "RFC3986 URI/URL parsing library")
     (description "OCaml-uri is a library for parsing URI/URL in the RFC3986 format.")
     (license license:isc)))
@@ -5157,7 +4772,6 @@ tool and piqi-ocaml.")
     (propagated-inputs
      `(("cmdliner" ,ocaml-cmdliner)
        ("topkg" ,ocaml-topkg)))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-uuidm))))
     (home-page "https://erratique.ch/software/uuidm")
     (synopsis "Universally unique identifiers for OCaml")
     (description "Uuidm is an OCaml module implementing 128 bits universally
@@ -5165,20 +4779,6 @@ unique identifiers (UUIDs) version 3, 5 (named based with MD5, SHA-1 hashing)
 and 4 (random based) according to RFC 4122.")
     (license license:isc)))
 
-(define-public ocaml4.07-uuidm
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-uuidm)
-      (version "0.9.7")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "http://erratique.ch/software/uuidm/"
-                                    "releases/uuidm-" version ".tbz"))
-                (sha256
-                 (base32
-                  "1ivxb3hxn9bk62rmixx6px4fvn52s4yr1bpla7rgkcn8981v45r8"))))
-      (properties '()))))
-
 (define-public ocaml-graph
   (package
     (name "ocaml-graph")
@@ -5452,7 +5052,6 @@ function that follows the prototype of POSIX's wcwidth.")
            ocaml-uucp
            ocaml-uuseg
            ocaml-odoc))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-zed))))
     (synopsis "Abstract engine for text edition in OCaml")
     (description
      "This module provides an abstract engine for text edition.  It can be
@@ -5464,26 +5063,6 @@ regular expression search on ropes.  To support efficient text edition
 capabilities, Zed provides macro recording and cursor management facilities.")
     (license license:bsd-3)))
 
-(define-public ocaml4.07-zed
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-zed)
-     (version "2.0.3")
-     (source (origin
-               (method git-fetch)
-               (uri (git-reference
-                     (url "https://github.com/ocaml-community/zed")
-                     (commit version)))
-               (file-name (git-file-name "ocaml4.07-zed" version))
-               (sha256
-                (base32
-                 "0pa9awinqr0plp4b2az78dwpvh01pwaljnn5ydg8mc6hi7rmir55"))))
-    (propagated-inputs
-     `(("ocaml-charInfo-width" ,ocaml-charinfo-width)
-       ("ocaml-camomile" ,ocaml-camomile)
-       ("ocaml-react" ,ocaml-react)))
-     (properties '()))))
-
 (define-public ocaml-lambda-term
   (package
     (name "ocaml-lambda-term")
@@ -5507,7 +5086,6 @@ capabilities, Zed provides macro recording and cursor management facilities.")
            ocaml-odoc
            ocaml-react
            ocaml-zed))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-lambda-term))))
     (synopsis "Terminal manipulation library for OCaml")
     (description "Lambda-Term is a cross-platform library for manipulating the
 terminal.  It provides an abstraction for keys, mouse events, colors, as well as
@@ -5517,27 +5095,6 @@ manipulation than, for example, ncurses, by providing a native OCaml interface
 instead of bindings to a C library.")
     (license license:bsd-3)))
 
-(define-public ocaml4.07-lambda-term
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-lambda-term)
-     (version "2.0.2")
-     (source
-      (origin
-        (method git-fetch)
-        (uri (git-reference
-              (url "https://github.com/ocaml-community/lambda-term")
-              (commit version)))
-        (file-name (git-file-name "ocaml4.07-lambda-term" version))
-        (sha256
-         (base32 "0zcjy6fvf0d3i2ssz96asl889n3r6bplyzk7xvb2s3dkxbgcisyy"))))
-     (propagated-inputs
-      `(("ocaml-lwt" ,ocaml-lwt)
-        ("ocaml-lwt-log" ,ocaml-lwt-log)
-        ("ocaml-lwt-react" ,ocaml-lwt-react)
-        ("ocaml-zed" ,ocaml-zed)))
-     (properties '()))))
-
 (define-public ocaml-utop
   (package
     (name "ocaml-utop")
@@ -5561,7 +5118,6 @@ instead of bindings to a C library.")
            ocaml-lwt-react
            ocaml-react
            ocaml-zed))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-utop))))
     (home-page "https://github.com/ocaml-community/utop")
     (synopsis "Improved interface to the OCaml toplevel")
     (description "UTop is an improved toplevel for OCaml.  It can run in a
@@ -5569,28 +5125,6 @@ terminal or in Emacs.  It supports line editing, history, real-time and context
 sensitive completion, colors, and more.")
     (license license:bsd-3)))
 
-(define-public ocaml4.07-utop
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-utop)
-     (version "2.4.3")
-     (source
-      (origin
-        (method git-fetch)
-        (uri (git-reference
-              (url "https://github.com/ocaml-community/utop")
-              (commit version)))
-        (file-name (git-file-name "ocaml4.07-utop" version))
-        (sha256
-         (base32 "1bl4943qpi3qy152dbdm5glhx19zsiylmn4rcxi8l66g58hikyjp"))))
-     (propagated-inputs
-      `(("ocaml-lambda-term" ,ocaml-lambda-term)
-        ("ocaml-lwt" ,ocaml-lwt)
-        ("ocaml-react" ,ocaml-react)
-        ("ocaml-camomile" ,ocaml-camomile)
-        ("ocaml-zed" ,ocaml-zed)))
-     (properties '()))))
-
 (define-public ocaml-ansiterminal
   (package
     (name "ocaml-ansiterminal")
@@ -5879,7 +5413,6 @@ recommend using this package directly.")
       "1r27r0bxxa0iaah5rm84lwhrmh784vfpmb6056hpv0p34rxs7r1l"))
     (build-system dune-build-system)
     (arguments '(#:tests? #f))           ; no tests
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-jane-street-headers))))
     (home-page "https://github.com/janestreet/jane-street-headers")
     (synopsis "Jane Street C header files")
     (description "C header files shared between the various Jane Street
@@ -5934,40 +5467,13 @@ since the start of the Unix epoch.")
            ocaml-stdio
            ocaml-ppxlib
            ocaml-time-now))
-    (properties `((upstream-name . "ppx_inline_test")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-inline-test))))
+    (properties `((upstream-name . "ppx_inline_test")))
     (synopsis "Syntax extension for writing in-line tests in ocaml code")
     (description "This package contains a syntax extension for writing
 in-line tests in ocaml code.  It is part of Jane Street's PPX rewriters
 collection.")
     (license license:expat)))
 
-(define-public ocaml4.07-ppx-inline-test
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-ppx-inline-test)
-     (name "ocaml-ppx-inline-test")
-     (version "0.12.0")
-     (home-page "https://github.com/janestreet/ppx_inline_test")
-     (source
-      (origin
-        (method git-fetch)
-        (uri (git-reference
-              (url (string-append home-page ".git"))
-              (commit (string-append "v" version))))
-        (file-name (git-file-name name version))
-        (sha256
-         (base32
-          "0nyz411zim94pzbxm2l2v2l9jishcxwvxhh142792g2s18r4vn50"))))
-    (propagated-inputs
-     `(("ocaml-base" ,ocaml-base)
-       ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
-       ("ocaml-compiler-libs" ,ocaml-compiler-libs)
-       ("ocaml-sexplib0" ,ocaml-sexplib0)
-       ("ocaml-stdio" ,ocaml-stdio)
-       ("ocaml-ppxlib" ,ocaml-ppxlib)))
-    (properties `((upstream-name . "ppx_inline_test"))))))
-
 (define-public ocaml-bindlib
   (package
     (name "ocaml-bindlib")
@@ -6108,7 +5614,7 @@ speedup, polymorphic variants and optional syntax for tuples and variants.
 yojson package.  The program @code{atdgen} can be used to derive OCaml-JSON
 serializers and deserializers from type definitions.")
     (license license:bsd-3)))
- 
+
 (define-public ocaml-merlin-lib
   (package
     (name "ocaml-merlin-lib")
@@ -6264,27 +5770,6 @@ Atom.")
 the OCaml language.")
     (license license:gpl3+)))
 
-(define-public ocaml4.07-gsl-1
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-gsl)
-      (version "1.19.3")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "https://github.com/mmottl/gsl-ocaml"
-                                    "/releases/download/v"
-                                    version "/gsl-ocaml-" version ".tar.gz"))
-                (sha256
-                 (base32
-                  "0nzp43hp8pbjqkrxnwp5lgjrabxayf61h18fjaydi0s5faq6f3xh"))))
-      (build-system ocaml-build-system)
-      (inputs
-       `(("gsl" ,gsl-static)))
-      (native-inputs
-       `(("ocamlbuild" ,ocamlbuild)))
-      (arguments '())
-      (propagated-inputs '()))))
-
 (define-public cubicle
   (package
     (name "cubicle")
@@ -6364,7 +5849,6 @@ exclusion algorithms are typical examples of such systems.")
                 "05m93g4m4jhj1v8pazg3s2ydcfymr3h4476yjhdca5fm4sn35bg8"))))
     (build-system dune-build-system)
     (arguments `(#:tests? #f)) ;no tests
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-sexplib0))))
     (synopsis "Library containing the definition of S-expressions and some
 base converters")
     (description "Part of Jane Street's Core library The Core suite of
@@ -6372,18 +5856,6 @@ libraries is an industrial strength alternative to OCaml's standard library
 that was developed by Jane Street, the largest industrial user of OCaml.")
     (license license:expat)))
 
-(define-public ocaml4.07-sexplib0
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-sexplib0)
-     (name "ocaml-sexplib0")
-     (version "0.11.0")
-     (source
-      (janestreet-origin "sexplib0" version
-                         "1p06p2s7p9xsjn0z9qicniv1ai54d8sj11k8j633di2mm7jzxpin"))
-     (arguments `(#:tests? #f))         ; no tests
-     (properties '()))))
-
 (define-public ocaml-parsexp
   (package
     (name "ocaml-parsexp")
@@ -6401,7 +5873,6 @@ that was developed by Jane Street, the largest industrial user of OCaml.")
     (build-system dune-build-system)
     (inputs
      (list ocaml-sexplib0 ocaml-base))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-parsexp))))
     (synopsis "S-expression parsing library")
     (description
      "This library provides generic parsers for parsing S-expressions from
@@ -6430,17 +5901,6 @@ s-expressions from files or other external sources, you should use
 parsexp_io.")
     (license license:expat)))
 
-(define-public ocaml4.07-parsexp
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-parsexp)
-     (name "ocaml-parsexp")
-     (version "0.11.0")
-     (source
-      (janestreet-origin "parsexp" version
-                         "11a30zkfgbi6pb4whq22k1zc8ghdp9bwxl5s5cdlmx1z8s4yxsf0"))
-     (properties '()))))
-
 (define-public ocaml-sexplib
   (package
     (name "ocaml-sexplib")
@@ -6458,7 +5918,6 @@ parsexp_io.")
     (build-system dune-build-system)
     (propagated-inputs
      (list ocaml-base ocaml-num ocaml-parsexp ocaml-sexplib0))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-sexplib))))
     (synopsis
      "Library for serializing OCaml values to and from S-expressions")
     (description
@@ -6466,16 +5925,6 @@ parsexp_io.")
 functionality for parsing and pretty-printing s-expressions.")
     (license license:expat)))
 
-(define-public ocaml4.07-sexplib
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-sexplib)
-     (version "0.11.0")
-     (source
-      (janestreet-origin "sexplib" version
-                         "0ksx62zsxhz8xmdrsn41n2hbc2qbyh3bxxc6946xisvgwh42h3q3"))
-     (properties '()))))
-
 (define-public ocaml-sexp-pretty
   (package
     (name "ocaml-sexp-pretty")
@@ -6517,8 +5966,7 @@ rules than the default pretty printer in Sexplib.")
     (build-system dune-build-system)
     (propagated-inputs
      (list ocaml-sexplib0))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-base))
-                  (ocaml5.0-variant . ,(delay ocaml5.0-base))))
+    (properties `((ocaml5.0-variant . ,(delay ocaml5.0-base))))
     (synopsis
      "Full standard library replacement for OCaml")
     (description
@@ -6555,25 +6003,6 @@ provided by companion libraries such as
            "15vsiv3q53l1bzrvqgspf3lp2104s9dzw62z3nl75f53jvjvsyf6"))))
       (properties '())))))
 
-(define-public ocaml4.07-base
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-base)
-     (name "ocaml-base")
-     (version "0.11.1")
-     (source
-      (origin
-        ;; version 0.11.1 is not released on ocaml.janestreet.org.
-        (method git-fetch)
-        (uri (git-reference
-              (url "https://github.com/janestreet/base.git")
-              (commit (string-append "v" version))))
-        (file-name (git-file-name name version))
-        (sha256
-         (base32
-          "0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir"))))
-     (properties '()))))
-
 (define-public ocaml-compiler-libs
   (package
     (name "ocaml-compiler-libs")
@@ -6591,33 +6020,13 @@ provided by companion libraries such as
          "00if2f7j9d8igdkj4rck3p74y17j6b233l91mq02drzrxj199qjv"))))
     (build-system dune-build-system)
     (arguments `(#:tests? #f)) ;no tests
-    (properties `((upstream-name . "ocaml-compiler-libs")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-compiler-libs))))
+    (properties `((upstream-name . "ocaml-compiler-libs")))
     (synopsis "Compiler libraries repackaged")
     (description "This package simply repackages the OCaml compiler libraries
 so they don't expose everything at toplevel.  For instance, @code{Ast_helper}
 is now @code{Ocaml_common.Ast_helper}.")
     (license license:expat)))
 
-(define-public ocaml4.07-compiler-libs
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-compiler-libs)
-     (name "ocaml-compiler-libs")
-     (version "0.11.0")
-     (home-page "https://github.com/janestreet/ocaml-compiler-libs")
-     (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
-          "03jds7bszh8wwpfwxb3dg0gyr1j1872wxwx1xqhry5ir0i84bg0s"))))
-     (properties `((upstream-name . "ocaml-compiler-libs"))))))
-
 (define-public ocaml-stdio
   (package
     (name "ocaml-stdio")
@@ -6630,7 +6039,6 @@ is now @code{Ocaml_common.Ast_helper}.")
     (propagated-inputs
      (list ocaml-base ocaml-sexplib0))
     (arguments `(#:tests? #f)) ;no tests
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-stdio))))
     (synopsis "Standard IO library for OCaml")
     (description
      "Stdio implements simple input/output functionalities for OCaml.  It
@@ -6638,16 +6046,6 @@ re-exports the input/output functions of the OCaml standard libraries using
 a more consistent API.")
     (license license:expat)))
 
-(define-public ocaml4.07-stdio
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-stdio)
-     (version "0.11.0")
-     (source
-      (janestreet-origin "stdio" version
-                         "0pqbp2wy5fgmc38irwvmj9nlcvclb1ix1mp4y7l39bgvvlz303h9"))
-     (properties '()))))
-
 (define-public ocaml-ppx-deriving
   (package
     (name "ocaml-ppx-deriving")
@@ -6779,7 +6177,6 @@ the OCaml code.")
      (list ocaml-stdio
            ocaml-cinaps
            ocaml-base))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-ppxlib))))
     (synopsis
      "Base library and tools for ppx rewriters")
     (description
@@ -6797,46 +6194,6 @@ OCaml AST in the OCaml syntax;
 @end itemize")
     (license license:expat)))
 
-(define-public ocaml4.07-ppxlib
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-ppxlib)
-     (name "ocaml-ppxlib")
-     (version "0.6.0")
-     (home-page "https://github.com/ocaml-ppx/ppxlib")
-     (source
-      (origin
-        (method git-fetch)
-        (uri (git-reference
-              (url home-page)
-              (commit version)))
-        (file-name (git-file-name name version))
-        (sha256
-         (base32
-          "0my9x7sxb329h0lzshppdaawiyfbaw6g5f41yiy7bhl071rnlvbv"))))
-     (build-system dune-build-system)
-     (arguments
-      `(#:phases
-        (modify-phases %standard-phases
-          (add-before 'check 'set-topfind
-            (lambda* (#:key inputs #:allow-other-keys)
-              ;; add the line #directory ".." at the top of each file
-              ;; using #use "topfind";; to be able to find topfind
-              (let* ((findlib-path (assoc-ref inputs "findlib"))
-                     (findlib-libdir
-                      (string-append findlib-path "/lib/ocaml/site-lib")))
-                (substitute* '("test/base/test.ml"
-                               "test/code_path/test.ml"
-                               "test/deriving/test.ml"
-                               "test/driver/attributes/test.ml"
-                               "test/driver/non-compressible-suffix/test.ml"
-                               "test/driver/transformations/test.ml")
-                  (("#use \"topfind\";;" all)
-                   (string-append "#directory \"" findlib-libdir "\"\n"
-                                  all))))
-              #t)))))
-     (properties '()))))
-
 (define-public ocaml-ppx-compare
   (package
     (name "ocaml-ppx-compare")
@@ -6851,8 +6208,7 @@ OCaml AST in the OCaml syntax;
      '(#:tests? #f))
     (propagated-inputs
      (list ocaml-base ocaml-migrate-parsetree ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_compare")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-compare))))
+    (properties `((upstream-name . "ppx_compare")))
     (home-page "https://github.com/janestreet/ppx_compare")
     (synopsis "Generation of comparison functions from types")
     (description "Generation of fast comparison functions from type expressions
@@ -6863,24 +6219,6 @@ flexibility by allowing you to override them for a specific type and more safety
 by making sure that you only compare comparable values.")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-ppx-compare
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-ppx-compare)
-     (name "ocaml-ppx-compare")
-     (version "0.11.1")
-     (home-page "https://github.com/janestreet/ppx_compare")
-     (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
-                 "06bq4m1bsm4jlx4g7wh5m99qky7xm4c2g52kaz6pv25hdn5agi2m"))))
-     (properties `((upstream-name . "ppx_compare"))))))
-
 (define-public ocaml-fieldslib
   (package
     (name "ocaml-fieldslib")
@@ -6892,8 +6230,7 @@ by making sure that you only compare comparable values.")
     (arguments `(#:tests? #f)) ; No tests
     (propagated-inputs
      (list ocaml-base ocaml-migrate-parsetree ocaml-ppxlib))
-    (properties `((upstream-name . "fieldslib")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-fieldslib))))
+    (properties `((upstream-name . "fieldslib")))
     (home-page "https://github.com/janestreet/fieldslib")
     (synopsis "Syntax extension to record fields")
     (description "Syntax extension to define first class values representing
@@ -6901,16 +6238,6 @@ record fields, to get and set record fields, iterate and fold over all fields
 of a record and create new record values.")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-fieldslib
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-fieldslib)
-     (version "0.11.0")
-     (source (janestreet-origin
-              "fieldslib" version
-              "12948pzxrl360lybm9fzyvplgcl87zjbn4m3sk1aw75zk85p1388"))
-     (properties `((upstream-name . "fieldslib"))))))
-
 (define-public ocaml-variantslib
   (package
     (name "ocaml-variantslib")
@@ -6924,30 +6251,13 @@ of a record and create new record values.")
      `(#:tests? #f))
     (propagated-inputs
      (list ocaml-base ocaml-migrate-parsetree ocaml-ppxlib))
-    (properties `((upstream-name . "variantslib")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-variantslib))))
+    (properties `((upstream-name . "variantslib")))
     (home-page "https://github.com/janestreet/variantslib")
     (synopsis "OCaml variants as first class values")
     (description "The Core suite of libraries is an alternative to OCaml's
 standard library.")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-variantslib
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-variantslib)
-     (name "ocaml-variantslib")
-     (version "0.11.0")
-     (source (origin
-               (method url-fetch)
-               (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                   (version-major+minor version)
-                                   "/files/variantslib-v" version ".tar.gz"))
-               (sha256
-                (base32
-                 "1hsdwmkslvk4cznqr4lyyiy7vvk5spil226k0z2in26fxq6y0hf3"))))
-     (properties `((upstream-name . "variantslib"))))))
-
 (define-public ocaml-ppx-fields-conv
   (package
     (name "ocaml-ppx-fields-conv")
@@ -6967,8 +6277,7 @@ standard library.")
     (propagated-inputs
      (list ocaml-base ocaml-fieldslib ocaml-migrate-parsetree
            ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_fields_conv")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-fields-conv))))
+    (properties `((upstream-name . "ppx_fields_conv")))
     (synopsis "Generation of accessor and iteration functions for ocaml records")
     (description "Ppx_fields_conv is a ppx rewriter that can be used to define
 first class values representing record fields, and additional routines, to get
@@ -6976,16 +6285,6 @@ and set record fields, iterate and fold over all fields of a record and create
 new record values.")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-ppx-fields-conv
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-ppx-fields-conv)
-    (version "0.11.0")
-    (source (janestreet-origin
-             "ppx_fields_conv" version
-             "07zrd3qky2ppbfl55gpm90rvqa5860xgwcsvihrjmkrw6d0jirkc"))
-    (properties `((upstream-name . "ppx_fields_conv"))))))
-
 (define-public ocaml-ppx-sexp-conv
   (package
     (name "ocaml-ppx-sexp-conv")
@@ -7004,30 +6303,12 @@ new record values.")
     (build-system dune-build-system)
     (propagated-inputs
      (list ocaml-base ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_sexp_conv")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-sexp-conv))))
+    (properties `((upstream-name . "ppx_sexp_conv")))
     (synopsis "Generation of S-expression conversion functions from type definitions")
     (description "This package generates S-expression conversion functions from type
 definitions.")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-ppx-sexp-conv
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-ppx-sexp-conv)
-     (name "ocaml-ppx-sexp-conv")
-     (version "0.11.2")
-     (source (origin
-               (method git-fetch)
-               (uri (git-reference
-                     (url "https://github.com/janestreet/ppx_sexp_conv")
-                     (commit (string-append "v" version))))
-               (file-name (git-file-name name version))
-               (sha256
-                (base32
-                 "0pqwnqy1xp309wvdcaax4lg02yk64lq2w03mbgfvf6ps5ry4gis9"))))
-     (properties `((upstream-name . "ppx_sexp_conv"))))))
-
 (define-public ocaml-ppx-variants-conv
   (package
     (name "ocaml-ppx-variants-conv")
@@ -7047,8 +6328,7 @@ definitions.")
      (list ocaml-base ocaml-variantslib ocaml-migrate-parsetree
            ocaml-ppxlib))
     (properties
-     `((upstream-name . "ppx_variants_conv")
-       (ocaml4.07-variant . ,(delay ocaml4.07-ppx-variants-conv))))
+     `((upstream-name . "ppx_variants_conv")))
     (home-page
      "https://github.com/janestreet/ppx_variants_conv")
     (synopsis "Generation of accessor and iteration functions for OCaml variant types")
@@ -7057,24 +6337,6 @@ definitions.")
 variant types.")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-ppx-variants-conv
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-ppx-variants-conv)
-     (name "ocaml-ppx-variants-conv")
-     (version "0.11.1")
-     (source
-      (origin
-        (method git-fetch)
-        (uri (git-reference
-              (url "https://github.com/janestreet/ppx_variants_conv")
-              (commit (string-append "v" version))))
-        (file-name (git-file-name name version))
-        (sha256
-         (base32
-          "1yc0gsds5m2nv39zga8nnrca2n75rkqy5dz4xj1635ybz20hhbjd"))))
-    (properties `((upstream-name . "ppx_variants_conv"))))))
-
 (define-public ocaml-ppx-custom-printf
   (package
     (name "ocaml-ppx-custom-printf")
@@ -7094,24 +6356,12 @@ variant types.")
     (propagated-inputs
      (list ocaml-base ocaml-ppx-sexp-conv ocaml-migrate-parsetree
            ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_custom_printf")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-custom-printf))))
+    (properties `((upstream-name . "ppx_custom_printf")))
     (synopsis "Printf-style format-strings for user-defined string conversion")
     (description "Extensions to printf-style format-strings for user-defined
 string conversion.")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-ppx-custom-printf
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-ppx-custom-printf)
-     (version "0.11.0")
-     (source
-      (janestreet-origin
-       "ppx_custom_printf" version
-       "11b73smf3g3bpd9lg014pr4rx285nk9mnk6g6464ph51jv0sqzhj"))
-     (properties `((upstream-name . "ppx_custom_printf"))))))
-
 (define-public ocaml-bin-prot
   (package
     (name "ocaml-bin-prot")
@@ -7134,8 +6384,7 @@ string conversion.")
             ocaml-ppx-optcomp
             ocaml-ppx-sexp-conv
             ocaml-ppx-variants-conv))
-    (properties `((upstream-name . "bin_prot")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-bin-prot))))
+    (properties `((upstream-name . "bin_prot")))
     (home-page "https://github.com/janestreet/bin_prot")
     (synopsis "Binary protocol generator")
     (description "This library contains functionality for reading and writing
@@ -7146,30 +6395,6 @@ protocol is also heavily optimized for size, making it ideal for long-term
 storage of large amounts of data.")
     (license license:expat)))
 
-(define-public ocaml4.07-bin-prot
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-bin-prot)
-      (version "0.11.0")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                    (version-major+minor version)
-                                    "/files/bin_prot-v" version ".tar.gz"))
-                (sha256
-                 (base32
-                  "1rsd91gx36prj4whi76nsiz1bzpgal9nzyw3pxdz1alv4ilk2il6"))))
-      (propagated-inputs (list ocaml-base
-                               ocaml-ppx-compare
-                               ocaml-ppx-custom-printf
-                               ocaml-ppx-fields-conv
-                               ocaml-ppx-variants-conv
-                               ocaml-migrate-parsetree))
-      (properties '())
-      (license (list
-                 license:asl2.0
-                 license:bsd-3)))))
-
 (define-public ocaml-protocol-version-header
   (package
     (name "ocaml-protocol-version-header")
@@ -7258,32 +6483,13 @@ currently provides SHA1, SHA256 and SHA512 hash functions.")
     (propagated-inputs
      (list ocaml-base ocaml-ppx-compare ocaml-ppx-sexp-conv
            ocaml-migrate-parsetree ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_hash")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-hash))))
+    (properties `((upstream-name . "ppx_hash")))
     (home-page "https://github.com/janestreet/ppx_hash")
     (synopsis "Generation of hash functions from type expressions and definitions")
     (description "This package is a collection of ppx rewriters that generate
 hash functions from type exrpessions and definitions.")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-ppx-hash
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-ppx-hash)
-     (name "ocaml-ppx-hash")
-     (home-page "https://github.com/janestreet/ppx_hash")
-     (version "0.11.1")
-     (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
-                 "1p0ic6aijxlrdggpmycj12q3cy9xksbq2vq727215maz4snvlf5p"))))
-     (properties `((upstream-name . "ppx_hash"))))))
-
 (define-public ocaml-ppx-enumerate
   (package
     (name "ocaml-ppx-enumerate")
@@ -7297,8 +6503,7 @@ hash functions from type exrpessions and definitions.")
      `(#:tests? #f)) ; no test suite
     (propagated-inputs
      (list ocaml-base ocaml-migrate-parsetree ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_enumerate")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-enumerate))))
+    (properties `((upstream-name . "ppx_enumerate")))
     (home-page "https://github.com/janestreet/ppx_enumerate")
     (synopsis "Generate a list containing all values of a finite type")
     (description "Ppx_enumerate is a ppx rewriter which generates a definition
@@ -7306,24 +6511,6 @@ for the list of all values of a type (for a type which only has finitely
 many values).")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-ppx-enumerate
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-ppx-enumerate)
-     (name "ocaml-ppx-enumerate")
-     (version "0.11.1")
-     (home-page "https://github.com/janestreet/ppx_enumerate")
-     (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
-                 "0spx9k1v7vjjb6sigbfs69yndgq76v114jhxvzjmffw7q989cyhr"))))
-     (properties `((upstream-name . "ppx_enumerate"))))))
-
 (define-public ocaml-ppx-bench
   (package
     (name "ocaml-ppx-bench")
@@ -7342,31 +6529,12 @@ many values).")
      ;; No tests
      `(#:tests? #f))
     (propagated-inputs (list ocaml-ppx-inline-test ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_bench")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-bench))))
+    (properties `((upstream-name . "ppx_bench")))
     (home-page "https://github.com/janestreet/ppx_bench")
     (synopsis "Syntax extension for writing in-line benchmarks in ocaml code")
     (description "Syntax extension for writing in-line benchmarks in ocaml code.")
     (license license:expat)))
 
-(define-public ocaml4.07-ppx-bench
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-ppx-bench)
-      (version "0.11.0")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                    (version-major+minor version)
-                                    "/files/ppx_bench-v" version ".tar.gz"))
-                (sha256
-                 (base32
-                  "0ys4pblbcjbk9dn073rqiwm7r6rc7fah03j7riklkwnb5n44andl"))))
-      (propagated-inputs
-        (list ocaml-ppx-inline-test ocaml-migrate-parsetree ocaml-ppxlib))
-      (properties '())
-      (license license:asl2.0))))
-
 (define-public ocaml-ppx-here
   (package
     (name "ocaml-ppx-here")
@@ -7380,24 +6548,13 @@ many values).")
      `(#:tests? #f))
     (propagated-inputs
      (list ocaml-base ocaml-migrate-parsetree ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_here")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-here))))
+    (properties `((upstream-name . "ppx_here")))
     (home-page "https://github.com/janestreet/ppx_here")
     (synopsis "Expands [%here] into its location")
     (description
       "Part of the Jane Street's PPX rewriters collection.")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-ppx-here
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-ppx-here)
-     (version "0.11.0")
-     (source
-      (janestreet-origin "ppx_here" version
-                         "0wxcak3ay4jpigm3pfdcpr65qw4hxfa8whhkryhcd8gy71x056z5"))
-     (properties `((upstream-name . "ppx_here"))))))
-
 (define-public ocaml-typerep
   (package
     (name "ocaml-typerep")
@@ -7414,28 +6571,11 @@ many values).")
     (build-system dune-build-system)
     (arguments `(#:tests? #f)); no tests
     (propagated-inputs (list ocaml-base))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-typerep))))
     (home-page "https://github.com/janestreet/typerep")
     (synopsis "Typerep is a library for runtime types")
     (description "Typerep is a library for runtime types.")
     (license license:expat)))
 
-(define-public ocaml4.07-typerep
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-typerep)
-      (version "0.11.0")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                    (version-major+minor version)
-                                    "/files/typerep-v" version ".tar.gz"))
-                (sha256
-                 (base32
-                  "1zi7hy0prpgzqhr4lkacr04wvlvbp21jfbdfvffhrm6cd400rb5v"))))
-      (properties '())
-      (license license:asl2.0))))
-
 (define-public ocaml-ppx-sexp-value
   (package
     (name "ocaml-ppx-sexp-value")
@@ -7452,36 +6592,13 @@ many values).")
     (build-system dune-build-system)
     (propagated-inputs
       (list ocaml-base ocaml-ppx-here ocaml-ppx-sexp-conv ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_sexp_value")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-sexp-value))))
+    (properties `((upstream-name . "ppx_sexp_value")))
     (home-page "https://github.com/janestreet/ppx_sexp_value")
     (synopsis "Simplify building s-expressions from ocaml values")
     (description "@samp{ppx-sexp-value} is a ppx rewriter that simplifies
 building s-expressions from ocaml values.")
     (license license:expat)))
 
-(define-public ocaml4.07-ppx-sexp-value
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-ppx-sexp-value)
-      (version "0.11.0")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                    (version-major+minor version)
-                                    "/files/ppx_sexp_value-v" version ".tar.gz"))
-                (sha256
-                 (base32
-                  "1xnalfrln6k5khsyxvxkg6v32q8fpr4cqamsjqfih29jdv486xrs"))))
-      (propagated-inputs
-        (list ocaml-base
-              ocaml-ppx-here
-              ocaml-ppx-sexp-conv
-              ocaml-migrate-parsetree
-              ocaml-ppxlib))
-      (properties '())
-      (license license:asl2.0))))
-
 (define-public ocaml-ppx-sexp-message
   (package
     (name "ocaml-ppx-sexp-message")
@@ -7498,8 +6615,7 @@ building s-expressions from ocaml values.")
     (build-system dune-build-system)
     (propagated-inputs
       (list ocaml-base ocaml-ppx-here ocaml-ppx-sexp-conv ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_sexp_message")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-sexp-message))))
+    (properties `((upstream-name . "ppx_sexp_message")))
     (home-page "https://github.com/janestreet/ppx_sexp_message")
     (synopsis "Ppx rewriter for easy construction of s-expressions")
     (description "Ppx_sexp_message aims to ease the creation of s-expressions
@@ -7508,28 +6624,6 @@ where one needs to construct a s-expression based on various element of the
 context such as function arguments.")
     (license license:expat)))
 
-(define-public ocaml4.07-ppx-sexp-message
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-ppx-sexp-message)
-      (version "0.11.0")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                    (version-major+minor version)
-                                    "/files/ppx_sexp_message-v" version ".tar.gz"))
-                (sha256
-                 (base32
-                  "1yh440za0w9cvrbxbmqacir8715kdaw6sw24ys9xj80av9nqpiw7"))))
-      (propagated-inputs
-        (list ocaml-base
-              ocaml-ppx-here
-              ocaml-ppx-sexp-conv
-              ocaml-migrate-parsetree
-              ocaml-ppxlib))
-      (properties '())
-      (license license:asl2.0))))
-
 (define-public ocaml-ppx-pipebang
   (package
     (name "ocaml-ppx-pipebang")
@@ -7546,31 +6640,13 @@ context such as function arguments.")
     (build-system dune-build-system)
     (arguments `(#:tests? #f)); no tests
     (propagated-inputs (list ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_pipebang")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-pipebang))))
+    (properties `((upstream-name . "ppx_pipebang")))
     (home-page "https://github.com/janestreet/ppx_pipebang")
     (synopsis "Inline reverse application operators `|>` and `|!`")
     (description "A ppx rewriter that inlines reverse application operators
 @code{|>} and @code{|!}.")
     (license license:expat)))
 
-(define-public ocaml4.07-ppx-pipebang
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-ppx-pipebang)
-      (version "0.11.0")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                    (version-major+minor version)
-                                    "/files/ppx_pipebang-v" version ".tar.gz"))
-                (sha256
-                 (base32
-                  "1wrrzlb4kdvkkcmzi01fw25jar38r2jlnyn0i6pn4z0lq4gpm9m0"))))
-      (propagated-inputs (list ocaml-migrate-parsetree ocaml-ppxlib))
-      (properties '())
-      (license license:asl2.0))))
-
 (define-public ocaml-ppx-module-timer
   (package
     (name "ocaml-ppx-module-timer")
@@ -7633,8 +6709,7 @@ literal of the  form 1.0v to conversion functions currently in scope.")
     (arguments `(#:tests? #f)) ; No tests
     (propagated-inputs
      (list ocaml-base ocaml-migrate-parsetree ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_optional")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-optional))))
+    (properties `((upstream-name . "ppx_optional")))
     (home-page "https://github.com/janestreet/ppx_optional")
     (synopsis "Pattern matching on flat options")
     (description
@@ -7642,17 +6717,6 @@ literal of the  form 1.0v to conversion functions currently in scope.")
 else expression.")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-ppx-optional
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-ppx-optional)
-     (version "0.11.0")
-     (source
-      (janestreet-origin
-       "ppx_optional" version
-       "1z8z2bga95k2vksljljfglg10vygkjd24kn1b37sk4z3nmp47x0h"))
-     (properties `((upstream-name . "ppx_optional"))))))
-
 (define-public ocaml-ppx-optcomp
   (package
     (name "ocaml-ppx-optcomp")
@@ -7671,25 +6735,13 @@ else expression.")
     (build-system dune-build-system)
     (propagated-inputs
      (list ocaml-base ocaml-stdio ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_optcomp")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-optcomp))))
+    (properties `((upstream-name . "ppx_optcomp")))
     (synopsis "Optional compilation for OCaml")
     (description "Ppx_optcomp stands for Optional Compilation.  It is a tool
 used to handle optional compilations of pieces of code depending of the word
 size, the version of the compiler, ...")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-ppx-optcomp
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-ppx-optcomp)
-     (version "0.11.0")
-     (source
-      (janestreet-origin
-       "ppx_optcomp" version
-       "1bb52p2j2h4s9f06vrcpla80rj93jinnzq6jzilapyx9q068929i"))
-     (properties `((upstream-name . "ppx_optcomp"))))))
-
 (define-public ocaml-ppx-let
   (package
     (name "ocaml-ppx-let")
@@ -7700,25 +6752,13 @@ size, the version of the compiler, ...")
     (build-system dune-build-system)
     (propagated-inputs
      (list ocaml-base ocaml-migrate-parsetree ocaml-ppxlib ocaml-ppx-here))
-    (properties `((upstream-name . "ppx_let")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-let))))
+    (properties `((upstream-name . "ppx_let")))
     (home-page "https://github.com/janestreet/ppx_let")
     (synopsis "Monadic let-bindings")
     (description "A ppx rewriter for monadic and applicative let bindings,
 match expressions, and if expressions.")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-ppx-let
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-ppx-let)
-     (version "0.11.0")
-     (source
-      (janestreet-origin "ppx_let" version
-                         "1wdfw6w4xbg97a35yg6bif9gggxniy9ddnrjfw1a0inkl2yamxkj"))
-
-     (properties `((upstream-name . "ppx_let"))))))
-
 (define-public ocaml-ppx-fail
   (package
     (name "ocaml-ppx-fail")
@@ -7734,32 +6774,13 @@ match expressions, and if expressions.")
           (base32 "012p9gv7w4sk3b4x0sdmqrmr2856w8xc424waxb6vrybid7qjs95"))))
     (build-system dune-build-system)
     (propagated-inputs (list ocaml-base ocaml-ppx-here ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_fail")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-fail))))
+    (properties `((upstream-name . "ppx_fail")))
     (home-page "https://github.com/janestreet/ppx_fail")
     (synopsis "Add location to calls to failwiths")
     (description "Syntax extension that makes [failwiths] always include a
 position.")
     (license license:expat)))
 
-(define-public ocaml4.07-ppx-fail
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-ppx-fail)
-      (version "0.11.0")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                    (version-major+minor version)
-                                    "/files/ppx_fail-v" version ".tar.gz"))
-                (sha256
-                 (base32
-                  "07plqsvljiwvngggfypwq55g46s5my55y45mvlmalrxyppzr03s8"))))
-      (propagated-inputs
-        (list ocaml-base ocaml-ppx-here ocaml-migrate-parsetree ocaml-ppxlib))
-      (properties '())
-      (license license:asl2.0))))
-
 (define-public ocaml-ppx-cold
   (package
     (name "ocaml-ppx-cold")
@@ -7796,31 +6817,13 @@ https://github.com/ocaml/ocaml/issues/8563.")
            ocaml-ppx-sexp-conv
            ocaml-migrate-parsetree
            ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_assert")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-assert))))
+    (properties `((upstream-name . "ppx_assert")))
     (home-page "https://github.com/janestreet/ppx_assert")
     (synopsis "Assert-like extension nodes that raise useful errors on failure")
     (description "This package contains assert-like extension nodes that raise
 useful errors on failure.")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-ppx-assert
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-ppx-assert)
-     (version "0.11.0")
-     (source
-      (janestreet-origin "ppx_assert" version
-                         "17kd311n0l9f72gblf9kv8i5rghr106w37x4f0m5qwh6nlgl0j9k"))
-     (propagated-inputs
-      `(("ocaml-base" ,ocaml-base)
-        ("ocaml-ppx-compare" ,ocaml-ppx-compare)
-        ("ocaml-ppx-here" ,ocaml-ppx-here)
-        ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
-        ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
-        ("ocaml-ppxlib" ,ocaml-ppxlib)))
-     (properties `((upstream-name . "ppx_assert"))))))
-
 (define-public ocaml-ppx-expect
   (package
     (name "ocaml-ppx-expect")
@@ -7848,7 +6851,6 @@ useful errors on failure.")
            ocaml-migrate-parsetree
            ocaml-re))
     (properties `((upstream-name . "ppx_expect")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-expect))
                   (ocaml5.0-variant . ,(delay ocaml5.0-ppx-expect))))
     (home-page "https://github.com/janestreet/ppx_expect")
     (synopsis "Cram like framework for OCaml")
@@ -7881,30 +6883,6 @@ to denote the expected output.")
             "05r7wlmrhb5biwyw6bjcpmr77srglijcbf7nm7h2hiil0d0i7bkz"))))
        (properties '())))))
 
-(define-public ocaml4.07-ppx-expect
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-ppx-expect)
-     (version "0.12.0")
-     (source
-      (janestreet-origin "ppx_expect" version
-                         "1zpci8c49yn2ixchmwjx1kf9pwybv3dnn4l2dgnd6m36qnkralfk"))
-     (propagated-inputs
-      `(("ocaml-base" ,ocaml-base)
-        ("ocaml-ppx-assert" ,ocaml-ppx-assert)
-        ("ocaml-ppx-compare" ,ocaml-ppx-compare)
-        ("ocaml-ppx-custom-printf" ,ocaml-ppx-custom-printf)
-        ("ocaml-ppx-fields-conv" ,ocaml-ppx-fields-conv)
-        ("ocaml-ppx-here" ,ocaml-ppx-here)
-        ("ocaml-ppx-inline-test" ,ocaml-ppx-inline-test)
-        ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
-        ("ocaml-ppx-variants-conv" ,ocaml-ppx-variants-conv)
-        ("ocaml-stdio" ,ocaml-stdio)
-        ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
-        ("ocaml-ppxlib" ,ocaml-ppxlib)
-        ("ocaml-re" ,ocaml-re)))
-     (properties `((upstream-name . "ppx_expect"))))))
-
 (define-public ocaml-ppx-js-style
   (package
     (name "ocaml-ppx-js-style")
@@ -7923,8 +6901,7 @@ to denote the expected output.")
     (arguments `(#:tests? #f)) ; No tests
     (propagated-inputs
      (list ocaml-base ocaml-migrate-parsetree ocaml-octavius ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_js_style")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-js-style))))
+    (properties `((upstream-name . "ppx_js_style")))
     (home-page "https://github.com/janestreet/ppx_js_style")
     (synopsis "Code style checker for Jane Street Packages")
     (description "This package is a no-op ppx rewriter.  It is used as a
@@ -7932,16 +6909,6 @@ to denote the expected output.")
 packages.")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-ppx-js-style
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-ppx-js-style)
-     (version "0.11.0")
-     (source
-      (janestreet-origin "ppx_js_style" version
-                         "0z3fc55jdjhhsblla6z4fqc13kljpcz29q79rvs5h2vsraqrldr2"))
-     (properties `((upstream-name . "ppx_js_style"))))))
-
 (define-public ocaml-ppx-typerep-conv
   (package
     (name "ocaml-ppx-typerep-conv")
@@ -7957,33 +6924,13 @@ packages.")
           (base32 "1q1lzykpm83ra4l5jh4rfddhd3c96kx4s4rvx0w4b51z1qk56zam"))))
     (build-system dune-build-system)
     (propagated-inputs (list ocaml-base ocaml-typerep ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_typerep_conv")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-typerep-conv))))
+    (properties `((upstream-name . "ppx_typerep_conv")))
     (home-page "https://github.com/janestreet/ppx_typerep_conv")
     (synopsis "Generation of runtime types from type declarations")
     (description "This package can automatically generate runtime types
 from type definitions.")
     (license license:expat)))
 
-(define-public ocaml4.07-ppx-typerep-conv
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-ppx-typerep-conv)
-      (version "0.11.1")
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/janestreet/ppx_typerep_conv")
-                       (commit (string-append "v" version))))
-                (file-name (git-file-name "ocaml4.07-ppx-typerep-conv" version))
-                (sha256
-                 (base32
-                  "0a13dpfrrg0rsm8qni1bh7pqcda30l70z8r6yzi5a64bmwk7g5ah"))))
-      (properties '())
-      (propagated-inputs
-        (list ocaml-base ocaml-typerep ocaml-migrate-parsetree ocaml-ppxlib))
-      (license license:asl2.0))))
-
 (define-public ocaml-ppx-string
   (package
     (name "ocaml-ppx-string")
@@ -8047,8 +6994,7 @@ conversion functions between almost identical types.")
            ocaml-ppx-sexp-conv
            ocaml-migrate-parsetree
            ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_base")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-base))))
+    (properties `((upstream-name . "ppx_base")))
     (home-page "https://github.com/janestreet/ppx_base")
     (synopsis "Base set of ppx rewriters")
     (description "Ppx_base is the set of ppx rewriters used for Base.
@@ -8057,25 +7003,6 @@ Note that Base doesn't need ppx to build, it is only used as a
 verification tool.")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-ppx-base
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-ppx-base)
-     (version "0.11.0")
-     (source
-      (janestreet-origin
-       "ppx_base" version
-       "0aq206pg330jmj7lhcagiiwm3a0b3gsqm801m8ajd4ysyw7idkym"))
-    (propagated-inputs
-     `(("ocaml-ppx-compare" ,ocaml-ppx-compare)
-       ("ocaml-ppx-enumerate" ,ocaml-ppx-enumerate)
-       ("ocaml-ppx-hash" ,ocaml-ppx-hash)
-       ("ocaml-ppx-js-style" ,ocaml-ppx-js-style)
-       ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
-       ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
-       ("ocaml-ppxlib" ,ocaml-ppxlib)))
-    (properties `((upstream-name . "ppx_base"))))))
-
 (define-public ocaml-ppx-bin-prot
   (package
     (name "ocaml-ppx-bin-prot")
@@ -8095,37 +7022,13 @@ verification tool.")
      `(#:tests? #f))
     (propagated-inputs
       (list ocaml-base ocaml-bin-prot ocaml-ppx-here ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_bin_prot")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-bin-prot))))
+    (properties `((upstream-name . "ppx_bin_prot")))
     (home-page "https://github.com/janestreet/ppx_bin_prot")
     (synopsis "Generation of bin_prot readers and writers from types")
     (description "Generation of binary serialization and deserialization
 functions from type definitions.")
     (license license:expat)))
 
-(define-public ocaml4.07-ppx-bin-prot
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-ppx-bin-prot)
-      (version "0.11.1")
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/janestreet/ppx_bin_prot")
-                       (commit (string-append "v" version))))
-                (file-name (git-file-name "ocaml4.07-ppx-bin-prot" version))
-                (sha256
-                 (base32
-                  "1h60i75bzvhna1axyn662gyrzhh441l79vl142d235i5x31dmnkz"))))
-      (propagated-inputs
-        (list ocaml-base
-              ocaml-bin-prot
-              ocaml-ppx-here
-              ocaml-migrate-parsetree
-              ocaml-ppxlib))
-      (properties '())
-      (license license:asl2.0))))
-
 (define-public ocaml-ppx-ignore-instrumentation
   (package
     (name "ocaml-ppx-ignore-instrumentation")
@@ -8242,51 +7145,13 @@ nodes for lazily rendering log messages.")
             ocaml-ppx-typerep-conv
             ocaml-ppx-variants-conv
             ocaml-ppxlib))
-    (properties `((upstream-name . "ppx_jane")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-ppx-jane))))
+    (properties `((upstream-name . "ppx_jane")))
     (home-page "https://github.com/janestreet/ppx_jane")
     (synopsis "Standard Jane Street ppx rewriters")
     (description "This package installs a ppx-jane executable, which is a ppx
 driver including all standard Jane Street ppx rewriters.")
     (license license:expat)))
 
-(define-public ocaml4.07-ppx-jane
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-ppx-jane)
-      (version "0.11.0")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                    (version-major+minor version)
-                                    "/files/ppx_jane-v" version ".tar.gz"))
-                (sha256
-                 (base32
-                  "0lgppkw3aixrfnixihrsz2ipafv8fpvkdpy3pw8n0r615gg8x8la"))))
-      (propagated-inputs
-        (list ocaml-ppx-assert
-              ocaml-ppx-base
-              ocaml-ppx-bench
-              ocaml-ppx-bin-prot
-              ocaml-ppx-custom-printf
-              ocaml-ppx-expect
-              ocaml-ppx-fail
-              ocaml-ppx-fields-conv
-              ocaml-ppx-here
-              ocaml-ppx-inline-test
-              ocaml-ppx-let
-              ocaml-ppx-optcomp
-              ocaml-ppx-optional
-              ocaml-ppx-pipebang
-              ocaml-ppx-sexp-message
-              ocaml-ppx-sexp-value
-              ocaml-ppx-typerep-conv
-              ocaml-ppx-variants-conv
-              ocaml-migrate-parsetree
-              ocaml-ppxlib))
-      (properties '())
-      (license license:asl2.0))))
-
 (define-public ocaml-base-bigstring
   (package
     (name "ocaml-base-bigstring")
@@ -8329,8 +7194,7 @@ use in I/O and C-bindings.")
             ocaml-ppx-bench
             ocaml-ppx-inline-test
             ocaml-ppx-sexp-message))
-    (properties `((upstream-name . "splittable_random")
-                  (ocaml-4.07-variant . ,(delay ocaml4.07-splittable-random))))
+    (properties `((upstream-name . "splittable_random")))
     (home-page "https://github.com/janestreet/splittable_random")
     (synopsis "PRNG that can be split into independent streams")
     (description "This package provides a splittable
@@ -8342,24 +7206,6 @@ This library implements a splittable pseudo-random number generator that sacrifi
 cryptographic-quality randomness in favor of performance.")
     (license license:expat)))
 
-(define-public ocaml4.07-splittable-random
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-splittable-random)
-      (version "0.11.0")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                    (version-major+minor version)
-                                    "/files/splittable_random-v" version ".tar.gz"))
-                (sha256
-                 (base32
-                  "0l1wbd881mymlnpzlq5q53mmdz3g5d7qjhyc7lfaq1x0iaccn5lc"))))
-      (propagated-inputs
-        (list ocaml-base ocaml-ppx-jane ocaml-migrate-parsetree))
-      (properties '())
-      (license license:asl2.0))))
-
 (define-public ocaml-base-quickcheck
   (package
     (name "ocaml-base-quickcheck")
@@ -8393,66 +7239,6 @@ Haskell's Quickcheck library, with support for built-in types as well as
 types provided by Base.")
     (license license:expat)))
 
-(define-public ocaml4.07-jane-street-headers
-  (package
-    (name "ocaml4.07-jane-street-headers")
-    (version "0.11.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                  (version-major+minor version)
-                                  "/files/jane-street-headers-v" version ".tar.gz"))
-              (sha256
-               (base32
-                "0afhzm08l9v883fhpqqh2lmy7az609pxif40bp7x1sk8c0yszqsh"))))
-    (build-system dune-build-system)
-    (arguments
-     `(#:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
-    (home-page "https://github.com/janestreet/jane-street-headers")
-    (synopsis "Jane Street C header files")
-    (description "This package provides C header files shared between the
-various Jane Street packages.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.07-configurator
-  (package
-    (name "ocaml4.07-configurator")
-    (version "0.11.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
-                                  (version-major+minor version)
-                                  "/files/configurator-v" version ".tar.gz"))
-              (sha256
-               (base32
-                "0kwgi3sh92v4n242dk5hgpwd85zzgnczgbkqi0q0kr6m93zgbf7p"))))
-    (build-system dune-build-system)
-    (arguments
-     ;; No tests
-     `(#:tests? #f
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
-    (propagated-inputs
-      `(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base))
-        ("ocaml-stdio" ,(package-with-ocaml4.07 ocaml-stdio))))
-    (home-page "https://github.com/janestreet/configurator")
-    (synopsis "Helper library for gathering system configuration")
-    (description "Configurator is a small library that helps writing OCaml
-scripts that test features available on the system, in order to generate config.h
-files for instance.
-
-Configurator allows one to:
-@itemize
-@item test if a C program compiles
-@item query pkg-config
-@item import #define from OCaml header files
-@item generate config.h file
-@end itemize")
-    (license license:asl2.0)))
-
 (define-public ocaml-spawn
   (package
     (name "ocaml-spawn")
@@ -8469,8 +7255,6 @@ Configurator allows one to:
     (build-system dune-build-system)
     (propagated-inputs (list ocaml-odoc))
     (native-inputs (list ocaml-ppx-expect))
-    (properties
-     `((ocaml4.07-variant . ,(delay ocaml4.07-spawn))))
     (home-page "https://github.com/janestreet/spawn")
     (synopsis "Spawning sub-processes")
     (description
@@ -8492,35 +7276,6 @@ thousands of times faster than fork.
 @end itemize")
     (license license:asl2.0)))
 
-(define-public ocaml4.07-spawn
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-spawn)
-      (version "0.13.0")
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/janestreet/spawn")
-                       (commit (string-append "v" version))))
-                (file-name (git-file-name "ocaml4.07-spawn" version))
-                (sha256
-                 (base32
-                  "1w003k1kw1lmyiqlk58gkxx8rac7dchiqlz6ah7aj7bh49b36ppf"))))
-      (arguments
-       `(#:phases
-         (modify-phases %standard-phases
-           (add-before 'check 'fix-tests
-             (lambda _
-               (substitute* "test/tests.ml"
-                 (("/bin/pwd") (which "pwd"))
-                 (("/bin/echo") (which "echo")))
-               #t)))
-         #:ocaml ,ocaml-4.07
-         #:findlib ,ocaml4.07-findlib
-         #:dune ,ocaml4.07-dune))
-      (propagated-inputs '())
-      (properties '()))))
-
 (define-public ocaml-core
   (package
     (name "ocaml-core")
@@ -8567,35 +7322,6 @@ standard library that was developed by Jane Street.")
     ;; by OCaml's license for consortium members (see THIRD-PARTY.txt).
     (license license:expat)))
 
-(define-public ocaml4.07-core
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-core)
-      (version "0.11.3")
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/janestreet/core")
-                       (commit (string-append "v" version))))
-                (file-name (git-file-name "ocaml4.07-core" version))
-                (sha256
-                 (base32
-                  "0pzl8n09z4f3i7z2wq4cjxfqrr8mj6xcdp7rbg0nxap2zdhjgvrq"))))
-      (propagated-inputs
-        (list ocaml-base
-              ocaml4.07-configurator
-              ocaml-core-kernel
-              ocaml-ppx-assert
-              ocaml-ppx-jane
-              ocaml-sexplib
-              ocaml-spawn
-              ocaml-stdio
-              ocaml-migrate-parsetree
-              ocaml-ppxlib))
-      ;; Also contains parts of OCaml, relicensed to asl2.0, as permitted
-      ;; by OCaml's license for consortium members (see THIRD-PARTY.txt).
-      (license license:asl2.0))))
-
 (define-public ocaml-int-repr
   (package
     (name "ocaml-int-repr")
@@ -8638,8 +7364,7 @@ standard library that was developed by Jane Street.")
      `(#:tests? #f))
     (propagated-inputs
       (list ocaml-base ocaml-core ocaml-int-repr ocaml-ppx-jane))
-    (properties `((upstream-name . "core_kernel")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-core-kernel))))
+    (properties `((upstream-name . "core_kernel")))
     (home-page "https://github.com/janestreet/core_kernel")
     (synopsis "Portable standard library for OCaml")
     (description "Core is an alternative to the OCaml standard library.
@@ -8648,46 +7373,6 @@ Core_kernel is the system-independent part of Core.  It is aimed for cases when
 the full Core is not available, such as in Javascript.")
     (license license:expat)))
 
-(define-public ocaml4.07-core-kernel
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-core-kernel)
-      (version "0.11.1")
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/janestreet/core_kernel")
-                       (commit (string-append "v" version))))
-                (file-name (git-file-name "ocaml4.07-core-kernel" version))
-                (sha256
-                 (base32
-                  "1dg7ygy7i64c5gaakb1cp1b26p9ks81vbxmb8fd7jff2q60j2z2g"))))
-      (propagated-inputs
-        (list ocaml-base
-              ocaml-bin-prot
-              ocaml4.07-configurator
-              ocaml-fieldslib
-              ocaml-jane-street-headers
-              ocaml-ppx-assert
-              ocaml-ppx-base
-              ocaml-ppx-hash
-              ocaml-ppx-inline-test
-              ocaml-ppx-jane
-              ocaml-ppx-sexp-conv
-              ocaml-ppx-sexp-message
-              ocaml-sexplib
-              ocaml-splittable-random
-              ocaml-stdio
-              ocaml-typerep
-              ocaml-variantslib
-              ocaml-migrate-parsetree))
-      (properties '())
-      (license (list
-                 ;; this package and parts of OCaml, relicensed by janestreet
-                 license:asl2.0
-                 ;; MLton and sjs
-                 license:expat)))))
-
 (define-public ocaml-core-unix
   (package
     (name "ocaml-core-unix")
@@ -8923,8 +7608,6 @@ that can later be used to manipulate time in core_kernel or core.")
      (list ocaml-bisect-ppx ocaml-uchar ocaml-uutf ocaml-lwt))
     (native-inputs
      (list ocaml-ounit2 pkg-config))
-    (properties
-     `((ocaml4.07-variant . ,(delay (package-with-ocaml4.07 ocaml-markup0.8.0)))))
     (synopsis "Error-recovering functional HTML5 and XML parsers and writers")
     (description "Markup.ml provides an HTML parser and an XML parser.  The
 parsers are wrapped in a simple interface: they are functions that transform
@@ -8946,28 +7629,6 @@ a single pass.  They automatically detect the character encoding of the input
 stream, and convert everything to UTF-8.")
     (license license:bsd-3)))
 
-;; ocaml-markup 1.0.0 can not be built with old version of dune used in
-;; package-with-ocaml4.07
-(define-public ocaml-markup0.8.0
-  (package
-    (inherit ocaml-markup)
-    (name "ocaml-markup")
-    (version "0.8.0")
-    (home-page "https://github.com/aantron/markup.ml")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url (string-append home-page ".git"))
-             (commit version)))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "0aif4abvfmi9xc1pvw5n5rbm6rzkkpsxyvdn0lanr33rjpvkwdlm"))))
-    (native-inputs
-     (list ocaml-ounit pkg-config))
-    (properties '())))
-
 (define-public ocaml-tyxml
   (package
     (name "ocaml-tyxml")
@@ -8988,7 +7649,6 @@ stream, and convert everything to UTF-8.")
     (native-inputs
      (list ocaml-alcotest))
     (arguments `(#:package "tyxml"))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-tyxml))))
     (home-page "https://github.com/ocsigen/tyxml/")
     (synopsis "TyXML is a library for building correct HTML and SVG documents")
     (description "TyXML provides a set of convenient combinators that uses the
@@ -9000,22 +7660,6 @@ also create your own representation and use it to instantiate a new set of
 combinators.")
     (license license:lgpl2.1)))
 
-(define-public ocaml4.07-tyxml
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-tyxml)
-      (version "4.4.0")
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/ocsigen/tyxml")
-                       (commit version)))
-                (file-name (git-file-name "ocaml-tyxml" version))
-                (sha256
-                 (base32
-                  "1hw4phyadcfgywgh5sj87i76gp56qwxzwlcpfdwjbf6ggag9clmd"))))
-      (properties '()))))
-
 (define-public ocaml-bisect-ppx
   (package
     (name "ocaml-bisect-ppx")
@@ -9036,8 +7680,7 @@ combinators.")
     (arguments
      ;; Tests require ocamlformat which would lead to circular dependencies
      '(#:tests? #f))
-    (properties `((upstream-name . "bisect_ppx")
-                  (ocaml4.07-variant . ,(delay ocaml4.07-bisect-ppx))))
+    (properties `((upstream-name . "bisect_ppx")))
     (home-page "https://github.com/aantron/bisect_ppx")
     (synopsis "Code coverage for OCaml")
     (description "Bisect_ppx helps you test thoroughly.  It is a small
@@ -9049,32 +7692,6 @@ Usage is simple - add package bisect_ppx when building tests, run your tests,
 then run the Bisect_ppx report tool on the generated visitation files.")
     (license license:mpl2.0)))
 
-(define-public ocaml4.07-bisect-ppx
-  (package-with-ocaml4.07
-    (package
-      (inherit ocaml-bisect-ppx)
-      (version "2.4.0")
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/aantron/bisect_ppx")
-               (commit version)))
-         (file-name (git-file-name "ocaml-bisect-ppx" version))
-         (sha256
-          (base32
-           "1njs8xc108rrpx5am5zhhcn6vjva7rsphm8034qp5lgyvnhfgh7q"))))
-      (propagated-inputs
-       `(("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
-         ("ocaml-ppx-tools-versioned" ,ocaml4.07-ppx-tools-versioned)
-         ,@(package-propagated-inputs ocaml-bisect-ppx)))
-      (native-inputs
-       `(("ocaml-ounit2" ,ocaml-ounit2)))
-      (arguments
-       `(;; tests require git and network
-         #:tests? #f))
-      (properties '((upstream-name . "bisect_ppx"))))))
-
 (define-public ocaml-odoc
   (package
     (name "ocaml-odoc")
@@ -9121,7 +7738,6 @@ then run the Bisect_ppx report tool on the generated visitation files.")
           ocaml-version
           ocaml-yojson
           jq))
-    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-odoc))))
     (home-page "https://github.com/ocaml/odoc")
     (synopsis "OCaml documentation generator")
     (description "Odoc is a documentation generator for OCaml.  It reads
@@ -9160,41 +7776,6 @@ documentation comments, formatted using Odoc syntax, an extension of the
 language understood by ocamldoc.")
     (license license:isc)))
 
-;; version 1.5.2 requires ocaml-markdown 1.0.0 which does not compile
-;; with old version of dune used in package-with-ocaml4.07
-(define-public ocaml4.07-odoc
-  (package-with-ocaml4.07
-   (package
-     (inherit ocaml-odoc)
-     (name "ocaml-odoc")
-     (version "1.5.1")
-     (source
-      (origin
-        (method git-fetch)
-        (uri (git-reference
-              (url "https://github.com/ocaml/odoc")
-              (commit version)))
-        (file-name (git-file-name name version))
-        (sha256
-         (base32 "0z2nisg1vb5xlk41hqw8drvj90v52wli7zvnih6a844cg6xsvvj2"))))
-     (arguments '())
-     (inputs
-      `(("ocaml-alcotest" ,ocaml-alcotest)
-        ("ocaml-markup" ,ocaml-markup)
-        ("ocaml-sexplib" ,ocaml-sexplib)
-        ("ocaml-re" ,ocaml-re)
-        ("ocaml-uutf" ,ocaml-uutf)))
-     (native-inputs
-      `(("ocaml-astring" ,ocaml-astring)
-        ("ocaml-cmdliner" ,ocaml-cmdliner)
-        ("ocaml-cppo" ,ocaml-cppo)
-        ("ocaml-fpath" ,ocaml-fpath)
-        ("ocaml-result" ,ocaml-result)
-        ("ocaml-tyxml" ,ocaml-tyxml)
-        ("ocaml-bisect-ppx" ,ocaml-bisect-ppx)
-        ("tidy-html" ,tidy-html)))
-     (properties '()))))
-
 (define-public ocaml-fftw3
   (package
     (name "ocaml-fftw3")
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/patches/onnx-1.13.1-use-system-googletest.patch b/gnu/packages/patches/onnx-1.13.1-use-system-googletest.patch
new file mode 100644
index 0000000000..b6a5e5d828
--- /dev/null
+++ b/gnu/packages/patches/onnx-1.13.1-use-system-googletest.patch
@@ -0,0 +1,55 @@
+ONNX will build googletest from a Git checkout.  Patch CMake to use our
+googletest package and enable tests by default.
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0aa9fda2..a573170c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -22,7 +22,7 @@ option(BUILD_ONNX_PYTHON "Build Python binaries" OFF)
+ option(ONNX_GEN_PB_TYPE_STUBS "Generate protobuf python type stubs" ON)
+ option(ONNX_WERROR "Build with Werror" OFF)
+ option(ONNX_COVERAGE "Build with coverage instrumentation" OFF)
+-option(ONNX_BUILD_TESTS "Build ONNX C++ APIs Tests" OFF)
++option(ONNX_BUILD_TESTS "Build ONNX C++ APIs Tests" ON)
+ option(ONNX_USE_LITE_PROTO "Use lite protobuf instead of full." OFF)
+ option(ONNXIFI_ENABLE_EXT "Enable onnxifi extensions." OFF)
+ if(NOT DEFINED ONNX_ML)
+@@ -82,8 +82,10 @@ if(CMAKE_SYSTEM_NAME STREQUAL "AIX")
+ endif()
+
+ if(ONNX_BUILD_TESTS)
+-  list(APPEND CMAKE_MODULE_PATH ${ONNX_ROOT}/cmake/external)
+-  include(googletest)
++  find_package(GTest REQUIRED)
++  if(NOT GTest_FOUND)
++    message(FATAL_ERROR "cannot find googletest")
++  endif()
+ endif()
+
+ if((ONNX_USE_LITE_PROTO AND TARGET protobuf::libprotobuf-lite) OR ((NOT ONNX_USE_LITE_PROTO) AND TARGET protobuf::libprotobuf))
+diff --git a/cmake/unittest.cmake b/cmake/unittest.cmake
+index e29a93ff..ae146390 100644
+--- a/cmake/unittest.cmake
++++ b/cmake/unittest.cmake
+@@ -7,7 +7,7 @@
+ 
+ find_package(Threads)
+ 
+-set(${UT_NAME}_libs ${googletest_STATIC_LIBRARIES})
++set(${UT_NAME}_libs ${GTEST_LIBRARIES})
+ 
+ list(APPEND ${UT_NAME}_libs onnx)
+ list(APPEND ${UT_NAME}_libs onnx_proto)
+@@ -22,9 +22,9 @@
+   list(REMOVE_DUPLICATES _UT_SOURCES)
+ 
+   add_executable(${_UT_TARGET} ${_UT_SOURCES})
+-  add_dependencies(${_UT_TARGET} onnx onnx_proto googletest)
++  add_dependencies(${_UT_TARGET} onnx onnx_proto)
+ 
+   target_include_directories(${_UT_TARGET}
+-                             PUBLIC ${googletest_INCLUDE_DIRS}
++                             PUBLIC ${GTEST_INCLUDE_DIRS}
+                                     ${ONNX_INCLUDE_DIRS}
+                                     ${PROTOBUF_INCLUDE_DIRS}
+                                     ${ONNX_ROOT}
\ No newline at end of file
diff --git a/gnu/packages/patches/python-pytorch2-system-libraries.patch b/gnu/packages/patches/python-pytorch2-system-libraries.patch
new file mode 100644
index 0000000000..c2c44badbb
--- /dev/null
+++ b/gnu/packages/patches/python-pytorch2-system-libraries.patch
@@ -0,0 +1,156 @@
+Use our own googletest rather than the bundled one.
+Get NNPACK to use our own PeachPy rather than the bundled one.
+
+diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt
+--- a/caffe2/CMakeLists.txt	2023-12-27 12:14:24.308751288 +0100
++++ b/caffe2/CMakeLists.txt	2023-12-27 12:30:15.941562126 +0100
+@@ -1570,7 +1570,7 @@
+   add_executable(static_runtime_bench "${STATIC_RUNTIME_BENCHMARK_SRCS}")
+   add_executable(static_runtime_test "${STATIC_RUNTIME_TEST_SRCS}")
+   target_link_libraries(static_runtime_bench torch_library benchmark)
+-  target_link_libraries(static_runtime_test torch_library gtest_main)
++  target_link_libraries(static_runtime_test torch_library gtest_main gtest)
+ endif()
+ 
+ if(BUILD_TENSOREXPR_BENCHMARK)
+@@ -1601,7 +1601,7 @@
+   foreach(test_src ${ATen_MOBILE_TEST_SRCS})
+     get_filename_component(test_name ${test_src} NAME_WE)
+     add_executable(${test_name} "${test_src}")
+-    target_link_libraries(${test_name} torch_library gtest_main)
++    target_link_libraries(${test_name} torch_library gtest_main gtest)
+     target_include_directories(${test_name} PRIVATE $<INSTALL_INTERFACE:include>)
+     target_include_directories(${test_name} PRIVATE $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>)
+     target_include_directories(${test_name} PRIVATE ${ATen_CPU_INCLUDE})
+@@ -1628,7 +1628,7 @@
+           endif()
+         else()
+           add_executable(${test_name}_${CPU_CAPABILITY} "${test_src}")
+-          target_link_libraries(${test_name}_${CPU_CAPABILITY} torch_library gtest_main)
++          target_link_libraries(${test_name}_${CPU_CAPABILITY} torch_library gtest_main gtest)
+         endif()
+         target_include_directories(${test_name}_${CPU_CAPABILITY} PRIVATE $<INSTALL_INTERFACE:include>)
+         target_include_directories(${test_name}_${CPU_CAPABILITY} PRIVATE $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>)
+@@ -1645,7 +1645,7 @@
+   foreach(test_src ${Caffe2_CPU_TEST_SRCS})
+     get_filename_component(test_name ${test_src} NAME_WE)
+     add_executable(${test_name} "${test_src}")
+-    target_link_libraries(${test_name} torch_library gtest_main)
++    target_link_libraries(${test_name} torch_library gtest_main gtest)
+     target_include_directories(${test_name} PRIVATE $<INSTALL_INTERFACE:include>)
+     target_include_directories(${test_name} PRIVATE $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>)
+     target_include_directories(${test_name} PRIVATE ${Caffe2_CPU_INCLUDE})
+@@ -1666,7 +1666,7 @@
+     foreach(test_src ${Caffe2_MPS_TEST_SRCS})
+       get_filename_component(test_name ${test_src} NAME_WE)
+       add_executable(${test_name} "${test_src}")
+-      target_link_libraries(${test_name} torch_library gtest_main)
++      target_link_libraries(${test_name} torch_library gtest_main gtest)
+       target_include_directories(${test_name} PRIVATE $<INSTALL_INTERFACE:include>)
+       target_include_directories(${test_name} PRIVATE $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>)
+       target_include_directories(${test_name} PRIVATE ${Caffe2_CPU_INCLUDE})
+diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake
+index 557ab649..ee9cf410 100644
+--- a/cmake/Dependencies.cmake
++++ b/cmake/Dependencies.cmake
+@@ -732,11 +732,6 @@ if(BUILD_TEST OR BUILD_MOBILE_BENCHMARK OR BUILD_MOBILE_TEST)
+   # this shouldn't be necessary anymore.
+   get_property(INC_DIR_temp DIRECTORY PROPERTY INCLUDE_DIRECTORIES)
+   set_property(DIRECTORY PROPERTY INCLUDE_DIRECTORIES "")
+-  add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/../third_party/googletest)
+-  set_property(DIRECTORY PROPERTY INCLUDE_DIRECTORIES ${INC_DIR_temp})
+-
+-  include_directories(BEFORE SYSTEM ${CMAKE_CURRENT_LIST_DIR}/../third_party/googletest/googletest/include)
+-  include_directories(BEFORE SYSTEM ${CMAKE_CURRENT_LIST_DIR}/../third_party/googletest/googlemock/include)
+ 
+   # We will not need to test benchmark lib itself.
+   set(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "Disable benchmark testing as we don't need it.")
+@@ -1543,7 +1538,7 @@ if(CAFFE2_CMAKE_BUILDING_WITH_MAIN_REPO AND NOT INTERN_DISABLE_ONNX)
+     endif()
+     set_property(TARGET onnx_proto PROPERTY IMPORTED_LOCATION ${ONNX_PROTO_LIBRARY})
+     message("-- Found onnx: ${ONNX_LIBRARY} ${ONNX_PROTO_LIBRARY}")
+-    list(APPEND Caffe2_DEPENDENCY_LIBS onnx_proto onnx)
++    list(APPEND Caffe2_DEPENDENCY_LIBS onnx_proto onnx onnx_optimizer)
+   endif()
+   include_directories(${FOXI_INCLUDE_DIRS})
+   list(APPEND Caffe2_DEPENDENCY_LIBS foxi_loader)
+diff --git a/cmake/External/nnpack.cmake b/cmake/External/nnpack.cmake
+index a41343cb..6075bdd0 100644
+--- a/cmake/External/nnpack.cmake
++++ b/cmake/External/nnpack.cmake
+@@ -40,7 +40,7 @@ endif()
+ # (3) Android, iOS, Linux, macOS - supported
+ ##############################################################################
+ 
+-if(ANDROID OR IOS OR ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR ${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
++if(FALSE)
+   message(STATUS "Brace yourself, we are building NNPACK")
+   set(CAFFE2_THIRD_PARTY_ROOT ${PROJECT_SOURCE_DIR}/third_party)
+ 
+@@ -114,6 +114,5 @@ endif()
+ # (4) Catch-all: not supported.
+ ##############################################################################
+ 
+-message(WARNING "Unknown platform - I don't know how to build NNPACK. "
+-                "See cmake/External/nnpack.cmake for details.")
+-set(USE_NNPACK OFF)
++set(NNPACK_FOUND TRUE)
++set(USE_NNPACK ON)
+diff --git a/test/cpp/c10d/CMakeLists.txt b/test/cpp/c10d/CMakeLists.txt
+index bf91460c..ef56948f 100644
+--- a/test/cpp/c10d/CMakeLists.txt
++++ b/test/cpp/c10d/CMakeLists.txt
+@@ -16,14 +16,14 @@ function(c10d_add_test test_src)
+   add_test(NAME ${test_name} COMMAND $<TARGET_FILE:${test_name}>)
+ endfunction()
+ 
+-c10d_add_test(FileStoreTest.cpp torch_cpu gtest_main)
+-c10d_add_test(TCPStoreTest.cpp torch_cpu gtest_main)
++c10d_add_test(FileStoreTest.cpp torch_cpu gtest_main gtest)
++c10d_add_test(TCPStoreTest.cpp torch_cpu gtest_main gtest)
+ if(INSTALL_TEST)
+   install(TARGETS FileStoreTest DESTINATION bin)
+   install(TARGETS TCPStoreTest DESTINATION bin)
+ endif()
+ if(NOT WIN32)
+-  c10d_add_test(HashStoreTest.cpp torch_cpu gtest_main)
++  c10d_add_test(HashStoreTest.cpp torch_cpu gtest_main gtest)
+   if(INSTALL_TEST)
+     install(TARGETS HashStoreTest DESTINATION bin)
+   endif()
+@@ -31,11 +31,11 @@ endif()
+ 
+ if(USE_CUDA)
+   if(USE_GLOO AND USE_C10D_GLOO)
+-    c10d_add_test(ProcessGroupGlooTest.cpp torch_cpu c10d_cuda_test gtest_main)
++    c10d_add_test(ProcessGroupGlooTest.cpp torch_cpu c10d_cuda_test gtest_main gtest)
+     if(INSTALL_TEST)
+       install(TARGETS ProcessGroupGlooTest DESTINATION bin)
+     endif()
+-    c10d_add_test(ProcessGroupGlooAsyncTest.cpp torch_cpu c10d_cuda_test gtest_main)
++    c10d_add_test(ProcessGroupGlooAsyncTest.cpp torch_cpu c10d_cuda_test gtest_main gtest)
+   endif()
+   if(USE_NCCL AND USE_C10D_NCCL)
+     # NCCL is a private dependency of libtorch, but the tests include some
+@@ -56,7 +56,7 @@ if(USE_CUDA)
+   endif()
+ else()
+   if(USE_GLOO AND USE_C10D_GLOO)
+-    c10d_add_test(ProcessGroupGlooTest.cpp torch_cpu gtest_main)
++    c10d_add_test(ProcessGroupGlooTest.cpp torch_cpu gtest_main gtest)
+   endif()
+ endif()
+ 
+diff --git a/test/cpp/tensorexpr/CMakeLists.txt b/test/cpp/tensorexpr/CMakeLists.txt
+index 8fc5a0a1..643202f6 100644
+--- a/test/cpp/tensorexpr/CMakeLists.txt
++++ b/test/cpp/tensorexpr/CMakeLists.txt
+@@ -53,7 +53,7 @@ target_include_directories(tutorial_tensorexpr PRIVATE ${ATen_CPU_INCLUDE})
+ # pthreadpool header. For some build environment we need add the dependency
+ # explicitly.
+ if(USE_PTHREADPOOL)
+-  target_link_libraries(test_tensorexpr PRIVATE pthreadpool_interface)
++  target_link_libraries(test_tensorexpr PRIVATE pthreadpool)
+ endif()
+ if(USE_CUDA)
+   target_link_libraries(test_tensorexpr PRIVATE
diff --git a/gnu/packages/patches/transmission-4.0.5-fix-build.patch b/gnu/packages/patches/transmission-4.0.5-fix-build.patch
new file mode 100644
index 0000000000..7eeb0f1921
--- /dev/null
+++ b/gnu/packages/patches/transmission-4.0.5-fix-build.patch
@@ -0,0 +1,39 @@
+Fix the build with gtkmm 4:
+
+https://github.com/transmission/transmission/issues/6392
+
+Patch copied from upstream source repository:
+
+https://github.com/transmission/transmission/commit/e116672b27b314d54514c96b1fa7aef1dee900b1
+
+From e116672b27b314d54514c96b1fa7aef1dee900b1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?C=C5=93ur?= <coeur@gmx.fr>
+Date: Sun, 17 Dec 2023 16:37:35 +0100
+Subject: [PATCH] fix: build error on  GTKMM-4 (#6393)
+
+---
+ gtk/OptionsDialog.cc | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/gtk/OptionsDialog.cc b/gtk/OptionsDialog.cc
+index 08198540c10..8c28fc76f98 100644
+--- a/gtk/OptionsDialog.cc
++++ b/gtk/OptionsDialog.cc
+@@ -338,7 +338,16 @@ void TorrentFileChooserDialog::onOpenDialogResponse(int response, Glib::RefPtr<S
+         bool const do_prompt = get_choice(std::string(ShowOptionsDialogChoice)) == "true";
+         bool const do_notify = false;
+ 
+-        auto const files = IF_GTKMM4(get_files2, get_files)();
++#if GTKMM_CHECK_VERSION(4, 0, 0)
++        auto files = std::vector<Glib::RefPtr<Gio::File>>();
++        auto files_model = get_files();
++        for (auto i = guint{ 0 }; i < files_model->get_n_items(); ++i)
++        {
++            files.push_back(gtr_ptr_dynamic_cast<Gio::File>(files_model->get_object(i)));
++        }
++#else
++        auto const files = get_files();
++#endif
+         g_assert(!files.empty());
+ 
+         /* remember this folder the next time we use this dialog */
diff --git a/gnu/packages/patches/xnnpack-for-torch2-system-libraries.patch b/gnu/packages/patches/xnnpack-for-torch2-system-libraries.patch
new file mode 100644
index 0000000000..a711aa0d6c
--- /dev/null
+++ b/gnu/packages/patches/xnnpack-for-torch2-system-libraries.patch
@@ -0,0 +1,2660 @@
+This patch allows the build process to use the provided dependencies instead
+of adding their source as CMake sub-directories (in which case "make install"
+would install googletest's and googlebenchmark's libraries and headers).
+
+diff a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt	2023-12-27 13:29:04.608138355 +0100
+@@ -850,25 +850,8 @@
+     SET_PROPERTY(TARGET pthreadpool PROPERTY IMPORTED_IMPLIB "${PTHREADPOOL_LIBRARY}")
+   ENDIF()
+ ENDIF()
+-TARGET_LINK_LIBRARIES(microkernels-all PRIVATE pthreadpool)
+-TARGET_LINK_LIBRARIES(microkernels-prod PRIVATE pthreadpool)
+-TARGET_LINK_LIBRARIES(hardware-config PRIVATE pthreadpool)
+-TARGET_LINK_LIBRARIES(indirection PRIVATE pthreadpool)
+-TARGET_LINK_LIBRARIES(jit PRIVATE pthreadpool)
+-TARGET_LINK_LIBRARIES(logging PRIVATE pthreadpool)
+-TARGET_LINK_LIBRARIES(microparams-init PRIVATE pthreadpool)
+-TARGET_LINK_LIBRARIES(normalization PRIVATE pthreadpool)
+-TARGET_LINK_LIBRARIES(packing PRIVATE pthreadpool)
+ IF(XNNPACK_BUILD_LIBRARY)
+   TARGET_LINK_LIBRARIES(XNNPACK PUBLIC pthreadpool)
+-  TARGET_LINK_LIBRARIES(allocator PRIVATE pthreadpool)
+-  TARGET_LINK_LIBRARIES(cache PRIVATE memory pthreadpool)
+-  TARGET_LINK_LIBRARIES(subgraph PRIVATE pthreadpool)
+-  TARGET_LINK_LIBRARIES(operators PRIVATE pthreadpool)
+-  TARGET_LINK_LIBRARIES(operator-run PRIVATE pthreadpool)
+-  TARGET_LINK_LIBRARIES(operator-utils PRIVATE pthreadpool)
+-  TARGET_LINK_LIBRARIES(mutex PRIVATE pthreadpool)
+-  TARGET_LINK_LIBRARIES(memory PRIVATE pthreadpool)
+   TARGET_LINK_LIBRARIES(post-operation PUBLIC pthreadpool allocator)
+ ENDIF()
+ 
+@@ -889,12 +872,6 @@
+     SET_PROPERTY(TARGET fxdiv PROPERTY LINKER_LANGUAGE C)
+   ENDIF()
+ ENDIF()
+-TARGET_LINK_LIBRARIES(microkernels-all PRIVATE fxdiv)
+-TARGET_LINK_LIBRARIES(microkernels-prod PRIVATE fxdiv)
+-TARGET_LINK_LIBRARIES(indirection PRIVATE fxdiv)
+-IF(XNNPACK_BUILD_LIBRARY)
+-  TARGET_LINK_LIBRARIES(XNNPACK PRIVATE fxdiv)
+-ENDIF()
+ 
+ # ---[ Configure FP16
+ IF(NOT TARGET fp16)
+@@ -913,17 +890,7 @@
+     SET_PROPERTY(TARGET fp16 PROPERTY LINKER_LANGUAGE C)
+   ENDIF()
+ ENDIF()
+-TARGET_LINK_LIBRARIES(microkernels-all PRIVATE fp16)
+-TARGET_LINK_LIBRARIES(microkernels-prod PRIVATE fp16)
+-TARGET_LINK_LIBRARIES(microparams-init PRIVATE fp16)
+-TARGET_LINK_LIBRARIES(packing PRIVATE fp16)
+-TARGET_LINK_LIBRARIES(indirection PRIVATE fp16)
+ IF(XNNPACK_BUILD_LIBRARY)
+-  TARGET_LINK_LIBRARIES(subgraph PRIVATE fp16)
+-  TARGET_LINK_LIBRARIES(operators PRIVATE fp16)
+-  TARGET_LINK_LIBRARIES(operator-run PRIVATE fp16)
+-
+-  TARGET_LINK_LIBRARIES(XNNPACK PRIVATE fp16)
+   INSTALL(TARGETS XNNPACK
+       LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+       ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+@@ -943,7 +910,7 @@
+   # Helper libraries
+   ADD_LIBRARY(gemm-microkernel-tester STATIC test/gemm-microkernel-tester.cc)
+   TARGET_INCLUDE_DIRECTORIES(gemm-microkernel-tester PRIVATE . include src test)
+-  TARGET_LINK_LIBRARIES(gemm-microkernel-tester PRIVATE fp16 pthreadpool gtest)
++  TARGET_LINK_LIBRARIES(gemm-microkernel-tester PRIVATE gtest)
+   TARGET_LINK_LIBRARIES(gemm-microkernel-tester PRIVATE jit packing)
+   IF(XNNPACK_BUILD_LIBRARY)
+     TARGET_LINK_LIBRARIES(gemm-microkernel-tester PRIVATE XNNPACK post-operation)
+@@ -960,22 +927,22 @@
+     # ---[ Build operator-level unit tests
+     ADD_EXECUTABLE(abs-nc-test test/abs-nc.cc)
+     TARGET_INCLUDE_DIRECTORIES(abs-nc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(abs-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(abs-nc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME abs-nc-test COMMAND abs-nc-test)
+ 
+     ADD_EXECUTABLE(abs-nc-eager-test test/abs-nc-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(abs-nc-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(abs-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(abs-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME abs-nc-eager-test COMMAND abs-nc-eager-test)
+ 
+     ADD_EXECUTABLE(add-nd-test test/add-nd.cc)
+     TARGET_INCLUDE_DIRECTORIES(add-nd-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(add-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(add-nd-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME add-nd-test COMMAND add-nd-test)
+ 
+     ADD_EXECUTABLE(add-nd-eager-test test/add-nd-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(add-nd-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(add-nd-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(add-nd-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME add-nd-eager-test COMMAND add-nd-eager-test)
+ 
+     ADD_EXECUTABLE(argmax-pooling-nhwc-test test/argmax-pooling-nhwc.cc)
+@@ -985,27 +952,27 @@
+ 
+     ADD_EXECUTABLE(average-pooling-nhwc-test test/average-pooling-nhwc.cc)
+     TARGET_INCLUDE_DIRECTORIES(average-pooling-nhwc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(average-pooling-nhwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(average-pooling-nhwc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME average-pooling-nhwc-test COMMAND average-pooling-nhwc-test)
+ 
+     ADD_EXECUTABLE(bankers-rounding-nc-test test/bankers-rounding-nc.cc)
+     TARGET_INCLUDE_DIRECTORIES(bankers-rounding-nc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(bankers-rounding-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(bankers-rounding-nc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME bankers-rounding-nc-test COMMAND bankers-rounding-nc-test)
+ 
+     ADD_EXECUTABLE(bankers-rounding-nc-eager-test test/bankers-rounding-nc-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(bankers-rounding-nc-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(bankers-rounding-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(bankers-rounding-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME bankers-rounding-nc-eager-test COMMAND bankers-rounding-nc-eager-test)
+ 
+     ADD_EXECUTABLE(ceiling-nc-test test/ceiling-nc.cc)
+     TARGET_INCLUDE_DIRECTORIES(ceiling-nc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(ceiling-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(ceiling-nc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME ceiling-nc-test COMMAND ceiling-nc-test)
+ 
+     ADD_EXECUTABLE(ceiling-nc-eager-test test/ceiling-nc-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(ceiling-nc-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(ceiling-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(ceiling-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME ceiling-nc-eager-test COMMAND ceiling-nc-eager-test)
+ 
+     ADD_EXECUTABLE(channel-shuffle-nc-test test/channel-shuffle-nc.cc)
+@@ -1015,12 +982,12 @@
+ 
+     ADD_EXECUTABLE(clamp-nc-test test/clamp-nc.cc)
+     TARGET_INCLUDE_DIRECTORIES(clamp-nc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(clamp-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(clamp-nc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME clamp-nc-test COMMAND clamp-nc-test)
+ 
+     ADD_EXECUTABLE(clamp-nc-eager-test test/clamp-nc-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(clamp-nc-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(clamp-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(clamp-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME clamp-nc-eager-test COMMAND clamp-nc-eager-test)
+ 
+     ADD_EXECUTABLE(constant-pad-nd-test test/constant-pad-nd.cc)
+@@ -1035,25 +1002,25 @@
+ 
+     ADD_EXECUTABLE(convert-nc-test test/convert-nc.cc)
+     TARGET_INCLUDE_DIRECTORIES(convert-nc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(convert-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(convert-nc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME convert-nc-test COMMAND convert-nc-test)
+ 
+     ADD_EXECUTABLE(convert-nc-eager-test test/convert-nc-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(convert-nc-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(convert-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(convert-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME convert-nc-eager-test COMMAND convert-nc-eager-test)
+ 
+     ADD_EXECUTABLE(convolution-nhwc-test test/convolution-nhwc.cc)
+     SET_TARGET_PROPERTIES(convolution-nhwc-test PROPERTIES CXX_EXTENSIONS YES)
+     TARGET_INCLUDE_DIRECTORIES(convolution-nhwc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(convolution-nhwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(convolution-nhwc-test PRIVATE XNNPACK gtest gtest_main)
+     TARGET_LINK_LIBRARIES(convolution-nhwc-test PRIVATE convolution-test-helpers)
+     ADD_TEST(NAME convolution-nhwc-test COMMAND convolution-nhwc-test)
+ 
+     ADD_EXECUTABLE(convolution-nchw-test test/convolution-nchw.cc)
+     SET_TARGET_PROPERTIES(convolution-nchw-test PROPERTIES CXX_EXTENSIONS YES)
+     TARGET_INCLUDE_DIRECTORIES(convolution-nchw-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(convolution-nchw-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(convolution-nchw-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME convolution-nchw-test COMMAND convolution-nchw-test)
+ 
+     ADD_EXECUTABLE(copy-nc-test test/copy-nc.cc)
+@@ -1068,7 +1035,7 @@
+ 
+     ADD_EXECUTABLE(deconvolution-nhwc-test test/deconvolution-nhwc.cc)
+     TARGET_INCLUDE_DIRECTORIES(deconvolution-nhwc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(deconvolution-nhwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(deconvolution-nhwc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME deconvolution-nhwc-test COMMAND deconvolution-nhwc-test)
+ 
+     ADD_EXECUTABLE(depth-to-space-nchw2nhwc-test test/depth-to-space-nchw2nhwc.cc)
+@@ -1083,197 +1050,197 @@
+ 
+     ADD_EXECUTABLE(divide-nd-test test/divide-nd.cc)
+     TARGET_INCLUDE_DIRECTORIES(divide-nd-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(divide-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(divide-nd-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME divide-nd-test COMMAND divide-nd-test)
+ 
+     ADD_EXECUTABLE(divide-nd-eager-test test/divide-nd-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(divide-nd-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(divide-nd-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(divide-nd-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME divide-nd-eager-test COMMAND divide-nd-eager-test)
+ 
+     ADD_EXECUTABLE(elu-nc-test test/elu-nc.cc)
+     TARGET_INCLUDE_DIRECTORIES(elu-nc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(elu-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(elu-nc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME elu-nc-test COMMAND elu-nc-test)
+ 
+     ADD_EXECUTABLE(elu-nc-eager-test test/elu-nc-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(elu-nc-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(elu-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(elu-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME elu-nc-eager-test COMMAND elu-nc-eager-test)
+ 
+     ADD_EXECUTABLE(fully-connected-nc-test test/fully-connected-nc.cc)
+     TARGET_INCLUDE_DIRECTORIES(fully-connected-nc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(fully-connected-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(fully-connected-nc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME fully-connected-nc-test COMMAND fully-connected-nc-test)
+ 
+     ADD_EXECUTABLE(floor-nc-test test/floor-nc.cc)
+     TARGET_INCLUDE_DIRECTORIES(floor-nc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(floor-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(floor-nc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME floor-nc-test COMMAND floor-nc-test)
+ 
+     ADD_EXECUTABLE(floor-nc-eager-test test/floor-nc-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(floor-nc-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(floor-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(floor-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME floor-nc-eager-test COMMAND floor-nc-eager-test)
+ 
+     ADD_EXECUTABLE(global-average-pooling-nwc-test test/global-average-pooling-nwc.cc)
+     TARGET_INCLUDE_DIRECTORIES(global-average-pooling-nwc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(global-average-pooling-nwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(global-average-pooling-nwc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME global-average-pooling-nwc-test COMMAND global-average-pooling-nwc-test)
+ 
+     ADD_EXECUTABLE(global-average-pooling-ncw-test test/global-average-pooling-ncw.cc)
+     TARGET_INCLUDE_DIRECTORIES(global-average-pooling-ncw-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(global-average-pooling-ncw-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(global-average-pooling-ncw-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME global-average-pooling-ncw-test COMMAND global-average-pooling-ncw-test)
+ 
+     ADD_EXECUTABLE(hardswish-nc-test test/hardswish-nc.cc)
+     TARGET_INCLUDE_DIRECTORIES(hardswish-nc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(hardswish-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(hardswish-nc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME hardswish-nc-test COMMAND hardswish-nc-test)
+ 
+     ADD_EXECUTABLE(hardswish-nc-eager-test test/hardswish-nc-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(hardswish-nc-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(hardswish-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(hardswish-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME hardswish-nc-eager-test COMMAND hardswish-nc-eager-test)
+ 
+     ADD_EXECUTABLE(leaky-relu-nc-test test/leaky-relu-nc.cc)
+     TARGET_INCLUDE_DIRECTORIES(leaky-relu-nc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(leaky-relu-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(leaky-relu-nc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME leaky-relu-nc-test COMMAND leaky-relu-nc-test)
+ 
+     ADD_EXECUTABLE(leaky-relu-nc-eager-test test/leaky-relu-nc-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(leaky-relu-nc-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(leaky-relu-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(leaky-relu-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME leaky-relu-nc-eager-test COMMAND leaky-relu-nc-eager-test)
+ 
+     ADD_EXECUTABLE(max-pooling-nhwc-test test/max-pooling-nhwc.cc)
+     TARGET_INCLUDE_DIRECTORIES(max-pooling-nhwc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(max-pooling-nhwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(max-pooling-nhwc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME max-pooling-nhwc-test COMMAND max-pooling-nhwc-test)
+ 
+     ADD_EXECUTABLE(maximum-nd-test test/maximum-nd.cc)
+     TARGET_INCLUDE_DIRECTORIES(maximum-nd-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(maximum-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(maximum-nd-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME maximum-nd-test COMMAND maximum-nd-test)
+ 
+     ADD_EXECUTABLE(maximum-nd-eager-test test/maximum-nd-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(maximum-nd-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(maximum-nd-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(maximum-nd-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME maximum-nd-eager-test COMMAND maximum-nd-eager-test)
+ 
+     ADD_EXECUTABLE(minimum-nd-test test/minimum-nd.cc)
+     TARGET_INCLUDE_DIRECTORIES(minimum-nd-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(minimum-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(minimum-nd-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME minimum-nd-test COMMAND minimum-nd-test)
+ 
+     ADD_EXECUTABLE(minimum-nd-eager-test test/minimum-nd-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(minimum-nd-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(minimum-nd-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(minimum-nd-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME minimum-nd-eager-test COMMAND minimum-nd-eager-test)
+ 
+     ADD_EXECUTABLE(multiply-nd-test test/multiply-nd.cc)
+     TARGET_INCLUDE_DIRECTORIES(multiply-nd-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(multiply-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(multiply-nd-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME multiply-nd-test COMMAND multiply-nd-test)
+ 
+     ADD_EXECUTABLE(multiply-nd-eager-test test/multiply-nd-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(multiply-nd-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(multiply-nd-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(multiply-nd-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME multiply-nd-eager-test COMMAND multiply-nd-eager-test)
+ 
+     ADD_EXECUTABLE(negate-nc-test test/negate-nc.cc)
+     TARGET_INCLUDE_DIRECTORIES(negate-nc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(negate-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(negate-nc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME negate-nc-test COMMAND negate-nc-test)
+ 
+     ADD_EXECUTABLE(negate-nc-eager-test test/negate-nc-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(negate-nc-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(negate-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(negate-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME negate-nc-eager-test COMMAND negate-nc-eager-test)
+ 
+     ADD_EXECUTABLE(prelu-nc-test test/prelu-nc.cc)
+     TARGET_INCLUDE_DIRECTORIES(prelu-nc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(prelu-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(prelu-nc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME prelu-nc-test COMMAND prelu-nc-test)
+ 
+     ADD_EXECUTABLE(resize-bilinear-nhwc-test test/resize-bilinear-nhwc.cc)
+     TARGET_INCLUDE_DIRECTORIES(resize-bilinear-nhwc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(resize-bilinear-nhwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(resize-bilinear-nhwc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME resize-bilinear-nhwc-test COMMAND resize-bilinear-nhwc-test)
+ 
+     ADD_EXECUTABLE(resize-bilinear-nchw-test test/resize-bilinear-nchw.cc)
+     TARGET_INCLUDE_DIRECTORIES(resize-bilinear-nchw-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(resize-bilinear-nchw-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(resize-bilinear-nchw-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME resize-bilinear-nchw-test COMMAND resize-bilinear-nchw-test)
+ 
+     ADD_EXECUTABLE(sigmoid-nc-test test/sigmoid-nc.cc)
+     TARGET_INCLUDE_DIRECTORIES(sigmoid-nc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(sigmoid-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(sigmoid-nc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME sigmoid-nc-test COMMAND sigmoid-nc-test)
+ 
+     ADD_EXECUTABLE(sigmoid-nc-eager-test test/sigmoid-nc-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(sigmoid-nc-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(sigmoid-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(sigmoid-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME sigmoid-nc-eager-test COMMAND sigmoid-nc-eager-test)
+ 
+     ADD_EXECUTABLE(slice-nd-test test/slice-nd.cc)
+     TARGET_INCLUDE_DIRECTORIES(slice-nd-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(slice-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(slice-nd-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME slice-nd-test COMMAND slice-nd-test)
+ 
+     ADD_EXECUTABLE(slice-nd-eager-test test/slice-nd-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(slice-nd-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(slice-nd-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(slice-nd-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME slice-nd-eager-test COMMAND slice-nd-eager-test)
+ 
+     ADD_EXECUTABLE(softmax-nc-test test/softmax-nc.cc)
+     TARGET_INCLUDE_DIRECTORIES(softmax-nc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(softmax-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(softmax-nc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME softmax-nc-test COMMAND softmax-nc-test)
+ 
+     ADD_EXECUTABLE(space-to-depth-nhwc-test test/space-to-depth-nhwc.cc)
+     TARGET_INCLUDE_DIRECTORIES(space-to-depth-nhwc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(space-to-depth-nhwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(space-to-depth-nhwc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME space-to-depth-nhwc-test COMMAND space-to-depth-nhwc-test)
+ 
+     ADD_EXECUTABLE(square-nc-test test/square-nc.cc)
+     TARGET_INCLUDE_DIRECTORIES(square-nc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(square-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(square-nc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME square-nc-test COMMAND square-nc-test)
+ 
+     ADD_EXECUTABLE(square-nc-eager-test test/square-nc-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(square-nc-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(square-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(square-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME square-nc-eager-test COMMAND square-nc-eager-test)
+ 
+     ADD_EXECUTABLE(square-root-nc-test test/square-root-nc.cc)
+     TARGET_INCLUDE_DIRECTORIES(square-root-nc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(square-root-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(square-root-nc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME square-root-nc-test COMMAND square-root-nc-test)
+ 
+     ADD_EXECUTABLE(square-root-nc-eager-test test/square-root-nc-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(square-root-nc-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(square-root-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(square-root-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME square-root-nc-eager-test COMMAND square-root-nc-eager-test)
+ 
+     ADD_EXECUTABLE(squared-difference-nd-test test/squared-difference-nd.cc)
+     TARGET_INCLUDE_DIRECTORIES(squared-difference-nd-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(squared-difference-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(squared-difference-nd-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME squared-difference-nd-test COMMAND squared-difference-nd-test)
+ 
+     ADD_EXECUTABLE(squared-difference-nd-eager-test test/squared-difference-nd-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(squared-difference-nd-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(squared-difference-nd-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(squared-difference-nd-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME squared-difference-nd-eager-test COMMAND squared-difference-nd-eager-test)
+ 
+     ADD_EXECUTABLE(subtract-nd-test test/subtract-nd.cc)
+     TARGET_INCLUDE_DIRECTORIES(subtract-nd-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(subtract-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(subtract-nd-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME subtract-nd-test COMMAND subtract-nd-test)
+ 
+     ADD_EXECUTABLE(subtract-nd-eager-test test/subtract-nd-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(subtract-nd-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(subtract-nd-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(subtract-nd-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME subtract-nd-eager-test COMMAND subtract-nd-eager-test)
+ 
+     ADD_EXECUTABLE(tanh-nc-test test/tanh-nc.cc)
+@@ -1293,12 +1260,12 @@
+ 
+     ADD_EXECUTABLE(truncation-nc-test test/truncation-nc.cc)
+     TARGET_INCLUDE_DIRECTORIES(truncation-nc-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(truncation-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(truncation-nc-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME truncation-nc-test COMMAND truncation-nc-test)
+ 
+     ADD_EXECUTABLE(truncation-nc-eager-test test/truncation-nc-eager.cc)
+     TARGET_INCLUDE_DIRECTORIES(truncation-nc-eager-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(truncation-nc-eager-test PRIVATE XNNPACK fp16 gtest gtest_main)
++    TARGET_LINK_LIBRARIES(truncation-nc-eager-test PRIVATE XNNPACK gtest gtest_main)
+     ADD_TEST(NAME truncation-nc-eager-test COMMAND truncation-nc-eager-test)
+ 
+     ADD_EXECUTABLE(unpooling-nhwc-test test/unpooling-nhwc.cc)
+@@ -1350,22 +1317,22 @@
+ 
+     ADD_EXECUTABLE(average-pooling-2d-test test/average-pooling-2d.cc)
+     TARGET_INCLUDE_DIRECTORIES(average-pooling-2d-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(average-pooling-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(average-pooling-2d-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME average-pooling-2d-test COMMAND average-pooling-2d-test)
+ 
+     ADD_EXECUTABLE(bankers-rounding-test test/bankers-rounding.cc)
+     TARGET_INCLUDE_DIRECTORIES(bankers-rounding-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(bankers-rounding-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(bankers-rounding-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME bankers-rounding-test COMMAND bankers-rounding-test)
+ 
+     ADD_EXECUTABLE(ceiling-test test/ceiling.cc)
+     TARGET_INCLUDE_DIRECTORIES(ceiling-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(ceiling-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(ceiling-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME ceiling-test COMMAND ceiling-test)
+ 
+     ADD_EXECUTABLE(clamp-test test/clamp.cc)
+     TARGET_INCLUDE_DIRECTORIES(clamp-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(clamp-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(clamp-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME clamp-test COMMAND clamp-test)
+ 
+     ADD_EXECUTABLE(concatenate2-test test/concatenate2.cc)
+@@ -1385,187 +1352,187 @@
+ 
+     ADD_EXECUTABLE(convert-test test/convert.cc)
+     TARGET_INCLUDE_DIRECTORIES(convert-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(convert-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(convert-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME convert-test COMMAND convert-test)
+ 
+     ADD_EXECUTABLE(convolution-2d-test test/convolution-2d.cc)
+     SET_TARGET_PROPERTIES(convolution-2d-test PROPERTIES CXX_EXTENSIONS YES)
+     TARGET_INCLUDE_DIRECTORIES(convolution-2d-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(convolution-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph convolution-test-helpers)
++    TARGET_LINK_LIBRARIES(convolution-2d-test PRIVATE XNNPACK gtest gtest_main subgraph convolution-test-helpers)
+     ADD_TEST(NAME convolution-2d-test COMMAND convolution-2d-test)
+ 
+     ADD_EXECUTABLE(copy-test test/copy.cc)
+     TARGET_INCLUDE_DIRECTORIES(copy-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(copy-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(copy-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME copy-test COMMAND copy-test)
+ 
+     ADD_EXECUTABLE(deconvolution-2d-test test/deconvolution-2d.cc)
+     SET_TARGET_PROPERTIES(deconvolution-2d-test PROPERTIES CXX_EXTENSIONS YES)
+     TARGET_INCLUDE_DIRECTORIES(deconvolution-2d-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(deconvolution-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph convolution-test-helpers)
++    TARGET_LINK_LIBRARIES(deconvolution-2d-test PRIVATE XNNPACK gtest gtest_main subgraph convolution-test-helpers)
+     ADD_TEST(NAME deconvolution-2d-test COMMAND deconvolution-2d-test)
+ 
+     ADD_EXECUTABLE(depth-to-space-test test/depth-to-space.cc)
+     TARGET_INCLUDE_DIRECTORIES(depth-to-space-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(depth-to-space-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(depth-to-space-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME depth-to-space-test COMMAND depth-to-space-test)
+ 
+     ADD_EXECUTABLE(depthwise-convolution-2d-test test/depthwise-convolution-2d.cc)
+     SET_TARGET_PROPERTIES(depthwise-convolution-2d-test PROPERTIES CXX_EXTENSIONS YES)
+     TARGET_INCLUDE_DIRECTORIES(depthwise-convolution-2d-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(depthwise-convolution-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph convolution-test-helpers)
++    TARGET_LINK_LIBRARIES(depthwise-convolution-2d-test PRIVATE XNNPACK gtest gtest_main subgraph convolution-test-helpers)
+     ADD_TEST(NAME depthwise-convolution-2d-test COMMAND depthwise-convolution-2d-test)
+ 
+     ADD_EXECUTABLE(divide2-test test/divide2.cc)
+     TARGET_INCLUDE_DIRECTORIES(divide2-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(divide2-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(divide2-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME divide2-test COMMAND divide2-test)
+ 
+     ADD_EXECUTABLE(elu-test test/elu.cc)
+     TARGET_INCLUDE_DIRECTORIES(elu-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(elu-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(elu-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME elu-test COMMAND elu-test)
+ 
+     ADD_EXECUTABLE(even-split2-test test/even-split2.cc)
+     TARGET_INCLUDE_DIRECTORIES(even-split2-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(even-split2-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(even-split2-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME even-split2-test COMMAND even-split2-test)
+ 
+     ADD_EXECUTABLE(even-split3-test test/even-split3.cc)
+     TARGET_INCLUDE_DIRECTORIES(even-split3-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(even-split3-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(even-split3-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME even-split3-test COMMAND even-split3-test)
+ 
+     ADD_EXECUTABLE(even-split4-test test/even-split4.cc)
+     TARGET_INCLUDE_DIRECTORIES(even-split4-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(even-split4-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(even-split4-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME even-split4-test COMMAND even-split4-test)
+ 
+     ADD_EXECUTABLE(floor-test test/floor.cc)
+     TARGET_INCLUDE_DIRECTORIES(floor-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(floor-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(floor-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME floor-test COMMAND floor-test)
+ 
+     ADD_EXECUTABLE(fully-connected-test test/fully-connected.cc)
+     TARGET_INCLUDE_DIRECTORIES(fully-connected-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(fully-connected-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(fully-connected-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME fully-connected-test COMMAND fully-connected-test)
+ 
+     ADD_EXECUTABLE(global-average-pooling-1d-test test/global-average-pooling-1d.cc)
+     TARGET_INCLUDE_DIRECTORIES(global-average-pooling-1d-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(global-average-pooling-1d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(global-average-pooling-1d-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME global-average-pooling-1d-test COMMAND global-average-pooling-1d-test)
+ 
+     ADD_EXECUTABLE(global-average-pooling-2d-test test/global-average-pooling-2d.cc)
+     TARGET_INCLUDE_DIRECTORIES(global-average-pooling-2d-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(global-average-pooling-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(global-average-pooling-2d-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME global-average-pooling-2d-test COMMAND global-average-pooling-2d-test)
+ 
+     ADD_EXECUTABLE(hardswish-test test/hardswish.cc)
+     TARGET_INCLUDE_DIRECTORIES(hardswish-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(hardswish-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(hardswish-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME hardswish-test COMMAND hardswish-test)
+ 
+     ADD_EXECUTABLE(leaky-relu-test test/leaky-relu.cc)
+     TARGET_INCLUDE_DIRECTORIES(leaky-relu-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(leaky-relu-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(leaky-relu-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME leaky-relu-test COMMAND leaky-relu-test)
+ 
+     ADD_EXECUTABLE(max-pooling-2d-test test/max-pooling-2d.cc)
+     TARGET_INCLUDE_DIRECTORIES(max-pooling-2d-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(max-pooling-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(max-pooling-2d-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME max-pooling-2d-test COMMAND max-pooling-2d-test)
+ 
+     ADD_EXECUTABLE(maximum2-test test/maximum2.cc)
+     TARGET_INCLUDE_DIRECTORIES(maximum2-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(maximum2-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(maximum2-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME maximum2-test COMMAND maximum2-test)
+ 
+     ADD_EXECUTABLE(minimum2-test test/minimum2.cc)
+     TARGET_INCLUDE_DIRECTORIES(minimum2-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(minimum2-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(minimum2-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME minimum2-test COMMAND minimum2-test)
+ 
+     ADD_EXECUTABLE(multiply2-test test/multiply2.cc)
+     TARGET_INCLUDE_DIRECTORIES(multiply2-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(multiply2-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(multiply2-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME multiply2-test COMMAND multiply2-test)
+ 
+     ADD_EXECUTABLE(negate-test test/negate.cc)
+     TARGET_INCLUDE_DIRECTORIES(negate-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(negate-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(negate-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME negate-test COMMAND negate-test)
+ 
+     ADD_EXECUTABLE(prelu-test test/prelu.cc)
+     TARGET_INCLUDE_DIRECTORIES(prelu-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(prelu-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(prelu-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME prelu-test COMMAND prelu-test)
+ 
+     ADD_EXECUTABLE(sigmoid-test test/sigmoid.cc)
+     SET_TARGET_PROPERTIES(sigmoid-test PROPERTIES CXX_EXTENSIONS YES)
+     TARGET_INCLUDE_DIRECTORIES(sigmoid-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(sigmoid-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(sigmoid-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME sigmoid-test COMMAND sigmoid-test)
+ 
+     ADD_EXECUTABLE(static-slice-test test/static-slice.cc)
+     SET_TARGET_PROPERTIES(static-slice-test PROPERTIES CXX_EXTENSIONS YES)
+     TARGET_INCLUDE_DIRECTORIES(static-slice-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(static-slice-test PRIVATE XNNPACK fp16 gmock gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(static-slice-test PRIVATE XNNPACK gmock gtest gtest_main subgraph)
+     ADD_TEST(NAME static-slice-test COMMAND static-slice-test)
+ 
+     ADD_EXECUTABLE(softmax-test test/softmax.cc)
+     TARGET_INCLUDE_DIRECTORIES(softmax-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(softmax-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(softmax-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME softmax-test COMMAND softmax-test)
+ 
+     ADD_EXECUTABLE(space-to-depth-2d-test test/space-to-depth-2d.cc)
+     TARGET_INCLUDE_DIRECTORIES(space-to-depth-2d-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(space-to-depth-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(space-to-depth-2d-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME space-to-depth-2d-test COMMAND space-to-depth-2d-test)
+ 
+     ADD_EXECUTABLE(square-test test/square.cc)
+     TARGET_INCLUDE_DIRECTORIES(square-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(square-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(square-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME square-test COMMAND square-test)
+ 
+     ADD_EXECUTABLE(square-root-test test/square.cc)
+     TARGET_INCLUDE_DIRECTORIES(square-root-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(square-root-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(square-root-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME square-root-test COMMAND square-root-test)
+ 
+     ADD_EXECUTABLE(squared-difference-test test/squared-difference.cc)
+     TARGET_INCLUDE_DIRECTORIES(squared-difference-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(squared-difference-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(squared-difference-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME squared-difference-test COMMAND squared-difference-test)
+ 
+     ADD_EXECUTABLE(static-constant-pad-test test/static-constant-pad.cc)
+     TARGET_INCLUDE_DIRECTORIES(static-constant-pad-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(static-constant-pad-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(static-constant-pad-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME static-constant-pad-test COMMAND static-constant-pad-test)
+ 
+     ADD_EXECUTABLE(static-reshape-test test/static-reshape.cc)
+     TARGET_INCLUDE_DIRECTORIES(static-reshape-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(static-reshape-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(static-reshape-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME static-reshape-test COMMAND static-reshape-test)
+ 
+     ADD_EXECUTABLE(static-resize-bilinear-2d-test test/static-resize-bilinear-2d.cc)
+     TARGET_INCLUDE_DIRECTORIES(static-resize-bilinear-2d-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(static-resize-bilinear-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(static-resize-bilinear-2d-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME static-resize-bilinear-2d-test COMMAND static-resize-bilinear-2d-test)
+ 
+     ADD_EXECUTABLE(static-transpose-test test/static-transpose.cc)
+     TARGET_INCLUDE_DIRECTORIES(static-transpose-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(static-transpose-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(static-transpose-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME static-transpose-test COMMAND static-transpose-test)
+ 
+     ADD_EXECUTABLE(subtract2-test test/subtract2.cc)
+     TARGET_INCLUDE_DIRECTORIES(subtract2-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(subtract2-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(subtract2-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME subtract2-test COMMAND subtract2-test)
+ 
+     ADD_EXECUTABLE(unpooling-2d-test test/unpooling-2d.cc)
+     TARGET_INCLUDE_DIRECTORIES(unpooling-2d-test PRIVATE src test)
+-    TARGET_LINK_LIBRARIES(unpooling-2d-test PRIVATE XNNPACK fp16 gtest gtest_main subgraph)
++    TARGET_LINK_LIBRARIES(unpooling-2d-test PRIVATE XNNPACK gtest gtest_main subgraph)
+     ADD_TEST(NAME unpooling-2d-test COMMAND unpooling-2d-test)
+   ENDIF()
+ 
+@@ -1591,355 +1558,355 @@
+ 
+   ADD_EXECUTABLE(f16-f32-vcvt-test test/f16-f32-vcvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-f32-vcvt-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-f32-vcvt-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-f32-vcvt-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-f32-vcvt-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-f32-vcvt-test COMMAND f16-f32-vcvt-test)
+ 
+   ADD_EXECUTABLE(f16-gavgpool-cw-test test/f16-gavgpool-cw.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-gavgpool-cw-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-gavgpool-cw-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-gavgpool-cw-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-gavgpool-cw-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-gavgpool-cw-test COMMAND f16-gavgpool-cw-test)
+ 
+   ADD_EXECUTABLE(f16-avgpool-minmax-test test/f16-avgpool-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-avgpool-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-avgpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-avgpool-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-avgpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-avgpool-minmax-test COMMAND f16-avgpool-minmax-test)
+ 
+   ADD_EXECUTABLE(f16-conv-hwc2chw-test test/f16-conv-hwc2chw.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-conv-hwc2chw-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-conv-hwc2chw-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-conv-hwc2chw-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-conv-hwc2chw-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
+   ADD_TEST(NAME f16-conv-hwc2chw-test COMMAND f16-conv-hwc2chw-test)
+ 
+   ADD_EXECUTABLE(f16-dwconv-unipass-minmax-test test/f16-dwconv-unipass-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-dwconv-unipass-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-dwconv-unipass-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-dwconv-unipass-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-dwconv-unipass-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
+   ADD_TEST(NAME f16-dwconv-unipass-minmax-test COMMAND f16-dwconv-unipass-minmax-test)
+ 
+   ADD_EXECUTABLE(f16-dwconv2d-chw-test test/f16-dwconv2d-chw.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-dwconv2d-chw-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-dwconv2d-chw-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-dwconv2d-chw-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-dwconv2d-chw-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
+   ADD_TEST(NAME f16-dwconv2d-chw-test COMMAND f16-dwconv2d-chw-test)
+ 
+   ADD_EXECUTABLE(f16-gavgpool-minmax-test test/f16-gavgpool-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-gavgpool-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-gavgpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-gavgpool-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-gavgpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-gavgpool-minmax-test COMMAND f16-gavgpool-minmax-test)
+ 
+   ADD_EXECUTABLE(f16-gemm-minmax-test test/f16-gemm-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-gemm-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-gemm-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-gemm-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-gemm-minmax-test PRIVATE gemm-microkernel-tester hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-gemm-minmax-test COMMAND f16-gemm-minmax-test)
+ 
+   ADD_EXECUTABLE(f16-ibilinear-chw-test test/f16-ibilinear-chw.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-ibilinear-chw-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-ibilinear-chw-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-ibilinear-chw-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-ibilinear-chw-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f16-ibilinear-chw-test COMMAND f16-ibilinear-chw-test)
+ 
+   ADD_EXECUTABLE(f16-ibilinear-test test/f16-ibilinear.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-ibilinear-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-ibilinear-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-ibilinear-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-ibilinear-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f16-ibilinear-test COMMAND f16-ibilinear-test)
+ 
+   ADD_EXECUTABLE(f16-igemm-minmax-test test/f16-igemm-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-igemm-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-igemm-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-igemm-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-igemm-minmax-test PRIVATE gemm-microkernel-tester hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-igemm-minmax-test COMMAND f16-igemm-minmax-test)
+ 
+   ADD_EXECUTABLE(f16-maxpool-minmax-test test/f16-maxpool-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-maxpool-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-maxpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-maxpool-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-maxpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-maxpool-minmax-test COMMAND f16-maxpool-minmax-test)
+ 
+   ADD_EXECUTABLE(f16-spmm-minmax-test test/f16-spmm-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-spmm-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-spmm-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-spmm-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-spmm-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-spmm-minmax-test COMMAND f16-spmm-minmax-test)
+ 
+   ADD_EXECUTABLE(f16-rmax-test test/f16-rmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-rmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-rmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-rmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-rmax-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f16-rmax-test COMMAND f16-rmax-test)
+ 
+   ADD_EXECUTABLE(f16-vabs-test test/f16-vabs.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vabs-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vabs-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vabs-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vabs-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-vabs-test COMMAND f16-vabs-test)
+ 
+   ADD_EXECUTABLE(f16-vadd-minmax-test test/f16-vadd-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vadd-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vadd-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vadd-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vadd-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-vadd-minmax-test COMMAND f16-vadd-minmax-test)
+ 
+   ADD_EXECUTABLE(f16-vaddc-minmax-test test/f16-vaddc-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vaddc-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vaddc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vaddc-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vaddc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-vaddc-minmax-test COMMAND f16-vaddc-minmax-test)
+ 
+   ADD_EXECUTABLE(f16-vclamp-test test/f16-vclamp.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vclamp-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vclamp-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vclamp-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vclamp-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-vclamp-test COMMAND f16-vclamp-test)
+ 
+   ADD_EXECUTABLE(f16-vdiv-minmax-test test/f16-vdiv-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vdiv-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vdiv-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vdiv-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vdiv-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-vdiv-minmax-test COMMAND f16-vdiv-minmax-test)
+ 
+   ADD_EXECUTABLE(f16-vdivc-minmax-test test/f16-vdivc-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vdivc-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vdivc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vdivc-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vdivc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-vdivc-minmax-test COMMAND f16-vdivc-minmax-test)
+ 
+   ADD_EXECUTABLE(f16-vrdivc-minmax-test test/f16-vrdivc-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vrdivc-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vrdivc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vrdivc-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vrdivc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-vrdivc-minmax-test COMMAND f16-vrdivc-minmax-test)
+ 
+   ADD_EXECUTABLE(f16-velu-test test/f16-velu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-velu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-velu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-velu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-velu-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-velu-test COMMAND f16-velu-test)
+ 
+   ADD_EXECUTABLE(f16-vhswish-test test/f16-vhswish.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vhswish-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vhswish-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vhswish-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vhswish-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-vhswish-test COMMAND f16-vhswish-test)
+ 
+   ADD_EXECUTABLE(f16-vlrelu-test test/f16-vlrelu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vlrelu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vlrelu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vlrelu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vlrelu-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-vlrelu-test COMMAND f16-vlrelu-test)
+ 
+   ADD_EXECUTABLE(f16-vmax-test test/f16-vmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vmax-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f16-vmax-test COMMAND f16-vmax-test)
+ 
+   ADD_EXECUTABLE(f16-vmaxc-test test/f16-vmaxc.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vmaxc-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vmaxc-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vmaxc-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vmaxc-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f16-vmaxc-test COMMAND f16-vmaxc-test)
+ 
+   ADD_EXECUTABLE(f16-vmin-test test/f16-vmin.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vmin-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vmin-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vmin-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vmin-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f16-vmin-test COMMAND f16-vmin-test)
+ 
+   ADD_EXECUTABLE(f16-vminc-test test/f16-vminc.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vminc-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vminc-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vminc-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vminc-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f16-vminc-test COMMAND f16-vminc-test)
+ 
+   ADD_EXECUTABLE(f16-vmul-minmax-test test/f16-vmul-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vmul-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vmul-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vmul-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vmul-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-vmul-minmax-test COMMAND f16-vmul-minmax-test)
+ 
+   ADD_EXECUTABLE(f16-vmulc-minmax-test test/f16-vmulc-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vmulc-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vmulc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vmulc-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vmulc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-vmulc-minmax-test COMMAND f16-vmulc-minmax-test)
+ 
+   ADD_EXECUTABLE(f16-vmulcaddc-minmax-test test/f16-vmulcaddc-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vmulcaddc-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vmulcaddc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vmulcaddc-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vmulcaddc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
+   ADD_TEST(NAME f16-vmulcaddc-minmax-test COMMAND f16-vmulcaddc-minmax-test)
+ 
+   ADD_EXECUTABLE(f16-vneg-test test/f16-vneg.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vneg-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vneg-test PRIVATE fp16 pthreadpool gtest gtest_main microparams-init)
++  TARGET_LINK_LIBRARIES(f16-vneg-test PRIVATE gtest gtest_main microparams-init)
+   TARGET_LINK_LIBRARIES(f16-vneg-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-vneg-test COMMAND f16-vneg-test)
+ 
+   ADD_EXECUTABLE(f16-pavgpool-minmax-test test/f16-pavgpool-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-pavgpool-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-pavgpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-pavgpool-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-pavgpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-pavgpool-minmax-test COMMAND f16-pavgpool-minmax-test)
+ 
+   ADD_EXECUTABLE(f16-prelu-test test/f16-prelu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-prelu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-prelu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-prelu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-prelu-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f16-prelu-test COMMAND f16-prelu-test)
+ 
+   ADD_EXECUTABLE(f16-raddstoreexpminusmax-test test/f16-raddstoreexpminusmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-raddstoreexpminusmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-raddstoreexpminusmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-raddstoreexpminusmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-raddstoreexpminusmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-raddstoreexpminusmax-test COMMAND f16-raddstoreexpminusmax-test)
+ 
+   ADD_EXECUTABLE(f16-vrndne-test test/f16-vrndne.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vrndne-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vrndne-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vrndne-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vrndne-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f16-vrndne-test COMMAND f16-vrndne-test)
+ 
+   ADD_EXECUTABLE(f16-vrndz-test test/f16-vrndz.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vrndz-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vrndz-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vrndz-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vrndz-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f16-vrndz-test COMMAND f16-vrndz-test)
+ 
+   ADD_EXECUTABLE(f16-vrndu-test test/f16-vrndu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vrndu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vrndu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vrndu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vrndu-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f16-vrndu-test COMMAND f16-vrndu-test)
+ 
+   ADD_EXECUTABLE(f16-vrndd-test test/f16-vrndd.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vrndd-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vrndd-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vrndd-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vrndd-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f16-vrndd-test COMMAND f16-vrndd-test)
+ 
+   ADD_EXECUTABLE(f16-vsigmoid-test test/f16-vsigmoid.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vsigmoid-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vsigmoid-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vsigmoid-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vsigmoid-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-vsigmoid-test COMMAND f16-vsigmoid-test)
+ 
+   ADD_EXECUTABLE(f16-vsqr-test test/f16-vsqr.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vsqr-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vsqr-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vsqr-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vsqr-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f16-vsqr-test COMMAND f16-vsqr-test)
+ 
+   ADD_EXECUTABLE(f16-vsqrt-test test/f16-vsqrt.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vsqrt-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vsqrt-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vsqrt-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vsqrt-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f16-vsqrt-test COMMAND f16-vsqrt-test)
+ 
+   ADD_EXECUTABLE(f16-vsub-minmax-test test/f16-vsub-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vsub-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vsub-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vsub-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vsub-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-vsub-minmax-test COMMAND f16-vsub-minmax-test)
+ 
+   ADD_EXECUTABLE(f16-vsubc-minmax-test test/f16-vsubc-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vsubc-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vsubc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vsubc-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vsubc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-vsubc-minmax-test COMMAND f16-vsubc-minmax-test)
+ 
+   ADD_EXECUTABLE(f16-vrsubc-minmax-test test/f16-vrsubc-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vrsubc-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f16-vrsubc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-vrsubc-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-vrsubc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f16-vrsubc-minmax-test COMMAND f16-vrsubc-minmax-test)
+ 
+   ADD_EXECUTABLE(f32-argmaxpool-test test/f32-argmaxpool.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-argmaxpool-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-argmaxpool-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-argmaxpool-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-argmaxpool-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-argmaxpool-test COMMAND f32-argmaxpool-test)
+ 
+   ADD_EXECUTABLE(f32-avgpool-minmax-test test/f32-avgpool-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-avgpool-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-avgpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-avgpool-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-avgpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-avgpool-minmax-test COMMAND f32-avgpool-minmax-test)
+ 
+   ADD_EXECUTABLE(f32-conv-hwc-test test/f32-conv-hwc.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-conv-hwc-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-conv-hwc-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-conv-hwc-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-conv-hwc-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
+   ADD_TEST(NAME f32-conv-hwc-test COMMAND f32-conv-hwc-test)
+ 
+   ADD_EXECUTABLE(f32-conv-hwc2chw-test test/f32-conv-hwc2chw.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-conv-hwc2chw-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-conv-hwc2chw-test PRIVATE fp16 pthreadpool gtest gtest_main microparams-init)
++  TARGET_LINK_LIBRARIES(f32-conv-hwc2chw-test PRIVATE gtest gtest_main microparams-init)
+   TARGET_LINK_LIBRARIES(f32-conv-hwc2chw-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
+   ADD_TEST(NAME f32-conv-hwc2chw-test COMMAND f32-conv-hwc2chw-test)
+ 
+   ADD_EXECUTABLE(f32-dwconv2d-chw-test test/f32-dwconv2d-chw.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-dwconv2d-chw-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-dwconv2d-chw-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-dwconv2d-chw-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-dwconv2d-chw-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-dwconv2d-chw-test COMMAND f32-dwconv2d-chw-test)
+ 
+   ADD_EXECUTABLE(f32-dwconv-multipass-test test/f32-dwconv-multipass.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-dwconv-multipass-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-dwconv-multipass-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-dwconv-multipass-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-dwconv-multipass-test PRIVATE hardware-config logging microkernel-utils microkernels-all microparams-init packing)
+   ADD_TEST(NAME f32-dwconv-multipass-test COMMAND f32-dwconv-multipass-test)
+ 
+   ADD_EXECUTABLE(f32-dwconv-multipass-minmax-test test/f32-dwconv-multipass-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-dwconv-multipass-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-dwconv-multipass-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-dwconv-multipass-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-dwconv-multipass-minmax-test PRIVATE hardware-config logging microkernel-utils microkernels-all microparams-init packing)
+   ADD_TEST(NAME f32-dwconv-multipass-minmax-test COMMAND f32-dwconv-multipass-minmax-test)
+ 
+   ADD_EXECUTABLE(f32-dwconv-unipass-test test/f32-dwconv-unipass.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-dwconv-unipass-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-dwconv-unipass-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-dwconv-unipass-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-dwconv-unipass-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
+   ADD_TEST(NAME f32-dwconv-unipass-test COMMAND f32-dwconv-unipass-test)
+ 
+   ADD_EXECUTABLE(f32-dwconv-unipass-minmax-test test/f32-dwconv-unipass-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-dwconv-unipass-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-dwconv-unipass-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-dwconv-unipass-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-dwconv-unipass-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
+   ADD_TEST(NAME f32-dwconv-unipass-minmax-test COMMAND f32-dwconv-unipass-minmax-test)
+ 
+   ADD_EXECUTABLE(f32-f16-vcvt-test test/f32-f16-vcvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-f16-vcvt-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-f16-vcvt-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-f16-vcvt-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-f16-vcvt-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-f16-vcvt-test COMMAND f32-f16-vcvt-test)
+ 
+   ADD_EXECUTABLE(f32-qs8-vcvt-test test/f32-qs8-vcvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-qs8-vcvt-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-qs8-vcvt-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-qs8-vcvt-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-qs8-vcvt-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-qs8-vcvt-test COMMAND f32-qs8-vcvt-test)
+ 
+   ADD_EXECUTABLE(f32-qu8-vcvt-test test/f32-qu8-vcvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-qu8-vcvt-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-qu8-vcvt-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-qu8-vcvt-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-qu8-vcvt-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-qu8-vcvt-test COMMAND f32-qu8-vcvt-test)
+ 
+   ADD_EXECUTABLE(f32-gavgpool-cw-test test/f32-gavgpool-cw.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-gavgpool-cw-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-gavgpool-cw-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-gavgpool-cw-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-gavgpool-cw-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-gavgpool-cw-test COMMAND f32-gavgpool-cw-test)
+ 
+   ADD_EXECUTABLE(f32-gavgpool-minmax-test test/f32-gavgpool-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-gavgpool-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-gavgpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-gavgpool-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-gavgpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-gavgpool-minmax-test COMMAND f32-gavgpool-minmax-test)
+ 
+@@ -1975,13 +1942,13 @@
+ 
+   ADD_EXECUTABLE(f32-ibilinear-test test/f32-ibilinear.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-ibilinear-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-ibilinear-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-ibilinear-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-ibilinear-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-ibilinear-test COMMAND f32-ibilinear-test)
+ 
+   ADD_EXECUTABLE(f32-ibilinear-chw-test test/f32-ibilinear-chw.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-ibilinear-chw-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-ibilinear-chw-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-ibilinear-chw-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-ibilinear-chw-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-ibilinear-chw-test COMMAND f32-ibilinear-chw-test)
+ 
+@@ -2016,13 +1983,13 @@
+ 
+   ADD_EXECUTABLE(f32-maxpool-minmax-test test/f32-maxpool-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-maxpool-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-maxpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-maxpool-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-maxpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-maxpool-minmax-test COMMAND f32-maxpool-minmax-test)
+ 
+   ADD_EXECUTABLE(f32-pavgpool-minmax-test test/f32-pavgpool-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-pavgpool-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-pavgpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-pavgpool-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-pavgpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-pavgpool-minmax-test COMMAND f32-pavgpool-minmax-test)
+ 
+@@ -2034,259 +2001,259 @@
+ 
+   ADD_EXECUTABLE(f32-prelu-test test/f32-prelu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-prelu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-prelu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-prelu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-prelu-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-prelu-test COMMAND f32-prelu-test)
+ 
+   ADD_EXECUTABLE(f32-raddexpminusmax-test test/f32-raddexpminusmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-raddexpminusmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-raddexpminusmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-raddexpminusmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-raddexpminusmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-raddexpminusmax-test COMMAND f32-raddexpminusmax-test)
+ 
+   ADD_EXECUTABLE(f32-raddextexp-test test/f32-raddextexp.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-raddextexp-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-raddextexp-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-raddextexp-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-raddextexp-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-raddextexp-test COMMAND f32-raddextexp-test)
+ 
+   ADD_EXECUTABLE(f32-raddstoreexpminusmax-test test/f32-raddstoreexpminusmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-raddstoreexpminusmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-raddstoreexpminusmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-raddstoreexpminusmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-raddstoreexpminusmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-raddstoreexpminusmax-test COMMAND f32-raddstoreexpminusmax-test)
+ 
+   ADD_EXECUTABLE(f32-rmax-test test/f32-rmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-rmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-rmax-test PRIVATE fp16 pthreadpool gtest gtest_main microparams-init)
++  TARGET_LINK_LIBRARIES(f32-rmax-test PRIVATE gtest gtest_main microparams-init)
+   TARGET_LINK_LIBRARIES(f32-rmax-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-rmax-test COMMAND f32-rmax-test)
+ 
+   ADD_EXECUTABLE(f32-spmm-minmax-test test/f32-spmm-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-spmm-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-spmm-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-spmm-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-spmm-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-spmm-minmax-test COMMAND f32-spmm-minmax-test)
+ 
+   ADD_EXECUTABLE(f32-vabs-test test/f32-vabs.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vabs-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vabs-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vabs-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vabs-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vabs-test COMMAND f32-vabs-test)
+ 
+   ADD_EXECUTABLE(f32-vadd-test test/f32-vadd.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vadd-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vadd-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vadd-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vadd-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-vadd-test COMMAND f32-vadd-test)
+ 
+   ADD_EXECUTABLE(f32-vadd-minmax-test test/f32-vadd-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vadd-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vadd-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vadd-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vadd-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vadd-minmax-test COMMAND f32-vadd-minmax-test)
+ 
+   ADD_EXECUTABLE(f32-vadd-relu-test test/f32-vadd-relu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vadd-relu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vadd-relu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vadd-relu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vadd-relu-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-vadd-relu-test COMMAND f32-vadd-relu-test)
+ 
+   ADD_EXECUTABLE(f32-vaddc-test test/f32-vaddc.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vaddc-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vaddc-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vaddc-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vaddc-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-vaddc-test COMMAND f32-vaddc-test)
+ 
+   ADD_EXECUTABLE(f32-vaddc-minmax-test test/f32-vaddc-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vaddc-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vaddc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vaddc-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vaddc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vaddc-minmax-test COMMAND f32-vaddc-minmax-test)
+ 
+   ADD_EXECUTABLE(f32-vaddc-relu-test test/f32-vaddc-relu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vaddc-relu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vaddc-relu-test PRIVATE fp16 pthreadpool gtest gtest_main microparams-init)
++  TARGET_LINK_LIBRARIES(f32-vaddc-relu-test PRIVATE gtest gtest_main microparams-init)
+   TARGET_LINK_LIBRARIES(f32-vaddc-relu-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-vaddc-relu-test COMMAND f32-vaddc-relu-test)
+ 
+   ADD_EXECUTABLE(f32-vclamp-test test/f32-vclamp.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vclamp-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vclamp-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vclamp-test PRIVATE test gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vclamp-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vclamp-test COMMAND f32-vclamp-test)
+ 
+   ADD_EXECUTABLE(f32-vhswish-test test/f32-vhswish.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vhswish-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vhswish-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vhswish-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vhswish-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vhswish-test COMMAND f32-vhswish-test)
+ 
+   ADD_EXECUTABLE(f32-vdiv-test test/f32-vdiv.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vdiv-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vdiv-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vdiv-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vdiv-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-vdiv-test COMMAND f32-vdiv-test)
+ 
+   ADD_EXECUTABLE(f32-vdiv-minmax-test test/f32-vdiv-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vdiv-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vdiv-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vdiv-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vdiv-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vdiv-minmax-test COMMAND f32-vdiv-minmax-test)
+ 
+   ADD_EXECUTABLE(f32-vdiv-relu-test test/f32-vdiv-relu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vdiv-relu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vdiv-relu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vdiv-relu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vdiv-relu-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-vdiv-relu-test COMMAND f32-vdiv-relu-test)
+ 
+   ADD_EXECUTABLE(f32-vdivc-test test/f32-vdivc.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vdivc-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vdivc-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vdivc-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vdivc-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-vdivc-test COMMAND f32-vdivc-test)
+ 
+   ADD_EXECUTABLE(f32-vdivc-minmax-test test/f32-vdivc-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vdivc-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vdivc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vdivc-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vdivc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vdivc-minmax-test COMMAND f32-vdivc-minmax-test)
+ 
+   ADD_EXECUTABLE(f32-vdivc-relu-test test/f32-vdivc-relu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vdivc-relu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vdivc-relu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vdivc-relu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vdivc-relu-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-vdivc-relu-test COMMAND f32-vdivc-relu-test)
+ 
+   ADD_EXECUTABLE(f32-vrdivc-test test/f32-vrdivc.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vrdivc-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vrdivc-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vrdivc-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vrdivc-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-vrdivc-test COMMAND f32-vrdivc-test)
+ 
+   ADD_EXECUTABLE(f32-vrdivc-minmax-test test/f32-vrdivc-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vrdivc-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vrdivc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vrdivc-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vrdivc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vrdivc-minmax-test COMMAND f32-vrdivc-minmax-test)
+ 
+   ADD_EXECUTABLE(f32-vrdivc-relu-test test/f32-vrdivc-relu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vrdivc-relu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vrdivc-relu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vrdivc-relu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vrdivc-relu-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-vrdivc-relu-test COMMAND f32-vrdivc-relu-test)
+ 
+   ADD_EXECUTABLE(f32-velu-test test/f32-velu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-velu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-velu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-velu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-velu-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-velu-test COMMAND f32-velu-test)
+ 
+   ADD_EXECUTABLE(f32-vlrelu-test test/f32-vlrelu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vlrelu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vlrelu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vlrelu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vlrelu-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vlrelu-test COMMAND f32-vlrelu-test)
+ 
+   ADD_EXECUTABLE(f32-vmax-test test/f32-vmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vmax-test COMMAND f32-vmax-test)
+ 
+   ADD_EXECUTABLE(f32-vmaxc-test test/f32-vmaxc.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vmaxc-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vmaxc-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vmaxc-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vmaxc-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vmaxc-test COMMAND f32-vmaxc-test)
+ 
+   ADD_EXECUTABLE(f32-vmin-test test/f32-vmin.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vmin-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vmin-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vmin-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vmin-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vmin-test COMMAND f32-vmin-test)
+ 
+   ADD_EXECUTABLE(f32-vminc-test test/f32-vminc.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vminc-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vminc-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vminc-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vminc-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vminc-test COMMAND f32-vminc-test)
+ 
+   ADD_EXECUTABLE(f32-vmul-test test/f32-vmul.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vmul-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vmul-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vmul-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vmul-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vmul-test COMMAND f32-vmul-test)
+ 
+   ADD_EXECUTABLE(f32-vmul-minmax-test test/f32-vmul-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vmul-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vmul-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vmul-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vmul-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vmul-minmax-test COMMAND f32-vmul-minmax-test microparams-init)
+ 
+   ADD_EXECUTABLE(f32-vmul-relu-test test/f32-vmul-relu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vmul-relu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vmul-relu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vmul-relu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vmul-relu-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vmul-relu-test COMMAND f32-vmul-relu-test)
+ 
+   ADD_EXECUTABLE(f32-vmulc-test test/f32-vmulc.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vmulc-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vmulc-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vmulc-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vmulc-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vmulc-test COMMAND f32-vmulc-test)
+ 
+   ADD_EXECUTABLE(f32-vmulc-minmax-test test/f32-vmulc-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vmulc-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vmulc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vmulc-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vmulc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vmulc-minmax-test COMMAND f32-vmulc-minmax-test)
+ 
+   ADD_EXECUTABLE(f32-vmulc-relu-test test/f32-vmulc-relu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vmulc-relu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vmulc-relu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vmulc-relu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vmulc-relu-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vmulc-relu-test COMMAND f32-vmulc-relu-test)
+ 
+   ADD_EXECUTABLE(f32-vmulcaddc-minmax-test test/f32-vmulcaddc-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vmulcaddc-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vmulcaddc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vmulcaddc-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vmulcaddc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
+   ADD_TEST(NAME f32-vmulcaddc-minmax-test COMMAND f32-vmulcaddc-minmax-test)
+ 
+   ADD_EXECUTABLE(f32-vneg-test test/f32-vneg.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vneg-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vneg-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vneg-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vneg-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vneg-test COMMAND f32-vneg-test)
+ 
+   ADD_EXECUTABLE(f32-vrelu-test test/f32-vrelu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vrelu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vrelu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vrelu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vrelu-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-vrelu-test COMMAND f32-vrelu-test)
+ 
+   ADD_EXECUTABLE(f32-vrndne-test test/f32-vrndne.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vrndne-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vrndne-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vrndne-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vrndne-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vrndne-test COMMAND f32-vrndne-test)
+ 
+   ADD_EXECUTABLE(f32-vrndz-test test/f32-vrndz.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vrndz-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vrndz-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vrndz-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vrndz-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vrndz-test COMMAND f32-vrndz-test)
+ 
+   ADD_EXECUTABLE(f32-vrndu-test test/f32-vrndu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vrndu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vrndu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vrndu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vrndu-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vrndu-test COMMAND f32-vrndu-test)
+ 
+   ADD_EXECUTABLE(f32-vrndd-test test/f32-vrndd.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vrndd-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vrndd-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vrndd-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vrndd-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vrndd-test COMMAND f32-vrndd-test)
+ 
+@@ -2304,91 +2271,91 @@
+ 
+   ADD_EXECUTABLE(f32-vsigmoid-test test/f32-vsigmoid.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vsigmoid-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vsigmoid-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vsigmoid-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vsigmoid-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vsigmoid-test COMMAND f32-vsigmoid-test)
+ 
+   ADD_EXECUTABLE(f32-vsqr-test test/f32-vsqr.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vsqr-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vsqr-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vsqr-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vsqr-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vsqr-test COMMAND f32-vsqr-test)
+ 
+   ADD_EXECUTABLE(f32-vsqrdiff-test test/f32-vsqrdiff.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vsqrdiff-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vsqrdiff-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vsqrdiff-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vsqrdiff-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vsqrdiff-test COMMAND f32-vsqrdiff-test)
+ 
+   ADD_EXECUTABLE(f32-vsqrdiffc-test test/f32-vsqrdiffc.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vsqrdiffc-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vsqrdiffc-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vsqrdiffc-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vsqrdiffc-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vsqrdiffc-test COMMAND f32-vsqrdiffc-test)
+ 
+   ADD_EXECUTABLE(f32-vsqrt-test test/f32-vsqrt.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vsqrt-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vsqrt-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vsqrt-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vsqrt-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vsqrt-test COMMAND f32-vsqrt-test)
+ 
+   ADD_EXECUTABLE(f32-vsub-test test/f32-vsub.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vsub-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vsub-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vsub-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vsub-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-vsub-test COMMAND f32-vsub-test)
+ 
+   ADD_EXECUTABLE(f32-vsub-minmax-test test/f32-vsub-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vsub-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vsub-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vsub-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vsub-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vsub-minmax-test COMMAND f32-vsub-minmax-test)
+ 
+   ADD_EXECUTABLE(f32-vsub-relu-test test/f32-vsub-relu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vsub-relu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vsub-relu-test PRIVATE fp16 pthreadpool gtest gtest_main microparams-init)
++  TARGET_LINK_LIBRARIES(f32-vsub-relu-test PRIVATE gtest gtest_main microparams-init)
+   TARGET_LINK_LIBRARIES(f32-vsub-relu-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-vsub-relu-test COMMAND f32-vsub-relu-test)
+ 
+   ADD_EXECUTABLE(f32-vsubc-test test/f32-vsubc.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vsubc-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vsubc-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vsubc-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vsubc-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-vsubc-test COMMAND f32-vsubc-test)
+ 
+   ADD_EXECUTABLE(f32-vsubc-minmax-test test/f32-vsubc-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vsubc-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vsubc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vsubc-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vsubc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vsubc-minmax-test COMMAND f32-vsubc-minmax-test)
+ 
+   ADD_EXECUTABLE(f32-vsubc-relu-test test/f32-vsubc-relu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vsubc-relu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vsubc-relu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vsubc-relu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vsubc-relu-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-vsubc-relu-test COMMAND f32-vsubc-relu-test)
+ 
+   ADD_EXECUTABLE(f32-vrsubc-test test/f32-vrsubc.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vrsubc-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vrsubc-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vrsubc-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vrsubc-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-vrsubc-test COMMAND f32-vrsubc-test)
+ 
+   ADD_EXECUTABLE(f32-vrsubc-minmax-test test/f32-vrsubc-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vrsubc-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vrsubc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vrsubc-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vrsubc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME f32-vrsubc-minmax-test COMMAND f32-vrsubc-minmax-test)
+ 
+   ADD_EXECUTABLE(f32-vrsubc-relu-test test/f32-vrsubc-relu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vrsubc-relu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(f32-vrsubc-relu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-vrsubc-relu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-vrsubc-relu-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME f32-vrsubc-relu-test COMMAND f32-vrsubc-relu-test)
+ 
+   ADD_EXECUTABLE(qc8-dwconv-unipass-minmax-fp32-test test/qc8-dwconv-unipass-minmax-fp32.cc)
+   TARGET_INCLUDE_DIRECTORIES(qc8-dwconv-unipass-minmax-fp32-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qc8-dwconv-unipass-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qc8-dwconv-unipass-minmax-fp32-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qc8-dwconv-unipass-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
+   ADD_TEST(NAME qc8-dwconv-unipass-minmax-fp32-test COMMAND qc8-dwconv-unipass-minmax-fp32-test)
+ 
+@@ -2406,31 +2373,31 @@
+ 
+   ADD_EXECUTABLE(qs8-dwconv-unipass-minmax-fp32-test test/qs8-dwconv-unipass-minmax-fp32.cc)
+   TARGET_INCLUDE_DIRECTORIES(qs8-dwconv-unipass-minmax-fp32-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qs8-dwconv-unipass-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main microparams-init)
++  TARGET_LINK_LIBRARIES(qs8-dwconv-unipass-minmax-fp32-test PRIVATE gtest gtest_main microparams-init)
+   TARGET_LINK_LIBRARIES(qs8-dwconv-unipass-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
+   ADD_TEST(NAME qs8-dwconv-unipass-minmax-fp32-test COMMAND qs8-dwconv-unipass-minmax-fp32-test)
+ 
+   ADD_EXECUTABLE(qs8-dwconv-unipass-minmax-rndnu-test test/qs8-dwconv-unipass-minmax-rndnu.cc)
+   TARGET_INCLUDE_DIRECTORIES(qs8-dwconv-unipass-minmax-rndnu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qs8-dwconv-unipass-minmax-rndnu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qs8-dwconv-unipass-minmax-rndnu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qs8-dwconv-unipass-minmax-rndnu-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
+   ADD_TEST(NAME qs8-dwconv-unipass-minmax-rndnu-test COMMAND qs8-dwconv-unipass-minmax-rndnu-test)
+ 
+   ADD_EXECUTABLE(qs8-f32-vcvt-test test/f32-f16-vcvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(qs8-f32-vcvt-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qs8-f32-vcvt-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qs8-f32-vcvt-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qs8-f32-vcvt-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qs8-f32-vcvt-test COMMAND qs8-f32-vcvt-test)
+ 
+   ADD_EXECUTABLE(qs8-gavgpool-minmax-fp32-test test/qs8-gavgpool-minmax-fp32.cc)
+   TARGET_INCLUDE_DIRECTORIES(qs8-gavgpool-minmax-fp32-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qs8-gavgpool-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qs8-gavgpool-minmax-fp32-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qs8-gavgpool-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qs8-gavgpool-minmax-fp32-test COMMAND qs8-gavgpool-minmax-fp32-test)
+ 
+   ADD_EXECUTABLE(qs8-gavgpool-minmax-rndnu-test test/qs8-gavgpool-minmax-rndnu.cc)
+   TARGET_INCLUDE_DIRECTORIES(qs8-gavgpool-minmax-rndnu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qs8-gavgpool-minmax-rndnu-test PRIVATE fp16 pthreadpool gtest gtest_main microparams-init)
++  TARGET_LINK_LIBRARIES(qs8-gavgpool-minmax-rndnu-test PRIVATE gtest gtest_main microparams-init)
+   TARGET_LINK_LIBRARIES(qs8-gavgpool-minmax-rndnu-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qs8-gavgpool-minmax-rndnu-test COMMAND qs8-gavgpool-minmax-rndnu-test)
+ 
+@@ -2461,81 +2428,81 @@
+   ADD_EXECUTABLE(qs8-requantization-test test/qs8-requantization.cc)
+   SET_TARGET_PROPERTIES(qs8-requantization-test PROPERTIES CXX_EXTENSIONS YES)
+   TARGET_INCLUDE_DIRECTORIES(qs8-requantization-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qs8-requantization-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qs8-requantization-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qs8-requantization-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME qs8-requantization-test COMMAND qs8-requantization-test)
+ 
+   ADD_EXECUTABLE(qs8-vadd-minmax-test test/qs8-vadd-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(qs8-vadd-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qs8-vadd-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qs8-vadd-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qs8-vadd-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qs8-vadd-minmax-test COMMAND qs8-vadd-minmax-test)
+ 
+   ADD_EXECUTABLE(qs8-vaddc-minmax-test test/qs8-vaddc-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(qs8-vaddc-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qs8-vaddc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qs8-vaddc-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qs8-vaddc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qs8-vaddc-minmax-test COMMAND qs8-vaddc-minmax-test)
+ 
+   ADD_EXECUTABLE(qs8-vcvt-test test/qs8-vcvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(qs8-vcvt-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qs8-vcvt-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qs8-vcvt-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qs8-vcvt-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qs8-vcvt-test COMMAND qs8-vcvt-test)
+ 
+   ADD_EXECUTABLE(qs8-vlrelu-test test/qs8-vlrelu.cc)
+   TARGET_INCLUDE_DIRECTORIES(qs8-vlrelu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qs8-vlrelu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qs8-vlrelu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qs8-vlrelu-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qs8-vlrelu-test COMMAND qs8-vlrelu-test)
+ 
+   ADD_EXECUTABLE(qs8-vmul-minmax-fp32-test test/qs8-vmul-minmax-fp32.cc)
+   SET_TARGET_PROPERTIES(qs8-vmul-minmax-fp32-test PROPERTIES CXX_EXTENSIONS YES)
+   TARGET_INCLUDE_DIRECTORIES(qs8-vmul-minmax-fp32-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qs8-vmul-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qs8-vmul-minmax-fp32-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qs8-vmul-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qs8-vmul-minmax-fp32-test COMMAND qs8-vmul-minmax-fp32-test)
+ 
+   ADD_EXECUTABLE(qs8-vmulc-minmax-fp32-test test/qs8-vmulc-minmax-fp32.cc)
+   SET_TARGET_PROPERTIES(qs8-vmulc-minmax-fp32-test PROPERTIES CXX_EXTENSIONS YES)
+   TARGET_INCLUDE_DIRECTORIES(qs8-vmulc-minmax-fp32-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qs8-vmulc-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qs8-vmulc-minmax-fp32-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qs8-vmulc-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qs8-vmulc-minmax-fp32-test COMMAND qs8-vmulc-minmax-fp32-test)
+ 
+   ADD_EXECUTABLE(qu8-avgpool-minmax-fp32-test test/qu8-avgpool-minmax-fp32.cc)
+   TARGET_INCLUDE_DIRECTORIES(qu8-avgpool-minmax-fp32-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qu8-avgpool-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qu8-avgpool-minmax-fp32-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qu8-avgpool-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qu8-avgpool-minmax-fp32-test COMMAND qu8-avgpool-minmax-fp32-test)
+ 
+   ADD_EXECUTABLE(qu8-dwconv-unipass-minmax-fp32-test test/qu8-dwconv-unipass-minmax-fp32.cc)
+   TARGET_INCLUDE_DIRECTORIES(qu8-dwconv-unipass-minmax-fp32-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qu8-dwconv-unipass-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qu8-dwconv-unipass-minmax-fp32-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qu8-dwconv-unipass-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
+   ADD_TEST(NAME qu8-dwconv-unipass-minmax-fp32-test COMMAND qu8-dwconv-unipass-minmax-fp32-test)
+ 
+   ADD_EXECUTABLE(qu8-dwconv-unipass-minmax-rndnu-test test/qu8-dwconv-unipass-minmax-rndnu.cc)
+   TARGET_INCLUDE_DIRECTORIES(qu8-dwconv-unipass-minmax-rndnu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qu8-dwconv-unipass-minmax-rndnu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qu8-dwconv-unipass-minmax-rndnu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qu8-dwconv-unipass-minmax-rndnu-test PRIVATE hardware-config logging microkernels-all microparams-init packing)
+   ADD_TEST(NAME qu8-dwconv-unipass-minmax-rndnu-test COMMAND qu8-dwconv-unipass-minmax-rndnu-test)
+ 
+   ADD_EXECUTABLE(qu8-f32-vcvt-test test/f32-f16-vcvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(qu8-f32-vcvt-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qu8-f32-vcvt-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qu8-f32-vcvt-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qu8-f32-vcvt-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qu8-f32-vcvt-test COMMAND qu8-f32-vcvt-test)
+ 
+   ADD_EXECUTABLE(qu8-gavgpool-minmax-fp32-test test/qu8-gavgpool-minmax-fp32.cc)
+   TARGET_INCLUDE_DIRECTORIES(qu8-gavgpool-minmax-fp32-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qu8-gavgpool-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qu8-gavgpool-minmax-fp32-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qu8-gavgpool-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qu8-gavgpool-minmax-fp32-test COMMAND qu8-gavgpool-minmax-fp32-test)
+ 
+   ADD_EXECUTABLE(qu8-gavgpool-minmax-rndnu-test test/qu8-gavgpool-minmax-rndnu.cc)
+   TARGET_INCLUDE_DIRECTORIES(qu8-gavgpool-minmax-rndnu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qu8-gavgpool-minmax-rndnu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qu8-gavgpool-minmax-rndnu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qu8-gavgpool-minmax-rndnu-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qu8-gavgpool-minmax-rndnu-test COMMAND qu8-gavgpool-minmax-rndnu-test)
+ 
+@@ -2566,161 +2533,161 @@
+   ADD_EXECUTABLE(qu8-requantization-test test/qu8-requantization.cc)
+   SET_TARGET_PROPERTIES(qu8-requantization-test PROPERTIES CXX_EXTENSIONS YES)
+   TARGET_INCLUDE_DIRECTORIES(qu8-requantization-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qu8-requantization-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qu8-requantization-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qu8-requantization-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME qu8-requantization-test COMMAND qu8-requantization-test)
+ 
+   ADD_EXECUTABLE(qu8-vadd-minmax-test test/qu8-vadd-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(qu8-vadd-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qu8-vadd-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main microparams-init)
++  TARGET_LINK_LIBRARIES(qu8-vadd-minmax-test PRIVATE gtest gtest_main microparams-init)
+   TARGET_LINK_LIBRARIES(qu8-vadd-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qu8-vadd-minmax-test COMMAND qu8-vadd-minmax-test)
+ 
+   ADD_EXECUTABLE(qu8-vaddc-minmax-test test/qu8-vaddc-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(qu8-vaddc-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qu8-vaddc-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qu8-vaddc-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qu8-vaddc-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qu8-vaddc-minmax-test COMMAND qu8-vaddc-minmax-test)
+ 
+   ADD_EXECUTABLE(qu8-vcvt-test test/qu8-vcvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(qu8-vcvt-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qu8-vcvt-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qu8-vcvt-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qu8-vcvt-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qu8-vcvt-test COMMAND qu8-vcvt-test)
+ 
+   ADD_EXECUTABLE(qu8-vlrelu-test test/qu8-vlrelu.cc)
+   TARGET_INCLUDE_DIRECTORIES(qu8-vlrelu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qu8-vlrelu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qu8-vlrelu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qu8-vlrelu-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qu8-vlrelu-test COMMAND qu8-vlrelu-test)
+ 
+   ADD_EXECUTABLE(qu8-vmul-minmax-fp32-test test/qu8-vmul-minmax-fp32.cc)
+   SET_TARGET_PROPERTIES(qu8-vmul-minmax-fp32-test PROPERTIES CXX_EXTENSIONS YES)
+   TARGET_INCLUDE_DIRECTORIES(qu8-vmul-minmax-fp32-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qu8-vmul-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qu8-vmul-minmax-fp32-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qu8-vmul-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qu8-vmul-minmax-fp32-test COMMAND qu8-vmul-minmax-fp32-test)
+ 
+   ADD_EXECUTABLE(qu8-vmul-minmax-rndnu-test test/qu8-vmul-minmax-rndnu.cc)
+   SET_TARGET_PROPERTIES(qu8-vmul-minmax-rndnu-test PROPERTIES CXX_EXTENSIONS YES)
+   TARGET_INCLUDE_DIRECTORIES(qu8-vmul-minmax-rndnu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qu8-vmul-minmax-rndnu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qu8-vmul-minmax-rndnu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qu8-vmul-minmax-rndnu-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qu8-vmul-minmax-rndnu-test COMMAND qu8-vmul-minmax-rndnu-test)
+ 
+   ADD_EXECUTABLE(qu8-vmulc-minmax-fp32-test test/qu8-vmulc-minmax-fp32.cc)
+   SET_TARGET_PROPERTIES(qu8-vmulc-minmax-fp32-test PROPERTIES CXX_EXTENSIONS YES)
+   TARGET_INCLUDE_DIRECTORIES(qu8-vmulc-minmax-fp32-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qu8-vmulc-minmax-fp32-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qu8-vmulc-minmax-fp32-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qu8-vmulc-minmax-fp32-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qu8-vmulc-minmax-fp32-test COMMAND qu8-vmulc-minmax-fp32-test)
+ 
+   ADD_EXECUTABLE(qu8-vmulc-minmax-rndnu-test test/qu8-vmulc-minmax-rndnu.cc)
+   SET_TARGET_PROPERTIES(qu8-vmulc-minmax-rndnu-test PROPERTIES CXX_EXTENSIONS YES)
+   TARGET_INCLUDE_DIRECTORIES(qu8-vmulc-minmax-rndnu-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(qu8-vmulc-minmax-rndnu-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(qu8-vmulc-minmax-rndnu-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(qu8-vmulc-minmax-rndnu-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME qu8-vmulc-minmax-rndnu-test COMMAND qu8-vmulc-minmax-rndnu-test)
+ 
+   ADD_EXECUTABLE(s16-rmaxabs-test test/s16-rmaxabs.cc)
+   TARGET_INCLUDE_DIRECTORIES(s16-rmaxabs-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(s16-rmaxabs-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(s16-rmaxabs-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(s16-rmaxabs-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME s16-rmaxabs-test COMMAND s16-rmaxabs-test)
+ 
+   ADD_EXECUTABLE(s16-window-test test/s16-window.cc)
+   TARGET_INCLUDE_DIRECTORIES(s16-window-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(s16-window-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(s16-window-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(s16-window-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME s16-window-test COMMAND s16-window-test)
+ 
+   ADD_EXECUTABLE(u32-filterbank-accumulate-test test/u32-filterbank-accumulate.cc)
+   TARGET_INCLUDE_DIRECTORIES(u32-filterbank-accumulate-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(u32-filterbank-accumulate-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(u32-filterbank-accumulate-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(u32-filterbank-accumulate-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME u32-filterbank-accumulate-test COMMAND u32-filterbank-accumulate-test)
+ 
+   ADD_EXECUTABLE(u32-filterbank-subtract-test test/u32-filterbank-subtract.cc)
+   TARGET_INCLUDE_DIRECTORIES(u32-filterbank-subtract-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(u32-filterbank-subtract-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(u32-filterbank-subtract-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(u32-filterbank-subtract-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME u32-filterbank-subtract-test COMMAND u32-filterbank-subtract-test)
+ 
+   ADD_EXECUTABLE(u32-vlog-test test/u32-vlog.cc)
+   TARGET_INCLUDE_DIRECTORIES(u32-vlog-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(u32-vlog-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(u32-vlog-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(u32-vlog-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME u32-vlog-test COMMAND u32-vlog-test)
+ 
+   ADD_EXECUTABLE(i16-vlshift-test test/i16-vlshift.cc)
+   TARGET_INCLUDE_DIRECTORIES(i16-vlshift-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(i16-vlshift-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(i16-vlshift-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(i16-vlshift-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME i16-vlshift-test COMMAND i16-vlshift-test)
+ 
+   ADD_EXECUTABLE(cs16-vsquareabs-test test/cs16-vsquareabs.cc)
+   TARGET_INCLUDE_DIRECTORIES(cs16-vsquareabs-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(cs16-vsquareabs-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(cs16-vsquareabs-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(cs16-vsquareabs-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME cs16-vsquareabs-test COMMAND cs16-vsquareabs-test)
+ 
+   ADD_EXECUTABLE(cs16-bfly4-test test/cs16-bfly4.cc)
+   TARGET_INCLUDE_DIRECTORIES(cs16-bfly4-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(cs16-bfly4-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(cs16-bfly4-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(cs16-bfly4-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME cs16-bfly4-test COMMAND cs16-bfly4-test)
+ 
+   ADD_EXECUTABLE(cs16-fftr-test test/cs16-fftr.cc)
+   TARGET_INCLUDE_DIRECTORIES(cs16-fftr-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(cs16-fftr-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(cs16-fftr-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(cs16-fftr-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME cs16-fftr-test COMMAND cs16-fftr-test)
+ 
+   ADD_EXECUTABLE(s8-ibilinear-test test/s8-ibilinear.cc)
+   TARGET_INCLUDE_DIRECTORIES(s8-ibilinear-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(s8-ibilinear-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(s8-ibilinear-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(s8-ibilinear-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME s8-ibilinear-test COMMAND s8-ibilinear-test)
+ 
+   ADD_EXECUTABLE(s8-maxpool-minmax-test test/s8-maxpool-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(s8-maxpool-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(s8-maxpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(s8-maxpool-minmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(s8-maxpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME s8-maxpool-minmax-test COMMAND s8-maxpool-minmax-test)
+ 
+   ADD_EXECUTABLE(s8-vclamp-test test/s8-vclamp.cc)
+   TARGET_INCLUDE_DIRECTORIES(s8-vclamp-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(s8-vclamp-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(s8-vclamp-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(s8-vclamp-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME s8-vclamp-test COMMAND s8-vclamp-test)
+ 
+   ADD_EXECUTABLE(u8-lut32norm-test test/u8-lut32norm.cc)
+   TARGET_INCLUDE_DIRECTORIES(u8-lut32norm-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(u8-lut32norm-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(u8-lut32norm-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(u8-lut32norm-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME u8-lut32norm-test COMMAND u8-lut32norm-test)
+ 
+   ADD_EXECUTABLE(u8-ibilinear-test test/u8-ibilinear.cc)
+   TARGET_INCLUDE_DIRECTORIES(u8-ibilinear-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(u8-ibilinear-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(u8-ibilinear-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(u8-ibilinear-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME u8-ibilinear-test COMMAND u8-ibilinear-test)
+ 
+   ADD_EXECUTABLE(u8-maxpool-minmax-test test/u8-maxpool-minmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(u8-maxpool-minmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(u8-maxpool-minmax-test PRIVATE fp16 pthreadpool gtest gtest_main microparams-init)
++  TARGET_LINK_LIBRARIES(u8-maxpool-minmax-test PRIVATE gtest gtest_main microparams-init)
+   TARGET_LINK_LIBRARIES(u8-maxpool-minmax-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME u8-maxpool-minmax-test COMMAND u8-maxpool-minmax-test)
+ 
+   ADD_EXECUTABLE(u8-rmax-test test/u8-rmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(u8-rmax-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(u8-rmax-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(u8-rmax-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(u8-rmax-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME u8-rmax-test COMMAND u8-rmax-test)
+ 
+   ADD_EXECUTABLE(u8-vclamp-test test/u8-vclamp.cc)
+   TARGET_INCLUDE_DIRECTORIES(u8-vclamp-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(u8-vclamp-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(u8-vclamp-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(u8-vclamp-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME u8-vclamp-test COMMAND u8-vclamp-test)
+ 
+@@ -2762,25 +2729,25 @@
+ 
+   ADD_EXECUTABLE(x32-zip-test test/x32-zip.cc)
+   TARGET_INCLUDE_DIRECTORIES(x32-zip-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(x32-zip-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(x32-zip-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(x32-zip-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME x32-zip-test COMMAND x32-zip-test)
+ 
+   ADD_EXECUTABLE(x64-transpose-test test/x64-transpose.cc)
+   TARGET_INCLUDE_DIRECTORIES(x64-transpose-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(x64-transpose-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(x64-transpose-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(x64-transpose-test PRIVATE hardware-config logging microkernels-all microparams-init)
+   ADD_TEST(NAME x64-transpose-test COMMAND x64-transpose-test)
+ 
+   ADD_EXECUTABLE(x8-lut-test test/x8-lut.cc)
+   TARGET_INCLUDE_DIRECTORIES(x8-lut-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(x8-lut-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(x8-lut-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(x8-lut-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME x8-lut-test COMMAND x8-lut-test)
+ 
+   ADD_EXECUTABLE(x8-zip-test test/x8-zip.cc)
+   TARGET_INCLUDE_DIRECTORIES(x8-zip-test PRIVATE include src test)
+-  TARGET_LINK_LIBRARIES(x8-zip-test PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(x8-zip-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(x8-zip-test PRIVATE hardware-config logging microkernels-all)
+   ADD_TEST(NAME x8-zip-test COMMAND x8-zip-test)
+ 
+@@ -2842,12 +2809,12 @@
+ 
+   ADD_EXECUTABLE(packing-test test/packing.cc)
+   TARGET_INCLUDE_DIRECTORIES(packing-test PRIVATE include src)
+-  TARGET_LINK_LIBRARIES(packing-test PRIVATE fp16 gtest gtest_main pthreadpool)
++  TARGET_LINK_LIBRARIES(packing-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(packing-test PRIVATE XNNPACK microkernel-utils operator-utils packing)
+ 
+   ADD_EXECUTABLE(indirection-test test/indirection.cc)
+   TARGET_INCLUDE_DIRECTORIES(indirection-test PRIVATE include src)
+-  TARGET_LINK_LIBRARIES(indirection-test PRIVATE gtest gtest_main pthreadpool)
++  TARGET_LINK_LIBRARIES(indirection-test PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(indirection-test PRIVATE XNNPACK indirection)
+ ENDIF()
+ 
+@@ -2864,7 +2831,7 @@
+   ADD_LIBRARY(bench-utils STATIC bench/utils.cc)
+   TARGET_INCLUDE_DIRECTORIES(bench-utils PRIVATE .)
+   TARGET_INCLUDE_DIRECTORIES(bench-utils PUBLIC include src)
+-  TARGET_LINK_LIBRARIES(bench-utils PRIVATE benchmark cpuinfo pthreadpool)
++  TARGET_LINK_LIBRARIES(bench-utils PRIVATE benchmark cpuinfo)
+   TARGET_LINK_LIBRARIES(bench-utils PRIVATE hardware-config)
+   IF(XNNPACK_BUILD_LIBRARY)
+     TARGET_LINK_LIBRARIES(bench-utils PRIVATE logging memory)
+@@ -2873,134 +2840,134 @@
+   # ---[ Build accuracy microbenchmarks
+   ADD_EXECUTABLE(f16-exp-ulp-eval eval/f16-exp-ulp.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-exp-ulp-eval PRIVATE . src)
+-  TARGET_LINK_LIBRARIES(f16-exp-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f16-exp-ulp-eval PRIVATE benchmark cpuinfo)
+   TARGET_LINK_LIBRARIES(f16-exp-ulp-eval PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(f16-expminus-ulp-eval eval/f16-expminus-ulp.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-expminus-ulp-eval PRIVATE . src)
+-  TARGET_LINK_LIBRARIES(f16-expminus-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f16-expminus-ulp-eval PRIVATE benchmark cpuinfo)
+   TARGET_LINK_LIBRARIES(f16-expminus-ulp-eval PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(f16-expm1minus-ulp-eval eval/f16-expm1minus-ulp.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-expm1minus-ulp-eval PRIVATE . src)
+-  TARGET_LINK_LIBRARIES(f16-expm1minus-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f16-expm1minus-ulp-eval PRIVATE benchmark cpuinfo)
+   TARGET_LINK_LIBRARIES(f16-expm1minus-ulp-eval PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(f16-sigmoid-ulp-eval eval/f16-sigmoid-ulp.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-sigmoid-ulp-eval PRIVATE . src)
+-  TARGET_LINK_LIBRARIES(f16-sigmoid-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f16-sigmoid-ulp-eval PRIVATE benchmark cpuinfo)
+   TARGET_LINK_LIBRARIES(f16-sigmoid-ulp-eval PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(f16-sqrt-ulp-eval eval/f16-sqrt-ulp.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-sqrt-ulp-eval PRIVATE . src)
+-  TARGET_LINK_LIBRARIES(f16-sqrt-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f16-sqrt-ulp-eval PRIVATE benchmark cpuinfo)
+   TARGET_LINK_LIBRARIES(f16-sqrt-ulp-eval PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(f32-exp-ulp-eval eval/f32-exp-ulp.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-exp-ulp-eval PRIVATE . src)
+-  TARGET_LINK_LIBRARIES(f32-exp-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-exp-ulp-eval PRIVATE benchmark cpuinfo)
+   TARGET_LINK_LIBRARIES(f32-exp-ulp-eval PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(f32-expminus-ulp-eval eval/f32-expminus-ulp.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-expminus-ulp-eval PRIVATE . src)
+-  TARGET_LINK_LIBRARIES(f32-expminus-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-expminus-ulp-eval PRIVATE benchmark cpuinfo)
+   TARGET_LINK_LIBRARIES(f32-expminus-ulp-eval PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(f32-expm1minus-ulp-eval eval/f32-expm1minus-ulp.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-expm1minus-ulp-eval PRIVATE . src)
+-  TARGET_LINK_LIBRARIES(f32-expm1minus-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-expm1minus-ulp-eval PRIVATE benchmark cpuinfo)
+   TARGET_LINK_LIBRARIES(f32-expm1minus-ulp-eval PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(f32-extexp-ulp-eval eval/f32-extexp-ulp.cc)
+   SET_TARGET_PROPERTIES(f32-extexp-ulp-eval PROPERTIES CXX_EXTENSIONS YES)
+   TARGET_INCLUDE_DIRECTORIES(f32-extexp-ulp-eval PRIVATE . src)
+-  TARGET_LINK_LIBRARIES(f32-extexp-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-extexp-ulp-eval PRIVATE benchmark cpuinfo)
+   TARGET_LINK_LIBRARIES(f32-extexp-ulp-eval PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(f32-sigmoid-ulp-eval eval/f32-sigmoid-ulp.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-sigmoid-ulp-eval PRIVATE . src)
+-  TARGET_LINK_LIBRARIES(f32-sigmoid-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-sigmoid-ulp-eval PRIVATE benchmark cpuinfo)
+   TARGET_LINK_LIBRARIES(f32-sigmoid-ulp-eval PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(f32-sqrt-ulp-eval eval/f32-sqrt-ulp.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-sqrt-ulp-eval PRIVATE . src)
+-  TARGET_LINK_LIBRARIES(f32-sqrt-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-sqrt-ulp-eval PRIVATE benchmark cpuinfo)
+   TARGET_LINK_LIBRARIES(f32-sqrt-ulp-eval PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(f32-tanh-ulp-eval eval/f32-tanh-ulp.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-tanh-ulp-eval PRIVATE . src)
+-  TARGET_LINK_LIBRARIES(f32-tanh-ulp-eval PRIVATE benchmark cpuinfo fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-tanh-ulp-eval PRIVATE benchmark cpuinfo)
+   TARGET_LINK_LIBRARIES(f32-tanh-ulp-eval PRIVATE bench-utils microkernels-all)
+ 
+   # ---[ Build accuracy tests
+   ADD_EXECUTABLE(f16-sqrt-eval eval/f16-sqrt.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-sqrt-eval PRIVATE include src)
+-  TARGET_LINK_LIBRARIES(f16-sqrt-eval PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-sqrt-eval PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-sqrt-eval PRIVATE hardware-config logging microkernels-all)
+ 
+   ADD_EXECUTABLE(f16-f32-cvt-eval eval/f16-f32-cvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-f32-cvt-eval PRIVATE include src)
+-  TARGET_LINK_LIBRARIES(f16-f32-cvt-eval PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f16-f32-cvt-eval PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f16-f32-cvt-eval PRIVATE hardware-config logging microkernels-all)
+ 
+   ADD_EXECUTABLE(f32-f16-cvt-eval eval/f32-f16-cvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-f16-cvt-eval PRIVATE include src)
+-  TARGET_LINK_LIBRARIES(f32-f16-cvt-eval PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-f16-cvt-eval PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-f16-cvt-eval PRIVATE hardware-config logging microkernels-all)
+ 
+   ADD_EXECUTABLE(f32-qs8-cvt-eval eval/f32-qs8-cvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-qs8-cvt-eval PRIVATE include src)
+-  TARGET_LINK_LIBRARIES(f32-qs8-cvt-eval PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-qs8-cvt-eval PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-qs8-cvt-eval PRIVATE hardware-config logging microkernels-all)
+ 
+   ADD_EXECUTABLE(f32-qu8-cvt-eval eval/f32-qu8-cvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-qu8-cvt-eval PRIVATE include src)
+-  TARGET_LINK_LIBRARIES(f32-qu8-cvt-eval PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-qu8-cvt-eval PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-qu8-cvt-eval PRIVATE hardware-config logging microkernels-all)
+ 
+   ADD_EXECUTABLE(f32-exp-eval eval/f32-exp.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-exp-eval PRIVATE include src)
+-  TARGET_LINK_LIBRARIES(f32-exp-eval PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-exp-eval PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-exp-eval PRIVATE hardware-config logging microkernels-all)
+ 
+   ADD_EXECUTABLE(f32-expm1minus-eval eval/f32-expm1minus.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-expm1minus-eval PRIVATE include src)
+-  TARGET_LINK_LIBRARIES(f32-expm1minus-eval PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-expm1minus-eval PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-expm1minus-eval PRIVATE hardware-config logging microkernels-all)
+ 
+   ADD_EXECUTABLE(f32-expminus-eval eval/f32-expminus.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-expminus-eval PRIVATE include src)
+-  TARGET_LINK_LIBRARIES(f32-expminus-eval PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-expminus-eval PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-expminus-eval PRIVATE hardware-config logging microkernels-all)
+ 
+   ADD_EXECUTABLE(f32-roundne-eval eval/f32-roundne.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-roundne-eval PRIVATE include src)
+-  TARGET_LINK_LIBRARIES(f32-roundne-eval PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-roundne-eval PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-roundne-eval PRIVATE hardware-config logging microkernels-all)
+ 
+   ADD_EXECUTABLE(f32-roundd-eval eval/f32-roundd.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-roundd-eval PRIVATE include src)
+-  TARGET_LINK_LIBRARIES(f32-roundd-eval PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-roundd-eval PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-roundd-eval PRIVATE hardware-config logging microkernels-all)
+ 
+   ADD_EXECUTABLE(f32-roundu-eval eval/f32-roundu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-roundu-eval PRIVATE include src)
+-  TARGET_LINK_LIBRARIES(f32-roundu-eval PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-roundu-eval PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-roundu-eval PRIVATE hardware-config logging microkernels-all)
+ 
+   ADD_EXECUTABLE(f32-roundz-eval eval/f32-roundz.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-roundz-eval PRIVATE include src)
+-  TARGET_LINK_LIBRARIES(f32-roundz-eval PRIVATE fp16 pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(f32-roundz-eval PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(f32-roundz-eval PRIVATE hardware-config logging microkernels-all)
+ 
+   ADD_EXECUTABLE(u32-sqrt-eval eval/u32-sqrt.cc)
+   TARGET_INCLUDE_DIRECTORIES(u32-sqrt-eval PRIVATE include src)
+-  TARGET_LINK_LIBRARIES(u32-sqrt-eval PRIVATE pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(u32-sqrt-eval PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(u32-sqrt-eval PRIVATE hardware-config logging microkernels-all)
+ 
+   ADD_EXECUTABLE(u64-sqrt-eval eval/u64-sqrt.cc)
+   TARGET_INCLUDE_DIRECTORIES(u64-sqrt-eval PRIVATE include src)
+-  TARGET_LINK_LIBRARIES(u64-sqrt-eval PRIVATE pthreadpool gtest gtest_main)
++  TARGET_LINK_LIBRARIES(u64-sqrt-eval PRIVATE gtest gtest_main)
+   TARGET_LINK_LIBRARIES(u64-sqrt-eval PRIVATE hardware-config logging microkernels-all)
+ 
+   IF(XNNPACK_BUILD_LIBRARY)
+@@ -3030,7 +2997,7 @@
+       models/qu8-mobilenet-v2.cc)
+     SET_TARGET_PROPERTIES(bench-models PROPERTIES CXX_EXTENSIONS YES)
+     TARGET_INCLUDE_DIRECTORIES(bench-models PRIVATE .)
+-    TARGET_LINK_LIBRARIES(bench-models PRIVATE fp16 benchmark)
++    TARGET_LINK_LIBRARIES(bench-models PRIVATE benchmark)
+     TARGET_LINK_LIBRARIES(bench-models PRIVATE XNNPACK bench-utils)
+ 
+     ADD_EXECUTABLE(end2end-bench bench/end2end.cc)
+@@ -3039,7 +3006,7 @@
+ 
+     ADD_EXECUTABLE(f16-gemm-e2e-bench bench/f16-gemm-e2e.cc)
+     TARGET_INCLUDE_DIRECTORIES(f16-gemm-e2e-bench PRIVATE . src)
+-    TARGET_LINK_LIBRARIES(f16-gemm-e2e-bench PRIVATE fp16 benchmark)
++    TARGET_LINK_LIBRARIES(f16-gemm-e2e-bench PRIVATE benchmark)
+     TARGET_LINK_LIBRARIES(f16-gemm-e2e-bench PRIVATE XNNPACK bench-models bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+     ADD_EXECUTABLE(f32-dwconv-e2e-bench bench/f32-dwconv-e2e.cc)
+@@ -3049,33 +3016,33 @@
+ 
+     ADD_EXECUTABLE(f32-gemm-e2e-bench bench/f32-gemm-e2e.cc)
+     TARGET_INCLUDE_DIRECTORIES(f32-gemm-e2e-bench PRIVATE . src)
+-    TARGET_LINK_LIBRARIES(f32-gemm-e2e-bench PRIVATE fp16 benchmark)
++    TARGET_LINK_LIBRARIES(f32-gemm-e2e-bench PRIVATE benchmark)
+     TARGET_LINK_LIBRARIES(f32-gemm-e2e-bench PRIVATE XNNPACK bench-models bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+     ADD_EXECUTABLE(qs8-dwconv-e2e-bench bench/qs8-dwconv-e2e.cc)
+     TARGET_INCLUDE_DIRECTORIES(qs8-dwconv-e2e-bench PRIVATE . src)
+-    TARGET_LINK_LIBRARIES(qs8-dwconv-e2e-bench PRIVATE fp16 benchmark)
++    TARGET_LINK_LIBRARIES(qs8-dwconv-e2e-bench PRIVATE benchmark)
+     TARGET_LINK_LIBRARIES(qs8-dwconv-e2e-bench PRIVATE XNNPACK bench-models bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+     ADD_EXECUTABLE(qs8-gemm-e2e-bench bench/qs8-gemm-e2e.cc)
+     TARGET_INCLUDE_DIRECTORIES(qs8-gemm-e2e-bench PRIVATE . src)
+-    TARGET_LINK_LIBRARIES(qs8-gemm-e2e-bench PRIVATE fp16 benchmark)
++    TARGET_LINK_LIBRARIES(qs8-gemm-e2e-bench PRIVATE benchmark)
+     TARGET_LINK_LIBRARIES(qs8-gemm-e2e-bench PRIVATE XNNPACK bench-models bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+     ADD_EXECUTABLE(qu8-gemm-e2e-bench bench/qu8-gemm-e2e.cc)
+     TARGET_INCLUDE_DIRECTORIES(qu8-gemm-e2e-bench PRIVATE . src)
+-    TARGET_LINK_LIBRARIES(qu8-gemm-e2e-bench PRIVATE fp16 benchmark)
++    TARGET_LINK_LIBRARIES(qu8-gemm-e2e-bench PRIVATE benchmark)
+     TARGET_LINK_LIBRARIES(qu8-gemm-e2e-bench PRIVATE XNNPACK bench-models bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+     ADD_EXECUTABLE(qu8-dwconv-e2e-bench bench/qu8-dwconv-e2e.cc)
+     TARGET_INCLUDE_DIRECTORIES(qu8-dwconv-e2e-bench PRIVATE . src)
+-    TARGET_LINK_LIBRARIES(qu8-dwconv-e2e-bench PRIVATE fp16 benchmark)
++    TARGET_LINK_LIBRARIES(qu8-dwconv-e2e-bench PRIVATE benchmark)
+     TARGET_LINK_LIBRARIES(qu8-dwconv-e2e-bench PRIVATE XNNPACK bench-models bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+     # ---[ Build operator-level microbenchmarks
+     ADD_EXECUTABLE(abs-bench bench/abs.cc)
+     TARGET_INCLUDE_DIRECTORIES(abs-bench PRIVATE .)
+-    TARGET_LINK_LIBRARIES(abs-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
++    TARGET_LINK_LIBRARIES(abs-bench PRIVATE XNNPACK benchmark bench-utils)
+ 
+     ADD_EXECUTABLE(average-pooling-bench bench/average-pooling.cc)
+     TARGET_INCLUDE_DIRECTORIES(average-pooling-bench PRIVATE .)
+@@ -3083,11 +3050,11 @@
+ 
+     ADD_EXECUTABLE(bankers-rounding-bench bench/bankers-rounding.cc)
+     TARGET_INCLUDE_DIRECTORIES(bankers-rounding-bench PRIVATE .)
+-    TARGET_LINK_LIBRARIES(bankers-rounding-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
++    TARGET_LINK_LIBRARIES(bankers-rounding-bench PRIVATE XNNPACK benchmark bench-utils)
+ 
+     ADD_EXECUTABLE(ceiling-bench bench/ceiling.cc)
+     TARGET_INCLUDE_DIRECTORIES(ceiling-bench PRIVATE .)
+-    TARGET_LINK_LIBRARIES(ceiling-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
++    TARGET_LINK_LIBRARIES(ceiling-bench PRIVATE XNNPACK benchmark bench-utils)
+ 
+     ADD_EXECUTABLE(channel-shuffle-bench bench/channel-shuffle.cc)
+     TARGET_INCLUDE_DIRECTORIES(channel-shuffle-bench PRIVATE .)
+@@ -3095,11 +3062,11 @@
+ 
+     ADD_EXECUTABLE(convert-bench bench/convert.cc)
+     TARGET_INCLUDE_DIRECTORIES(convert-bench PRIVATE .)
+-    TARGET_LINK_LIBRARIES(convert-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
++    TARGET_LINK_LIBRARIES(convert-bench PRIVATE XNNPACK benchmark bench-utils)
+ 
+     ADD_EXECUTABLE(convolution-bench bench/convolution.cc)
+     TARGET_INCLUDE_DIRECTORIES(convolution-bench PRIVATE .)
+-    TARGET_LINK_LIBRARIES(convolution-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
++    TARGET_LINK_LIBRARIES(convolution-bench PRIVATE XNNPACK benchmark bench-utils)
+ 
+     ADD_EXECUTABLE(deconvolution-bench bench/deconvolution.cc)
+     TARGET_INCLUDE_DIRECTORIES(deconvolution-bench PRIVATE .)
+@@ -3107,23 +3074,23 @@
+ 
+     ADD_EXECUTABLE(elu-bench bench/elu.cc)
+     TARGET_INCLUDE_DIRECTORIES(elu-bench PRIVATE .)
+-    TARGET_LINK_LIBRARIES(elu-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
++    TARGET_LINK_LIBRARIES(elu-bench PRIVATE XNNPACK benchmark bench-utils)
+ 
+     ADD_EXECUTABLE(floor-bench bench/floor.cc)
+     TARGET_INCLUDE_DIRECTORIES(floor-bench PRIVATE .)
+-    TARGET_LINK_LIBRARIES(floor-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
++    TARGET_LINK_LIBRARIES(floor-bench PRIVATE XNNPACK benchmark bench-utils)
+ 
+     ADD_EXECUTABLE(global-average-pooling-bench bench/global-average-pooling.cc)
+     TARGET_INCLUDE_DIRECTORIES(global-average-pooling-bench PRIVATE .)
+-    TARGET_LINK_LIBRARIES(global-average-pooling-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
++    TARGET_LINK_LIBRARIES(global-average-pooling-bench PRIVATE XNNPACK benchmark bench-utils)
+ 
+     ADD_EXECUTABLE(hardswish-bench bench/hardswish.cc)
+     TARGET_INCLUDE_DIRECTORIES(hardswish-bench PRIVATE .)
+-    TARGET_LINK_LIBRARIES(hardswish-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
++    TARGET_LINK_LIBRARIES(hardswish-bench PRIVATE XNNPACK benchmark bench-utils)
+ 
+     ADD_EXECUTABLE(leaky-relu-bench bench/leaky-relu.cc)
+     TARGET_INCLUDE_DIRECTORIES(leaky-relu-bench PRIVATE .)
+-    TARGET_LINK_LIBRARIES(leaky-relu-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
++    TARGET_LINK_LIBRARIES(leaky-relu-bench PRIVATE XNNPACK benchmark bench-utils)
+ 
+     ADD_EXECUTABLE(max-pooling-bench bench/max-pooling.cc)
+     TARGET_INCLUDE_DIRECTORIES(max-pooling-bench PRIVATE .)
+@@ -3139,7 +3106,7 @@
+ 
+     ADD_EXECUTABLE(sigmoid-bench bench/sigmoid.cc)
+     TARGET_INCLUDE_DIRECTORIES(sigmoid-bench PRIVATE .)
+-    TARGET_LINK_LIBRARIES(sigmoid-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
++    TARGET_LINK_LIBRARIES(sigmoid-bench PRIVATE XNNPACK benchmark bench-utils)
+ 
+     ADD_EXECUTABLE(softmax-bench bench/softmax.cc)
+     TARGET_INCLUDE_DIRECTORIES(softmax-bench PRIVATE .)
+@@ -3161,378 +3128,378 @@
+   # ---[ Build microkernel-level microbenchmarks
+   ADD_EXECUTABLE(bf16-gemm-bench bench/bf16-gemm.cc)
+   TARGET_INCLUDE_DIRECTORIES(bf16-gemm-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(bf16-gemm-bench PRIVATE benchmark fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(bf16-gemm-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(bf16-gemm-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init packing)
+ 
+   ADD_EXECUTABLE(f16-conv-hwc2chw-bench bench/f16-conv-hwc2chw.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-conv-hwc2chw-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f16-conv-hwc2chw-bench PRIVATE benchmark fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f16-conv-hwc2chw-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f16-conv-hwc2chw-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init packing)
+ 
+   ADD_EXECUTABLE(f16-dwconv-bench bench/f16-dwconv.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-dwconv-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f16-dwconv-bench PRIVATE benchmark fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f16-dwconv-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f16-dwconv-bench PRIVATE bench-utils indirection hardware-config logging microkernels-all microparams-init packing)
+ 
+   ADD_EXECUTABLE(f16-dwconv2d-chw-bench bench/f16-dwconv2d-chw.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-dwconv2d-chw-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f16-dwconv2d-chw-bench PRIVATE benchmark fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f16-dwconv2d-chw-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f16-dwconv2d-chw-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init packing)
+ 
+   ADD_EXECUTABLE(f16-gavgpool-cw-bench bench/f16-gavgpool-cw.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-gavgpool-cw-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f16-gavgpool-cw-bench PRIVATE benchmark fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f16-gavgpool-cw-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f16-gavgpool-cw-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f16-gemm-bench bench/f16-gemm.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-gemm-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f16-gemm-bench PRIVATE benchmark fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f16-gemm-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f16-gemm-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init packing)
+ 
+   ADD_EXECUTABLE(f16-igemm-bench bench/f16-igemm.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-igemm-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f16-igemm-bench PRIVATE benchmark fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f16-igemm-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f16-igemm-bench PRIVATE bench-utils indirection hardware-config logging microkernels-all microparams-init packing)
+ 
+   ADD_EXECUTABLE(f16-raddstoreexpminusmax-bench bench/f16-raddstoreexpminusmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-raddstoreexpminusmax-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f16-raddstoreexpminusmax-bench PRIVATE benchmark fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f16-raddstoreexpminusmax-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f16-raddstoreexpminusmax-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f16-spmm-bench bench/f16-spmm.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-spmm-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f16-spmm-bench PRIVATE benchmark fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f16-spmm-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f16-spmm-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f16-velu-bench bench/f16-velu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-velu-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f16-velu-bench PRIVATE benchmark fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f16-velu-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f16-velu-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f16-vsigmoid-bench bench/f16-vsigmoid.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vsigmoid-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f16-vsigmoid-bench PRIVATE benchmark fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f16-vsigmoid-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f16-vsigmoid-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f16-vsqrt-bench bench/f16-vsqrt.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-vsqrt-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f16-vsqrt-bench PRIVATE benchmark fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f16-vsqrt-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f16-vsqrt-bench PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(f16-f32-vcvt-bench bench/f16-f32-vcvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(f16-f32-vcvt-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f16-f32-vcvt-bench PRIVATE benchmark fp16 pthreadpool)
++  TARGET_LINK_LIBRARIES(f16-f32-vcvt-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f16-f32-vcvt-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f32-conv-hwc-bench bench/f32-conv-hwc.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-conv-hwc-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-conv-hwc-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-conv-hwc-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-conv-hwc-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init packing)
+ 
+   ADD_EXECUTABLE(f32-conv-hwc2chw-bench bench/f32-conv-hwc2chw.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-conv-hwc2chw-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-conv-hwc2chw-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-conv-hwc2chw-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-conv-hwc2chw-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init packing)
+ 
+   ADD_EXECUTABLE(f32-dwconv-bench bench/f32-dwconv.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-dwconv-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-dwconv-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-dwconv-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-dwconv-bench PRIVATE bench-utils indirection hardware-config logging microkernel-utils microkernels-all microparams-init packing)
+ 
+   ADD_EXECUTABLE(f32-dwconv2d-chw-bench bench/f32-dwconv2d-chw.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-dwconv2d-chw-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-dwconv2d-chw-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-dwconv2d-chw-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-dwconv2d-chw-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f32-f16-vcvt-bench bench/f32-f16-vcvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-f16-vcvt-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-f16-vcvt-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-f16-vcvt-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-f16-vcvt-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f32-gavgpool-cw-bench bench/f32-gavgpool-cw.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-gavgpool-cw-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-gavgpool-cw-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-gavgpool-cw-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-gavgpool-cw-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f32-gemm-bench bench/f32-gemm.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-gemm-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-gemm-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-gemm-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-gemm-bench PRIVATE jit bench-utils hardware-config logging microkernels-all microparams-init packing)
+ 
+   ADD_EXECUTABLE(f32-igemm-bench bench/f32-igemm.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-igemm-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-igemm-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-igemm-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-igemm-bench PRIVATE jit bench-utils indirection hardware-config logging microkernels-all microparams-init packing)
+ 
+   ADD_EXECUTABLE(f32-im2col-gemm-bench bench/f32-im2col-gemm.cc src/im2col.c)
+   TARGET_INCLUDE_DIRECTORIES(f32-im2col-gemm-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-im2col-gemm-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-im2col-gemm-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-im2col-gemm-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init packing)
+ 
+   ADD_EXECUTABLE(f32-qs8-vcvt-bench bench/f32-qs8-vcvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-qs8-vcvt-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-qs8-vcvt-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-qs8-vcvt-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-qs8-vcvt-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f32-qu8-vcvt-bench bench/f32-qu8-vcvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-qu8-vcvt-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-qu8-vcvt-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-qu8-vcvt-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-qu8-vcvt-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f32-raddstoreexpminusmax-bench bench/f32-raddstoreexpminusmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-raddstoreexpminusmax-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-raddstoreexpminusmax-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-raddstoreexpminusmax-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-raddstoreexpminusmax-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f32-raddexpminusmax-bench bench/f32-raddexpminusmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-raddexpminusmax-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-raddexpminusmax-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-raddexpminusmax-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-raddexpminusmax-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f32-raddextexp-bench bench/f32-raddextexp.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-raddextexp-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-raddextexp-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-raddextexp-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-raddextexp-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f32-vscaleexpminusmax-bench bench/f32-vscaleexpminusmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vscaleexpminusmax-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-vscaleexpminusmax-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-vscaleexpminusmax-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-vscaleexpminusmax-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f32-vscaleextexp-bench bench/f32-vscaleextexp.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vscaleextexp-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-vscaleextexp-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-vscaleextexp-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-vscaleextexp-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f32-rmax-bench bench/f32-rmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-rmax-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-rmax-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-rmax-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-rmax-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f32-spmm-bench bench/f32-spmm.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-spmm-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-spmm-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-spmm-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-spmm-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f32-softmax-bench bench/f32-softmax.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-softmax-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-softmax-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-softmax-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-softmax-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f32-velu-bench bench/f32-velu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-velu-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-velu-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-velu-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-velu-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f32-vhswish-bench bench/f32-vhswish.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vhswish-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-vhswish-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-vhswish-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-vhswish-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f32-vlrelu-bench bench/f32-vlrelu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vlrelu-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-vlrelu-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-vlrelu-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-vlrelu-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f32-vrelu-bench bench/f32-vrelu.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vrelu-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-vrelu-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-vrelu-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-vrelu-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f32-vsigmoid-bench bench/f32-vsigmoid.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vsigmoid-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-vsigmoid-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-vsigmoid-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-vsigmoid-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(f32-vsqrt-bench bench/f32-vsqrt.cc)
+   TARGET_INCLUDE_DIRECTORIES(f32-vsqrt-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(f32-vsqrt-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(f32-vsqrt-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(f32-vsqrt-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(qs8-dwconv-bench bench/qs8-dwconv.cc)
+   TARGET_INCLUDE_DIRECTORIES(qs8-dwconv-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(qs8-dwconv-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(qs8-dwconv-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(qs8-dwconv-bench PRIVATE bench-utils indirection hardware-config logging microkernels-all microparams-init packing)
+ 
+   ADD_EXECUTABLE(qs8-f32-vcvt-bench bench/qs8-f32-vcvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(qs8-f32-vcvt-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(qs8-f32-vcvt-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(qs8-f32-vcvt-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(qs8-f32-vcvt-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(qs8-gemm-bench bench/qs8-gemm.cc)
+   TARGET_INCLUDE_DIRECTORIES(qs8-gemm-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(qs8-gemm-bench PRIVATE benchmark pthreadpool jit microparams-init)
++  TARGET_LINK_LIBRARIES(qs8-gemm-bench PRIVATE benchmark jit microparams-init)
+   TARGET_LINK_LIBRARIES(qs8-gemm-bench PRIVATE bench-utils jit hardware-config logging microkernels-all microparams-init packing)
+ 
+   ADD_EXECUTABLE(qs8-requantization-bench bench/qs8-requantization.cc)
+   SET_TARGET_PROPERTIES(qs8-requantization-bench PROPERTIES CXX_EXTENSIONS YES)
+   TARGET_INCLUDE_DIRECTORIES(qs8-requantization-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(qs8-requantization-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(qs8-requantization-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(qs8-requantization-bench PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(qs8-vadd-bench bench/qs8-vadd.cc)
+   TARGET_INCLUDE_DIRECTORIES(qs8-vadd-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(qs8-vadd-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(qs8-vadd-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(qs8-vadd-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(qs8-vaddc-bench bench/qs8-vaddc.cc)
+   TARGET_INCLUDE_DIRECTORIES(qs8-vaddc-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(qs8-vaddc-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(qs8-vaddc-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(qs8-vaddc-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(qs8-vcvt-bench bench/qs8-vcvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(qs8-vcvt-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(qs8-vcvt-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(qs8-vcvt-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(qs8-vcvt-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(qs8-vlrelu-bench bench/qs8-vlrelu.cc)
+   TARGET_INCLUDE_DIRECTORIES(qs8-vlrelu-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(qs8-vlrelu-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(qs8-vlrelu-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(qs8-vlrelu-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(qs8-vmul-bench bench/qs8-vmul.cc)
+   TARGET_INCLUDE_DIRECTORIES(qs8-vmul-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(qs8-vmul-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(qs8-vmul-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(qs8-vmul-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(qs8-vmulc-bench bench/qs8-vmulc.cc)
+   TARGET_INCLUDE_DIRECTORIES(qs8-vmulc-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(qs8-vmulc-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(qs8-vmulc-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(qs8-vmulc-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(qu8-f32-vcvt-bench bench/qu8-f32-vcvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(qu8-f32-vcvt-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(qu8-f32-vcvt-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(qu8-f32-vcvt-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(qu8-f32-vcvt-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(qu8-gemm-bench bench/qu8-gemm.cc)
+   TARGET_INCLUDE_DIRECTORIES(qu8-gemm-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(qu8-gemm-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(qu8-gemm-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(qu8-gemm-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init packing)
+ 
+   ADD_EXECUTABLE(qu8-requantization-bench bench/qu8-requantization.cc)
+   SET_TARGET_PROPERTIES(qu8-requantization-bench PROPERTIES CXX_EXTENSIONS YES)
+   TARGET_INCLUDE_DIRECTORIES(qu8-requantization-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(qu8-requantization-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(qu8-requantization-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(qu8-requantization-bench PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(qu8-vadd-bench bench/qu8-vadd.cc)
+   TARGET_INCLUDE_DIRECTORIES(qu8-vadd-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(qu8-vadd-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(qu8-vadd-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(qu8-vadd-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(qu8-vaddc-bench bench/qu8-vaddc.cc)
+   TARGET_INCLUDE_DIRECTORIES(qu8-vaddc-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(qu8-vaddc-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(qu8-vaddc-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(qu8-vaddc-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(qu8-vcvt-bench bench/qu8-vcvt.cc)
+   TARGET_INCLUDE_DIRECTORIES(qu8-vcvt-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(qu8-vcvt-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(qu8-vcvt-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(qu8-vcvt-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(qu8-vlrelu-bench bench/qu8-vlrelu.cc)
+   TARGET_INCLUDE_DIRECTORIES(qu8-vlrelu-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(qu8-vlrelu-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(qu8-vlrelu-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(qu8-vlrelu-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(qu8-vmul-bench bench/qu8-vmul.cc)
+   TARGET_INCLUDE_DIRECTORIES(qu8-vmul-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(qu8-vmul-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(qu8-vmul-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(qu8-vmul-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(qu8-vmulc-bench bench/qu8-vmulc.cc)
+   TARGET_INCLUDE_DIRECTORIES(qu8-vmulc-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(qu8-vmulc-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(qu8-vmulc-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(qu8-vmulc-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(rounding-bench bench/rounding.cc)
+   TARGET_INCLUDE_DIRECTORIES(rounding-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(rounding-bench PRIVATE benchmark cpuinfo pthreadpool)
++  TARGET_LINK_LIBRARIES(rounding-bench PRIVATE benchmark cpuinfo)
+   TARGET_LINK_LIBRARIES(rounding-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(s16-rmaxabs-bench bench/s16-rmaxabs.cc)
+   TARGET_INCLUDE_DIRECTORIES(s16-rmaxabs-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(s16-rmaxabs-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(s16-rmaxabs-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(s16-rmaxabs-bench PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(s16-window-bench bench/s16-window.cc)
+   TARGET_INCLUDE_DIRECTORIES(s16-window-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(s16-window-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(s16-window-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(s16-window-bench PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(u32-filterbank-accumulate-bench bench/u32-filterbank-accumulate.cc)
+   TARGET_INCLUDE_DIRECTORIES(u32-filterbank-accumulate-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(u32-filterbank-accumulate-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(u32-filterbank-accumulate-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(u32-filterbank-accumulate-bench PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(u32-filterbank-subtract-bench bench/u32-filterbank-subtract.cc)
+   TARGET_INCLUDE_DIRECTORIES(u32-filterbank-subtract-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(u32-filterbank-subtract-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(u32-filterbank-subtract-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(u32-filterbank-subtract-bench PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(u32-vlog-bench bench/u32-vlog.cc)
+   TARGET_INCLUDE_DIRECTORIES(u32-vlog-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(u32-vlog-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(u32-vlog-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(u32-vlog-bench PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(u64-u32-vsqrtshift-bench bench/u64-u32-vsqrtshift.cc)
+   TARGET_INCLUDE_DIRECTORIES(u64-u32-vsqrtshift-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(u64-u32-vsqrtshift-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(u64-u32-vsqrtshift-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(u64-u32-vsqrtshift-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(i16-vlshift-bench bench/i16-vlshift.cc)
+   TARGET_INCLUDE_DIRECTORIES(i16-vlshift-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(i16-vlshift-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(i16-vlshift-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(i16-vlshift-bench PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(cs16-vsquareabs-bench bench/cs16-vsquareabs.cc)
+   TARGET_INCLUDE_DIRECTORIES(cs16-vsquareabs-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(cs16-vsquareabs-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(cs16-vsquareabs-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(cs16-vsquareabs-bench PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(cs16-bfly4-bench bench/cs16-bfly4.cc)
+   TARGET_INCLUDE_DIRECTORIES(cs16-bfly4-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(cs16-bfly4-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(cs16-bfly4-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(cs16-bfly4-bench PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(cs16-fftr-bench bench/cs16-fftr.cc)
+   TARGET_INCLUDE_DIRECTORIES(cs16-fftr-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(cs16-fftr-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(cs16-fftr-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(cs16-fftr-bench PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(xx-transpose-bench bench/xx-transpose.cc)
+   TARGET_INCLUDE_DIRECTORIES(xx-transpose-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(xx-transpose-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(xx-transpose-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(xx-transpose-bench PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(x8-lut-bench bench/x8-lut.cc)
+   TARGET_INCLUDE_DIRECTORIES(x8-lut-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(x8-lut-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(x8-lut-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(x8-lut-bench PRIVATE bench-utils microkernels-all)
+ 
+   ADD_EXECUTABLE(x8-transpose-bench bench/x32-transpose.cc)
+   TARGET_INCLUDE_DIRECTORIES(x8-transpose-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(x8-transpose-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(x8-transpose-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(x8-transpose-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(x16-transpose-bench bench/x16-transpose.cc)
+   TARGET_INCLUDE_DIRECTORIES(x16-transpose-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(x16-transpose-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(x16-transpose-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(x16-transpose-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(x24-transpose-bench bench/x16-transpose.cc)
+   TARGET_INCLUDE_DIRECTORIES(x24-transpose-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(x24-transpose-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(x24-transpose-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(x24-transpose-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(x32-transpose-bench bench/x32-transpose.cc)
+   TARGET_INCLUDE_DIRECTORIES(x32-transpose-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(x32-transpose-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(x32-transpose-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(x32-transpose-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ 
+   ADD_EXECUTABLE(x64-transpose-bench bench/x64-transpose.cc)
+   TARGET_INCLUDE_DIRECTORIES(x64-transpose-bench PRIVATE . include src)
+-  TARGET_LINK_LIBRARIES(x64-transpose-bench PRIVATE benchmark pthreadpool)
++  TARGET_LINK_LIBRARIES(x64-transpose-bench PRIVATE benchmark)
+   TARGET_LINK_LIBRARIES(x64-transpose-bench PRIVATE bench-utils hardware-config logging microkernels-all microparams-init)
+ ENDIF()
diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm
index c157eabce0..d47b67fa61 100644
--- a/gnu/packages/protobuf.scm
+++ b/gnu/packages/protobuf.scm
@@ -429,14 +429,14 @@ from protobuf specification files.")
 (define-public python-protobuf
   (package
     (name "python-protobuf")
-    (version "3.20.1")
+    (version "3.20.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "protobuf" version))
        (sha256
         (base32
-         "1ja2vpk9nklllmsirmil2s4l7ni9yfqvbvj47zz5xx17s1k1bhxd"))))
+         "0l0p2lczs5iahgkhzm3298pjl49bk9iiwngkglg7ll7fkqqwlbbi"))))
     (build-system python-build-system)
     (inputs (list protobuf))
     (arguments
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ee689809a3..2afce6c667 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5935,7 +5935,6 @@ flexibility and power of the Python language.")
                       (string-append "-Wl," "-rpath=" python "/lib")
                       "-fno-semantic-interposition"
                       "build/temp/tree/tree.o"
-                      "-Wl,--whole-archive"
                       "-L" (string-append python "/lib")
                       (string-append abseil-cpp "/lib/libabsl_int128.a")
                       (string-append abseil-cpp "/lib/libabsl_raw_hash_set.a")
@@ -5943,7 +5942,6 @@ flexibility and power of the Python language.")
                       (string-append abseil-cpp "/lib/libabsl_strings.a")
                       (string-append abseil-cpp "/lib/libabsl_strings_internal.a")
                       (string-append abseil-cpp "/lib/libabsl_throw_delegate.a")
-                      "-Wl,--no-whole-archive"
                       "-o" "build/lib/tree/_tree.so")))))))
     (home-page "https://github.com/deepmind/tree")
     (synopsis "Work with nested data structures in Python")
@@ -20288,6 +20286,31 @@ etc.")
      support.")
     (license license:bsd-3)))
 
+(define-public python-pymemcache
+  (package
+    (name "python-pymemcache")
+    (version "4.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pymemcache" version))
+       (sha256
+        (base32 "157z9blr8pjg9x84jph5hm0z2l6yaq6n421jcf1hzqn1pg8rpgr7"))))
+    (build-system pyproject-build-system)
+    (arguments
+     ;; We don't have the zstd module.
+     (list
+      #:test-flags
+      '(list "--ignore=pymemcache/test/test_compression.py")))
+    (native-inputs
+     (list python-faker python-pytest python-pytest-cov))
+    (home-page "https://github.com/pinterest/pymemcache")
+    (synopsis "Comprehensive, fast, pure Python memcached client")
+    (description
+     "This package provides a comprehensive, fast, pure Python memcached
+client.")
+    (license license:asl2.0)))
+
 (define-public python-pymodbus
   (package
     (name "python-pymodbus")
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 0c3a560562..c2cf68fca8 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -716,13 +716,13 @@ nonlinear mixed-effects models.")
 (define-public r-mgcv
   (package
    (name "r-mgcv")
-   (version "1.9-0")
+   (version "1.9-1")
    (source
     (origin
      (method url-fetch)
      (uri (cran-uri "mgcv" version))
      (sha256
-      (base32 "0w1v0hdswb332xz3br1fcgacib7ddr4hb96cmlycxcpqq5w01cdj"))))
+      (base32 "0cnvbdda243as2bxfsgnnk7xjmp1msgr9i4vbd84jfnxpqvvq3vh"))))
    (build-system r-build-system)
    (propagated-inputs
     (list r-matrix r-nlme))
@@ -1178,14 +1178,14 @@ solution for sending email, including attachments, from within R.")
 (define-public r-stringi
   (package
     (name "r-stringi")
-    (version "1.8.2")
+    (version "1.8.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "stringi" version))
        (sha256
         (base32
-         "0bd7x9gl0rhpkpdi9j7a449dw2xsgczgbdj600658z5b6wq25l3a"))))
+         "09a964g8q3iphq24ln9c9g5158ynr75pfh3ghddarn0xvn7bw0hn"))))
     (build-system r-build-system)
     (inputs (list icu4c))
     (native-inputs (list pkg-config))
@@ -1408,13 +1408,13 @@ evaluation (NSE) in R.")
 (define-public r-dbi
   (package
     (name "r-dbi")
-    (version "1.1.3")
+    (version "1.2.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "DBI" version))
               (sha256
                (base32
-                "13a2656w5j9shpcwa7gj2szy7nk9sajjhlisi5wdpgd57msk7frq"))))
+                "1g4c2qfyjwbjwbsczhk83xmx74764nn53gnqzb6xxrwqjbxj4dpn"))))
     (build-system r-build-system)
     (native-inputs
      (list r-knitr))
@@ -1560,13 +1560,13 @@ syntax that can be converted to XHTML or other formats.")
 (define-public r-yaml
   (package
     (name "r-yaml")
-    (version "2.3.7")
+    (version "2.3.8")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "yaml" version))
               (sha256
                (base32
-                "1aw0cvaqw8a0d1r3cplj5kiabkcyz8fghcpi0ax8mi7rw0cv436j"))))
+                "1n1zlbnq3ldipnnm08whpvm8r21vxg4c9jzg7x7j3blw2pi7kl4y"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/yaml/")
     (synopsis "Methods to convert R data to YAML and back")
@@ -2738,13 +2738,13 @@ SLURM and Sun Grid Engine.  Multicore and SSH systems are also supported.")
 (define-public r-brew
   (package
     (name "r-brew")
-    (version "1.0-8")
+    (version "1.0-10")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "brew" version))
               (sha256
                (base32
-                "09kq14nbaw0mmpb2vbfklz786q6lyizzkyg5bg64bmj2f1d2sr8i"))))
+                "13x3vnrhfcvr479r4dya61a5vcky2gb4kv2xbivy0ah39qrzg0a1"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/brew")
     (synopsis "Templating framework for report generation")
@@ -3535,14 +3535,14 @@ statements.")
 (define-public r-segmented
   (package
     (name "r-segmented")
-    (version "2.0-0")
+    (version "2.0-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "segmented" version))
        (sha256
         (base32
-         "1j7flzav26ldhg50gzcx8azfh9sx4ay30g75ipq56vqibzc33fwd"))))
+         "0r3l39sihncrmhs6y3nydr6izp5ss86rfwjyhwf2x0clvqq2gkz9"))))
     (build-system r-build-system)
     (propagated-inputs (list r-mass r-nlme))
     (home-page "https://cran.r-project.org/web/packages/segmented")
@@ -4402,13 +4402,13 @@ t-probabilities, quantiles, random deviates and densities.")
 (define-public r-matrixstats
   (package
     (name "r-matrixstats")
-    (version "1.1.0")
+    (version "1.2.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "matrixStats" version))
               (sha256
                (base32
-                "0h85hjvsmc8s3hyjdj83fykb2vl8jc7pb9ynp2xsl0q9v1sihrxl"))))
+                "0ws5lmzqm42vrn5791l21zr05l78x0xi6b89jw0gi0vjb4pc20z4"))))
     (properties `((upstream-name . "matrixStats")))
     (build-system r-build-system)
     (arguments
@@ -5190,13 +5190,13 @@ with alternating row colors) in LaTeX and HTML formats easily from
 (define-public r-vipor
   (package
     (name "r-vipor")
-    (version "0.4.5")
+    (version "0.4.7")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "vipor" version))
               (sha256
                (base32
-                "112gc0d7f8iavgf56pnzfxb7hy75yhd0zlyjzshdcfbnqcd2a6bx"))))
+                "17hb6y1i9bva0fr4k9m6wncmnzdjad1b7fhsvfhva4xavpll3bds"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/vipor")
     (synopsis "Plot categorical data using noise and density estimates")
@@ -5391,14 +5391,14 @@ Farebrother's algorithm or Liu et al.'s algorithm.")
 (define-public r-cowplot
   (package
     (name "r-cowplot")
-    (version "1.1.1")
+    (version "1.1.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "cowplot" version))
        (sha256
         (base32
-         "0j7d5vhzdxn1blrsfafx5z8lhq122rp8230hp9czrpsnnhjydp67"))))
+         "1ppsg3rbqz9a16zq87izdj5w8ylb6jb6v13xb01k7m3n2h4mv4f6"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-ggplot2 r-gtable r-rlang r-scales))
@@ -5779,14 +5779,14 @@ of the points.")
 (define-public r-fpc
   (package
     (name "r-fpc")
-    (version "2.2-10")
+    (version "2.2-11")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "fpc" version))
        (sha256
         (base32
-         "1lj7j74yx747iic1hcngzbym0sqxppja8bxw64m0j6na5s7m9d4r"))))
+         "06j1dzlf96qcaiqg8m5iah9rmwdppky04xjhs8k4rh0k12wr0mc2"))))
     (build-system r-build-system)
     (propagated-inputs
      (list r-class
@@ -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
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 013504875b..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)
@@ -1440,7 +1441,7 @@ management by roles and individual account maintenance.")
  (define-public shflags
    (package
      (name "shflags")
-    (version "1.2.3")
+    (version "1.3.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1449,7 +1450,7 @@ management by roles and individual account maintenance.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1ydx0sb6vz9s2dgp5bd64y7fpzh9qvmlfjxrbmzac8saknijrlly"))))
+                "0jj0zkly8yg42b8jvih2cmmafv95vm8mv80n3dyalvr5i14lzqd8"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                      ; no tests
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 9debed0b86..1f7a005cb1 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -470,11 +470,13 @@ trouble using them, because you do not have to remember each snippet name.")
                   "0av2m075n6z05ah9ndrgnp9s16yrz6n2lj0igd9fh3c5k41x5xks"))))
       (build-system vim-build-system)
       (arguments
-       '(#:plugin-name "coqtail"
+       `(#:plugin-name "coqtail"
+         #:vim ,vim-full ; Plugin needs Python 3.
          #:phases
          (modify-phases %standard-phases
            (add-before 'install 'check
-             (lambda* (#:key inputs native-inputs tests? #:allow-other-keys)
+             (lambda* (#:key inputs native-inputs tests? vim? neovim?
+                       #:allow-other-keys)
                (when tests?
                  (display "Running Python unit tests.\n")
                  (setenv "PYTHONPATH" (string-append (getcwd) "/python"))
@@ -488,23 +490,27 @@ trouble using them, because you do not have to remember each snippet name.")
                                               "vim-vader"))
                         (vader-path (string-append
                                       vim-vader
-                                      "/share/vim/vimfiles/pack/guix/start/vader")))
+                                      (if vim?
+                                        "/share/vim/vimfiles"
+                                        "/share/nvim/site")
+                                      "/pack/guix/start/vader"))
+                        (command `(,@(if vim? '("vim" "-E") '())
+                                   ,@(if neovim? '("nvim" "--headless") '())
+                                   "-Nu" "vimrc"
+                                   "-c" "Vader! *.vader")))
                    (with-directory-excursion "tests/vim"
+                     (when neovim?
+                       (setenv "HOME" (getcwd)))
                      (setenv "VADER_PATH" vader-path)
-                     (invoke (string-append
-                               (assoc-ref (or native-inputs inputs) "vim-full")
-                               "/bin/vim")
-                             "-E" "-Nu" "vimrc"
-                             "-c" "Vader! *.vader")))
+                     (apply invoke command)))
 
                  ;; Remove __pycache__ files generated during testing so that
                  ;; they don't get installed.
                  (delete-file-recursively "python/__pycache__")))))))
       (native-inputs
-       `(("coq-for-coqtail" ,coq-for-coqtail)
-         ("python-pytest" ,python-pytest)
-         ("vim-full" ,vim-full)         ; Plugin needs Python 3.
-         ("vim-vader" ,vim-vader)))
+       (list coq-for-coqtail
+             python-pytest
+             vim-vader))
       (propagated-inputs (list coq coq-ide-server))
       (synopsis "Interactive Coq proofs in Vim")
       (description "Coqtail enables interactive Coq proof development in Vim
@@ -512,6 +518,18 @@ similar to CoqIDE or ProofGeneral.")
       (home-page "https://github.com/whonore/Coqtail")
       (license license:expat))))
 
+(define-public neovim-coqtail
+  (package
+    (inherit vim-coqtail)
+    (name "neovim-coqtail")
+    (synopsis "Interactive Coq proofs in Neovim")
+    (description "Coqtail enables interactive Coq proof development in Neovim
+similar to CoqIDE or ProofGeneral.")
+    (native-inputs
+     (modify-inputs (package-native-inputs vim-coqtail)
+       (replace "vim-vader" neovim-vader)
+       (append python-minimal python-pynvim)))))
+
 (define-public vim-fugitive
   (package
     (name "vim-fugitive")
@@ -1509,7 +1527,7 @@ operations are available for most filetypes.")
          #:phases
          (modify-phases %standard-phases
            (add-before 'install 'check
-             (lambda* (#:key tests? #:allow-other-keys)
+             (lambda* (#:key tests? vim? neovim? #:allow-other-keys)
                (when tests?
                  ;; FIXME: suite1.vader fails with an unknown reason,
                  ;; lang-if.vader requires Python and Ruby.
@@ -1519,9 +1537,11 @@ operations are available for most filetypes.")
 
                  (display "Running Vim tests\n")
                  (with-directory-excursion "test"
-                   (setenv "VADER_TEST_VIM" "vim -E")
+                   (when vim?
+                     (setenv "VADER_TEST_VIM" "vim -E"))
+                   (when neovim?
+                     (setenv "VADER_TEST_VIM" "nvim --headless"))
                    (invoke "bash" "./run-tests.sh"))))))))
-      (native-inputs (list vim))
       (home-page "https://github.com/junegunn/vader.vim")
       (synopsis "Test framework for Vimscript")
       (description "Vader is a test framework for Vimscript designed to
@@ -1531,6 +1551,11 @@ be integrated with @acronym{CI, Continuous Integration} pipelines to
 automate testing and is compatible with Vim and Neovim.")
       (license license:expat)))) ;; Specified in README.md.
 
+(define-public neovim-vader
+  (package
+    (inherit vim-vader)
+    (name "neovim-vader")))
+
 (define-public vim-jedi-vim
   (package
     (name "vim-jedi-vim")
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 67f59ca9f9..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)
@@ -5159,7 +5160,7 @@ It uses the uwsgi protocol for all the networking/interprocess communications.")
 (define-public jq
   (package
     (name "jq")
-    (version "1.7")
+    (version "1.7.1")
     (source
      (origin
        (method url-fetch)
@@ -5167,7 +5168,7 @@ It uses the uwsgi protocol for all the networking/interprocess communications.")
                            "/releases/download/jq-" version
                            "/jq-" version ".tar.gz"))
        (sha256
-        (base32 "0qnv8k9x8i6i24n9vx3cxgw0yjj1411silc4wksfcinrfmlhsaj0"))
+        (base32 "1hl0wppdwwrqf3gzg3xwc260s7i1br2lnc97zr1k8bpx56hrr327"))
        (modules '((guix build utils)))
        (snippet
         ;; Remove bundled onigurama.
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 400f0e7607..38f6217da2 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -304,7 +304,7 @@ integrate Windows applications into your desktop.")
 (define-public wine-staging-patchset-data
   (package
     (name "wine-staging-patchset-data")
-    (version "8.0")
+    (version "8.18")
     (source
      (origin
        (method git-fetch)
@@ -313,10 +313,10 @@ integrate Windows applications into your desktop.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "11q9fa1jdrv1pd9piaicgqvidq1c08imkwpqhyzcj5r711rl7581"))))
+        (base32 "0qabyw5139xdfsvzbwbrn1nnqssgwk8mn88mxnq2cdkk9gbjvq56"))))
     (build-system trivial-build-system)
     (native-inputs
-     (list bash coreutils))
+     (list coreutils))
     (arguments
      `(#:modules ((guix build utils))
        #:builder
@@ -324,16 +324,12 @@ integrate Windows applications into your desktop.")
          (use-modules (guix build utils))
          (let* ((build-directory ,(string-append name "-" version))
                 (source (assoc-ref %build-inputs "source"))
-                (bash (assoc-ref %build-inputs "bash"))
                 (coreutils (assoc-ref %build-inputs "coreutils"))
                 (out (assoc-ref %outputs "out"))
                 (wine-staging (string-append out "/share/wine-staging")))
            (copy-recursively source build-directory)
            (with-directory-excursion build-directory
-             (substitute* "patches/patchinstall.sh"
-               (("/bin/sh")
-                (string-append bash "/bin/sh")))
-             (substitute* "patches/gitapply.sh"
+             (substitute* '("patches/gitapply.sh" "staging/patchinstall.py")
                (("/usr/bin/env")
                 (string-append coreutils "/bin/env"))))
            (copy-recursively build-directory wine-staging)
@@ -363,7 +359,7 @@ integrate Windows applications into your desktop.")
                              "wine-" wine-version ".tar.xz"))
          (file-name (string-append name "-" wine-version ".tar.xz"))
          (sha256
-          (base32 "0bkr3klvjy8h4djddr31fvapsi9pc2rsiyhaa7j1lwpq704w4wh2")))))
+          (base32 "1nv06awb3hv26v64nqnks9yiz7w368scxznj77vxa3zpmhafzyih")))))
     (inputs (modify-inputs (package-inputs wine)
               (prepend autoconf ; for autoreconf
                        ffmpeg
@@ -373,6 +369,9 @@ integrate Windows applications into your desktop.")
                        python
                        util-linux ; for hexdump
                        wine-staging-patchset-data)))
+    (native-inputs
+     (modify-inputs (package-native-inputs wine)
+       (prepend python-3)))
     (arguments
      (substitute-keyword-arguments (package-arguments wine)
        ((#:phases phases)
@@ -382,7 +381,7 @@ integrate Windows applications into your desktop.")
               (lambda* (#:key inputs #:allow-other-keys)
                 (invoke (search-input-file
                          inputs
-                         "/share/wine-staging/patches/patchinstall.sh")
+                         "/share/wine-staging/staging/patchinstall.py")
                         "DESTDIR=."
                         "--all")))
             (add-after 'apply-wine-staging-patches 'patch-SHELL
@@ -417,7 +416,7 @@ integrated into the main branch.")
               (lambda* (#:key inputs #:allow-other-keys)
                 (invoke (search-input-file
                          inputs
-                         "/share/wine-staging/patches/patchinstall.sh")
+                         "/share/wine-staging/staging/patchinstall.py")
                         "DESTDIR=."
                         "--all")))
             (add-after 'apply-wine-staging-patches 'patch-SHELL
@@ -425,87 +424,3 @@ integrated into the main branch.")
     (synopsis "Implementation of the Windows API (staging branch, WoW64
 version)")
     (supported-systems '("x86_64-linux" "aarch64-linux"))))
-
-(define dxvk32
-  ;; This package provides 32-bit dxvk libraries on 64-bit systems.
-  (package
-    (name "dxvk32")
-    (version "1.5.5")
-    (home-page "https://github.com/doitsujin/dxvk/")
-    (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
-                "1inl0qswgvbp0fs76md86ilqf9mbshkpjm8ga81khn9zd6v3fvan"))))
-    (build-system meson-build-system)
-    (arguments
-     `(#:system "i686-linux"
-       #:configure-flags (list "--cross-file"
-                               (string-append (assoc-ref %build-inputs "source")
-                                              "/build-wine32.txt"))))
-    (native-inputs
-     `(("glslang" ,glslang)))
-    (inputs
-     `(("wine" ,wine-staging)))
-    (synopsis "Vulkan-based D3D9, D3D10 and D3D11 implementation for Wine")
-    (description "A Vulkan-based translation layer for Direct3D 9/10/11 which
-allows running complex 3D applications with high performance using Wine.
-
-Use @command{setup_dxvk} to install the required libraries to a Wine prefix.")
-    (supported-systems '("x86_64-linux"))
-    (license license:zlib)))
-
-(define-public dxvk
-  (package
-    (inherit dxvk32)
-    (name "dxvk")
-    (arguments
-     `(#:configure-flags (list "--cross-file"
-                               (string-append (assoc-ref %build-inputs "source")
-                                              "/build-wine"
-                                              ,(match (%current-system)
-                                                 ("x86_64-linux" "64")
-                                                 (_ "32"))
-                                              ".txt"))
-       #:phases
-       (modify-phases %standard-phases
-         ,@(if (string=? (%current-system) "x86_64-linux")
-             `((add-after 'unpack 'install-32
-                 (lambda* (#:key inputs outputs #:allow-other-keys)
-                   (let* ((out (assoc-ref outputs "out"))
-                          (dxvk32 (assoc-ref inputs "dxvk32")))
-                     (mkdir-p (string-append out "/lib32"))
-                     (copy-recursively (string-append dxvk32 "/lib")
-                                       (string-append out "/lib32"))
-                     #t))))
-             '())
-         (add-after 'install 'install-setup
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (bin (string-append out "/bin/setup_dxvk")))
-               (mkdir-p (string-append out "/bin"))
-               (copy-file "../source/setup_dxvk.sh"
-                          bin)
-               (chmod bin #o755)
-               (substitute* bin
-                 (("wine=\"wine\"")
-                  (string-append "wine=" (assoc-ref inputs "wine") "/bin/wine"))
-                 (("x32") ,(match (%current-system)
-                             ("x86_64-linux" "../lib32")
-                             (_ "../lib")))
-                 (("x64") "../lib"))))))))
-    (inputs
-     `(("wine" ,(match (%current-system)
-                  ;; ("x86_64-linux" wine64)
-                  ("x86_64-linux" wine64-staging)
-                  ;; ("x86_64-linux" mingw-w64-x86_64)
-                  (_ wine)))
-       ,@(match (%current-system)
-           ("x86_64-linux"
-            `(("dxvk32" ,dxvk32)))
-           (_ '()))))
-    (supported-systems '("i686-linux" "x86_64-linux"))))
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 82ef67a2e4..a87eb20428 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -41,7 +41,7 @@
 ;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
 ;;; Copyright © 2020 Niklas Eklund <niklas.eklund@posteo.net>
 ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
-;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2021, 2023 Zheng Junjie <873216071@qq.com>
 ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
 ;;; Copyright © 2021 qblade <qblade@protonmail.com>
 ;;; Copyright © 2021 lasnesne <lasnesne@lagunposprasihopre.org>
@@ -1845,8 +1845,14 @@ corners, shadows, inactive window dimming, etc.")
        (sha256
         (base32 "03jrjwlwxkcyd6m9a1bbwapasnz7b7aws7h0y6jigjm4m478phv6"))))
     (build-system meson-build-system)
-    (inputs (list cairo gdk-pixbuf libxkbcommon linux-pam wayland))
-    (native-inputs (list pango pkg-config scdoc wayland-protocols))
+    (inputs (append (if (%current-target-system)
+                        (list wayland-protocols)
+                        '())
+                    (list cairo gdk-pixbuf libxkbcommon linux-pam wayland)))
+    (native-inputs (append (if (%current-target-system)
+                               (list pkg-config-for-build wayland)
+                               '())
+                           (list pango pkg-config scdoc wayland-protocols)))
     (home-page "https://github.com/swaywm/sway")
     (synopsis "Screen locking utility for Wayland compositors")
     (description "Swaylock is a screen locking utility for Wayland compositors.")
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 485d55a8d3..449cbbaf6e 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -118,6 +118,7 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
+  #:use-module (gnu packages guile-xyz)
   #:use-module (gnu packages haskell-xyz)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
@@ -2931,6 +2932,62 @@ can optionally use some appearance settings from XSettings, tint2 and GTK.")
     (home-page "https://jgmenu.github.io/")
     (license license:gpl2)))
 
+(define-public x-resize
+  (package
+    (name "x-resize")
+    (version "0.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.com/Apteryks/x-resize")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "10y2p55m5hbrma01kixsppq1a3ld0q1jk8hwx1d1jfgw9vd243j8"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:tests? #f                       ;no test suite
+      #:modules `(((guix build guile-build-system)
+                   #:select (target-guile-effective-version))
+                  ,@%gnu-build-system-modules
+                  (srfi srfi-26))
+      #:phases
+      (with-imported-modules `((guix build guile-build-system)
+                               ,@%gnu-build-system-modules)
+        #~(modify-phases %standard-phases
+            (add-after 'install 'wrap
+              (lambda* (#:key inputs #:allow-other-keys)
+                (let* ((version (target-guile-effective-version))
+                       (site-ccache (string-append "/lib/guile/" version
+                                                   "/site-ccache"))
+                       (site (string-append "/share/guile/site/" version))
+                       (dep-path
+                        (lambda (env path)
+                          (list env '=
+                                (map (cut string-append <> path)
+                                     (list #$output
+                                           #$(this-package-input
+                                              "guile-lib")
+                                           #$(this-package-input
+                                              "guile-udev"))))))
+                       (bin (string-append #$output "/bin/")))
+                  (wrap-program (string-append bin "x-resize")
+                    (dep-path "GUILE_LOAD_PATH" site)
+                    (dep-path "GUILE_LOAD_COMPILED_PATH" site-ccache)
+                    (dep-path "GUILE_EXTENSIONS_PATH" "/lib")))))))))
+    (native-inputs (list autoconf automake guile-3.0 pkg-config))
+    (inputs (list guile-lib guile-udev xrandr))
+    (home-page "https://gitlab.com/Apteryks/x-resize/")
+    (synopsis "Dynamic display resizing leveraging udev events")
+    (description "The @command{x-resize} command detects physical display
+resolution changes via udev and invokes the @command{xrandr} command to
+reconfigure the active display resolution accordingly.  It can be used to
+implement dynamic resize support for desktop environments that lack native
+support such as Xfce.")
+    (license license:gpl3+)))
+
 (define-public xwallpaper
   (package
     (name "xwallpaper")
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index a761fb2fbd..9624fb44aa 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -5677,11 +5677,29 @@ The XCB util-keysyms module provides the following library:
                "0nza1csdvvxbmk8vgv8vpmq7q8h05xrw3cfx9lwxd1hjzd47xsf6"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags '("--disable-static")))
+     `(#:configure-flags '("--disable-static")
+       ,@(if (and (%current-target-system)
+                  (target-riscv64?))
+             `(#:phases
+               (modify-phases %standard-phases
+                 (add-after 'unpack 'update-config-scripts
+                   (lambda* (#:key inputs native-inputs #:allow-other-keys)
+                     ;; Replace outdated config.guess and config.sub.
+                     (for-each (lambda (file)
+                                 (install-file
+                                  (search-input-file
+                                   (or native-inputs inputs)
+                                   (string-append "/bin/" file)) "."))
+                               '("config.guess" "config.sub"))))))
+             '())))
     (propagated-inputs
      (list libxcb))
     (native-inputs
-     (list pkg-config))
+     (append (if (and (%current-target-system)
+                      (target-riscv64?))
+                 (list config)
+                 '())
+             (list pkg-config)))
     (home-page "https://cgit.freedesktop.org/xcb/util-renderutil/")
     (synopsis "Convenience functions for the Render extension")
     (description
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/system/examples/vm-image.tmpl b/gnu/system/examples/vm-image.tmpl
index b68183a023..dc9a7542a5 100644
--- a/gnu/system/examples/vm-image.tmpl
+++ b/gnu/system/examples/vm-image.tmpl
@@ -8,7 +8,7 @@
 (use-modules (gnu) (guix) (srfi srfi-1))
 (use-service-modules desktop mcron networking spice ssh xorg sddm)
 (use-package-modules bootloaders certs fonts
-                     package-management xorg)
+                     package-management xdisorg xorg)
 
 (define vm-image-motd (plain-file "motd" "
 \x1b[1;37mThis is the GNU system.  Welcome!\x1b[0m
@@ -25,18 +25,6 @@ Run '\x1b[1;37minfo guix\x1b[0m' to browse documentation.
 accounts.\x1b[0m
 "))
 
-;;; XXX: Xfce does not implement what is needed for the SPICE dynamic
-;;; resolution to work (see:
-;;; https://gitlab.xfce.org/xfce/xfce4-settings/-/issues/142).  Workaround it
-;;; by manually invoking xrandr every second.
-(define auto-update-resolution-crutch
-  #~(job '(next-second)
-         (lambda ()
-           (setenv "DISPLAY" ":0.0")
-           (setenv "XAUTHORITY" "/home/guest/.Xauthority")
-           (execl (string-append #$xrandr "/bin/xrandr") "xrandr" "-s" "0"))
-         #:user "guest"))
-
 (operating-system
   (host-name "gnu")
   (timezone "Etc/UTC")
@@ -65,7 +53,7 @@ accounts.\x1b[0m
   (users (cons (user-account
                 (name "guest")
                 (comment "GNU Guix Live")
-                (password "")                     ;no password
+                (password "")           ;no password
                 (group "users")
                 (supplementary-groups '("wheel" "netdev"
                                         "audio" "video")))
@@ -77,8 +65,13 @@ accounts.\x1b[0m
 root ALL=(ALL) ALL
 %wheel ALL=NOPASSWD: ALL\n"))
 
-  (packages (append (list font-bitstream-vera nss-certs)
-                    %base-packages))
+  (packages
+   (append (list font-bitstream-vera nss-certs
+                 ;; Auto-started script providing SPICE dynamic resizing for
+                 ;; Xfce (see:
+                 ;; https://gitlab.xfce.org/xfce/xfce4-settings/-/issues/142).
+                 x-resize)
+           %base-packages))
 
   (services
    (append (list (service xfce-desktop-service-type)
@@ -104,9 +97,6 @@ root ALL=(ALL) ALL
                  ;; integration with the host, etc.
                  (service spice-vdagent-service-type)
 
-                 (simple-service 'cron-jobs mcron-service-type
-                                 (list auto-update-resolution-crutch))
-
                  ;; Use the DHCP client service rather than NetworkManager.
                  (service dhcp-client-service-type))