aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build-aux/build-self.scm1
-rw-r--r--gnu/packages/algebra.scm4
-rw-r--r--gnu/packages/aspell.scm9
-rw-r--r--gnu/packages/emacs-xyz.scm24
-rw-r--r--gnu/packages/gnome.scm9
-rw-r--r--gnu/packages/lisp-xyz.scm87
-rw-r--r--gnu/packages/nano.scm6
-rw-r--r--gnu/packages/vim.scm8
-rw-r--r--gnu/packages/xfce.scm4
-rw-r--r--guix/build/download.scm83
-rw-r--r--guix/download.scm19
-rw-r--r--guix/scripts/perform-download.scm7
-rw-r--r--guix/self.scm3
13 files changed, 224 insertions, 40 deletions
diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm
index 853a2f328f..f100ff4aae 100644
--- a/build-aux/build-self.scm
+++ b/build-aux/build-self.scm
@@ -250,6 +250,7 @@ interface (FFI) of Guile.")
(match-lambda
(('guix 'config) #f)
(('guix 'channels) #f)
+ (('guix 'build 'download) #f) ;autoloaded by (guix download)
(('guix _ ...) #t)
(('gnu _ ...) #t)
(_ #f)))
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 68af1e244e..b1e7c34daf 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -76,7 +76,7 @@
(define-public mpfrcx
(package
(name "mpfrcx")
- (version "0.6")
+ (version "0.6.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -84,7 +84,7 @@
version ".tar.gz"))
(sha256
(base32
- "0gz5rma9al2jrifpknqkcnd9dkf8l05jcxy3s4ghwhd4y3h5dwia"))))
+ "0gk2l40awp3q1lh828dhcjshcldy3b1l2v51glaq0lj1h7w34sin"))))
(build-system gnu-build-system)
(propagated-inputs
`(("gmp" ,gmp)
diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm
index 26c0cf4332..bc152c6ef8 100644
--- a/gnu/packages/aspell.scm
+++ b/gnu/packages/aspell.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Noah Landis <noahlandis@posteo.net>
+;;; Copyright © 2021 Sergiu Ivanov <sivanov@colimite.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -356,6 +357,14 @@ dictionaries, including personal ones.")
(base32
"137i4njvnslab6l4s291s11xijr5jsy75lbdph32f9y183lagy9m")))
+(define-public aspell-dict-ro
+ (aspell-dictionary "ro" "Romanian"
+ #:version "3.3-2"
+ #:prefix "aspell5-"
+ #:sha256
+ (base32
+ "0gb8j9iy1acdl11jq76idgc2lbc1rq3w04favn8cyh55d1v8phsk")))
+
;;;
;;; Hunspell packages made from the Aspell word lists.
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index ef26d19506..17a57abd66 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -424,13 +424,13 @@ when typing parentheses directly or commenting out code line by line.")
(define-public emacs-project
(package
(name "emacs-project")
- (version "0.5.4")
+ (version "0.6.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/project-" version ".tar"))
(sha256
- (base32 "0arjvhzzcf8b80w94yvpgfdlhsjwf5jk1r7vcai5a4dg3bi9cxyb"))))
+ (base32 "0m0r1xgz1ffx6mi2gjz1dkgrn89sh4y5ysi0gj6p1w05bf8p0lc0"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-xref" ,emacs-xref)))
(home-page "http://elpa.gnu.org/packages/project.html")
@@ -2307,14 +2307,14 @@ as a library for other Emacs packages.")
(define-public emacs-auctex
(package
(name "emacs-auctex")
- (version "13.0.10")
+ (version "13.0.11")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"auctex-" version ".tar"))
(sha256
- (base32 "150b0xh71xwva7599arjapspdxyy70yyk6a5nabaq22w3dcpasb5"))))
+ (base32 "0sy4f1n38q58vyzw5l0f80ci3j99rb25gbwj0frl0pglfmgzl44k"))))
(build-system emacs-build-system)
;; We use 'emacs' because AUCTeX requires dbus at compile time
;; ('emacs-minimal' does not provide dbus).
@@ -9248,7 +9248,7 @@ and tooling.")
(define-public emacs-elfeed
(package
(name "emacs-elfeed")
- (version "3.4.0")
+ (version "3.4.1")
(source
(origin
(method git-fetch)
@@ -9257,7 +9257,7 @@ and tooling.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1y95410hrcp23zc84sn79bxla9xr2fqh7wwagza05iaprv7zbbw0"))))
+ (base32 "1ghdvfn4f9y69r59i1ga9b3ib1r8sbqg6q1v5rz3f9paagfavrd1"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
@@ -23822,14 +23822,14 @@ well as an option for visually flashing evaluated s-expressions.")
(define-public emacs-tramp
(package
(name "emacs-tramp")
- (version "2.5.0.3")
+ (version "2.5.0.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"tramp-" version ".tar"))
(sha256
- (base32 "0c77d1ihn17lzk9jb7ss346ryprnbii1zmijl6zj0kk4lm8fpfl3"))))
+ (base32 "0yk4ckk45gkjp24nfywz49j8pazq33m6pga3lirb5h6zc8an5z24"))))
(build-system emacs-build-system)
(arguments
`(#:emacs ,emacs ;need D-Bus
@@ -27594,14 +27594,14 @@ work on alists, hash-table and arrays. All functions are prefixed with
(define-public emacs-xref
(package
(name "emacs-xref")
- (version "1.0.4")
+ (version "1.1.0")
(source
(origin
(method url-fetch)
- (uri (string-append "https://elpa.gnu.org/packages/"
- "xref-" version ".el"))
+ (uri (string-append "https://elpa.gnu.org/packages/xref-"
+ version ".tar"))
(sha256
- (base32 "0hkm59qqlsfw3w9ws9xhpmmz30ylifmh05a00ba58zvv1kz04x1g"))))
+ (base32 "1s7pwk09bry4nqr4bc78a3mbwyrxagai2gpsd49x47czy2x7m3ax"))))
(build-system emacs-build-system)
(home-page "http://elpa.gnu.org/packages/xref.html")
(synopsis "Cross-referencing commands")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 023b347748..a572ca9aa3 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4912,17 +4912,18 @@ libxml to ease remote use of the RESTful API.")
("gnutls" ,gnutls) ;for 'certtool'
("httpd" ,httpd)))
(propagated-inputs
- ;; libsoup-2.4.pc refers to all these.
+ ;; libsoup-2.4.pc refers to all of these (except where otherwise noted)
`(("brotli" ,google-brotli)
("glib" ,glib)
+ ("glib-networking" ,glib-networking) ; for GIO runtime modules
("libpsl" ,libpsl)
("libxml2" ,libxml2)
("sqlite" ,sqlite)
("zlib" ,zlib)))
(inputs
- `(("glib-networking" ,glib-networking)
- ("mit-krb5" ,mit-krb5)))
- (home-page "https://live.gnome.org/LibSoup/")
+ `(("mit-krb5" ,mit-krb5)
+ ("ntlm_auth" ,samba))) ; For ntlm_auth support
+ (home-page "https://wiki.gnome.org/Projects/libsoup")
(synopsis "GLib-based HTTP Library")
(description
"LibSoup is an HTTP client/server library for GNOME. It uses GObjects
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 1ee712e37f..57b4abf067 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -16284,3 +16284,90 @@ color spaces, which supports many color models.")
(define-public cl-dufy
(sbcl-package->cl-source-package sbcl-dufy))
+
+(define-public sbcl-unit-test
+ (let ((commit "266afaf4ac091fe0e8803bac2ae72d238144e735")
+ (revision "1"))
+ (package
+ (name "sbcl-unit-test")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hanshuebner/unit-test")
+ (commit commit)))
+ (file-name (git-file-name "unit-test" version))
+ (sha256
+ (base32 "11hpksz56iqkv7jw25p2a8r3n9dj922fyarn16d98589g6hdskj9"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/hanshuebner/unit-test")
+ (synopsis "Unit-testing framework for Common Lisp")
+ (description "This is a unit-testing framework for Common Lisp.")
+ (license license:unlicense))))
+
+(define-public ecl-unit-test
+ (sbcl-package->ecl-package sbcl-unit-test))
+
+(define-public cl-unit-test
+ (sbcl-package->cl-source-package sbcl-unit-test))
+
+(define-public sbcl-bknr-datastore
+ (let ((commit "c98d44f47cc88d19ff91ca3eefbd9719a8ace022")
+ (revision "1"))
+ (package
+ (name "sbcl-bknr-datastore")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hanshuebner/bknr-datastore")
+ (commit commit)))
+ (file-name (git-file-name "bknr-datastore" version))
+ (sha256
+ (base32 "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:asd-systems
+ '("bknr.datastore"
+ "bknr.impex"
+ "bknr.indices"
+ "bknr.skip-list"
+ "bknr.utils"
+ "bknr.xml")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'enter-source-directory
+ (lambda _
+ (chdir "src")
+ #t)))))
+ (native-inputs
+ `(("cl-store" ,sbcl-cl-store)
+ ("fiveam" ,sbcl-fiveam)
+ ("unit-test" ,sbcl-unit-test)))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("closer-mop" ,sbcl-closer-mop)
+ ("cl-interpol" ,sbcl-cl-interpol)
+ ("cl-ppcre" ,sbcl-cl-ppcre)
+ ("cxml" ,sbcl-cxml)
+ ("flexi-streams" ,sbcl-flexi-streams)
+ ("md5" ,sbcl-md5)
+ ("trivial-utf-8" ,sbcl-trivial-utf-8)
+ ("yason" ,sbcl-yason)))
+ (home-page "https://github.com/hanshuebner/bknr-datastore")
+ (synopsis "In-memory database for Common Lisp")
+ (description
+ "BKNR.DATASTORE is an in-memory CLOS based database with transactions
+for Common Lisp.")
+ (license license:bsd-0))))
+
+;; NOTE: (Sharlatan-20210429T191426+0100):
+;; There is no port for ECL in upstream yet
+;; (define-public ecl-bknr-datastore
+;; (sbcl-package->ecl-package sbcl-bknr-datastore))
+
+(define-public cl-bknr-datastore
+ (sbcl-package->cl-source-package sbcl-bknr-datastore))
diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm
index 7aa81b7533..bf506b20c2 100644
--- a/gnu/packages/nano.scm
+++ b/gnu/packages/nano.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
@@ -30,13 +30,13 @@
(define-public nano
(package
(name "nano")
- (version "5.6.1")
+ (version "5.7")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/nano/nano-" version ".tar.xz"))
(sha256
- (base32 "02cbxqizbdlfwnz8dpq4fbzmdi4yk6fv0cragvpa0748w1cp03bn"))))
+ (base32 "1ynarilx0ca0a5h6hl5bf276cymyy8s9wr5l24vyy7f15v683cfl"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gettext-minimal)
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 231fae9298..47ac984fc7 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -467,7 +467,7 @@ trouble using them, because you do not have to remember each snippet name.")
(define-public vim-fugitive
(package
(name "vim-fugitive")
- (version "3.2")
+ (version "3.3")
(source
(origin
(method git-fetch)
@@ -477,7 +477,7 @@ trouble using them, because you do not have to remember each snippet name.")
(file-name (git-file-name name version))
(sha256
(base32
- "1jbn5jxadccmcz01j94d0i1bp74cixr0fpxxf1h0aqdf1ljk3d7n"))))
+ "1ybmy2dk9zsmd3kyyj40qn20gzgd16n5p77sjxp8bspx3zb7km5y"))))
(build-system copy-build-system)
(arguments
'(#:install-plan
@@ -842,7 +842,7 @@ through its msgpack-rpc API.")
(define-public vim-asyncrun
(package
(name "vim-asyncrun")
- (version "2.8.5")
+ (version "2.8.6")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -851,7 +851,7 @@ through its msgpack-rpc API.")
(file-name (git-file-name name version))
(sha256
(base32
- "0mxsmjv497h6w8dxw0zvqginlx0yvrvrx4z3jhq2x3y2dfvpcm41"))))
+ "11zcw0sll6qg6ha0rr6n1cw5v73azvf7ycwn9lgiwa5cj7rrqjf4"))))
(build-system copy-build-system)
(arguments
'(#:install-plan
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 9655d8ccf7..0147c48630 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -758,6 +758,10 @@ allows you to shut down the computer from Xfce.")
("upower" ,upower) ;; TODO needs upower-glib
("python" ,python) ;; for xfce4-compose-mail
("xf86-input-libinput" ,xf86-input-libinput)))
+ (propagated-inputs
+ ;; Some operations, such as changing icon themes, require these schemas
+ ;; to be in the search path.
+ `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
(home-page "https://www.xfce.org/")
(synopsis "Xfce settings manager")
(description
diff --git a/guix/build/download.scm b/guix/build/download.scm
index a22d4064ca..ce31038b05 100644
--- a/guix/build/download.scm
+++ b/guix/build/download.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2021 Timothy Sample <samplet@ngyro.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,6 +35,8 @@
#:use-module (srfi srfi-19)
#:use-module (srfi srfi-26)
#:autoload (ice-9 ftw) (scandir)
+ #:autoload (guix base16) (bytevector->base16-string)
+ #:autoload (guix swh) (swh-download-directory)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
#:export (open-socket-for-uri
@@ -626,10 +629,53 @@ Return a list of URIs."
(else
(list uri))))
+(define* (disarchive-fetch/any uris file
+ #:key (timeout 10) (verify-certificate? #t))
+ "Fetch a Disarchive specification from any of URIS, assemble it,
+and write the output to FILE."
+ (define (fetch-specification uris)
+ (any (lambda (uri)
+ (false-if-exception*
+ (let-values (((port size) (http-fetch uri
+ #:verify-certificate?
+ verify-certificate?
+ #:timeout timeout)))
+ (let ((specification (read port)))
+ (close-port port)
+ specification))))
+ uris))
+
+ (define (resolve addresses output)
+ (any (match-lambda
+ (('swhid swhid)
+ (match (string-split swhid #\:)
+ (("swh" "1" "dir" id)
+ (format #t "Downloading ~a from Software Heritage...~%" file)
+ (false-if-exception*
+ (swh-download-directory id output)))
+ (_ #f)))
+ (_ #f))
+ addresses))
+
+ (format #t "Trying to use Disarchive to assemble ~a...~%" file)
+ (match (and=> (resolve-module '(disarchive) #:ensure #f)
+ (lambda (disarchive)
+ (cons (module-ref disarchive '%disarchive-log-port)
+ (module-ref disarchive 'disarchive-assemble))))
+ (#f
+ (format #t "could not load Disarchive~%"))
+ ((%disarchive-log-port . disarchive-assemble)
+ (match (fetch-specification uris)
+ (#f
+ (format #t "could not find its Disarchive specification~%"))
+ (spec (parameterize ((%disarchive-log-port (current-output-port)))
+ (disarchive-assemble spec file #:resolver resolve)))))))
+
(define* (url-fetch url file
#:key
(timeout 10) (verify-certificate? #t)
(mirrors '()) (content-addressed-mirrors '())
+ (disarchive-mirrors '())
(hashes '())
print-build-trace?)
"Fetch FILE from URL; URL may be either a single string, or a list of
@@ -693,6 +739,18 @@ otherwise simply ignore them."
hashes))
content-addressed-mirrors))
+ (define disarchive-uris
+ (append-map (match-lambda
+ ((? string? mirror)
+ (map (match-lambda
+ ((hash-algo . hash)
+ (string->uri
+ (string-append mirror
+ (symbol->string hash-algo) "/"
+ (bytevector->base16-string hash)))))
+ hashes)))
+ disarchive-mirrors))
+
;; Make this unbuffered so 'progress-report/file' works as expected. 'line
;; means '\n', not '\r', so it's not appropriate here.
(setvbuf (current-output-port) 'none)
@@ -705,15 +763,20 @@ otherwise simply ignore them."
(or (fetch uri file)
(try tail)))
(()
- (format (current-error-port) "failed to download ~s from ~s~%"
- file url)
-
- ;; Remove FILE in case we made an incomplete download, for example due
- ;; to ENOSPC.
- (catch 'system-error
- (lambda ()
- (delete-file file))
- (const #f))
- #f))))
+ ;; If we are looking for a software archive, one last thing we
+ ;; can try is to use Disarchive to assemble it.
+ (or (disarchive-fetch/any disarchive-uris file
+ #:verify-certificate? verify-certificate?
+ #:timeout timeout)
+ (begin
+ (format (current-error-port) "failed to download ~s from ~s~%"
+ file url)
+ ;; Remove FILE in case we made an incomplete download, for
+ ;; example due to ENOSPC.
+ (catch 'system-error
+ (lambda ()
+ (delete-file file))
+ (const #f))
+ #f))))))
;;; download.scm ends here
diff --git a/guix/download.scm b/guix/download.scm
index 30f69c0325..72094e7318 100644
--- a/guix/download.scm
+++ b/guix/download.scm
@@ -406,12 +406,19 @@
(plain-file "content-addressed-mirrors"
(object->string %content-addressed-mirrors)))
+(define %disarchive-mirrors
+ '("https://disarchive.ngyro.com/"))
+
+(define %disarchive-mirror-file
+ (plain-file "disarchive-mirrors" (object->string %disarchive-mirrors)))
+
(define built-in-builders*
(store-lift built-in-builders))
(define* (built-in-download file-name url
#:key system hash-algo hash
mirrors content-addressed-mirrors
+ disarchive-mirrors
executable?
(guile 'unused))
"Download FILE-NAME from URL using the built-in 'download' builder. When
@@ -422,13 +429,16 @@ explicitly depend on Guile, GnuTLS, etc. Instead, the daemon performs the
download by itself using its own dependencies."
(mlet %store-monad ((mirrors (lower-object mirrors))
(content-addressed-mirrors
- (lower-object content-addressed-mirrors)))
+ (lower-object content-addressed-mirrors))
+ (disarchive-mirrors (lower-object disarchive-mirrors)))
(raw-derivation file-name "builtin:download" '()
#:system system
#:hash-algo hash-algo
#:hash hash
#:recursive? executable?
- #:sources (list mirrors content-addressed-mirrors)
+ #:sources (list mirrors
+ content-addressed-mirrors
+ disarchive-mirrors)
;; Honor the user's proxy and locale settings.
#:leaked-env-vars '("http_proxy" "https_proxy"
@@ -439,6 +449,7 @@ download by itself using its own dependencies."
("mirrors" . ,mirrors)
("content-addressed-mirrors"
. ,content-addressed-mirrors)
+ ("disarchive-mirrors" . ,disarchive-mirrors)
,@(if executable?
'(("executable" . "1"))
'()))
@@ -492,7 +503,9 @@ name in the store."
#:executable? executable?
#:mirrors %mirror-file
#:content-addressed-mirrors
- %content-addressed-mirror-file)))))
+ %content-addressed-mirror-file
+ #:disarchive-mirrors
+ %disarchive-mirror-file)))))
(define* (url-fetch/executable url hash-algo hash
#:optional name
diff --git a/guix/scripts/perform-download.scm b/guix/scripts/perform-download.scm
index 8d409092ba..6889bcef79 100644
--- a/guix/scripts/perform-download.scm
+++ b/guix/scripts/perform-download.scm
@@ -54,7 +54,8 @@ actual output is different from that when we're doing a 'bmCheck' or
(output* "out")
(executable "executable")
(mirrors "mirrors")
- (content-addressed-mirrors "content-addressed-mirrors"))
+ (content-addressed-mirrors "content-addressed-mirrors")
+ (disarchive-mirrors "disarchive-mirrors"))
(unless url
(leave (G_ "~a: missing URL~%") (derivation-file-name drv)))
@@ -79,6 +80,10 @@ actual output is different from that when we're doing a 'bmCheck' or
(lambda (port)
(eval (read port) %user-module)))
'())
+ #:disarchive-mirrors
+ (if disarchive-mirrors
+ (call-with-input-file disarchive-mirrors read)
+ '())
#:hashes `((,algo . ,hash))
;; Since DRV's output hash is known, X.509 certificate
diff --git a/guix/self.scm b/guix/self.scm
index 3154d180ac..7181205610 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -878,7 +878,8 @@ itself."
("guix/store/schema.sql"
,(local-file "../guix/store/schema.sql")))
- #:extensions (list guile-gcrypt)
+ #:extensions (list guile-gcrypt
+ guile-json) ;for (guix swh)
#:guile-for-build guile-for-build))
(define *extra-modules*