25 lines
764 B
Bash
25 lines
764 B
Bash
#!/bin/sh
|
|
|
|
# !! KEEP THIS SCRIPT POSIX COMPLIANT !!
|
|
|
|
# see https://docs.haskellstack.org/en/stable/yaml_configuration/#ghc-installation-customisation-experimental
|
|
# for documentation about hooks
|
|
|
|
set -eu
|
|
|
|
case $HOOK_GHC_TYPE in
|
|
bindist)
|
|
ghc_path=$(ghcup whereis ghc "$HOOK_GHC_VERSION" || { ghcup install ghc "$HOOK_GHC_VERSION" >/dev/null && ghcup whereis ghc "$HOOK_GHC_VERSION" ; }) || { >&2 echo "Installing $HOOK_GHC_VERSION via ghcup failed" exit 3 ;}
|
|
printf "%s" "${ghc_path}"
|
|
;;
|
|
git)
|
|
# TODO: should be somewhat possible
|
|
>&2 echo "Hook doesn't support installing from source"
|
|
exit 1
|
|
;;
|
|
*)
|
|
>&2 echo "Unsupported GHC installation type: $HOOK_GHC_TYPE"
|
|
exit 2
|
|
;;
|
|
esac
|