summary refs log tree commit diff
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)
downloadnixpkgs-e22346c35ee8cb872d0587320083ba44230bd44b.tar
nixpkgs-e22346c35ee8cb872d0587320083ba44230bd44b.tar.gz
nixpkgs-e22346c35ee8cb872d0587320083ba44230bd44b.tar.bz2
nixpkgs-e22346c35ee8cb872d0587320083ba44230bd44b.tar.lz
nixpkgs-e22346c35ee8cb872d0587320083ba44230bd44b.tar.xz
nixpkgs-e22346c35ee8cb872d0587320083ba44230bd44b.tar.zst
nixpkgs-e22346c35ee8cb872d0587320083ba44230bd44b.zip
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 baf314edece..73fe58ca7f3 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