1{ stdenv, lib, fetchFromGitHub, kernel }:
2
3let
4 modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/wireless/realtek/rtw89";
5in
6stdenv.mkDerivation {
7 pname = "rtw89";
8 version = "unstable-2022-12-18";
9
10 src = fetchFromGitHub {
11 owner = "lwfinger";
12 repo = "rtw89";
13 rev = "e834edfe8bee6e27e31c2f783817a9c13ff45665";
14 sha256 = "19ApYiEvA0E6qgf5XQc03paZ+ghjZL8JoC3vSYYw3xU=";
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 = " Driver for Realtek 8852AE, 8852BE, and 8853CE, 802.11ax devices";
34 homepage = "https://github.com/lwfinger/rtw89";
35 license = with licenses; [ gpl2Only ];
36 maintainers = with maintainers; [ tvorog ];
37 platforms = platforms.linux;
38 broken = kernel.kernelOlder "5.7";
39 priority = -1;
40 };
41}