1
0
forked from rosa/hakurei
Files
hakurei/internal/rosa/strace.go
Ophestra 7c932cbceb internal/rosa: strace artifact
This is not part of the system, but a useful development tool. The test suite is quite broken but that is considered acceptable for now.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-17 20:40:17 +09:00

52 lines
1.1 KiB
Go

package rosa
import "hakurei.app/internal/pkg"
func (t Toolchain) newStrace() (pkg.Artifact, string) {
const (
version = "6.19"
checksum = "XJFJJ9XLh_1rHS3m_QNjLKzkkBAooE-QT9p9lJNNWowAmd54IJop_fI4-IFtjeeL"
)
return t.NewPackage("strace", version, pkg.NewHTTPGet(
nil, "https://strace.io/files/"+version+"/strace-"+version+".tar.xz",
mustDecode(checksum),
), &PackageAttr{
SourceKind: SourceKindTarXZ,
// patch not possible with nonzero SourceKind
ScriptEarly: `
sed -i 's/off64_t/off_t/g' \
tests/readahead.c \
tests/sync_file_range.c \
tests/sync_file_range2.c
sed -i 's/unsigned int msg_len;$/uint32_t msg_len;/g' \
tests/nlattr.c
`,
}, &MakeHelper{
Configure: [][2]string{
// tests broken on clang
{"disable-gcc-Werror"},
{"enable-mpers", "no"},
},
// does not compile on musl, hangs after patch
SkipCheck: true,
},
XZ,
KernelHeaders,
), version
}
func init() {
artifactsM[Strace] = Metadata{
f: Toolchain.newStrace,
Name: "strace",
Description: "a diagnostic, debugging and instructional userspace utility",
Website: "https://strace.io/",
ID: 4897,
}
}