aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--internal/rosa/all.go1
-rw-r--r--internal/rosa/strace.go51
2 files changed, 52 insertions, 0 deletions
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,
+ }
+}