aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/perl.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-03-01 23:54:40 +0900
committerOphestra <cat@gensokyo.uk>2026-03-02 01:24:50 +0900
commitcc60e0d15d79916a69c8a1caeb3c4611351bb6c4 (patch)
tree67f4f59ed7ba7b18af51338e56ffa8d9acf52da6 /internal/rosa/perl.go
parent9deaf853f0676ee4475468bffd35aae7e1160a74 (diff)
internal/rosa/make: migrate to helper interface
This also updates all affected artifacts to use new behaviour. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/perl.go')
-rw-r--r--internal/rosa/perl.go55
1 files changed, 28 insertions, 27 deletions
diff --git a/internal/rosa/perl.go b/internal/rosa/perl.go
index 2598cdc1..64e8c549 100644
--- a/internal/rosa/perl.go
+++ b/internal/rosa/perl.go
@@ -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 }