aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/state.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/rosa/state.go')
-rw-r--r--internal/rosa/state.go37
1 files changed, 37 insertions, 0 deletions
diff --git a/internal/rosa/state.go b/internal/rosa/state.go
index 2a938064..d0e2c5a3 100644
--- a/internal/rosa/state.go
+++ b/internal/rosa/state.go
@@ -454,6 +454,23 @@ func (s *S) getFrame() azalea.Frame {
}
return v.Latest
},
+ k("anityaFilterSPIRV"): func(v *Versions) string {
+ for _, e := range v.Stable {
+ fields := strings.SplitN(e, ".", 4)
+ if len(fields) != 4 {
+ continue
+ }
+ if slices.ContainsFunc(fields, func(f string) bool {
+ return slices.ContainsFunc([]byte(f), func(d byte) bool {
+ return d < '0' || d > '9'
+ })
+ }) {
+ continue
+ }
+ return e
+ }
+ return v.Latest
+ },
}
s.frame.Func = map[unique.Handle[azalea.Ident]]azalea.F{
@@ -689,6 +706,26 @@ func (s *S) getFrame() azalea.Frame {
return
}},
+ k("cmake"): {F: func(
+ args azalea.FArgs,
+ ) (v any, set bool, err error) {
+ var attr CMakeHelper
+ if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
+ k("append"): &attr.Append,
+ k("buildType"): &attr.BuildType,
+ k("cache"): &attr.Cache,
+ k("postInstall"): &attr.Script,
+ k("test"): &attr.Test,
+ k("skipTest"): &attr.SkipTest,
+ k("make"): &attr.Make,
+ }); err != nil {
+ return
+ }
+ v = &attr
+ set = true
+ return
+ }},
+
k("meson"): {F: func(
args azalea.FArgs,
) (v any, set bool, err error) {