1 # Created by: Kirill Ponomarew <ponomarew@oberon.net>
8 MASTER_SITES= http://www.pmacct.net/
10 MAINTAINER= pi@FreeBSD.org
11 COMMENT= Accounting and aggregation tool for IPv4 and IPv6 traffic
15 BROKEN_aarch64= fails to build: undefined reference to sbrk
16 BROKEN_powerpc64= fails to build: cc: Internal error: Segmentation fault (program ld)
18 USE_RC_SUBR= pmacctd nfacctd sfacctd
19 SUB_FILES= pkg-message
21 CPPFLAGS+= "-I${LOCALBASE}/include"
22 LDFLAGS+= "-L${LOCALBASE}/lib"
24 OPTIONS_DEFINE= MYSQL PGSQL SQLITE3 THREADS LAYER2 IPV6 DEBUG \
25 DOCS PLABEL RABBITMQ KAFKA JANSSON AVRO
26 OPTIONS_DEFAULT=MMAP LAYER2 THREADS SHARED
28 AVRO_DESC= Enable avro support
29 JANSSON_DESC= Enable Jansson support
30 KAFKA_DESC= Enable Kafka support
31 LAYER2_DESC= Enable Layer-2 support: MAC addresses and VLANs
32 # Requires libnetfilter_log port/package
33 # NFLOG_DESC= Enable NFLOG support
34 # Requires legacy mongo-c-driver version 0.8 which is not available
35 # MONGO_DESC= Enable MongoDB support
36 PLABEL_DESC= Enable IP prefix labels
37 RABBITMQ_DESC= Enable RabbitMQ/AMQP support
38 SQLITE3_DESC= Enable SQLite3 support
41 OPTIONS_RADIO_GEOLOC=GEOIP GEOIP2
42 GEOLOC_DESC= Geolocation support
43 GEOIP_DESC= Enable legacy GeoIP support
44 GEOIP2_DESC= Enable GeoIPv2 (libmaxminddb) support
46 .include <bsd.port.options.mk>
48 .if ${PORT_OPTIONS:MMYSQL}
50 CONFIGURE_ARGS+=--enable-mysql
51 PLIST_SUB+= WITH_MYSQL=""
53 CONFIGURE_ARGS+=--disable-mysql
54 PLIST_SUB+= WITH_MYSQL="@comment "
57 .if ${PORT_OPTIONS:MPGSQL}
60 CONFIGURE_ARGS+=--enable-pgsql
61 PLIST_SUB+= WITH_PGSQL=""
63 CONFIGURE_ARGS+=--disable-pgsql
64 PLIST_SUB+= WITH_PGSQL="@comment "
67 .if ${PORT_OPTIONS:MSQLITE3}
68 USES+= pkgconfig sqlite
69 CONFIGURE_ARGS+=--enable-sqlite3 \
70 --with-sqlite3-includes=${LOCALBASE}/include
71 PLIST_SUB+= WITH_SQLITE3=""
73 CONFIGURE_ARGS+=--disable-sqlite3
74 PLIST_SUB+= WITH_SQLITE3="@comment "
77 .if ${PORT_OPTIONS:MLAYER2}
78 CONFIGURE_ARGS+=--enable-l2
80 CONFIGURE_ARGS+=--disable-l2
83 .if ${PORT_OPTIONS:MIPV6}
84 CONFIGURE_ARGS+=--enable-ipv6
86 CONFIGURE_ARGS+=--disable-ipv6
89 .if ${PORT_OPTIONS:MPLABEL}
90 CONFIGURE_ARGS+=--enable-plabel
92 CONFIGURE_ARGS+=--disable-plabel
95 .if ${PORT_OPTIONS:MTHREADS}
96 CONFIGURE_ARGS+=--enable-threads
98 CONFIGURE_ARGS+=--disable-threads
101 .if ${PORT_OPTIONS:MDEBUG}
102 CONFIGURE_ARGS+=--enable-debug
105 .if ${PORT_OPTIONS:MMONGO}
106 #CONFIGURE_ARGS+=--enable-mongodb
108 CONFIGURE_ARGS+=--disable-mongodb
111 .if ${PORT_OPTIONS:MRABBITMQ}
112 .if ${PORT_OPTIONS:MJANSSON}
113 LIB_DEPENDS+= libjansson.so:devel/jansson
114 CONFIGURE_ARGS+=--enable-jansson
116 IGNORE= RabbitMQ support requires enabled Jansson support
118 LIB_DEPENDS+= librabbitmq.so:net/rabbitmq-c-devel
119 CONFIGURE_ARGS+=--enable-rabbitmq
122 .if ${PORT_OPTIONS:MKAFKA}
123 .if ${PORT_OPTIONS:MJANSSON}
124 LIB_DEPENDS+= libjansson.so:devel/jansson
125 CONFIGURE_ARGS+=--enable-jansson
127 IGNORE= Kafaka support requires enabled Jansson support
129 LIB_DEPENDS+= librdkafka.so:net/librdkafka
130 CONFIGURE_ARGS+=--enable-kafka
131 PLIST_SUB+=WITH_KAFKA=""
133 PLIST_SUB+=WITH_KAFKA="@comment "
136 .if ${PORT_OPTIONS:MAVRO}
137 LIB_DEPENDS+= libavro.so:devel/avro-c
138 CONFIGURE_ARGS+=--enable-avro
141 .if ${PORT_OPTIONS:MNFLOG}
142 #CONFIGURE_ARGS+=--enable-nflog
143 #PLIST_SUB+=WITH_NFLOG=""
145 CONFIGURE_ARGS+=--disable-nflog
146 PLIST_SUB+=WITH_NFLOG="@comment "
149 .if ${PORT_OPTIONS:MGEOIP}
151 LIB_DEPENDS+= libGeoIP.so:net/GeoIP
152 CONFIGURE_ARGS+=--enable-geoip
155 .if ${PORT_OPTIONS:MGEOIP2}
156 LIB_DEPENDS+= libmaxminddb.so:net/libmaxminddb
157 CONFIGURE_ARGS+=--enable-geoipv2
160 .include <bsd.port.pre.mk>
162 .if ${ARCH} == "x86_64" || ${ARCH} == "sparc64"
163 CONFIGURE_ARGS+=--enable-64bit
167 @${REINPLACE_CMD} -e 's|-O2||g' ${WRKSRC}/configure
170 @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
171 (cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
172 @${MKDIR} ${STAGEDIR}${DOCSDIR}
173 ${INSTALL_DATA} ${WRKSRC}/docs/* ${STAGEDIR}${DOCSDIR}
174 .for i in AUTHORS CONFIG-KEYS COPYING ChangeLog FAQS INSTALL QUICKSTART TOOLS UPGRADE
175 ${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR}
177 @${MKDIR} ${STAGEDIR}${DATADIR}
178 ${INSTALL_DATA} ${WRKSRC}/sql/* ${STAGEDIR}${DATADIR}
180 .include <bsd.port.post.mk>