diff options
Diffstat (limited to 'pkgs/by-name/ha/hare/setup-hook.sh')
-rw-r--r-- | pkgs/by-name/ha/hare/setup-hook.sh | 39 |
1 files changed, 33 insertions, 6 deletions
diff --git a/pkgs/by-name/ha/hare/setup-hook.sh b/pkgs/by-name/ha/hare/setup-hook.sh index d2d2c34354d65..3a427fd70328f 100644 --- a/pkgs/by-name/ha/hare/setup-hook.sh +++ b/pkgs/by-name/ha/hare/setup-hook.sh @@ -1,9 +1,36 @@ -addHarepath () { - for haredir in third-party stdlib; do - if [[ -d "$1/src/hare/$haredir" ]]; then - addToSearchPath HAREPATH "$1/src/hare/$haredir" - fi - done +# shellcheck disable=SC2154,SC2034,SC2016 + +addHarepath() { + local -r thirdparty="${1-}/src/hare/third-party" + if [[ -d "$thirdparty" ]]; then + addToSearchPath HAREPATH "$thirdparty" + fi } +# Hare's stdlib should come after its third party libs, since the latter may +# expand or shadow the former. +readonly hareSetStdlibPhase=' +addToSearchPath HAREPATH "@hare_stdlib@" +' +readonly hareInfoPhase=' +echoCmd "HARECACHE" "$HARECACHE" +echoCmd "HAREPATH" "$HAREPATH" +echoCmd "hare" "$(command -v hare)" +echoCmd "hare-native" "$(command -v hare-native)" +' +prePhases+=("hareSetStdlibPhase" "hareInfoPhase") + +readonly hare_unconditional_flags="@hare_unconditional_flags@" +case "${hareBuildType:-"release"}" in +"release") export NIX_HAREFLAGS="-R $hare_unconditional_flags" ;; +"debug") export NIX_HAREFLAGS="$hare_unconditional_flags" ;; +*) + printf -- 'Invalid hareBuildType: "%s"\n' "${hareBuildType-}" + exit 1 + ;; +esac + +HARECACHE="$(mktemp -d)" +export HARECACHE + addEnvHooks "$hostOffset" addHarepath |