1{ lib, stdenv, fetchFromGitHub, kernel }:
2
3stdenv.mkDerivation rec {
4 pname = "digimend";
5 version = "10";
6
7 src = fetchFromGitHub {
8 owner = "digimend";
9 repo = "digimend-kernel-drivers";
10 rev = "v${version}";
11 sha256 = "0lifd6cx6aa6hcms4zn4hlla3alra08r0svj5x1l8nlsv0ydnl6i";
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 NIX_CFLAGS_COMPILE = [ "-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}