1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 kernel,
6 kernelModuleMakeFlags,
7}:
8
9stdenv.mkDerivation {
10 pname = "rtl8814au";
11 version = "${kernel.version}-unstable-2024-05-26";
12
13 src = fetchFromGitHub {
14 owner = "morrownr";
15 repo = "8814au";
16 rev = "810573647b837d88c4191597a0ea6d226f69f64c";
17 hash = "sha256-AaOnUy3igocsCF/FNogn+z+QcQiid7U7XimE68wAco0=";
18 };
19
20 nativeBuildInputs = kernel.moduleBuildDependencies;
21 makeFlags = kernelModuleMakeFlags;
22
23 hardeningDisable = [ "pic" ];
24
25 env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
26
27 prePatch = ''
28 substituteInPlace ./Makefile \
29 --replace /lib/modules/ "${kernel.dev}/lib/modules/" \
30 --replace /sbin/depmod \# \
31 --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
32 '';
33
34 preInstall = ''
35 mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
36 '';
37
38 enableParallelBuilding = true;
39
40 meta = with lib; {
41 description = "Realtek 8814AU USB WiFi driver";
42 homepage = "https://github.com/morrownr/8814au";
43 license = licenses.gpl2Only;
44 maintainers = [ maintainers.lassulus ];
45 };
46}