summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi9
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/backup.scm48
-rw-r--r--gnu/packages/calendar.scm11
-rw-r--r--gnu/packages/curl.scm6
-rw-r--r--gnu/packages/electronics.scm58
-rw-r--r--gnu/packages/emacs-xyz.scm27
-rw-r--r--gnu/packages/gnucash.scm23
-rw-r--r--gnu/packages/golang.scm883
-rw-r--r--gnu/packages/hardware.scm79
-rw-r--r--gnu/packages/image-viewers.scm3
-rw-r--r--gnu/packages/mpd.scm4
-rw-r--r--gnu/packages/parallel.scm4
-rw-r--r--gnu/packages/patches/webkitgtk-libelogind.patch38
-rw-r--r--gnu/packages/syncthing.scm90
-rw-r--r--gnu/packages/terminals.scm27
-rw-r--r--gnu/packages/version-control.scm193
-rw-r--r--gnu/packages/webkit.scm7
-rw-r--r--guix/scripts/refresh.scm36
19 files changed, 1286 insertions, 261 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index ad6ce4a210..db222dd6df 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -14236,8 +14236,8 @@ $ ./pre-inst-env guix refresh -s non-core -u
 
 @item --select=[@var{subset}]
 @itemx -s @var{subset}
-Select all the packages in @var{subset}, one of @code{core} or
-@code{non-core}.
+Select all the packages in @var{subset}, one of @code{core}, @code{non-core}
+or @code{module:@var{name}}.
 
 The @code{core} subset refers to all the packages at the core of the
 distribution---i.e., packages that are used to build ``everything
@@ -14250,6 +14250,11 @@ The @code{non-core} subset refers to the remaining packages.  It is
 typically useful in cases where an update of the core packages would be
 inconvenient.
 
+The @code{module:@var{name}} subset refers to all the packages in a
+specified guile module.  The module can be specified as
+@code{module:guile} or @code{module:(gnu packages guile)}, the former is
+a shorthand for the later.
+
 @item --manifest=@var{file}
 @itemx -m @var{file}
 Select all the packages from the manifest in @var{file}.  This is useful to
diff --git a/gnu/local.mk b/gnu/local.mk
index 27df8f00ee..dc7cd66f28 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2025,7 +2025,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch	\
   %D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch	\
   %D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch	\
-  %D%/packages/patches/webkitgtk-libelogind.patch			\
   %D%/packages/patches/webrtc-audio-processing-big-endian.patch	\
   %D%/packages/patches/webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch   \
   %D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch	\
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index b545b9c370..7f44008b52 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -23,6 +23,7 @@
 ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2022 Feng Shu <tumashu@163.com>
+;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1019,6 +1020,53 @@ precious backup space.
 @end itemize")
     (license license:bsd-2)))
 
