Lines 1-145
Link Here
|
1 |
# $FreeBSD$ |
1 |
# $FreeBSD$ |
2 |
|
2 |
|
3 |
PORTNAME= powerdns |
3 |
PORTNAME= powerdns |
4 |
DISTVERSION= 4.4.0 |
4 |
DISTVERSION= 4.4.1 |
5 |
PORTREVISION= 1 |
|
|
6 |
CATEGORIES= dns |
5 |
CATEGORIES= dns |
7 |
MASTER_SITES= https://downloads.powerdns.com/releases/ |
6 |
MASTER_SITES= https://downloads.powerdns.com/releases/ |
8 |
DISTNAME= pdns-${DISTVERSION} |
7 |
DISTNAME= pdns-${DISTVERSION} |
9 |
|
8 |
|
10 |
MAINTAINER= tremere@cainites.net |
9 |
MAINTAINER= tremere@cainites.net |
11 |
COMMENT= Advanced DNS server with multiple backends including SQL |
10 |
COMMENT= Advanced DNS server with multiple backends including SQL |
12 |
|
11 |
|
13 |
LICENSE= GPLv2 |
12 |
LICENSE= GPLv2 |
14 |
|
13 |
|
15 |
BROKEN_sparc64= Does not compile: error: to_string is not a member of std |
14 |
BROKEN_sparc64= Does not compile: error: to_string is not a member of std |
16 |
|
15 |
|
17 |
LIB_DEPENDS= libboost_serialization.so:devel/boost-libs \ |
16 |
LIB_DEPENDS= libboost_serialization.so:devel/boost-libs \ |
18 |
libcurl.so:ftp/curl \ |
17 |
libcurl.so:ftp/curl \ |
19 |
libprotobuf.so:devel/protobuf |
18 |
libprotobuf.so:devel/protobuf |
20 |
|
19 |
|
21 |
USES= autoreconf compiler:c++11-lib cpe gmake libtool localbase:ldflags \ |
20 |
USES= autoreconf compiler:c++11-lib cpe gmake libtool localbase:ldflags \ |
22 |
pathfix pkgconfig ssl tar:bzip2 |
21 |
pathfix pkgconfig ssl tar:bzip2 |
23 |
|
22 |
|
24 |
USE_LDCONFIG= YES |
23 |
USE_LDCONFIG= YES |
25 |
USE_RC_SUBR= pdns |
24 |
USE_RC_SUBR= pdns |
26 |
USE_SUBMAKE= YES |
25 |
USE_SUBMAKE= YES |
27 |
|
26 |
|
28 |
GNU_CONFIGURE= YES |
27 |
GNU_CONFIGURE= YES |
29 |
CONFIGURE_ARGS= --disable-static \ |
28 |
CONFIGURE_ARGS= --disable-static \ |
30 |
--docdir="${PREFIX}/share/doc/powerdns" \ |
29 |
--docdir="${PREFIX}/share/doc/powerdns" \ |
31 |
--sysconfdir="${PREFIX}/etc/pdns" \ |
30 |
--sysconfdir="${PREFIX}/etc/pdns" \ |
32 |
--with-boost="${LOCALBASE}" \ |
31 |
--with-boost="${LOCALBASE}" \ |
33 |
--with-dynmodules="pipe bind ${MODULES}" \ |
32 |
--with-dynmodules="pipe bind ${MODULES}" \ |
34 |
--with-modules="" \ |
33 |
--with-modules="" \ |
35 |
--with-protobuf |
34 |
--with-protobuf |
36 |
|
35 |
|
37 |
INSTALL_TARGET= install-strip |
36 |
INSTALL_TARGET= install-strip |
38 |
SCRIPTS_ENV= CURDIR2="${.CURDIR}" DISTNAME="${DISTNAME}" MKDIR="${MKDIR}" \ |
37 |
SCRIPTS_ENV= CURDIR2="${.CURDIR}" DISTNAME="${DISTNAME}" MKDIR="${MKDIR}" \ |
39 |
POWERDNS_OPTIONS="${POWERDNS_OPTIONS}" \ |
38 |
POWERDNS_OPTIONS="${POWERDNS_OPTIONS}" \ |
40 |
WRKDIRPREFIX="${WRKDIRPREFIX}" |
39 |
WRKDIRPREFIX="${WRKDIRPREFIX}" |
41 |
SUB_FILES= pkg-message |
40 |
SUB_FILES= pkg-message |
42 |
|
41 |
|
43 |
USERS= pdns |
42 |
USERS= pdns |
44 |
GROUPS= pdns |
43 |
GROUPS= pdns |
45 |
|
44 |
|
46 |
OPTIONS_DEFINE= DOCS EXAMPLES GEOIP IXFRDIST LMDB LUABACKEND \ |
45 |
OPTIONS_DEFINE= DOCS EXAMPLES GEOIP IXFRDIST LMDB LUABACKEND \ |
47 |
MYSQL OPENLDAP PGSQL REMOTE SQLITE3 TINYDNS \ |
46 |
MYSQL OPENLDAP PGSQL REMOTE SQLITE3 TINYDNS \ |
48 |
TOOLS UNIXODBC |
47 |
TOOLS UNIXODBC |
49 |
OPTIONS_DEFAULT= LMDB LUA MYSQL PGSQL SQLITE3 |
48 |
OPTIONS_DEFAULT= LMDB LUA MYSQL PGSQL SQLITE3 |
50 |
OPTIONS_GROUP= GEOIPOPT REMOTEOPT |
49 |
OPTIONS_GROUP= GEOIPOPT REMOTEOPT |
51 |
OPTIONS_GROUP_REMOTEOPT= ZEROMQ |
50 |
OPTIONS_GROUP_REMOTEOPT= ZEROMQ |
52 |
OPTIONS_SINGLE= EXTLUA |
51 |
OPTIONS_SINGLE= EXTLUA |
53 |
OPTIONS_SINGLE_EXTLUA= LUA LUAJIT LUAJITOR |
52 |
OPTIONS_SINGLE_EXTLUA= LUA LUAJIT LUAJITOR |
54 |
|
53 |
|
55 |
OPTIONS_SUB= yes |
54 |
OPTIONS_SUB= yes |
56 |
|
55 |
|
57 |
GEOIPOPT_DESC= GeoIP DB options |
56 |
GEOIPOPT_DESC= GeoIP DB options |
58 |
GEOIP_DESC= GeoIP backend (GeoIP2 DB) |
57 |
GEOIP_DESC= GeoIP backend (GeoIP2 DB) |
59 |
IXFRDIST_DESC= Build ixfrdist |
58 |
IXFRDIST_DESC= Build ixfrdist |
60 |
LMDB_DESC= LMDB backend |
59 |
LMDB_DESC= LMDB backend |
61 |
LUABACKEND_DESC= Lua2 backend |
60 |
LUABACKEND_DESC= Lua2 backend |
62 |
LUAJITOR_DESC= Use lang/luajit-openresty |
61 |
LUAJITOR_DESC= Use lang/luajit-openresty |
63 |
LUAJIT_DESC= Use lang/luajit |
62 |
LUAJIT_DESC= Use lang/luajit |
64 |
LUA_DESC= Use lang/lua |
63 |
LUA_DESC= Use lang/lua |
65 |
MYSQL_DESC= MySQL backend |
64 |
MYSQL_DESC= MySQL backend |
66 |
OPENLDAP_DESC= OpenLDAP backend |
65 |
OPENLDAP_DESC= OpenLDAP backend |
67 |
PGSQL_DESC= PostgreSQL backend |
66 |
PGSQL_DESC= PostgreSQL backend |
68 |
REMOTEOPT_DESC= Remote backend connectors |
67 |
REMOTEOPT_DESC= Remote backend connectors |
69 |
REMOTE_DESC= Remote backend |
68 |
REMOTE_DESC= Remote backend |
70 |
SQLITE3_DESC= SQLite 3 backend |
69 |
SQLITE3_DESC= SQLite 3 backend |
71 |
TINYDNS_DESC= TinyDNS backend |
70 |
TINYDNS_DESC= TinyDNS backend |
72 |
TOOLS_DESC= Build extra tools |
71 |
TOOLS_DESC= Build extra tools |
73 |
ZEROMQ_DESC= Enable ZeroMQ connector (Implies REMOTE enabled) |
72 |
ZEROMQ_DESC= Enable ZeroMQ connector (Implies REMOTE enabled) |
74 |
|
73 |
|
75 |
GEOIP_LIB_DEPENDS= libmaxminddb.so:net/libmaxminddb \ |
74 |
GEOIP_LIB_DEPENDS= libmaxminddb.so:net/libmaxminddb \ |
76 |
libyaml-cpp.so:devel/yaml-cpp |
75 |
libyaml-cpp.so:devel/yaml-cpp |
77 |
GEOIP_VARS= MODULES+=geoip |
76 |
GEOIP_VARS= MODULES+=geoip |
78 |
|
77 |
|
79 |
IXFRDIST_LIB_DEPENDS= libyaml-cpp.so:devel/yaml-cpp |
78 |
IXFRDIST_LIB_DEPENDS= libyaml-cpp.so:devel/yaml-cpp |
80 |
IXFRDIST_CONFIGURE_ENABLE= ixfrdist |
79 |
IXFRDIST_CONFIGURE_ENABLE= ixfrdist |
81 |
|
80 |
|
82 |
LMDB_LIB_DEPENDS= liblmdb.so:databases/lmdb |
81 |
LMDB_LIB_DEPENDS= liblmdb.so:databases/lmdb |
83 |
LMDB_CONFIGURE_ON= --with-lmdb=${LOCALBASE} |
82 |
LMDB_CONFIGURE_ON= --with-lmdb=${LOCALBASE} |
84 |
LMDB_CONFIGURE_OFF= --without-lmdb |
83 |
LMDB_CONFIGURE_OFF= --without-lmdb |
85 |
LMDB_VARS= MODULES+=lmdb |
84 |
LMDB_VARS= MODULES+=lmdb |
86 |
|
85 |
|
87 |
LUABACKEND_VARS= MODULES+=lua2 |
86 |
LUABACKEND_VARS= MODULES+=lua2 |
88 |
|
87 |
|
89 |
LUAJITOR_LIB_DEPENDS= libluajit-5.1.so.2:lang/luajit-openresty |
88 |
LUAJITOR_LIB_DEPENDS= libluajit-5.1.so.2:lang/luajit-openresty |
90 |
LUAJITOR_CONFIGURE_ON= --with-lua=luajit |
89 |
LUAJITOR_CONFIGURE_ON= --with-lua=luajit |
91 |
|
90 |
|
92 |
LUAJIT_LIB_DEPENDS= libluajit-5.1.so.2:lang/luajit |
91 |
LUAJIT_LIB_DEPENDS= libluajit-5.1.so.2:lang/luajit |
93 |
LUAJIT_CONFIGURE_ON= --with-lua=luajit |
92 |
LUAJIT_CONFIGURE_ON= --with-lua=luajit |
94 |
|
93 |
|
95 |
LUA_USES= lua |
94 |
LUA_USES= lua |
96 |
|
95 |
|
97 |
MYSQL_USES= mysql |
96 |
MYSQL_USES= mysql |
98 |
MYSQL_CONFIGURE_ON= --with-mysql=${LOCALBASE} |
97 |
MYSQL_CONFIGURE_ON= --with-mysql=${LOCALBASE} |
99 |
MYSQL_CONFIGURE_OFF= --without-mysql |
98 |
MYSQL_CONFIGURE_OFF= --without-mysql |
100 |
MYSQL_VARS= MODULES+=gmysql |
99 |
MYSQL_VARS= MODULES+=gmysql |
101 |
|
100 |
|
102 |
OPENLDAP_USE= OPENLDAP=YES |
101 |
OPENLDAP_USE= OPENLDAP=YES |
103 |
OPENLDAP_CXXFLAGS= -DLDAP_DEPRECATED=1 |
102 |
OPENLDAP_CXXFLAGS= -DLDAP_DEPRECATED=1 |
104 |
OPENLDAP_VARS= MODULES+=ldap |
103 |
OPENLDAP_VARS= MODULES+=ldap |
105 |
|
104 |
|
106 |
PGSQL_USES= pgsql |
105 |
PGSQL_USES= pgsql |
107 |
PGSQL_CONFIGURE_ON= --with-pg-config=${LOCALBASE}/bin/pg_config |
106 |
PGSQL_CONFIGURE_ON= --with-pg-config=${LOCALBASE}/bin/pg_config |
108 |
PGSQL_VARS= MODULES+=gpgsql |
107 |
PGSQL_VARS= MODULES+=gpgsql |
109 |
|
108 |
|
110 |
REMOTE_VARS= MODULES+=remote |
109 |
REMOTE_VARS= MODULES+=remote |
111 |
|
110 |
|
112 |
SQLITE3_USES= sqlite:3 |
111 |
SQLITE3_USES= sqlite:3 |
113 |
SQLITE3_VARS= MODULES+=gsqlite3 |
112 |
SQLITE3_VARS= MODULES+=gsqlite3 |
114 |
|
113 |
|
115 |
TINYDNS_LIB_DEPENDS= libcdb.so:databases/tinycdb |
114 |
TINYDNS_LIB_DEPENDS= libcdb.so:databases/tinycdb |
116 |
TINYDNS_CONFIGURE_ON= CDB_CFLAGS="-I${LOCALBASE}/include" \ |
115 |
TINYDNS_CONFIGURE_ON= CDB_CFLAGS="-I${LOCALBASE}/include" \ |
117 |
CDB_LIBS="-L${LOCALBASE}/lib -lcdb" |
116 |
CDB_LIBS="-L${LOCALBASE}/lib -lcdb" |
118 |
TINYDNS_VARS= MODULES+=tinydns |
117 |
TINYDNS_VARS= MODULES+=tinydns |
119 |
|
118 |
|
120 |
TOOLS_CONFIGURE_ENABLE= tools |
119 |
TOOLS_CONFIGURE_ENABLE= tools |
121 |
|
120 |
|
122 |
UNIXODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC |
121 |
UNIXODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC |
123 |
UNIXODBC_VARS= MODULES+=godbc |
122 |
UNIXODBC_VARS= MODULES+=godbc |
124 |
|
123 |
|
125 |
ZEROMQ_IMPLIES= REMOTE |
124 |
ZEROMQ_IMPLIES= REMOTE |
126 |
ZEROMQ_LIB_DEPENDS= libzmq.so:net/libzmq4 |
125 |
ZEROMQ_LIB_DEPENDS= libzmq.so:net/libzmq4 |
127 |
ZEROMQ_CONFIGURE_ON= --enable-remotebackend-zeromq |
126 |
ZEROMQ_CONFIGURE_ON= --enable-remotebackend-zeromq |
128 |
|
127 |
|
129 |
.include <bsd.port.pre.mk> |
128 |
.include <bsd.port.pre.mk> |
130 |
|
129 |
|
131 |
.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1200085 && ${SSL_DEFAULT} != openssl |
130 |
.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1200085 && ${SSL_DEFAULT} != openssl |
132 |
CONFIGURE_ARGS+= --with-libdecaf \ |
131 |
CONFIGURE_ARGS+= --with-libdecaf \ |
133 |
--with-libsodium |
132 |
--with-libsodium |
134 |
LIB_DEPENDS+= libdecaf.so:security/libdecaf \ |
133 |
LIB_DEPENDS+= libdecaf.so:security/libdecaf \ |
135 |
libsodium.so:security/libsodium |
134 |
libsodium.so:security/libsodium |
136 |
.else |
135 |
.else |
137 |
CONFIGURE_ARGS+= --with-libsodium=no |
136 |
CONFIGURE_ARGS+= --with-libsodium=no |
138 |
.endif |
137 |
.endif |
139 |
|
138 |
|
140 |
post-install:: |
139 |
post-install:: |
141 |
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${STAGEDIR}/var/run/pdns |
140 |
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${STAGEDIR}/var/run/pdns |
142 |
@${STAGEDIR}${PREFIX}/sbin/pdns_server --module-dir=${STAGEDIR}${PREFIX}/lib/pdns --launch="pipe bind ${MODULES}" --config > ${STAGEDIR}${EXAMPLESDIR}/pdns.conf |
141 |
@${STAGEDIR}${PREFIX}/sbin/pdns_server --module-dir=${STAGEDIR}${PREFIX}/lib/pdns --launch="pipe bind ${MODULES}" --config > ${STAGEDIR}${EXAMPLESDIR}/pdns.conf |
143 |
@${REINPLACE_CMD} -e 's;${STAGEDIR};;' -i '' ${STAGEDIR}${EXAMPLESDIR}/pdns.conf |
142 |
@${REINPLACE_CMD} -e 's;${STAGEDIR};;' -i '' ${STAGEDIR}${EXAMPLESDIR}/pdns.conf |
144 |
|
143 |
|
145 |
.include <bsd.port.post.mk> |
144 |
.include <bsd.port.post.mk> |