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