From 85eda49b2b7ab27cbebfd82200760ff609b003c5 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Thu, 29 Jan 2026 18:06:17 +0900 Subject: [PATCH] internal/rosa: xz artifact 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 --- internal/rosa/all.go | 2 ++ internal/rosa/xz.go | 27 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 internal/rosa/xz.go diff --git a/internal/rosa/all.go b/internal/rosa/all.go index 72c7e17..9b4872a 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -58,6 +58,7 @@ const ( XCB XCBProto Xproto + XZ Zlib buildcatrust @@ -135,6 +136,7 @@ func ResolveName(name string) (p PArtifact, ok bool) { "xcb": XCB, "xcb-proto": XCBProto, "xproto": Xproto, + "xz": XZ, "zlib": Zlib, }[name] return diff --git a/internal/rosa/xz.go b/internal/rosa/xz.go new file mode 100644 index 0000000..2d95ce1 --- /dev/null +++ b/internal/rosa/xz.go @@ -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 }