gnu: guix: Factorize downloads of bootstrap tarball.

* gnu/packages/bootstrap.scm (bootstrap-guile-origin): New procedure.
* gnu/packages/package-management.scm (guix)[inputs]: Remove
'boot-guile' procedure; use 'bootstrap-guile-origin' instead.
This commit is contained in:
Ludovic Courtès 2017-07-27 16:41:42 +02:00
parent 4f024ef318
commit 3e5750af74
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
2 changed files with 22 additions and 31 deletions

View file

@ -40,6 +40,8 @@ (define-module (gnu packages bootstrap)
package-with-bootstrap-guile package-with-bootstrap-guile
glibc-dynamic-linker glibc-dynamic-linker
bootstrap-guile-origin
%bootstrap-guile %bootstrap-guile
%bootstrap-coreutils&co %bootstrap-coreutils&co
%bootstrap-binutils %bootstrap-binutils
@ -226,6 +228,14 @@ (define (bootstrap-guile-hash system)
("aarch64-linux" ("aarch64-linux"
(base32 "1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r")))) (base32 "1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r"))))
(define (bootstrap-guile-origin system)
"Return an <origin> object for the Guile tarball of SYSTEM."
(origin
(method url-fetch)
(uri (map (cute string-append <> (bootstrap-guile-url-path system))
%bootstrap-base-urls))
(sha256 (bootstrap-guile-hash system))))
(define (download-bootstrap-guile store system) (define (download-bootstrap-guile store system)
"Return a derivation that downloads the bootstrap Guile tarball for SYSTEM." "Return a derivation that downloads the bootstrap Guile tarball for SYSTEM."
(let* ((path (bootstrap-guile-url-path system)) (let* ((path (bootstrap-guile-url-path system))

View file

@ -33,6 +33,7 @@ (define-module (gnu packages package-management)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages file) #:use-module (gnu packages file)
#:use-module (gnu packages backup) #:use-module (gnu packages backup)
#:use-module (gnu packages bootstrap) ;for 'bootstrap-guile-origin'
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
@ -229,39 +230,19 @@ (define (copy arch)
("graphviz" ,graphviz) ("graphviz" ,graphviz)
("help2man" ,help2man))) ("help2man" ,help2man)))
(inputs (inputs
(let ((boot-guile (lambda (arch hash) `(("bzip2" ,bzip2)
(origin ("gzip" ,gzip)
(method url-fetch) ("zlib" ,zlib) ;for 'guix publish'
(uri (boot-guile-uri arch))
(sha256 hash)))))
`(("bzip2" ,bzip2)
("gzip" ,gzip)
("zlib" ,zlib) ;for 'guix publish'
("sqlite" ,sqlite) ("sqlite" ,sqlite)
("libgcrypt" ,libgcrypt) ("libgcrypt" ,libgcrypt)
("guile" ,guile-2.2) ("guile" ,guile-2.2)
("boot-guile/i686" ("boot-guile/i686" ,(bootstrap-guile-origin "i686-linux"))
,(boot-guile "i686" ("boot-guile/x86_64" ,(bootstrap-guile-origin "x86_64-linux"))
(base32 ("boot-guile/mips64el" ,(bootstrap-guile-origin "mips64el-linux"))
"0im800m30abgh7msh331pcbjvb4n02smz5cfzf1srv0kpx3csmxp"))) ("boot-guile/armhf" ,(bootstrap-guile-origin "armhf-linux"))
("boot-guile/x86_64" ("boot-guile/aarch64" ,(bootstrap-guile-origin "aarch64-linux"))))
,(boot-guile "x86_64"
(base32
"1w2p5zyrglzzniqgvyn1b55vprfzhgk8vzbzkkbdgl5248si0yq3")))
("boot-guile/mips64el"
,(boot-guile "mips64el"
(base32
"0fzp93lvi0hn54acc0fpvhc7bvl0yc853k62l958cihk03q80ilr")))
("boot-guile/armhf"
,(boot-guile "armhf"
(base32
"1mi3brl7l58aww34rawhvja84xc7l1b4hmwdmc36fp9q9mfx0lg5")))
("boot-guile/aarch64"
,(boot-guile "aarch64"
(base32
"1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r"))))))
(propagated-inputs (propagated-inputs
`(("gnutls" ,gnutls) `(("gnutls" ,gnutls)
("guile-json" ,guile-json) ("guile-json" ,guile-json)