summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Smith <matthew@gentoo.org>2022-10-16 14:35:15 +0100
committerMatthew Smith <matthew@gentoo.org>2022-10-16 14:36:36 +0100
commitc510a209fc1db8d090cdd93a31aaedbc7a436df9 (patch)
tree67a71322108c26ef40165e1554acc172d32fad72 /net-dns
parentsec-keys/openpgp-keys-knot-resolver: new package, add 20221016 (diff)
downloadgentoo-c510a209fc1db8d090cdd93a31aaedbc7a436df9.tar.gz
gentoo-c510a209fc1db8d090cdd93a31aaedbc7a436df9.tar.bz2
gentoo-c510a209fc1db8d090cdd93a31aaedbc7a436df9.zip
net-dns/knot-resolver: new package, add 5.5.3
Signed-off-by: Matthew Smith <matthew@gentoo.org>
Diffstat (limited to 'net-dns')
-rw-r--r--net-dns/knot-resolver/Manifest2
-rw-r--r--net-dns/knot-resolver/files/knot-resolver-5.5.3-docdir.patch32
-rw-r--r--net-dns/knot-resolver/files/knot-resolver-5.5.3-nghttp-openssl.patch38
-rw-r--r--net-dns/knot-resolver/knot-resolver-5.5.3.ebuild90
-rw-r--r--net-dns/knot-resolver/metadata.xml19
5 files changed, 181 insertions, 0 deletions
diff --git a/net-dns/knot-resolver/Manifest b/net-dns/knot-resolver/Manifest
new file mode 100644
index 000000000000..fc41ecdcc09b
--- /dev/null
+++ b/net-dns/knot-resolver/Manifest
@@ -0,0 +1,2 @@
+DIST knot-resolver-5.5.3.tar.xz 1921668 BLAKE2B 7efdf1a69081d8f9f43b5bbe1b483826b94b87a0b001a449a5f89988afce070e4e3310e513e6281691bd81274a523ab8c7e52fe56a3d62019efe07809033a5a8 SHA512 7bf29bbf82e71727c1f47095a04a12712ca89a6f34d3a325337625ad116f49a47a90cb402525fdbf59cb0889b64d7083b908c335d65429b24d776603a3a8f28a
+DIST knot-resolver-5.5.3.tar.xz.asc 833 BLAKE2B 7ab348587c2604f14171d09436b2a296e9fb7124e6f899aba91215d32d8642dc5b9ae8300edf55c0790289bc954d5cf95c71b66a20b960c848d15e34469fc2f3 SHA512 1e95fffdb1c78a225b5bf861f978c1c18a9935ecd495e8f708ed4a241308b9302d2cf5a5ec51334dbecf50950af5f775bfff78995663cf1681a3dbc354d3a686
diff --git a/net-dns/knot-resolver/files/knot-resolver-5.5.3-docdir.patch b/net-dns/knot-resolver/files/knot-resolver-5.5.3-docdir.patch
new file mode 100644
index 000000000000..d75b98c3acca
--- /dev/null
+++ b/net-dns/knot-resolver/files/knot-resolver-5.5.3-docdir.patch
@@ -0,0 +1,32 @@
+From 4086abfd85e0bacc027ac1773d524093387265f9 Mon Sep 17 00:00:00 2001
+From: Matthew Smith <matthew@gentoo.org>
+Date: Sun, 16 Oct 2022 13:49:25 +0100
+Subject: [PATCH] build: docdir option
+
+--- a/meson.build
++++ b/meson.build
+@@ -46,7 +46,7 @@ endif
+ ## Paths
+ prefix = get_option('prefix')
+ data_dir = prefix / get_option('datadir') / 'knot-resolver'
+-doc_dir = prefix / get_option('datadir') / 'doc' / 'knot-resolver'
++doc_dir = get_option('docdir')
+ info_dir = prefix / get_option('datadir') / 'info'
+ examples_dir = doc_dir / 'examples'
+ etc_dir = prefix / get_option('sysconfdir') / 'knot-resolver'
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,6 +1,13 @@
+ # Configuration options
+ # SPDX-License-Identifier: GPL-3.0-or-later
+
++option(
++ 'docdir',
++ type: 'string',
++ value: '/usr/share/doc/knot-resolver',
++ description: 'path to store documentation',
++)
++
+ option(
+ 'keyfile_default',
+ type: 'string',
diff --git a/net-dns/knot-resolver/files/knot-resolver-5.5.3-nghttp-openssl.patch b/net-dns/knot-resolver/files/knot-resolver-5.5.3-nghttp-openssl.patch
new file mode 100644
index 000000000000..49340be1506c
--- /dev/null
+++ b/net-dns/knot-resolver/files/knot-resolver-5.5.3-nghttp-openssl.patch
@@ -0,0 +1,38 @@
+From 30087f85bb8d19586350c2a64648c0578c5c096c Mon Sep 17 00:00:00 2001
+From: Matthew Smith <matthew@gentoo.org>
+Date: Sun, 16 Oct 2022 13:44:40 +0100
+Subject: [PATCH] build: Add nghttp2 and openssl options
+
+--- a/meson.build
++++ b/meson.build
+@@ -87,8 +87,8 @@ group = get_option('group')
+
+ ## Optional dependencies
+ message('--- optional dependencies ---')
+-nghttp2 = dependency('libnghttp2', required: false)
+-openssl = dependency('openssl', required: false)
++nghttp2 = dependency('libnghttp2', required: get_option('nghttp2'))
++openssl = dependency('openssl', required: get_option('openssl'))
+
+ have_asprintf = meson.get_compiler('c').has_function('asprintf',
+ prefix: '#define _GNU_SOURCE\n#include <stdio.h>')
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -205,3 +205,17 @@ option(
+ value: 'auto',
+ description: 'cmocka unit tests',
+ )
++
++option(
++ 'nghttp2',
++ type: 'feature',
++ value: 'auto',
++ description: 'dns over https support',
++)
++
++option(
++ 'openssl',
++ type: 'feature',
++ value: 'auto',
++ description: 'auxiliary debug library for http module',
++)
diff --git a/net-dns/knot-resolver/knot-resolver-5.5.3.ebuild b/net-dns/knot-resolver/knot-resolver-5.5.3.ebuild
new file mode 100644
index 000000000000..58013de8e63e
--- /dev/null
+++ b/net-dns/knot-resolver/knot-resolver-5.5.3.ebuild
@@ -0,0 +1,90 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( luajit )
+
+inherit lua-single meson tmpfiles verify-sig
+
+DESCRIPTION="A scaleable caching DNS resolver"
+HOMEPAGE="https://www.knot-resolver.cz https://gitlab.nic.cz/knot/knot-resolver"
+SRC_URI="
+ https://secure.nic.cz/files/${PN}/${P}.tar.xz
+ verify-sig? ( https://secure.nic.cz/files/${PN}/${P}.tar.xz.asc )
+"
+
+LICENSE="Apache-2.0 BSD CC0-1.0 GPL-3+ LGPL-2.1+ MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="caps dnstap kresc nghttp2 systemd test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+RDEPEND="
+ ${LUA_DEPS}
+ acct-group/knot-resolver
+ acct-user/knot-resolver
+ dev-db/lmdb:=
+ dev-libs/libuv:=
+ net-dns/knot:=
+ net-libs/gnutls:=
+ caps? ( sys-libs/libcap-ng )
+ dnstap? (
+ dev-libs/fstrm
+ dev-libs/protobuf-c:=
+ )
+ kresc? ( dev-libs/libedit )
+ nghttp2? ( net-libs/nghttp2:= )
+ systemd? ( sys-apps/systemd:= )
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ dev-util/cmocka
+ )
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.5.3-docdir.patch
+ "${FILESDIR}"/${PN}-5.5.3-nghttp-openssl.patch
+)
+
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/${PN}.gpg
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.asc}
+ fi
+
+ unpack ${P}.tar.xz
+}
+
+src_configure() {
+ local emesonargs=(
+ --localstatedir "${EPREFIX}"/var # double lib
+ # https://bugs.gentoo.org/870019
+ -Dauto_features=disabled
+ -Ddoc=disabled
+ -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+ -Dopenssl=disabled
+ $(meson_feature caps capng)
+ $(meson_feature dnstap)
+ $(meson_feature kresc client)
+ $(meson_feature nghttp2)
+ $(meson_feature test unit_tests)
+ $(meson_feature systemd systemd_files)
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ fowners -R ${PN}: /etc/${PN}
+}
+
+pkg_postinst() {
+ tmpfiles_process knot-resolver.conf
+}
diff --git a/net-dns/knot-resolver/metadata.xml b/net-dns/knot-resolver/metadata.xml
new file mode 100644
index 000000000000..9f36a2c8cacc
--- /dev/null
+++ b/net-dns/knot-resolver/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <use>
+ <flag name="dnstap">
+ Build dnstap binary logging module
+ </flag>
+ <flag name="kresc">
+ Build (experimental) command-line client
+ </flag>
+ <flag name="nghttp2">
+ DNS-over-HTTPS support
+ </flag>
+ </use>
+</pkgmetadata>