summaryrefslogtreecommitdiff
path: root/dev-util/trinity
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/trinity')
-rw-r--r--dev-util/trinity/Manifest1
-rw-r--r--dev-util/trinity/files/trinity-1.9-gcc10_fix.patch34
-rw-r--r--dev-util/trinity/files/trinity-1.9-include_types_h.patch33
-rw-r--r--dev-util/trinity/metadata.xml12
-rw-r--r--dev-util/trinity/trinity-1.9.ebuild51
-rw-r--r--dev-util/trinity/trinity-9999.ebuild46
6 files changed, 177 insertions, 0 deletions
diff --git a/dev-util/trinity/Manifest b/dev-util/trinity/Manifest
new file mode 100644
index 000000000000..859d43bcd23c
--- /dev/null
+++ b/dev-util/trinity/Manifest
@@ -0,0 +1 @@
+DIST trinity-1.9.tar.xz 216364 BLAKE2B dbf5af03539fc7bac37fd49f495e3feb506c7a403f72d0ef0b85327a3714b8edef52260a03dce1082db05d520376d7b96b0f85d541d6dff67e1245b0e1b35fe8 SHA512 3a2ab84b61b450d50e46a5da5dffa803f92bf469fc3d04ff4cb39f26b4f486bede9790bb48fc6b3bbda0ee882f0acf5b610d39e86b16bea7f2207adef94be31a
diff --git a/dev-util/trinity/files/trinity-1.9-gcc10_fix.patch b/dev-util/trinity/files/trinity-1.9-gcc10_fix.patch
new file mode 100644
index 000000000000..9a17adaebcf9
--- /dev/null
+++ b/dev-util/trinity/files/trinity-1.9-gcc10_fix.patch
@@ -0,0 +1,34 @@
+From e53e25cc8dd5bdb5f7d9b4247de9e9921eec81d8 Mon Sep 17 00:00:00 2001
+From: Vinson Lee <vlee@freedesktop.org>
+Date: Thu, 30 Jan 2020 22:09:45 -0800
+Subject: [PATCH] Fix build with GCC 10.
+
+ CC trinity
+/usr/bin/ld: debug.o:include/logfile.h:8: multiple definition of `mainlogfile'; child.o:include/logfile.h:8: first defined here
+/usr/bin/ld: log-files.o:include/logfile.h:8: multiple definition of `mainlogfile'; child.o:include/logfile.h:8: first defined here
+/usr/bin/ld: log.o:include/logfile.h:8: multiple definition of `mainlogfile'; child.o:include/logfile.h:8: first defined here
+/usr/bin/ld: main.o:include/logfile.h:8: multiple definition of `mainlogfile'; child.o:include/logfile.h:8: first defined here
+/usr/bin/ld: output.o:include/logfile.h:8: multiple definition of `mainlogfile'; child.o:include/logfile.h:8: first defined here
+/usr/bin/ld: params.o:include/logfile.h:8: multiple definition of `mainlogfile'; child.o:include/logfile.h:8: first defined here
+/usr/bin/ld: shm.o:include/logfile.h:8: multiple definition of `mainlogfile'; child.o:include/logfile.h:8: first defined here
+/usr/bin/ld: trinity.o:include/logfile.h:8: multiple definition of `mainlogfile'; child.o:include/logfile.h:8: first defined here
+
+Fixes: 13856316c259 ("reinstate the log-to-file code for now.")
+Signed-off-by: Vinson Lee <vlee@freedesktop.org>
+---
+ include/logfile.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/logfile.h b/include/logfile.h
+index 90ea8b23..2305ac15 100644
+--- a/include/logfile.h
++++ b/include/logfile.h
+@@ -5,7 +5,7 @@
+ FILE *find_logfile_handle(void);
+ void synclogs(void);
+
+-FILE *mainlogfile;
++extern FILE *mainlogfile;
+ void open_main_logfile(void);
+ void close_logfile(FILE **handle);
+
diff --git a/dev-util/trinity/files/trinity-1.9-include_types_h.patch b/dev-util/trinity/files/trinity-1.9-include_types_h.patch
new file mode 100644
index 000000000000..0b8318ba2fb9
--- /dev/null
+++ b/dev-util/trinity/files/trinity-1.9-include_types_h.patch
@@ -0,0 +1,33 @@
+From 45fdc97620063be4318b9b361482fa1b5463e1d5 Mon Sep 17 00:00:00 2001
+From: Jiri Slaby <jslaby@suse.cz>
+Date: Mon, 18 Nov 2019 10:14:55 +0100
+Subject: [PATCH] modify_ldt: include linux/types.h before ASSEMBLY == 1
+
+Otherwise we see a lot of:
+In file included from /usr/include/bits/statx.h:30,
+ from /usr/include/sys/stat.h:446,
+ from include/files.h:3,
+ from include/shm.h:6,
+ from syscalls/x86/modify_ldt.c:12:
+/usr/include/linux/stat.h:57:2: error: unknown type name '__s64'
+ 57 | __s64 tv_sec;
+ | ^~~~~
+/usr/include/linux/stat.h:58:2: error: unknown type name '__u32'
+ 58 | __u32 tv_nsec;
+ | ^~~~~
+---
+ syscalls/x86/modify_ldt.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/syscalls/x86/modify_ldt.c b/syscalls/x86/modify_ldt.c
+index f2eaf065..0221561a 100644
+--- a/syscalls/x86/modify_ldt.c
++++ b/syscalls/x86/modify_ldt.c
+@@ -6,6 +6,7 @@
+ */
+ #include <stdlib.h>
+ #include <sys/types.h>
++#include <linux/types.h> /* before __ASSEMBLY__ == 1 */
+ #define __ASSEMBLY__ 1
+ #include <asm/ldt.h>
+ #include "sanitise.h"
diff --git a/dev-util/trinity/metadata.xml b/dev-util/trinity/metadata.xml
new file mode 100644
index 000000000000..4d1686608957
--- /dev/null
+++ b/dev-util/trinity/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>bircoph@gentoo.org</email>
+ <name>Andrew Savchenko</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kernelslacker/trinity</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-util/trinity/trinity-1.9.ebuild b/dev-util/trinity/trinity-1.9.ebuild
new file mode 100644
index 000000000000..06d08790fac7
--- /dev/null
+++ b/dev-util/trinity/trinity-1.9.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit toolchain-funcs
+
+DESCRIPTION="A Linux system call fuzz tester"
+HOMEPAGE="http://codemonkey.org.uk/projects/trinity/ https://github.com/kernelslacker/trinity/"
+SRC_URI="http://codemonkey.org.uk/projects/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples"
+
+# We need newer headers to avoid compilation failures in the BPF stuff.
+DEPEND="
+ >=sys-kernel/linux-headers-4.8
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-gcc10_fix.patch"
+ "${FILESDIR}/${P}-include_types_h.patch"
+)
+
+src_prepare() {
+ sed -e 's/-g -O2//' \
+ -e 's/-D_FORTIFY_SOURCE=2//' \
+ -e 's/-Werror//' \
+ -e '/-o $@/s/$(LDFLAGS) //' \
+ -i Makefile || die
+
+ tc-export CC
+ default
+}
+
+src_compile() {
+ emake V=1
+}
+
+src_install() {
+ dobin ${PN}
+ dodoc Documentation/* README
+ doman trinity.1
+
+ if use examples ; then
+ exeinto /usr/share/doc/${PF}/scripts
+ doexe scripts/*
+ docompress -x /usr/share/doc/${PF}/scripts
+ fi
+}
diff --git a/dev-util/trinity/trinity-9999.ebuild b/dev-util/trinity/trinity-9999.ebuild
new file mode 100644
index 000000000000..3910c2f87cdd
--- /dev/null
+++ b/dev-util/trinity/trinity-9999.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit toolchain-funcs git-r3
+
+EGIT_REPO_URI="https://github.com/kernelslacker/trinity.git"
+
+DESCRIPTION="A Linux system call fuzz tester"
+HOMEPAGE="http://codemonkey.org.uk/projects/trinity/ https://github.com/kernelslacker/trinity/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="examples"
+
+# We need newer headers to avoid compilation failures in the BPF stuff.
+DEPEND="
+ >=sys-kernel/linux-headers-4.8
+"
+
+src_prepare() {
+ sed -e 's/-g -O2//' \
+ -e 's/-D_FORTIFY_SOURCE=2//' \
+ -e 's/-Werror//' \
+ -e '/-o $@/s/$(LDFLAGS) //' \
+ -i Makefile || die
+
+ tc-export CC
+ default
+}
+
+src_compile() {
+ emake V=1
+}
+
+src_install() {
+ dobin ${PN}
+ dodoc Documentation/* README
+ doman trinity.1
+
+ if use examples ; then
+ exeinto /usr/share/doc/${PF}/scripts
+ doexe scripts/*
+ docompress -x /usr/share/doc/${PF}/scripts
+ fi
+}