1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 evdev,
6 pyudev,
7}:
8
9buildPythonPackage rec {
10 pname = "persistent-evdev";
11 version = "unstable-2022-05-07";
12 format = "other";
13
14 src = fetchFromGitHub {
15 owner = "aiberia";
16 repo = pname;
17 rev = "52bf246464e09ef4e6f2e1877feccc7b9feba164";
18 sha256 = "d0i6DL/qgDELet4ew2lyVqzd9TApivRxL3zA3dcsQXY=";
19 };
20
21 propagatedBuildInputs = [
22 evdev
23 pyudev
24 ];
25
26 postPatch = ''
27 patchShebangs bin/persistent-evdev.py
28 '';
29
30 dontBuild = true;
31
32 installPhase = ''
33 mkdir -p $out/bin
34 cp bin/persistent-evdev.py $out/bin
35
36 mkdir -p $out/etc/udev/rules.d
37 cp udev/60-persistent-input-uinput.rules $out/etc/udev/rules.d
38 '';
39
40 # has no tests
41 doCheck = false;
42
43 meta = with lib; {
44 homepage = "https://github.com/aiberia/persistent-evdev";
45 description = "Persistent virtual input devices for qemu/libvirt/evdev hotplug support";
46 license = licenses.mit;
47 maintainers = [ maintainers.lodi ];
48 platforms = platforms.linux;
49 mainProgram = "persistent-evdev.py";
50 };
51}