internal/rosa/make: migrate to helper interface

This also updates all affected artifacts to use new behaviour.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-03-01 23:54:40 +09:00
parent 9deaf853f0
commit cc60e0d15d
41 changed files with 698 additions and 740 deletions

View File

@@ -11,23 +11,25 @@ func (t Toolchain) newPerl() pkg.Artifact {
version = "5.42.0"
checksum = "2KR7Jbpk-ZVn1a30LQRwbgUvg2AXlPQZfzrqCr31qD5-yEsTwVQ_W76eZH-EdxM9"
)
return t.NewViaMake("perl", version, t.NewPatchedSource(
"perl", version, pkg.NewHTTPGetTar(
nil, "https://www.cpan.org/src/5.0/perl-"+version+".tar.gz",
mustDecode(checksum),
pkg.TarGzip,
), false,
), &MakeAttr{
Writable: true,
OmitDefaults: true,
InPlace: true,
return t.NewPackage("perl", version, pkg.NewHTTPGetTar(
nil, "https://www.cpan.org/src/5.0/perl-"+version+".tar.gz",
mustDecode(checksum),
pkg.TarGzip,
), &PackageAttr{
// uses source tree as scratch space
Writable: true,
Chmod: true,
ScriptEarly: `
cd /usr/src/perl
echo 'print STDOUT "1..0 # Skip broken test\n";' > ext/Pod-Html/t/htmldir3.t
rm -f /system/bin/ps # perl does not like toybox ps
`,
Flag: TEarly,
}, &MakeHelper{
OmitDefaults: true,
InPlace: true,
ConfigureName: "./Configure",
Configure: [][2]string{
{"-des"},
@@ -42,9 +44,7 @@ rm -f /system/bin/ps # perl does not like toybox ps
"TEST_JOBS=256",
"test_harness",
},
ScriptInstall: "./perl -Ilib -I. installperl --destdir=/work",
Flag: TEarly,
Install: "./perl -Ilib -I. installperl --destdir=/work",
})
}
func init() { artifactsF[Perl] = Toolchain.newPerl }
@@ -91,25 +91,26 @@ func (t Toolchain) newViaPerlMakeMaker(
name, version string,
source pkg.Artifact,
patches [][2]string,
extra ...pkg.Artifact,
extra ...PArtifact,
) pkg.Artifact {
return t.NewViaMake("perl-"+name, version, t.NewPatchedSource(
"perl-"+name, version, source, false, patches...,
), &MakeAttr{
Writable: true,
return t.NewPackage("perl-"+name, version, source, &PackageAttr{
// uses source tree as scratch space
Writable: true,
Chmod: true,
EnterSource: true,
Patches: patches,
}, &MakeHelper{
OmitDefaults: true,
InPlace: true,
ScriptEarly: `
cd /usr/src/perl-` + name + `
`,
ConfigureName: "perl Makefile.PL",
Configure: [][2]string{
{"PREFIX", "/system"},
},
Check: []string{"test"},
}, slices.Concat(extra, []pkg.Artifact{
t.Load(Perl),
}, slices.Concat(extra, []PArtifact{
Perl,
})...)
}
@@ -194,7 +195,7 @@ func (t Toolchain) newPerlTextWrapI18N() pkg.Artifact {
mustDecode(checksum),
pkg.TarGzip,
), nil,
t.Load(PerlTextCharWidth),
PerlTextCharWidth,
)
}
func init() { artifactsF[PerlTextWrapI18N] = Toolchain.newPerlTextWrapI18N }
@@ -224,7 +225,7 @@ func (t Toolchain) newPerlUnicodeGCString() pkg.Artifact {
mustDecode(checksum),
pkg.TarGzip,
), nil,
t.Load(PerlMIMECharset),
PerlMIMECharset,
)
}
func init() { artifactsF[PerlUnicodeGCString] = Toolchain.newPerlUnicodeGCString }