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 }