aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/gnu.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-01-29 18:24:01 +0900
committerOphestra <cat@gensokyo.uk>2026-01-29 18:24:01 +0900
commitd1b404dc3a257a8063cb7d69b60c17c0c59c48a2 (patch)
treef28862346db221ae375c25cbfaacd4bc6b4dce3f /internal/rosa/gnu.go
parent744e4e0632732219a21f86412d800a8c9e28250d (diff)
internal/rosa: findutils artifact
Required by llvm test suite, compiler-rt sanitisers-related tests fail on toybox xargs. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/gnu.go')
-rw-r--r--internal/rosa/gnu.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/internal/rosa/gnu.go b/internal/rosa/gnu.go
index 9aa9142d..8104dba4 100644
--- a/internal/rosa/gnu.go
+++ b/internal/rosa/gnu.go
@@ -322,3 +322,35 @@ make DESTDIR=/work install
)))
}
func init() { artifactsF[Gawk] = Toolchain.newGawk }
+
+func (t Toolchain) newFindutils() pkg.Artifact {
+ const (
+ version = "4.10.0"
+ checksum = "ZXABdNBQXL7QjTygynRRTdXYWxQKZ0Wn5eMd3NUnxR0xaS0u0VfcKoTlbo50zxv6"
+ )
+ return t.New("findutils-"+version, false, []pkg.Artifact{
+ t.Load(Make),
+ t.Load(XZ),
+ t.Load(Sed),
+ }, nil, nil, `
+cd /usr/src
+xzcat findutils.tar.xz | tar -x
+mv 'findutils-`+version+`' findutils
+
+cd findutils
+echo '#!/bin/sh' > gnulib-tests/test-c32ispunct.sh
+echo 'int main(){return 0;}' > tests/xargs/test-sigusr.c
+
+cd "$(mktemp -d)"
+/usr/src/findutils/configure \
+ --prefix=/system \
+ --build="${ROSA_TRIPLE}"
+make "-j$(nproc)" check
+make DESTDIR=/work install
+`, pkg.Path(AbsUsrSrc.Append("findutils.tar.xz"), false, pkg.NewHTTPGet(
+ nil,
+ "https://ftp.gnu.org/gnu/findutils/findutils-"+version+".tar.xz",
+ mustDecode(checksum),
+ )))
+}
+func init() { artifactsF[Findutils] = Toolchain.newFindutils }