Tweak dns/idnkit version 1.0_3
[dports.git] / dns / bind99 / Makefile
1 # $FreeBSD$
2
3 PORTNAME=       bind
4 PORTVERSION=    9.9.5
5 PORTREVISION=   10
6 CATEGORIES=     dns net ipv6
7 MASTER_SITES=   ${MASTER_SITE_ISC}
8 MASTER_SITE_SUBDIR=     bind9/${ISCVERSION}
9 PKGNAMESUFFIX?= 99
10 DISTNAME=       ${PORTNAME}-${ISCVERSION}
11
12 MAINTAINER=     mat@FreeBSD.org
13 COMMENT=        BIND DNS suite with updated DNSSEC and DNS64
14
15 LICENSE=        ISCL
16
17 # ISC releases things like 9.8.0-P1, which our versioning doesn't like
18 ISCVERSION=     9.9.5
19
20 MAKE_JOBS_UNSAFE=       yes
21
22 LIB_DEPENDS=    libxml2.so:${PORTSDIR}/textproc/libxml2
23
24 GNU_CONFIGURE=  yes
25 CONFIGURE_ARGS= --localstatedir=/var --disable-linux-caps \
26                 --disable-symtable \
27                 --with-randomdev=/dev/random \
28                 --with-libxml2=${LOCALBASE} \
29                 --without-python
30 ETCDIR=         ${PREFIX}/etc/namedb
31
32 CONFLICTS=      bind9*-9.[45678].* bind9*-sdb-9.[45678].* bind-tools-9.*
33
34 OPTIONS_DEFAULT=        IPV6 SSL THREADS
35 OPTIONS_DEFINE=         SSL IDN REPLACE_BASE LARGE_FILE \
36                         FIXED_RRSET SIGCHASE IPV6 THREADS GSSAPI FILTER_AAAA
37 .if !defined(BIND_TOOLS_SLAVE)
38 OPTIONS_DEFINE+=        LINKS RPZ_NSIP RPZ_NSDNAME RRL DOCS RPZ_PATCH NEWSTATS
39 OPTIONS_GROUP=          DLZ
40 OPTIONS_GROUP_DLZ=      DLZ_POSTGRESQL DLZ_MYSQL DLZ_BDB \
41                         DLZ_LDAP DLZ_FILESYSTEM DLZ_STUB
42 .endif  # BIND_TOOLS_SLAVE
43
44 SSL_DESC=               Build with OpenSSL (Required for DNSSEC)
45 REPLACE_BASE_DESC=      Replace base BIND (FreeBSD 9.x and earlier)
46 LARGE_FILE_DESC=        64-bit file support
47 FIXED_RRSET_DESC=       Enable fixed rrset ordering
48 SIGCHASE_DESC=          dig/host/nslookup will do DNSSEC validation
49 FILTER_AAAA_DESC=       Enable filtering of AAAA records
50
51 LINKS_DESC=             Create conf file symlinks in ${PREFIX}
52 NEWSTATS_DESC=          Enable alternate xml statistics channel format
53 RPZ_NSIP_DESC=          Enable RPZ NSIP trigger rules
54 RPZ_NSDNAME_DESC=       Enable RPZ NSDNAME policy records
55 RPZ_PATCH_DESC=         RPZ improvements
56 RRL_DESC=               Response Rate Limiting
57 DLZ_DESC=               Dynamically Loadable Zones
58 DLZ_POSTGRESQL_DESC=    DLZ Postgres driver
59 DLZ_MYSQL_DESC=         DLZ MySQL driver (no threading)
60 DLZ_BDB_DESC=           DLZ BDB driver
61 DLZ_LDAP_DESC=          DLZ LDAP driver
62 DLZ_FILESYSTEM_DESC=    DLZ filesystem driver
63 DLZ_STUB_DESC=          DLZ stub driver
64
65 .if !defined(BIND_TOOLS_SLAVE)
66 CONFLICTS+=             bind-tools-9.*
67 .endif  # BIND_TOOLS_SLAVE
68
69 SSL_CONFIGURE_ON=       --with-openssl=${OPENSSLBASE}
70 SSL_USE=                openssl=yes
71 SSL_CONFIGURE_OFF=      --disable-openssl-version-check --without-openssl
72
73 NEWSTATS_CONFIGURE_ENABLE=      newstats
74
75 IDN_USES=               iconv
76 IDN_CONFIGURE_ON=       --with-idn=${LOCALBASE} ${ICONV_CONFIGURE_BASE}
77 IDN_LIB_DEPENDS=        libidnkit.so:${PORTSDIR}/dns/idnkit
78 IDN_CONFIGURE_OFF=      --without-idn
79
80 LARGE_FILE_CONFIGURE_ENABLE=    largefile
81
82 SIGCHASE_CONFIGURE_ON=  STD_CDEFINES="-DDIG_SIGCHASE=1"
83
84 IPV6_CONFIGURE_ENABLE=  ipv6
85
86 FILTER_AAAA_CONFIGURE_ENABLE=   filter-aaaa
87
88 DLZ_POSTGRESQL_CONFIGURE_ON=    --with-dlz-postgres=yes
89 DLZ_POSTGRESQL_USE=             pgsql=yes
90
91 FIXED_RRSET_CONFIGURE_ENABLE=   fixed-rrset
92
93 RPZ_NSIP_CONFIGURE_ENABLE=      rpz-nsip
94
95 RPZ_NSDNAME_CONFIGURE_ENABLE=   rpz-nsdname
96
97 RPZ_PATCH_PATCHFILES=   9.9.5-rpz2+rl.14038.05.patch:vix
98 RPZ_PATCH_PATCH_SITES=  http://ss.vix.su/~vjs/:vix
99
100 RRL_CONFIGURE_ENABLE=   rrl
101
102 DLZ_MYSQL_CONFIGURE_ON= --with-dlz-mysql=yes
103 DLZ_MYSQL_USE=          mysql=yes
104
105 DLZ_BDB_CONFIGURE_ON=   --with-dlz-bdb=yes
106 DLZ_BDB_USE=            bdb=yes
107
108 DLZ_LDAP_CONFIGURE_ON=  --with-dlz-ldap=yes
109 DLZ_LDAP_USE=           openldap=yes
110
111 DLZ_FILESYSTEM_CONFIGURE_ON=    --with-dlz-filesystem=yes
112
113 DLZ_STUB_CONFIGURE_ON=  --with-dlz-stub=yes
114
115 .if defined(HEIMDAL_HOME)
116 GSSAPI_CONFIGURE_ON=    --with-gssapi=${HEIMDAL_HOME}
117 GSSAPI_CONFIGURE_OFF=   --without-gssapi
118 .else
119 GSSAPI_CONFIGURE_WITH=  gssapi
120 .endif
121
122 .include <bsd.port.options.mk>
123
124 .if (${ARCH} == "x86_64")
125 ARCH=           x86_64
126 .endif
127
128 .if !${PORT_OPTIONS:MLINKS} || ${PORT_OPTIONS:MREPLACE_BASE}
129 PKGINSTALL=${NONEXISTENT}
130 .endif
131
132 .if ${PORT_OPTIONS:MTHREADS} && !${PORT_OPTIONS:MDLZ_MYSQL}
133 CONFIGURE_ARGS+=        --enable-threads
134 .else
135 CONFIGURE_ARGS+=        --disable-threads
136 .endif
137
138 .if ${PORT_OPTIONS:MREPLACE_BASE}
139 .if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1000100
140 IGNORE=         REPLACE_BASE option is not supported on this release
141 .endif
142 PKGNAMESUFFIX=  -base
143 PREFIX=         /usr
144 PLIST_SUB+=     SHARE_MAN="share/"
145 NO_MTREE=       yes
146 BIND_DESTETC=   /etc/namedb
147 .else
148 PLIST_SUB+=     SHARE_MAN=""
149 .if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1000100
150 BIND_DESTETC=   ${PREFIX}/etc/namedb
151 PKGINSTALL=     ${NONEXISTENT}
152 .else
153 BIND_DESTETC=   ${PREFIX}/etc
154 .endif
155 .endif
156
157 PKGDEINSTALL=   ${PKGINSTALL}
158
159 CONFIGURE_ARGS+=        --prefix=${PREFIX} \
160                         --sysconfdir=${BIND_DESTETC}
161 PLIST_SUB+=     BIND_DESTETC="${BIND_DESTETC}"
162 SUB_LIST+=      BIND_DESTETC="${BIND_DESTETC}"
163
164 .if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1000100
165 PLIST_SUB+=     NOBASE="" BASE="@comment "
166 USE_RC_SUBR+=   named
167 SUB_FILES+=     named.conf
168 .else
169 PLIST_SUB+=     NOBASE="@comment " BASE=""
170 .endif
171
172 .if !defined(BIND_TOOLS_SLAVE)
173 post-patch:
174 .for FILE in check/named-checkconf.8 named/named.8 nsupdate/nsupdate.1 \
175         rndc/rndc.8
176         @${MV} ${WRKSRC}/bin/${FILE} ${WRKSRC}/bin/${FILE}.Dist
177         @${SED} -e 's#/etc/named.conf#${BIND_DESTETC}/named.conf#g' \
178                 -e 's#/etc/rndc.conf#${BIND_DESTETC}/rndc.conf#g' \
179                 -e "s#/var\/run\/named\/named.pid#/var/run/named/pid#" \
180                 ${WRKSRC}/bin/${FILE}.Dist > ${WRKSRC}/bin/${FILE}
181 .endfor
182         @${MV} ${WRKSRC}/Makefile.in ${WRKSRC}/Makefile.in.Dist
183         @${SED} -e 's#.*bind\.keys.*##' ${WRKSRC}/Makefile.in.Dist > \
184                 ${WRKSRC}/Makefile.in
185         @${MV} ${WRKSRC}/bin/named/Makefile.in ${WRKSRC}/bin/named/Makefile.in.Dist
186         @${SED} -e 's/$${PERL}/#/' -e 's/bind.keys.h/#/g' -e 's/bind9.xsl.h/#/g' \
187                 ${WRKSRC}/bin/named/Makefile.in.Dist > \
188                 ${WRKSRC}/bin/named/Makefile.in
189
190 .if ${PORT_OPTIONS:MDOCS}
191 PORTDOCS=       *
192 .endif
193 post-install:
194 .if ${PORT_OPTIONS:MDOCS}
195         ${MKDIR} ${STAGEDIR}${DOCSDIR}/arm ${STAGEDIR}${DOCSDIR}/misc
196         ${INSTALL_DATA} ${WRKSRC}/doc/arm/*.html ${STAGEDIR}${DOCSDIR}/arm
197         ${INSTALL_DATA} ${WRKSRC}/doc/arm/Bv9ARM.pdf ${STAGEDIR}${DOCSDIR}
198         ${INSTALL_DATA} ${WRKSRC}/doc/misc/[a-z]* ${STAGEDIR}${DOCSDIR}/misc
199         ${INSTALL_DATA} ${WRKSRC}/CHANGES ${WRKSRC}/COPYRIGHT ${WRKSRC}/FAQ \
200                 ${WRKSRC}/HISTORY ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}
201 .endif
202
203 .if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1000100
204         ${MKDIR} ${STAGEDIR}${BIND_DESTETC}
205 .for i in dynamic master slave working
206         @${MKDIR} ${STAGEDIR}${BIND_DESTETC}/$i
207 .endfor
208         ${INSTALL_DATA} ${WRKDIR}/named.conf ${STAGEDIR}${BIND_DESTETC}/named.conf.sample
209         ${INSTALL_DATA} ${FILESDIR}/named.root ${STAGEDIR}${BIND_DESTETC}
210         ${INSTALL_DATA} ${FILESDIR}/empty.db ${STAGEDIR}${BIND_DESTETC}/master
211         ${INSTALL_DATA} ${FILESDIR}/localhost-forward.db ${STAGEDIR}${BIND_DESTETC}/master
212         ${INSTALL_DATA} ${FILESDIR}/localhost-reverse.db ${STAGEDIR}${BIND_DESTETC}/master
213 .endif
214         ${INSTALL_DATA} ${WRKSRC}/bin/rndc/rndc.conf \
215                 ${STAGEDIR}${BIND_DESTETC}/rndc.conf.sample
216
217 .endif  # BIND_TOOLS_SLAVE
218
219 .include <bsd.port.mk>