internal/rosa: toybox artifact
All checks were successful
Test / Create distribution (push) Successful in 59s
Test / Sandbox (push) Successful in 2m42s
Test / ShareFS (push) Successful in 3m59s
Test / Hpkg (push) Successful in 4m32s
Test / Sandbox (race detector) (push) Successful in 5m0s
Test / Hakurei (race detector) (push) Successful in 5m52s
Test / Hakurei (push) Successful in 2m46s
Test / Flake checks (push) Successful in 1m54s
All checks were successful
Test / Create distribution (push) Successful in 59s
Test / Sandbox (push) Successful in 2m42s
Test / ShareFS (push) Successful in 3m59s
Test / Hpkg (push) Successful in 4m32s
Test / Sandbox (race detector) (push) Successful in 5m0s
Test / Hakurei (race detector) (push) Successful in 5m52s
Test / Hakurei (push) Successful in 2m46s
Test / Flake checks (push) Successful in 1m54s
This compiles surprisingly quickly and required no workarounds, unlike busybox. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -51,6 +51,7 @@ const (
|
|||||||
Python
|
Python
|
||||||
Rsync
|
Rsync
|
||||||
Setuptools
|
Setuptools
|
||||||
|
Toybox
|
||||||
Wayland
|
Wayland
|
||||||
WaylandProtocols
|
WaylandProtocols
|
||||||
XCB
|
XCB
|
||||||
@@ -126,6 +127,7 @@ func (t Toolchain) ResolveName(name string) (p PArtifact, ok bool) {
|
|||||||
"python": Python,
|
"python": Python,
|
||||||
"rsync": Rsync,
|
"rsync": Rsync,
|
||||||
"setuptools": Setuptools,
|
"setuptools": Setuptools,
|
||||||
|
"toybox": Toybox,
|
||||||
"wayland": Wayland,
|
"wayland": Wayland,
|
||||||
"wayland-protocols": WaylandProtocols,
|
"wayland-protocols": WaylandProtocols,
|
||||||
"xcb": XCB,
|
"xcb": XCB,
|
||||||
|
|||||||
53
internal/rosa/toybox.go
Normal file
53
internal/rosa/toybox.go
Normal file
@@ -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 }
|
||||||
Reference in New Issue
Block a user