From 35e0d351136e98a935cca2340fe547cfc960b7f1 Mon Sep 17 00:00:00 2001
From: Nikita Uvarov <uv.nikita@gmail.com>
Date: Mon, 5 Oct 2020 23:45:13 +0200
Subject: [PATCH] caffeine-ng: add missing dependencies, fix bin paths

---
 pkgs/tools/X11/caffeine-ng/default.nix | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/pkgs/tools/X11/caffeine-ng/default.nix b/pkgs/tools/X11/caffeine-ng/default.nix
index c161a7c7737..4f709ee9db0 100644
--- a/pkgs/tools/X11/caffeine-ng/default.nix
+++ b/pkgs/tools/X11/caffeine-ng/default.nix
@@ -1,5 +1,5 @@
 { gdk-pixbuf, glib, gobject-introspection, gtk3, lib, libnotify,
-  python3Packages, wrapGAppsHook
+  procps, xset, xautolock, xscreensaver, python3Packages, wrapGAppsHook
 }:
 
 python3Packages.buildPythonApplication rec {
@@ -12,17 +12,25 @@ python3Packages.buildPythonApplication rec {
   };
 
   nativeBuildInputs = [ wrapGAppsHook glib ];
-  buildInputs = [ 
-    gdk-pixbuf gobject-introspection libnotify gtk3 
+  buildInputs = [
+    gdk-pixbuf gobject-introspection libnotify gtk3
     python3Packages.setuptools_scm
   ];
   pythonPath = with python3Packages; [
     dbus-python docopt ewmh pygobject3 pyxdg
-    setproctitle 
+    setproctitle
   ];
 
   doCheck = false; # There are no tests.
 
+  postPatch = ''
+    substituteInPlace caffeine/inhibitors.py \
+      --replace 'os.system("xset' 'os.system("${xset}/bin/xset' \
+      --replace 'os.system("xautolock' 'os.system("${xautolock}/bin/xautolock' \
+      --replace 'os.system("pgrep' 'os.system("${procps}/bin/pgrep' \
+      --replace 'os.system("xscreensaver-command' 'os.system("${xscreensaver}/bin/xscreensaver-command'
+  '';
+
   postInstall = ''
     mkdir -p $out/share
     cp -r share $out/