ocamlPackages.hxd: 0.3.2 -> 0.3.3 (#364231)
[NixPkgs.git] / pkgs / by-name / nm / nmap / package.nix
blob32a6f1a322ec29af48f3130d8e1b083d557a0d3e
2   lib,
3   stdenv,
4   fetchurl,
5   libpcap,
6   pkg-config,
7   openssl,
8   lua5_4,
9   pcre2,
10   liblinear,
11   libssh2,
12   zlib,
13   withLua ? true,
16 stdenv.mkDerivation rec {
17   pname = "nmap";
18   version = "7.95";
20   src = fetchurl {
21     url = "https://nmap.org/dist/nmap-${version}.tar.bz2";
22     hash = "sha256-4Uq1MOR7Wv2I8ciiusf4nNj+a0eOItJVxbm923ocV3g=";
23   };
25   prePatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
26     substituteInPlace libz/configure \
27         --replace /usr/bin/libtool ar \
28         --replace 'AR="libtool"' 'AR="ar"' \
29         --replace 'ARFLAGS="-o"' 'ARFLAGS="-r"'
30   '';
32   configureFlags = [
33     (if withLua then "--with-liblua=${lua5_4}" else "--without-liblua")
34     "--without-ndiff"
35     "--without-zenmap"
36   ];
38   postInstall = ''
39     install -m 444 -D nselib/data/passwords.lst $out/share/wordlists/nmap.lst
40   '';
42   postFixup = lib.optionalString stdenv.hostPlatform.isDarwin ''
43     install_name_tool -change liblinear.so.5 ${liblinear.out}/lib/liblinear.5.dylib $out/bin/nmap
44   '';
46   makeFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
47     "AR=${stdenv.cc.bintools.targetPrefix}ar"
48     "RANLIB=${stdenv.cc.bintools.targetPrefix}ranlib"
49     "CC=${stdenv.cc.targetPrefix}gcc"
50   ];
52   nativeBuildInputs = [ pkg-config ];
53   buildInputs = [
54     pcre2
55     liblinear
56     libssh2
57     libpcap
58     openssl
59     zlib
60   ];
62   enableParallelBuilding = true;
64   doCheck = false; # fails 3 tests, probably needs the net
66   meta = {
67     description = "Free and open source utility for network discovery and security auditing";
68     homepage = "http://www.nmap.org";
69     changelog = "https://nmap.org/changelog.html#${version}";
70     license = lib.licenses.gpl2Only;
71     platforms = lib.platforms.all;
72     maintainers = with lib.maintainers; [
73       thoughtpolice
74       fpletz
75     ];
76   };