summaryrefslogtreecommitdiffstats
path: root/pkgs/top-level/default.nix
diff options
context:
space:
mode:
authorJohn Ericson <Ericson2314@Yahoo.com>2016-11-06 21:27:38 -0800
committerJohn Ericson <Ericson2314@Yahoo.com>2016-11-06 21:27:38 -0800
commite22346c35ee8cb872d0587320083ba44230bd44b (patch)
tree9a3d7d72b09a13bc195e03389a80e51642f95b65 /pkgs/top-level/default.nix
parenteed34bd214d6f513a859f3cfc52b266a9d19898b (diff)
top-level: Make stdenvCross which appears at first glance normal...
...but actually is weird just like the original
Diffstat (limited to 'pkgs/top-level/default.nix')
-rw-r--r--pkgs/top-level/default.nix7
1 files changed, 6 insertions, 1 deletions
diff --git a/pkgs/top-level/default.nix b/pkgs/top-level/default.nix
index baf314edece7..73fe58ca7f34 100644
--- a/pkgs/top-level/default.nix
+++ b/pkgs/top-level/default.nix
@@ -12,6 +12,11 @@
# null, the default standard environment is used.
bootStdenv ? null
+, # This is used because stdenv replacement and the stdenvCross do benefit from
+ # the overridden configuration provided by the user, as opposed to the normal
+ # bootstrapping stdenvs.
+ allowCustomOverrides ? (bootStdenv == null)
+
, # Non-GNU/Linux OSes are currently "impure" platforms, with their libc
# outside of the store. Thus, GCC, GFortran, & co. must always look for
# files in standard system directories (/usr/include, etc.)
@@ -109,7 +114,7 @@ let
# attributes to refer to the original attributes (e.g. "foo =
# ... pkgs.foo ...").
configOverrides = self: super:
- lib.optionalAttrs (bootStdenv == null)
+ lib.optionalAttrs allowCustomOverrides
((config.packageOverrides or (super: {})) super);
# The complete chain of package set builders, applied from top to bottom