internal/rosa: mksh artifact
All checks were successful
Test / Create distribution (push) Successful in 59s
Test / Sandbox (push) Successful in 2m33s
Test / Hakurei (push) Successful in 3m55s
Test / ShareFS (push) Successful in 3m56s
Test / Hpkg (push) Successful in 4m26s
Test / Sandbox (race detector) (push) Successful in 5m0s
Test / Hakurei (race detector) (push) Successful in 6m14s
Test / Flake checks (push) Successful in 1m48s

This provides a shell, as part of the effort to replace busybox.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-01-28 22:51:03 +09:00
parent e76bc6a13a
commit 77ea27b038
2 changed files with 32 additions and 0 deletions

View File

@@ -37,6 +37,7 @@ const (
M4
Make
Meson
Mksh
NSS
NSSCACert
Ninja
@@ -111,6 +112,7 @@ func (t Toolchain) ResolveName(name string) (p PArtifact, ok bool) {
"m4": M4,
"make": Make,
"meson": Meson,
"mksh": Mksh,
"nss": NSS,
"nss-cacert": NSSCACert,
"ninja": Ninja,

30
internal/rosa/mksh.go Normal file
View File

@@ -0,0 +1,30 @@
package rosa
import "hakurei.app/internal/pkg"
func (t Toolchain) newMksh() pkg.Artifact {
const (
version = "59c"
checksum = "0Zj-k4nXEu3IuJY4lvwD2OrC2t27GdZj8SPy4DoaeuBRH1padWb7oREpYgwY8JNq"
)
return t.New("mksh-"+version, false, stage3Concat(t, []pkg.Artifact{},
t.Load(Make),
t.Load(Perl),
), nil, []string{
"LDSTATIC=-static",
}, `
cd "$(mktemp -d)"
sh /usr/src/mksh/Build.sh
./test.sh -C regress:no-ctty
mkdir -p /work/{bin,system/bin}
cp mksh /work/system/bin/sh
ln -vs ../system/bin/sh /work/bin
`, pkg.Path(AbsUsrSrc.Append("mksh"), false, pkg.NewHTTPGetTar(
nil,
"https://mbsd.evolvis.org/MirOS/dist/mir/mksh/mksh-R"+version+".tgz",
mustDecode(checksum),
pkg.TarGzip,
)))
}
func init() { artifactsF[Mksh] = Toolchain.newMksh }