1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-01 05:45:45 +00:00
freebsd-ports/security/suricata/Makefile
2022-01-17 12:57:45 +01:00

136 lines
3.8 KiB
Makefile

PORTNAME= suricata
DISTVERSION= 6.0.4
PORTREVISION= 1
CATEGORIES= security
MASTER_SITES= https://www.openinfosecfoundation.org/download/
MAINTAINER= franco@opnsense.org
COMMENT= High Performance Network IDS, IPS and Security Monitoring engine
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= rustc:lang/${RUST_DEFAULT}
LIB_DEPENDS= libjansson.so:devel/jansson \
liblz4.so:archivers/liblz4 \
libnet.so:net/libnet \
libpcre.so:devel/pcre \
libyaml.so:textproc/libyaml
USES= autoreconf cpe gmake iconv:translit libtool localbase pathfix \
pkgconfig
CPE_VENDOR= openinfosecfoundation
USE_LDCONFIG= yes
USE_RC_SUBR= ${PORTNAME}
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --disable-gccmarch-native \
--enable-bundled-htp \
--enable-gccprotect
MAKE_ENV= RUSTFLAGS="${RUSTFLAGS} -C linker=${CC:Q} ${LDFLAGS:C/.+/-C link-arg=&/}"
INSTALL_TARGET= install-strip
TEST_TARGET= check
CONFLICTS_INSTALL= libhtp
SUB_FILES= pkg-message
PLIST_SUB= PORTVERSION=${DISTVERSION:C/-/_/g}
OPTIONS_DEFINE= GEOIP IPFW NETMAP NSS PORTS_PCAP PRELUDE PYTHON REDIS \
TESTS
OPTIONS_DEFINE_amd64= HYPERSCAN
OPTIONS_DEFAULT= IPFW NETMAP PYTHON
OPTIONS_RADIO= SCRIPTS
OPTIONS_RADIO_SCRIPTS= LUA LUAJIT
OPTIONS_SUB= yes
PRELUDE_BROKEN= Compilation broken, see https://redmine.openinfosecfoundation.org/issues/4065
GEOIP_DESC= GeoIP support
HYPERSCAN_DESC= Hyperscan support
IPFW_DESC= IPFW and IP Divert support for inline IDP
LUAJIT_DESC= LuaJIT scripting support
LUA_DESC= LUA scripting support
NETMAP_DESC= Netmap support for inline IDP
NSS_DESC= File checksums and SSL/TLS fingerprinting
PORTS_PCAP_DESC= Use libpcap from ports
PRELUDE_DESC= Prelude support for NIDS alerts
PYTHON_DESC= Python-based update and control utilities
REDIS_DESC= Redis output support
SCRIPTS_DESC= Scripting
TESTS_DESC= Unit tests in suricata binary
GEOIP_LIB_DEPENDS= libmaxminddb.so:net/libmaxminddb
GEOIP_CONFIGURE_ON= --enable-geoip
HYPERSCAN_LIB_DEPENDS= libhs.so:devel/hyperscan
IPFW_CONFIGURE_ON= --enable-ipfw
LUAJIT_LIB_DEPENDS= libluajit-5.1.so:lang/luajit-openresty
LUAJIT_CONFIGURE_ON= --enable-luajit
LUA_USES= lua:51
LUA_CONFIGURE_ON= --enable-lua
NETMAP_CONFIGURE_ENABLE= netmap
NSS_LIB_DEPENDS= libnspr4.so:devel/nspr \
libnss3.so:security/nss
NSS_CONFIGURE_OFF= --disable-nspr \
--disable-nss
PORTS_PCAP_LIB_DEPENDS= libpcap.so.1:net/libpcap
PRELUDE_LIB_DEPENDS= libgcrypt.so:security/libgcrypt \
libgnutls.so:security/gnutls \
libgpg-error.so:security/libgpg-error \
libltdl.so:devel/libltdl \
libprelude.so:security/libprelude
PRELUDE_CONFIGURE_ON= --with-libprelude-prefix=${LOCALBASE}
PRELUDE_CONFIGURE_ENABLE= prelude
PYTHON_BUILD_DEPENDS= ${PYTHON_RUN_DEPENDS}
PYTHON_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}yaml>0:devel/py-yaml@${PY_FLAVOR}
PYTHON_USES= python
PYTHON_USE= PYTHON=py3kplist
PYTHON_CONFIGURE_ENABLE= python
REDIS_LIB_DEPENDS= libevent_pthreads.so:devel/libevent \
libhiredis.so:databases/hiredis
REDIS_CONFIGURE_ON= --enable-hiredis
TESTS_CONFIGURE_ENABLE= unittests
pre-patch:
@${CP} ${FILESDIR}/ax_check_compile_flag.m4 ${WRKSRC}/m4
post-patch:
# Disable vendor checksums
@${REINPLACE_CMD} 's,"files":{[^}]*},"files":{},' \
${WRKSRC}/rust/vendor/*/.cargo-checksum.json
post-patch-PYTHON-on:
@${REINPLACE_CMD} -e "/AC_PATH_PROGS.*HAVE_PYTHON/ s/python[^,]*,/${PYTHON_VERSION},/g" \
${WRKSRC}/configure.ac
post-install:
@${MKDIR} ${STAGEDIR}${ETCDIR} ${STAGEDIR}/var/log/suricata
.for f in classification.config reference.config
@${MV} ${STAGEDIR}${DATADIR}/${f} ${STAGEDIR}${ETCDIR}/${f}.sample
.endfor
.for f in suricata.yaml threshold.config
${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${ETCDIR}/${f}.sample
.endfor
post-install-PYTHON-on:
(cd ${STAGEDIR}${PREFIX} \
&& ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \
-d ${PYTHONPREFIX_SITELIBDIR} -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;})
.include <bsd.port.mk>