nixpkgs/pkgs/tools/networking/hping/default.nix
aszlig 7cd641a4e7
hping: New package, version 20051105.
Quite a lot of patching involved here, but the upstream package is no longer
maintained anymore. Nevertheless the tool is still useful in some environments.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2012-12-12 12:36:17 +01:00

48 lines
1.2 KiB
Nix

{ stdenv, fetchurl, libpcap, tcl }:
stdenv.mkDerivation rec {
name = "hping-${version}";
version = "20051105";
src = fetchurl {
url = "http://www.hping.org/hping3-${version}.tar.gz";
sha256 = "1s5f9xd1msx05ibhwaw37jmc7l9fahcxxslqz8a83p0i5ak739pm";
};
buildInputs = [ libpcap tcl ];
configurePhase = ''
MANPATH="$out/share/man" ./configure
sed -i -r -e 's|/usr(/s?bin)|'"$out"'\1|g' Makefile
'';
TCLSH = "${tcl}/bin/tclsh";
prePatch = ''
sed -i -e '/#if.*defined(__i386__)/a \
|| defined(__x86_64__) \\
' bytesex.h
sed -i -e 's|#include.*net/bpf.h|#include <pcap/bpf.h>|' \
libpcap_stuff.c script.c
sed -i -r -e 's|"(/usr/(local/)?)?bin/"|"${tcl}/bin"|g' \
-e 's!/usr/(local/)?(lib|include)!${tcl}/\2!g' \
configure
'';
preInstall = ''
mkdir -vp "$out/sbin" "$out/share/man/man8"
'';
postInstall = ''
ln -vs hping3.8.gz "$out/share/man/man8/hping.8.gz"
ln -vs hping3.8.gz "$out/share/man/man8/hping2.8.gz"
'';
meta = {
description = "A command-line oriented TCP/IP packet assembler/analyzer";
homepage = "http://www.hping.org/";
license = stdenv.lib.licenses.gpl2;
};
}