all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [PATCH] gnu: bind-utils: Build and install “nsupdate”.
@ 2016-01-13 15:11 Ricardo Wurmus
  2016-01-14  0:46 ` Mathieu Lirzin
  0 siblings, 1 reply; 8+ messages in thread
From: Ricardo Wurmus @ 2016-01-13 15:11 UTC (permalink / raw)
  To: Guix-devel

[-- Attachment #1: Type: text/plain, Size: 542 bytes --]

Hi Guix,

this patch is not as bad as it looks, even though most of the lines are
changed.  I noticed that “nsupdate” is not build as part of bind-utils
and replaced the manual and repetitive “build” and “install” phases with
something that can be controlled with the let-bound values “bins” and
“libs” holding the names of executables and libraries, respectively.

What do you think?

(“nsupdate” is checked for by the build system of some SELinux
libraries, which are needed for SSSD.)

~~ Ricardo



[-- Attachment #2: 0001-gnu-bind-utils-Build-and-install-nsupdate.patch --]
[-- Type: text/x-patch, Size: 5492 bytes --]

From ba328617777728c3534be6796b6b32a9a90954b6 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Date: Wed, 13 Jan 2016 16:06:36 +0100
Subject: [PATCH] gnu: bind-utils: Build and install "nsupdate".

* gnu/packages/dns.scm (bind-utils)[arguments]: Generalize "build" and
  "install" phases.
---
 gnu/packages/dns.scm | 105 ++++++++++++++++++++++++++++-----------------------
 1 file changed, 58 insertions(+), 47 deletions(-)

diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 8357dad..0a42722 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
+;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -61,51 +62,61 @@ and BOOTP/TFTP for network booting of diskless machines.")
     (license (list license:gpl2 license:gpl3))))
 
 (define-public bind-utils
-  (package
-    (name "bind-utils")
-    (version "9.10.3-P2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "http://ftp.isc.org/isc/bind9/" version
-                                  "/bind-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1kbfzml37sx4r2xi4gq48ji8w5kckd1f6gdn6pk6njqdmh8ijv2a"))))
-    (build-system gnu-build-system)
-    (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)))
-    (arguments
-     `(#:tests? #f ; no test phase implemented
-       #: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")))
-       #:phases
-       (alist-replace
-        'build
-        (lambda _
-          (and (zero? (system* "make" "-C" "lib/dns"))
-               (zero? (system* "make" "-C" "lib/isc"))
-               (zero? (system* "make" "-C" "lib/bind9"))
-               (zero? (system* "make" "-C" "lib/isccfg"))
-               (zero? (system* "make" "-C" "lib/lwres"))
-               (zero? (system* "make" "-C" "bin/dig"))))
-        (alist-replace
-         'install
-         (lambda _ (zero? (system* "make" "-C" "bin/dig" "install")))
-         %standard-phases))))
-    (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
+  (let ((libs '("dns" "isc" "bind9" "isccfg" "lwres"))
+        (bins '("dig" "nsupdate")))
+    (package
+      (name "bind-utils")
+      (version "9.10.3-P2")
+      (source (origin
+                (method url-fetch)
+                (uri (string-append "http://ftp.isc.org/isc/bind9/" version
+                                    "/bind-" version ".tar.gz"))
+                (sha256
+                 (base32
+                  "1kbfzml37sx4r2xi4gq48ji8w5kckd1f6gdn6pk6njqdmh8ijv2a"))))
+      (build-system gnu-build-system)
+      (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)))
+      (arguments
+       `(#:tests? #f ; no test phase implemented
+         #: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
+         (modify-phases %standard-phases
+           (replace 'build
+             (lambda _
+               (fold (lambda (dir pass)
+                       (and pass (zero? (system* "make" "-C" dir))))
+                     #t
+                     (append
+                      (map (cut string-append "lib/" <>)
+                           (list ,@libs))
+                      (map (cut string-append "bin/" <>)
+                           (list ,@bins))))))
+           (replace 'install
+             (lambda _
+               (fold (lambda (dir pass)
+                       (and pass (zero? (system* "make" "-C" dir "install"))))
+                     #t
+                     (map (cut string-append "bin/" <>)
+                          (list ,@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.")
-    (license (list license:isc))))
+      (license (list license:isc)))))
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-01-21 14:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-13 15:11 [PATCH] gnu: bind-utils: Build and install “nsupdate” Ricardo Wurmus
2016-01-14  0:46 ` Mathieu Lirzin
2016-01-14  8:59   ` Alex Kost
2016-01-14 11:53     ` Ricardo Wurmus
2016-01-14 23:46       ` Mathieu Lirzin
2016-01-21 10:52         ` Ricardo Wurmus
2016-01-21 13:14           ` Mathieu Lirzin
2016-01-21 14:58             ` Ricardo Wurmus

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.