diff --git a/guix/download.scm b/guix/download.scm index 7aebec44ac..a7f51b1999 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -375,18 +375,22 @@ (define %content-addressed-mirrors '(begin (use-modules (guix base32)) + (define (guix-publish host) + (lambda (file algo hash) + ;; Files served by 'guix publish' are accessible under a single + ;; hash algorithm. + (string-append "https://" host "/file/" + file "/" (symbol->string algo) "/" + (bytevector->nix-base32-string hash)))) + ;; XXX: (guix base16) appeared in March 2017 (and thus 0.13.0) so old ;; installations of the daemon might lack it. Thus, load it lazily to ;; avoid gratuitous errors. See . (module-autoload! (current-module) '(guix base16) '(bytevector->base16-string)) - (list (lambda (file algo hash) - ;; Files served by 'guix publish' are accessible under a single - ;; hash algorithm. - (string-append "https://mirror.hydra.gnu.org/file/" - file "/" (symbol->string algo) "/" - (bytevector->nix-base32-string hash))) + (list (guix-publish "mirror.hydra.gnu.org") + (guix-publish "berlin.guixsd.org") (lambda (file algo hash) ;; 'tarballs.nixos.org' supports several algorithms. (string-append "https://tarballs.nixos.org/"