internal/rosa: lazy initialise all artifacts
All checks were successful
Test / Create distribution (push) Successful in 48s
Test / Sandbox (push) Successful in 2m37s
Test / Hakurei (push) Successful in 4m5s
Test / ShareFS (push) Successful in 4m2s
Test / Hpkg (push) Successful in 4m33s
Test / Sandbox (race detector) (push) Successful in 4m59s
Test / Hakurei (race detector) (push) Successful in 5m57s
Test / Flake checks (push) Successful in 1m44s

This improves performance, though not as drastically as lazy initialising llvm.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-01-25 01:32:21 +09:00
parent 43b8a40fc0
commit 20790af71e
17 changed files with 174 additions and 94 deletions

View File

@@ -4,20 +4,19 @@ import (
"hakurei.app/internal/pkg"
)
// NewGit returns a [pkg.Artifact] containing an installation of git.
func (t Toolchain) NewGit() pkg.Artifact {
func (t Toolchain) newGit() pkg.Artifact {
const (
version = "2.52.0"
checksum = "uH3J1HAN_c6PfGNJd2OBwW4zo36n71wmkdvityYnrh8Ak0D1IifiAvEWz9Vi9DmS"
)
return t.New("git-"+version, stage3Concat(t, []pkg.Artifact{},
t.NewMake(),
t.NewPerl(),
t.NewM4(),
t.NewAutoconf(),
t.NewGettext(),
t.Load(Make),
t.Load(Perl),
t.Load(M4),
t.Load(Autoconf),
t.Load(Gettext),
t.NewZlib(),
t.Load(Zlib),
), nil, nil, `
chmod -R +w /usr/src/git && cd /usr/src/git
make configure
@@ -31,3 +30,4 @@ make DESTDIR=/work install
pkg.TarGzip,
)))
}
func init() { artifactsF[Git] = Toolchain.newGit }