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