summary refs log tree commit diff
path: root/pkgs/stdenv
diff options
context:
space:
mode:
authorVladimir Serov <me@cab404.ru>2021-11-27 01:23:32 +0300
committerVladimir Serov <me@cab404.ru>2021-11-27 01:23:32 +0300
commit523c701c0badbad5cadca2f847ef2f42846f4570 (patch)
treed6b871d350660e934ce6f4187155dfddc9084750 /pkgs/stdenv
parent70c97b9385efff4007bc02de4a25cfb765b79fa6 (diff)
downloadnixpkgs-523c701c0badbad5cadca2f847ef2f42846f4570.tar
nixpkgs-523c701c0badbad5cadca2f847ef2f42846f4570.tar.gz
nixpkgs-523c701c0badbad5cadca2f847ef2f42846f4570.tar.bz2
nixpkgs-523c701c0badbad5cadca2f847ef2f42846f4570.tar.lz
nixpkgs-523c701c0badbad5cadca2f847ef2f42846f4570.tar.xz
nixpkgs-523c701c0badbad5cadca2f847ef2f42846f4570.tar.zst
nixpkgs-523c701c0badbad5cadca2f847ef2f42846f4570.zip
stdenv: move overriden stdenv in closure
Before that, base stdenv passed non-makeOverridable version of itself
inside. This cause it to be lost on package-name.stdenv.
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/generic/default.nix13
1 files changed, 7 insertions, 6 deletions
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index d7fb1b0ba06..49ebc67f854 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -1,6 +1,6 @@
-let lib = import ../../../lib; in lib.makeOverridable (
+let lib = import ../../../lib; stdenv-overridable = lib.makeOverridable (
 
-{ name ? "stdenv", preHook ? "", initialPath
+argsStdenv@{ name ? "stdenv", preHook ? "", initialPath
 
 , # If we don't have a C compiler, we might either have `cc = null` or `cc =
   # throw ...`, but if we do have a C compiler we should definiely have `cc !=
@@ -81,8 +81,10 @@ let
 
   defaultBuildInputs = extraBuildInputs;
 
+  stdenv = (stdenv-overridable argsStdenv);
+
   # The stdenv that we are producing.
-  stdenv =
+  in
     derivation (
     lib.optionalAttrs (allowedRequisites != null) {
       allowedRequisites = allowedRequisites
@@ -172,6 +174,5 @@ let
     # "lift" packages like curl from the final stdenv for Linux to
     # all-packages.nix for that platform (meaning that it has a line
     # like curl = if stdenv ? curl then stdenv.curl else ...).
-    // extraAttrs;
-
-in stdenv)
+    // extraAttrs
+); in stdenv-overridable