summaryrefslogtreecommitdiffstats
path: root/distro/pkg/arch/PKGBUILD
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:26:00 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:26:00 +0000
commit830407e88f9d40d954356c3754f2647f91d5c06a (patch)
treed6a0ece6feea91f3c656166dbaa884ef8a29740e /distro/pkg/arch/PKGBUILD
parentInitial commit. (diff)
downloadknot-resolver-830407e88f9d40d954356c3754f2647f91d5c06a.tar.xz
knot-resolver-830407e88f9d40d954356c3754f2647f91d5c06a.zip
Adding upstream version 5.6.0.upstream/5.6.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'distro/pkg/arch/PKGBUILD')
-rw-r--r--distro/pkg/arch/PKGBUILD71
1 files changed, 71 insertions, 0 deletions
diff --git a/distro/pkg/arch/PKGBUILD b/distro/pkg/arch/PKGBUILD
new file mode 100644
index 0000000..7eea556
--- /dev/null
+++ b/distro/pkg/arch/PKGBUILD
@@ -0,0 +1,71 @@
+# Maintainer: Tomas Krizek <tomas.krizek@nic.cz>
+# Contributor: Ondřej Surý <ondrej@sury.org>
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+pkgname=knot-resolver
+pkgver={{ version }}
+pkgrel={{ release }}
+pkgdesc='Caching DNSSEC-validating DNS resolver'
+arch=('x86_64' 'armv7h')
+url='https://www.knot-resolver.cz/'
+license=('GPL3')
+depends=(
+ 'dnssec-anchors'
+ 'gnutls'
+ 'knot'
+ 'libedit'
+ 'libuv'
+ 'lmdb'
+ 'luajit'
+ 'systemd'
+ 'libcap-ng'
+ 'libnghttp2'
+ 'jemalloc'
+)
+makedepends=(
+ 'cmocka'
+ 'meson'
+ 'systemd-libs'
+)
+optdepends=(
+ 'lua51-basexx: experimental_dot_auth module'
+ 'lua51-cqueues: http and dns64 module, policy.rpz() function'
+ 'lua51-http: http and prefill modules, trust_anchors bootstrap'
+ 'lua51-psl: policy.slice_randomize_psl() function'
+)
+backup=('etc/knot-resolver/kresd.conf')
+options=(debug strip)
+source=("knot-resolver-${pkgver}.tar.xz")
+sha256sums=('SKIP')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ meson build \
+ --buildtype=release \
+ --prefix=/usr \
+ --sbindir=bin \
+ -D keyfile_default=/etc/trusted-key.key \
+ -D systemd_files=enabled \
+ -D client=enabled \
+ -D install_kresd_conf=enabled \
+ -D malloc=jemalloc \
+ -D unit_tests=enabled
+ ninja -C build
+}
+
+check() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ meson test -C build
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ DESTDIR=${pkgdir} ninja -C build install
+
+ # add kresd.target to multi-user.target.wants to support enabling kresd services
+ install -d -m 0755 "${pkgdir}/usr/lib/systemd/system/multi-user.target.wants"
+ ln -s ../kresd.target "${pkgdir}/usr/lib/systemd/system/multi-user.target.wants/kresd.target"
+
+ # remove modules with missing dependencies
+ rm "${pkgdir}/usr/lib/knot-resolver/kres_modules/etcd.lua"
+}