freebsd-ports/dns/knot-resolver/Makefile
2021-01-26 14:01:09 +00:00

157 lines
4.4 KiB
Makefile

# Created by: Leo Vandewoestijne <freebsd@dns.company>
# $FreeBSD$
PORTNAME= knot-resolver
DISTVERSION= 5.1.3
PORTREVISION= 1
CATEGORIES= dns
MASTER_SITES= https://secure.nic.cz/files/knot-resolver/ \
https://dns.company/downloads/knot-resolver/
MAINTAINER= freebsd@dns.company
COMMENT= Caching full resolver implementation
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= bash:shells/bash \
flake8:devel/py-flake8@${PY_FLAVOR} \
lua51-cqueues>=20200603_1:devel/lua-cqueues@lua51 \
luacheck:devel/lua-luacheck \
cmake:devel/cmake
LIB_DEPENDS= libknot.so:dns/knot3-lib \
libdnssec.so:dns/knot3-lib \
libzscanner.so:dns/knot3-lib \
libgnutls.so:security/gnutls \
liblmdb.so:databases/lmdb \
libluajit-5.1.so:lang/luajit-openresty \
libuv.so:devel/libuv
RUN_DEPENDS= lua51-cqueues>=20200603_1:devel/lua-cqueues@lua51
USES= compiler:c11 compiler:c++11-lang libedit libtool \
meson ncurses ninja pkgconfig python:3.5+,build \
shebangfix tar:xz
USE_CXXSTD= c++11
USE_RC_SUBR= krescachegc kresd
SHEBANG_FILES= scripts/bench.sh \
scripts/build-in-obs.sh \
scripts/coverage_c_combine.sh \
scripts/coverage_env.sh \
scripts/gen-cdefs.sh \
scripts/get-date.sh \
scripts/get-scanbuild-args.sh \
scripts/luacov_gen_empty.sh \
scripts/make-dev-archive.sh \
scripts/make-distrofiles.sh \
scripts/make-doc.sh \
scripts/make-srpm.sh \
scripts/obs-build.sh \
scripts/run-pylint.sh \
scripts/test-config.sh \
scripts/test-integration-prepare.sh \
scripts/update-root-hints.sh
MESON_ARGS= --buildtype=release \
--default-library=static \
--libdir=${PREFIX}/lib \
--pkg-config-path=${PREFIX}/libdata/pkgconfig \
--prefix=${LOCALBASE} \
-Duser=${USERS} \
-Dgroup=${GROUPS} \
-Dinstall_kresd_conf=enabled \
-Dclient=enabled \
-Dutils=enabled \
-Dkeyfile_default=${ETCDIR}/root.keys \
-Droot_hints=${ETCDIR}/root.hints
LDFLAGS+= -L${LOCALBASE}/lib
CONFLICTS= knot-1.* knot1-[0-6].*
SUB_FILES= pkg-message
SUB_LIST= USERS=${USERS} \
GROUPS=${GROUPS} \
RUNDIR=${RUNDIR}
USERS= kresd
GROUPS= kresd
RUNDIR= /var/run/kresd
PLIST_SUB= USERS=${USERS} \
GROUPS=${GROUPS} \
RUNDIR=${RUNDIR}
OPTIONS_DEFINE= DOCS EXAMPLES DNSTAP ROOTKEYS TRUSTANCHOR TEST TESTUNIT TESTCONF TESTEXTRA
OPTIONS_DEFAULT= DOCS EXAMPLES ROOTKEYS TRUSTANCHOR TEST TESTUNIT TESTCONF
DNSTAP_DESC= dnstap support
ROOTKEYS_DESC= install root.keys
TESTCONF_DESC= Do config tests
TESTEXTRA_DESC= Do extra tests
TESTUNIT_DESC= Do unit tests
TEST_DESC= Do tests
TRUSTANCHOR_DESC= Trust anchor bootstrapping, management and stats
DNSTAP_LIB_DEPENDS= libprotobuf.so:devel/protobuf \
libprotobuf-c.so:devel/protobuf-c \
libfstrm.so:devel/fstrm
DNSTAP_MESON_ON= -Ddnstap=enabled
DNSTAP_MESON_OFF= -Ddnstap=disabled
DNSTAP_PLIST_FILES= lib/knot-resolver/kres_modules/dnstap.so
ROOTKEYS_MESON_ON= -Dinstall_root_keys=enabled
ROOTKEYS_MESON_OFF= -Dinstall_root_keys=disabled
ROOTKEYS_PLIST_FILES= ${ETCDIR}/root.keys
TESTCONF_MESON_ON= -Dconfig_tests=enabled
TESTCONF_MESON_OFF= -Dconfig_tests=disabled
TESTEXTRA_BROKEN= CMake Error: The source directory misses CMakeLists.txt
TESTEXTRA_BUILD_DEPENDS=git:devel/git
TESTEXTRA_USES= cmake python:3
TESTEXTRA_MESON_ON= -Dextra_tests=enabled \
-Dsendmmsg=disabled
TESTEXTRA_MESON_OFF= -Dextra_tests=disabled
TESTUNIT_BUILD_DEPENDS= cmocka>=1.1.1:sysutils/cmocka
TESTUNIT_MESON_ON= -Dunit_tests=enabled
TESTUNIT_MESON_OFF= -Dunit_tests=disabled
TRUSTANCHOR_MESON_ON= -Dmanaged_ta=enabled
TRUSTANCHOR_MESON_OFF= -Dmanaged_ta=disabled
PORTDOCS= AUTHORS COPYING CodingStyle NEWS README.md
PORTEXAMPLES= config.cluster config.docker config.internal config.isp \
config.personal config.privacy config.splitview
STRIP_TARGETS= sbin/kres-cache-gc \
sbin/kresc \
sbin/kresd \
lib/knot-resolver/ahocorasick.so \
lib/knot-resolver/kres_modules/bogus_log.so \
lib/knot-resolver/kres_modules/dnstap.so \
lib/knot-resolver/kres_modules/edns_keepalive.so \
lib/knot-resolver/kres_modules/hints.so \
lib/knot-resolver/kres_modules/lib/knot-resolver/kres_modules/nsid.so \
lib/knot-resolver/kres_modules/refuse_nord.so \
lib/knot-resolver/kres_modules/stats.so
pre-install:
${MKDIR} ${STAGEDIR}${DOCSDIR}
${MKDIR} ${STAGEDIR}${RUNDIR}
pre-install-TEST-on: do-test
post-install:
${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}/
.for STRIP_TGT in ${STRIP_TARGETS}
if [ -f ${STAGEDIR}${PREFIX}/${STRIP_TGT} ]; then \
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${STRIP_TGT}; \
fi
.endfor
.include <bsd.port.mk>