summary refs log tree commit diff
path: root/pkgs/top-level/stage.nix
diff options
context:
space:
mode:
authorDavid Grayson <davidegrayson@gmail.com>2016-12-21 18:42:53 -0800
committerJohn Ericson <Ericson2314@Yahoo.com>2017-01-13 13:23:25 -0500
commit0f33b9f7f11e414ff6213359ec2859199a68d550 (patch)
tree88a54d57b682476869d5be1d573106b0f6fa4a6c /pkgs/top-level/stage.nix
parent3e197f7d81130defacfe5bdad71ca5ebe63324ff (diff)
downloadnixpkgs-0f33b9f7f11e414ff6213359ec2859199a68d550.tar
nixpkgs-0f33b9f7f11e414ff6213359ec2859199a68d550.tar.gz
nixpkgs-0f33b9f7f11e414ff6213359ec2859199a68d550.tar.bz2
nixpkgs-0f33b9f7f11e414ff6213359ec2859199a68d550.tar.lz
nixpkgs-0f33b9f7f11e414ff6213359ec2859199a68d550.tar.xz
nixpkgs-0f33b9f7f11e414ff6213359ec2859199a68d550.tar.zst
nixpkgs-0f33b9f7f11e414ff6213359ec2859199a68d550.zip
top-level: Do stdenvOverrides in stage.nix even if crossSystem exists.
Instead, the cross stdenv will patch up the override field -- the complexity
is now confined to the one place it matters.
Diffstat (limited to 'pkgs/top-level/stage.nix')
-rw-r--r--pkgs/top-level/stage.nix13
1 files changed, 4 insertions, 9 deletions
diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix
index 0b1326414b6..f6f11b43980 100644
--- a/pkgs/top-level/stage.nix
+++ b/pkgs/top-level/stage.nix
@@ -58,16 +58,11 @@ let
 
   aliases = self: super: import ./aliases.nix super;
 
-  # stdenvOverrides is used to avoid circular dependencies for building
-  # the standard build environment. This mechanism uses the override
-  # mechanism to implement some staged compilation of the stdenv.
-  #
-  # We don't want stdenv overrides in the case of cross-building, or
-  # otherwise the basic overridden packages will not be built with the
-  # crossStdenv adapter.
+  # stdenvOverrides is used to avoid having multiple of versions
+  # of certain dependencies that were used in bootstrapping the
+  # standard environment.
   stdenvOverrides = self: super:
-    lib.optionalAttrs (crossSystem == null && super.stdenv ? overrides)
-      (super.stdenv.overrides self super);
+    (super.stdenv.overrides or (_: _: {})) self super;
 
   # Allow packages to be overridden globally via the `packageOverrides'
   # configuration option, which must be a function that takes `pkgs'