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,8 +373,10 @@
|
||||||
;; procedure that takes a file name, an algorithm (symbol) and a hash
|
;; procedure that takes a file name, an algorithm (symbol) and a hash
|
||||||
;; (bytevector), and returns a URL or #f.
|
;; (bytevector), and returns a URL or #f.
|
||||||
;; Note: Avoid 'https' to mitigate <http://bugs.gnu.org/22774>.
|
;; Note: Avoid 'https' to mitigate <http://bugs.gnu.org/22774>.
|
||||||
;; TODO: Add more.
|
'(begin
|
||||||
'(list (lambda (file algo hash)
|
(use-modules (guix base32) (guix base16))
|
||||||
|
|
||||||
|
(list (lambda (file algo hash)
|
||||||
;; Files served by 'guix publish' are accessible under a single
|
;; Files served by 'guix publish' are accessible under a single
|
||||||
;; hash algorithm.
|
;; hash algorithm.
|
||||||
(string-append "http://mirror.hydra.gnu.org/file/"
|
(string-append "http://mirror.hydra.gnu.org/file/"
|
||||||
|
@ -384,7 +386,15 @@
|
||||||
;; 'tarballs.nixos.org' supports several algorithms.
|
;; 'tarballs.nixos.org' supports several algorithms.
|
||||||
(string-append "http://tarballs.nixos.org/"
|
(string-append "http://tarballs.nixos.org/"
|
||||||
(symbol->string algo) "/"
|
(symbol->string algo) "/"
|
||||||
(bytevector->nix-base32-string hash)))))
|
(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
|
(define %content-addressed-mirror-file
|
||||||
;; Content-addressed mirrors stored in a file.
|
;; Content-addressed mirrors stored in a file.
|
||||||
|
|
Loading…
Reference in New Issue