aboutsummaryrefslogtreecommitdiff
path: root/pkgs/top-level/stage.nix
diff options
context:
space:
mode:
authorJohn Ericson <Ericson2314@Yahoo.com>2017-01-15 18:03:59 -0500
committerJohn Ericson <Ericson2314@Yahoo.com>2017-01-24 11:37:56 -0500
commitbfb147b6a8c4a3ddc581aab0b8a29b418db3b7a6 (patch)
tree54ccd6f0c81711c847da2da8798802edd31c3dad /pkgs/top-level/stage.nix
parent4c17cd555f6443207144da9af6e1c2b1304afd8b (diff)
top-level: Only splice as needed for performance
Diffstat (limited to 'pkgs/top-level/stage.nix')
-rw-r--r--pkgs/top-level/stage.nix8
1 files changed, 5 insertions, 3 deletions
diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix
index 0f3d967a0914..6febedb79f3d 100644
--- a/pkgs/top-level/stage.nix
+++ b/pkgs/top-level/stage.nix
@@ -45,7 +45,8 @@
## Other parameters
##
-, # The package set used at build-time
+, # The package set used at build-time. If null, `buildPackages` will
+ # be defined internally as the produced package set as itself.
buildPackages
, # The standard environment to use for building packages.
@@ -84,7 +85,8 @@ let
};
stdenvBootstappingAndPlatforms = self: super: {
- buildPackages = buildPackages // { recurseForDerivations = false; };
+ buildPackages = (if buildPackages == null then self else buildPackages)
+ // { recurseForDerivations = false; };
inherit stdenv
buildPlatform hostPlatform targetPlatform;
};
@@ -103,7 +105,7 @@ let
inherit (buildPlatform) system platform;
};
- splice = self: super: import ./splice.nix lib self;
+ splice = self: super: import ./splice.nix lib self (buildPackages != null);
allPackages = self: super:
let res = import ./all-packages.nix