aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorJohn Darrington <jmd@gnu.org>2016-09-11 00:03:10 +0200
committerJohn Darrington <jmd@gnu.org>2016-09-20 18:55:52 +0200
commitbe86b7adbc18b4861e5e3493799ab7bb41556640 (patch)
treec24cd2ae423df6448bb10302199b471621efc32a /gnu/packages
parent9d126aa2b504bb9fad536eac186805ff623e96be (diff)
downloadguix-be86b7adbc18b4861e5e3493799ab7bb41556640.tar
guix-be86b7adbc18b4861e5e3493799ab7bb41556640.tar.gz
gnu: Add bind
* gnu/packags/dns.scm (bind): New variable, (bind-utils): Remove.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/dns.scm80
1 files changed, 46 insertions, 34 deletions
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 819343ad42..57fd183287 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -63,56 +64,67 @@ and BOOTP/TFTP for network booting of diskless machines.")
;; Source files only say GPL2 and GPL3 are allowed.
(license (list license:gpl2 license:gpl3))))
-(define-public bind-utils
+(define-public bind
(package
- (name "bind-utils")
- (version "9.10.4")
+ (name "bind")
+ (version "9.10.4-P2")
(source (origin
(method url-fetch)
- (uri (string-append "http://ftp.isc.org/isc/bind9/" version
- "/bind-" version ".tar.gz"))
+ (uri (string-append
+ "ftp://ftp.isc.org/isc/bind9/" version "/" name "-"
+ version ".tar.gz"))
(sha256
(base32
- "0mmhzi4483mkak47wj255a36g3v0yilxwfwlbckr1hssinri5m7q"))))
+ "08s48h5p916ixjiwgar4w6skc20crmg7yj1y7g89c083zvw8lnxk"))))
(build-system gnu-build-system)
+ (outputs `("out" "utils"))
(inputs
;; it would be nice to add GeoIP and gssapi once there is package
`(("libcap" ,libcap)
("libxml2" ,libxml2)
- ("mysql" ,mysql)
("openssl" ,openssl)
- ("perl" ,perl)
("p11-kit" ,p11-kit)))
+ (native-inputs `(("perl" ,perl)
+ ("net-tools" ,net-tools)))
(arguments
- `(#:tests? #f ; no test phase implemented
- #:configure-flags
+ `(#:configure-flags
(list (string-append "--with-openssl="
(assoc-ref %build-inputs "openssl"))
- (string-append "--with-dlz-mysql="
- (assoc-ref %build-inputs "mysql"))
(string-append "--with-pkcs11="
(assoc-ref %build-inputs "p11-kit")))
- #:modules ((srfi srfi-1)
- (srfi srfi-26)
- ,@%gnu-build-system-modules)
#:phases
- (let ((libs '("dns" "isc" "bind9" "isccfg" "lwres"))
- (bins '("dig" "nsupdate")))
- (modify-phases %standard-phases
- (replace 'build
- (lambda _
- (every (lambda (dir)
- (zero? (system* "make" "-C" dir)))
- (append (map (cut string-append "lib/" <>) libs)
- (map (cut string-append "bin/" <>) bins)))))
- (replace 'install
- (lambda _
- (every (lambda (dir)
- (zero? (system* "make" "-C" dir "install")))
- (map (cut string-append "bin/" <>) bins))))))))
- (home-page "https://www.isc.org/downloads/bind/")
- (synopsis "Tools for querying nameservers")
- (description
- "These tools, included with ISC BIND, are useful for analysis of DNS
-issues or verification of configuration.")
+ (modify-phases %standard-phases
+ (add-after 'strip 'move-to-utils
+ (lambda _
+ (for-each
+ (lambda (file)
+ (let ((target (string-append (assoc-ref %outputs "utils") file))
+ (src (string-append (assoc-ref %outputs "out") file)))
+ (mkdir-p (dirname target))
+ (link src target)
+ (delete-file src)))
+ '("/bin/dig" "/bin/delv" "/bin/nslookup" "/bin/host" "/bin/nsupdate"
+ "/share/man/man1/dig.1"
+ "/share/man/man1/host.1"
+ "/share/man/man1/nslookup.1"
+ "/share/man/man1/nsupdate.1"))))
+ ;; When and if guix provides user namespaces for the build process,
+ ;; then the following can be uncommented and the subsequent "force-test"
+ ;; will not be necessary.
+ ;;
+ ;; (add-before 'check 'set-up-loopback
+ ;; (lambda _
+ ;; (system "bin/tests/system/ifconfig.sh up")))
+ (replace 'check
+ (lambda _
+ (zero? (system* "make" "force-test")))))))
+ (synopsis "An implementation of the Domain Name System")
+ (description "BIND is an implementation of the 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")
(license (list license:isc))))
+