PKGBUILDs/community/powerdns/PKGBUILD
2020-06-02 13:54:01 +00:00

86 lines
3.5 KiB
Bash

# 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>
# Contributor: Pieter Lexis <pieter[dot]lexis[at]powerdns[dot]com>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - explicitly link v5/v6 with libatomic
pkgname=powerdns
pkgver=4.2.2
pkgrel=2
pkgdesc='Authoritative DNS server'
url='https://www.powerdns.com/'
arch=('x86_64')
license=('GPL2')
depends=('boost-libs' 'botan>=2.7.0' 'libsodium' 'luajit' 'openssl' 'protobuf'
'sqlite' 'systemd' 'lua' 'curl' 'libcurl.so')
makedepends=('boost' 'geoip' 'libldap' 'mariadb-libs' 'opendbx'
'postgresql-libs' 'tinycdb' 'unixodbc' 'yaml-cpp')
optdepends=('geoip: GeoIP backend'
'mariadb-libs: MariaDB/MySQL and MyDNS backend'
'libldap: LDAP backend'
'opendbx: OpenDBX backend'
'postgresql-libs: PostgreSQL backend'
'unixodbc: ODBC backend'
'tinycdb: TinyDNS 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}
sysusers.conf
${pkgname}-gcc10.patch::https://github.com/PowerDNS/pdns/commit/ffb885e937c27bb1c62dee8f18c58.patch)
sha512sums=('b9d0daadd89f4ab009981305d2c323ab75e283b59b94f764d53c37984a2b6200debe4e514572eac49973fcba2034df65214afb949ce3b1b4ff57b07b07f6e608'
'SKIP'
'522bde8b76367db6edd461fca8f81d50304a4d764addf33774b3e2c5c93a9e72d93993f54ddd4ee887ceeccf70280aceea3ffaf6370d26310e0a7ebbbf61f26a'
'3685c8e08df2073351e3cd722ea1d7d19236c148d3a88368884ae5eb0a4fcd084eb2b62082e7f326e0770cd56c184a0f14fb026c02c0111a8386b6a0a46db3e5')
validpgpkeys=('B76CD4671C0968BAA87DE61C5E50715BF2FFE1A7' # Winkels, Erik <erik.winkels@open-xchange.com>
'16E12866B7738C73976A57436FFC33439B0D04DF' # Peter van Dijk <peter.van.dijk@powerdns.com>
'FBAE0323821C7706A5CA151BDCF513FA7EED19F3' ) # Pieter Lexis <pieter.lexis@powerdns.com>
prepare() {
cd pdns-${pkgver}
# Patch the Makefile.in's so /powerdns is used instead of /pdns (for e.g. $LIBDIR)
# This allows for running pdns_server without setting `module-dir` in the config.
find . -name 'Makefile.in' -exec sed -i 's,pkglibdir = \$(libdir)/@PACKAGE@,pkglibdir = $(libdir)/powerdns,' {} \;
patch -Np1 < "${srcdir}/${pkgname}-gcc10.patch"
}
build() {
cd pdns-${pkgver}
[[ $CARCH == arm || $CARCH == armv6h ]] && LIBS="-latomic"
LIBS=$LIBS ./configure \
--prefix=/usr \
--sysconfdir=/etc/powerdns \
--sbindir=/usr/bin \
--with-modules='' \
--with-dynmodules="bind geoip gmysql godbc gpgsql gsqlite3 ldap lua mydns opendbx pipe random remote tinydns" \
--docdir=/usr/share/doc/powerdns \
--enable-libsodium \
--enable-botan \
--enable-tools \
--disable-dependency-tracking \
--disable-silent-rules \
--enable-reproducible \
--enable-unit-tests \
--enable-systemd
make
}
check() {
make -C pdns-${pkgver} check
}
package() {
make -C pdns-${pkgver} DESTDIR="${pkgdir}" install
install -D -m644 sysusers.conf "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
mv "${pkgdir}/etc/powerdns/pdns.conf"{-dist,}
# Ensure we run as the powerdns user
sed -i "s,^# \(set.id=\),\1${pkgname}," "${pkgdir}/etc/powerdns/pdns.conf"
}
# vim: ts=2 sw=2 et: