# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Alexander Rødseth <rodseth@gmail.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: Kevin Mihelich <kevin@archlinuxarm.org>
# Contributor: Remi Gacogne <rgacogne[at]archlinux[dot]org>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - explicitly link v5/v6 with libatomic

pkgname=powerdns
pkgver=4.0.4
pkgrel=1
pkgdesc='Authoritative DNS server'
url='http://www.powerdns.com/'
arch=('i686' 'x86_64')
license=('GPL2')
depends=('boost-libs' 'libsodium' 'systemd' 'lua' 'openssl' 'protobuf' 'sqlite')
makedepends=('boost' 'setconf' 'libmariadbclient' 'postgresql-libs' 'lua' 'libldap'
             'sqlite' 'geoip' 'yaml-cpp' 'pkg-config')
optdepends=('libmariadbclient: MariaDB/MySQL backend'
            'postgresql-libs: PostgreSQL backend'
            'libldap: LDAP backend'
            'geoip: GeoIP backend'
            'yaml-cpp: GeoIP backend')
provides=('pdns')
conflicts=('pdns')
backup=('etc/powerdns/pdns.conf')
source=(https://downloads.powerdns.com/releases/pdns-${pkgver}.tar.bz2{,.asc})
sha512sums=('4ef4705cd990b03976775167c7c37850d45907e198549feda5f5701172e008e3f1f74a35a9bebdb24b63dec15ff63cb2cc9dfc8f92e4e1012e0539c5a88b845b'
            'SKIP')
validpgpkeys=('B76CD4671C0968BAA87DE61C5E50715BF2FFE1A7') # Pieter Lexis <pieter.lexis@powerdns.com>

prepare() {
  cd pdns-${pkgver}
  # Default settings
  for keyvalue in \
    allow-recursion=127.0.0.1 \
    chroot=/var/empty \
    config-dir=/etc/powerdns \
    daemon=no \
    distributor-threads=3 \
    guardian=no \
    local-port=53 \
    loglevel=3 \
    module-dir=/usr/lib/powerdns \
    setgid=nobody \
    setuid=nobody \
    socket-dir=/var/run \
    webserver=no
  do
    setconf -a pdns.conf "${keyvalue}"
  done

  # Using simple so we can bind it to a chroot
  sed 's|notify|simple|' -i pdns/pdns.service.in
}

build() {
  cd pdns-${pkgver}
  [[ $CARCH == arm || $CARCH == armv6h ]] && LIBS="-latomic"
  LIBS=$LIBS ./configure \
    --prefix=/usr \
    --sysconfdir=/etc/powerdns \
    --libexecdir=/usr/lib \
    --libdir=/usr/lib \
    --mandir=/usr/share/man \
    --with-modules='' \
    --with-dynmodules="bind gmysql geoip gpgsql gsqlite3 ldap lua pipe random remote" \
    --docdir=/usr/share/doc/powerdns \
    --sbindir=/usr/bin \
    --bindir=/usr/bin \
    --with-sqlite3 \
    --enable-libsodium \
    --enable-tools \
    --disable-dependency-tracking \
    --disable-silent-rules \
    --enable-reproducible \
    --enable-unit-tests \
    --enable-systemd
  make
}

check() {
  make -C pdns-${pkgver} check
}

package() {
  cd pdns-${pkgver}
  make DESTDIR="${pkgdir}" install
  # apply defaults to generated pdns.conf
  mv "${pkgdir}/etc/powerdns/pdns.conf"{-dist,}
  cat pdns.conf >> "${pkgdir}/etc/powerdns/pdns.conf"
  # adjust modules dir to match pkgname
  mv "${pkgdir}/usr/lib/"{pdns,powerdns}
}

# vim: ts=2 sw=2 et: