From 523c701c0badbad5cadca2f847ef2f42846f4570 Mon Sep 17 00:00:00 2001 From: Vladimir Serov Date: Sat, 27 Nov 2021 01:23:32 +0300 Subject: 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. --- pkgs/stdenv/generic/default.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'pkgs/stdenv') diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index d7fb1b0ba0635..49ebc67f854e4 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 -- cgit 1.4.1