summary refs log tree commit diff
path: root/pkgs/os-specific/linux/ixgbevf/default.nix
blob: 6a748c4701903cfb13c2fbf0c2837ccb4de2c30b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{ lib, stdenv, fetchurl, kernel, kmod }:

stdenv.mkDerivation rec {
  name = "ixgbevf-${version}-${kernel.version}";
  version = "4.6.1";

  src = fetchurl {
    url = "mirror://sourceforge/e1000/ixgbevf-${version}.tar.gz";
    sha256 = "0h8a2g4hm38wmr13gvi2188r7nlv2c5rx6cal9gkf1nh6sla181c";
  };

  nativeBuildInputs = kernel.moduleBuildDependencies;

  hardeningDisable = [ "pic" ];

  configurePhase = ''
    cd src
    makeFlagsArray+=(KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build INSTALL_MOD_PATH=$out MANDIR=/share/man)
    substituteInPlace common.mk --replace /sbin/depmod ${kmod}/bin/depmod
    # prevent host system kernel introspection
    substituteInPlace common.mk --replace /boot/System.map /not-exists
  '';

  enableParallelBuilding = true;

  meta = with lib; {
    description = "Intel 82599 Virtual Function Driver";
    homepage = "https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/";
    license = licenses.gpl2;
    priority = 20;
    # kernels ship ixgbevf driver for a long time already, maybe switch to a newest kernel?
    broken = versionAtLeast kernel.version "5.2";
  };
}