diff --git a/internal/rosa/all.go b/internal/rosa/all.go index c76a15c..5cffdbe 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -51,6 +51,7 @@ const ( Python Rsync Setuptools + Toybox Wayland WaylandProtocols XCB @@ -126,6 +127,7 @@ func (t Toolchain) ResolveName(name string) (p PArtifact, ok bool) { "python": Python, "rsync": Rsync, "setuptools": Setuptools, + "toybox": Toybox, "wayland": Wayland, "wayland-protocols": WaylandProtocols, "xcb": XCB, diff --git a/internal/rosa/toybox.go b/internal/rosa/toybox.go new file mode 100644 index 0000000..d29d638 --- /dev/null +++ b/internal/rosa/toybox.go @@ -0,0 +1,38 @@ +package rosa + +import "hakurei.app/internal/pkg" + +func (t Toolchain) newToybox() pkg.Artifact { + const ( + version = "0.8.9" + checksum = "ek4CoKxDsdS2QXuQzXfTn9ADDFjUlY4OtNC-tUiJ6WGxGdtgdLzKG_MzCIaXYcAN" + ) + return t.New("toybox-"+version, false, stage3Concat(t, []pkg.Artifact{}, + t.Load(Make), + t.Load(Bash), + + t.Load(KernelHeaders), + ), nil, nil, ` +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 + +export LDFLAGS="${LDFLAGS} -static" +make defconfig +make \ + "-j$(nproc)" \ + USER=cure \ + tests +PREFIX=/work/system/bin make install_flat +`, 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 }