summary refs log tree commit diff
diff options
context:
space:
mode:
authorJan Nieuwenhuizen <janneke@gnu.org>2020-03-16 08:17:16 +0100
committerJan Nieuwenhuizen <janneke@gnu.org>2020-03-24 23:31:34 +0100
commitfef77109370e6bda675297f74ac1073bfe5518ec (patch)
tree4d472ad1324ee487028e3f92e58440f4f61b8cd4
parent25bc0f34c6c059394f546f29a203c2cb9b7cdcf6 (diff)
downloadguix-fef77109370e6bda675297f74ac1073bfe5518ec.tar.gz
gnu: bootstrap: Use fall-back mechanism for bootstrap-executables.
* gnu/packages/bootstrap.scm (%bootstrap-executable-base-urls): New variable.
Add lilypond.org url as a fall-back.
(bootstrap-executable-file-name): New function.
(bootstrap-executable): Use them to implement fall-back for donwloads of
bootstrap executables.
-rw-r--r--gnu/packages/bootstrap.scm21
1 files changed, 14 insertions, 7 deletions
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 0fbe8ef64a..63760c7555 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -114,12 +114,17 @@
      ("xz"
       ,(base32 "09j1d69qr0hhhx4k4ih8wp00dfc9y4rp01hfg3vc15yxd0jxabh5")))))
 
-(define (bootstrap-executable-url program system)
-  "Return the URL where PROGRAM can be found for SYSTEM."
-  (string-append
-   "https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/bootstrap/"
-   system "/" program
-   "?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e"))
+(define %bootstrap-executable-base-urls
+  ;; This is where the bootstrap executables come from.
+  '("https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/bootstrap/"
+    "http://lilypond.org/janneke/guix/"))
+
+(define (bootstrap-executable-file-name system program)
+  "Return the FILE-NAME part of url where PROGRAM can be found for SYSTEM."
+  (match system
+    ("i586-gnu" (string-append system "/20200315/" program))
+    (_ (string-append system "/" program
+                      "?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e"))))
 
 (define bootstrap-executable
   (mlambda (program system)
@@ -140,7 +145,9 @@ for system '~a'")
         ((sha256)
          (origin
            (method url-fetch/executable)
-           (uri (bootstrap-executable-url program system))
+           (uri (map (cute string-append <>
+                           (bootstrap-executable-file-name system program))
+                     %bootstrap-executable-base-urls))
            (file-name program)
            (sha256 sha256)))))))