1{
2 lib,
3 stdenv,
4 fetchurl,
5 kernel,
6 kmod,
7 mstflint,
8 kernelModuleMakeFlags,
9}:
10
11stdenv.mkDerivation rec {
12 pname = "mstflint_access";
13 inherit (mstflint) version;
14
15 src = fetchurl {
16 url = "https://github.com/Mellanox/mstflint/releases/download/v${version}/kernel-mstflint-${version}.tar.gz";
17 hash = "sha256-kQBv/67miw6lSHIcCVYy66B7OHVofFs2N+evtsQ3Ovk=";
18 };
19
20 nativeBuildInputs = [ kmod ] ++ kernel.moduleBuildDependencies;
21
22 makeFlags = kernelModuleMakeFlags ++ [
23 "KVER=${kernel.modDirVersion}"
24 "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
25 ];
26
27 enableParallelBuilding = true;
28
29 installTargets = [ "modules_install" ];
30 installFlags = [
31 "-C"
32 "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
33 "INSTALL_MOD_PATH=${placeholder "out"}"
34 "M=$(PWD)"
35 ]
36 ++ makeFlags;
37
38 meta = with lib; {
39 description = "Kernel module for Nvidia NIC firmware update";
40 homepage = "https://github.com/Mellanox/mstflint";
41 license = [ licenses.gpl2Only ];
42 maintainers = with maintainers; [ thillux ];
43 platforms = platforms.linux;
44 };
45}