File PKGBUILD of Package hickory-dns-git

# -*- mode: Shell-script; eval: (setq indent-tabs-mode 't); eval: (setq tab-width 4) -*-
# Maintainer: Dominic Meiser [git at msrd0 dot de]

_crate="hickory-dns"
pkgname="hickory-dns-git"
pkgver=0.25.1.r117.gc001f67f2
pkgrel=1
pkgdesc='Hickory DNS is a safe and secure DNS server with DNSSEC support. Eventually t...'
url='https://hickory-dns.org/'
license=('Apache-2.0' 'MIT')

depends=('gcc-libs')
makedepends=('cargo' 'cargo-auditable')
replaces=('trust-dns-git')
conflicts=('hickory-dns')
provides=('hickory-dns')

source=(hickory-dns-*.tar
        'hickory-dns.service'
        'vendor.toml'
        'vendor.tar.xz')
sha512sums=('SKIP'
            'fc985e788258f918f7239d207418b1c68a110cff3722682b812b34548727e077f71745c07f28df28999523c80a54480a688fdf2cbf7c1ffa068cce24c3f49baf'
            'f24edf609bae4189b61c4e9eb4ad1458c515b54aed56c41122b48a4dc64328d3261c4cbc74e4229e95bb06d14b81aa501d46d47013b6f0f87fe06af45a8b26ac'
            '205ae6f0c6df676754c602442a38fe486696855ad9de660095500e1ff4e3df2c8d6196083666c0e7e4c5e3aaa65446d1fc21e361d181027400bd303c8ec556f3')

# Tier 1 architectures supported by Rust (https://doc.rust-lang.org/nightly/rustc/platform-support.html#tier-1)
arch=('aarch64' 'i686' 'x86_64')

pkgver() {
	cd "$srcdir/$_crate"
	_describe=$(basename ../hickory-dns-*.tar | sed 's/^hickory-dns-\(.*\).tar$/\1/' )
	if echo $_describe | grep alpha &>/dev/null; then
		echo $_describe | sed -E 's,^v?([^-]+)-alpha.([0-9]+)-([0-9]+)-(g[0-9a-f]+)$,\1.a\2.r\3.\4,'
	else
		echo $_describe | sed -E 's,^v?([^-]+)-([0-9]+)-(g[0-9a-f]+)$,\1.r\2.\3,'
	fi
}

prepare() {
	mv hickory-dns-*/ hickory-dns
	mkdir -p hickory-dns/.cargo; cat vendor.toml >> hickory-dns/.cargo/config.toml
}

build() {
	cd "$srcdir/$_crate"
	
	export RUSTUP_TOOLCHAIN=stable
	export CARGO_TARGET_DIR=target
	CFLAGS+=" -ffat-lto-objects"
	
	cargo auditable build \
		-p "$_crate" \
		--locked \
		--features 'h3-ring,https-ring,quic-ring,tls-ring,dnssec-ring,rustls-platform-verifier,blocklist,recursor,resolver' \
		--release
}

package() {
	cd "$srcdir/$_crate"
	install -Dm755 "target/release/hickory-dns" -t "$pkgdir/usr/bin"
	install -Dm644 'LICENSE-MIT' -t "$pkgdir/usr/share/licenses/$pkgname/"
	install -Dm644 'LICENSE-APACHE' -t "$pkgdir/usr/share/licenses/$pkgname/"
	install -Dm644 "$srcdir/hickory-dns.service" -t "$pkgdir//usr/lib/systemd/system/"
}
openSUSE Build Service is sponsored by