freebsd-ports/dns/unbound/Makefile
Jaap Akkerhuis 993f58d32e
dns/unbound: Update to 1.16.0
This release has EDE support, for extended EDNS error reporting,
it fixes unsupported ZONEMD algorithms to load, and has more bug fixes.

The EDE errors can be turned on by `ede: yes`, it is default disabled.
Validation errors and other errors are then reported. If you also want
stale answers for expired responses to have an error code, the option
`ede-serve-expired: yes` can be used.

On request, the port now also has dnscrypt support default enabled.

PR:		264538
2022-06-08 18:33:33 +08:00

121 lines
4.2 KiB
Makefile

# Created by: Sergey Matveychuk <sem@FreeBSD.org>
PORTNAME= unbound
DISTVERSION= 1.16.0
CATEGORIES= dns
MASTER_SITES= https://www.nlnetlabs.nl/downloads/unbound/ \
https://distfiles.crux.guru/
MAINTAINER= jaap@NLnetLabs.nl
COMMENT= Validating, recursive, and caching DNS resolver
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libexpat.so:textproc/expat2
USES= autoreconf cpe libtool pkgconfig ssl
CPE_VENDOR= nlnetlabs
USE_LDCONFIG= yes
USE_RC_SUBR= unbound
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-libexpat=${LOCALBASE} \
--with-ssl=${OPENSSLBASE}
TEST_TARGET= test
USERS= ${PORTNAME}
GROUPS= ${PORTNAME}
PORTDOCS= CNAME-basedRedirectionDesignNotes.pdf CREDITS Changelog \
FEATURES IP-BasedActions.pdf LICENSE README README.DNS64 \
README.ipset.md README.svn README.tests TODO \
control_proto_spec.txt example.conf ietf67-design-02.odp \
ietf67-design-02.pdf requirements.txt
OPTIONS_DEFINE= DEP-RSA1024 DNSCRYPT DNSTAP DOCS DOH ECDSA EVAPI \
FILTER_AAAA GOST HIREDIS LIBEVENT MUNIN_PLUGIN PYTHON \
SUBNET TFOCL TFOSE THREADS
OPTIONS_DEFAULT= DOH DNSCRYPT ECDSA GOST LIBEVENT THREADS
OPTIONS_SUB= yes
DEP-RSA1024_DESC= Deprecate the use of RSA 1024 keys
DNSCRYPT_DESC= Enable dnscrypt support
DNSTAP_DESC= Enable dnstap logging support
DOH_DESC= Enable DNS-over-HTTPS support
ECDSA_DESC= Enable ECDSA (elliptic curve) support (OpenSSL >= 1.0)
EVAPI_DESC= (Experimental) pluggable event based libunbound API support
FILTER_AAAA_DESC= Build with AAAA filter functionality (contrib)
GOST_DESC= Enable GOST support (requires OpenSSL >= 1.0)
HIREDIS_DESC= Enable hiredis support for the cachedb module
LIBEVENT_DESC= Build against libevent
MUNIN_PLUGIN_DESC= Install Munin plugin
SUBNET_DESC= Enable client subnet support
TFOCL_DESC= Enable TCP Fast Open for client mode
TFOSE_DESC= Enable TCP Fast Open for server mode
STRIP_FILES= .libs/libunbound.so unbound-checkconf unbound unbound-control \
.libs/unbound-host .libs/unbound-anchor
DEP-RSA1024_CONFIGURE_ON= --with-deprecate-rsa-1024
DNSCRYPT_LIB_DEPENDS= libsodium.so:security/libsodium
DNSCRYPT_CONFIGURE_ENABLE= dnscrypt
DNSTAP_LIB_DEPENDS= libfstrm.so:devel/fstrm \
libprotobuf-c.so:devel/protobuf-c
DNSTAP_CONFIGURE_ENABLE= dnstap
DOH_LIB_DEPENDS= libnghttp2.so:www/libnghttp2
DOH_CONFIGURE_ON= --with-libnghttp2
ECDSA_CONFIGURE_ENABLE= ecdsa
ECDSA_VARS= DEPENDS_ARGS+=WITH_ECDSA=yes
EVAPI_CONFIGURE_ENABLE= event-api
GOST_CONFIGURE_ENABLE= gost
GOST_VARS= DEPENDS_ARGS+=WITH_GOST=yes
HIREDIS_LIB_DEPENDS= libhiredis.so:databases/hiredis
HIREDIS_CONFIGURE_ON= --enable-cachedb \
--with-libhiredis
LIBEVENT_LIB_DEPENDS= libevent.so:devel/libevent
LIBEVENT_CONFIGURE_WITH= libevent
LIBEVENT_CPPFLAGS+= $$(pkg-config libevent --cflags-only-I)
LIBEVENT_LDFLAGS+= $$(pkg-config libevent --libs-only-L)
MUNIN_PLUGIN_SUB_FILES= pkg-message
PYTHON_BUILD_DEPENDS= swig:devel/swig
PYTHON_USES= python
PYTHON_CONFIGURE_ON= --with-pythonmodule=yes \
--with-pyunbound=yes \
ac_cv_path_SWIG=${LOCALBASE}/bin/swig \
LDFLAGS="-L${LOCALBASE}/lib"
PYTHON_VARS= STRIP_FILES+=.libs/_unbound.so
SUBNET_CONFIGURE_ENABLE= subnet
TFOCL_CONFIGURE_ENABLE= tfo-client
TFOSE_CONFIGURE_ENABLE= tfo-server
THREADS_CONFIGURE_WITH= pthreads
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-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/doc/|} ${STAGEDIR}${DOCSDIR}
post-install-MUNIN_PLUGIN-on:
@${MKDIR} ${STAGEDIR}${PREFIX}/share/munin/plugins
${INSTALL_SCRIPT} ${WRKDIR}/unbound-${DISTVERSION}/contrib/unbound_munin_ \
${STAGEDIR}${PREFIX}/share/munin/plugins/
@${ECHO_MSG}
@${ECHO_MSG} "============================================================="
@${CAT} ${WRKDIR}/pkg-message
@${ECHO_MSG} "============================================================="
post-install-PYTHON-on:
@${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/_unbound.so
.include <bsd.port.mk>