1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 kernel,
6 kernelModuleMakeFlags,
7}:
8
9stdenv.mkDerivation (finalAttrs: {
10 pname = "veikk-linux-driver";
11 version = "2.0";
12
13 src = fetchFromGitHub {
14 owner = "jlam55555";
15 repo = "veikk-linux-driver";
16 tag = "v${finalAttrs.version}";
17 sha256 = "sha256-Nn90s22yrynYFYLSlBN4aRvdISPsxBFr21yiohs5r4Y=";
18 };
19
20 patches = [ ./fix-6.12-build.patch ];
21
22 nativeBuildInputs = kernel.moduleBuildDependencies;
23
24 buildInputs = [ kernel ];
25
26 makeFlags = kernelModuleMakeFlags ++ [
27 "BUILD_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
28 ];
29
30 installPhase = ''
31 runHook preInstall
32
33 mkdir -p $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/veikk
34 install -Dm755 veikk.ko $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/veikk
35
36 runHook postInstall
37 '';
38
39 meta = {
40 description = "Linux driver for VEIKK-brand digitizers";
41 homepage = "https://github.com/jlam55555/veikk-linux-driver/";
42 license = lib.licenses.gpl2Only;
43 platforms = lib.platforms.linux;
44 maintainers = with lib.maintainers; [ nicbk ];
45 broken = kernel.kernelOlder "4.19";
46 };
47})