lol
1{ lib, stdenv, fetchurl, autoreconfHook, pkg-config
2, dpdk, libbpf, libconfig, libpcap, numactl, openssl, zlib, libbsd, libelf, jansson
3}: let
4 dpdk_19_11 = dpdk.overrideAttrs (old: rec {
5 version = "19.11.12";
6 src = fetchurl {
7 url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
8 sha256 = "sha256-F9m2+MZi3n0psPIwjWwhiIbbNkoGlxqtru2OlV7TbzQ=";
9 };
10 mesonFlags = old.mesonFlags ++ [
11 "-Denable_docs=false"
12 ];
13 });
14
15in stdenv.mkDerivation rec {
16 pname = "odp-dpdk";
17 version = "1.35.0.0_DPDK_19.11";
18
19 src = fetchurl {
20 url = "https://git.linaro.org/lng/odp-dpdk.git/snapshot/${pname}-${version}.tar.gz";
21 sha256 = "sha256-R4cRfz0uUDbeQmJfFSIAmq3KfD6CE9hIW2yvFqL+b0M=";
22 };
23
24 nativeBuildInputs = [
25 autoreconfHook
26 pkg-config
27 ];
28 buildInputs = [
29 dpdk_19_11
30 libconfig
31 libpcap
32 numactl
33 openssl
34 zlib
35 libbsd
36 libelf
37 jansson
38 libbpf
39 ];
40
41 # binaries will segfault otherwise
42 dontStrip = true;
43
44 enableParallelBuilding = true;
45
46 meta = with lib; {
47 description = "Open Data Plane optimized for DPDK";
48 homepage = "https://www.opendataplane.org";
49 license = licenses.bsd3;
50 platforms = platforms.linux;
51 maintainers = [ maintainers.abuibrahim ];
52 };
53}