482be83401
The GCC flavor is broken. Disable it while I figure out if the port still has an actual need for different flavors or if time has come to unflavorize it.
83 lines
2.4 KiB
Makefile
83 lines
2.4 KiB
Makefile
PORTNAME= afl
|
|
DISTVERSIONPREFIX= v
|
|
DISTVERSION= 4.30c
|
|
CATEGORIES= security
|
|
PKGNAMESUFFIX= ++-${FLAVOR}
|
|
|
|
MAINTAINER= salvadore@FreeBSD.org
|
|
COMMENT= Fast instrumented fuzzer
|
|
WWW= https://aflplus.plus/
|
|
|
|
LICENSE= APACHE20
|
|
LICENSE_FILE= ${WRKSRC}/docs/COPYING
|
|
|
|
ONLY_FOR_ARCHS= aarch64 amd64 i386 powerpc powerpc64 powerpc64le riscv64
|
|
ONLY_FOR_ARCHS_REASON= uses x86-only instrumentation or requires complete LLVM support
|
|
|
|
BUILD_DEPENDS= ginstall:sysutils/coreutils
|
|
|
|
FLAVORS= llvm # gcc
|
|
FLAVOR?= ${FLAVORS:[1]}
|
|
|
|
_LLVM_VER= 16
|
|
llvm_BUILD_DEPENDS= clang${_LLVM_VER}:devel/llvm${_LLVM_VER}
|
|
llvm_RUN_DEPENDS= clang${_LLVM_VER}:devel/llvm${_LLVM_VER}
|
|
|
|
USES= gmake shebangfix tar:tgz
|
|
.if ${FLAVOR} == gcc
|
|
USE_GCC= yes
|
|
.endif
|
|
USE_GITHUB= yes
|
|
GH_ACCOUNT= AFLplusplus
|
|
GH_PROJECT= AFLplusplus
|
|
SHEBANG_FILES= afl-persistent-config
|
|
|
|
MAKEFILE= GNUmakefile
|
|
MAKE_ARGS= ${${ARCH} != amd64 && ${ARCH} != i386:?AFL_NO_X86=1:} \
|
|
PREFIX="${PREFIX}/${PKGBASE}"
|
|
.if ${FLAVOR} == llvm
|
|
CFLAGS_riscv64= -mno-relax
|
|
MAKE_ARGS+= CC=clang${_LLVM_VER} \
|
|
CXX=clang++${_LLVM_VER} \
|
|
LLVM_CONFIG=llvm-config${_LLVM_VER}
|
|
.endif
|
|
ALL_TARGET= distrib
|
|
QA_ENV= IGNORE_QA_stripped=1 # unstripped to keep it functional
|
|
|
|
DOCSDIR= ${PREFIX}/${PKGBASE}/share/doc/afl
|
|
MANDIRS= ${PREFIX}/${PKGBASE}/share/man/man8
|
|
BINARY_ALIAS= install=ginstall
|
|
PORTDOCS= *
|
|
|
|
OPTIONS_DEFINE= DEBUG DOCS PYTHON
|
|
OPTIONS_DEFAULT= PYTHON
|
|
|
|
PYTHON_DESC= Python mutators support
|
|
|
|
PYTHON_USES= gettext-runtime python
|
|
PYTHON_BINARY_ALIAS= python3-config=${PYTHON_CMD}-config \
|
|
python3=${PYTHON_CMD}
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} '/alt_cc/ s,"gcc","gcc${GCC_DEFAULT:S/-devel$//}",' \
|
|
${WRKSRC}/src/afl-cc.c
|
|
.if ${FLAVOR} == gcc
|
|
@${REINPLACE_CMD} 's@\( as_params\[0\] = afl_as ? afl_as : \)\(.*\)@\1(u8*)"${LOCALBASE}/bin/as";@' \
|
|
${WRKSRC}/src/afl-as.c
|
|
.elif ${FLAVOR} == llvm
|
|
@${ECHO_CMD} "all:" >${WRKSRC}/GNUmakefile.gcc_plugin
|
|
.endif
|
|
|
|
post-install:
|
|
@${MKDIR} ${STAGEDIR}${PREFIX}/etc/man.d
|
|
@${ECHO_CMD} "MANPATH ${PREFIX}/${PKGBASE}/share/man" >${STAGEDIR}${PREFIX}/etc/man.d/${PKGBASE}.conf
|
|
@${ECHO_CMD} "etc/man.d/${PKGBASE}.conf" >>${TMPPLIST}
|
|
@cd ${STAGEDIR}${PREFIX}; \
|
|
${FIND} ${PKGBASE} -not -path '${PKGBASE}/share/doc/*' -and \( -type f -or -type l \) | \
|
|
${SED} -Ee 's,^afl\+\+-${FLAVOR}/share/man/.*,&.gz,' \
|
|
-e 's,^.*/afl-${${FLAVOR} == gcc:?(clang|llvm):(gcc|g\+\+)}.*,@comment &,' | \
|
|
${SORT} >> ${TMPPLIST}
|
|
@${CAT} ${TMPPLIST}
|
|
|
|
.include <bsd.port.mk>
|