diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2006-12-31 19:07:33 +0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2006-12-31 19:07:33 +0000 |
commit | a26e70c2af4d4754b8af17f50cf41d57b5492d5d (patch) | |
tree | 0ece37c6ce6fd257e99508fcc0dc8f12a9d7a131 /pkgs/stdenv/mingw | |
parent | 65477965153b428ec94cabb52c4fc73c7e127d94 (diff) | |
download | nixlib-a26e70c2af4d4754b8af17f50cf41d57b5492d5d.tar nixlib-a26e70c2af4d4754b8af17f50cf41d57b5492d5d.tar.gz nixlib-a26e70c2af4d4754b8af17f50cf41d57b5492d5d.tar.bz2 nixlib-a26e70c2af4d4754b8af17f50cf41d57b5492d5d.tar.lz nixlib-a26e70c2af4d4754b8af17f50cf41d57b5492d5d.tar.xz nixlib-a26e70c2af4d4754b8af17f50cf41d57b5492d5d.tar.zst nixlib-a26e70c2af4d4754b8af17f50cf41d57b5492d5d.zip |
* Quick attempt at fixing stdenv-mingw.
svn path=/nixpkgs/trunk/; revision=7519
Diffstat (limited to 'pkgs/stdenv/mingw')
-rwxr-xr-x | pkgs/stdenv/mingw/builder.sh | 1 | ||||
-rw-r--r-- | pkgs/stdenv/mingw/simple-stdenv/builder.sh | 46 |
2 files changed, 46 insertions, 1 deletions
diff --git a/pkgs/stdenv/mingw/builder.sh b/pkgs/stdenv/mingw/builder.sh index cfafde6b00dc..9cbadb5091e0 100755 --- a/pkgs/stdenv/mingw/builder.sh +++ b/pkgs/stdenv/mingw/builder.sh @@ -4,7 +4,6 @@ origShell=$SHELL origGcc=$GCC source $STDENV/setup -source $SUBSTITUTE mkdir $OUT diff --git a/pkgs/stdenv/mingw/simple-stdenv/builder.sh b/pkgs/stdenv/mingw/simple-stdenv/builder.sh index 650f6fb082f7..0cbc13e4fab3 100644 --- a/pkgs/stdenv/mingw/simple-stdenv/builder.sh +++ b/pkgs/stdenv/mingw/simple-stdenv/builder.sh @@ -29,6 +29,52 @@ header() { stopNest() { echo "Nothing to do" } + +# !!! Awful copy&paste. +substitute() { + local input="\$1" + local output="\$2" + + local -a params=("\$@") + + local sedScript=\$NIX_BUILD_TOP/.sedargs + rm -f \$sedScript + touch \$sedScript + + local n p pattern replacement varName + + for ((n = 2; n < \${#params[*]}; n += 1)); do + p=\${params[\$n]} + + if test "\$p" = "--replace"; then + pattern=\${params[\$((n + 1))]} + replacement=\${params[\$((n + 2))]} + n=\$((n + 2)) + echo "s^\$pattern^\$replacement^g" >> \$sedScript + sedArgs=("\${sedArgs[@]}" "-e" ) + fi + + if test "\$p" = "--subst-var"; then + varName=\${params[\$((n + 1))]} + n=\$((n + 1)) + echo "s^@\${varName}@^\${!varName}^g" >> \$sedScript + fi + + if test "\$p" = "--subst-var-by"; then + varName=\${params[\$((n + 1))]} + replacement=\${params[\$((n + 2))]} + n=\$((n + 2)) + echo "s^@\${varName}@^\$replacement^g" >> \$sedScript + fi + + done + + sed -f \$sedScript < "\$input" > "\$output".tmp + if test -x "\$output"; then + chmod +x "\$output".tmp + fi + mv -f "\$output".tmp "\$output" +} EOF chmod +x $out/setup |