1{
2 lib,
3 stdenv,
4 fetchurl,
5 kernel,
6 kmod,
7}:
8
9stdenv.mkDerivation rec {
10 name = "ixgbevf-${version}-${kernel.version}";
11 version = "4.6.1";
12
13 src = fetchurl {
14 url = "mirror://sourceforge/e1000/ixgbevf-${version}.tar.gz";
15 sha256 = "0h8a2g4hm38wmr13gvi2188r7nlv2c5rx6cal9gkf1nh6sla181c";
16 };
17
18 nativeBuildInputs = kernel.moduleBuildDependencies;
19
20 hardeningDisable = [ "pic" ];
21
22 configurePhase = ''
23 cd src
24 makeFlagsArray+=(KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build INSTALL_MOD_PATH=$out MANDIR=/share/man)
25 substituteInPlace common.mk --replace /sbin/depmod ${kmod}/bin/depmod
26 # prevent host system kernel introspection
27 substituteInPlace common.mk --replace /boot/System.map /not-exists
28 '';
29
30 enableParallelBuilding = true;
31
32 meta = with lib; {
33 description = "Intel 82599 Virtual Function Driver";
34 homepage = "https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/";
35 license = licenses.gpl2Only;
36 priority = 20;
37 # kernels ship ixgbevf driver for a long time already, maybe switch to a newest kernel?
38 broken = versionAtLeast kernel.version "5.2";
39 };
40}