All checks were successful
Test / Create distribution (push) Successful in 59s
Test / Sandbox (push) Successful in 2m41s
Test / Hakurei (push) Successful in 3m53s
Test / ShareFS (push) Successful in 3m57s
Test / Hpkg (push) Successful in 4m28s
Test / Sandbox (race detector) (push) Successful in 5m5s
Test / Hakurei (race detector) (push) Successful in 6m9s
Test / Flake checks (push) Successful in 2m26s
Doing these together breaks far too many buggy makefiles. Signed-off-by: Ophestra <cat@gensokyo.uk>
77 lines
1.4 KiB
Go
77 lines
1.4 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.NewViaMake("toybox"+suffix, version, pkg.NewHTTPGetTar(
|
|
nil,
|
|
"https://landley.net/toybox/downloads/toybox-"+version+".tar.gz",
|
|
mustDecode(checksum),
|
|
pkg.TarGzip,
|
|
), &MakeAttr{
|
|
Writable: true,
|
|
OmitDefaults: true,
|
|
InPlace: true,
|
|
SkipConfigure: true,
|
|
|
|
ScriptEarly: `
|
|
LDFLAGS="${LDFLAGS:-''} -static"
|
|
|
|
chmod +w /bin/
|
|
ln -rs "$(which bash)" /bin/ || true
|
|
|
|
cd /usr/src/toybox` + suffix + `
|
|
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
|
|
`,
|
|
ScriptConfigured: script,
|
|
SkipCheck: t.isStage0(),
|
|
Check: []string{
|
|
"USER=cure",
|
|
"tests",
|
|
},
|
|
ScriptInstall: "PREFIX=/work/system/bin make install_flat",
|
|
Script: `
|
|
mkdir -p /work/usr/bin
|
|
ln -s ../../system/bin/env /work/usr/bin
|
|
`,
|
|
|
|
Flag: TEarly,
|
|
},
|
|
t.Load(Bash),
|
|
t.Load(Gzip),
|
|
|
|
t.Load(KernelHeaders),
|
|
)
|
|
}
|
|
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
|
|
`)
|
|
}
|
|
}
|