diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-03-04 18:01:18 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-03-05 00:20:27 +0900 |
| commit | d2c6d486b06073aa88ee1912d3587f657cd57304 (patch) | |
| tree | 42e7df590ee8cda255e4cd35f9bd5ff7f9b2f94f /internal/rosa/perl.go | |
| parent | 6fdd800b2b421b32e7db373b576433126c4652a2 (diff) | |
internal/rosa: provide package metadata
This had to be done out-of-band because there was no way to efficiently represent these within Artifact.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/perl.go')
| -rw-r--r-- | internal/rosa/perl.go | 154 |
1 files changed, 121 insertions, 33 deletions
diff --git a/internal/rosa/perl.go b/internal/rosa/perl.go index 64e8c549..e98cddc6 100644 --- a/internal/rosa/perl.go +++ b/internal/rosa/perl.go @@ -6,7 +6,7 @@ import ( "hakurei.app/internal/pkg" ) -func (t Toolchain) newPerl() pkg.Artifact { +func (t Toolchain) newPerl() (pkg.Artifact, string) { const ( version = "5.42.0" checksum = "2KR7Jbpk-ZVn1a30LQRwbgUvg2AXlPQZfzrqCr31qD5-yEsTwVQ_W76eZH-EdxM9" @@ -45,9 +45,17 @@ rm -f /system/bin/ps # perl does not like toybox ps "test_harness", }, Install: "./perl -Ilib -I. installperl --destdir=/work", - }) + }), version +} +func init() { + artifactsM[Perl] = Metadata{ + f: Toolchain.newPerl, + + Name: "perl", + Description: "The Perl Programming language", + Website: "https://www.perl.org/", + } } -func init() { artifactsF[Perl] = Toolchain.newPerl } // newViaPerlModuleBuild installs a perl module via Build.PL. func (t Toolchain) newViaPerlModuleBuild( @@ -72,7 +80,7 @@ perl Build.PL --prefix=/system ))) } -func (t Toolchain) newPerlModuleBuild() pkg.Artifact { +func (t Toolchain) newPerlModuleBuild() (pkg.Artifact, string) { const ( version = "0.4234" checksum = "ZKxEFG4hE1rqZt52zBL2LRZBMkYzhjb5-cTBXcsyA52EbPeeYyVxU176yAea8-Di" @@ -82,9 +90,17 @@ func (t Toolchain) newPerlModuleBuild() pkg.Artifact { "Module-Build-"+version+".tar.gz", mustDecode(checksum), pkg.TarGzip, - ), nil) + ), nil), version +} +func init() { + artifactsM[PerlModuleBuild] = Metadata{ + f: Toolchain.newPerlModuleBuild, + + Name: "perl-Module::Build", + Description: "build and install Perl modules", + Website: "https://metacpan.org/release/Module-Build", + } } -func init() { artifactsF[PerlModuleBuild] = Toolchain.newPerlModuleBuild } // newViaPerlMakeMaker installs a perl module via Makefile.PL. func (t Toolchain) newViaPerlMakeMaker( @@ -114,7 +130,7 @@ func (t Toolchain) newViaPerlMakeMaker( })...) } -func (t Toolchain) newPerlLocaleGettext() pkg.Artifact { +func (t Toolchain) newPerlLocaleGettext() (pkg.Artifact, string) { const ( version = "1.07" checksum = "cFq4BKFD1MWSoa7lsrPjpdo9kzPqd0jlRcBFUyL1L1isw8m3D_Sge_ff0MAu_9J3" @@ -124,11 +140,19 @@ func (t Toolchain) newPerlLocaleGettext() pkg.Artifact { "Locale-gettext-"+version+".tar.gz", mustDecode(checksum), pkg.TarGzip, - ), nil) + ), nil), version +} +func init() { + artifactsM[PerlLocaleGettext] = Metadata{ + f: Toolchain.newPerlLocaleGettext, + + Name: "perl-Locale::gettext", + Description: "message handling functions", + Website: "https://metacpan.org/release/Locale-gettext", + } } -func init() { artifactsF[PerlLocaleGettext] = Toolchain.newPerlLocaleGettext } -func (t Toolchain) newPerlPodParser() pkg.Artifact { +func (t Toolchain) newPerlPodParser() (pkg.Artifact, string) { const ( version = "1.67" checksum = "RdURu9mOfExk_loCp6abxlcQV3FycSNbTqhRS9i6JUqnYfGGEgercK30g0gjYyqe" @@ -138,11 +162,19 @@ func (t Toolchain) newPerlPodParser() pkg.Artifact { "Pod-Parser-"+version+".tar.gz", mustDecode(checksum), pkg.TarGzip, - ), nil) + ), nil), version } -func init() { artifactsF[PerlPodParser] = Toolchain.newPerlPodParser } +func init() { + artifactsM[PerlPodParser] = Metadata{ + f: Toolchain.newPerlPodParser, -func (t Toolchain) newPerlSGMLS() pkg.Artifact { + Name: "perl-Pod::Parser", + Description: "base class for creating POD filters and translators", + Website: "https://metacpan.org/release/Pod-Parser", + } +} + +func (t Toolchain) newPerlSGMLS() (pkg.Artifact, string) { const ( version = "1.1" checksum = "aZijn4MUqD-wfyZgdcCruCwl4SgDdu25cNmJ4_UvdAk9a7uz4gzMQdoeB6DQ6QOy" @@ -152,11 +184,19 @@ func (t Toolchain) newPerlSGMLS() pkg.Artifact { "SGMLSpm-"+version+".tar.gz", mustDecode(checksum), pkg.TarGzip, - ), nil) + ), nil), version } -func init() { artifactsF[PerlSGMLS] = Toolchain.newPerlSGMLS } +func init() { + artifactsM[PerlSGMLS] = Metadata{ + f: Toolchain.newPerlSGMLS, -func (t Toolchain) newPerlTermReadKey() pkg.Artifact { + Name: "perl-SGMLS", + Description: "class for postprocessing the output from the sgmls and nsgmls parsers", + Website: "https://metacpan.org/release/RAAB/SGMLSpm-1.1", + } +} + +func (t Toolchain) newPerlTermReadKey() (pkg.Artifact, string) { const ( version = "2.38" checksum = "qerL8Xo7kD0f42PZoiEbmE8Roc_S9pOa27LXelY4DN_0UNy_u5wLrGHI8utNlaiI" @@ -166,11 +206,19 @@ func (t Toolchain) newPerlTermReadKey() pkg.Artifact { "TermReadKey-"+version+".tar.gz", mustDecode(checksum), pkg.TarGzip, - ), nil) + ), nil), version +} +func init() { + artifactsM[PerlTermReadKey] = Metadata{ + f: Toolchain.newPerlTermReadKey, + + Name: "perl-Term::ReadKey", + Description: "a perl module for simple terminal control", + Website: "https://metacpan.org/release/TermReadKey", + } } -func init() { artifactsF[PerlTermReadKey] = Toolchain.newPerlTermReadKey } -func (t Toolchain) newPerlTextCharWidth() pkg.Artifact { +func (t Toolchain) newPerlTextCharWidth() (pkg.Artifact, string) { const ( version = "0.04" checksum = "G2p5RHU4_HiZ23ZusBA_enTlVMxz0J4esUx4CGcOPhY6xYTbp-aXWRN6lYZpzBw2" @@ -180,11 +228,19 @@ func (t Toolchain) newPerlTextCharWidth() pkg.Artifact { "Text-CharWidth-"+version+".tar.gz", mustDecode(checksum), pkg.TarGzip, - ), nil) + ), nil), version } -func init() { artifactsF[PerlTextCharWidth] = Toolchain.newPerlTextCharWidth } +func init() { + artifactsM[PerlTextCharWidth] = Metadata{ + f: Toolchain.newPerlTextCharWidth, -func (t Toolchain) newPerlTextWrapI18N() pkg.Artifact { + Name: "perl-Text::CharWidth", + Description: "get number of occupied columns of a string on terminal", + Website: "https://metacpan.org/release/Text-CharWidth", + } +} + +func (t Toolchain) newPerlTextWrapI18N() (pkg.Artifact, string) { const ( version = "0.06" checksum = "Vmo89qLgxUqyQ6QmWJVqu60aQAUjrNKRjFQSXGnvClxofzRjiCa6idzPgJ4VkixM" @@ -196,11 +252,19 @@ func (t Toolchain) newPerlTextWrapI18N() pkg.Artifact { pkg.TarGzip, ), nil, PerlTextCharWidth, - ) + ), version } -func init() { artifactsF[PerlTextWrapI18N] = Toolchain.newPerlTextWrapI18N } +func init() { + artifactsM[PerlTextWrapI18N] = Metadata{ + f: Toolchain.newPerlTextWrapI18N, -func (t Toolchain) newPerlMIMECharset() pkg.Artifact { + Name: "perl-Text::WrapI18N", + Description: "line wrapping module", + Website: "https://metacpan.org/release/Text-WrapI18N", + } +} + +func (t Toolchain) newPerlMIMECharset() (pkg.Artifact, string) { const ( version = "1.013.1" checksum = "Ou_ukcrOa1cgtE3mptinb-os3bdL1SXzbRDFZQF3prrJj-drc3rp_huay7iDLJol" @@ -210,11 +274,19 @@ func (t Toolchain) newPerlMIMECharset() pkg.Artifact { "MIME-Charset-"+version+".tar.gz", mustDecode(checksum), pkg.TarGzip, - ), nil) + ), nil), version } -func init() { artifactsF[PerlMIMECharset] = Toolchain.newPerlMIMECharset } +func init() { + artifactsM[PerlMIMECharset] = Metadata{ + f: Toolchain.newPerlMIMECharset, -func (t Toolchain) newPerlUnicodeGCString() pkg.Artifact { + Name: "perl-MIME::Charset", + Description: "Charset Information for MIME", + Website: "https://metacpan.org/release/MIME-Charset", + } +} + +func (t Toolchain) newPerlUnicodeGCString() (pkg.Artifact, string) { const ( version = "2019.001" checksum = "ZHVkh7EDgAUHnTpvXsnPAuWpgNoBImtY_9_8TIbo2co_WgUwEb0MtXPhI8pAZ5OH" @@ -226,11 +298,19 @@ func (t Toolchain) newPerlUnicodeGCString() pkg.Artifact { pkg.TarGzip, ), nil, PerlMIMECharset, - ) + ), version +} +func init() { + artifactsM[PerlUnicodeGCString] = Metadata{ + f: Toolchain.newPerlUnicodeGCString, + + Name: "perl-Unicode::GCString", + Description: "String as Sequence of UAX #29 Grapheme Clusters", + Website: "https://metacpan.org/release/Unicode-LineBreak", + } } -func init() { artifactsF[PerlUnicodeGCString] = Toolchain.newPerlUnicodeGCString } -func (t Toolchain) newPerlYAMLTiny() pkg.Artifact { +func (t Toolchain) newPerlYAMLTiny() (pkg.Artifact, string) { const ( version = "1.76" checksum = "V1MV4KPym1LxSw8CRXqPR3K-l1hGHbT5Ob4t-9xju6R9X_CWyw6hI8wsMaNdHdBY" @@ -240,6 +320,14 @@ func (t Toolchain) newPerlYAMLTiny() pkg.Artifact { "YAML-Tiny-"+version+".tar.gz", mustDecode(checksum), pkg.TarGzip, - ), nil) + ), nil), version +} +func init() { + artifactsM[PerlYAMLTiny] = Metadata{ + f: Toolchain.newPerlYAMLTiny, + + Name: "perl-YAML::Tiny", + Description: "read/write YAML files with as little code as possible", + Website: "https://metacpan.org/release/YAML-Tiny", + } } -func init() { artifactsF[PerlYAMLTiny] = Toolchain.newPerlYAMLTiny } |
