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