commit:     c510a209fc1db8d090cdd93a31aaedbc7a436df9
Author:     Matthew Smith <matthew <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 16 13:35:15 2022 +0000
Commit:     Matthew Smith <matthew <AT> gentoo <DOT> org>
CommitDate: Sun Oct 16 13:36:36 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c510a209

net-dns/knot-resolver: new package, add 5.5.3

Signed-off-by: Matthew Smith <matthew <AT> gentoo.org>

 net-dns/knot-resolver/Manifest                     |  2 +
 .../files/knot-resolver-5.5.3-docdir.patch         | 32 ++++++++
 .../files/knot-resolver-5.5.3-nghttp-openssl.patch | 38 +++++++++
 net-dns/knot-resolver/knot-resolver-5.5.3.ebuild   | 90 ++++++++++++++++++++++
 net-dns/knot-resolver/metadata.xml                 | 19 +++++
 5 files changed, 181 insertions(+)

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 <[email protected]>
+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 <[email protected]>
+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>[email protected]</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>

Reply via email to