aboutsummaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
Diffstat (limited to 'guix')
-rw-r--r--guix/build/download.scm3
-rw-r--r--guix/build/gnu-build-system.scm2
-rw-r--r--guix/download.scm7
3 files changed, 10 insertions, 2 deletions
diff --git a/guix/build/download.scm b/guix/build/download.scm
index 307258be92..4259f52b7a 100644
--- a/guix/build/download.scm
+++ b/guix/build/download.scm
@@ -737,7 +737,8 @@ or #f."
(append-map (lambda (make-url)
(filter-map (match-lambda
((hash-algo . hash)
- (string->uri (make-url file hash-algo hash))))
+ (let ((file (strip-store-file-name file)))
+ (string->uri (make-url file hash-algo hash)))))
hashes))
content-addressed-mirrors))
diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm
index 2abaa6efdc..34edff7f40 100644
--- a/guix/build/gnu-build-system.scm
+++ b/guix/build/gnu-build-system.scm
@@ -303,7 +303,7 @@ makefiles."
(define (list-of-files dir)
(map (cut string-append dir "/" <>)
(or (scandir dir (lambda (f)
- (let ((s (stat (string-append dir "/" f))))
+ (let ((s (lstat (string-append dir "/" f))))
(eq? 'regular (stat:type s)))))
'())))
diff --git a/guix/download.scm b/guix/download.scm
index 8484c31189..f1422bebc0 100644
--- a/guix/download.scm
+++ b/guix/download.scm
@@ -282,8 +282,15 @@
;; List of content-addressed mirrors. Each mirror is represented as a
;; procedure that takes a file name, an algorithm (symbol) and a hash
;; (bytevector), and returns a URL or #f.
+ ;; Note: Avoid 'https' to mitigate <http://bugs.gnu.org/22774>.
;; TODO: Add more.
'(list (lambda (file algo hash)
+ ;; Files served by 'guix publish' are accessible under a single
+ ;; hash algorithm.
+ (string-append "http://mirror.hydra.gnu.org/file/"
+ file "/" (symbol->string algo) "/"
+ (bytevector->nix-base32-string hash)))
+ (lambda (file algo hash)
;; 'tarballs.nixos.org' supports several algorithms.
(string-append "http://tarballs.nixos.org/"
(symbol->string algo) "/"