all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [v2 0/2] Nmap
@ 2016-03-28  4:11 Leo Famulari
  2016-03-28  4:11 ` [v2 1/2] licenses: Add the nmap license Leo Famulari
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Leo Famulari @ 2016-03-28  4:11 UTC (permalink / raw)
  To: guix-devel

Here is another take on adding Nmap to our distribution.

I have built on Taylan's WIP patch, so he retains the bulk of the credit
for his nice use of Nmap's build system to install things into different
outputs.  Taylan, what do you think?

I still can't get Zenmap to work, although I have made a little
progress, so I've left it out for now. So, this uses the
gnu-build-system, rather than glib-or-gtk.

I enabled only the tests that don't require network access.

Feedback?

BTW, Nmap builds reproducibly :)

Leo Famulari (1):
  licenses: Add the nmap license.

Taylan Ulrich Bayırlı/Kammer (1):
  gnu: Add nmap.

 gnu/packages/admin.scm | 81 +++++++++++++++++++++++++++++++++++++++++++++++++-
 guix/licenses.scm      |  6 ++++
 2 files changed, 86 insertions(+), 1 deletion(-)

-- 
2.7.3

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

* [v2 1/2] licenses: Add the nmap license.
  2016-03-28  4:11 [v2 0/2] Nmap Leo Famulari
@ 2016-03-28  4:11 ` Leo Famulari
  2016-03-28  4:11 ` [v2 2/2] gnu: Add nmap Leo Famulari
  2016-03-29  7:50 ` [v2 0/2] Nmap Taylan Ulrich Bayırlı/Kammer
  2 siblings, 0 replies; 6+ messages in thread
From: Leo Famulari @ 2016-03-28  4:11 UTC (permalink / raw)
  To: guix-devel

* guix/licenses.scm (nmap): New variable.
---
 guix/licenses.scm | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/guix/licenses.scm b/guix/licenses.scm
index 71c0736..265f048 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -57,6 +57,7 @@
             mpl1.0 mpl1.1 mpl2.0
             ms-pl
             ncsa
+            nmap
             openldap2.8 openssl
             psfl public-domain
             qpl
@@ -360,6 +361,11 @@ at URI, which may be a file:// URI pointing the package's tree."
            "http://directory.fsf.org/wiki/License:IllinoisNCSA"
            "https://www.gnu.org/licenses/license-list#NCSA"))
 
+(define nmap
+  (license "Nmap license"
+           "https://svn.nmap.org/nmap/COPYING"
+           "https://fedoraproject.org/wiki/Licensing/Nmap"))
+
 (define openssl
   (license "OpenSSL"
            "http://directory.fsf.org/wiki/License:OpenSSL"
-- 
2.7.3

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

* [v2 2/2] gnu: Add nmap.
  2016-03-28  4:11 [v2 0/2] Nmap Leo Famulari
  2016-03-28  4:11 ` [v2 1/2] licenses: Add the nmap license Leo Famulari
@ 2016-03-28  4:11 ` Leo Famulari
  2016-03-29  7:50 ` [v2 0/2] Nmap Taylan Ulrich Bayırlı/Kammer
  2 siblings, 0 replies; 6+ messages in thread
From: Leo Famulari @ 2016-03-28  4:11 UTC (permalink / raw)
  To: guix-devel

From: Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>

* gnu/packages/admin.scm (nmap): New variable.

Co-authored-by: Leo Famulari <leo@famulari.name>
---
 gnu/packages/admin.scm | 81 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 80 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 0d15dd5..377d0c7 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
 ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
+;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
 ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
@@ -42,8 +42,10 @@
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages lua)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages compression)
@@ -1529,3 +1531,80 @@ for writing audit records to the disk.  Viewing the logs is done with the
 @code{ausearch} or @code{aureport} utilities.  Configuring the audit rules is
 done with the @code{auditctl} utility.")
     (license license:gpl2+)))
+
+(define-public nmap
+  (package
+    (name "nmap")
+    (version "7.11")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://nmap.org/dist/nmap-" version
+                                  ".tar.bz2"))
+              (sha256
+               (base32
+                "0jlmq1w0gjqpa7qa523kdj73ndm1xzww2wjvb94hxh6yalargyhk"))
+              (modules '((guix build utils)))
+              (snippet
+               '(map delete-file-recursively
+                 ;; Remove bundled lua, pcap, and pcre libraries.
+                 ;; FIXME: Remove bundled liblinear once packaged.
+                 '("liblua"
+                   "libpcap"
+                   "libpcre"
+                   ;; Remove pre-compiled binares.
+                   "mswin32")))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("openssl" ,openssl)
+       ("libpcap" ,libpcap)
+       ("pcre" ,pcre)
+       ("lua" ,lua)
+       ;; For 'ndiff'.
+       ("python" ,python-2)))
+
+    ;; TODO Add zenmap output.
+    (outputs '("out" "ndiff"))
+    (arguments
+     '(#:configure-flags '("--without-zenmap")
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (define (make out . args)
+               (unless (zero? (apply system* "make"
+                                     (string-append "prefix=" out)
+                                     args))
+                 (error "make failed")))
+             (define (python-path dir)
+               (string-append dir "/lib/python2.7/site-packages"))
+             (let ((out (assoc-ref outputs "out"))
+                   (ndiff (assoc-ref outputs "ndiff")))
+               (for-each mkdir-p (list out ndiff))
+               (make out
+                 "install-nmap"
+                 "install-nse"
+                 "install-ncat"
+                 "install-nping")
+               (make ndiff "install-ndiff")
+               (wrap-program (string-append ndiff "/bin/ndiff")
+                 `("PYTHONPATH" prefix
+                   (,(python-path ndiff)))))))
+         ;; These are the tests that do not require network access.
+         (replace 'check
+           (lambda _ (zero? (system* "make"
+                                     "check-nse"
+                                     "check-ndiff"
+                                     "check-dns")))))
+       ;; Nmap can't cope with out-of-source building.
+       #:out-of-source? #f))
+    (home-page "https://nmap.org/")
+    (synopsis "Network discovery and security auditing tool")
+    (description
+     "Nmap (\"Network Mapper\") is a network discovery and security auditing
+tool.  It is also useful for tasks such as network inventory, managing service
+upgrade schedules, and monitoring host or service uptime.  It also provides an
+advanced netcat implementation (ncat), a utility for comparing scan
+results (ndiff), and a packet generation and response analysis tool (nping).")
+    ;; This package uses nmap's bundled modified version of libdnet, and
+    ;; liblinear, which both use a 3-clause BSD license.
+    (license (list license:nmap license:bsd-3))))
-- 
2.7.3

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

