;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
-;;; Copyright © 2016 ng0 <ng0@n0.is>
+;;; Copyright © 2016 Nikita <nikita@n0.is>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages crypto)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages flex)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages glib)
#:use-module (gnu packages groff)
#:use-module (gnu packages groff)
(define-public dnsmasq
(package
(name "dnsmasq")
- (version "2.80")
+ (version "2.81")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.xz"))
(sha256
(base32
- "1fv3g8vikj3sn37x1j6qsywn09w1jipvlv34j3q5qrljbrwa5ayd"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; The SIOCGSTAMP ioctl is defined in <linux/sockios.h> instead
- ;; of <asm/sockios.h> starting with linux-libre-headers 5.2.
- ;; Remove this for dnsmasq versions > 2.80.
- (substitute* "src/dnsmasq.h"
- (("#if defined\\(HAVE_LINUX_NETWORK\\)" all)
- (string-append all "\n#include <linux/sockios.h>")))
- #t))))
+ "1yzq6anwgr5rlnwydpszb51cyhp2vjq29b24ck19flbwac1sk73l"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(define-public isc-bind
(package
(name "bind")
- (version "9.16.0")
+ (version "9.16.5")
(source (origin
(method url-fetch)
(uri (string-append
"/bind-" version ".tar.xz"))
(sha256
(base32
- "0a1f1wrlbnmq79q6s15fny36ip81malg6wlr8acp7amimsyxjjxg"))))
+ "0xf07mmd0vi91jd15z8d3hhjva8v27l4ip4l8yzah4gg3zjv6y33"))))
(build-system gnu-build-system)
(outputs `("out" "utils"))
(inputs
(with-directory-excursion "fuzz"
(invoke "make" "check"))
#t)))))
- (synopsis "An implementation of the Domain Name System")
+ (synopsis "Domain Name System (DNS) implementation")
(description "BIND is an implementation of the @dfn{Domain Name System}
(DNS) protocols for the Internet. It is a reference implementation of those
protocols, but it is also production-grade software, suitable for use in
-high-volume and high-reliability applications. The name BIND stands for
-\"Berkeley Internet Name Domain\", because the software originated in the early
-1980s at the University of California at Berkeley.")
- (home-page "https://www.isc.org/downloads/bind")
+high-volume and high-reliability applications. The name BIND stands for
+\"Berkeley Internet Name Domain\", because the software originated in the
+early 1980s at the University of California at Berkeley. The @code{utils}
+output of this package contains the following DNS name servers related command
+line utilities:
+@table @code
+@item delv
+DNS lookup and validation utility
+@item dig
+DNS lookup utility
+@item host
+DNS lookup utility
+@item nslookup
+Internet name servers interactive query utility
+@item nsupdate
+Dynamic DNS update utility
+@end table")
+ (home-page "https://www.isc.org/bind/")
(license (list license:mpl2.0))))
(define-public dnscrypt-proxy
(synopsis "Asynchronous resolver library by the OpenBSD project")
(description
"libasr is a free, simple and portable asynchronous resolver library.
-It allows to run DNS queries and perform hostname resolutions in a fully
+It runs DNS queries and performs hostname resolution in a fully
asynchronous fashion.")
(license (list license:isc
license:bsd-2 ; last part of getrrsetbyname_async.c
(define-public unbound
(package
(name "unbound")
- (version "1.9.6")
+ (version "1.10.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.unbound.net/downloads/unbound-"
version ".tar.gz"))
(sha256
- (base32 "1w5aylh2gfvfvqkgrq46aw427x9c0a3hwm0f985s55wim5pgr60x"))))
+ (base32 "0dnmh9jjh2v274f0hl31bgv40pl77mmfgky8bkqr5kvi3b17fdmp"))))
(build-system gnu-build-system)
(outputs '("out" "python"))
(native-inputs
(define-public knot
(package
(name "knot")
- (version "2.9.2")
+ (version "2.9.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://secure.nic.cz/files/knot-dns/"
"knot-" version ".tar.xz"))
(sha256
- (base32 "1vmndmbzwwrqczhygkhpdn5xxljcnaa3d0z5yw6vb2bmm8rxz319"))
+ (base32 "0xmzmhd2m9rb24clrrd9k058harsq67nyjplpbyxvy1g46xah28i"))
(modules '((guix build utils)))
(snippet
'(begin
("libuv" ,libuv)
("lmdb" ,lmdb)
("luajit" ,luajit)
- ;; TODO: Add optional lua modules: basexx, cqueues and psl.
+ ;; TODO: Add optional lua modules: basexx and psl.
("lua-bitop" ,lua5.1-bitop)
+ ("lua-cqueues" ,lua5.1-cqueues)
("lua-filesystem" ,lua5.1-filesystem)
("lua-sec" ,lua5.1-sec)
("lua-socket" ,lua5.1-socket)))
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/ddclient/ddclient.git")
+ (url "https://github.com/ddclient/ddclient")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(define-public libmicrodns
(package
(name "libmicrodns")
- (version "0.0.10")
+ (version "0.1.2")
(source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/videolabs/libmicrodns")
- (commit version)))
- (file-name (git-file-name name version))
+ (method url-fetch)
+ (uri (string-append "https://github.com/videolabs/libmicrodns/"
+ "releases/download/" version "/microdns-"
+ version ".tar.xz"))
(sha256
(base32
- "1xvl9k49ng35wbsqmnjnyqvkyjf8dcq2ywsq3jp3wh0rgmxhq2fh"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)))
+ "0p4va18zxgmzcdwhlbg2mmjwswlbgqy4ay5vaxrw7cxmhsflnv36"))))
+ (build-system meson-build-system)
(home-page "https://github.com/videolabs/libmicrodns")
(synopsis "Minimal mDNS resolver library")
(description "@code{libmicrodns} provides a minimal implementation of a
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/publicsuffix/list.git")
+ (url "https://github.com/publicsuffix/list")
(commit commit)))
(file-name (git-file-name name version))
(sha256
of public suffixes are .com, .co.uk and pvt.k12.ma.us. This is a list of all
known public suffixes.")
(license license:mpl2.0))))
+
+(define-public maradns
+ (package
+ (name "maradns")
+ (version "3.5.0007")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://maradns.samiam.org/download/"
+ (version-major+minor version) "/"
+ version "/maradns-" version ".tar.xz"))
+ (sha256
+ (base32 "0bc19xylg4whww9qaj5i4izwxcrh0c0ja7l1pfcn2la02hlvg1a6"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; need to be root to run tests
+ #:make-flags
+ (list
+ ,(string-append "CC=" (cc-for-target))
+ (string-append "PREFIX=" %output)
+ (string-append "RPM_BUILD_ROOT=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key native-inputs target #:allow-other-keys)
+ ;; make_32bit_tables generates a header file that is used during
+ ;; compilation. Hence, during cross compilation, it should be
+ ;; built for the host system.
+ (when target
+ (substitute* "rng/Makefile"
+ (("\\$\\(CC\\) -o make_32bit_tables")
+ (string-append (assoc-ref native-inputs "gcc")
+ "/bin/gcc -o make_32bit_tables"))))
+ (invoke "./configure")))
+ (add-before 'install 'create-install-directories
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (for-each (lambda (dir)
+ (mkdir-p (string-append out dir)))
+ (list "/bin" "/sbin" "/etc"
+ "/share/man/man1"
+ "/share/man/man5"
+ "/share/man/man8"))
+ #t))))))
+ (home-page "https://maradns.samiam.org")
+ (synopsis "Small lightweight DNS server")
+ (description "MaraDNS is a small and lightweight DNS server. MaraDNS
+consists of a UDP-only authoritative DNS server for hosting domains, and a UDP
+and TCP-capable recursive DNS server for finding domains on the internet.")
+ (license license:bsd-2)))
+
+(define-public openresolv
+ (package
+ (name "openresolv")
+ (version "3.10.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://roy.marples.name/downloads/openresolv/"
+ "openresolv-" version ".tar.xz"))
+ (sha256
+ (base32
+ "01ms6c087la4hk0f0w6n2vpsb7dg4kklah2rqyhz88p0vr9bqy20"))
+ (patches
+ (search-patches "openresolv-restartcmd-guix.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No test suite
+ #:configure-flags
+ (list (string-append "--sysconfdir=/etc"))
+ #:make-flags
+ (list (string-append "SYSCONFDIR=/" (assoc-ref %outputs "out") "/etc"))))
+ (home-page "https://roy.marples.name/projects/openresolv/")
+ (synopsis "Resolvconf POSIX compliant implementation, a middleman for resolv.conf")
+ (description "openresolv is an implementation of @command{resolvconf}, the
+middleman between the network configuration services and
+@file{/etc/resolv.conf}. @command{resolvconf} itself is just a script that
+stores, removes and lists a full @file{resolv.conf} generated for the
+interface. It then calls all the helper scripts it knows about so it can
+configure the real @file{/etc/resolv.conf} and optionally any local
+nameservers other than libc.")
+ (license license:bsd-2)))