All checks were successful
Test / Create distribution (push) Successful in 1m1s
Test / Sandbox (push) Successful in 2m44s
Test / Hakurei (push) Successful in 3m57s
Test / ShareFS (push) Successful in 4m4s
Test / Hpkg (push) Successful in 4m38s
Test / Sandbox (race detector) (push) Successful in 5m0s
Test / Hakurei (race detector) (push) Successful in 6m12s
Test / Flake checks (push) Successful in 1m40s
This is much cleaner and eliminates the early ugliness. Signed-off-by: Ophestra <cat@gensokyo.uk>
49 lines
1.1 KiB
Go
49 lines
1.1 KiB
Go
package rosa
|
|
|
|
import "hakurei.app/internal/pkg"
|
|
|
|
func (t Toolchain) newMusl(
|
|
headers bool,
|
|
env []string,
|
|
extra ...pkg.Artifact,
|
|
) pkg.Artifact {
|
|
const (
|
|
version = "1.2.5"
|
|
checksum = "y6USdIeSdHER_Fw2eT2CNjqShEye85oEg2jnOur96D073ukmIpIqDOLmECQroyDb"
|
|
)
|
|
|
|
name := "musl"
|
|
attr := MakeAttr{
|
|
OmitDefaults: true,
|
|
SkipCheck: true,
|
|
|
|
Env: env,
|
|
Script: `
|
|
mkdir -p /work/system/bin
|
|
COMPAT_LINKER_NAME="ld-musl-` + linuxArch() + `.so.1"
|
|
ln -vs ../lib/libc.so /work/system/bin/linker
|
|
ln -vs ../lib/libc.so /work/system/bin/ldd
|
|
ln -vs libc.so "/work/system/lib/${COMPAT_LINKER_NAME}"
|
|
rm -v "/work/lib/${COMPAT_LINKER_NAME}"
|
|
rmdir -v /work/lib
|
|
`,
|
|
}
|
|
|
|
if headers {
|
|
name += "-headers"
|
|
attr.ScriptInstall = "make DESTDIR=/work install-headers"
|
|
attr.Script = ""
|
|
}
|
|
|
|
return t.NewViaMake(name, version, t.NewPatchedSource(
|
|
// expected to be writable in copies
|
|
"musl", version, pkg.NewHTTPGetTar(
|
|
nil, "https://musl.libc.org/releases/musl-"+version+".tar.gz",
|
|
mustDecode(checksum),
|
|
pkg.TarGzip,
|
|
), false,
|
|
), &attr, stage0Concat(t, extra,
|
|
t.Load(Coreutils),
|
|
)...)
|
|
}
|