1{ stdenv, lib, fetchFromGitHub, kernel }:
2
3let
4 modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/wireless/realtek/rtw88";
5in
6stdenv.mkDerivation {
7 pname = "rtw88";
8 version = "unstable-2022-11-05";
9
10 src = fetchFromGitHub {
11 owner = "lwfinger";
12 repo = "rtw88";
13 rev = "c0dfe571fd7b307e036f186ef5711b4c0d9f3f08";
14 sha256 = "1gc5nv5pyrfag826z36vsrbirg6iww99yx45pcgpp7rmrpbwamvg";
15 };
16
17 nativeBuildInputs = kernel.moduleBuildDependencies;
18 makeFlags = kernel.makeFlags ++ [ "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];
19
20 enableParallelBuilding = true;
21
22 installPhase = ''
23 runHook preInstall
24
25 mkdir -p ${modDestDir}
26 find . -name '*.ko' -exec cp --parents {} ${modDestDir} \;
27 find ${modDestDir} -name '*.ko' -exec xz -f {} \;
28
29 runHook postInstall
30 '';
31
32 meta = with lib; {
33 description = "The newest Realtek rtlwifi codes";
34 homepage = "https://github.com/lwfinger/rtw88";
35 license = with licenses; [ bsd3 gpl2Only ];
36 maintainers = with maintainers; [ tvorog atila ];
37 platforms = platforms.linux;
38 broken = kernel.kernelOlder "4.20";
39 priority = -1;
40 };
41}