From 3e5750af74a057cd3b2610edafea5b507bf67bc6 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 27 Jul 2017 16:41:42 +0200 Subject: 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. --- gnu/packages/bootstrap.scm | 10 ++++++++ gnu/packages/package-management.scm | 47 +++++++++++-------------------------- 2 files changed, 24 insertions(+), 33 deletions(-) diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index fe3c29bae2..d1b03eb882 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -40,6 +40,8 @@ package-with-bootstrap-guile glibc-dynamic-linker + bootstrap-guile-origin + %bootstrap-guile %bootstrap-coreutils&co %bootstrap-binutils @@ -226,6 +228,14 @@ successful, or false to signal an error." ("aarch64-linux" (base32 "1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r")))) +(define (bootstrap-guile-origin system) + "Return an 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) "Return a derivation that downloads the bootstrap Guile tarball for SYSTEM." (let* ((path (bootstrap-guile-url-path system)) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 67a956dea1..9a510fc9ef 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -33,6 +33,7 @@ #:use-module (gnu packages guile) #:use-module (gnu packages file) #:use-module (gnu packages backup) + #:use-module (gnu packages bootstrap) ;for 'bootstrap-guile-origin' #:use-module (gnu packages compression) #:use-module (gnu packages gnupg) #:use-module (gnu packages databases) @@ -229,39 +230,19 @@ ("graphviz" ,graphviz) ("help2man" ,help2man))) (inputs - (let ((boot-guile (lambda (arch hash) - (origin - (method url-fetch) - (uri (boot-guile-uri arch)) - (sha256 hash))))) - `(("bzip2" ,bzip2) - ("gzip" ,gzip) - ("zlib" ,zlib) ;for 'guix publish' - - ("sqlite" ,sqlite) - ("libgcrypt" ,libgcrypt) - ("guile" ,guile-2.2) - - ("boot-guile/i686" - ,(boot-guile "i686" - (base32 - "0im800m30abgh7msh331pcbjvb4n02smz5cfzf1srv0kpx3csmxp"))) - ("boot-guile/x86_64" - ,(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")))))) + `(("bzip2" ,bzip2) + ("gzip" ,gzip) + ("zlib" ,zlib) ;for 'guix publish' + + ("sqlite" ,sqlite) + ("libgcrypt" ,libgcrypt) + ("guile" ,guile-2.2) + + ("boot-guile/i686" ,(bootstrap-guile-origin "i686-linux")) + ("boot-guile/x86_64" ,(bootstrap-guile-origin "x86_64-linux")) + ("boot-guile/mips64el" ,(bootstrap-guile-origin "mips64el-linux")) + ("boot-guile/armhf" ,(bootstrap-guile-origin "armhf-linux")) + ("boot-guile/aarch64" ,(bootstrap-guile-origin "aarch64-linux")))) (propagated-inputs `(("gnutls" ,gnutls) ("guile-json" ,guile-json) -- cgit v1.2.3