1{
2 lib,
3 buildPythonPackage,
4 daemonize,
5 dbus-python,
6 fetchFromGitHub,
7 gobject-introspection,
8 gtk3,
9 makeWrapper,
10 pygobject3,
11 pyudev,
12 setproctitle,
13 setuptools,
14 wrapGAppsHook3,
15 notify2,
16}:
17
18let
19 common = import ./common.nix { inherit lib fetchFromGitHub; };
20in
21buildPythonPackage (
22 common
23 // {
24 pname = "openrazer-daemon";
25
26 outputs = [
27 "out"
28 "man"
29 ];
30
31 sourceRoot = "${common.src.name}/daemon";
32
33 postPatch = ''
34 substituteInPlace openrazer_daemon/daemon.py \
35 --replace-fail "plugdev" "openrazer"
36 '';
37
38 nativeBuildInputs = [ setuptools ];
39
40 propagatedBuildInputs = [
41 daemonize
42 dbus-python
43 gobject-introspection
44 gtk3
45 pygobject3
46 pyudev
47 setproctitle
48 notify2
49 ];
50
51 postInstall = ''
52 DESTDIR="$out" PREFIX="" make manpages install-resources install-systemd
53 '';
54
55 # no tests run
56 doCheck = false;
57
58 meta = common.meta // {
59 description = "An entirely open source user-space daemon that allows you to manage your Razer peripherals on GNU/Linux";
60 mainProgram = "openrazer-daemon";
61 };
62 }
63)