From 0d36d0baea509259f39df50dc55b53d90d2de7a8 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Wed, 22 Apr 2020 18:56:26 +0530 Subject: gnu: Add maradns. * gnu/packages/dns.scm (maradns): New variable. --- gnu/packages/dns.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'gnu/packages/dns.scm') diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 0f7227ad03..80ed1f0b49 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2019 Chris Marusich ;;; Copyright © 2019 Rutger Helling ;;; Copyright © 2020 Pierre Langlois +;;; Copyright © 2020 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -949,3 +950,50 @@ 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 _ + (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))) -- cgit v1.2.3 From 018114baa75c1986a1a971f5e48e6b722c7741ba Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sat, 25 Apr 2020 15:53:52 +0530 Subject: gnu: maradns: Fix cross compilation. * gnu/packages/dns.scm (maradns)[arguments]: Build make_32bit_tables for the host. --- gnu/packages/dns.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'gnu/packages/dns.scm') diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 80ed1f0b49..86569b5493 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -43,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) @@ -979,7 +980,15 @@ known public suffixes.") #:phases (modify-phases %standard-phases (replace 'configure - (lambda _ + (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) -- cgit v1.2.3