58 lines
1.4 KiB
Nix
58 lines
1.4 KiB
Nix
|
{ stdenv
|
||
|
, pkgs
|
||
|
, lib
|
||
|
, fetchFromGitHub
|
||
|
, kmod
|
||
|
, kernelPackages
|
||
|
, breakpointHook
|
||
|
,
|
||
|
}:
|
||
|
let
|
||
|
kernel = kernelPackages.kernel;
|
||
|
in
|
||
|
stdenv.mkDerivation rec {
|
||
|
name = "hid-fanatecff-${version}-${kernel.version}";
|
||
|
version = "0.1.2";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "gotzl";
|
||
|
repo = "hid-fanatecff";
|
||
|
rev = version;
|
||
|
sha256 = "sha256-twDbjX0p/A18L2x7eS2hyneuQq7rLMxTBT/GfTdweAE=";
|
||
|
};
|
||
|
|
||
|
sourceRoot = "source";
|
||
|
hardeningDisable = [ "pic" "format" ];
|
||
|
nativeBuildInputs =
|
||
|
kernel.moduleBuildDependencies
|
||
|
++ [
|
||
|
pkgs.linuxConsoleTools
|
||
|
];
|
||
|
|
||
|
makeFlags = [
|
||
|
"KVERSION=${kernel.modDirVersion}"
|
||
|
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
||
|
"MODULEDIR=$(out)/lib/modules/${kernel.modDirVersion}"
|
||
|
];
|
||
|
|
||
|
preInstallPhase = ''
|
||
|
sed -i '/fanatec.rules/d' Makefile
|
||
|
sed -i '/depmod/d' Makefile
|
||
|
mkdir -p $out/lib/modules/${kernel.modDirVersion}
|
||
|
'';
|
||
|
postPhase = ''
|
||
|
substituteInPlace fanatec.rules --replace /usr/bin/evdev-joystick ${pkgs.linuxConsoleTools}/bin/evdev-joystick
|
||
|
mkdir -p $out/lib/udev/rules.d
|
||
|
cp fanatec.rules $out/lib/udev/rules.d/99-fanatec.rules
|
||
|
'';
|
||
|
preInstallPhases = [ "preInstallPhase" ];
|
||
|
postPhases = [ "postPhase" ];
|
||
|
|
||
|
meta = with lib; {
|
||
|
description = "A kernel module that provides support for fanatec wheels and pedals";
|
||
|
homepage = "https://github.com/gotzl/hid-fanatecff";
|
||
|
license = licenses.gpl2;
|
||
|
platforms = platforms.linux;
|
||
|
};
|
||
|
}
|