aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-05-19 19:47:57 +0900
committerOphestra <cat@gensokyo.uk>2026-05-19 19:47:57 +0900
commit6fd6d971ed5251cf8b1114e142dacd3a2e8c4a44 (patch)
tree98dfdab2dc1ee4240de21dd668beb901428074dc
parent548c96c7ec4a8c7c5abb4df1dac3d4a8671e2171 (diff)
internal/rosa/package: migrate mksh
This benefits greatly from the new generic helper. Signed-off-by: Ophestra <cat@gensokyo.uk>
-rw-r--r--internal/rosa/mksh.go46
-rw-r--r--internal/rosa/package/mksh.az40
-rw-r--r--internal/rosa/rosa.go3
-rw-r--r--internal/rosa/state_native.go1
4 files changed, 43 insertions, 47 deletions
diff --git a/internal/rosa/mksh.go b/internal/rosa/mksh.go
deleted file mode 100644
index 26392d6c..00000000
--- a/internal/rosa/mksh.go
+++ /dev/null
@@ -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,
- })
-}
diff --git a/internal/rosa/package/mksh.az b/internal/rosa/package/mksh.az
new file mode 100644
index 00000000..21911196
--- /dev/null
+++ b/internal/rosa/package/mksh.az
@@ -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,
+ ];
+}
diff --git a/internal/rosa/rosa.go b/internal/rosa/rosa.go
index 584678f5..70a6c9b1 100644
--- a/internal/rosa/rosa.go
+++ b/internal/rosa/rosa.go
@@ -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,
diff --git a/internal/rosa/state_native.go b/internal/rosa/state_native.go
index 14e343de..31297d1e 100644
--- a/internal/rosa/state_native.go
+++ b/internal/rosa/state_native.go
@@ -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")