blob: 90759e3b05bc21b14a09228c59ec418a809ede29 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
# Created by: Sergey Matveychuk <sem@FreeBSD.org>
# $FreeBSD$
PORTNAME= unbound
PORTVERSION= 1.5.8
CATEGORIES= dns
MASTER_SITES= http://unbound.net/downloads/
MAINTAINER= jaap@NLnetLabs.nl
COMMENT= Validating, recursive, and caching DNS resolver
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
USES+= autoreconf cpe libtool
CPE_VENDOR= nlnetlabs
USE_OPENSSL= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS+=--with-ssl=${OPENSSLBASE} --with-libexpat=${LOCALBASE}
USE_LDCONFIG= yes
USERS= ${PORTNAME}
GROUPS= ${PORTNAME}
USE_RC_SUBR= unbound
PORTDOCS= CREDITS Changelog FEATURES LICENSE README README.svn \
README.tests TODO control_proto_spec.txt ietf67-design-02.odp \
ietf67-design-02.pdf requirements.txt
OPTIONS_SUB= yes
OPTIONS_DEFINE= THREADS PYTHON GOST ECDSA MUNIN_PLUGIN DOCS LIBEVENT FILTER_AAAA DNSTAP
OPTIONS_DEFAULT=THREADS ECDSA
LIBEVENT_DESC= Build against libevent
GOST_DESC= Enable GOST support (requires OpenSSL >= 1.0)
ECDSA_DESC= Enable ECDSA (elliptic curve) support (OpenSSL >= 1.0)
MUNIN_PLUGIN_DESC= Install Munin plugin
FILTER_AAAA_DESC= Build with AAAA filter functionality (contrib)
DNSTAP_DESC= Enable dnstap logging support
.include <bsd.port.options.mk>
LIB_DEPENDS+= libexpat.so:${PORTSDIR}/textproc/expat2 \
libldns.so:${PORTSDIR}/dns/ldns
STRIP_FILES= .libs/libunbound.so unbound-checkconf unbound \
unbound-control .libs/unbound-host .libs/unbound-anchor
.if ${PORT_OPTIONS:MPYTHON}
USES+= python:2
CONFIGURE_ARGS+=--with-pyunbound=yes --with-pythonmodule=yes LDFLAGS="-L${LOCALBASE}/lib"
BUILD_DEPENDS+= swig:${PORTSDIR}/devel/swig13
STRIP_FILES+= .libs/_unbound.so
.endif
.if ${PORT_OPTIONS:MGOST}
. if ${OPSYS} == FreeBSD && ${OSVERSION} < 1000015
WITH_OPENSSL_PORT= yes
. endif
DEPENDS_ARGS+= WITH_GOST=yes
.else
CONFIGURE_ARGS+=--disable-gost
.endif
.if ${PORT_OPTIONS:MECDSA}
DEPENDS_ARGS+= WITH_ECDSA=yes
.else
CONFIGURE_ARGS+=--disable-ecdsa
.endif
.if ${PORT_OPTIONS:MDNSTAP}
CONFIGURE_ARGS+=--enable-dnstap
LIB_DEPENDS+= libprotobuf-c.so:${PORTSDIR}/devel/protobuf-c
LIB_DEPENDS+= libfstrm.so:${PORTSDIR}/devel/fstrm
.endif
.if ${PORT_OPTIONS:MMUNIN_PLUGIN}
SUB_FILES+= pkg-message
MUNIN_PLUGIN_ALL= hits queue memory by_type by_class by_opcode by_rcode \
by_flags histogram
.endif
.if ${PORT_OPTIONS:MLIBEVENT}
LIB_DEPENDS+= libevent.so:${PORTSDIR}/devel/libevent2
USES+= pkgconfig
CONFIGURE_ARGS+=--with-libevent
CPPFLAGS+= $$(pkg-config libevent --cflags-only-I)
LDFLAGS+= $$(pkg-config libevent --libs-only-L)
.else
CONFIGURE_ARGS+=--with-libevent=no
.endif
.if empty(PORT_OPTIONS:MTHREADS)
CONFIGURE_ARGS+=--without-pthreads
.endif
post-patch:
@${RM} ${WRKSRC}/util/configlexer.c
@${REINPLACE_CMD} -e 's|if test ! -e $$(DESTDIR)$$(configfile); then || ; \
s|$$(configfile); fi|$$(configfile).sample|' \
${WRKSRC}/Makefile.in
post-patch-FILTER_AAAA-on:
${CAT} ${WRKSRC}/contrib/aaaa-filter-iterator.patch | ${PATCH} -d ${WRKSRC} -p1 -s
post-build:
@for s in ${STRIP_FILES}; do ${STRIP_CMD} ${WRKSRC}/$$s; done
post-install-PYTHON-on:
@${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/_unbound.so
post-install-MUNIN_PLUGIN-on:
@${MKDIR} ${STAGEDIR}${PREFIX}/share/munin/plugins
@${MKDIR} ${STAGEDIR}${PREFIX}/etc/munin/plugins
@${INSTALL_SCRIPT} ${WRKDIR}/unbound-${PORTVERSION}/contrib/unbound_munin_ \
${STAGEDIR}${PREFIX}/share/munin/plugins/
@for i in ${MUNIN_PLUGIN_ALL}; do \
${LN} -fs ${PREFIX}/share/munin/plugins/unbound_munin_ \
${STAGEDIR}${PREFIX}/etc/munin/plugins/unbound_munin_$$i; \
done
@${ECHO_MSG}
@${ECHO_MSG} "============================================================="
@${CAT} ${WRKDIR}/pkg-message
@${ECHO_MSG} "============================================================="
post-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/doc/|} ${STAGEDIR}${DOCSDIR}
regression-test: build
(cd ${WRKSRC} && ${MAKE} test)
.include <bsd.port.mk>
|