File PKGBUILD of Package dnsdist-hardened
# Maintainer: Oleksandr Natalenko <oleksandr@natalenko.name>
pkgname=dnsdist-hardened
pkgver=2.0.1
pkgrel=1
pkgdesc="A highly DNS-, DoS- and abuse-aware loadbalancer"
arch=(x86_64)
url=https://dnsdist.org
license=(GPL-2.0-only)
source=(https://downloads.powerdns.com/releases/dnsdist-${pkgver}.tar.xz
cargo.tar.zst
dnsdist.service
config.yml
blocklists.toml
dnsdist-blocklist-update.py
dnsdist-blocklist-update.service
dnsdist-blocklist-update.timer)
sha256sums=('144e2356d07d6577a570782a6f79f426125344221dbdc4ddaaa7f9d468d51900'
'b57acc5105d961b14f78313a63e776deb75f4f13e5e24d8ac46ab69c5a8a1097'
'38d7a147830ac43be3d52857378161c58e1a7b47cd579c7b1ca1c1217b59f626'
'31e7018a1ee0f53eb7f3fbeda861bef92a83b7b008f66c45fe2843af27bd5808'
'277c41f126cc4d0549b7a9008b98b4fc03e796aaf3e9cf7103ef8f3c19b9b69e'
'a02c048a70d1fb600a8612260b6fb76f2768800eaea06ae4e7bf495bce542747'
'83cb765f424d09fa4a6eaabf5acd1c3e470c85a8fca5178638d8631d994b09b3'
'790f66d18042562a548f2ecdea283706cb531e8fd605d2bd51bcf103ccfabd30')
backup=(etc/credstore/dnsdist/config.yml
etc/dnsdist/blocklists.toml)
makedepends=(boost meson python-yaml rust)
depends=(fstrm gcc-libs glibc gnutls libbpf.so libcap.so libcdb.so libcrypto.so libedit.so libnetsnmpagent.so libnetsnmp.so libnghttp2.so libre2.so libsodium.so libssl.so libsystemd.so libxdp.so lmdb luajit quiche)
provides=(dnsdist)
conflicts=(dnsdist)
replaces=(dnsdist)
options=(!lto)
build() {
export CFLAGS=${CFLAGS//-Wp,-D_FORTIFY_SOURCE=3/}
export CXXFLAGS=${CFLAGS//-Wp,-D_FORTIFY_SOURCE=3/}
export CARGO_HOME="${srcdir}"/cargo
arch-meson dnsdist-${pkgver} build \
-D reproducible=true \
-D auto-var-init=zero \
-D dnscrypt=enabled \
-D snmp=enabled \
-D yaml=enabled
meson compile -C build
}
package() {
depends+=(python-pure-cdb python-requests)
meson install -C build --destdir "${pkgdir}"
rm "${pkgdir}"/etc/dnsdist.conf-dist
install -Dt "${pkgdir}"/etc/credstore/dnsdist -m0400 config.yml
chmod 700 "${pkgdir}"/etc/credstore
rm -r "${pkgdir}"/usr/lib
install -Dt "${pkgdir}"/usr/lib/systemd/system -m0644 dnsdist.service
install -Dt "${pkgdir}"/etc/dnsdist -m0644 blocklists.toml
install -Dt "${pkgdir}"/usr/bin -m0755 dnsdist-blocklist-update.py
install -Dt "${pkgdir}"/usr/lib/systemd/system -m0644 dnsdist-blocklist-update.{service,timer}
}