mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-01 15:11:25 +00:00
stdenv: Don't use sed to build the setup script
This commit is contained in:
parent
be3fc3ae2f
commit
e3875297fa
@ -6,14 +6,11 @@ done
|
||||
|
||||
mkdir $out
|
||||
|
||||
echo "$preHook" > $out/setup
|
||||
echo "export SHELL=$shell" > $out/setup
|
||||
echo "initialPath=\"$initialPath\"" >> $out/setup
|
||||
echo "$preHook" >> $out/setup
|
||||
cat "$setup" >> $out/setup
|
||||
|
||||
sed -e "s^@initialPath@^$initialPath^g" \
|
||||
-e "s^@shell@^$shell^g" \
|
||||
< $out/setup > $out/setup.tmp
|
||||
mv $out/setup.tmp $out/setup
|
||||
|
||||
# Allow the user to install stdenv using nix-env and get the packages
|
||||
# in stdenv.
|
||||
mkdir $out/nix-support
|
||||
|
@ -112,11 +112,6 @@ let
|
||||
builder = shell;
|
||||
|
||||
args = ["-e" ./builder.sh];
|
||||
/* TODO: special-cased @var@ substitutions are ugly.
|
||||
However, using substituteAll* from setup.sh seems difficult,
|
||||
as setup.sh can't be directly sourced.
|
||||
Suggestion: split similar utility functions into a separate script.
|
||||
*/
|
||||
|
||||
setup = setupScript;
|
||||
|
||||
|
@ -163,7 +163,7 @@ shopt -s nullglob
|
||||
|
||||
# Set up the initial path.
|
||||
PATH=
|
||||
for i in @initialPath@; do
|
||||
for i in $initialPath; do
|
||||
if [ "$i" = / ]; then i=; fi
|
||||
addToSearchPath PATH $i/bin
|
||||
addToSearchPath PATH $i/sbin
|
||||
@ -174,17 +174,15 @@ if [ "$NIX_DEBUG" = 1 ]; then
|
||||
fi
|
||||
|
||||
|
||||
# Execute the pre-hook.
|
||||
export SHELL=@shell@
|
||||
export CONFIG_SHELL="$SHELL"
|
||||
if [ -z "$shell" ]; then export shell=@shell@; fi
|
||||
runHook preHook
|
||||
|
||||
|
||||
# Check that the pre-hook initialised SHELL.
|
||||
if [ -z "$SHELL" ]; then echo "SHELL not set"; exit 1; fi
|
||||
|
||||
|
||||
# Execute the pre-hook.
|
||||
export CONFIG_SHELL="$SHELL"
|
||||
if [ -z "$shell" ]; then export shell=$SHELL; fi
|
||||
|
||||
|
||||
envHooks=()
|
||||
crossEnvHooks=()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user