diff options
author | Orivej Desh <orivej@gmx.fr> | 2017-11-17 10:11:01 +0000 |
---|---|---|
committer | Orivej Desh <orivej@gmx.fr> | 2017-11-17 10:11:01 +0000 |
commit | 4199892768b412a22de303cb392b698887deecb4 (patch) | |
tree | 58cb32d17a3489dfab65ba2136c52a36f954fd49 /pkgs/build-support/setup-hooks | |
parent | 035b5892457d7d198090dc6a68cac2b99d2fec52 (diff) | |
download | nixlib-4199892768b412a22de303cb392b698887deecb4.tar nixlib-4199892768b412a22de303cb392b698887deecb4.tar.gz nixlib-4199892768b412a22de303cb392b698887deecb4.tar.bz2 nixlib-4199892768b412a22de303cb392b698887deecb4.tar.lz nixlib-4199892768b412a22de303cb392b698887deecb4.tar.xz nixlib-4199892768b412a22de303cb392b698887deecb4.tar.zst nixlib-4199892768b412a22de303cb392b698887deecb4.zip |
makeWrapper: add --set-default and --set-eval
After #31497 starter quoting all values, there arouse the need to left some values evaluated. `--set-default var value` expands to `export var=${var-value}`, where value is not evaluated and literally assigned to var unless it is already set. `--set-eval var value` expands to `export var=$(eval echo value)`, where value is evaluated by `eval`.
Diffstat (limited to 'pkgs/build-support/setup-hooks')
-rw-r--r-- | pkgs/build-support/setup-hooks/make-wrapper.sh | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/pkgs/build-support/setup-hooks/make-wrapper.sh b/pkgs/build-support/setup-hooks/make-wrapper.sh index 01410828d39d..ab24fb38b29e 100644 --- a/pkgs/build-support/setup-hooks/make-wrapper.sh +++ b/pkgs/build-support/setup-hooks/make-wrapper.sh @@ -48,6 +48,16 @@ makeWrapper() { value="${params[$((n + 2))]}" n=$((n + 2)) echo "export $varName=${value@Q}" >> "$wrapper" + elif [[ "$p" == "--set-default" ]]; then + varName="${params[$((n + 1))]}" + value="${params[$((n + 2))]}" + n=$((n + 2)) + echo "export $varName=\${$varName-${value@Q}}" >> "$wrapper" + elif [[ "$p" == "--set-eval" ]]; then + varName="${params[$((n + 1))]}" + value="${params[$((n + 2))]}" + n=$((n + 2)) + echo "export $varName=\$(eval echo ${value@Q})" >> "$wrapper" elif [[ "$p" == "--unset" ]]; then varName="${params[$((n + 1))]}" n=$((n + 1)) |