diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 9b07e439e2e..9c47599b73e 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3429,6 +3429,11 @@ github = "pkmx"; name = "Chih-Mao Chen"; }; + plchldr = { + email = "mail@oddco.de"; + github = "plchldr"; + name = "Jonas Beyer"; + }; plcplc = { email = "plcplc@gmail.com"; github = "plcplc"; diff --git a/pkgs/os-specific/linux/rtl8821au/default.nix b/pkgs/os-specific/linux/rtl8821au/default.nix new file mode 100644 index 00000000000..9cb28d5dc8d --- /dev/null +++ b/pkgs/os-specific/linux/rtl8821au/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchFromGitHub, kernel, bc }: + +stdenv.mkDerivation rec { + name = "rtl8821au-${kernel.version}-${version}"; + version = "5.1.5"; + + src = fetchFromGitHub { + owner = "zebulon2"; + repo = "rtl8812au"; + rev = "61d0cd95afc01eae64da0c446515803910de1a00"; + sha256 = "0dlzyiaa3hmb2qj3lik52px88n4mgrx7nblbm4s0hn36g19ylssw"; + }; + + nativeBuildInputs = [ bc ]; + buildInputs = kernel.moduleBuildDependencies; + + hardeningDisable = [ "pic" "format" ]; + + NIX_CFLAGS_COMPILE="-Wno-error=incompatible-pointer-types"; + + prePatch = '' + substituteInPlace ./Makefile \ + --replace /lib/modules/ "${kernel.dev}/lib/modules/" \ + --replace '$(shell uname -r)' "${kernel.modDirVersion}" \ + --replace /sbin/depmod \# \ + --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" + ''; + + preInstall = '' + mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" + ''; + + meta = with stdenv.lib; { + description = "rtl8821AU, rtl8812AU and rtl8811AU chipset driver with firmware"; + homepage = https://github.com/zebulon2/rtl8812au; + license = licenses.gpl2; + platforms = [ "x86_64-linux" "i686-linux" ]; + maintainers = with maintainers; [ plchldr ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 387905a0afa..504f0626a37 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14640,6 +14640,8 @@ in rtl8814au = callPackage ../os-specific/linux/rtl8814au { }; + rtl8821au = callPackage ../os-specific/linux/rtl8821au { }; + rtlwifi_new = callPackage ../os-specific/linux/rtlwifi_new { }; openafs = callPackage ../servers/openafs/1.6/module.nix { };