1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-24 04:33:24 +00:00
freebsd-ports/net-mgmt/pmacct/Makefile

181 lines
4.3 KiB
Makefile

# Created by: Kirill Ponomarew <ponomarew@oberon.net>
# $FreeBSD$
PORTNAME= pmacct
DISTVERSION= 1.7.0
PORTREVISION= 0
CATEGORIES= net-mgmt
MASTER_SITES= http://www.pmacct.net/
MAINTAINER= pi@FreeBSD.org
COMMENT= Accounting and aggregation tool for IPv4 and IPv6 traffic
LICENSE= GPLv2
BROKEN_aarch64= fails to build: undefined reference to sbrk
BROKEN_powerpc64= fails to build: cc: Internal error: Segmentation fault (program ld)
USE_RC_SUBR= pmacctd nfacctd sfacctd
SUB_FILES= pkg-message
GNU_CONFIGURE= yes
CPPFLAGS+= "-I${LOCALBASE}/include"
LDFLAGS+= "-L${LOCALBASE}/lib"
OPTIONS_DEFINE= MYSQL PGSQL SQLITE3 THREADS LAYER2 IPV6 DEBUG \
DOCS PLABEL RABBITMQ KAFKA JANSSON AVRO
OPTIONS_DEFAULT=MMAP LAYER2 THREADS SHARED
AVRO_DESC= Enable avro support
JANSSON_DESC= Enable Jansson support
KAFKA_DESC= Enable Kafka support
LAYER2_DESC= Enable Layer-2 support: MAC addresses and VLANs
# Requires libnetfilter_log port/package
# NFLOG_DESC= Enable NFLOG support
# Requires legacy mongo-c-driver version 0.8 which is not available
# MONGO_DESC= Enable MongoDB support
PLABEL_DESC= Enable IP prefix labels
RABBITMQ_DESC= Enable RabbitMQ/AMQP support
SQLITE3_DESC= Enable SQLite3 support
OPTIONS_RADIO= GEOLOC
OPTIONS_RADIO_GEOLOC=GEOIP GEOIP2
GEOLOC_DESC= Geolocation support
GEOIP_DESC= Enable legacy GeoIP support
GEOIP2_DESC= Enable GeoIPv2 (libmaxminddb) support
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MMYSQL}
USES+= mysql
CONFIGURE_ARGS+=--enable-mysql
PLIST_SUB+= WITH_MYSQL=""
.else
CONFIGURE_ARGS+=--disable-mysql
PLIST_SUB+= WITH_MYSQL="@comment "
.endif
.if ${PORT_OPTIONS:MPGSQL}
USES+= pgsql
WANT_PGSQL= client
CONFIGURE_ARGS+=--enable-pgsql
PLIST_SUB+= WITH_PGSQL=""
.else
CONFIGURE_ARGS+=--disable-pgsql
PLIST_SUB+= WITH_PGSQL="@comment "
.endif
.if ${PORT_OPTIONS:MSQLITE3}
USES+= pkgconfig sqlite
CONFIGURE_ARGS+=--enable-sqlite3 \
--with-sqlite3-includes=${LOCALBASE}/include
PLIST_SUB+= WITH_SQLITE3=""
.else
CONFIGURE_ARGS+=--disable-sqlite3
PLIST_SUB+= WITH_SQLITE3="@comment "
.endif
.if ${PORT_OPTIONS:MLAYER2}
CONFIGURE_ARGS+=--enable-l2
.else
CONFIGURE_ARGS+=--disable-l2
.endif
.if ${PORT_OPTIONS:MIPV6}
CONFIGURE_ARGS+=--enable-ipv6
.else
CONFIGURE_ARGS+=--disable-ipv6
.endif
.if ${PORT_OPTIONS:MPLABEL}
CONFIGURE_ARGS+=--enable-plabel
.else
CONFIGURE_ARGS+=--disable-plabel
.endif
.if ${PORT_OPTIONS:MTHREADS}
CONFIGURE_ARGS+=--enable-threads
.else
CONFIGURE_ARGS+=--disable-threads
.endif
.if ${PORT_OPTIONS:MDEBUG}
CONFIGURE_ARGS+=--enable-debug
.endif
.if ${PORT_OPTIONS:MMONGO}
#CONFIGURE_ARGS+=--enable-mongodb
.else
CONFIGURE_ARGS+=--disable-mongodb
.endif
.if ${PORT_OPTIONS:MRABBITMQ}
.if ${PORT_OPTIONS:MJANSSON}
LIB_DEPENDS+= libjansson.so:devel/jansson
CONFIGURE_ARGS+=--enable-jansson
.else
IGNORE= RabbitMQ support requires enabled Jansson support
.endif
LIB_DEPENDS+= librabbitmq.so:net/rabbitmq-c-devel
CONFIGURE_ARGS+=--enable-rabbitmq
.endif
.if ${PORT_OPTIONS:MKAFKA}
.if ${PORT_OPTIONS:MJANSSON}
LIB_DEPENDS+= libjansson.so:devel/jansson
CONFIGURE_ARGS+=--enable-jansson
.else
IGNORE= Kafaka support requires enabled Jansson support
.endif
LIB_DEPENDS+= librdkafka.so:net/librdkafka
CONFIGURE_ARGS+=--enable-kafka
PLIST_SUB+=WITH_KAFKA=""
.else
PLIST_SUB+=WITH_KAFKA="@comment "
.endif
.if ${PORT_OPTIONS:MAVRO}
LIB_DEPENDS+= libavro.so:devel/avro-c
CONFIGURE_ARGS+=--enable-avro
.endif
.if ${PORT_OPTIONS:MNFLOG}
#CONFIGURE_ARGS+=--enable-nflog
#PLIST_SUB+=WITH_NFLOG=""
.else
CONFIGURE_ARGS+=--disable-nflog
PLIST_SUB+=WITH_NFLOG="@comment "
.endif
.if ${PORT_OPTIONS:MGEOIP}
USES+= pkgconfig
LIB_DEPENDS+= libGeoIP.so:net/GeoIP
CONFIGURE_ARGS+=--enable-geoip
.endif
.if ${PORT_OPTIONS:MGEOIP2}
LIB_DEPENDS+= libmaxminddb.so:net/libmaxminddb
CONFIGURE_ARGS+=--enable-geoipv2
.endif
.include <bsd.port.pre.mk>
.if ${ARCH} == "amd64" || ${ARCH} == "sparc64"
CONFIGURE_ARGS+=--enable-64bit
.endif
post-patch:
@${REINPLACE_CMD} -e 's|-O2||g' ${WRKSRC}/configure
post-install:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/docs/* ${STAGEDIR}${DOCSDIR}
.for i in AUTHORS CONFIG-KEYS COPYING ChangeLog FAQS INSTALL QUICKSTART TOOLS UPGRADE
${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR}
.endfor
@${MKDIR} ${STAGEDIR}${DATADIR}
${INSTALL_DATA} ${WRKSRC}/sql/* ${STAGEDIR}${DATADIR}
.include <bsd.port.post.mk>