summary refs log tree commit diff
path: root/release.nix
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-10-27 22:45:18 +0200
committerLudovic Courtès <ludo@gnu.org>2012-10-27 22:45:54 +0200
commit1c52c42fe23e042d02687e477b1a42c0bd92cf66 (patch)
tree6ee678d80feef52e98ec6ffa5edea234ebc85841 /release.nix
parent735bb2af10edf4760d23e446b38e76c423bccca7 (diff)
downloadguix-1c52c42fe23e042d02687e477b1a42c0bd92cf66.tar.gz
release.nix: Pre-download the Guile bootstrap tarball.
* release.nix (bootstrap_guile): New variable.
  (build)[preBuild]: New attribute.
Diffstat (limited to 'release.nix')
-rw-r--r--release.nix26
1 files changed, 26 insertions, 0 deletions
diff --git a/release.nix b/release.nix
index 8802f5456e..39a628975a 100644
--- a/release.nix
+++ b/release.nix
@@ -26,6 +26,22 @@ let
   succeedOnFailure = true;
   keepBuildDirectory = true;
 
+  # The Guile used to bootstrap the whole thing.  It's normally
+  # downloaded by the build system, but here we download it via a
+  # fixed-output derivation and stuff it into the build tree.
+  bootstrap_guile =
+    let pkgs = import nixpkgs {}; in {
+      i686 = pkgs.fetchurl {
+        url = http://www.fdn.fr/~lcourtes/software/guix/packages/i686-linux/guile-bootstrap-2.0.6.tar.xz;
+        sha256 = "93b537766dfab3ad287143523751e3ec02dd32d3ccaf88ad2d31c63158f342ee";
+      };
+
+      x86_64 = pkgs.fetchurl {
+        url = http://www.fdn.fr/~lcourtes/software/guix/packages/x86_64-linux/guile-bootstrap-2.0.6.tar.xz;
+        sha256 = "0467a82cbe4136f60a79eb4176011bf88cf28ea19c9ad9defa365811ff8e11cf";
+      };
+    };
+
   jobs = {
     tarball =
       let pkgs = import nixpkgs {}; in
@@ -52,6 +68,16 @@ let
             "--with-libgcrypt-prefix=${pkgs.libgcrypt}"
           ];
 
+        preBuild =
+          # Use our pre-downloaded bootstrap tarballs instead of letting
+          # the build system download it over and over again.
+          '' mkdir -p distro/packages/bootstrap/{i686,x86_64}-linux
+             cp -v "${bootstrap_guile.i686}" \
+               distro/packages/bootstrap/i686-linux/guile-bootstrap-2.0.6.tar.xz
+             cp -v "${bootstrap_guile.x86_64}" \
+               distro/packages/bootstrap/x86_64-linux/guile-bootstrap-2.0.6.tar.xz
+          '';
+
         # XXX: Since we need to talk to a running daemon, for the benefit of
         # `nixpkgs-derivation*' & co., we need to escape the chroot.
         preConfigure = "export NIX_REMOTE=daemon";