1{ lib, stdenv, fetchFromGitHub, kernel, bc }:
2
3stdenv.mkDerivation {
4 pname = "rtl8723ds";
5 version = "${kernel.version}-unstable-2022-12-01";
6
7 src = fetchFromGitHub {
8 owner = "lwfinger";
9 repo = "rtl8723ds";
10 rev = "a638cc8639015b8b9390af3350fab0366b6c87e7";
11 sha256 = "sha256-qfVE7k71NPzw3FwoOaUxH66PnDjbpMAF6CyOyUVdSMA=";
12 };
13
14 hardeningDisable = [ "pic" ];
15
16 nativeBuildInputs = [ bc ] ++ kernel.moduleBuildDependencies;
17
18 makeFlags = [
19 "ARCH=${stdenv.hostPlatform.linuxArch}"
20 ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
21 "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
22 ];
23
24 postPatch = ''
25 substituteInPlace ./Makefile \
26 --replace /lib/modules/ "${kernel.dev}/lib/modules/" \
27 --replace "/sbin/depmod" "#" \
28 --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
29 '';
30
31 preInstall = ''
32 mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
33 '';
34
35 enableParallelBuilding = true;
36
37 meta = {
38 description = "Linux driver for RTL8723DS.";
39 homepage = "https://github.com/lwfinger/rtl8723ds";
40 license = lib.licenses.gpl2Only;
41 platforms = lib.platforms.linux;
42 maintainers = with lib.maintainers; [ chuangzhu ];
43 };
44}