1{
2 lib,
3 stdenv,
4 fetchzip,
5 kernel,
6 kernelModuleMakeFlags,
7}:
8
9stdenv.mkDerivation rec {
10 pname = "dpdk-kmods";
11 version = "2023-02-05";
12
13 src = fetchzip {
14 url = "https://git.dpdk.org/dpdk-kmods/snapshot/dpdk-kmods-e721c733cd24206399bebb8f0751b0387c4c1595.tar.xz";
15 sha256 = "sha256-AG5Lthp+CPR4R7I23DUmoWAmET8gLEFHHdjk2TUbQn4=";
16 };
17
18 hardeningDisable = [ "pic" ];
19
20 makeFlags = kernelModuleMakeFlags ++ [
21 "INSTALL_MOD_PATH=${placeholder "out"}"
22 ];
23 KSRC = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
24
25 nativeBuildInputs = kernel.moduleBuildDependencies;
26
27 preBuild = "cd linux/igb_uio";
28
29 installPhase = ''
30 make -C ${KSRC} M=$(pwd) modules_install $makeFlags
31 '';
32
33 enableParallelBuilding = true;
34
35 meta = with lib; {
36 description = "Kernel modules for DPDK";
37 homepage = "https://git.dpdk.org/dpdk-kmods/";
38 license = licenses.gpl2Only;
39 maintainers = [ maintainers.mic92 ];
40 platforms = platforms.linux;
41 };
42}