aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/cmake.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-02-11 23:51:10 +0900
committerOphestra <cat@gensokyo.uk>2026-02-12 01:19:40 +0900
commit1791b604b525cd67f3b6c393a1364688762aa2e0 (patch)
tree84b622364fb5530d97edecb1beccfee9d59ed602 /internal/rosa/cmake.go
parent59ff6db7ec627bd8237b9508ef78c65204971cfc (diff)
internal/rosa/make: configurable configure and install
This makes the helper useful for non-autotools build systems. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/cmake.go')
-rw-r--r--internal/rosa/cmake.go30
1 files changed, 16 insertions, 14 deletions
diff --git a/internal/rosa/cmake.go b/internal/rosa/cmake.go
index 8d7129a7..986f84d0 100644
--- a/internal/rosa/cmake.go
+++ b/internal/rosa/cmake.go
@@ -13,19 +13,7 @@ func (t Toolchain) newCMake() pkg.Artifact {
version = "4.2.1"
checksum = "Y3OdbMsob6Xk2y1DCME6z4Fryb5_TkFD7knRT8dTNIRtSqbiCJyyDN9AxggN_I75"
)
- return t.New("cmake-"+version, 0, []pkg.Artifact{
- t.Load(Make),
- t.Load(KernelHeaders),
- }, nil, nil, `
-cd "$(mktemp -d)"
-/usr/src/cmake/bootstrap \
- --prefix=/system \
- --parallel="$(nproc)" \
- -- \
- -DCMAKE_USE_OPENSSL=OFF
-make "-j$(nproc)"
-make DESTDIR=/work install
-`, pkg.Path(AbsUsrSrc.Append("cmake"), true, t.NewPatchedSource(
+ return t.NewViaMake("cmake", version, t.NewPatchedSource(
// expected to be writable in the copy made during bootstrap
"cmake", version, pkg.NewHTTPGetTar(
nil, "https://github.com/Kitware/CMake/releases/download/"+
@@ -33,7 +21,21 @@ make DESTDIR=/work install
mustDecode(checksum),
pkg.TarGzip,
), false,
- )))
+ ), &MakeAttr{
+ OmitDefaults: true,
+
+ SkipConfigure: true,
+ ScriptConfigured: `
+/usr/src/cmake/bootstrap \
+ --prefix=/system \
+ --parallel="$(nproc)" \
+ -- \
+ -DCMAKE_USE_OPENSSL=OFF
+`,
+ SkipCheck: true,
+ },
+ t.Load(KernelHeaders),
+ )
}
func init() { artifactsF[CMake] = Toolchain.newCMake }