summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-forensics/afl/afl-2.57b-r2.ebuild')
-rw-r--r--app-forensics/afl/afl-2.57b-r2.ebuild51
1 files changed, 51 insertions, 0 deletions
diff --git a/app-forensics/afl/afl-2.57b-r2.ebuild b/app-forensics/afl/afl-2.57b-r2.ebuild
new file mode 100644
index 000000000000..1d63aae81046
--- /dev/null
+++ b/app-forensics/afl/afl-2.57b-r2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+# See https://github.com/google/AFL/pull/117
+PATCHES=(
+ "${FILESDIR}/${P}-install-readmemd.diff"
+ "${FILESDIR}/${P}-implicit-int-clang16.patch"
+)
+
+DESCRIPTION="american fuzzy lop - compile-time instrumentation fuzzer"
+HOMEPAGE="https://lcamtuf.coredump.cx/afl/"
+SRC_URI="https://github.com/google/AFL/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="sys-devel/gcc:*
+ !app-forensics/aflplusplus"
+RDEPEND="${DEPEND}"
+QA_PREBUILT="/usr/share/afl/testcases/others/elf/small_exec.elf"
+
+S="${WORKDIR}/AFL-${PV}"
+
+src_compile() {
+ emake CC="$(tc-getCC)" \
+ PREFIX="${EPREFIX}/usr" \
+ HELPER_PATH="${EPREFIX}/usr/$(get_libdir)/afl" \
+ DOC_PATH="${EPREFIX}/usr/share/doc/${PF}"
+# Not compatible with latest clang, see
+# https://github.com/google/AFL/issues/151
+#
+# CC="clang" CXX="clang++" strip-unsupported-flags
+# cd llvm_mode || die
+# emake \
+# PREFIX="${EPREFIX}/usr" \
+# HELPER_PATH="${EPREFIX}/usr/$(get_libdir)/afl" \
+# DOC_PATH="${EPREFIX}/usr/share/doc/${PF}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ HELPER_PATH="${EPREFIX}/usr/$(get_libdir)/afl" \
+ DOC_PATH="${EPREFIX}/usr/share/doc/${PF}" \
+ install
+}