From c2456e252c8b2d3e46ed0c5a1cc31a747d9fb701 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Fri, 20 Feb 2026 21:34:59 +0900 Subject: [PATCH] internal/rosa: musl-obstack artifact Yet another nonstandard glibc extension used by elfutils. Signed-off-by: Ophestra --- internal/rosa/all.go | 2 ++ internal/rosa/musl-obstack.go | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 internal/rosa/musl-obstack.go diff --git a/internal/rosa/all.go b/internal/rosa/all.go index 5e6500a..c3ffb94 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -58,6 +58,7 @@ const ( Meson Mksh MuslFts + MuslObstack NSS NSSCACert Ninja @@ -175,6 +176,7 @@ func ResolveName(name string) (p PArtifact, ok bool) { "meson": Meson, "mksh": Mksh, "musl-fts": MuslFts, + "musl-obstack": MuslObstack, "nss": NSS, "nss-cacert": NSSCACert, "ninja": Ninja, diff --git a/internal/rosa/musl-obstack.go b/internal/rosa/musl-obstack.go new file mode 100644 index 0000000..2b45ed8 --- /dev/null +++ b/internal/rosa/musl-obstack.go @@ -0,0 +1,33 @@ +package rosa + +import "hakurei.app/internal/pkg" + +func (t Toolchain) newMuslObstack() pkg.Artifact { + const ( + version = "1.2.3" + checksum = "tVRY_KjIlkkMszcaRlkKdBVQHIXTT_T_TiMxbwErlILXrOBosocg8KklppZhNdCG" + ) + return t.NewViaMake("musl-obstack", version, pkg.NewHTTPGetTar( + nil, "https://github.com/void-linux/musl-obstack/archive/refs/tags/"+ + "v"+version+".tar.gz", + mustDecode(checksum), + pkg.TarGzip, + ), &MakeAttr{ + Writable: true, + Env: []string{ + "CC=cc -fPIC", + }, + ScriptEarly: ` +cd /usr/src/musl-obstack +./bootstrap.sh +`, + }, + t.Load(M4), + t.Load(Perl), + t.Load(Autoconf), + t.Load(Automake), + t.Load(Libtool), + t.Load(PkgConfig), + ) +} +func init() { artifactsF[MuslObstack] = Toolchain.newMuslObstack }