1{
2 lib,
3 stdenv,
4 kernel,
5 fetchFromGitHub,
6}:
7
8stdenv.mkDerivation rec {
9 pname = "new-lg4ff";
10 version = "0.5.0";
11
12 src = fetchFromGitHub {
13 owner = "berarma";
14 repo = "new-lg4ff";
15 tag = "v${version}";
16 sha256 = "sha256-nh5J89S3z0odzh2fDsAVVY1X6lr4ZUwoyu3UVOYQiq8=";
17 };
18
19 preBuild = ''
20 substituteInPlace Makefile --replace-fail "modules_install" "INSTALL_MOD_PATH=$out modules_install"
21 sed -i '/depmod/d' Makefile
22 sed -i "10i\\\trmmod hid-logitech 2> /dev/null || true" Makefile
23 sed -i "11i\\\trmmod hid-logitech-new 2> /dev/null || true" Makefile
24 '';
25
26 nativeBuildInputs = kernel.moduleBuildDependencies;
27
28 preConfigure = ''
29 makeFlagsArray+=(
30 KVERSION="${kernel.modDirVersion}"
31 KDIR="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
32 KCFLAGS="-DCONFIG_LOGIWHEELS_FF -DCONFIG_LEDS_CLASS"
33 )
34 '';
35
36 meta = {
37 description = "Experimental Logitech force feedback module for Linux";
38 homepage = "https://github.com/berarma/new-lg4ff";
39 license = lib.licenses.gpl2Only;
40 maintainers = with lib.maintainers; [
41 amadejkastelic
42 matthiasbenaets
43 ];
44 platforms = lib.platforms.linux;
45 broken = stdenv.hostPlatform.isAarch64;
46 };
47}