;; 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>.
'(begin
(use-modules (guix base32) (guix base16))
(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/"
+ (string-append "https://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/"
+ (string-append "https://tarballs.nixos.org/"
(symbol->string algo) "/"
(bytevector->nix-base32-string hash)))
(lambda (file algo hash)
;; tarballs, but tarballs are sometimes available (and can be
;; explicitly stored there.) For example, see
;; <https://archive.softwareheritage.org/api/1/content/sha256:92d0fa1c311cacefa89853bdb53c62f4110cdfda3820346b59cbd098f40f955e/>.
- (string-append "http://archive.softwareheritage.org/api/1/content/"
+ (string-append "https://archive.softwareheritage.org/api/1/content/"
(symbol->string algo) ":"
(bytevector->base16-string hash) "/raw/")))))