diff options
Diffstat (limited to 'net-dns/pdns-recursor/pdns-recursor-5.1.3-r1.ebuild')
-rw-r--r-- | net-dns/pdns-recursor/pdns-recursor-5.1.3-r1.ebuild | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/net-dns/pdns-recursor/pdns-recursor-5.1.3-r1.ebuild b/net-dns/pdns-recursor/pdns-recursor-5.1.3-r1.ebuild new file mode 100644 index 000000000000..e02040bf9ecb --- /dev/null +++ b/net-dns/pdns-recursor/pdns-recursor-5.1.3-r1.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LUA_COMPAT=( lua5-{1..4} luajit ) + +CRATES=" + base64@0.21.7 + cc@1.0.98 + codespan-reporting@0.11.1 + cxx-build@1.0.122 + cxx@1.0.122 + cxxbridge-flags@1.0.122 + cxxbridge-macro@1.0.122 + equivalent@1.0.1 + hashbrown@0.14.5 + indexmap@2.2.6 + ipnet@2.9.0 + itoa@1.0.11 + link-cplusplus@1.0.9 + once_cell@1.19.0 + proc-macro2@1.0.84 + quote@1.0.36 + ryu@1.0.18 + scratch@1.0.7 + serde@1.0.203 + serde_derive@1.0.203 + serde_yaml@0.9.34+deprecated + syn@2.0.66 + termcolor@1.4.1 + unicode-ident@1.0.12 + unicode-width@0.1.12 + unsafe-libyaml@0.2.11 + winapi-util@0.1.8 + windows-sys@0.52.0 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.52.5 +" + +inherit cargo flag-o-matic lua-single + +DESCRIPTION="The PowerDNS Recursor" +HOMEPAGE="https://www.powerdns.com/" +SRC_URI="https://downloads.powerdns.com/releases/${P/_/-}.tar.bz2 ${CARGO_CRATE_URIS}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="debug dnstap snmp sodium systemd test valgrind" +REQUIRED_USE="${LUA_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +DEPEND="${LUA_DEPS} + dnstap? ( dev-libs/fstrm ) + systemd? ( sys-apps/systemd:0= ) + snmp? ( net-analyzer/net-snmp ) + sodium? ( dev-libs/libsodium:= ) + elibc_glibc? ( + arm? ( >=sys-libs/glibc-2.34 ) + x86? ( >=sys-libs/glibc-2.34 ) + ) + dev-libs/openssl:= + dev-libs/boost:=[context]" +RDEPEND="${DEPEND} + !<net-dns/pdns-2.9.20-r1 + acct-user/pdns + acct-group/pdns" +DEPEND="${DEPEND} + valgrind? ( dev-debug/valgrind )" +BDEPEND="virtual/pkgconfig" + +S="${WORKDIR}"/${P/_/-} + +pkg_setup() { + lua-single_pkg_setup + filter-flags -ftree-vectorize + append-lfs-flags + append-cppflags -D_TIME_BITS=64 + rust_pkg_setup +} + +src_configure() { + econf \ + --sysconfdir=/etc/powerdns \ + --with-nod-cache-dir=/var/lib/powerdns \ + --with-service-user=pdns \ + --with-service-group=pdns \ + --with-lua="${ELUA}" \ + $(use_enable debug verbose-logging) \ + $(use_enable systemd) \ + $(use_enable dnstap dnstap) \ + $(use_enable test unit-tests) \ + $(use_enable valgrind) \ + $(use_with sodium libsodium) \ + $(use_with snmp net-snmp) +} + +src_compile() { + default +} + +src_install() { + default + + # rename .yml file to .conf, to facilitate easy upgrade and switch to .yml + mv "${D}"/etc/powerdns/recursor.{yml-dist,conf} || die + + sed -i \ + -e 's/^# set\([ug]\)id: '\'\''$/ set\1id: '\''pdns'\''/' \ + -e 's/^# chroot: '\'\''$/ chroot: '\''\/var\/lib\/powerdns'\''/' \ + "${D}"/etc/powerdns/recursor.conf || die + + newinitd "${FILESDIR}"/pdns-recursor-r3 pdns-recursor + + keepdir /var/lib/powerdns +} + +src_test() { + default +} + +pkg_postinst() { + einfo "Starting with 5.1.x we default to using the new yaml configuration file format." + einfo "The old configuration file format is still supported for now, but please update" + einfo "your recursor.conf to yaml using 'rec_control show-yaml'." +} |