57 lines
1.4 KiB
Nix
57 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;
|
|
};
|
|
}
|