5 CATEGORIES= www security
6 MASTER_SITES= https://github.com/SpiderLabs/ModSecurity/releases/download/v${PORTVERSION}/
7 PKGNAMEPREFIX= ${APACHE_PKGNAMEPREFIX}
8 DISTNAME= ${PORTNAME:S/_//:S/2//}-${PORTVERSION}
10 MAINTAINER= joneum@FreeBSD.org
11 COMMENT= Intrusion detection and prevention engine
12 WWW= https://www.modsecurity.org/
16 LIB_DEPENDS+= libpcre.so:devel/pcre \
17 libapr-1.so:devel/apr1 \
18 libyajl.so:devel/yajl \
20 libgdbm.so:databases/gdbm \
21 libexpat.so:textproc/expat2
23 USES= apache:2.4+ bdb gnome perl5 pkgconfig shebangfix
26 SHEBANG_FILES= tools/rules-updater.pl.in mlogc/mlogc-batch-load.pl.in
29 AP_INC= ${LOCALBASE}/include/libxml2
30 AP_LIB= ${LOCALBASE}/lib
31 MODULENAME= mod_security2
35 DOCSDIR= ${PREFIX}/share/doc/${MODULENAME}
37 SUB_FILES+= pkg-message
39 SUB_FILES+= ${APMOD_FILE}.sample
40 APMOD_FILE= 280_${PORTNAME}.conf
41 SUB_LIST+= APMOD_FILE=${APMOD_FILE}
43 OPTIONS_DEFINE= DOCS FUZZYHASH LUA MLOGC
46 LUA_CONFIGURE_ON= --with-lua=${LOCALBASE}
47 LUA_CONFIGURE_OFF+= --without-lua
50 MLOGC_DESC= Build ModSecurity Log Collector
51 MLOGC_CONFIGURE_ON= --disable-errors
52 MLOGC_CONFIGURE_OFF= --disable-mlogc
54 FUZZYHASH_DESC= Allow matching contents using fuzzy hashes with ssdeep
55 FUZZYHASH_CONFIGURE_ON= --with-ssdeep=${LOCALBASE}
56 FUZZYHASH_CONFIGURE_OFF=--without-ssdeep
57 FUZZYHASH_LIB_DEPENDS= libfuzzy.so:security/ssdeep
59 ETCDIR= ${PREFIX}/etc/modsecurity
62 AP_EXTRAS+= -DWITH_LIBXML2
63 CONFIGURE_ARGS+=--with-apxs=${APXS} --with-pcre=${LOCALBASE} --with-yajl=${LOCALBASE} --with-curl=${LOCALBASE}
66 @${REINPLACE_CMD} -e "s/lua5.1/lua-${LUA_VER}/g" ${WRKSRC}/configure
69 @${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEMODDIR}
72 @${MKDIR} ${STAGEDIR}${ETCDIR}
73 ${INSTALL_DATA} ${WRKSRC}/modsecurity.conf-recommended \
74 ${STAGEDIR}${ETCDIR}/modsecurity.conf.sample
75 ${INSTALL_DATA} ${WRKSRC}/unicode.mapping \
76 ${STAGEDIR}${ETCDIR}/unicode.mapping
78 @${MKDIR} ${STAGEDIR}${DOCSDIR}
79 (cd ${WRKSRC} && ${COPYTREE_SHARE} doc ${STAGEDIR}${DOCSDIR})
80 ${INSTALL_DATA} ${WRKDIR}/README ${STAGEDIR}${DOCSDIR}
82 @${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEETCDIR}/modules.d
83 ${INSTALL_DATA} ${WRKDIR}/${APMOD_FILE}.sample ${STAGEDIR}${PREFIX}/${APACHEETCDIR}/modules.d
85 .include <bsd.port.mk>