aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/state.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-05-19 04:08:22 +0900
committerOphestra <cat@gensokyo.uk>2026-05-19 04:08:22 +0900
commit23515f67c8a74ea50e3f57d482ff13f07589ee46 (patch)
tree017f13aad3d859a2fdc8090003b122fdc6e81c0d /internal/rosa/state.go
parent4389df60ae781cb12030d6dfc2e2cedc6c419eaf (diff)
internal/rosa/package: migrate perl packages
Most of these are currently unused. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/state.go')
-rw-r--r--internal/rosa/state.go51
1 files changed, 49 insertions, 2 deletions
diff --git a/internal/rosa/state.go b/internal/rosa/state.go
index f52f99cb..388a6cc5 100644
--- a/internal/rosa/state.go
+++ b/internal/rosa/state.go
@@ -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) {