internal/rosa/package: migrate perl packages

Most of these are currently unused.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-05-19 04:08:22 +09:00
parent 4389df60ae
commit 23515f67c8
4 changed files with 233 additions and 260 deletions

View File

@@ -544,6 +544,23 @@ func (s *S) getFrame() azalea.Frame {
return
}},
k("remoteCPAN"): {F: func(
args azalea.FArgs,
) (v any, set bool, err error) {
var author, name, version, checksum string
if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
k("author"): &author,
k("name"): &name,
k("version"): &version,
k("checksum"): &checksum,
}); err != nil {
return
}
v = newFromCPAN(author, name, version, checksum)
set = true
return
}},
k("remoteGitHub"): {F: func(
args azalea.FArgs,
) (v any, set bool, err error) {
@@ -592,6 +609,20 @@ func (s *S) getFrame() azalea.Frame {
return
}},
k("makeMaker"): {F: func(
args azalea.FArgs,
) (v any, set bool, err error) {
var attr MakeMakerHelper
if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
k("skipCheck"): &attr.SkipCheck,
}); err != nil {
return
}
v = &attr
set = true
return
}},
k("pip"): {F: func(
args azalea.FArgs,
) (v any, set bool, err error) {
@@ -679,7 +710,8 @@ func (ctx *evalContext) pf(
inputs, runtimes azalea.Array
anityaFallback bool
anityaFallback bool
anityaLegacyCPAN bool
)
if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
k("description"): &meta.Description,
@@ -701,7 +733,8 @@ func (ctx *evalContext) pf(
k("inputs"): &inputs,
k("runtime"): &runtimes,
k("anityaFallback"): &anityaFallback,
k("anityaFallback"): &anityaFallback,
k("anityaLegacyCPAN"): &anityaLegacyCPAN,
}); err != nil {
return
}
@@ -733,6 +766,20 @@ func (ctx *evalContext) pf(
meta.ID = int(anitya)
if anityaFallback {
meta.latest = (*Versions).getStable
} else if anityaLegacyCPAN {
meta.latest = func(v *Versions) string {
for _, s := range v.Stable {
_, m, ok := strings.Cut(s, ".")
if !ok {
continue
}
if len(m) > 1 && m[0] == '0' {
continue
}
return s
}
return v.Latest
}
}
var source pkg.Artifact
switch p := sourceA.(type) {