All checks were successful
Test / Create distribution (push) Successful in 1m2s
Test / Sandbox (push) Successful in 1m48s
Test / Sandbox (race detector) (push) Successful in 2m52s
Test / Hakurei (push) Successful in 3m1s
Test / ShareFS (push) Successful in 3m16s
Test / Hakurei (race detector) (push) Successful in 3m58s
Test / Hpkg (push) Successful in 3m57s
Test / Flake checks (push) Successful in 1m48s
This is stage0 relative to Rosa OS, and stage3 relative to the toolchain it is compiled on (Gentoo in this case). Referring to the toolchain itself as stage3 is counterintuitive and misleading. Signed-off-by: Ophestra <cat@gensokyo.uk>
65 lines
1.3 KiB
Go
65 lines
1.3 KiB
Go
package rosa
|
|
|
|
import "hakurei.app/internal/pkg"
|
|
|
|
func (t Toolchain) newToybox(suffix, script string) pkg.Artifact {
|
|
const (
|
|
version = "0.8.13"
|
|
checksum = "rZ1V1ATDte2WeQZanxLVoiRGdfPXhMlEo5-exX-e-ml8cGn9qOv0ABEUVZpX3wTI"
|
|
)
|
|
return t.New("toybox-"+version+suffix, TEarly, stage0Concat(t, []pkg.Artifact{},
|
|
t.Load(Make),
|
|
t.Load(Bash),
|
|
t.Load(Gzip),
|
|
|
|
t.Load(KernelHeaders),
|
|
), nil, stage0Concat(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
|
|
`+script+`
|
|
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] = func(t Toolchain) pkg.Artifact {
|
|
return t.newToybox("", "")
|
|
}
|
|
|
|
artifactsF[toyboxEarly] = func(t Toolchain) pkg.Artifact {
|
|
return t.newToybox("-early", `
|
|
echo '
|
|
CONFIG_EXPR=y
|
|
CONFIG_TR=y
|
|
CONFIG_AWK=y
|
|
CONFIG_DIFF=y
|
|
' >> .config
|
|
`)
|
|
}
|
|
}
|