diff --git a/internal/rosa/all.go b/internal/rosa/all.go index 9ab8309e..0122ed44 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -123,6 +123,7 @@ const ( Sed Setuptools SquashfsTools + Strace TamaGo Tar Texinfo diff --git a/internal/rosa/strace.go b/internal/rosa/strace.go new file mode 100644 index 00000000..0cae379f --- /dev/null +++ b/internal/rosa/strace.go @@ -0,0 +1,51 @@ +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, + } +}