+(define-public restic-rest-server
+  (package
+    (name "restic-rest-server")
+    (version "0.11.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/restic/rest-server")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1nvmxc9x0mlks6yfn66fmwn50k5q83ip4g9vvb0kndzd7hwcyacy"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/restic/rest-server/cmd/rest-server"
+       #:unpack-path "github.com/restic/rest-server"
+       #:install-source? #f ;all we need is the binary
+       #:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys . args)
+                      (when tests?
+                        ;; Unit tests seems to break with Guix' non-standard TMPDIR.
+                        (setenv "TMPDIR" "/tmp")
+                        (apply (assoc-ref %standard-phases
+                                          'check) args))))
+                  (add-after 'install 'rename-binary
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (with-directory-excursion (assoc-ref outputs "out")
+                        ;; "rest-server" is a bit too generic.
+                        (rename-file "bin/rest-server"
+                                     "bin/restic-rest-server")))))))
+    (propagated-inputs (list go-golang-org-x-crypto
+                             go-github-com-spf13-cobra
+                             go-github-com-prometheus-client-golang
+                             go-github-com-miolini-datacounter
+                             go-github-com-minio-sha256-simd
+                             go-github-com-gorilla-handlers
+                             go-github-com-coreos-go-systemd-activation))
+    (home-page "https://github.com/restic/rest-server")
+    (synopsis "Restic REST server")
+    (description
+     "The Restic REST server is a high performance HTTP server that implements
+restic's REST backend API.  It provides a secure and efficient way to backup
+data remotely, using the restic backup client and a @code{rest:} URL.")
+    (license license:bsd-2)))
+
 (define-public zbackup
   (package
     (name "zbackup")
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index 7cd4911824..bffc965886 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -177,13 +177,13 @@ data units.")
 (define-public khal
   (package
     (name "khal")
-    (version "0.10.5")
+    (version "0.11.1")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "khal" version))
               (sha256
                (base32
-                "0xhcrx7lcjk126i2xgqmgb199vd4hxsq34mkdmhdh9ia62nbgvsf"))))
+                "07k0cfbfkx9fhfk4gf73vh34c05i1cb72gc15a1lmx9knxy4h503"))))
     (build-system python-build-system)
     (arguments
      `(#:tests? #f ; The test suite is unreliable. See <https://bugs.gnu.org/44197>
@@ -202,8 +202,7 @@ data units.")
            ;; Required to build manpage
            python-sphinxcontrib-newsfeed python-sphinx))
     (inputs
-     (list sqlite
-           python-configobj
+     (list python-configobj
            python-dateutil
            python-icalendar
            python-tzlocal
@@ -216,7 +215,9 @@ data units.")
            python-pyxdg))
     (synopsis "Console calendar program")
     (description "Khal is a standards based console calendar program,
-able to synchronize with CalDAV servers through vdirsyncer.")
+able to synchronize with CalDAV servers through vdirsyncer.  It includes
+both a @acronym{CLI, command-line interface} and a @acronym{TUI, textual user
+interface} named 'ikhal'.")
     (home-page "https://lostpackets.de/khal/")
     (license license:expat)))
 
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 484937bf0a..74a3132f00 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -369,8 +369,10 @@ asynchronously via cURL in C++.")
     (build-system go-build-system)
     (arguments
      `(#:import-path "github.com/rs/curlie"))
-    (inputs
-     (list curl go-golang-org-x-crypto go-golang-org-x-sys))
+    (inputs (list curl
+                  go-golang-org-x-crypto
+                  go-golang-org-x-sys
+                  go-golang-org-x-term))
     (home-page "https://curlie.io")
     (synopsis "The power of curl, the ease of use of httpie")
     (description "If you like the interface of HTTPie but miss the features of
diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index e1ab054bc7..a8c07f6d94 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -427,3 +427,61 @@ from ALSA, ESD, and COMEDI sources.  This package currently does not include
 support for ESD sources.")
     (home-page "https://xoscope.sourceforge.net/")
     (license license:gpl2+)))
+
+(define-public minipro
+  ;; Information needed to fix Makefile
+   (let* ((commit "c181c2cf1619d00a520627d475e3fadb1eea5dac")
+         (commit-short (substring commit 0 8))
+         (date "2022-09-10 21:44:06 -0700"))
+    (package
+      (name "minipro")
+      (version "0.6")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://gitlab.com/DavidGriffith/minipro.git")
+                      (commit version)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "03xgmvvsxmqrz7blg7cqk0pb9ynhlq6v6jfl532zmjdzp5p3h10d"))))
+      (native-inputs (list pkg-config which))
+      (inputs (list libusb))
+      (build-system gnu-build-system)
+      (arguments
+       (list
+        #:tests? #f ; no test suite
+        #:phases
+        #~(modify-phases %standard-phases
+            (delete 'configure) ; No ./configure script
+            (add-before 'build 'fix-makefile
+              (lambda _
+                ;; Fix some git related variables that minipro expects
+                (substitute* "Makefile"
+                  (("GIT_BRANCH = .*")
+                   (string-append "GIT_BRANCH = \"master\"\n"))
+                  (("GIT_HASH = .*")
+                   (string-append "GIT_HASH = \"" #$commit "\"\n"))
+                  (("GIT_HASH_SHORT = .*")
+                   (string-append "GIT_HASH_SHORT = \"" #$commit-short "\"\n"))
+                  (("GIT_DATE = .*")
+                   (string-append "GIT_DATE = \"" #$date "\"\n"))))))
+        #:make-flags
+        #~(list (string-append "VERSION=" #$version)
+                (string-append "PREFIX=" #$output)
+                (string-append "UDEV_DIR=" #$output "/lib/udev")
+                (string-append "COMPLETIONS_DIR=" #$output
+                               "/share/bash-completion/completions"))))
+      (synopsis "Controls the TL866xx series of chip programmers")
+      (description
+       "minipro is designed to program or read the contents of
+chips supported by the TL866xx series of programmers.  This includes many
+microcontrollers, ROMs, EEPROMs and PLDs.
+
+To use this program without root privileges you must install the necessary udev
+rules.  This can be done by extending @code{udev-service-type} in your
+@code{operating-system} configuration with this package.  E.g.:
+@code{(udev-rules-service 'minipro minipro #:groups '(\"plugdev\")}.
+Additionally your user must be member of the @code{plugdev} group.")
+      (home-page "https://gitlab.com/DavidGriffith/minipro")
+      (license license:gpl3+))))
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index f1fbd7d9ee..cb8495f8e8 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -126,6 +126,7 @@
 ;;; Copyright © 2020, 2021, 2022, 2023 Andrew Tropin <andrew@trop.in>
 ;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw>
 ;;; Copyright © 2023 Juliana Sims <juli@incana.org>
+;;; Copyright © 2023 Evgeny Pisemsky <evgeny@pisemsky.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1768,7 +1769,7 @@ Apprentice and Sourcerer.")
 (define-public emacs-suneater-theme
   (package
     (name "emacs-suneater-theme")
-    (version "2.2.1")
+    (version "2.3.0")
     (source
      (origin
        (method git-fetch)
@@ -1777,7 +1778,7 @@ Apprentice and Sourcerer.")
              (commit version)))
        (sha256
         (base32
-         "1pnfiwnh2hr2hp4rxivx61j3hrmvwingjpfslnn535a3z9md0c4f"))
+         "19432hb4lkfvip72wrc9nqq5bc10nv0g4547x2sif5iqak43dw72"))
        (file-name (git-file-name name version))))
     (build-system emacs-build-system)
     (home-page "https://git.sr.ht/~plattfot/suneater-theme")
@@ -31372,6 +31373,28 @@ name (with autocompletion), a simple bookmark management system and
 connections using TLS encryption.")
     (license license:gpl3+)))
 
+(define-public emacs-gemini
+  (package
+    (name "emacs-gemini")
+    (version "1.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.carcosa.net/jmcbray/gemini.el")
+                    (commit "a7dd7c6ea4e036d0d5ecc4a5d284874c400f10ba")))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1pvlk56mhh4xh4gwzqldfk79jsjbcpivv5scd9811pv3afc30gsx"))))
+    (build-system emacs-build-system)
+    (home-page "https://git.carcosa.net/jmcbray/gemini.el")
+    (synopsis "Syntax highlighting for text/gemini")
+    (description
+     "This is a very simple syntax-highlighting mode for text/gemini documents.
+Currently, support is not complete, but it should be enough to help with basic
+documents.")
+    (license license:agpl3+)))
+
 (define-public emacs-zerodark-theme
   (package
     (name "emacs-zerodark-theme")
diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm
index 0386910ce6..ddc78a655e 100644
--- a/gnu/packages/gnucash.scm
+++ b/gnu/packages/gnucash.scm
@@ -64,14 +64,14 @@
   ;; directory.
   (package
     (name "gnucash")
-    (version "4.11")
+    (version "5.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/"
                            version "/gnucash-" version ".tar.bz2"))
        (sha256
-        (base32 "069b216dkpjs9hp32s4bhi6f76lbc81qvbmjmz0dxq3v1piys57q"))))
+        (base32 "09482f1w4yawrdw5c2wi0jb8hwlp1x9mdvq552bf9n5f66mkphfg"))))
     (outputs '("out" "doc" "debug" "python"))
     (build-system cmake-build-system)
     (arguments
@@ -87,6 +87,13 @@
                   (guix build utils))
       #:phases
       #~(modify-phases %standard-phases
+          (add-after 'unpack 'disable-unsupported-test
+               ;; test test-gnc-quotes neeeds perl JSON::Parse
+               ;; not packaged in Guix yet
+            (lambda _
+              (substitute* "libgnucash/app-utils/test/CMakeLists.txt"
+                    (("gnc_add_test\\(test-gnc-quotes")
+                     "#gnc_add_test\\(test-gnc-quotes"))))
           (add-after 'unpack 'set-env-vars
             (lambda* (#:key inputs #:allow-other-keys)
               ;; At least one test is time-related and requires this
@@ -95,12 +102,6 @@
               (substitute* "CMakeLists.txt"
                 (("set\\(SHELL /bin/bash\\)")
                  (string-append "set(SHELL " (which "bash") ")")))))
-          ;; After wrapping gnc-fq-check and gnc-fq-helper we can no longer
-          ;; execute them with perl, so execute them directly instead.
-          (add-after 'unpack 'fix-finance-quote-check
-            (lambda _
-              (substitute* "gnucash/price-quotes.scm"
-                (("\"perl\" \"-w\" ") ""))))
           ;; The qof test requires the en_US, en_GB, and fr_FR locales.
           (add-before 'check 'install-locales
             (lambda _
@@ -155,9 +156,7 @@
                                            (assoc l (package-inputs this-package)))
                                          '("perl-finance-quote")))))))))
                '("gnucash"
-                 "gnc-fq-check"
-                 "gnc-fq-helper"
-                 "gnc-fq-dump"))))
+                 "gnc-fq-update"))))
           (add-after 'install 'glib-or-gtk-compile-schemas
             (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
           (add-after 'install 'glib-or-gtk-wrap
@@ -217,7 +216,7 @@ installed as well as Yelp, the Gnome help browser.")
                "mirror://sourceforge/gnucash/gnucash%20%28stable%29/"
                version "/gnucash-docs-" version revision ".tar.gz"))
          (sha256
-          (base32 "162qq8p76grczdnsd4qbpxn1d8ap6l2n1a00a601v5hij7rqwfx8"))))
+          (base32 "1cgdb5qrwrx6yf6dsc8zlhi67lbyjs1g82i0n53sw6n6v38dd882"))))
       (build-system cmake-build-system)
       ;; These are native-inputs because they are only required for building the
       ;; documentation.
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 24dae34e20..60ae34dc64 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -36,8 +36,9 @@
 ;;; Copyright © 2022 Pier-Hugues Pellerin <phpellerin@gmail.com>
 ;;; Copyright © 2022 muradm <mail@muradm.net>
 ;;; Copyright © 2022 Dhruvin Gandhi <contact@dhruvin.dev>
