internal/rosa/gnu: grep artifact
All checks were successful
Test / Create distribution (push) Successful in 1m0s
Test / Sandbox (push) Successful in 2m54s
Test / Hakurei (push) Successful in 4m28s
Test / ShareFS (push) Successful in 4m34s
Test / Hpkg (push) Successful in 5m3s
Test / Sandbox (race detector) (push) Successful in 5m36s
Test / Hakurei (race detector) (push) Successful in 6m53s
Test / Flake checks (push) Successful in 1m59s

Some GNU software do not like the grep in toybox.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-02-02 18:37:40 +09:00
parent 7877b4e627
commit 550e83dda9
2 changed files with 28 additions and 2 deletions

View File

@@ -24,6 +24,7 @@ const (
Git
Go
Gperf
Grep
Gzip
Hakurei
HakureiDist
@@ -104,6 +105,7 @@ func ResolveName(name string) (p PArtifact, ok bool) {
"git": Git,
"go": Go,
"gperf": Gperf,
"grep": Grep,
"gzip": Gzip,
"hakurei": Hakurei,
"hakurei-dist": HakureiDist,

View File

@@ -49,8 +49,7 @@ func (t Toolchain) newAutoconf() pkg.Artifact {
checksum = "-c5blYkC-xLDer3TWEqJTyh1RLbOd1c5dnRLKsDnIrg_wWNOLBpaqMY8FvmUFJ33"
)
return t.NewViaMake("autoconf", version, pkg.NewHTTPGetTar(
nil,
"https://ftpmirror.gnu.org/gnu/autoconf/autoconf-"+version+".tar.gz",
nil, "https://ftpmirror.gnu.org/gnu/autoconf/autoconf-"+version+".tar.gz",
mustDecode(checksum),
pkg.TarGzip,
), &MakeAttr{
@@ -250,6 +249,31 @@ func (t Toolchain) newGawk() pkg.Artifact {
}
func init() { artifactsF[Gawk] = Toolchain.newGawk }
func (t Toolchain) newGrep() pkg.Artifact {
const (
version = "3.12"
checksum = "qMB4RjaPNRRYsxix6YOrjE8gyAT1zVSTy4nW4wKW9fqa0CHYAuWgPwDTirENzm_1"
)
return t.NewViaMake("grep", version, pkg.NewHTTPGetTar(
nil, "https://ftpmirror.gnu.org/gnu/grep/grep-"+version+".tar.gz",
mustDecode(checksum),
pkg.TarGzip,
), &MakeAttr{
Writable: true,
ScriptEarly: `
cd /usr/src/grep
test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
test_disable '#!/bin/sh' gnulib-tests/test-c32ispunct.sh
test_disable 'int main(){return 0;}' gnulib-tests/test-c32ispunct.c
`,
},
t.Load(Diffutils),
)
}
func init() { artifactsF[Grep] = Toolchain.newGrep }
func (t Toolchain) newFindutils() pkg.Artifact {
const (
version = "4.10.0"