diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-03-01 23:54:40 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-03-02 01:24:50 +0900 |
| commit | cc60e0d15d79916a69c8a1caeb3c4611351bb6c4 (patch) | |
| tree | 67f4f59ed7ba7b18af51338e56ffa8d9acf52da6 /internal/rosa/perl.go | |
| parent | 9deaf853f0676ee4475468bffd35aae7e1160a74 (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.go | 55 |
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 } |
