File PKGBUILD of Package unbound

pkgname=unbound
pkgver=1.17.1
pkgrel=2
pkgdesc="Validating, recursive, and caching DNS resolver"
arch=(x86_64)
url="https://unbound.net/"
license=(BSD)
depends=(dnssec-anchors fstrm hiredis ldns libnghttp2 libsodium)
makedepends=(expat libevent openssl protobuf-c python swig systemd)
optdepends=('expat: for unbound-anchor'
            'sh: for unbound-control-setup'
            'python: for python-bindings')
provides=(libunbound.so)
backup=(etc/$pkgname/$pkgname.conf)
source=(https://unbound.net/downloads/$pkgname-$pkgver.tar.gz
        $pkgname-1.14.0-trust_anchor_file.patch
        $pkgname-sysusers.conf
        $pkgname-tmpfiles.conf
        $pkgname-trusted-key.hook
        d7e776114114c16816570e48ab3a27eedc401a0e.patch)
sha512sums=('10dd4c3aff77f1c0d19eb3c66956ed6ef1aae19e827d0b3259dc75d9de28dedd41862982a299e67ee07e17fb52058b4beee9d4b1d3bb0a3f633b9ba5b864d168'
            '9590d3d459d96f99cbc7482fae0f5318dd22a034e45cff18079e4f3c9f9c3c1d7af90cdd5353fb469eac08c535555fd164097b496286b807b2117e8a3a6cd304'
            'ef71d4e9b0eb0cc602d66bd0573d9424578fe33ef28a852c582d56f0fd34fdd63046c365ef7aed8b84a461b81254240af7ad3fd539da72f9587817d21bd6c585'
            '6b1849ae9d7cf427f6fa6cd0590e8f8c3f06210d2d6795e543b0f325a9e866db0f5db2275a29fa90f688783c0dd16f19c8a49a9817d5f5444e13f8f2df3ff712'
            '613826cdf5ab6e77f2805fa2aa65272508dcd11090add1961b3df6dfac3b67db016bc9f45fbcf0ef0de82b2d602c153d5263a488027a6cf13a72680b581b266d'
            'SKIP')
validpgpkeys=(EDFAA3F2CA4E6EB05681AF8E9F6F1C2D7E045F8D) # W.C.A. Wijngaards <wouter@nlnetlabs.nl>

prepare() {
  # enable trusted-anchor-file and set it to an unbound specific location
  patch -p1 -d $pkgname-$pkgver -i ../$pkgname-1.14.0-trust_anchor_file.patch
  # https://github.com/NLnetLabs/unbound/commit/d7e776114114c16816570e48ab3a27eedc401a0e
  patch -p1 -d $pkgname-$pkgver -i ../d7e776114114c16816570e48ab3a27eedc401a0e.patch
  cd $pkgname-$pkgver
  autoreconf -fiv
}

build() {
  local configure_options=(
    --prefix=/usr
    --sysconfdir=/etc
    --localstatedir=/var
    --sbindir=/usr/bin
    --disable-rpath
    --enable-dnscrypt
    --enable-dnstap
    --enable-pie
    --enable-relro-now
    --enable-subnet
    --enable-systemd
    --enable-tfo-client
    --enable-tfo-server
    --enable-cachedb
    --with-libhiredis
    --with-conf-file=/etc/unbound/unbound.conf
    --with-pidfile=/run/unbound.pid
    --with-rootkey-file=/etc/trusted-key.key
    --with-libevent
    --with-libnghttp2
    --with-pyunbound
  )

  cd $pkgname-$pkgver
  ./configure "${configure_options[@]}"
  # prevent excessive overlinking due to libtool
  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
  make
}

check() {
  make -k check -C $pkgname-$pkgver
}

package() {
  depends+=(
    libevent libevent-2.1.so
    openssl libcrypto.so libssl.so
    protobuf-c libprotobuf-c.so
    systemd-libs libsystemd.so
  )

  make DESTDIR="$pkgdir" install -C $pkgname-$pkgver
  install -vDm 644 $pkgname-$pkgver/contrib/$pkgname.service -t "$pkgdir/usr/lib/systemd/system/"
  install -vDm 644 $pkgname-$pkgver/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/"
  install -vDm 644 $pkgname-sysusers.conf "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
  install -vDm 644 $pkgname-tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
  # libalpm hook to copy the dnssec-anchors provided key to /etc/unbound
  install -vDm 644 unbound-trusted-key.hook -t "$pkgdir/usr/share/libalpm/hooks/"
}
openSUSE Build Service is sponsored by