1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 kernel,
6 kernelModuleMakeFlags,
7 bc,
8}:
9
10stdenv.mkDerivation {
11 pname = "rtl8821cu";
12 version = "${kernel.version}-unstable-2025-05-08";
13
14 src = fetchFromGitHub {
15 owner = "morrownr";
16 repo = "8821cu-20210916";
17 rev = "d74134a1c68f59f2b80cdd6c6afb8c1a8a687cbf";
18 hash = "sha256-ExT7ONQeejFoMwUUXKua7wMnRi+3IYayLmlWIEWteK4=";
19 };
20
21 hardeningDisable = [ "pic" ];
22
23 nativeBuildInputs = [ bc ] ++ kernel.moduleBuildDependencies;
24 makeFlags = kernelModuleMakeFlags;
25
26 prePatch = ''
27 substituteInPlace ./Makefile \
28 --replace-fail /lib/modules/ "${kernel.dev}/lib/modules/" \
29 --replace-fail /sbin/depmod \# \
30 --replace-fail '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
31 '';
32
33 preInstall = ''
34 mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
35 '';
36
37 enableParallelBuilding = true;
38
39 meta = with lib; {
40 description = "Realtek rtl8821cu driver";
41 homepage = "https://github.com/morrownr/8821cu-20210916";
42 license = licenses.gpl2Only;
43 platforms = platforms.linux;
44 maintainers = [ maintainers.contrun ];
45 };
46}