diff options
Diffstat (limited to 'gnu/packages/dns.scm')
-rw-r--r-- | gnu/packages/dns.scm | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index e1198d4381..00c99d90ad 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -14,6 +14,7 @@ ;;; 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> ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,6 +43,7 @@ #: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) @@ -949,3 +951,58 @@ could) directly register names in the Domain Name System (DNS). Some examples 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.0004") + (source + (origin + (method url-fetch) + (uri (string-append "https://maradns.samiam.org/download/" + (version-major+minor version) "/" + version "/maradns-" version ".tar.xz")) + (sha256 + (base32 + "1zv0i6m4m05ay5zlhwq1h88hgjq2d81cjanpnb3gyhr0xhmjwk6a")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; need to be root to run tests + #:make-flags + (list + (string-append "CC=" + (if ,(%current-target-system) + (string-append (assoc-ref %build-inputs "cross-gcc") + "/bin/" ,(%current-target-system) "-gcc") + "gcc")) + (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))) |