diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-01-29 18:06:17 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-01-29 18:06:17 +0900 |
| commit | 85eda49b2b7ab27cbebfd82200760ff609b003c5 (patch) | |
| tree | 617f17b7fe126d79de5580c8237367400c36cb6e | |
| parent | b26bc05bb0c392e52e964061ec598f4487e14f08 (diff) | |
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 <cat@gensokyo.uk>
| -rw-r--r-- | internal/rosa/all.go | 2 | ||||
| -rw-r--r-- | internal/rosa/xz.go | 27 |
2 files changed, 29 insertions, 0 deletions
diff --git a/internal/rosa/all.go b/internal/rosa/all.go index 72c7e176..9b4872a3 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 00000000..2d95ce1e --- /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 } |
