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).
wip/yesman
Sergey Mironov 11 years ago
parent 80bd0dda53
commit ea82f6d0e9
  1. 4
      pkgs/tools/security/nmap/default.nix
  2. 15
      pkgs/tools/security/nmap/zenmap.patch

@ -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

@ -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()
Loading…
Cancel
Save