at master 75 lines 2.2 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 kernel, 6 bc, 7 nukeReferences, 8}: 9 10stdenv.mkDerivation (finalAttrs: { 11 pname = "rtl8852bu"; 12 version = "${kernel.version}-unstable-2025-05-18"; 13 14 src = fetchFromGitHub { 15 owner = "morrownr"; 16 repo = "rtl8852bu-20240418"; 17 rev = "1ef537712a55400aad637f53e45b60ed5ee621d7"; 18 hash = "sha256-8bO82ytorBYgIT0dNKRocOhiCrUhya7DkkMlJ1XM3Hk="; 19 }; 20 21 nativeBuildInputs = [ 22 bc 23 nukeReferences 24 ] 25 ++ kernel.moduleBuildDependencies; 26 hardeningDisable = [ 27 "pic" 28 "format" 29 ]; 30 31 postPatch = '' 32 substituteInPlace ./Makefile \ 33 --replace-fail /sbin/depmod \# \ 34 --replace-fail '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" \ 35 --replace-fail 'cp -f $(MODULE_NAME).conf /etc/modprobe.d' \ 36 'mkdir -p $out/etc/modprobe.d && cp -f $(MODULE_NAME).conf $out/etc/modprobe.d' \ 37 --replace-fail "sh edit-options.sh" "" 38 substituteInPlace ./platform/i386_pc.mk \ 39 --replace-fail /lib/modules "${kernel.dev}/lib/modules" 40 ''; 41 42 makeFlags = [ 43 "ARCH=${stdenv.hostPlatform.linuxArch}" 44 ("CONFIG_PLATFORM_I386_PC=" + (if stdenv.hostPlatform.isx86 then "y" else "n")) 45 ("CONFIG_PLATFORM_ARM_RPI=" + (if stdenv.hostPlatform.isAarch then "y" else "n")) 46 ] 47 ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ 48 "CROSS_COMPILE=${stdenv.cc.targetPrefix}" 49 ]; 50 51 preInstall = '' 52 mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" 53 mkdir -p "$out/usr/lib/systemd/system-sleep" 54 ''; 55 56 postInstall = '' 57 nuke-refs $out/lib/modules/*/kernel/net/wireless/*.ko 58 ''; 59 60 env.NIX_CFLAGS_COMPILE = "-Wno-designated-init"; # Similar to 79c1cf6 61 62 enableParallelBuilding = true; 63 64 meta = { 65 description = "Driver for Realtek rtl8852bu and rtl8832bu chipsets, provides the 8852bu mod"; 66 homepage = "https://github.com/morrownr/rtl8852bu-20240418"; 67 license = lib.licenses.gpl2Only; 68 platforms = [ "x86_64-linux" ]; 69 broken = kernel.kernelOlder "6" && kernel.isHardened; # Similar to 79c1cf6 70 maintainers = with lib.maintainers; [ 71 lonyelon 72 thtrf 73 ]; 74 }; 75})