-;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
+;;; Copyright © 2022, 2023 Nicolas Graves <ngraves@ngraves.fr>
 ;;; Copyright © 2022 ( <paren@disroot.org>
+;;; Copyright © 2022 Christopher Howard <christopher@librehacker.com>
 ;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
 ;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
 ;;;
@@ -1081,6 +1082,32 @@ cluster segmentation algorithm.")
      '(#:unpack-path "github.com/apparentlymart/go-textseg/autoversion"
        #:import-path "github.com/apparentlymart/go-textseg/autoversion/textseg"))))
 
+(define-public go-github-com-avast-retry-go
+  (let ((commit "a322e24d96313ab405dec28ad5711f036c6d25a3")
+        (revision "0"))
+    (package
+      (name "go-github-com-avast-retry-go")
+      (version (git-version "2.4.2" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/avast/retry-go")
+           (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0hb4b1668516a4gv8avmflr565b6c1h93phdb068hcjxxj8767ba"))))
+      (build-system go-build-system)
+      (arguments `(#:import-path "github.com/avast/retry-go"))
+      (propagated-inputs (list go-github-com-stretchr-testify))
+      (home-page "https://github.com/avast/retry-go")
+      (synopsis "Simple golang library for retry mechanism")
+      (description "This package is a simple Go library that provides retry
+functionality for functions that may fail.  It includes various customizable
+retry strategies, such as fixed delay, backoff delay, and random delay.")
+      (license license:expat))))
+
 (define-public go-github-com-operatorfoundation-shapeshifter-transports
   (package
     (name "go-github-com-operatorfoundation-shapeshifter-transports")
@@ -1381,6 +1408,201 @@ messages automatically.")
        "Package reqtrace contains a very simple request tracing framework.")
       (license license:asl2.0))))
 
+(define-public go-github-com-jcmturner-aescts-v2
+  (package
+    (name "go-github-com-jcmturner-aescts-v2")
+    (version "2.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/jcmturner/aescts")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0yrdiisdhcqfs8jpicc30dfmbqzxhkmbayn902xrgwkndky8w7l1"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/jcmturner/aescts/v2"))
+    (propagated-inputs (list go-github-com-stretchr-testify))
+    (home-page "https://github.com/jcmturner/aescts")
+    (synopsis "Encrypt and decrypt data in Go using AES CipherText Stealing")
+    (description
+     "This package provides AES Cipher Block Chaining CipherText Stealing
+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")
+    (version "1.7.6")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/jcmturner/gofork")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0w1j6b671121r6md5w7hnh2d0sa332pw5q49yihw23wdfinknyin"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/jcmturner/gofork"))
+    (home-page "https://github.com/jcmturner/gofork")
+    (synopsis "Modified Go standard library packages")
+    (description
+     "This repository contains modified Go standard library packages for use as work
+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")
+    (version "2.0.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/jcmturner/rpc")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1nm4j2nwcszghldw39rwdx2hr56i1lybfpv33y4gd67w6qcqbpsi"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/jcmturner/rpc"
+       ;; Source-only package.
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         ;; Source-only package.
+         (delete 'build))))
+    (propagated-inputs
+     (list go-golang-org-x-net go-github-com-stretchr-testify))
+    (home-page "https://github.com/jcmturner/rpc")
+    (synopsis "Remote Procedure Call libraries")
+    (description
+     "This package provides a partial Go implementation of the Remote Call
+Procedure libraries, presented in
+@@url{http://pubs.opengroup.org/onlinepubs/9629399/,CDE 1.1: Remote Procedure
+Call}.")
+    (license license:asl2.0)))
+
+(define-public go-github-com-jcmturner-rpc-v2-ndr
+  (package
+    (inherit go-github-com-jcmturner-rpc)
+    (name "go-github-com-jcmturner-rpc-v2-ndr")
+    (arguments
+     `(#:import-path "github.com/jcmturner/rpc/v2/ndr"
+       #:unpack-path "github.com/jcmturner/rpc"))))
+
+(define-public go-github-com-jcmturner-rpc-v2-mstypes
+  (package
+    (inherit go-github-com-jcmturner-rpc)
+    (name "go-github-com-jcmturner-rpc-v2-mstypes")
+    (arguments
+     `(#:import-path "github.com/jcmturner/rpc/v2/mstypes"
+       #:unpack-path "github.com/jcmturner/rpc"))))
+
 (define-public go-github-com-kataras-golog
   (package
     (name "go-github-com-kataras-golog")
@@ -1452,6 +1674,42 @@ terminals.")
 aid data snapshotting.")
     (license license:isc)))
 
+(define-public go-github-com-leonelquinteros-gotext
+  (package
+    (name "go-github-com-leonelquinteros-gotext")
+    (version "1.5.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/leonelquinteros/gotext")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "15zjc7s1p29izagc84andzhnxw17763rax31jqvf9r5fzvlm0ccn"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/leonelquinteros/gotext"))
+    (propagated-inputs (list go-golang-org-x-tools go-golang-org-x-text))
+    (home-page "https://github.com/leonelquinteros/gotext")
+    (synopsis "GNU gettext utilities in Go")
+    (description "This package implements GNU gettext utilities in Go.  It features:
+@itemize
+@item Implements GNU gettext support in native Go.
+@item Complete support for PO files including:
+@item Support for MO files.
+@item Thread-safe: This package is safe for concurrent use across multiple
+goroutines.
+@item It works with UTF-8 encoding as it's the default for Go language.
+@item Unit tests available.
+@item Language codes are automatically simplified from the form en_UK to en if
+the first isn't available.
+@item Ready to use inside Go templates.
+@item Objects are serializable to []byte to store them in cache.
+@item Support for Go Modules.
+@end itemize")
+    (license license:expat)))
+
 (define-public go-github-com-pkg-xattr
   (package
     (name "go-github-com-pkg-xattr")
@@ -1758,6 +2016,34 @@ standardized in RFC 7539.")
     (description "Monolith-Go is a Go library for working with byte sequences.")
     (license license:expat)))
 
+(define-public go-github-com-dpotapov-go-spnego
+  (let ((commit "298b63a544303a239753d04314aada5bdbad7e4a")
+        (revision "0"))
+    (package
+      (name "go-github-com-dpotapov-go-spnego")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/dpotapov/go-spnego")
+           (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0d3b0kazm0jskfml0pkhjn2v49m8dvqj4zymm49ldgvkhl9hcf6w"))))
+      (build-system go-build-system)
+      (arguments `(#:import-path "github.com/dpotapov/go-spnego"))
+      (propagated-inputs (list go-github-com-stretchr-testify
+                               go-github-com-jcmturner-gokrb5-v8
+                               go-golang-org-x-net))
+      (home-page "https://github.com/dpotapov/go-spnego")
+      (synopsis "Simple golang library for retry mechanism")
+      (description "This package is a simple Go library that provides retry
+functionality for functions that may fail.  It includes various customizable
+retry strategies, such as fixed delay, backoff delay, and random delay.")
+      (license license:expat))))
+
 (define-public go-github-com-deckarep-golang-set
   (package
     (name "go-github-com-deckarep-golang-set")
@@ -3220,37 +3506,35 @@ Go programming language.")
     (license license:bsd-3)))
 
 (define-public go-golang-org-x-crypto
-  (let ((commit "2aa609cf4a9d7d1126360de73b55b6002f9e052a")
-        (revision "5"))
-    (package
-      (name "go-golang-org-x-crypto")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/crypto")
-                      (commit commit)))
-                (file-name (string-append "go.googlesource.com-crypto-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "1yvis6fqbsd7f356aqyi18f76vnwj3bry6mxqnkvshq4cwrf92il"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "golang.org/x/crypto"
+  (package
+    (name "go-golang-org-x-crypto")
+    (version "0.4.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://go.googlesource.com/crypto")
+                    (commit (string-append "v" version))))
+              (file-name (string-append "go.googlesource.com-crypto-"
+                                        version "-checkout"))
+              (sha256
+               (base32
+                "13i0yz4hvc4qdr438nmzilvl5ns73v3910bakcddny3jbzq72i2m"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "golang.org/x/crypto"
+       ;; Source-only package
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
          ;; Source-only package
-         #:tests? #f
-         #:phases
-         (modify-phases %standard-phases
-           ;; Source-only package
-           (delete 'build))))
-      (propagated-inputs
-       (list go-golang-org-x-sys))
-      (synopsis "Supplementary cryptographic libraries in Go")
-      (description "This package provides supplementary cryptographic libraries
+         (delete 'build))))
+    (propagated-inputs
+     (list go-golang-org-x-sys))
+    (synopsis "Supplementary cryptographic libraries in Go")
+    (description "This package provides supplementary cryptographic libraries
 for the Go language.")
-      (home-page "https://go.googlesource.com/crypto/")
-      (license license:bsd-3))))
+    (home-page "https://go.googlesource.com/crypto/")
+    (license license:bsd-3)))
 
 (define-public govulncheck
   (package
@@ -3742,6 +4026,31 @@ is similar to Go's standard library @code{json} and @code{xml} package.")
 logging system.")
       (license license:bsd-3))))
 
+(define-public go-github-com-hashicorp-go-uuid
+  (package
+    (name "go-github-com-hashicorp-go-uuid")
+    (version "1.0.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/hashicorp/go-uuid")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0wd4maaq20alxwcvfhr52rzfnwwpmc2a698ihyr0vfns2sl7gkzk"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/hashicorp/go-uuid"))
+    (home-page "https://github.com/hashicorp/go-uuid")
+    (synopsis "Generate UUID-format strings")
+    (description
+     "This package generates UUID-format strings using high quality bytes.
+It is not intended to be RFC compliant, merely to use a well-understood string
+representation of a 128-bit value.  It can also parse UUID-format strings into
+their component bytes.")
+    (license license:mpl2.0)))
+
 (define-public go-github-com-hashicorp-go-version
   (let ((commit
          "03c5bf6be031b6dd45afec16b1cf94fc8938bc77")
@@ -4249,6 +4558,31 @@ cookie values")
 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")
@@ -6276,6 +6610,33 @@ fast and distributable command line applications in an expressive way.")
 the purpose of building man pages.")
     (license license:expat)))
 
+(define-public go-github-com-git-lfs-go-netrc
+  (let ((commit "f0c862dd687a9d9a7e15b3cd7cb3fd3e81cdd5ef")
+        (revision "0"))
+    (package
+      (name "go-github-com-git-lfs-go-netrc")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/git-lfs/go-netrc")
+           (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0xvnjyg54gm3m3qszkfp12id0jmpg3583nqvv2llza1nr18w1sqi"))))
+      (build-system go-build-system)
+      (arguments `(#:import-path "github.com/git-lfs/go-netrc/netrc"
+                   #:unpack-path "github.com/git-lfs/go-netrc"))
+      (home-page "https://github.com/git-lfs/go-netrc")
+      (synopsis "Netrc file parser for Go")
+      (description "This package is for reading and writing netrc files.  This
+package can parse netrc files, make changes to them, and then serialize them
+back to netrc format, while preserving any whitespace that was present in the
+source file.")
+      (license license:expat))))
+
 (define-public go-github-com-russross-blackfriday
   (package
     (name "go-github-com-russross-blackfriday")
@@ -6302,6 +6663,31 @@ the purpose of building man pages.")
     (description "Blackfriday is a Markdown processor in Go.")
     (license license:bsd-2)))
 
+(define-public go-github-com-rubyist-tracerx
+  (let ((commit "787959303086f44a8c361240dfac53d3e9d53ed2")
+        (revision "0"))
+    (package
+      (name "go-github-com-rubyist-tracerx")
+      (version (git-version "0.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/rubyist/tracerx")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1xj5213r00zjhb7d2l6wlwv62g6mss50jwjpf7g8fk8djv3l29zz"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/rubyist/tracerx"))
+      (home-page "https://github.com/rubyist/tracerx/")
+      (synopsis "Output tracing information in your Go app")
+      (description "This package is a simple tracing application that logs
+messages depending on environment variables.  It is very much inspired by git's
+GIT_TRACE mechanism.")
+      (license license:expat))))
+
 (define-public go-github-com-shurcool-sanitized-anchor-name
   (package
     (name "go-github-com-shurcool-sanitized-anchor-name")
@@ -8878,6 +9264,31 @@ which produce colorized output using github.com/fatih/color.")
 @end itemize\n")
     (license license:expat)))
 
+(define-public go-github-com-olekukonko-ts
+  (let ((commit "78ecb04241c0121483589a30b0814836a746187d")
+        (revision "0"))
+    (package
+      (name "go-github-com-olekukonko-ts")
+      (version (git-version "0.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/olekukonko/ts")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0k88n5rvs5k5zalbfa7c71jkjb8dhpk83s425z728qn6aq49c978"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/olekukonko/ts"
+         #:tests? #f)) ; inappropriate ioctl for device.
+      (home-page "https://github.com/olekukonko/ts/")
+      (synopsis "Simple Go application to get the size of the terminal")
+      (description "This package provides a simple Go application to get the
+size of the terminal.")
+      (license license:expat))))
+
 (define-public go-github-com-yuin-goldmark
   (package
     (name "go-github-com-yuin-goldmark")
@@ -8964,6 +9375,29 @@ use one of our glamorous default themes.")
 It lets you parse and compare two semantic version strings.")
     (license license:asl2.0)))
 
+(define-public go-github-com-coreos-go-systemd-activation
+  (package
+    (name "go-github-com-coreos-go-systemd-activation")
+    (version "0.0.0-20191104093116-d3cd4ed1dbcf")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/coreos/go-systemd")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "193mgqn7n4gbb8jb5kyn6ml4lbvh4xs55qpjnisaz7j945ik3kd8"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/coreos/go-systemd/activation"
+       #:unpack-path "github.com/coreos/go-systemd"))
+    (home-page "https://github.com/coreos/go-systemd")
+    (synopsis "Go bindings to systemd socket activation")
+    (description "Go bindings to systemd socket activation; for writing and
+using socket activation from Go.")
+    (license license:asl2.0)))
+
 (define-public go-github-com-emirpasic-gods
   (package
     (name "go-github-com-emirpasic-gods")
@@ -9497,6 +9931,96 @@ RFC-5802 and RFC-7677.")
 bindings for the D-Bus message bus system.")
     (license license:bsd-2)))
 
+(define-public go-github-com-prometheus-common
+  (package
+    (name "go-github-com-prometheus-common")
+    (version "0.4.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/prometheus/common")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/prometheus/common"
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         ;; Source-only package
+         (delete 'build))))
+    (propagated-inputs
+     (list go-github-com-golang-protobuf-proto
+           go-github-com-matttproud-golang-protobuf-extensions-pbutil
+           go-github-com-prometheus-client-model))
+    (synopsis "Prometheus metrics")
+    (description "This package provides tools for reading and writing
+Prometheus metrics.")
+    (home-page "https://github.com/prometheus/common")
+    (license license:asl2.0)))
+
+(define-public go-github-com-prometheus-procfs
+  (package
+    (name "go-github-com-prometheus-procfs")
+    (version "0.0.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/prometheus/procfs")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1z5jq5rjala0a0di4nwk1rai0z9f73qwqj6mgcbpjbg2qknlb544"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/prometheus/procfs"
+       ;; The tests require Go modules, which are not yet supported in Guix's
+       ;; Go build system.
+       #:tests? #f))
+    (synopsis "Go library for reading @file{/proc}")
+    (description "The @code{procfs} Go package provides functions to retrieve
+system, kernel, and process metrics from the @file{/proc} pseudo file system.")
+    (home-page "https://github.com/prometheus/procfs")
+    (license license:asl2.0)))
+
+(define-public go-github-com-prometheus-client-golang
+  (package
+    (name "go-github-com-prometheus-client-golang")
+    (version "1.2.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/prometheus/client_golang")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0zs49psk23n9z8wrl02d5vib5wclpym8kaxcy6n5pk696i419065"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:tests? #f
+       #:import-path "github.com/prometheus/client_golang"
+       #:phases
+       (modify-phases %standard-phases
+         ;; Source-only package
+         (delete 'build))))
+    (propagated-inputs
+     (list go-github-com-beorn7-perks-quantile
+           go-github-com-golang-protobuf-proto
+           go-github-com-prometheus-client-model
+           go-github-com-prometheus-common
+           go-github-com-prometheus-procfs
+           go-github-com-cespare-xxhash))
+    (synopsis "HTTP server and client tools for Prometheus")
+    (description "This package @code{promhttp} provides HTTP client and
+server tools for Prometheus metrics.")
+    (home-page "https://github.com/prometheus/client_golang")
+    (license license:asl2.0)))
+
 (define-public go-github-com-zalando-go-keyring
   (package
     (name "go-github-com-zalando-go-keyring")
@@ -10221,6 +10745,32 @@ or capture raw audio.")
 programs that use traditional command lines.")
     (license license:bsd-3)))
 
+(define-public go-git-sr-ht-adnano-go-gemini
+  (package
+    (name "go-git-sr-ht-adnano-go-gemini")
+    (version "0.2.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.sr.ht/~adnano/go-gemini")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0mv4x4cfwyhh77wfb3r221bhr84x4nmjpgysnvvjgmbnnafsgfns"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "git.sr.ht/~adnano/go-gemini"))
+    (propagated-inputs
+     (list go-golang-org-x-net go-golang-org-x-text))
+    (home-page "https://git.sr.ht/~adnano/go-gemini")
+    (synopsis "Gemini protocol in Go")
+    (description
+     "The @code{gemini} package implements the Gemini protocol in Go.  It
+provides an API similar to that of NET/HTTP to facilitate the development of
+Gemini clients and servers.")
+    (license license:expat)))
+
 (define-public go-git-sr-ht-sircmpwn-getopt
   (package
     (name "go-git-sr-ht-sircmpwn-getopt")
@@ -10655,17 +11205,17 @@ performance for large inputs and outputs.")
 (define-public go-golang-org-x-term
   (package
     (name "go-golang-org-x-term")
-    (version "0.0.0-20210615171337-6886f2dfbf5b")
+    (version "0.3.0")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://go.googlesource.com/term")
-             (commit (go-version->git-ref version))))
+             (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0661w7dp2ak1k4ii90v6chw2x8a6g4sc5j0ba58qlplaj4k5l0xs"))))
+         "16s3d62fgdhiqvcib61s5pwxp08hhrmzx8bdv5zk1w1krjizdarl"))))
     (build-system go-build-system)
     (arguments '(#:import-path "golang.org/x/term"))
     (propagated-inputs
@@ -11145,10 +11695,130 @@ 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")
-    (version "6.3.1")
+    (version "6.6.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -11157,25 +11827,31 @@ encrypting JSON Web Tokens (JWT).  It relies only on the standard library.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "02zw0kl77yr56mw1fbvr51c4mz2265c9al2nzvnqqzdx5aha7nf8"))))
+                "0fjdslg7nhlm9hl7bg69j1izrjx6sspbhwk973d0m8ig9nkdja06"))))
     (build-system go-build-system)
     (native-inputs
      (list go-github-com-99designs-go-keyring
            go-github-com-mtibben-androiddnsfix
            go-github-com-mtibben-percent
            go-github-com-jmespath-go-jmespath
-           go-github-com-aws-aws-sdk-go
            go-github-com-dvsekhvalnov-jose2go
            go-github-com-godbus-dbus
            go-github-com-gsterjov-go-libsecret
            go-github-com-mitchellh-go-homedir
            go-golang-org-x-crypto
            go-golang-org-x-sys
+           go-golang-org-x-term
            go-gopkg-in-ini
            go-github-com-skratchdot-open-golang
            go-github-com-alecthomas-kingpin
            go-github-com-alecthomas-template
-           go-github-com-alecthomas-units))
+           go-github-com-alecthomas-units
+           go-github-com-aws-aws-sdk-go-v2
+           go-github-com-aws-aws-sdk-go-v2-config
+           go-github-com-aws-aws-sdk-go-v2-service-iam
+           go-github-com-aws-aws-sdk-go-v2-service-sso
+           go-github-com-aws-aws-sdk-go-v2-service-ssooidc
+           go-github-com-aws-aws-sdk-go-v2-service-sts))
     (arguments
      `(#:import-path "github.com/99designs/aws-vault"
        #:install-source? #f
@@ -11251,7 +11927,7 @@ aware of your profiles and configuration in ~/.aws/config.")
 (define-public go-github-com-99designs-go-keyring
   (package
     (name "go-github-com-99designs-go-keyring")
-    (version "1.1.6")
+    (version "1.2.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -11260,11 +11936,11 @@ aware of your profiles and configuration in ~/.aws/config.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "08rcdqpxaa9n348q10fw40q4gxpjajkyrighykk71i7mxzwkcgwn"))))
+                "0mkvy7scyq07rkqhabfmkd8imcm4h9y7zj9palj04znpihpixa5m"))))
     (build-system go-build-system)
     (native-inputs
-     (list go-golang-org-x-crypto
-           go-golang-org-x-sys
+     (list go-golang-org-x-sys
+           go-golang-org-x-term
            go-github-com-mtibben-percent
            go-github-com-mitchellh-go-homedir
            go-github-com-dvsekhvalnov-jose2go
@@ -12161,6 +12837,40 @@ config, data and cache directories according to the XDG Base Directory
 Specification.")
     (license license:expat)))
 
+(define-public go-github-com-ssgelm-cookiejarparser
+  (package
+    (name "go-github-com-ssgelm-cookiejarparser")
+    (version "1.0.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/ssgelm/cookiejarparser")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0fnm53br0cg3iwzniil0lh9w4xd6xpzfypwfpdiammfqavlqgcw4"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:import-path "github.com/ssgelm/cookiejarparser"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'fix-embed-x-net
+            (lambda _
+              (delete-file-recursively "src/golang.org/x/net/publicsuffix/data")
+              (copy-recursively
+               #$(file-append (this-package-input "go-golang-org-x-net")
+                              "/src/golang.org/x/net/publicsuffix/data")
+               "src/golang.org/x/net/publicsuffix/data"))))))
+    (propagated-inputs (list go-golang-org-x-net))
+    (home-page "https://github.com/ssgelm/cookiejarparser")
+    (synopsis "Parse a curl cookiejar with Go")
+    (description
+     "This package is a Go library that parses a curl (netscape) cookiejar
+file into a Go http.CookieJar.")
+    (license license:expat)))
+
 (define-public go-github-com-ssor-bom
   (package
     (name "go-github-com-ssor-bom")
@@ -12231,6 +12941,97 @@ 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/hardware.scm b/gnu/packages/hardware.scm
index 299d7b96a1..5b85ad9b2e 100644
--- a/gnu/packages/hardware.scm
+++ b/gnu/packages/hardware.scm
@@ -44,6 +44,7 @@
   #:use-module (gnu packages cdrom)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages cpp)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages cups)
@@ -63,12 +64,14 @@
   #:use-module (gnu packages high-availability)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages lua)
   #:use-module (gnu packages lxqt)
   #:use-module (gnu packages mtools)
   #:use-module (gnu packages package-management)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages openldap)
+  #:use-module (gnu packages onc-rpc)
   #:use-module (gnu packages pciutils)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -81,6 +84,7 @@
   #:use-module (gnu packages qt)
   #:use-module (gnu packages scanner)
   #:use-module (gnu packages security-token)
+  #:use-module (gnu packages readline)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
   #:use-module (gnu packages virtualization)
@@ -1359,3 +1363,78 @@ and libtss2-tcti-mssim.")
 string, code name and other information from x86 CPU. This library is not to be
 confused with the @code{cpuid} command line utility from package @code{cpuid}.")
       (license license:bsd-2))))
+
+(define-public liblxi
+  (package
+    (name "liblxi")
+    (version "1.18")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/lxi-tools/liblxi")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0cbnnd5qmchlr586349j5y4qv5w3bw9nmpbd3k6sq9vwvqh5dmns"))))
+    (build-system meson-build-system)
+    (native-inputs
+     (list cmake pkg-config))
+    (inputs
+     (list avahi libtirpc libxml2))
+    (home-page "https://lxi-tools.github.io/")
+    (synopsis "LAN eXtensions for Instrumentation library")
+    (description
+     "This package provides library for LAN eXtensions for Instrumentation
+based on the LXI Consortium standard which defines the communication protocols
+for modern instrumentation and data acquision systems using Ethernet.")
+    (license license:bsd-3)))
+
+(define-public lxi-tools
+  (package
+    (name "lxi-tools")
+    (version "2.5")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/lxi-tools/lxi-tools")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1xc99xhca386az73rpsrf3z0j7y0hrv0xcwj1dr2ahr7lhnjznqp"))))
+    (build-system meson-build-system)
+    (arguments
+     (list
+      #:glib-or-gtk? #true
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'skip-gtk-update-icon-cache
+            (lambda _
+              (substitute* "build-aux/meson/postinstall.py"
+                (("gtk-update-icon-cache") (which "true"))
+                (("update-desktop-database") (which "true"))))))))
+    (native-inputs
+     (list bash-completion
+           cmake
+           (list glib "bin")
+           pkg-config
+           python
+           readline))
+    (inputs
+     (list glib
+           gtk
+           gtksourceview
+           json-glib
+           libadwaita
+           liblxi
+           lua))
+    (home-page "https://lxi-tools.github.io/")
+    (synopsis "LAN eXtensions for Instrumentation tools")
+    (description
+     "This package provides tools for LAN eXtensions for Instrumentation based
+on the LXI Consortium standard which defines the communication protocols for
+modern instrumentation and data acquision systems using Ethernet.")
+    (license license:bsd-3)))
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 96a3fa6615..a5b3e3e825 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -524,7 +524,8 @@ It supports JPEG, PNG and GIF formats.")
     (inputs (list go-github-com-disintegration-imaging
                   go-github-com-lucasb-eyer-go-colorful
                   go-golang-org-x-crypto
-                  go-golang-org-x-image))
+                  go-golang-org-x-image
+                  go-golang-org-x-term))
     (home-page "https://github.com/eliukblau/pixterm")
     (synopsis "Draw images in your ANSI terminal with true color")
     (description "PIXterm shows images directly in your terminal, recreating
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index b9b3ecc87e..14754ada84 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -246,7 +246,7 @@ player daemon.")
 (define-public ncmpc
   (package
     (name "ncmpc")
-    (version "0.47")
+    (version "0.48")
     (source (origin
               (method url-fetch)
               (uri
@@ -255,7 +255,7 @@ player daemon.")
                               "/ncmpc-" version ".tar.xz"))
               (sha256
                (base32
-                "1714saz8m6y2chby0c1qh3vgqc3srlr1jq98vhzmjykcpjqj7nk1"))))
+                "035rd64a70qiv334bgs9z2hqnvzldkwdvxay2hmdx5l0a5zd5cml"))))
     (build-system meson-build-system)
     (inputs (list boost pcre libmpdclient ncurses))
     (native-inputs
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index bc3edf9122..d64e6e8dd5 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -64,14 +64,14 @@
 (define-public parallel
   (package
     (name "parallel")
-    (version "20230322")
+    (version "20230422")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://gnu/parallel/parallel-"
                           version ".tar.bz2"))
       (sha256
-       (base32 "1jkv5c0ddnwbmx7ay3zxn14sxibhi4ff58waqm6rvg0cdnxb3iz5"))
+       (base32 "1hp3pbf3fsfi2hwaa13isaqzrn09lf847cdpjkhf0kfw14ymj1li"))
       (snippet
        '(begin
           (use-modules (guix build utils))
diff --git a/gnu/packages/patches/webkitgtk-libelogind.patch b/gnu/packages/patches/webkitgtk-libelogind.patch
deleted file mode 100644
index fa1fbc8783..0000000000
--- a/gnu/packages/patches/webkitgtk-libelogind.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 8d46803c09edc2b6d4e35c778a3d2f90e5baad0b Mon Sep 17 00:00:00 2001
-From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
-Date: Sat, 25 Mar 2023 22:55:16 -0400
-Subject: [PATCH] Fallback to elogind when systemd is unavailable at build time
- https://bugs.webkit.org/show_bug.cgi?id=254475
-
-Reviewed by NOBODY (OOPS!).
-
-The build system supports elogind, but it only considers the
-'libsystemd' library name for the pkg-config lookup and not
-'libelogind'.  This change makes the build system fallback to search
-for libelogind when libsystemd was not found.
-
-* Source/cmake/FindJournald.cmake [!PC_SYSTEMD_FOUND]: Search for libelogind.
----
- Source/cmake/FindJournald.cmake | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/Source/cmake/FindJournald.cmake b/Source/cmake/FindJournald.cmake
-index 18dd6b50908c..e0dc9ce1d397 100644
---- a/Source/cmake/FindJournald.cmake
-+++ b/Source/cmake/FindJournald.cmake
-@@ -55,6 +55,10 @@ find_package(PkgConfig QUIET)
- 
- # libelogind provides compatible pc and header files
- pkg_check_modules(PC_SYSTEMD QUIET libsystemd)
-+if (NOT PC_SYSTEMD_FOUND)
-+    pkg_check_modules(PC_SYSTEMD QUIET libelogind)
-+endif ()
-+
- set(Journald_COMPILE_OPTIONS ${PC_SYSTEMD_CFLAGS_OTHER})
- set(Journald_VERSION ${PC_SYSTEMD_VERSION})
- 
-
-base-commit: 43ea8744bc6065aad7ae5988e32d31d253905e5f
--- 
-2.39.2
-
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index c4204f32fe..dd54100ce6 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -877,96 +877,6 @@ message streaming.")
       (home-page "https://github.com/matttproud/golang_protobuf_extensions")
       (license asl2.0))))
 
-(define-public go-github-com-prometheus-common
-    (package
-      (name "go-github-com-prometheus-common")
-      (version "0.4.1")
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/prometheus/common")
-                       (commit (string-append "v" version))))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "github.com/prometheus/common"
-         #:tests? #f
-         #:phases
-         (modify-phases %standard-phases
-           ;; Source-only package
-           (delete 'build))))
-      (propagated-inputs
-       (list go-github-com-golang-protobuf-proto
-             go-github-com-matttproud-golang-protobuf-extensions-pbutil
-             go-github-com-prometheus-client-model))
-      (synopsis "Prometheus metrics")
-      (description "This package provides tools for reading and writing
-Prometheus metrics.")
-      (home-page "https://github.com/prometheus/common")
-      (license asl2.0)))
-
-(define-public go-github-com-prometheus-procfs
-    (package
-      (name "go-github-com-prometheus-procfs")
-      (version "0.0.4")
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/prometheus/procfs")
-                       (commit (string-append "v" version))))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "1z5jq5rjala0a0di4nwk1rai0z9f73qwqj6mgcbpjbg2qknlb544"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "github.com/prometheus/procfs"
-         ;; The tests require Go modules, which are not yet supported in Guix's
-         ;; Go build system.
-         #:tests? #f))
-      (synopsis "Go library for reading @file{/proc}")
-      (description "The @code{procfs} Go package provides functions to retrieve
-system, kernel, and process metrics from the @file{/proc} pseudo file system.")
-      (home-page "https://github.com/prometheus/procfs")
-      (license asl2.0)))
-
-(define-public go-github-com-prometheus-client-golang
-    (package
-      (name "go-github-com-prometheus-client-golang")
-      (version "1.2.1")
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                       (url "https://github.com/prometheus/client_golang")
-                       (commit (string-append "v" version))))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "0zs49psk23n9z8wrl02d5vib5wclpym8kaxcy6n5pk696i419065"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:tests? #f
-         #:import-path "github.com/prometheus/client_golang"
-         #:phases
-         (modify-phases %standard-phases
-           ;; Source-only package
-           (delete 'build))))
-      (propagated-inputs
-       (list go-github-com-beorn7-perks-quantile
-             go-github-com-golang-protobuf-proto
-             go-github-com-prometheus-client-model
-             go-github-com-prometheus-common
-             go-github-com-prometheus-procfs
-             go-github-com-cespare-xxhash))
-      (synopsis "HTTP server and client tools for Prometheus")
-      (description "This package @code{promhttp} provides HTTP client and
-server tools for Prometheus metrics.")
-      (home-page "https://github.com/prometheus/client_golang")
-      (license asl2.0)))
-
 (define-public go-github-com-go-asn1-ber-asn1-ber
   (package
     (name "go-github-com-go-asn1-ber-asn1-ber")
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index 51b135c99d..ef9f16bce5 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -1043,33 +1043,6 @@ usable with any list--including files, command history, processes and more.")
        ("findutils" ,findutils)
        ("ncurses" ,ncurses)))))
 
