diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/os-specific/linux/pktgen/default.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/os-specific/linux/pktgen/default.nix | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pktgen/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pktgen/default.nix new file mode 100644 index 000000000000..41db6e936615 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/pktgen/default.nix @@ -0,0 +1,45 @@ +{ stdenv, lib, fetchurl, meson, ninja, pkgconfig +, dpdk, libbsd, libpcap, lua5_3, numactl, utillinux +, gtk2, which, withGtk ? false +}: + +stdenv.mkDerivation rec { + pname = "pktgen"; + version = "19.12.0"; + + src = fetchurl { + url = "http://dpdk.org/browse/apps/pktgen-dpdk/snapshot/${pname}-${version}.tar.xz"; + sha256 = "1clfviz1qa4hysslcg6i29vsxwl9f6j1y7zf9wwx9br3yq08x956"; + }; + + nativeBuildInputs = [ meson ninja pkgconfig ]; + + buildInputs = + [ dpdk libbsd libpcap lua5_3 numactl which ] + ++ stdenv.lib.optionals withGtk [gtk2]; + + RTE_SDK = dpdk; + GUI = stdenv.lib.optionalString withGtk "true"; + + NIX_CFLAGS_COMPILE = "-msse3"; + + patches = [ ./configure.patch ]; + + postPatch = '' + substituteInPlace lib/common/lscpu.h --replace /usr/bin/lscpu ${utillinux}/bin/lscpu + ''; + + postInstall = '' + # meson installs unneeded files with conflicting generic names, such as + # include/cli.h and lib/liblua.so. + rm -rf $out/include $out/lib + ''; + + meta = with stdenv.lib; { + description = "Traffic generator powered by DPDK"; + homepage = "http://dpdk.org/"; + license = licenses.bsdOriginal; + platforms = [ "x86_64-linux" ]; + maintainers = [ maintainers.abuibrahim ]; + }; +} |