lol
1{ lib, stdenv, fetchFromGitHub, kernel, bc, nukeReferences }:
2
3stdenv.mkDerivation rec {
4 pname = "rtl8821au";
5 version = "${kernel.version}-unstable-2022-08-22";
6
7 src = fetchFromGitHub {
8 owner = "morrownr";
9 repo = "8821au-20210708";
10 rev = "ac275a0ed806fb1c714d8f9194052d4638a68fca";
11 sha256 = "sha256-N86zyw5Ap07vk38OfjGfzP7++ysZCIUVnLuwxeY8yws=So";
12 };
13
14 nativeBuildInputs = [ bc nukeReferences ];
15 buildInputs = kernel.moduleBuildDependencies;
16
17 hardeningDisable = [ "pic" "format" ];
18
19 NIX_CFLAGS_COMPILE="-Wno-error=incompatible-pointer-types";
20
21 prePatch = ''
22 substituteInPlace ./Makefile \
23 --replace /lib/modules/ "${kernel.dev}/lib/modules/" \
24 --replace '$(shell uname -r)' "${kernel.modDirVersion}" \
25 --replace /sbin/depmod \# \
26 --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
27 '';
28
29 preInstall = ''
30 mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
31 '';
32
33 postInstall = ''
34 nuke-refs $out/lib/modules/*/kernel/net/wireless/*.ko
35 '';
36
37 enableParallelBuilding = true;
38
39 meta = with lib; {
40 description = "rtl8821AU and rtl8812AU chipset driver with firmware";
41 homepage = "https://github.com/morrownr/8821au";
42 license = licenses.gpl2Only;
43 platforms = [ "x86_64-linux" "i686-linux" ];
44 maintainers = with maintainers; [ plchldr ];
45 };
46}