diff options
Diffstat (limited to 'nixpkgs/pkgs/by-name/ha/haredo/setup-hook.sh')
-rw-r--r-- | nixpkgs/pkgs/by-name/ha/haredo/setup-hook.sh | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/ha/haredo/setup-hook.sh b/nixpkgs/pkgs/by-name/ha/haredo/setup-hook.sh new file mode 100644 index 000000000000..44eb453087db --- /dev/null +++ b/nixpkgs/pkgs/by-name/ha/haredo/setup-hook.sh @@ -0,0 +1,69 @@ +haredoBuildPhase() { + runHook preBuild + + local buildTargets jobs + read -ra buildTargets <<<"${haredoBuildTargets-}" + echoCmd "haredo build targets" "${buildTargets[@]}" + if [[ ! -v enableParallelBuilding || -n "${enableParallelBuilding-}" ]]; then + jobs="${NIX_BUILD_CORES}" + fi + haredo ${jobs:+"-j${jobs}"} "${buildTargets[@]}" + + runHook postBuild +} + +haredoCheckPhase() { + runHook preCheck + + local checkTargets jobs + + if [[ -n "${haredoCheckTargets:-}" ]]; then + read -ra checkTargets <<<"${haredoCheckTargets}" + else + for dofile in "check.do" "test.do"; do + [[ -r "${dofile}" ]] && { + checkTargets=("${dofile%".do"}") + break + } + done + fi + + if [[ -z "${checkTargets:-}" ]]; then + printf -- 'haredoCheckPhase ERROR: no check targets were found' 1>&2 + exit 1 + else + echoCmd "haredo check targets" "${checkTargets[@]}" + if [[ ! -v enableParallelChecking || -n "${enableParallelChecking-}" ]]; then + jobs="${NIX_BUILD_CORES}" + fi + haredo ${jobs:+"-j${jobs}"} "${checkTargets[@]}" + fi + + runHook postCheck +} + +haredoInstallPhase() { + runHook preInstall + + local installTargets jobs + read -ra installTargets <<<"${haredoInstallTargets:-"install"}" + echoCmd "haredo install targets" "${installTargets[@]}" + if [[ ! -v enableParallelInstalling || -n "${enableParallelInstalling-}" ]]; then + jobs="${NIX_BUILD_CORES}" + fi + haredo ${jobs:+"-j${jobs}"} "${installTargets[@]}" + + runHook postInstall +} + +if [[ -z "${dontUseHaredoBuild-}" && -z "${buildPhase-}" ]]; then + buildPhase="haredoBuildPhase" +fi + +if [[ -z "${dontUseHaredoCheck-}" && -z "${checkPhase-}" ]]; then + checkPhase="haredoCheckPhase" +fi + +if [[ -z "${dontUseHaredoInstall-}" && -z "${installPhase-}" ]]; then + installPhase="haredoInstallPhase" +fi |