1 # Created by: Babak Farrokhi <farrokhi@FreeBSD.org>
7 CATEGORIES= net-mgmt security
9 MAINTAINER= farrokhi@FreeBSD.org
10 COMMENT= Very fast DDoS analyzer with sflow/netflow/mirror support
13 LICENSE_FILE= ${WRKSRC}/LICENSE
15 BROKEN_armv6= Does not build: invokes x86 assembler
16 BROKEN_armv7= Does not build: invokes x86 assembler
18 LIB_DEPENDS= libboost_regex.so:devel/boost-libs \
19 liblog4cpp.so:devel/log4cpp \
20 libmongoc-1.0.so:devel/mongo-c-driver \
21 libjson-c.so:devel/json-c \
22 libbson-1.0.so:devel/libbson
24 USES= cmake compiler:c++11-lang
27 GH_ACCOUNT= pavel-odintsov
32 USE_RC_SUBR= ${PORTNAME}
34 OPTIONS_DEFINE= DOCS REDIS
36 REDIS_LIB_DEPENDS= libhiredis.so:databases/hiredis
40 CFLAGS_i386= -march=i586
41 CMAKE_SOURCE_PATH= ${WRKSRC}/src
42 CMAKE_ARGS+= -DDISABLE_PF_RING_SUPPORT=ON \
43 -DENABLE_NETMAP_SUPPORT=OFF
44 CMAKE_INSTALL_PREFIX= ${PREFIX}
46 .include <bsd.port.pre.mk>
48 .if ${ARCH} == x86_64 || ${ARCH} == armv6 || ${ARCH} == armv7 || ${ARCH} == i386 || ${ARCH} == powerpc
49 LIB_DEPENDS+= libluajit-5.1.so:lang/luajit
50 .elif ${ARCH:Mpowerpc64*}
51 EXTRA_PATCHES= ${FILESDIR}/extra-patch-src_fast__library.h \
52 ${FILESDIR}/extra-patch-src_netflow__plugin_netflow__collector.cpp
53 LIB_DEPENDS+= libluajit-5.1.so:lang/luajit-openresty
55 CMAKE_ARGS+= -DENABLE_LUA_SUPPORT:BOOL=OFF
59 @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' ${WRKSRC}/src/CMakeLists.txt
60 @${REINPLACE_CMD} -e 's|/usr/local|${PREFIX}|; \
61 s|/var/run|&/fastnetmon|g; s|/var/log|&/fastnetmon|g; \
62 s|"/etc/|"${PREFIX}/etc/|g; s|/root/fastnetmon|${DATADIR}|g' \
63 ${WRKSRC}/src/fastnetmon.conf ${WRKSRC}/src/fastnetmon.cpp
64 @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' \
65 ${WRKSRC}/src/man/fastnetmon.1 ${WRKSRC}/src/fast_platform.h.template
68 ${MV} ${STAGEDIR}${PREFIX}/etc/${PORTNAME}.conf \
69 ${STAGEDIR}${PREFIX}/etc/${PORTNAME}.conf.sample
70 ${MKDIR} ${STAGEDIR}/var/run/fastnetmon ${STAGEDIR}/var/log/fastnetmon
71 ${INSTALL_MAN} ${WRKSRC}/src/man/fastnetmon.1 ${STAGEDIR}${MANPREFIX}/man/man1
72 ${INSTALL_MAN} ${WRKSRC}/src/man/fastnetmon_client.1 ${STAGEDIR}${MANPREFIX}/man/man1
75 cd ${WRKSRC} && ${COPYTREE_SHARE} "README.md docs" ${STAGEDIR}${DOCSDIR}
77 .include <bsd.port.post.mk>