diff options
author | Artturi <Artturin@artturin.com> | 2022-07-24 04:14:09 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-24 04:14:09 +0300 |
commit | 79e866900325d112238e961442a233506b6a0979 (patch) | |
tree | b8e22eccd66666cb10c60219111384f3f5c8277d | |
parent | 649646d7b7c0a1a1e73db221dae8533771918d39 (diff) | |
parent | ba1efa71ae3d5055e3076eaad7cf7e6a6e800066 (diff) | |
download | nixpkgs-79e866900325d112238e961442a233506b6a0979.tar nixpkgs-79e866900325d112238e961442a233506b6a0979.tar.gz nixpkgs-79e866900325d112238e961442a233506b6a0979.tar.bz2 nixpkgs-79e866900325d112238e961442a233506b6a0979.tar.lz nixpkgs-79e866900325d112238e961442a233506b6a0979.tar.xz nixpkgs-79e866900325d112238e961442a233506b6a0979.tar.zst nixpkgs-79e866900325d112238e961442a233506b6a0979.zip |
Merge pull request #179603 from Artturin/subplacemultiple
-rw-r--r-- | doc/stdenv/stdenv.chapter.md | 4 | ||||
-rw-r--r-- | pkgs/stdenv/generic/setup.sh | 15 |
2 files changed, 14 insertions, 5 deletions
diff --git a/doc/stdenv/stdenv.chapter.md b/doc/stdenv/stdenv.chapter.md index 5f7f45dc443..ebfda97ba77 100644 --- a/doc/stdenv/stdenv.chapter.md +++ b/doc/stdenv/stdenv.chapter.md @@ -913,9 +913,9 @@ substitute ./foo.in ./foo.out \ --subst-var someVar ``` -### `substituteInPlace` \<file\> \<subs\> {#fun-substituteInPlace} +### `substituteInPlace` \<multiple files\> \<subs\> {#fun-substituteInPlace} -Like `substitute`, but performs the substitutions in place on the file \<file\>. +Like `substitute`, but performs the substitutions in place on the files passed. ### `substituteAll` \<infile\> \<outfile\> {#fun-substituteAll} diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index de8d13160f9..0ba8d101823 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -771,9 +771,18 @@ substitute() { } substituteInPlace() { - local fileName="$1" - shift - substitute "$fileName" "$fileName" "$@" + local -a fileNames=() + for arg in "$@"; do + if [[ "$arg" = "--"* ]]; then + break + fi + fileNames+=("$arg") + shift + done + + for file in "${fileNames[@]}"; do + substitute "$file" "$file" "$@" + done } _allFlags() { |