aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/cmake.go
blob: 3468d1d837babc19cf7bb563c7196b5de8a444eb (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
package rosa

import "hakurei.app/internal/pkg"

// NewCMake returns a [pkg.Artifact] containing an installation of CMake.
func (t Toolchain) NewCMake() pkg.Artifact {
	const (
		version  = "4.2.1"
		checksum = "Y3OdbMsob6Xk2y1DCME6z4Fryb5_TkFD7knRT8dTNIRtSqbiCJyyDN9AxggN_I75"
	)
	return t.New("cmake-"+version, []pkg.Artifact{
		t.NewMake(),
		t.NewKernelHeaders(),
	}, nil, nil, `
# expected to be writable in the copy made during bootstrap
chmod -R +w /usr/src/cmake/Tests

cd "$(mktemp -d)"
/usr/src/cmake/bootstrap \
	--prefix=/system -- \
	-DCMAKE_USE_OPENSSL=OFF
make "-j$(nproc)"
make DESTDIR=/work install
`, pkg.Path(AbsUsrSrc.Append("cmake"), true,
		pkg.NewHTTPGetTar(
			nil, "https://github.com/Kitware/CMake/releases/download/"+
				"v"+version+"/cmake-"+version+".tar.gz",
			mustDecode(checksum),
			pkg.TarGzip,
		)))
}