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}
}
openSUSE Build Service is sponsored by