internal/rosa: pass stage alongside state

This cleans up many function signatures.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-05-17 16:44:13 +09:00
parent 30eb0d6a61
commit 38bc2c7508
89 changed files with 563 additions and 558 deletions

View File

@@ -2,7 +2,7 @@ package rosa
import "hakurei.app/internal/pkg"
func (s *S) newMusl(t Toolchain, headers bool) (pkg.Artifact, string) {
func (t Toolchain) newMusl(headers bool) (pkg.Artifact, string) {
const (
version = "1.2.6"
checksum = "WtWb_OV_XxLDAB5NerOL9loLlHVadV00MmGk65PPBU1evaolagoMHfvpZp_vxEzS"
@@ -14,7 +14,7 @@ func (s *S) newMusl(t Toolchain, headers bool) (pkg.Artifact, string) {
SkipCheck: true,
Script: `
mkdir -p /work/system/bin
COMPAT_LINKER_NAME="ld-musl-` + s.linuxArch() + `.so.1"
COMPAT_LINKER_NAME="ld-musl-` + t.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}"
@@ -34,9 +34,9 @@ rmdir -v /work/lib
}
env := []string{
"LDFLAGS=" + s.earlyLDFLAGS(false),
"LDFLAGS=" + t.earlyLDFLAGS(false),
}
if t.isStage0() {
if t.stage.isStage0() {
env = append(env,
"CC=clang",
"AR=ar",
@@ -44,7 +44,7 @@ rmdir -v /work/lib
)
}
return s.NewPackage(t, name, version, newTar(
return t.NewPackage(name, version, newTar(
"https://musl.libc.org/releases/musl-"+version+".tar.gz",
checksum,
pkg.TarGzip,
@@ -76,8 +76,8 @@ index 715948f4..c2fece68 100644
}
func init() {
native.MustRegister(&Artifact{
f: func(t Toolchain, s *S) (pkg.Artifact, string) {
return s.newMusl(t, false)
f: func(t Toolchain) (pkg.Artifact, string) {
return t.newMusl(false)
},
Name: "musl",
@@ -88,8 +88,8 @@ func init() {
})
native.MustRegister(&Artifact{
f: func(t Toolchain, s *S) (pkg.Artifact, string) {
return s.newMusl(t, true)
f: func(t Toolchain) (pkg.Artifact, string) {
return t.newMusl(true)
},
Name: "musl-headers",