Package: guix-patches;
Reported by: Tobias Geerinckx-Rice <me <at> tobias.gr>
Date: Fri, 12 Oct 2018 19:00:02 UTC
Severity: normal
Tags: patch
Done: Andreas Enge <andreas <at> enge.fr>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: Tobias Geerinckx-Rice <me <at> tobias.gr> Subject: bug#33026: closed (Re: [bug#33020] Progress) Date: Thu, 07 Mar 2019 13:23:03 +0000
[Message part 1 (text/plain, inline)]
Your bug report #33026: [PATCH] gnu: Add pdns. which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 33026 <at> debbugs.gnu.org. -- 33026: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=33026 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Andreas Enge <andreas <at> enge.fr> To: 33026-done <at> debbugs.gnu.org, 33020-done <at> debbugs.gnu.org Subject: Re: [bug#33020] Progress Date: Thu, 7 Mar 2019 14:22:40 +0100Two weeks later without any reaction, closing. Andreas
[Message part 3 (message/rfc822, inline)]
From: Tobias Geerinckx-Rice <me <at> tobias.gr> To: guix-patches <at> gnu.org Subject: [PATCH] gnu: Add pdns. Date: Fri, 12 Oct 2018 20:58:54 +0200* gnu/packages/dns.scm (pdns): New public variable. --- The p stands for power. gnu/packages/dns.scm | 133 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index ad1a8638b..b91a7d77c 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -31,9 +31,11 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages boost) #:use-module (gnu packages databases) #:use-module (gnu packages compression) #:use-module (gnu packages crypto) + #:use-module (gnu packages curl) #:use-module (gnu packages datastructures) #:use-module (gnu packages flex) #:use-module (gnu packages glib) @@ -43,6 +45,7 @@ #:use-module (gnu packages libevent) #:use-module (gnu packages libidn) #:use-module (gnu packages linux) + #:use-module (gnu packages lua) #:use-module (gnu packages ncurses) #:use-module (gnu packages nettle) #:use-module (gnu packages networking) @@ -360,6 +363,136 @@ run in a @code{chroot} jail, thus making any security flaws in NSD less likely to result in system-wide compromise.") (license (list license:bsd-3)))) +(define-public pdns + (package + (name "pdns") + (version "4.1.4") + (source + (origin + (method url-fetch) + (uri + (string-append "https://downloads.powerdns.com/releases/pdns-" + version ".tar.bz2")) + (sha256 + (base32 "1m9yhzrxh315gv855c590b2qc8bx31rrnl72pqxrnlix701qch79")))) + (build-system gnu-build-system) + ;; There's no make target or other way to cleanly separate the tools from + ;; the core. We have to rely on a hard-coded list below, which needs to + ;; be kept up to date when changing the package version or configuration. + (outputs (list "out" "tools")) + (arguments + `(#:configure-flags + (list "--enable-libsodium" ; ed25519 (DNSSEC algorithm 15) + ;; "--enable-libdecaf" ; ed25519 & Ed448 (XXX unpackaged) + "--enable-reproducible" + "--enable-tools" ; not the default, so we split them off + "--enable-unit-tests" + + ;; /sbin/pdns_server retains references to 'optional' dependencies + ;; like PostgreSQL, so packaging backends separately saves nothing. + (string-append + "--with-dynmodules=" ; build dynamic modules... + (string-join + (list "bind" ; BIND-style zone files + "gpgsql" ; generic PostgreSQL + "gsqlite3" ; generic Sqlite + "lua" ; Lua scripting + "pipe" ; simple stdin/stdout pipe + "remote") ; generic JSON/RPC connector + " ")) + "--with-modules=" ; ...and no static modules + + "--with-luajit" ; use JIT variant for Lua backend + "--with-protobuf" ; log DNS query information + "--with-sqlite3" + + (string-append "--docdir=" (assoc-ref %outputs "out") "/share/doc/" + ,name "-" ,version) + "--sysconfdir=/etc/powerdns" + "--with-socketdir=/run") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'omit-PDNS_CONFIG_ARGS + ;; Stop 'pdns_server --version' printing build-time details, like + ;; PKG_CONFIG_PATH, which embed references to almost every input. + (lambda _ + (substitute* "configure" + (("#define PDNS_CONFIG_ARGS.*") "")) + #t)) + (replace 'install + ;; Don't try to install configuration files to /etc. + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke "make" "sysconfdir=$(docdir)/examples" "install" + make-flags))) + (add-after 'install 'move-tools + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (tools (assoc-ref outputs "tools")) + (files + (list "bin/calidns" "share/man/man1/calidns.1" + "bin/dnsbulktest" "share/man/man1/dnsbulktest.1" + "bin/dnsgram" "share/man/man1/dnsgram.1" + "bin/dnsreplay" "share/man/man1/dnsreplay.1" + "bin/dnsscan" "share/man/man1/dnsscan.1" + "bin/dnsscope" "share/man/man1/dnsscope.1" + "bin/dnstcpbench" "share/man/man1/dnstcpbench.1" + "bin/dnswasher" "share/man/man1/dnswasher.1" + "bin/dumresp" "share/man/man1/dumresp.1" + "bin/ixplore" "share/man/man1/ixplore.1" + "bin/nproxy" "share/man/man1/nproxy.1" + "bin/nsec3dig" "share/man/man1/nsec3dig.1" + "bin/pdns_notify" "share/man/man1/pdns_notify.1" + "bin/saxfr" "share/man/man1/saxfr.1" + "bin/sdig" "share/man/man1/sdig.1" + "bin/stubquery"))) + (with-directory-excursion out + (for-each (lambda (file) + (let ((target (string-append tools "/" file))) + (mkdir-p (dirname target)) + (rename-file file target))) + files)) + #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config) + + ;; For tests. + ("curl" ,curl))) + (inputs + `(("boost" ,boost) + ("libsodium" ,libsodium) + ("luajit" ,luajit) + ("openssl" ,openssl) + ("postgresql" ,postgresql) + ("protobuf" ,protobuf) + ("sqlite" ,sqlite) + ("zlib" ,zlib))) + (home-page "https://www.powerdns.com/") + (synopsis "Authoritative DNS name server with dynamic back-ends") + (description + "This is the PowerDNS Authoritative Server, a versatile name server for the +Domain Name System (@dfn{DNS}) that supports a wide variety of storage methods. + +The core server (@command{pdns_server}) handles all packet processing and DNS +intelligence, while retrieving and updating the actual DNS records (and any +additional metadata) through one or more of numerous loadable backends. + +Included backends range from simple BIND-style zone files and relational +databases to (geographical) load-balancing, JSON APIs, and entire scripting +languages. Records can be transparently signed for use with the @dfn{Domain Name +System Security Extensions} (DNSSEC). Automated key management is available. + +Real-time statistics can be exported to different formats, or through an optional +built-in Web server and API that allow for basic remote administration.") + (license + (list license:bsd-3 ; ext/luawrapper/include/LuaContext.* + license:expat ; ext/{json11,yahttp} + license:lgpl2.1+ ; m4/pdns* + ;; modules/oraclebackend/README says MIT, actual headers state GPL2, + ;; as do pdns/{ssqlite3,tcpreceiver,test-tsig,zone2ldap}.* and + ;; modules/ldapbackend. + license:gpl2 + license:gpl3+)))) ; the rest is GPL[23]+ + (define-public unbound (package (name "unbound") -- 2.18.0
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.