2025-05-03 01:37:23 +02:00

82 lines
1.5 KiB
Nix

{
lib,
buildPythonPackage,
daemonize,
dbus-python,
fetchFromGitHub,
gobject-introspection,
gtk3,
pygobject3,
pyudev,
setproctitle,
setuptools,
wrapGAppsNoGuiHook,
notify2,
glib,
libnotify,
}:
let
common = import ./common.nix { inherit lib fetchFromGitHub; };
in
buildPythonPackage (
common
// {
pname = "openrazer-daemon";
outputs = [
"out"
"man"
];
sourceRoot = "${common.src.name}/daemon";
postPatch = ''
substituteInPlace openrazer_daemon/daemon.py \
--replace-fail "plugdev" "openrazer"
patchShebangs run_openrazer_daemon.py
substituteInPlace run_openrazer_daemon.py \
--replace-fail "/usr/share" "$out/share"
'';
nativeBuildInputs = [
setuptools
wrapGAppsNoGuiHook
gobject-introspection
];
buildInputs = [
glib
gtk3
];
dependencies = [
daemonize
dbus-python
pygobject3
pyudev
setproctitle
notify2
libnotify
];
postInstall = ''
DESTDIR="$out" PREFIX="" make manpages install-resources install-systemd
'';
# no tests run
doCheck = false;
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
meta = common.meta // {
description = "Entirely open source user-space daemon that allows you to manage your Razer peripherals on GNU/Linux";
mainProgram = "openrazer-daemon";
};
}
)