lol

haredo: init at 1.0.5

+140
+71
pkgs/by-name/ha/haredo/package.nix
··· 1 + { stdenv 2 + , lib 3 + , fetchFromSourcehut 4 + , hare 5 + , scdoc 6 + , nix-update-script 7 + }: 8 + stdenv.mkDerivation (finalAttrs: { 9 + pname = "haredo"; 10 + version = "1.0.5"; 11 + 12 + outputs = [ "out" "man" ]; 13 + 14 + src = fetchFromSourcehut { 15 + owner = "~autumnull"; 16 + repo = "haredo"; 17 + rev = finalAttrs.version; 18 + hash = "sha256-gpui5FVRw3NKyx0AB/4kqdolrl5vkDudPOgjHc/IE4U="; 19 + }; 20 + 21 + nativeBuildInputs = [ 22 + hare 23 + scdoc 24 + ]; 25 + 26 + preBuild = '' 27 + HARECACHE="$(mktemp -d --tmpdir harecache.XXXXXXXX)" 28 + export HARECACHE 29 + export PREFIX=${builtins.placeholder "out"} 30 + ''; 31 + 32 + buildPhase = '' 33 + runHook preBuild 34 + 35 + ./bootstrap.sh 36 + 37 + runHook postBuild 38 + ''; 39 + 40 + checkPhase = '' 41 + runHook preCheck 42 + 43 + ./bin/haredo test 44 + 45 + runHook postCheck 46 + ''; 47 + 48 + installPhase = '' 49 + runHook preInstall 50 + 51 + ./bootstrap.sh install 52 + 53 + runHook postInstall 54 + ''; 55 + 56 + dontConfigure = true; 57 + doCheck = true; 58 + 59 + setupHook = ./setup-hook.sh; 60 + 61 + passthru.updateScript = nix-update-script { }; 62 + 63 + meta = { 64 + description = "A simple and unix-idiomatic build automator"; 65 + homepage = "https://sr.ht/~autumnull/haredo/"; 66 + license = lib.licenses.wtfpl; 67 + maintainers = with lib.maintainers; [ onemoresuza ]; 68 + mainProgram = "haredo"; 69 + inherit (hare.meta) platforms badPlatforms; 70 + }; 71 + })
+69
pkgs/by-name/ha/haredo/setup-hook.sh
··· 1 + haredoBuildPhase() { 2 + runHook preBuild 3 + 4 + local buildTargets jobs 5 + read -ra buildTargets <<<"${haredoBuildTargets-}" 6 + echoCmd "haredo build targets" "${buildTargets[@]}" 7 + if [[ ! -v enableParallelBuilding || -n "${enableParallelBuilding-}" ]]; then 8 + jobs="${NIX_BUILD_CORES}" 9 + fi 10 + haredo ${jobs:+"-j${jobs}"} "${buildTargets[@]}" 11 + 12 + runHook postBuild 13 + } 14 + 15 + haredoCheckPhase() { 16 + runHook preCheck 17 + 18 + local checkTargets jobs 19 + 20 + if [[ -n "${haredoCheckTargets:-}" ]]; then 21 + read -ra checkTargets <<<"${haredoCheckTargets}" 22 + else 23 + for dofile in "check.do" "test.do"; do 24 + [[ -r "${dofile}" ]] && { 25 + checkTargets=("${dofile%".do"}") 26 + break 27 + } 28 + done 29 + fi 30 + 31 + if [[ -z "${checkTargets:-}" ]]; then 32 + printf -- 'haredoCheckPhase ERROR: no check targets were found' 1>&2 33 + exit 1 34 + else 35 + echoCmd "haredo check targets" "${checkTargets[@]}" 36 + if [[ ! -v enableParallelChecking || -n "${enableParallelChecking-}" ]]; then 37 + jobs="${NIX_BUILD_CORES}" 38 + fi 39 + haredo ${jobs:+"-j${jobs}"} "${checkTargets[@]}" 40 + fi 41 + 42 + runHook postCheck 43 + } 44 + 45 + haredoInstallPhase() { 46 + runHook preInstall 47 + 48 + local installTargets jobs 49 + read -ra installTargets <<<"${haredoInstallTargets:-"install"}" 50 + echoCmd "haredo install targets" "${installTargets[@]}" 51 + if [[ ! -v enableParallelInstalling || -n "${enableParallelInstalling-}" ]]; then 52 + jobs="${NIX_BUILD_CORES}" 53 + fi 54 + haredo ${jobs:+"-j${jobs}"} "${installTargets[@]}" 55 + 56 + runHook postInstall 57 + } 58 + 59 + if [[ -z "${dontUseHaredoBuild-}" && -z "${buildPhase-}" ]]; then 60 + buildPhase="haredoBuildPhase" 61 + fi 62 + 63 + if [[ -z "${dontUseHaredoCheck-}" && -z "${checkPhase-}" ]]; then 64 + checkPhase="haredoCheckPhase" 65 + fi 66 + 67 + if [[ -z "${dontUseHaredoInstall-}" && -z "${installPhase-}" ]]; then 68 + installPhase="haredoInstallPhase" 69 + fi