1{ stdenv, lib, fetchFromGitHub, kernel, bc, nukeReferences }:
2
3stdenv.mkDerivation rec {
4 name = "rtl8189es-${kernel.version}-${version}";
5 version = "2023-03-14";
6
7 src = fetchFromGitHub {
8 owner = "jwrdegoede";
9 repo = "rtl8189ES_linux";
10 rev = "ae7b31e55526ca0e01d2a3310118530bff4f1055";
11 sha256 = "sha256-l/xUxs63Y5LVT6ZafuRc+iaCXCSt2HwysYJLJ5hg3RM=";
12 };
13
14 nativeBuildInputs = [ bc nukeReferences ] ++ kernel.moduleBuildDependencies;
15
16 hardeningDisable = [ "pic" "format" ];
17
18 prePatch = ''
19 substituteInPlace ./Makefile --replace /lib/modules/ "${kernel.dev}/lib/modules/"
20 substituteInPlace ./Makefile --replace /sbin/depmod \#
21 substituteInPlace ./Makefile --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
22 '';
23
24 makeFlags = kernel.makeFlags ++ [
25 "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
26 ("CONFIG_PLATFORM_I386_PC=" + (if (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isx86_64) then "y" else "n"))
27 ("CONFIG_PLATFORM_ARM_RPI=" + (if stdenv.hostPlatform.isAarch then "y" else "n"))
28 ];
29
30 preInstall = ''
31 mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
32 '';
33
34 postInstall = ''
35 nuke-refs $out/lib/modules/*/kernel/net/wireless/*.ko
36 '';
37
38 meta = with lib; {
39 description = "Driver for Realtek rtl8189es";
40 homepage = "https://github.com/jwrdegoede/rtl8189ES_linux";
41 license = licenses.gpl2;
42 platforms = platforms.linux;
43 maintainers = with maintainers; [ danielfullmer lheckemann ];
44 };
45}