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

@@ -7,12 +7,12 @@ import (
"hakurei.app/internal/pkg"
)
func (t Toolchain) newPerl(s *S) (pkg.Artifact, string) {
func (t Toolchain) newPerl() (pkg.Artifact, string) {
const (
version = "5.42.2"
checksum = "Me_xFfgkRnVyG0sE6a74TktK2OUq9Z1LVJNEu_9RdZG3S2fbjfzNiuk2SJqHAgbm"
)
return s.NewPackage(t, "perl", version, newTar(
return t.NewPackage("perl", version, newTar(
"https://www.cpan.org/src/5.0/perl-"+version+".tar.gz",
checksum,
pkg.TarGzip,
@@ -65,8 +65,7 @@ func init() {
}
// newViaPerlModuleBuild installs a perl module via Build.PL.
func (s *S) newViaPerlModuleBuild(
t Toolchain,
func (t Toolchain) newViaPerlModuleBuild(
name, version string,
source pkg.Artifact,
patches []KV,
@@ -75,7 +74,7 @@ func (s *S) newViaPerlModuleBuild(
if name == "" || version == "" {
panic("names must be non-empty")
}
return s.New(t, "perl-"+name, 0, s.AppendPresets(t, nil,
return t.New("perl-"+name, 0, t.Append(nil,
slices.Concat(P{Perl}, extra)...,
), nil, nil, `
cd /usr/src/`+name+`
@@ -83,17 +82,17 @@ perl Build.PL --prefix=/system
./Build build
./Build test
./Build install --destdir=/work
`, pkg.Path(AbsUsrSrc.Append(name), true, s.NewPatchedSource(t,
`, pkg.Path(AbsUsrSrc.Append(name), true, t.NewPatchedSource(
"perl-"+name, version, source, false, patches...,
)))
}
func (t Toolchain) newPerlModuleBuild(s *S) (pkg.Artifact, string) {
func (t Toolchain) newPerlModuleBuild() (pkg.Artifact, string) {
const (
version = "0.4234"
checksum = "ZKxEFG4hE1rqZt52zBL2LRZBMkYzhjb5-cTBXcsyA52EbPeeYyVxU176yAea8-Di"
)
return s.newViaPerlModuleBuild(t, "Module-Build", version, newTar(
return t.newViaPerlModuleBuild("Module-Build", version, newTar(
"https://cpan.metacpan.org/authors/id/L/LE/LEONT/"+
"Module-Build-"+version+".tar.gz",
checksum,
@@ -115,14 +114,13 @@ func init() {
}
// newViaPerlMakeMaker installs a perl module via Makefile.PL.
func (s *S) newViaPerlMakeMaker(
t Toolchain,
func (t Toolchain) newViaPerlMakeMaker(
name, version string,
source pkg.Artifact,
patches []KV,
extra ...ArtifactH,
) pkg.Artifact {
return s.NewPackage(t, "perl-"+name, version, source, &PackageAttr{
return t.NewPackage("perl-"+name, version, source, &PackageAttr{
// uses source tree as scratch space
Writable: true,
Chmod: true,
@@ -143,12 +141,12 @@ func (s *S) newViaPerlMakeMaker(
})...)
}
func (t Toolchain) newPerlLocaleGettext(s *S) (pkg.Artifact, string) {
func (t Toolchain) newPerlLocaleGettext() (pkg.Artifact, string) {
const (
version = "1.07"
checksum = "cFq4BKFD1MWSoa7lsrPjpdo9kzPqd0jlRcBFUyL1L1isw8m3D_Sge_ff0MAu_9J3"
)
return s.newViaPerlMakeMaker(t, "Locale::gettext", version, newFromCPAN(
return t.newViaPerlMakeMaker("Locale::gettext", version, newFromCPAN(
"PVANDRY",
"Locale-gettext",
version,
@@ -167,12 +165,12 @@ func init() {
})
}
func (t Toolchain) newPerlPodParser(s *S) (pkg.Artifact, string) {
func (t Toolchain) newPerlPodParser() (pkg.Artifact, string) {
const (
version = "1.67"
checksum = "RdURu9mOfExk_loCp6abxlcQV3FycSNbTqhRS9i6JUqnYfGGEgercK30g0gjYyqe"
)
return s.newViaPerlMakeMaker(t, "Pod::Parser", version, newFromCPAN(
return t.newViaPerlMakeMaker("Pod::Parser", version, newFromCPAN(
"MAREKR",
"Pod-Parser",
version,
@@ -191,12 +189,12 @@ func init() {
})
}
func (t Toolchain) newPerlSGMLS(s *S) (pkg.Artifact, string) {
func (t Toolchain) newPerlSGMLS() (pkg.Artifact, string) {
const (
version = "1.1"
checksum = "aZijn4MUqD-wfyZgdcCruCwl4SgDdu25cNmJ4_UvdAk9a7uz4gzMQdoeB6DQ6QOy"
)
return s.newViaPerlMakeMaker(t, "SGMLS", version, newFromCPAN(
return t.newViaPerlMakeMaker("SGMLS", version, newFromCPAN(
"RAAB",
"SGMLSpm",
version,
@@ -229,12 +227,12 @@ func init() {
})
}
func (t Toolchain) newPerlTermReadKey(s *S) (pkg.Artifact, string) {
func (t Toolchain) newPerlTermReadKey() (pkg.Artifact, string) {
const (
version = "2.38"
checksum = "qerL8Xo7kD0f42PZoiEbmE8Roc_S9pOa27LXelY4DN_0UNy_u5wLrGHI8utNlaiI"
)
return s.newViaPerlMakeMaker(t, "Term::ReadKey", version, newFromCPAN(
return t.newViaPerlMakeMaker("Term::ReadKey", version, newFromCPAN(
"JSTOWE",
"TermReadKey",
version,
@@ -253,12 +251,12 @@ func init() {
})
}
func (t Toolchain) newPerlTextCharWidth(s *S) (pkg.Artifact, string) {
func (t Toolchain) newPerlTextCharWidth() (pkg.Artifact, string) {
const (
version = "0.04"
checksum = "G2p5RHU4_HiZ23ZusBA_enTlVMxz0J4esUx4CGcOPhY6xYTbp-aXWRN6lYZpzBw2"
)
return s.newViaPerlMakeMaker(t, "Text::CharWidth", version, newFromCPAN(
return t.newViaPerlMakeMaker("Text::CharWidth", version, newFromCPAN(
"KUBOTA",
"Text-CharWidth",
version,
@@ -277,12 +275,12 @@ func init() {
})
}
func (t Toolchain) newPerlTextWrapI18N(s *S) (pkg.Artifact, string) {
func (t Toolchain) newPerlTextWrapI18N() (pkg.Artifact, string) {
const (
version = "0.06"
checksum = "Vmo89qLgxUqyQ6QmWJVqu60aQAUjrNKRjFQSXGnvClxofzRjiCa6idzPgJ4VkixM"
)
return s.newViaPerlMakeMaker(t, "Text::WrapI18N", version, newFromCPAN(
return t.newViaPerlMakeMaker("Text::WrapI18N", version, newFromCPAN(
"KUBOTA",
"Text-WrapI18N",
version,
@@ -307,12 +305,12 @@ func init() {
})
}
func (t Toolchain) newPerlMIMECharset(s *S) (pkg.Artifact, string) {
func (t Toolchain) newPerlMIMECharset() (pkg.Artifact, string) {
const (
version = "1.013.1"
checksum = "Ou_ukcrOa1cgtE3mptinb-os3bdL1SXzbRDFZQF3prrJj-drc3rp_huay7iDLJol"
)
return s.newViaPerlMakeMaker(t, "MIME::Charset", version, newFromCPAN(
return t.newViaPerlMakeMaker("MIME::Charset", version, newFromCPAN(
"NEZUMI",
"MIME-Charset",
version,
@@ -331,12 +329,12 @@ func init() {
})
}
func (t Toolchain) newPerlUnicodeLineBreak(s *S) (pkg.Artifact, string) {
func (t Toolchain) newPerlUnicodeLineBreak() (pkg.Artifact, string) {
const (
version = "2019.001"
checksum = "ZHVkh7EDgAUHnTpvXsnPAuWpgNoBImtY_9_8TIbo2co_WgUwEb0MtXPhI8pAZ5OH"
)
return s.newViaPerlMakeMaker(t, "Unicode::LineBreak", version, newFromCPAN(
return t.newViaPerlMakeMaker("Unicode::LineBreak", version, newFromCPAN(
"NEZUMI",
"Unicode-LineBreak",
version,
@@ -361,12 +359,12 @@ func init() {
})
}
func (t Toolchain) newPerlYAMLTiny(s *S) (pkg.Artifact, string) {
func (t Toolchain) newPerlYAMLTiny() (pkg.Artifact, string) {
const (
version = "1.76"
checksum = "V1MV4KPym1LxSw8CRXqPR3K-l1hGHbT5Ob4t-9xju6R9X_CWyw6hI8wsMaNdHdBY"
)
return s.newViaPerlMakeMaker(t, "YAML::Tiny", version, newFromCPAN(
return t.newViaPerlMakeMaker("YAML::Tiny", version, newFromCPAN(
"ETHER",
"YAML-Tiny",
version,
@@ -385,12 +383,12 @@ func init() {
})
}
func (t Toolchain) newPerlTestCmd(s *S) (pkg.Artifact, string) {
func (t Toolchain) newPerlTestCmd() (pkg.Artifact, string) {
const (
version = "1.09"
checksum = "gpGUwyC9IozDiYSgW_kXARNfXsTPFa6cTowJmmCBbPqcs2-pONZca_SB06FGy-7H"
)
return s.newViaPerlMakeMaker(t, "Test::Cmd", version, newFromCPAN(
return t.newViaPerlMakeMaker("Test::Cmd", version, newFromCPAN(
"NEILB",
"Test-Cmd",
version,