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