1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 kernel,
6 kernelModuleMakeFlags,
7 bc,
8}:
9
10let
11 modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/wireless/realtek/rtl8192eu";
12
13in
14stdenv.mkDerivation {
15 pname = "rtl8192eu";
16 version = "${kernel.version}-4.4.1.20250504";
17
18 src = fetchFromGitHub {
19 owner = "Mange";
20 repo = "rtl8192eu-linux-driver";
21 rev = "27aa922c298f2be240eec6c2e8636fe865ece195";
22 sha256 = "sha256-1Kz/GgsHsEgrp+1x2rLpJpo98Ur16aWf9CV0gcYmp0Q=";
23 };
24
25 hardeningDisable = [ "pic" ];
26
27 nativeBuildInputs = kernel.moduleBuildDependencies ++ [ bc ];
28
29 makeFlags = kernelModuleMakeFlags ++ [
30 "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
31 ];
32
33 enableParallelBuilding = true;
34
35 installPhase = ''
36 runHook preInstall
37
38 mkdir -p ${modDestDir}
39 find . -name '*.ko' -exec cp --parents {} ${modDestDir} \;
40 find ${modDestDir} -name '*.ko' -exec xz -f {} \;
41
42 runHook postInstall
43 '';
44
45 meta = with lib; {
46 description = "Realtek rtl8192eu driver";
47 homepage = "https://github.com/Mange/rtl8192eu-linux-driver";
48 license = licenses.gpl2Only;
49 platforms = platforms.linux;
50 broken = stdenv.hostPlatform.isAarch64;
51 maintainers = with maintainers; [ troydm ];
52 };
53}