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