1{ 2 lib, 3 buildPythonPackage, 4 daemonize, 5 dbus-python, 6 fetchFromGitHub, 7 gobject-introspection, 8 gtk3, 9 pygobject3, 10 pyudev, 11 setproctitle, 12 setuptools, 13 wrapGAppsNoGuiHook, 14 notify2, 15 glib, 16 libnotify, 17}: 18 19let 20 common = import ./common.nix { inherit lib fetchFromGitHub; }; 21in 22buildPythonPackage ( 23 common 24 // { 25 pname = "openrazer-daemon"; 26 27 outputs = [ 28 "out" 29 "man" 30 ]; 31 32 sourceRoot = "${common.src.name}/daemon"; 33 34 postPatch = '' 35 substituteInPlace openrazer_daemon/daemon.py \ 36 --replace-fail "plugdev" "openrazer" 37 patchShebangs run_openrazer_daemon.py 38 substituteInPlace run_openrazer_daemon.py \ 39 --replace-fail "/usr/share" "$out/share" 40 ''; 41 42 nativeBuildInputs = [ 43 setuptools 44 wrapGAppsNoGuiHook 45 gobject-introspection 46 ]; 47 48 buildInputs = [ 49 glib 50 gtk3 51 ]; 52 53 dependencies = [ 54 daemonize 55 dbus-python 56 pygobject3 57 pyudev 58 setproctitle 59 notify2 60 libnotify 61 ]; 62 63 postInstall = '' 64 DESTDIR="$out" PREFIX="" make manpages install-resources install-systemd 65 ''; 66 67 # no tests run 68 doCheck = false; 69 70 dontWrapGApps = true; 71 72 preFixup = '' 73 makeWrapperArgs+=("''${gappsWrapperArgs[@]}") 74 ''; 75 76 meta = common.meta // { 77 description = "Entirely open source user-space daemon that allows you to manage your Razer peripherals on GNU/Linux"; 78 mainProgram = "openrazer-daemon"; 79 }; 80 } 81)