From a4630c65caf8a239b9ba5c013466d485c4fd7fde Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Sun, 16 Sep 2018 15:58:21 -0500 Subject: stdenv: add shell to HOST_PATH for backwards compatibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To avoid breaking things, we need to make sure SHELL goes into HOST_PATH. This reflects my changes to patch-shebangs to make it cross compilation ready. When a script is patched from the Nix store it now looks to HOST_PATH to get the targeted machine’s executables. Unfortunately, this only works in native builds. --- pkgs/stdenv/generic/setup.sh | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'pkgs/stdenv') diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index e51dc1f1a0a6..9a620abfbade 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -257,6 +257,7 @@ shopt -s nullglob # Set up the initial path. PATH= +HOST_PATH= for i in $initialPath; do if [ "$i" = / ]; then i=; fi addToSearchPath PATH "$i/bin" @@ -272,6 +273,12 @@ if [ -z "${SHELL:-}" ]; then echo "SHELL not set"; exit 1; fi BASH="$SHELL" export CONFIG_SHELL="$SHELL" +# For backward compatibility, we add SHELL to HOST_PATH so it can be +# used in auto patch-shebangs. Unfortunately this will not work with +# cross compilation because it will be for the builder’s platform. +if [ -z "${strictDeps-}" ]; then + addToSearchPath HOST_PATH "$SHELL/bin" +fi # Dummy implementation of the paxmark function. On Linux, this is # overwritten by paxctl's setup hook. -- cgit 1.4.1