unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* rename of dnsmasq module to dns, adding bind-utils
@ 2015-03-13 11:40 Tomáš Čech
  2015-03-13 11:40 ` [PATCH 1/2] gnu: Rename module dnsmasq to dns Tomáš Čech
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Tomáš Čech @ 2015-03-13 11:40 UTC (permalink / raw)
  To: guix-devel

Package bind-utils is working correctly and I can't see any problem but it
makes `guix lint' cry:

$ guix lint bind-utils
;;; Failed to autoload make-session in (gnutls):..tive]...
;;; ERROR: missing interface for module (gnutls)
Backtrace:
In ice-9/boot-9.scm:
 157: 12 [catch #t #<catch-closure 96bbe0> ...]
In unknown file:
   ?: 11 [apply-smob/1 #<catch-closure 96bbe0>]
In ice-9/boot-9.scm:
  63: 10 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 9 [eval # #]
In ice-9/boot-9.scm:
2401: 8 [save-module-excursion #<procedure 988940 at ice-9/boot-9.scm:4045:3 ()>]
4050: 7 [#<procedure 988940 at ice-9/boot-9.scm:4045:3 ()>]
1724: 6 [%start-stack load-stack #<procedure 993100 at ice-9/boot-9.scm:4041:10 ()>]
1729: 5 [#<procedure 99fea0 ()>]
In unknown file:
   ?: 4 [primitive-load "/Devel/git/guix/scripts/guix"]
In guix/ui.scm:
 849: 3 [run-guix-command lint "bind-utils"]
In srfi/srfi-1.scm:
 619: 2 [for-each #<procedure 11969a0 at guix/scripts/lint.scm:563:20 (spec)> #]
 619: 1 [for-each #<procedure 28ca720 at guix/scripts/lint.scm:475:14 (checker)> #]
In guix/scripts/lint.scm:
 287: 0 [validate-uri # # home-page]

guix/scripts/lint.scm:287:16: In procedure validate-uri:
guix/scripts/lint.scm:287:16: In procedure module-lookup: Unbound variable: make-session


So, please review this one more carefuly than usual.

Thanks in advance.

S_W

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

* [PATCH 1/2] gnu: Rename module dnsmasq to dns.
  2015-03-13 11:40 rename of dnsmasq module to dns, adding bind-utils Tomáš Čech
@ 2015-03-13 11:40 ` Tomáš Čech
  2015-03-14 14:06   ` Ludovic Courtès
  2015-03-13 11:40 ` [PATCH 2/2] gnu: bind-utils: Add new variable Tomáš Čech
  2015-03-13 11:49 ` rename of dnsmasq module to dns, adding bind-utils David Thompson
  2 siblings, 1 reply; 7+ messages in thread
From: Tomáš Čech @ 2015-03-13 11:40 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/dnsmasq.scm --> gnu/packages/dns.scm
* gnu/packages/dns.scm: Change module name
* gnu-system.am (GNU_SYSTEM_MODULES): Rename dnsmasq module to dns.
---
 gnu-system.am            |  2 +-
 gnu/packages/dns.scm     | 56 ++++++++++++++++++++++++++++++++++++++++++++++++
 gnu/packages/dnsmasq.scm | 56 ------------------------------------------------
 3 files changed, 57 insertions(+), 57 deletions(-)
 create mode 100644 gnu/packages/dns.scm
 delete mode 100644 gnu/packages/dnsmasq.scm

diff --git a/gnu-system.am b/gnu-system.am
index bd3f434..8e32104 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -81,7 +81,7 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/dictionaries.scm			\
   gnu/packages/disk.scm				\
   gnu/packages/djvu.scm				\
-  gnu/packages/dnsmasq.scm			\
+  gnu/packages/dns.scm				\
   gnu/packages/docbook.scm			\
   gnu/packages/doxygen.scm			\
   gnu/packages/dwm.scm				\
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
new file mode 100644
index 0000000..86f5945
--- /dev/null
+++ b/gnu/packages/dns.scm
@@ -0,0 +1,56 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages dns)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu))
+
+(define-public dnsmasq
+  (package
+    (name "dnsmasq")
+    (version "2.72")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://www.thekelleys.org.uk/dnsmasq/dnsmasq-"
+                    version ".tar.xz"))
+              (sha256
+               (base32
+                "1c80hq09hfm8cp5pirfb8wdlc7dqkp7zzmbmdaradcvlblzx42vx"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (alist-delete 'configure %standard-phases)
+       #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+                          "CC=gcc")
+       ;; No 'check' target.
+       #:tests? #f))
+    (home-page "http://www.thekelleys.org.uk/dnsmasq/doc.html")
+    (synopsis "Small caching DNS proxy and DHCP/TFTP server")
+    (description
+     "Dnsmasq is a lightweight DNS forwarder and DHCP server.  It is designed
+to provide DNS and optionally, DHCP, to a small network.  It can serve the
+names of local machines which are not in the global DNS.  The DHCP server
+integrates with the DNS server and allows machines with DHCP-allocated
+addresses to appear in the DNS with names configured either in each host or in
+a central configuration file.  Dnsmasq supports static and dynamic DHCP leases
+and BOOTP/TFTP for network booting of diskless machines.")
+    ;; Source files only say GPL2 and GPL3 are allowed.
+    (license (list gpl2 gpl3))))
diff --git a/gnu/packages/dnsmasq.scm b/gnu/packages/dnsmasq.scm
deleted file mode 100644
index f342f81..0000000
--- a/gnu/packages/dnsmasq.scm
+++ /dev/null
@@ -1,56 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (gnu packages dnsmasq)
-  #:use-module (guix licenses)
-  #:use-module (guix packages)
-  #:use-module (guix download)
-  #:use-module (guix build-system gnu))
-
-(define-public dnsmasq
-  (package
-    (name "dnsmasq")
-    (version "2.72")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "http://www.thekelleys.org.uk/dnsmasq/dnsmasq-"
-                    version ".tar.xz"))
-              (sha256
-               (base32
-                "1c80hq09hfm8cp5pirfb8wdlc7dqkp7zzmbmdaradcvlblzx42vx"))))
-    (build-system gnu-build-system)
-    (arguments
-     `(#:phases
-       (alist-delete 'configure %standard-phases)
-       #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
-                          "CC=gcc")
-       ;; No 'check' target.
-       #:tests? #f))
-    (home-page "http://www.thekelleys.org.uk/dnsmasq/doc.html")
-    (synopsis "Small caching DNS proxy and DHCP/TFTP server")
-    (description
-     "Dnsmasq is a lightweight DNS forwarder and DHCP server.  It is designed
-to provide DNS and optionally, DHCP, to a small network.  It can serve the
-names of local machines which are not in the global DNS.  The DHCP server
-integrates with the DNS server and allows machines with DHCP-allocated
-addresses to appear in the DNS with names configured either in each host or in
-a central configuration file.  Dnsmasq supports static and dynamic DHCP leases
-and BOOTP/TFTP for network booting of diskless machines.")
-    ;; Source files only say GPL2 and GPL3 are allowed.
-    (license (list gpl2 gpl3))))
-- 
2.2.1

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

* [PATCH 2/2] gnu: bind-utils: Add new variable.
  2015-03-13 11:40 rename of dnsmasq module to dns, adding bind-utils Tomáš Čech
  2015-03-13 11:40 ` [PATCH 1/2] gnu: Rename module dnsmasq to dns Tomáš Čech
@ 2015-03-13 11:40 ` Tomáš Čech
  2015-03-13 22:47   ` Mark H Weaver
  2015-03-13 11:49 ` rename of dnsmasq module to dns, adding bind-utils David Thompson
  2 siblings, 1 reply; 7+ messages in thread
From: Tomáš Čech @ 2015-03-13 11:40 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/dns.scm (bind-utils): New variable.
---
 gnu/packages/dns.scm | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 59 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 86f5945..7420247 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -17,7 +17,13 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages dns)
-  #:use-module (guix licenses)
+  #:use-module (gnu packages databases)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages openssl)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages xml)
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu))
@@ -53,4 +59,55 @@ addresses to appear in the DNS with names configured either in each host or in
 a central configuration file.  Dnsmasq supports static and dynamic DHCP leases
 and BOOTP/TFTP for network booting of diskless machines.")
     ;; Source files only say GPL2 and GPL3 are allowed.
-    (license (list gpl2 gpl3))))
+    (license (list license:gpl2 license:gpl3))))
+
+(define-public bind-utils
+  (package
+    (name "bind-utils")
+    (version "9.10.1-P2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "ftp://ftp.isc.org/isc/bind9/" version
+                                  "/bind-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1svzia5vv0s4bv6r04j8bsvlf3klwyigmdz1iwb4fqds00iyvp22"))))
+    (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 _
+          (system* "make" "-C" "lib/dns")
+          (system* "make" "-C" "lib/isc")
+          (system* "make" "-C" "lib/bind9")
+          (system* "make" "-C" "lib/isccfg")
+          (system* "make" "-C" "lib/lwres")
+          (system* "make" "-C" "bin/dig"))
+        (alist-replace
+         'install
+         (lambda _ (system* "make" "-C" "bin/dig" "install"))
+         %standard-phases))))
+    (home-page "https://www.isc.org/downloads/bind/")
+    (synopsis "Tools for quering nameserver")
+    (description
+     "ISC referrence implementation of nameserver - Bind comes with set of tools
+for quering nameservers.  These tools are useful for analysis of DNS issues or
+verification of configuration")
+    (license (list license:isc))))
-- 
2.2.1

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

* Re: rename of dnsmasq module to dns, adding bind-utils
  2015-03-13 11:40 rename of dnsmasq module to dns, adding bind-utils Tomáš Čech
  2015-03-13 11:40 ` [PATCH 1/2] gnu: Rename module dnsmasq to dns Tomáš Čech
  2015-03-13 11:40 ` [PATCH 2/2] gnu: bind-utils: Add new variable Tomáš Čech
@ 2015-03-13 11:49 ` David Thompson
  2015-03-13 12:46   ` Tomáš Čech
  2 siblings, 1 reply; 7+ messages in thread
From: David Thompson @ 2015-03-13 11:49 UTC (permalink / raw)
  To: Tomáš Čech, guix-devel

Tomáš Čech <sleep_walker@suse.cz> writes:

> Package bind-utils is working correctly and I can't see any problem but it
> makes `guix lint' cry:
>
> $ guix lint bind-utils
> ;;; Failed to autoload make-session in (gnutls):..tive]...
> ;;; ERROR: missing interface for module (gnutls)

You're missing the Guile bindings for GnuTLS.

-- 
David Thompson
Web Developer - Free Software Foundation - http://fsf.org
GPG Key: 0FF1D807
Support the FSF: https://fsf.org/donate

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

* Re: rename of dnsmasq module to dns, adding bind-utils
  2015-03-13 11:49 ` rename of dnsmasq module to dns, adding bind-utils David Thompson
@ 2015-03-13 12:46   ` Tomáš Čech
  0 siblings, 0 replies; 7+ messages in thread
From: Tomáš Čech @ 2015-03-13 12:46 UTC (permalink / raw)
  To: David Thompson; +Cc: guix-devel

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

On Fri, Mar 13, 2015 at 07:49:34AM -0400, David Thompson wrote:
>Tomáš Čech <sleep_walker@suse.cz> writes:
>
>> Package bind-utils is working correctly and I can't see any problem but it
>> makes `guix lint' cry:
>>
>> $ guix lint bind-utils
>> ;;; Failed to autoload make-session in (gnutls):..tive]...
>> ;;; ERROR: missing interface for module (gnutls)
>
>You're missing the Guile bindings for GnuTLS.

Thanks to David we figured out that I am missing GUILE_LOAD_PATH and
GUILE_LOAD_COMPILED_PATH correctly set in my environment.

I didn't have gnutls or guile as part of my user profile. I have guile in my
system profile but gnutls there missing.

Installing guile into my user profile and setting environment worked as
workaround in my case.

Best regards,

S_W

[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]

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

* Re: [PATCH 2/2] gnu: bind-utils: Add new variable.
  2015-03-13 11:40 ` [PATCH 2/2] gnu: bind-utils: Add new variable Tomáš Čech
@ 2015-03-13 22:47   ` Mark H Weaver
  0 siblings, 0 replies; 7+ messages in thread
From: Mark H Weaver @ 2015-03-13 22:47 UTC (permalink / raw)
  To: Tomáš Čech; +Cc: guix-devel

Tomáš Čech <sleep_walker@suse.cz> writes:

> * gnu/packages/dns.scm (bind-utils): New variable.
> ---
>  gnu/packages/dns.scm | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++--
>  1 file changed, 59 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
> index 86f5945..7420247 100644
> --- a/gnu/packages/dns.scm
> +++ b/gnu/packages/dns.scm
> @@ -17,7 +17,13 @@
>  ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
>  
>  (define-module (gnu packages dns)
> -  #:use-module (guix licenses)
> +  #:use-module (gnu packages databases)
> +  #:use-module (gnu packages gnutls)
> +  #:use-module (gnu packages linux)
> +  #:use-module (gnu packages openssl)
> +  #:use-module (gnu packages perl)
> +  #:use-module (gnu packages xml)
> +  #:use-module ((guix licenses) #:prefix license:)
>    #:use-module (guix packages)
>    #:use-module (guix download)
>    #:use-module (guix build-system gnu))
> @@ -53,4 +59,55 @@ addresses to appear in the DNS with names configured either in each host or in
>  a central configuration file.  Dnsmasq supports static and dynamic DHCP leases
>  and BOOTP/TFTP for network booting of diskless machines.")
>      ;; Source files only say GPL2 and GPL3 are allowed.
> -    (license (list gpl2 gpl3))))
> +    (license (list license:gpl2 license:gpl3))))
> +
> +(define-public bind-utils
> +  (package
> +    (name "bind-utils")
> +    (version "9.10.1-P2")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "ftp://ftp.isc.org/isc/bind9/" version
> +                                  "/bind-" version ".tar.gz"))
> +              (sha256
> +               (base32
> +                "1svzia5vv0s4bv6r04j8bsvlf3klwyigmdz1iwb4fqds00iyvp22"))))
> +    (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 _
> +          (system* "make" "-C" "lib/dns")
> +          (system* "make" "-C" "lib/isc")
> +          (system* "make" "-C" "lib/bind9")
> +          (system* "make" "-C" "lib/isccfg")
> +          (system* "make" "-C" "lib/lwres")
> +          (system* "make" "-C" "bin/dig"))
> +        (alist-replace
> +         'install
> +         (lambda _ (system* "make" "-C" "bin/dig" "install"))

You should check the status codes returned by 'make', like this
(untested):

--8<---------------cut here---------------start------------->8---
       (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")))
--8<---------------cut here---------------end--------------->8---

> +         %standard-phases))))
> +    (home-page "https://www.isc.org/downloads/bind/")
> +    (synopsis "Tools for quering nameserver")

"quering" is mispelled, and "nameserver" should be plural.  How about
"Tools for querying nameservers"?

> +    (description
> +     "ISC referrence implementation of nameserver - Bind comes with set of tools
> +for quering nameservers.  These tools are useful for analysis of DNS issues or
> +verification of configuration")

How about just:

--8<---------------cut here---------------start------------->8---
    (description
     "These tools, included with ISC BIND, are useful for analysis of DNS issues or
verification of configuration.")
--8<---------------cut here---------------end--------------->8---

     Thanks!
       Mark

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

* Re: [PATCH 1/2] gnu: Rename module dnsmasq to dns.
  2015-03-13 11:40 ` [PATCH 1/2] gnu: Rename module dnsmasq to dns Tomáš Čech
@ 2015-03-14 14:06   ` Ludovic Courtès
  0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2015-03-14 14:06 UTC (permalink / raw)
  To: Tomáš Čech; +Cc: guix-devel

Tomáš Čech <sleep_walker@suse.cz> skribis:

> * gnu/packages/dnsmasq.scm --> gnu/packages/dns.scm
> * gnu/packages/dns.scm: Change module name

Write it as:

* gnu/packages/dnsmasq.scm: Rename to...
* gnu/packages/dns.scm: ... this.  Change module name accordingly.

> * gnu-system.am (GNU_SYSTEM_MODULES): Rename dnsmasq module to dns.

OK to push with this adjustment.  Thanks!

Ludo’.

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

end of thread, other threads:[~2015-03-14 14:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-13 11:40 rename of dnsmasq module to dns, adding bind-utils Tomáš Čech
2015-03-13 11:40 ` [PATCH 1/2] gnu: Rename module dnsmasq to dns Tomáš Čech
2015-03-14 14:06   ` Ludovic Courtès
2015-03-13 11:40 ` [PATCH 2/2] gnu: bind-utils: Add new variable Tomáš Čech
2015-03-13 22:47   ` Mark H Weaver
2015-03-13 11:49 ` rename of dnsmasq module to dns, adding bind-utils David Thompson
2015-03-13 12:46   ` Tomáš Čech

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).