Update net-mgmt/pmacct to version 1.7.0
[dports.git] / net-mgmt / pmacct / Makefile
1 # Created by: Kirill Ponomarew <ponomarew@oberon.net>
2 # $FreeBSD$
3
4 PORTNAME=       pmacct
5 DISTVERSION=    1.7.0
6 PORTREVISION=   0
7 CATEGORIES=     net-mgmt
8 MASTER_SITES=   http://www.pmacct.net/
9
10 MAINTAINER=     pi@FreeBSD.org
11 COMMENT=        Accounting and aggregation tool for IPv4 and IPv6 traffic
12
13 LICENSE=        GPLv2
14
15 BROKEN_aarch64=         fails to build: undefined reference to sbrk
16 BROKEN_powerpc64=       fails to build: cc: Internal error: Segmentation fault (program ld)
17
18 USE_RC_SUBR=    pmacctd nfacctd sfacctd
19 SUB_FILES=      pkg-message
20 GNU_CONFIGURE=  yes
21 CPPFLAGS+=      "-I${LOCALBASE}/include"
22 LDFLAGS+=       "-L${LOCALBASE}/lib"
23
24 OPTIONS_DEFINE= MYSQL PGSQL SQLITE3 THREADS LAYER2 IPV6 DEBUG \
25                 DOCS PLABEL RABBITMQ KAFKA JANSSON AVRO
26 OPTIONS_DEFAULT=MMAP LAYER2 THREADS SHARED
27
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
39
40 OPTIONS_RADIO=  GEOLOC
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
45
46 .include <bsd.port.options.mk>
47
48 .if ${PORT_OPTIONS:MMYSQL}
49 USES+=          mysql
50 CONFIGURE_ARGS+=--enable-mysql
51 PLIST_SUB+=     WITH_MYSQL=""
52 .else
53 CONFIGURE_ARGS+=--disable-mysql
54 PLIST_SUB+=     WITH_MYSQL="@comment "
55 .endif
56
57 .if ${PORT_OPTIONS:MPGSQL}
58 USES+=          pgsql
59 WANT_PGSQL=     client
60 CONFIGURE_ARGS+=--enable-pgsql
61 PLIST_SUB+=     WITH_PGSQL=""
62 .else
63 CONFIGURE_ARGS+=--disable-pgsql
64 PLIST_SUB+=     WITH_PGSQL="@comment "
65 .endif
66
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=""
72 .else
73 CONFIGURE_ARGS+=--disable-sqlite3
74 PLIST_SUB+=     WITH_SQLITE3="@comment "
75 .endif
76
77 .if ${PORT_OPTIONS:MLAYER2}
78 CONFIGURE_ARGS+=--enable-l2
79 .else
80 CONFIGURE_ARGS+=--disable-l2
81 .endif
82
83 .if ${PORT_OPTIONS:MIPV6}
84 CONFIGURE_ARGS+=--enable-ipv6
85 .else
86 CONFIGURE_ARGS+=--disable-ipv6
87 .endif
88
89 .if ${PORT_OPTIONS:MPLABEL}
90 CONFIGURE_ARGS+=--enable-plabel
91 .else
92 CONFIGURE_ARGS+=--disable-plabel
93 .endif
94
95 .if ${PORT_OPTIONS:MTHREADS}
96 CONFIGURE_ARGS+=--enable-threads
97 .else
98 CONFIGURE_ARGS+=--disable-threads
99 .endif
100
101 .if ${PORT_OPTIONS:MDEBUG}
102 CONFIGURE_ARGS+=--enable-debug
103 .endif
104
105 .if ${PORT_OPTIONS:MMONGO}
106 #CONFIGURE_ARGS+=--enable-mongodb
107 .else
108 CONFIGURE_ARGS+=--disable-mongodb
109 .endif
110
111 .if ${PORT_OPTIONS:MRABBITMQ}
112 .if ${PORT_OPTIONS:MJANSSON}
113 LIB_DEPENDS+=   libjansson.so:devel/jansson
114 CONFIGURE_ARGS+=--enable-jansson
115 .else
116 IGNORE=         RabbitMQ support requires enabled Jansson support
117 .endif
118 LIB_DEPENDS+=   librabbitmq.so:net/rabbitmq-c-devel
119 CONFIGURE_ARGS+=--enable-rabbitmq
120 .endif
121
122 .if ${PORT_OPTIONS:MKAFKA}
123 .if ${PORT_OPTIONS:MJANSSON}
124 LIB_DEPENDS+=   libjansson.so:devel/jansson
125 CONFIGURE_ARGS+=--enable-jansson
126 .else
127 IGNORE=         Kafaka support requires enabled Jansson support
128 .endif
129 LIB_DEPENDS+=   librdkafka.so:net/librdkafka
130 CONFIGURE_ARGS+=--enable-kafka
131 PLIST_SUB+=WITH_KAFKA=""
132 .else
133 PLIST_SUB+=WITH_KAFKA="@comment "
134 .endif
135
136 .if ${PORT_OPTIONS:MAVRO}
137 LIB_DEPENDS+=   libavro.so:devel/avro-c
138 CONFIGURE_ARGS+=--enable-avro
139 .endif
140
141 .if ${PORT_OPTIONS:MNFLOG}
142 #CONFIGURE_ARGS+=--enable-nflog
143 #PLIST_SUB+=WITH_NFLOG=""
144 .else
145 CONFIGURE_ARGS+=--disable-nflog
146 PLIST_SUB+=WITH_NFLOG="@comment "
147 .endif
148
149 .if ${PORT_OPTIONS:MGEOIP}
150 USES+=          pkgconfig
151 LIB_DEPENDS+=   libGeoIP.so:net/GeoIP
152 CONFIGURE_ARGS+=--enable-geoip
153 .endif
154
155 .if ${PORT_OPTIONS:MGEOIP2}
156 LIB_DEPENDS+=   libmaxminddb.so:net/libmaxminddb
157 CONFIGURE_ARGS+=--enable-geoipv2
158 .endif
159
160 .include <bsd.port.pre.mk>
161
162 .if ${ARCH} == "x86_64" || ${ARCH} == "sparc64"
163 CONFIGURE_ARGS+=--enable-64bit
164 .endif
165
166 post-patch:
167         @${REINPLACE_CMD} -e 's|-O2||g' ${WRKSRC}/configure
168
169 post-install:
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}
176 .endfor
177         @${MKDIR} ${STAGEDIR}${DATADIR}
178         ${INSTALL_DATA} ${WRKSRC}/sql/* ${STAGEDIR}${DATADIR}
179
180 .include <bsd.port.post.mk>