summary refs log tree commit diff
path: root/release.nix
diff options
context:
space:
mode:
Diffstat (limited to 'release.nix')
-rw-r--r--release.nix29
1 files changed, 20 insertions, 9 deletions
diff --git a/release.nix b/release.nix
index 5aab8600ab..86560ea15a 100644
--- a/release.nix
+++ b/release.nix
@@ -42,12 +42,23 @@ let
         if builtins.isAttrs drv
         then pkgs.lib.overrideDerivation (pythonKludge drv) (args: {
           __noChroot = true;
-          buildNativeInputs = map unchroot args.buildNativeInputs;
-          propagatedBuildNativeInputs =
-            map unchroot args.propagatedBuildNativeInputs;
+          nativeBuildInputs = map unchroot args.nativeBuildInputs;
+          propagatedNativeBuildInputs =
+            map unchroot args.propagatedNativeBuildInputs;
         })
         else drv;
 
+  # Return a Nixpkgs with some derivations "unchrooted".
+  unchrootedNixpkgs = system:
+    import nixpkgs {
+      # XXX: Hack to make sure these ones also get "unchrooted".
+      config.packageOverrides = pkgs: {
+        zlib = unchroot pkgs.zlib;
+        libunistring = unchroot pkgs.libunistring;
+      };
+      inherit system;
+    };
+
   # 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.
@@ -67,7 +78,7 @@ let
   jobs = {
     tarball =
       unchroot
-      (let pkgs = import nixpkgs {}; in
+      (let pkgs = unchrootedNixpkgs builtins.currentSystem; in
       pkgs.releaseTools.sourceTarball {
         name = "guix-tarball";
         src = <guix>;
@@ -82,7 +93,7 @@ let
           in
             [ git_light ] ++
             (with pkgs; [ guile sqlite bzip2 libgcrypt ]);
-        buildNativeInputs = with pkgs; [ texinfo gettext cvs pkgconfig ];
+        nativeBuildInputs = with pkgs; [ texinfo gettext cvs pkgconfig ];
         preAutoconf = ''git config submodule.nix.url "${<nix>}"'';
         configureFlags =
           [ "--with-libgcrypt-prefix=${pkgs.libgcrypt}"
@@ -94,11 +105,11 @@ let
       { system ? builtins.currentSystem }:
 
       unchroot
-      (let pkgs = import nixpkgs { inherit system; }; in
+      (let pkgs = unchrootedNixpkgs system; in
       pkgs.releaseTools.nixBuild {
         name = "guix";
         buildInputs = with pkgs; [ guile sqlite bzip2 libgcrypt ];
-        buildNativeInputs = [ pkgs.pkgconfig ];
+        nativeBuildInputs = [ pkgs.pkgconfig ];
         src = jobs.tarball;
         configureFlags =
           [ "--with-libgcrypt-prefix=${pkgs.libgcrypt}"
@@ -125,7 +136,7 @@ let
 
       unchroot
       (let
-        pkgs = import nixpkgs { inherit system; };
+        pkgs = unchrootedNixpkgs system;
         build = jobs.build { inherit system; };
       in
         pkgs.lib.overrideDerivation build ({ configureFlags, ... }: {
@@ -144,7 +155,7 @@ let
         { system ? builtins.currentSystem }:
 
         let
-          pkgs = import nixpkgs { inherit system; };
+          pkgs = unchrootedNixpkgs system;
           guix = jobs.build { inherit system; };
         in
           # XXX: We have no way to tell the Nix code to swallow the .drv