diff options
author | Frederik Rietdijk <fridh@fridh.nl> | 2020-09-06 18:15:32 +0200 |
---|---|---|
committer | Frederik Rietdijk <fridh@fridh.nl> | 2020-09-06 18:16:14 +0200 |
commit | e560459c5b06ce1351ae5eb8988f8ce87602058a (patch) | |
tree | 2cbb1ce2b2b8fb6a24a4ba9203ae42b8df3de295 /pkgs/build-support/wrapper-common | |
parent | 1d881848f8fbb6356a9757e83b88e7ae06bb70ad (diff) |
Revert "utils.bash: revert #93560 for darwin, unblocks channels"
Revert the hack and the original faulty commit. This reverts commit 48264ee506105a2f5e61e5d327599e9f301bd77f. Revert "Purity checking should accept $TMP and not just /tmp" This reverts commit fb777be7d2925ec0e97783ce5e3a0136361dc0a8.
Diffstat (limited to 'pkgs/build-support/wrapper-common')
-rw-r--r-- | pkgs/build-support/wrapper-common/utils.bash | 6 | ||||
-rw-r--r-- | pkgs/build-support/wrapper-common/utils.bash.darwin | 92 |
2 files changed, 3 insertions, 95 deletions
diff --git a/pkgs/build-support/wrapper-common/utils.bash b/pkgs/build-support/wrapper-common/utils.bash index ce569ac2b8c4d..8c4680a8e4460 100644 --- a/pkgs/build-support/wrapper-common/utils.bash +++ b/pkgs/build-support/wrapper-common/utils.bash @@ -69,9 +69,9 @@ badPath() { # directory (including the build directory). test \ "$p" != "/dev/null" -a \ - "${p#${NIX_STORE}}" = "$p" -a \ - "${p#${TMP:-/tmp}}" = "$p" -a \ - "${p#${NIX_BUILD_TOP}}" = "$p" + "${p:0:${#NIX_STORE}}" != "$NIX_STORE" -a \ + "${p:0:4}" != "/tmp" -a \ + "${p:0:${#NIX_BUILD_TOP}}" != "$NIX_BUILD_TOP" } expandResponseParams() { diff --git a/pkgs/build-support/wrapper-common/utils.bash.darwin b/pkgs/build-support/wrapper-common/utils.bash.darwin deleted file mode 100644 index 8c4680a8e4460..0000000000000 --- a/pkgs/build-support/wrapper-common/utils.bash.darwin +++ /dev/null @@ -1,92 +0,0 @@ -# Accumulate suffixes for taking in the right input parameters with the `mangle*` -# functions below. See setup-hook for details. -accumulateRoles() { - declare -ga role_suffixes=() - if [ "${NIX_@wrapperName@_TARGET_BUILD_@suffixSalt@:-}" ]; then - role_suffixes+=('_FOR_BUILD') - fi - if [ "${NIX_@wrapperName@_TARGET_HOST_@suffixSalt@:-}" ]; then - role_suffixes+=('') - fi - if [ "${NIX_@wrapperName@_TARGET_TARGET_@suffixSalt@:-}" ]; then - role_suffixes+=('_FOR_TARGET') - fi -} - -mangleVarList() { - local var="$1" - shift - local -a role_suffixes=("$@") - - local outputVar="${var}_@suffixSalt@" - declare -gx ${outputVar}+='' - # For each role we serve, we accumulate the input parameters into our own - # cc-wrapper-derivation-specific environment variables. - for suffix in "${role_suffixes[@]}"; do - local inputVar="${var}${suffix}" - if [ -v "$inputVar" ]; then - export ${outputVar}+="${!outputVar:+ }${!inputVar}" - fi - done -} - -mangleVarBool() { - local var="$1" - shift - local -a role_suffixes=("$@") - - local outputVar="${var}_@suffixSalt@" - declare -gxi ${outputVar}+=0 - for suffix in "${role_suffixes[@]}"; do - local inputVar="${var}${suffix}" - if [ -v "$inputVar" ]; then - # "1" in the end makes `let` return success error code when - # expression itself evaluates to zero. - # We don't use `|| true` because that would silence actual - # syntax errors from bad variable values. - let "${outputVar} |= ${!inputVar:-0}" "1" - fi - done -} - -skip () { - if (( "${NIX_DEBUG:-0}" >= 1 )); then - echo "skipping impure path $1" >&2 - fi -} - - -# Checks whether a path is impure. E.g., `/lib/foo.so' is impure, but -# `/nix/store/.../lib/foo.so' isn't. -badPath() { - local p=$1 - - # Relative paths are okay (since they're presumably relative to - # the temporary build directory). - if [ "${p:0:1}" != / ]; then return 1; fi - - # Otherwise, the path should refer to the store or some temporary - # directory (including the build directory). - test \ - "$p" != "/dev/null" -a \ - "${p:0:${#NIX_STORE}}" != "$NIX_STORE" -a \ - "${p:0:4}" != "/tmp" -a \ - "${p:0:${#NIX_BUILD_TOP}}" != "$NIX_BUILD_TOP" -} - -expandResponseParams() { - declare -ga params=("$@") - local arg - for arg in "$@"; do - if [[ "$arg" == @* ]]; then - # phase separation makes this look useless - # shellcheck disable=SC2157 - if [ -x "@expandResponseParams@" ]; then - # params is used by caller - #shellcheck disable=SC2034 - readarray -d '' params < <("@expandResponseParams@" "$@") - return 0 - fi - fi - done -} |