1{ lib, stdenv, fetchFromGitHub, kernel }:
2
3stdenv.mkDerivation rec {
4 pname = "digimend";
5 version = "unstable-2023-05-03";
6
7 src = fetchFromGitHub {
8 owner = "digimend";
9 repo = "digimend-kernel-drivers";
10 rev = "eca6e1b701bffb80a293234a485ebf6b4bc85562";
11 hash = "sha256-0mjIUgHvbNcVQVzU3xzaloe5R41a4eknDhdhruJH+6c=";
12 };
13
14 postPatch = ''
15 sed 's/udevadm /true /' -i Makefile
16 sed 's/depmod /true /' -i Makefile
17 '';
18
19 # Fix build on Linux kernel >= 5.18
20 env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=implicit-fallthrough" ];
21
22 nativeBuildInputs = kernel.moduleBuildDependencies;
23
24 postInstall = ''
25 # Remove module reload hack.
26 # The hid-rebind unloads and then reloads the hid-* module to ensure that
27 # the extra/ module is loaded.
28 rm -r $out/lib/udev
29 '';
30
31 makeFlags = kernel.makeFlags ++ [
32 "KVERSION=${kernel.modDirVersion}"
33 "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
34 "DESTDIR=${placeholder "out"}"
35 "INSTALL_MOD_PATH=${placeholder "out"}"
36 ];
37
38 meta = with lib; {
39 description = "DIGImend graphics tablet drivers for the Linux kernel";
40 homepage = "https://digimend.github.io/";
41 license = licenses.gpl2;
42 maintainers = with maintainers; [ gebner ];
43 platforms = platforms.linux;
44 };
45}