summary refs log tree commit diff
diff options
context:
space:
mode:
authorGabriella Gonzalez <Gabriel439@gmail.com>2021-12-27 22:15:06 -0800
committerGitHub <noreply@github.com>2021-12-27 22:15:06 -0800
commit07f1f2ca9cd1c354c4c2713cab124698e534cadd (patch)
tree75786331267e87ac14355e34ad908d6ca551c1a8
parentbf27c6792782aa548ac2f2d4a684466fa077e597 (diff)
downloadnixpkgs-07f1f2ca9cd1c354c4c2713cab124698e534cadd.tar
nixpkgs-07f1f2ca9cd1c354c4c2713cab124698e534cadd.tar.gz
nixpkgs-07f1f2ca9cd1c354c4c2713cab124698e534cadd.tar.bz2
nixpkgs-07f1f2ca9cd1c354c4c2713cab124698e534cadd.tar.lz
nixpkgs-07f1f2ca9cd1c354c4c2713cab124698e534cadd.tar.xz
nixpkgs-07f1f2ca9cd1c354c4c2713cab124698e534cadd.tar.zst
nixpkgs-07f1f2ca9cd1c354c4c2713cab124698e534cadd.zip
makeWrapper: Add `--prefix-each` flag (#145104)
This is for symmetry with `--suffix-each`, and also because
(in my limited experience), `--prefix-each` is more useful since it
ensures that the new entries superseded the existing `PATH` entries
-rw-r--r--pkgs/build-support/setup-hooks/make-wrapper.sh9
1 files changed, 9 insertions, 0 deletions
diff --git a/pkgs/build-support/setup-hooks/make-wrapper.sh b/pkgs/build-support/setup-hooks/make-wrapper.sh
index 8b7012677cd..903e17c3b2e 100644
--- a/pkgs/build-support/setup-hooks/make-wrapper.sh
+++ b/pkgs/build-support/setup-hooks/make-wrapper.sh
@@ -23,6 +23,7 @@ assertExecutable() {
 
 # --prefix          ENV SEP VAL   : suffix/prefix ENV with VAL, separated by SEP
 # --suffix
+# --prefix-each     ENV SEP VALS  : like --prefix, but VALS is a list
 # --suffix-each     ENV SEP VALS  : like --suffix, but VALS is a list
 # --prefix-contents ENV SEP FILES : like --suffix-each, but contents of FILES
 #                                   are read first and used as VALS
@@ -73,6 +74,14 @@ makeWrapper() {
                     echo "export $varName=${value@Q}\${$varName:+${separator@Q}}\$$varName" >> "$wrapper"
                 fi
             fi
+        elif [[ "$p" == "--prefix-each" ]]; then
+            varName="${params[$((n + 1))]}"
+            separator="${params[$((n + 2))]}"
+            values="${params[$((n + 3))]}"
+            n=$((n + 3))
+            for value in $values; do
+                echo "export $varName=${value@Q}\${$varName:+${separator@Q}}\$$varName" >> "$wrapper"
+            done
         elif [[ "$p" == "--suffix-each" ]]; then
             varName="${params[$((n + 1))]}"
             separator="${params[$((n + 2))]}"