mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
98 lines
3.0 KiB
Tcl
98 lines
3.0 KiB
Tcl
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
|
|
|
|
PortSystem 1.0
|
|
PortGroup legacysupport 1.1
|
|
|
|
# clock_gettime
|
|
legacysupport.newest_darwin_requires_legacy 15
|
|
|
|
name knot
|
|
version 3.5.5
|
|
revision 0
|
|
|
|
categories net
|
|
license GPL-3+
|
|
maintainers {mps @Schamschula} openmaintainer
|
|
description Knot DNS is a high-performance authoritative-only DNS server which \
|
|
supports all key features of the modern domain name system.
|
|
long_description {*}${description}
|
|
homepage https://www.knot-dns.cz
|
|
master_sites https://secure.nic.cz/files/knot-dns/ \
|
|
https://sources.openwrt.org
|
|
|
|
use_xz yes
|
|
|
|
checksums rmd160 f4aa83b074149c4a0a08f6053ce89eedc4272bf9 \
|
|
sha256 38502c1472247c955aa3329bb5722e61ca765b833e3497d71f891ebf8e77fa04 \
|
|
size 1734192
|
|
|
|
depends_build port:pkgconfig
|
|
|
|
depends_lib port:fstrm \
|
|
path:lib/pkgconfig/gnutls.pc:gnutls \
|
|
port:libidn2 \
|
|
port:lmdb \
|
|
port:nghttp2 \
|
|
port:ngtcp2 \
|
|
port:protobuf-c \
|
|
port:userspace-rcu
|
|
|
|
# Should match knot-resolver port
|
|
platforms {darwin >= 11}
|
|
|
|
# error: address argument to atomic operation must be a
|
|
# pointer to non-const _Atomic type on macOS <10.14
|
|
# Uses C17 atomics.
|
|
compiler.c_standard 2017
|
|
|
|
patchfiles-append patch-src-knot-server-quic-handler.c.diff
|
|
|
|
# https://github.com/CZ-NIC/knot/pull/35
|
|
# TCP Fast Open API support was implemented in macOS 10.11.
|
|
# Despite the correctness of the compatibility patch, it
|
|
# wasn't be added to upstream.
|
|
if {${os.platform} eq "darwin" && ${os.major} < 16} {
|
|
patchfiles-append \
|
|
patch-for-macos-10.11-and-older.diff
|
|
}
|
|
|
|
post-patch {
|
|
reinplace "s|task_t|k_task_t|g" \
|
|
${worksrcpath}/src/knot/events/events.c \
|
|
${worksrcpath}/src/knot/events/events.h \
|
|
${worksrcpath}/src/knot/worker/pool.c \
|
|
${worksrcpath}/src/knot/worker/queue.c \
|
|
${worksrcpath}/src/knot/worker/queue.h \
|
|
${worksrcpath}/tests/knot/test_worker_pool.c \
|
|
${worksrcpath}/tests/knot/test_worker_queue.c
|
|
}
|
|
|
|
configure.args --disable-silent-rules
|
|
|
|
subport libknot {
|
|
conflicts ${name}
|
|
|
|
configure.args-append \
|
|
--disable-daemon \
|
|
--disable-modules \
|
|
--disable-utilities
|
|
}
|
|
|
|
if {${name} eq ${subport}} {
|
|
conflicts libknot
|
|
|
|
startupitem.create yes
|
|
startupitem.netchange yes
|
|
startupitem.executable ${prefix}/sbin/knotd -c ${prefix}/etc/knot/knot.conf
|
|
|
|
notes "
|
|
To complete the installation, run:
|
|
|
|
sudo cp ${prefix}/etc/knot/knot.sample.conf ${prefix}/etc/knot/knot.conf
|
|
|
|
Edit as necessary. (See the knot.conf manpage for additional information.)
|
|
|
|
You will also need to created *.zone files. See ${prefix}/etc/knot/example.com.zone.
|
|
"
|
|
}
|