internal/rosa/package: migrate mksh
All checks were successful
Test / Create distribution (push) Successful in 1m4s
Test / Sandbox (push) Successful in 2m43s
Test / Hakurei (push) Successful in 3m50s
Test / ShareFS (push) Successful in 3m46s
Test / Sandbox (race detector) (push) Successful in 5m33s
Test / Hakurei (race detector) (push) Successful in 7m42s
Test / Flake checks (push) Successful in 2m4s

This benefits greatly from the new generic helper.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-05-19 19:47:57 +09:00
parent 548c96c7ec
commit 6fd6d971ed
4 changed files with 43 additions and 47 deletions

View File

@@ -1,46 +0,0 @@
package rosa
import "hakurei.app/internal/pkg"
func (t Toolchain) newMksh() (pkg.Artifact, string) {
const (
version = "59c"
checksum = "0Zj-k4nXEu3IuJY4lvwD2OrC2t27GdZj8SPy4DoaeuBRH1padWb7oREpYgwY8JNq"
)
scriptTest := "./test.sh -C regress:no-ctty\n"
if t.opts&OptSkipCheck != 0 {
scriptTest = ""
}
return t.New("mksh-"+version, 0, t.Append(nil,
Perl,
Coreutils,
), nil, []string{
"LDSTATIC=-static",
"CPPFLAGS=-DMKSH_DEFAULT_PROFILEDIR=\\\"/system/etc\\\"",
}, `
cd "$(mktemp -d)"
sh /usr/src/mksh/Build.sh -r
CPPFLAGS="${CPPFLAGS} -DMKSH_BINSHPOSIX -DMKSH_BINSHREDUCED" \
sh /usr/src/mksh/Build.sh -r -L
`+scriptTest+`
mkdir -p /work/system/bin/
cp -v mksh /work/system/bin/
cp -v lksh /work/system/bin/sh
mkdir -p /work/bin/
ln -vs ../system/bin/sh /work/bin/
`, pkg.Path(AbsUsrSrc.Append("mksh"), false, newTar(
"https://mbsd.evolvis.org/MirOS/dist/mir/mksh/mksh-R"+version+".tgz",
checksum,
pkg.TarGzip,
))), version
}
func init() {
native.mustRegister(Toolchain.newMksh, &Metadata{
Name: "mksh",
Description: "MirBSD Korn Shell",
Website: "https://www.mirbsd.org/mksh",
ID: 5590,
})
}

View File

@@ -0,0 +1,40 @@
package mksh {
description = "MirBSD Korn Shell";
website = "https://www.mirbsd.org/mksh";
anitya = 5590;
version* = "59c";
source = remoteTar {
url = "https://mbsd.evolvis.org/MirOS/dist/mir/mksh/mksh-R"+version+".tgz";
checksum = "0Zj-k4nXEu3IuJY4lvwD2OrC2t27GdZj8SPy4DoaeuBRH1padWb7oREpYgwY8JNq";
compress = gzip;
};
env = [
"LDSTATIC=-static",
"CPPFLAGS=-DMKSH_DEFAULT_PROFILEDIR=\\\"/system/etc\\\"",
];
exec = generic {
mktemp = true;
build = `sh /usr/src/mksh/Build.sh -r
CPPFLAGS="${CPPFLAGS} -DMKSH_BINSHPOSIX -DMKSH_BINSHREDUCED" \
sh /usr/src/mksh/Build.sh -r -L
`;
check = "./test.sh -C regress:no-ctty\n";
install = `
mkdir -p /work/system/bin/
cp -v mksh /work/system/bin/
cp -v lksh /work/system/bin/sh
mkdir -p /work/bin/
ln -vs ../system/bin/sh /work/bin/
`;
};
inputs = [
perl,
coreutils,
];
}

View File

@@ -224,6 +224,9 @@ const (
THostNet
)
// The Mksh shell is added by [Toolchain.New] and used by almost all packages.
var Mksh = H("mksh")
// New returns a [pkg.Artifact] based on a [Toolchain] via s.
func (t Toolchain) New(
name string,

View File

@@ -102,7 +102,6 @@ var (
MPC = H("mpc")
MPFR = H("mpfr")
Mesa = H("mesa")
Mksh = H("mksh")
MuslFts = H("musl-fts")
MuslObstack = H("musl-obstack")
NSS = H("nss")