* Re: [v2 0/2] Nmap
  2016-03-28  4:11 [v2 0/2] Nmap Leo Famulari
  2016-03-28  4:11 ` [v2 1/2] licenses: Add the nmap license Leo Famulari
  2016-03-28  4:11 ` [v2 2/2] gnu: Add nmap Leo Famulari
@ 2016-03-29  7:50 ` Taylan Ulrich Bayırlı/Kammer
  2016-03-29 20:58   ` Leo Famulari
  2 siblings, 1 reply; 6+ messages in thread
From: Taylan Ulrich Bayırlı/Kammer @ 2016-03-29  7:50 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

Leo Famulari <leo@famulari.name> writes:

> Here is another take on adding Nmap to our distribution.
>
> I have built on Taylan's WIP patch, so he retains the bulk of the credit
> for his nice use of Nmap's build system to install things into different
> outputs.  Taylan, what do you think?
>
> I still can't get Zenmap to work, although I have made a little
> progress, so I've left it out for now. So, this uses the
> gnu-build-system, rather than glib-or-gtk.
>
> I enabled only the tests that don't require network access.
>
> Feedback?

Looks good to me, thanks for working on this. :-)

> BTW, Nmap builds reproducibly :)
>
> Leo Famulari (1):
>   licenses: Add the nmap license.
>
> Taylan Ulrich Bayırlı/Kammer (1):
>   gnu: Add nmap.
>
>  gnu/packages/admin.scm | 81 +++++++++++++++++++++++++++++++++++++++++++++++++-
>  guix/licenses.scm      |  6 ++++
>  2 files changed, 86 insertions(+), 1 deletion(-)

Taylan

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

* Re: [v2 0/2] Nmap
  2016-03-29  7:50 ` [v2 0/2] Nmap Taylan Ulrich Bayırlı/Kammer
@ 2016-03-29 20:58   ` Leo Famulari
  2016-03-30 21:32     ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Leo Famulari @ 2016-03-29 20:58 UTC (permalink / raw)
  To: Taylan Ulrich Bayırlı/Kammer; +Cc: guix-devel

On Tue, Mar 29, 2016 at 09:50:59AM +0200, Taylan Ulrich Bayırlı/Kammer wrote:
> Leo Famulari <leo@famulari.name> writes:
> 
> > Here is another take on adding Nmap to our distribution.
> >
> > I have built on Taylan's WIP patch, so he retains the bulk of the credit
> > for his nice use of Nmap's build system to install things into different
> > outputs.  Taylan, what do you think?
> >
> > I still can't get Zenmap to work, although I have made a little
> > progress, so I've left it out for now. So, this uses the
> > gnu-build-system, rather than glib-or-gtk.
> >
> > I enabled only the tests that don't require network access.
> >
> > Feedback?
> 
> Looks good to me, thanks for working on this. :-)

Great, thanks for sharing your work with us :)

Any other commments?

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

* Re: [v2 0/2] Nmap
  2016-03-29 20:58   ` Leo Famulari
@ 2016-03-30 21:32     ` Ludovic Courtès
  0 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2016-03-30 21:32 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

Leo Famulari <leo@famulari.name> skribis:

> On Tue, Mar 29, 2016 at 09:50:59AM +0200, Taylan Ulrich Bayırlı/Kammer wrote:
>> Leo Famulari <leo@famulari.name> writes:
>> 
>> > Here is another take on adding Nmap to our distribution.
>> >
>> > I have built on Taylan's WIP patch, so he retains the bulk of the credit
>> > for his nice use of Nmap's build system to install things into different
>> > outputs.  Taylan, what do you think?
>> >
>> > I still can't get Zenmap to work, although I have made a little
>> > progress, so I've left it out for now. So, this uses the
>> > gnu-build-system, rather than glib-or-gtk.
>> >
>> > I enabled only the tests that don't require network access.
>> >
>> > Feedback?
>> 
>> Looks good to me, thanks for working on this. :-)
>
> Great, thanks for sharing your work with us :)
>
> Any other commments?

Not from me, looks good!

Thanks,
Ludo’.

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

end of thread, other threads:[~2016-03-30 21:32 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-28  4:11 [v2 0/2] Nmap Leo Famulari
2016-03-28  4:11 ` [v2 1/2] licenses: Add the nmap license Leo Famulari
2016-03-28  4:11 ` [v2 2/2] gnu: Add nmap Leo Famulari
2016-03-29  7:50 ` [v2 0/2] Nmap Taylan Ulrich Bayırlı/Kammer
2016-03-29 20:58   ` Leo Famulari
2016-03-30 21:32     ` Ludovic Courtès

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.