internal/rosa: key metadata by string

For upcoming azalea integration. The API is quite ugly right now to ease migration.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-05-17 13:07:12 +09:00
parent c2ff9c9fa5
commit 30eb0d6a61
95 changed files with 1514 additions and 1567 deletions

View File

@@ -2,7 +2,8 @@ package rosa
import "hakurei.app/internal/pkg"
func (t Toolchain) newHakurei(
func (s *S) newHakurei(
t Toolchain,
suffix, script string,
withHostname bool,
) pkg.Artifact {
@@ -14,7 +15,7 @@ go build -o /bin/hostname /usr/src/hostname/main.go
hostname = ""
}
return t.New("hakurei"+suffix+"-"+hakureiVersion, 0, t.AppendPresets(nil,
return s.New(t, "hakurei"+suffix+"-"+hakureiVersion, 0, s.AppendPresets(t, nil,
Go,
PkgConfig,
@@ -38,8 +39,8 @@ go build -o /bin/hostname /usr/src/hostname/main.go
cd /usr/src/hakurei
HAKUREI_VERSION='v`+hakureiVersion+`'
`+script, pkg.Path(AbsUsrSrc.Append("hakurei"), true, t.NewPatchedSource(
"hakurei", hakureiVersion, hakureiSource, false, hakureiPatches...,
`+script, pkg.Path(AbsUsrSrc.Append("hakurei"), true, s.NewPatchedSource(
t, "hakurei", hakureiVersion, hakureiSource, false, hakureiPatches...,
)), pkg.Path(AbsUsrSrc.Append("hostname", "main.go"), false, pkg.NewFile(
"hostname.go",
[]byte(`
@@ -58,9 +59,9 @@ func main() {
)))
}
func init() {
artifactsM[Hakurei] = Metadata{
f: func(t Toolchain) (pkg.Artifact, string) {
return t.newHakurei("", `
native.MustRegister(&Artifact{
f: func(t Toolchain, s *S) (pkg.Artifact, string) {
return s.newHakurei(t, "", `
mkdir -p /work/system/libexec/hakurei/
echo "Building hakurei for $(go env GOOS)/$(go env GOARCH)."
@@ -93,14 +94,14 @@ mkdir -p /work/system/bin/
Website: "https://hakurei.app/",
ID: 388834,
}
artifactsM[HakureiDist] = Metadata{
f: func(t Toolchain) (pkg.Artifact, string) {
})
native.MustRegister(&Artifact{
f: func(t Toolchain, s *S) (pkg.Artifact, string) {
name := "all"
if presetOpts&OptSkipCheck != 0 {
if s.opts&OptSkipCheck != 0 {
name = "make"
}
return t.newHakurei("-dist", `
return s.newHakurei(t, "-dist", `
export HAKUREI_VERSION
DESTDIR=/work /usr/src/hakurei/`+name+`.sh
`, true), hakureiVersion
@@ -109,5 +110,5 @@ DESTDIR=/work /usr/src/hakurei/`+name+`.sh
Name: "hakurei-dist",
Description: "low-level userspace tooling for Rosa OS (distribution tarball)",
Website: "https://hakurei.app/",
}
})
}