about summary refs log tree commit diff
path: root/pkgs/stdenv
diff options
context:
space:
mode:
authorArtturin <Artturin@artturin.com>2022-06-29 21:04:31 +0300
committerArtturin <Artturin@artturin.com>2022-06-29 22:03:19 +0300
commitba1efa71ae3d5055e3076eaad7cf7e6a6e800066 (patch)
treeac86cbad83cf3889ab0564040da05d0413d73dae /pkgs/stdenv
parentc30f66c6c73f31567f69600b77b74a3382ab2d7a (diff)
stdenv: substituteInPlace: accept multiple filenames
I don't know if getopt is available everywhere, so I did not use it.

in any case, it can be changed to use getopt in the future if
needed.
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r--pkgs/stdenv/generic/setup.sh15
1 files changed, 12 insertions, 3 deletions
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index de8d13160f932..0ba8d10182337 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() {