aboutsummaryrefslogtreecommitdiff
path: root/build-aux
diff options
context:
space:
mode:
authorTimothy Sample <samplet@ngyro.com>2021-03-19 23:03:25 -0400
committerTimothy Sample <samplet@ngyro.com>2021-04-29 11:24:48 -0400
commitfbc2a52a32ddc664db8ebab420c2e17b1432c744 (patch)
tree11aa4c9a85a66edd1e8f30bb29c3c3978c037100 /build-aux
parentdf0b7233450d0ad70eb7b7a7294a2d2f37118603 (diff)
downloadguix-fbc2a52a32ddc664db8ebab420c2e17b1432c744.tar
guix-fbc2a52a32ddc664db8ebab420c2e17b1432c744.tar.gz
download: Use Disarchive as a last resort.
This is a fixed version of 66b14dccdd0d83c875ce3a8d50ceab8b6f0a3ce2, which was reverted in e74250c3c535b75dd2225a26df51febb7ed94654. * guix/download.scm (%disarchive-mirrors): New variable. (%disarchive-mirror-file): New variable. (built-in-download): Add 'disarchive-mirrors' keyword argument and pass its value along to the 'builtin:download' derivation. (url-fetch): Pass '%disarchive-mirror-file' to 'built-in-download'. * guix/scripts/perform-download.scm (perform-download): Read Disarchive mirrors from the environment and pass them to 'url-fetch'. * guix/build/download.scm (disarchive-fetch/any): New procedure. (url-fetch): Add 'disarchive-mirrors' keyword argument, use it to make a list of URIs, and use the new procedure to fetch the file if all other methods fail. * build-aux/build-self.scm (build-program)[select?]: Exclude '(guix build download)'. * guix/self.scm (compiled-guix)[*core-modules*]: Add 'guile-json' to the list of extensions.
Diffstat (limited to 'build-aux')
-rw-r--r--build-aux/build-self.scm1
1 files changed, 1 insertions, 0 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)))