1{ lib
2, stdenv
3, fetchurl
4, autoreconfHook
5, pkg-config
6, dpdk
7, libbpf
8, libconfig
9, libpcap
10, numactl
11, openssl
12, zlib
13, libbsd
14, libelf
15, jansson
16, libnl
17}:
18
19stdenv.mkDerivation rec {
20 pname = "odp-dpdk";
21 version = "1.41.0.0_DPDK_22.11";
22
23 src = fetchurl {
24 url = "https://git.linaro.org/lng/odp-dpdk.git/snapshot/${pname}-${version}.tar.gz";
25 hash = "sha256-4p+R+7IeDKQFqBzQTvXfR407exxhoS8pnKxF9Qnr8tw=";
26 };
27
28 nativeBuildInputs = [
29 autoreconfHook
30 pkg-config
31 ];
32
33 buildInputs = [
34 dpdk
35 libconfig
36 libpcap
37 numactl
38 openssl
39 zlib
40 libbsd
41 libelf
42 jansson
43 libbpf
44 libnl
45 ];
46
47 env.NIX_CFLAGS_COMPILE = toString [
48 # Needed with GCC 12
49 "-Wno-error=maybe-uninitialized"
50 "-Wno-error=uninitialized"
51 ];
52
53 # binaries will segfault otherwise
54 dontStrip = true;
55
56 enableParallelBuilding = true;
57
58 meta = with lib; {
59 description = "Open Data Plane optimized for DPDK";
60 homepage = "https://www.opendataplane.org";
61 license = licenses.bsd3;
62 platforms = platforms.linux;
63 maintainers = [ maintainers.abuibrahim ];
64 };
65}