nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix
Bjørn Forsman 27477f1fac wireshark: build with libcap (POSIX capabilities)
This makes running wireshark (or more specifically, dumpcap) as root a
bit more secure. From <wireshark-1.11.2>/doc/README.packaging:

  The "--with-libcap" option is only useful when dumpcap is installed
  setuid. If it is enabled dumpcap will try to drop any setuid privileges
  it may have while retaining the CAP_NET_ADMIN and CAP_NET_RAW
  capabilities. It is enabled by default, if the Linux capabilities
  library (on which it depends) is found.
2014-04-22 21:33:11 +02:00

61 lines
1.7 KiB
Nix

{ stdenv, fetchurl, pkgconfig, perl, flex, bison, libpcap, libnl, c-ares
, gnutls, libgcrypt, geoip, heimdal, lua5, gtk, makeDesktopItem, python
, libcap
}:
let version = "1.11.2"; in
stdenv.mkDerivation {
name = "wireshark-${version}";
src = fetchurl {
url = "mirror://sourceforge/wireshark/wireshark-${version}.tar.bz2";
sha256 = "077hjnmqn44s8dx3pc38bxps5liicjnhzrnf6ky2x60m2cp7ngr3";
};
buildInputs = [
bison flex perl pkgconfig libpcap lua5 heimdal libgcrypt gnutls
geoip libnl c-ares gtk python libcap
];
preConfigure = ''
sed -re 's/g_memmove/memmove/' -i $(grep -rl g_memmove .)
'';
configureFlags = "--disable-usr-local --disable-silent-rules --with-gtk2 --without-gtk3 --without-qt --with-ssl";
desktopItem = makeDesktopItem {
name = "Wireshark";
exec = "wireshark";
icon = "wireshark";
comment = "Powerful network protocol analysis suite";
desktopName = "Wireshark";
genericName = "Network packet analyzer";
categories = "Network;System";
};
postInstall = ''
mkdir -p "$out"/share/applications/
mkdir -p "$out"/share/icons/
cp "$desktopItem/share/applications/"* "$out/share/applications/"
cp image/wsicon.svg "$out"/share/icons/wireshark.svg
'';
enableParallelBuilding = true;
meta = {
homepage = http://www.wireshark.org/;
description = "a powerful network protocol analyzer";
license = stdenv.lib.licenses.gpl2;
longDescription = ''
Wireshark (formerly known as "Ethereal") is a powerful network
protocol analyzer developed by an international team of networking
experts. It runs on UNIX, OS X and Windows.
'';
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.simons ];
};
}