-(define-public go-github.com-howeyc-gopass
-  (let ((commit "bf9dde6d0d2c004a008c27aaee91170c786f6db8")
-        (revision "0"))
-    (package
-      (name "go-github.com-howeyc-gopass")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/howeyc/gopass")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "1jxzyfnqi0h1fzlsvlkn10bncic803bfhslyijcxk55mgh297g45"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "github.com/howeyc/gopass"))
-      (propagated-inputs
-       (list go-golang-org-x-crypto))
-      (synopsis "Retrieve password from a terminal or piped input in Go")
-      (description
-       "@code{gopass} is a Go package for retrieving a password from user
-terminal or piped input.")
-      (home-page "https://github.com/howeyc/gopass")
-      (license license:isc))))
-
 (define-public python-pyte
   (package
     (name "python-pyte")
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 8f67a945a1..c2ec490383 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -47,6 +47,7 @@
 ;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
 ;;; Copyright © 2022 Dhruvin Gandhi <contact@dhruvin.dev>
 ;;; Copyright © 2015, 2022 David Thompson <davet@gnu.org>
+;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -125,6 +126,7 @@
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages rsync)
+  #:use-module (gnu packages ruby)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages admin)
@@ -2938,10 +2940,90 @@ the smallest possible conflicts and to allow a merge to be saved, tested,
 interrupted, published, and collaborated on while in progress.")
     (license license:gpl2+)))
 
