download: Add Software Heritage as a content-addressed mirror.
* guix/download.scm (%content-addressed-mirrors): Add Software Heritage.
This commit is contained in:
parent
e921993c25
commit
ee2cfdfe86
|
@ -373,18 +373,28 @@
|
|||
;; 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) "/"
|
||||
(bytevector->nix-base32-string hash)))))
|
||||
'(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/"
|
||||
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) "/"
|
||||
(bytevector->nix-base32-string hash)))
|
||||
(lambda (file algo hash)
|
||||
;; Software Heritage usually archives VCS history rather than
|
||||
;; 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/"
|
||||
(symbol->string algo) ":"
|
||||
(bytevector->base16-string hash) "/raw/")))))
|
||||
|
||||
(define %content-addressed-mirror-file
|
||||
;; Content-addressed mirrors stored in a file.
|
||||
|
|
Loading…
Reference in New Issue