diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index fa6bb55009d..e73e3969253 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -55,8 +55,7 @@ in rec { stageFun = step: last: {shell ? "${bootstrapTools}/bin/sh", overrides ? (pkgs: {}), extraPreHook ? "", - extraBuildInputs ? with last.pkgs; [ xz darwin.CF libcxx ], - extraInitialPath ? [], + extraBuildInputs, allowedRequisites ? null}: let thisStdenv = import ../generic { @@ -85,7 +84,7 @@ in rec { ${commonPreHook} ${extraPreHook} ''; - initialPath = extraInitialPath ++ [ bootstrapTools ]; + initialPath = [ bootstrapTools ]; fetchurlBoot = import ../../build-support/fetchurl { stdenv = stage0.stdenv; curl = bootstrapTools; @@ -174,6 +173,8 @@ in rec { export PATH_LOCALE=${pkgs.darwin.locale}/share/locale ''; + extraBuildInputs = with pkgs; [ xz darwin.CF libcxx ]; + allowedRequisites = [ bootstrapTools ] ++ (with pkgs; [ xz libcxx libcxxabi icu ]) ++ @@ -203,9 +204,10 @@ in rec { # enables patchShebangs above. Unfortunately, patchShebangs ignores our $SHELL setting # and instead goes by $PATH, which happens to contain bootstrapTools. So it goes and # patches our shebangs back to point at bootstrapTools. This makes sure bash comes first. - extraInitialPath = [ pkgs.bash ]; + extraBuildInputs = with pkgs; [ xz darwin.CF libcxx pkgs.bash ]; extraPreHook = '' + export PATH=${pkgs.bash}/bin:$PATH export PATH_LOCALE=${pkgs.darwin.locale}/share/locale ''; @@ -236,7 +238,7 @@ in rec { stage4 = with stage3; stageFun 4 stage3 { shell = "${pkgs.bash}/bin/bash"; - extraInitialPath = [ pkgs.bash ]; + extraBuildInputs = with pkgs; [ xz darwin.CF libcxx pkgs.bash ]; extraPreHook = '' export PATH_LOCALE=${pkgs.darwin.locale}/share/locale '';