+(define-public go-github-com-git-lfs-pktline
+  (let ((commit "06e9096e28253ba5c7825cbba43f469e4efd10f0")
+        (revision "0"))
+    (package
+      (name "go-github-com-git-lfs-pktline")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/git-lfs/pktline")
+           (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "02sn3v8vrl7qjnagbnrbrjnyjvzq8cwkxmc922zyc9b2hg187kpz"))))
+      (build-system go-build-system)
+      (arguments `(#:import-path "github.com/git-lfs/pktline"))
+      (propagated-inputs (list go-github-com-stretchr-testify
+                               go-github-com-pmezard-go-difflib
+                               go-github-com-davecgh-go-spew))
+      (home-page "https://github.com/git-lfs/pktline")
+      (synopsis "Git pkt-line Go toolkit")
+      (description "This package is a Go language toolkit for reading and
+writing files using the Git pkt-line format used in various Git operations.")
+(license license:expat))))
+
+(define-public go-github-com-git-lfs-wildmatch-v2
+  (package
+    (name "go-github-com-git-lfs-wildmatch-v2")
+    (version "2.0.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/git-lfs/wildmatch")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0yg6d77d5l6v7cd8vr00y68z9aqb8qs4lidv0hkqh4fvz0ggvpln"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/git-lfs/wildmatch/v2"))
+    (home-page "https://github.com/git-lfs/wildmatch")
+    (synopsis "Go implementation of Git's wildmatch")
+    (description
+     "This package is an implementation of Git's wildmatch.c-style pattern
+matching.")
+    (license license:expat)))
+
+(define-public go-github-com-git-lfs-gitobj-v2
+  (package
+    (name "go-github-com-git-lfs-gitobj-v2")
+    (version "2.1.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/git-lfs/gitobj")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1sd7y4xbx00js1g2az4nq8g5lvsm4d7nqr3v4kxy8fxrfzdm63j9"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/git-lfs/gitobj/v2"))
+    (propagated-inputs (list go-github-com-stretchr-testify
+                             go-github-com-pmezard-go-difflib
+                             go-github-com-davecgh-go-spew))
+    (home-page "https://github.com/git-lfs/gitobj")
+    (synopsis "Read and write git objects")
+    (description
+     "This package reads and writes loose and packed (objects found in git
+packfiles) Git objects.  It uses the pack package to search pack index files
+and locate the corresponding delta-base chain in the appropriate pack file.
+If gitobj can't find a loose object with the appropriate SHA-1, it will search
+the repository's packfile(s) instead.  If it finds an object in a packfile, it
+will reconstruct the object along its delta-base chain and return it.")
+    (license license:expat)))
+
 (define-public git-lfs
   (package
     (name "git-lfs")
-    (version "2.13.3")
+    (version "3.3.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2950,35 +3032,60 @@ interrupted, published, and collaborated on while in progress.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0r7dmqhkhz91d3n7qfpny483x8f1n88yya22j2fvx75rgg33z2sg"))))
+                "1g268pplld04b9myhlrwc4fd8r1hvfyya5ja8wr558rar3pgsp5g"))))
     (build-system go-build-system)
     (arguments
-     `(#:import-path "github.com/git-lfs/git-lfs"
-       #:install-source? #f
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'build 'man-gen
-           ;; Without this, the binary generated in 'build
-           ;; phase won't have any embedded usage-text.
-           (lambda _
-             (with-directory-excursion "src/github.com/git-lfs/git-lfs"
-               (invoke "make" "mangen"))))
-         (add-after 'build 'build-man-pages
-           (lambda _
-             (with-directory-excursion "src/github.com/git-lfs/git-lfs"
-               (invoke "make" "man"))
-             #t))
-         (add-after 'install 'install-man-pages
-           (lambda* (#:key outputs #:allow-other-keys)
-             (with-directory-excursion "src/github.com/git-lfs/git-lfs/man"
-               (let ((out (assoc-ref outputs "out")))
-                 (for-each
-                   (lambda (manpage)
-                     (install-file manpage (string-append out "/share/man/man1")))
-                   (find-files "." "^git-lfs.*\\.1$"))))
-             #t)))))
+     (list
+      #:import-path "github.com/git-lfs/git-lfs"
+      #:install-source? #f
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'fix-embed-x-net
+            (lambda _
+              (delete-file-recursively "src/golang.org/x/net/publicsuffix/data")
+              (copy-recursively
+               #$(file-append (this-package-input "go-golang-org-x-net")
+                              "/src/golang.org/x/net/publicsuffix/data")
+               "src/golang.org/x/net/publicsuffix/data")))
+          (add-before 'build 'man-gen
+            ;; Without this, the binary generated in 'build
+            ;; phase won't have any embedded usage-text.
+            (lambda _
+              (with-directory-excursion "src/github.com/git-lfs/git-lfs"
+                (invoke "make" "mangen"))))
+          (add-after 'build 'build-man-pages
+            (lambda _
+              (with-directory-excursion "src/github.com/git-lfs/git-lfs"
+                (invoke "make" "man"))))
+          (add-after 'install 'install-man-pages
+            (lambda* (#:key outputs #:allow-other-keys)
+              (with-directory-excursion "src/github.com/git-lfs/git-lfs/man"
+                (for-each
+                 (lambda (manpage)
+                   (install-file manpage
+                                 (string-append #$output "/share/man/man1")))
+                 (find-files "." "^git-lfs.*\\.1$"))))))))
     ;; make `ronn` available during build for man page generation
-    (native-inputs (list ronn-ng))
+    (native-inputs (list ronn-ng git-minimal ruby-asciidoctor))
+    (propagated-inputs
+     (list go-github-com-xeipuuv-gojsonschema
+           go-github-com-xeipuuv-gojsonreference
+           go-github-com-xeipuuv-gojsonpointer
+           go-golang-org-x-net
+           go-golang.org-x-sync-semaphore
+           go-github-com-ssgelm-cookiejarparser
+           go-github-com-rubyist-tracerx
+           go-github-com-olekukonko-ts
+           go-github-com-leonelquinteros-gotext
+           go-github-com-git-lfs-wildmatch-v2
+           go-github-com-git-lfs-pktline
+           go-github-com-git-lfs-go-netrc
+           go-github-com-git-lfs-gitobj-v2
+           go-github-com-dpotapov-go-spnego
+           go-github-com-avast-retry-go
+           go-github-com-mattn-go-isatty
+           go-github-com-pkg-errors
+           go-github-com-spf13-cobra))
     (home-page "https://git-lfs.github.com/")
     (synopsis "Git extension for versioning large files")
     (description
@@ -2987,6 +3094,38 @@ videos, datasets, and graphics with text pointers inside Git, while storing the
 file contents on a remote server.")
     (license license:expat)))
 
+(define-public lfs-s3
+  (package
+    (name "lfs-s3")
+    (version "0.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.sr.ht/~ngraves/lfs-s3")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0nkxivb356f1zjlj34px601zy86w4398db9s2ivd178jp4v69raw"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:import-path "git.sr.ht/~ngraves/lfs-s3"))
+    (inputs (list git-lfs))
+    (propagated-inputs
+     (list go-github-com-aws-aws-sdk-go-v2
+           go-github-com-aws-aws-sdk-go-v2-config
+           go-github-com-aws-aws-sdk-go-v2-feature-s3-manager
+           go-github-com-aws-aws-sdk-go-v2-service-s3
+           go-github-com-spf13-cobra))
+    (home-page "https://git.sr.ht/~ngraves/lfs-s3/")
+    (synopsis "Git extension for versioning large files in S3")
+    (description
+     "This package provides a custom transfer agent for Git LFS, allowing
+plain S3 bucket usage as remote storage for media files. This package uses a
+standalone agent instead of a server.")
+    (license license:expat)))
+
 (define-public git-open
   (package
     (name "git-open")
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index 815105800b..01be102c68 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -127,16 +127,15 @@ engine that uses Wayland for graphics output.")
 (define-public webkitgtk
   (package
     (name "webkitgtk")                  ; webkit2gtk4
-    (version "2.40.0")
+    (version "2.40.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.webkitgtk.org/releases/"
                                   name "-" version ".tar.xz"))
               (sha256
-               (base32 "14xkgamqlshxqw6fcslvw0yzj4y5mvx66b6bn64rwrl9pyhpwq54"))
+               (base32 "1xky3cy4l5k0nj366pk17lrzy0n0k6plks9sy0g1dllc9yc2drb4"))
               (patches (search-patches
-                        "webkitgtk-adjust-bubblewrap-paths.patch"
-                        "webkitgtk-libelogind.patch"))))
+                        "webkitgtk-adjust-bubblewrap-paths.patch"))))
     (build-system cmake-build-system)
     (outputs '("out" "doc" "debug"))
     (arguments
diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm
index bc6c24967a..47c4d55ec4 100644
--- a/guix/scripts/refresh.scm
+++ b/guix/scripts/refresh.scm
@@ -32,6 +32,7 @@
   #:use-module ((guix scripts build) #:select (%standard-build-options))
   #:use-module (guix store)
   #:use-module (guix utils)
+  #:use-module (guix discovery)
   #:use-module (guix packages)
   #:use-module (guix profiles)
   #:use-module (guix upstream)
@@ -44,6 +45,7 @@
   #:use-module ((gnu packages commencement) #:select (%final-inputs))
   #:use-module (ice-9 match)
   #:use-module (ice-9 format)
+  #:use-module (ice-9 regex)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-9)
   #:use-module (srfi srfi-26)
@@ -71,8 +73,23 @@
                     ((or "core" "non-core")
                      (alist-cons 'select (string->symbol arg)
                                  result))
+                    ((? (cut string-prefix? "module:" <>))
+                     (let ((mod (cond
+                                 ;; Shorthand name: "module:guile".
+                                 ((string-match "module:([^\( ]+)$" arg) =>
+                                  (lambda (m)
+                                    `(gnu packages ,(string->symbol
+                                                     (match:substring m 1)))))
+                                 ;; Full name : "module:(gnu packages guile)".
+                                 ((string-match "module:\\(([^)]+)\\)$" arg) =>
+                                  (lambda (m)
+                                    (map string->symbol
+                                         (string-split
+                                          (match:substring m 1) #\space))))
+                                 (else (leave (G_ "invalid module: ~a~%") arg)))))
+                       (alist-cons 'select (cons 'module mod) result)))
                     (x
-                     (leave (G_ "~a: invalid selection; expected `core' or `non-core'~%")
+                     (leave (G_ "~a: invalid selection; expected `core', `non-core' or `module:NAME'~%")
                             arg)))))
         (option '(#\t "type") #t #f
                 (lambda (opt name arg result)
@@ -141,8 +158,10 @@ specified with `--select'.\n"))
   (display (G_ "
   -u, --update           update source files in place"))
   (display (G_ "
-  -s, --select=SUBSET    select all the packages in SUBSET, one of
-                         `core' or `non-core'"))
+  -s, --select=SUBSET    select all the packages in SUBSET, one of `core`,
+                         `non-core' or `module:NAME' (eg: module:guile)
+                         the module can also be fully specified as
+                         'module:(gnu packages guile)'"))
   (display (G_ "
   -m, --manifest=FILE    select all the packages from the manifest in FILE"))
   (display (G_ "
@@ -257,13 +276,20 @@ update would trigger a complete rebuild."
        (let ((select? (match (assoc-ref opts 'select)
                         ('core core-package?)
                         ('non-core (negate core-package?))
-                        (_ (const #t)))))
+                        (_ (const #t))))
+             (modules (match (assoc-ref opts 'select)
+                         (('module . mod)
+                          (list (resolve-interface mod)))
+                         (_ (all-modules (%package-module-path)
+                                         #:warn
+                                         warn-about-load-error)))))
          (map update-spec
               (fold-packages (lambda (package result)
                                (if (select? package)
                                    (keep-newest package result)
                                    result))
-                             '()))))
+                             '()
+                             modules))))
       (some                                       ;user-specified packages
        some)))