1{
2 lib,
3 fetchFromGitHub,
4 buildPythonPackage,
5 evdev,
6 pyudev,
7 bluez,
8 setuptools,
9}:
10
11buildPythonPackage rec {
12 pname = "ds4drv";
13 version = "0.5.1";
14
15 pyproject = true;
16 build-system = [ setuptools ];
17
18 # PyPi only carries py3 wheel
19 src = fetchFromGitHub {
20 owner = "chrippa";
21 repo = "ds4drv";
22 rev = "v${version}";
23 sha256 = "0vinpla0apizzykcyfis79mrm1i6fhns83nkzw85svypdhkx2g8v";
24 };
25
26 postPatch = ''
27 substituteInPlace ds4drv/config.py \
28 --replace-fail SafeConfigParser ConfigParser
29 '';
30
31 dependencies = [
32 evdev
33 pyudev
34 ];
35
36 buildInputs = [ bluez ];
37
38 meta = {
39 description = "Userspace driver for the DualShock 4 controller";
40 mainProgram = "ds4drv";
41 homepage = "https://github.com/chrippa/ds4drv";
42 license = lib.licenses.mit;
43 };
44}