1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 kernel,
6 kernelModuleMakeFlags,
7 kmod,
8}:
9
10let
11 kerneldir = "lib/modules/${kernel.modDirVersion}";
12in
13stdenv.mkDerivation rec {
14 pname = "gcadapter-oc-kmod";
15 version = "unstable-2021-12-11";
16
17 src = fetchFromGitHub {
18 owner = "HannesMann";
19 repo = pname;
20 rev = "d4ddf15deb74c51dbdfc814d481ef127c371f444";
21 sha256 = "sha256-bHA1611rcO8/d48b1CHsiurEt3/n+5WErtHXAU7Eh1o=";
22 };
23
24 nativeBuildInputs = kernel.moduleBuildDependencies;
25
26 makeFlags = kernelModuleMakeFlags ++ [
27 "KERNEL_SOURCE_DIR=${kernel.dev}/${kerneldir}/build"
28 "INSTALL_MOD_PATH=$(out)"
29 ];
30
31 installPhase = ''
32 install -D {,$out/${kerneldir}/extra/}gcadapter_oc.ko
33 '';
34
35 meta = with lib; {
36 description = "Kernel module for overclocking the Nintendo Wii U/Mayflash GameCube adapter";
37 homepage = "https://github.com/HannesMann/gcadapter-oc-kmod";
38 license = licenses.gpl2Only;
39 maintainers = with maintainers; [ r-burns ];
40 platforms = platforms.linux;
41 };
42}