# Maintainer: Bruno Pagani <archange@archlinux.org>
# Contributor: Ondřej Surý <ondrej@sury.org>
# Contributor: Julian Brost <julian@0x4a42.net>
# Contributor: Oleander Reis <oleander@oleander.cc>
# Contributor: Otto Sabart <seberm[at]gmail[dot]com>

pkgname=knot
pkgver=3.4.6
pkgrel=1
pkgdesc="High-performance authoritative-only DNS server"
arch=(x86_64)
url="https://www.knot-dns.cz/"
license=(GPL3)
depends=(libedit gnutls liburcu lmdb
         libidn2 systemd libcap-ng
         fstrm protobuf-c libmaxminddb
         libbpf libxdp libnghttp2 libmnl)
makedepends=(git python-sphinx)
backup=('etc/knot/knot.conf')
source=("git+https://gitlab.nic.cz/knot/knot-dns.git#tag=v${pkgver}?signed")
sha256sums=('79521afb1a33a66f0c5db157c6ab1fb7d2cb1eb07d9dd93ec99379e26efa1681')
validpgpkeys=(742FA4E95829B6C5EAC6B85710BB7AF6FEBBD6AB) # Daniel Salzman <daniel.salzman@nic.cz>

prepare() {
    cd ${pkgname}-dns
    autoreconf -fiv
}

build() {
    cd ${pkgname}-dns

    ./configure \
        --prefix=/usr \
        --sbindir=/usr/bin \
        --sysconfdir=/etc \
        --localstatedir=/var/lib \
        --libexecdir=/usr/lib/knot \
        --with-rundir=/run/knot \
        --with-storage=/var/lib/knot \
        --enable-dnstap \
        --enable-quic \
        --disable-silent-rules

    make
}

check() {
    cd ${pkgname}-dns
    make check
}

package() {
    cd ${pkgname}-dns

    make DESTDIR="${pkgdir}" install

    # Don’t keep those empty dir, manage them with systemd-tmpfiles instead
    rmdir "${pkgdir}"/{var/{lib/{knot/,},},run/{knot/,}}

    rm "${pkgdir}"/etc/knot/example.com.zone
    mv "${pkgdir}"/etc/knot/{knot.sample.conf,knot.conf}

    install -Dm644 distro/common/knot.service -t "${pkgdir}"/usr/lib/systemd/system/
    install -Dm644 distro/pkg/arch/knot.tmpfiles.arch "${pkgdir}"/usr/lib/tmpfiles.d/${pkgname}.conf
    install -Dm644 distro/pkg/arch/knot.sysusers "${pkgdir}"/usr/lib/sysusers.d/${pkgname}.conf
}
