aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-02-20 21:34:59 +0900
committerOphestra <cat@gensokyo.uk>2026-02-20 21:34:59 +0900
commitc2456e252c8b2d3e46ed0c5a1cc31a747d9fb701 (patch)
tree2a3876e19b381ae1e7a25695ccf70aaf2d888bfb
parent273068b90cf6117738c2aa1d48fd4fa9b471bf50 (diff)
internal/rosa: musl-obstack artifact
Yet another nonstandard glibc extension used by elfutils. Signed-off-by: Ophestra <cat@gensokyo.uk>
-rw-r--r--internal/rosa/all.go2
-rw-r--r--internal/rosa/musl-obstack.go33
2 files changed, 35 insertions, 0 deletions
diff --git a/internal/rosa/all.go b/internal/rosa/all.go
index 5e6500a4..c3ffb944 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 00000000..2b45ed87
--- /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 }