internal/rosa: create metadata alongside artifact
All checks were successful
Test / Create distribution (push) Successful in 1m5s
Test / Sandbox (push) Successful in 2m45s
Test / ShareFS (push) Successful in 3m47s
Test / Hakurei (push) Successful in 4m0s
Test / Sandbox (race detector) (push) Successful in 5m28s
Test / Hakurei (race detector) (push) Successful in 6m32s
Test / Flake checks (push) Successful in 1m21s

This enables deferring evaluation of azalea-based packages and fixes the longstanding quirk of version being disjoint from other metadata.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-05-19 00:03:42 +09:00
parent 0e95573f18
commit 8807cbc730
88 changed files with 612 additions and 874 deletions

View File

@@ -88,9 +88,7 @@ index 19aea290b58..51603ba9510 100644
), version
}
func init() {
native.MustRegister(&Artifact{
f: Toolchain.newPython,
native.mustRegister(Toolchain.newPython, &Metadata{
Name: "python",
Description: "the Python programming language interpreter",
Website: "https://www.python.org/",
@@ -200,15 +198,13 @@ func (s *S) newPythonPackage(
build P, extra ...ArtifactH,
) {
name = "python-" + name
s.MustRegister(&Artifact{
f: func(t Toolchain) (pkg.Artifact, string) {
return t.NewPackage(name, version, source, attrP, attr, slices.Concat(
P{Python},
extra,
build,
)...), version
},
s.mustRegister(func(t Toolchain) (pkg.Artifact, string) {
return t.NewPackage(name, version, source, attrP, attr, slices.Concat(
P{Python},
extra,
build,
)...), version
}, &Metadata{
Name: name,
Description: description,
Website: website,
@@ -352,18 +348,16 @@ func init() {
}
func init() {
native.MustRegister(&Artifact{
f: func(t Toolchain) (pkg.Artifact, string) {
source, version := t.Load(llvmSource)
return t.NewPackage("lit", version, source, nil, &PipHelper{
Append: []string{"llvm", "utils", "lit"},
// already checked during llvm
SkipCheck: true,
},
PythonSetuptools,
), version
native.mustRegister(func(t Toolchain) (pkg.Artifact, string) {
meta, source := t.Load(llvmSource)
return t.NewPackage("lit", meta.Version, source, nil, &PipHelper{
Append: []string{"llvm", "utils", "lit"},
// already checked during llvm
SkipCheck: true,
},
PythonSetuptools,
), meta.Version
}, &Metadata{
Name: "lit",
Description: "a portable tool for executing LLVM and Clang style test suites",
Website: "https://llvm.org/docs/CommandGuide/lit.html",