aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/ninja.go
blob: 27047a5254d408994624edc7d1efe6552bc2e95f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package rosa

import "hakurei.app/internal/pkg"

func (t Toolchain) newNinja() pkg.Artifact {
	const (
		version  = "1.13.2"
		checksum = "ygKWMa0YV2lWKiFro5hnL-vcKbc_-RACZuPu0Io8qDvgQlZ0dxv7hPNSFkt4214v"
	)
	return t.New("ninja-"+version, false, []pkg.Artifact{
		t.Load(CMake),
		t.Load(Python),
	}, nil, nil, `
chmod -R +w /usr/src/ninja/
mkdir -p /work/system/bin/ && cd /work/system/bin/
python3 /usr/src/ninja/configure.py \
	--bootstrap \
	--gtest-source-dir=/usr/src/googletest
./ninja all
./ninja_test
`, pkg.Path(AbsUsrSrc.Append("googletest"), false,
		pkg.NewHTTPGetTar(
			nil, "https://github.com/google/googletest/releases/download/"+
				"v1.16.0/googletest-1.16.0.tar.gz",
			mustDecode("NjLGvSbgPy_B-y-o1hdanlzEzaYeStFcvFGxpYV3KYlhrWWFRcugYhM3ZMzOA9B_"),
			pkg.TarGzip,
		)), pkg.Path(AbsUsrSrc.Append("ninja"), true,
		pkg.NewHTTPGetTar(
			nil, "https://github.com/ninja-build/ninja/archive/refs/tags/"+
				"v"+version+".tar.gz",
			mustDecode(checksum),
			pkg.TarGzip,
		)))
}
func init() { artifactsF[Ninja] = Toolchain.newNinja }