{ stdenv, lib, fetchFromGitHub, kernel, bc }: with lib; let modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/wireless/realtek/rtl8192eu"; in stdenv.mkDerivation rec { pname = "rtl8192eu"; version = "${kernel.version}-4.4.1.20220313"; src = fetchFromGitHub { owner = "Mange"; repo = "rtl8192eu-linux-driver"; rev = "e0f967cea1d0037c730246c572f7fef000865ff7"; sha256 = "sha256-Wgp1MZ/z8AxbZPYsmR6t7Q4nsL0TFEqTEsrkkWPI6gI="; }; hardeningDisable = [ "pic" ]; nativeBuildInputs = kernel.moduleBuildDependencies ++ [ bc ]; makeFlags = kernel.makeFlags ++ [ "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ]; enableParallelBuilding = true; installPhase = '' runHook preInstall mkdir -p ${modDestDir} find . -name '*.ko' -exec cp --parents {} ${modDestDir} \; find ${modDestDir} -name '*.ko' -exec xz -f {} \; runHook postInstall ''; meta = with lib; { description = "Realtek rtl8192eu driver"; homepage = "https://github.com/Mange/rtl8192eu-linux-driver"; license = licenses.gpl2Only; platforms = platforms.linux; broken = stdenv.hostPlatform.isAarch64 || kernel.kernelAtLeast "5.18"; maintainers = with maintainers; [ troydm ]; }; }