From mboxrd@z Thu Jan 1 00:00:00 1970 From: Leo Famulari Subject: [v2 2/2] gnu: Add nmap. Date: Mon, 28 Mar 2016 00:11:39 -0400 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:48956) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1akOWq-0006NO-M5 for guix-devel@gnu.org; Mon, 28 Mar 2016 00:11:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1akOWn-0003J1-Jj for guix-devel@gnu.org; Mon, 28 Mar 2016 00:11:48 -0400 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:43115) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1akOWn-0003If-FB for guix-devel@gnu.org; Mon, 28 Mar 2016 00:11:45 -0400 In-Reply-To: In-Reply-To: References: List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org From: Taylan Ulrich Bayırlı/Kammer * gnu/packages/admin.scm (nmap): New variable. Co-authored-by: Leo Famulari --- 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 ;;; Copyright © 2014, 2015, 2016 Mark H Weaver ;;; Copyright © 2014, 2015, 2016 Eric Bavier -;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer +;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015 Alex Sassmannshausen ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2016 Leo Famulari @@ -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