internal/rosa: xz artifact
All checks were successful
Test / Create distribution (push) Successful in 59s
Test / Sandbox (push) Successful in 2m35s
Test / Hakurei (push) Successful in 3m49s
Test / ShareFS (push) Successful in 3m58s
Test / Hpkg (push) Successful in 4m35s
Test / Sandbox (race detector) (push) Successful in 4m55s
Test / Hakurei (race detector) (push) Successful in 5m57s
Test / Flake checks (push) Successful in 1m40s

Wanted to avoid this as much as possible. Unfortunately newer versions of GNU findutils only come in xz and is required for llvm compiler-rt sanitisers.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-01-29 18:06:17 +09:00
parent b26bc05bb0
commit 85eda49b2b
2 changed files with 29 additions and 0 deletions

View File

@@ -58,6 +58,7 @@ const (
XCB XCB
XCBProto XCBProto
Xproto Xproto
XZ
Zlib Zlib
buildcatrust buildcatrust
@@ -135,6 +136,7 @@ func ResolveName(name string) (p PArtifact, ok bool) {
"xcb": XCB, "xcb": XCB,
"xcb-proto": XCBProto, "xcb-proto": XCBProto,
"xproto": Xproto, "xproto": Xproto,
"xz": XZ,
"zlib": Zlib, "zlib": Zlib,
}[name] }[name]
return return

27
internal/rosa/xz.go Normal file
View File

@@ -0,0 +1,27 @@
package rosa
import "hakurei.app/internal/pkg"
func (t Toolchain) newXZ() pkg.Artifact {
const (
version = "5.8.2"
checksum = "rXT-XCp9R2q6cXqJ5qenp0cmGPfiENQiU3BWtUVeVgArfRmSsISeUJgvCR3zI0a0"
)
return t.New("xz-"+version, false, []pkg.Artifact{
t.Load(Make),
}, nil, nil, `
cd "$(mktemp -d)"
/usr/src/xz/configure \
--prefix=/system \
--build="${ROSA_TRIPLE}"
make "-j$(nproc)" check
make DESTDIR=/work install
`, pkg.Path(AbsUsrSrc.Append("xz"), false, pkg.NewHTTPGetTar(
nil,
"https://github.com/tukaani-project/xz/releases/download/"+
"v"+version+"/xz-"+version+".tar.bz2",
mustDecode(checksum),
pkg.TarBzip2,
)))
}
func init() { artifactsF[XZ] = Toolchain.newXZ }