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")