commit: (<title> <author> <date> etc.)
blob: 8232322f289e14881e1fee3a60163112021d2445 (
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
|
PORTNAME= knot
DISTVERSION= ${KNOT_VERSION}
PORTREVISION= 2
CATEGORIES= dns
MASTER_SITES= https://secure.nic.cz/files/knot-dns/ \
https://dns.company/downloads/knot-dns/
PKGNAMESUFFIX?= 3
MAINTAINER= freebsd@dns.company
COMMENT= High performance authoritative-only DNS server
WWW= https://www.knot-dns.cz/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= gsed:textproc/gsed \
lmdb>=1.0.0:databases/lmdb
LIB_DEPENDS= libgnutls.so:security/gnutls \
liblmdb.so:databases/lmdb
USES= compiler:c11 libtool localbase pkgconfig tar:xz
USE_LDCONFIG= yes
HAS_CONFIGURE= yes
CONFIGURE_ARGS= --enable-cap-ng=no \
--enable-recvmmsg=no \
--enable-systemd=no \
--mandir=${PREFIX}/share/man \
--with-pkgconfigdir=${PREFIX}/libdata/pkgconfig
INSTALL_TARGET= install-strip
CONFLICTS= knot-1.* knot1-[0-6].* knot2-[0-9].*
DATADIR= /var/db/${PORTNAME}
RUNDIR= /var/run/${PORTNAME}
BINARY_ALIAS= sed=${LOCALBASE}/bin/gsed
SUB_LIST= GROUPS=${GROUPS} \
USERS=${USERS}
USERS= ${PORTNAME}
GROUPS= ${PORTNAME}
PLIST_SUB= RUNDIR=${RUNDIR} \
GROUPS=${GROUPS} \
USERS=${USERS}
PORTDOCS= COPYING NEWS
OPTIONS_DEFINE= DAEMON UTILS DOCS EXAMPLES MANPAGES
OPTIONS_DEFAULT= DAEMON FASTPARSER DOH DOQ IDN MANPAGES \
MODACL MODAUTH MODCOOKIES MODPROXY MODNOUDP \
MODPROBE MODRRL MODSIGN MODSTATS MODSYNTH \
MODWHOAMI UTILS
OPTIONS_GROUP= DAEMONGR UTILGR
OPTIONS_GROUP_DAEMONGR= DNSTAP FASTPARSER MODACL MODAUTH MODCOOKIES \
MODPROXY MODGEO MODNOUDP MODPROBE MODRRL \
MODSIGN MODSTATS MODSYNTH MODWHOAMI
OPTIONS_GROUP_UTILGR= DOH DOQ IDN
NO_OPTIONS_SORT= yes
OPTIONS_SUB= yes
DAEMONGR_DESC= Options for daemon
DAEMON_DESC= Install daemon
DNSTAP_DESC= dnstap support (see dnstap.info)
DOH_DESC= Support for DNS over HTTPS (DoH)
DOQ_DESC= Support for DNS over QUIC (DoQ)
FASTPARSER_DESC= Fast zone parser (demands compiling)
MODACL_DESC= Build 'queryacl' module
MODAUTH_DESC= Build 'authsignal' module
MODCOOKIES_DESC= Build 'cookies' module
MODGEO_DESC= Build 'geodb' module
MODNOUDP_DESC= Build 'noudp' module
MODPROBE_DESC= Build 'probe' module
MODPROXY_DESC= Build 'dnsproxy' module
MODRRL_DESC= Build 'rrl' module
MODSIGN_DESC= Build 'onlinesign' module
MODSTATS_DESC= Build 'stats' module
MODSYNTH_DESC= Build 'synthrecord' module
MODWHOAMI_DESC= Build 'whoami' module
UTILGR_DESC= Options for utilities
UTILS_DESC= Install utulities
DAEMON_LIB_DEPENDS= liburcu.so:sysutils/liburcu
DAEMON_USES= libedit
DAEMON_CONFIGURE_ENABLE= daemon modules
DAEMON_CONFIGURE_WITH= rundir=${RUNDIR} storage=${DATADIR}
DAEMON_SUB_FILES= pkg-message
DAEMON_VARS= USE_RC_SUBR=${PORTNAME}
DNSTAP_LIB_DEPENDS= libfstrm.so:devel/fstrm \
libprotobuf-c.so:devel/protobuf-c
DNSTAP_CONFIGURE_ENABLE= dnstap
DNSTAP_CONFIGURE_WITH= module-dnstap=yes
DNSTAP_CPPFLAGS= -I${LOCALBASE}/include
#
# XXX: because `kdig_CPPFLAGS += $(DNSTAP_CFLAGS)' line is missing from
# `src/Makefile.am' file (and thus pre-generated `src/Makefile.in') which
# should contain "$libfstrm_CFLAGS $libprotobuf_c_CFLAGS" set by configure
# script, provide it here explicitly as patching those files would result
# in higher line count. Ideally this bug should be fixed upstream.
DOH_LIB_DEPENDS= libnghttp2.so:www/libnghttp2
DOQ_LIB_DEPENDS= libngtcp2.so:net/libngtcp2 \
libngtcp2_crypto_gnutls.so:net/libngtcp2-gnutls
DOQ_CONFIGURE_ON= --enable-quic=yes
DOQ_CONFIGURE_OFF= --enable-quic=no
FASTPARSER_CONFIGURE_ENABLE= fastparser
IDN_LIB_DEPENDS= libidn2.so:dns/libidn2
IDN_CONFIGURE_WITH= libidn
MANPAGES_BUILD_DEPENDS= sphinx-build:textproc/py-sphinx
MANPAGES_CONFIGURE_ENABLE= documentation
MODACL_CONFIGURE_WITH= module-queryacl=yes
MODAUTH_CONFIGURE_WITH= module-authsignal=yes
MODCOOKIES_CONFIGURE_WITH= module-cookies=yes
MODGEO_LIB_DEPENDS= libmaxminddb.so:net/libmaxminddb
MODGEO_CONFIGURE_ENABLE= maxminddb
MODGEO_CONFIGURE_WITH= module-geoip=yes
MODNOUDP_CONFIGURE_WITH= module-noudp=yes
MODPROBE_CONFIGURE_WITH= module-probe=yes
MODPROXY_CONFIGURE_WITH= module-dnsproxy=yes
MODRRL_CONFIGURE_WITH= module-rrl=yes
MODSIGN_CONFIGURE_WITH= module-onlinesign=yes
MODSTATS_CONFIGURE_WITH= module-stats=yes
MODSYNTH_CONFIGURE_WITH= module-synthrecord=yes
MODWHOAMI_CONFIGURE_WITH= module-whoami=yes
UTILS_CONFIGURE_ENABLE= utilities
.include <bsd.port.options.mk>
.if ${ARCH} == i386
USES+= autoreconf
.endif
post-patch-DAEMON-on:
@${REINPLACE_CMD} 's|$$(INSTALL) -d $$(DESTDIR)/\@run_dir\@|#$$(INSTALL) -d $$(DESTDIR)/\@run_dir\@|' \
${WRKSRC}/src/Makefile.in
@${REINPLACE_CMD} 's|$$(INSTALL) -d $$(DESTDIR)/\@storage_dir\@|#$$(INSTALL) -d $$(DESTDIR)/\@storage_dir\@|' \
${WRKSRC}/src/Makefile.in
@${RM} -r ${WRKSRC}/src/zscanner/scanner.c
do-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}/
do-install-MANPAGES-on:
${INSTALL_MAN} ${WRKSRC}/doc/man/*.1 ${STAGEDIR}${PREFIX}/share/man/man1
${INSTALL_MAN} ${WRKSRC}/doc/man/*.5 ${STAGEDIR}${PREFIX}/share/man/man5
${INSTALL_MAN} ${WRKSRC}/doc/man/*.8 ${STAGEDIR}${PREFIX}/share/man/man8
post-install-DAEMON-on:
@${MKDIR} ${STAGEDIR}${DATADIR} ${STAGEDIR}${RUNDIR}
post-install:
.if ${PORT_OPTIONS:MDAEMON} && ${PORT_OPTIONS:MEXAMPLES}
${MV} ${STAGEDIR}${ETCDIR}/knot.sample.conf ${STAGEDIR}${ETCDIR}/knot.conf.sample
.else
${RM} ${STAGEDIR}${ETCDIR}/knot.sample.conf
.endif
.include "knotdns.mk"
.include <bsd.port.mk>
|
This site is maintained by Jamie Landeg-Jones <jamie@catflap.org>, and is not an official FreeBSD project, nor is it endorsed by the FreeBSD team.