From ea82f6d0e9dc4f1465d03c9e7c8671732e55afcd Mon Sep 17 00:00:00 2001 From: Sergey Mironov Date: Thu, 6 Jun 2013 11:13:08 +0400 Subject: nmap: help zenmap to find it's templates in nix-store Zenamp wrapper confuses python so it thinks that zenmap is launched as a script and not as an executable. This leads to incorrect /share path and missing templates. ./zenmap.patch cures that (a bit hacky as usual). --- pkgs/tools/security/nmap/default.nix | 4 +++- pkgs/tools/security/nmap/zenmap.patch | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 pkgs/tools/security/nmap/zenmap.patch (limited to 'pkgs') diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix index 143c75285c4..2280ff3cfbe 100644 --- a/pkgs/tools/security/nmap/default.nix +++ b/pkgs/tools/security/nmap/default.nix @@ -2,7 +2,7 @@ , openssl, python, pygtk, makeWrapper, pygobject , pycairo, pysqlite }: - + stdenv.mkDerivation rec { name = "nmap-5.50"; @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { sha256 = "aa044113caa47e172c154daed73afc70ffa18d359eb47c22a9ea85ffcb14ffb8"; }; + patches = [ ./zenmap.patch ]; + postInstall = '' 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 diff --git a/pkgs/tools/security/nmap/zenmap.patch b/pkgs/tools/security/nmap/zenmap.patch new file mode 100644 index 00000000000..3cd39750c88 --- /dev/null +++ b/pkgs/tools/security/nmap/zenmap.patch @@ -0,0 +1,15 @@ +diff -ruN nmap-5.50.orig/zenmap/zenmapCore/Paths.py nmap-5.50/zenmap/zenmapCore/Paths.py +--- nmap-5.50.orig/zenmap/zenmapCore/Paths.py 2013-06-06 05:52:10.723087428 +0000 ++++ nmap-5.50/zenmap/zenmapCore/Paths.py 2013-06-06 07:07:25.481261761 +0000 +@@ -115,7 +115,10 @@ + else: + # Normal script execution. Look in the current directory to allow + # running from the distribution. +- return os.path.abspath(os.path.dirname(fs_dec(sys.argv[0]))) ++ # ++ # Grrwlf: No,no,dear. That's not a script, thats Nixos wrapper. Go add ++ # those '..' to substract /bin part. ++ return os.path.abspath(os.path.join(os.path.dirname(fs_dec(sys.argv[0])), "..")) + + prefix = get_prefix() + -- cgit 1.4.1