diff options
Diffstat (limited to 'internal/rosa/toybox.go')
| -rw-r--r-- | internal/rosa/toybox.go | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/internal/rosa/toybox.go b/internal/rosa/toybox.go new file mode 100644 index 00000000..f2e83a08 --- /dev/null +++ b/internal/rosa/toybox.go @@ -0,0 +1,53 @@ +package rosa + +import "hakurei.app/internal/pkg" + +func (t Toolchain) newToybox() pkg.Artifact { + const ( + version = "0.8.13" + checksum = "rZ1V1ATDte2WeQZanxLVoiRGdfPXhMlEo5-exX-e-ml8cGn9qOv0ABEUVZpX3wTI" + ) + return t.New("toybox-"+version, false, stage3Concat(t, []pkg.Artifact{}, + t.Load(Make), + t.Load(Bash), + + t.Load(KernelHeaders), + ), nil, stage3Concat(t, []string{}, + "ROSA_CHECK=make USER=cure tests", + ), ` +ln -s ../system/bin/bash /bin/ || true +cd /usr/src/toybox +chmod +w kconfig tests +rm \ + tests/du.test \ + tests/sed.test \ + tests/tar.test \ + tests/ls.test \ + tests/taskset.test + +make defconfig +sed -i \ + 's/^CONFIG_TOYBOX_ZHELP=y$/CONFIG_TOYBOX_ZHELP=0/' \ + .config +echo ' +CONFIG_EXPR=y +CONFIG_TR=y +CONFIG_AWK=y +CONFIG_DIFF=y +' >> .config +make \ + "-j$(nproc)" \ + LDFLAGS="${LDFLAGS} -static" +${ROSA_CHECK} +PREFIX=/work/system/bin make install_flat + +mkdir -p /work/usr/bin +ln -s ../../system/bin/env /work/usr/bin +`, pkg.Path(AbsUsrSrc.Append("toybox"), true, pkg.NewHTTPGetTar( + nil, + "https://landley.net/toybox/downloads/toybox-"+version+".tar.gz", + mustDecode(checksum), + pkg.TarGzip, + ))) +} +func init() { artifactsF[Toybox] = Toolchain.newToybox } |
