about summary refs log tree commit diff
path: root/pkgs/by-name/ha/hare/setup-hook.sh
blob: 3a427fd70328f562e19d1d1703fe93146ab3f61a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 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