From 47f0f34fca89a64c33671b45ddda8d37b3d5cf8d Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 3 Apr 2014 14:07:52 -0500 Subject: [PATCH] nmap: Build the non-graphical version by default --- pkgs/tools/security/nmap/default.nix | 35 +++++++++++++++++----------- pkgs/top-level/all-packages.nix | 5 +++- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix index a6452cdb89b4..56964c1f6923 100644 --- a/pkgs/tools/security/nmap/default.nix +++ b/pkgs/tools/security/nmap/default.nix @@ -1,10 +1,18 @@ -{ stdenv, fetchurl, libpcap, libX11, gtk, pkgconfig -, openssl, python, pygtk, makeWrapper, pygobject -, pycairo, pysqlite +{ stdenv, fetchurl, libpcap, pkgconfig, openssl +, graphicalSupport ? false +, libX11 ? null +, gtk ? null +, python ? null +, pygtk ? null +, makeWrapper ? null +, pygobject ? null +, pycairo ? null +, pysqlite ? null }: +with stdenv.lib; stdenv.mkDerivation rec { - name = "nmap-${version}"; + name = "nmap${optionalString graphicalSupport "-graphical"}-${version}"; version = "6.40"; src = fetchurl { @@ -12,21 +20,22 @@ stdenv.mkDerivation rec { sha256 = "491f77d8b3fb3bb38ba4e3850011fe6fb43bbe197f9382b88cb59fa4e8f7a401"; }; - patches = [ ./zenmap.patch ]; + patches = optional graphicalSupport ./zenmap.patch; - postInstall = - '' + postInstall = optionalString graphicalSupport '' wrapProgram $out/bin/zenmap --prefix PYTHONPATH : "$(toPythonPath $out)" --prefix PYTHONPATH : "$PYTHONPATH" --prefix PYTHONPATH : $(toPythonPath ${pygtk})/gtk-2.0 --prefix PYTHONPATH : $(toPythonPath ${pygobject})/gtk-2.0 --prefix PYTHONPATH : $(toPythonPath ${pycairo})/gtk-2.0 - ''; + ''; - buildInputs = - [ libpcap libX11 gtk pkgconfig openssl python pygtk makeWrapper pysqlite ]; + buildInputs = [ libpcap pkgconfig openssl ] + ++ optionals graphicalSupport [ + libX11 gtk python pygtk makeWrapper pysqlite pygobject pycairo + ]; meta = { description = "A free and open source utility for network discovery and security auditing."; homepage = "http://www.nmap.org"; - license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ mornfall thoughtpolice ]; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ mornfall thoughtpolice ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index efe5e3834eaf..7310cf6852fc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1539,8 +1539,11 @@ let npth = callPackage ../development/libraries/npth {}; - nmap = callPackage ../tools/security/nmap { + nmap = callPackage ../tools/security/nmap { }; + + nmap_graphical = callPackage ../tools/security/nmap { inherit (pythonPackages) pysqlite; + graphicalSupport = true; }; notbit = callPackage ../applications/networking/notbit { };