mons: declare xrandr explicitly instead of using it from PATH

mons tries to detect if xrandr is installed in the PATH, failing
otherwise. However, this is not the way that packages are generally
packaged in nixpkgs.

This commit changes it to hardcode the path of xrandr explicitly instead
of depending of xrandr being declared in PATH.
This commit is contained in:
Thiago Kenji Okada 2021-02-27 18:21:04 -03:00
parent 3081bd0ca9
commit d79c466e99
2 changed files with 24 additions and 0 deletions

View file

@ -12,6 +12,16 @@ stdenv.mkDerivation rec {
fetchSubmodules = true;
};
patches = [
# Substitute xrandr path with @xrandr@ so we can replace it with
# real path in substituteInPlace
./xrandr.patch
];
postPatch = ''
substituteInPlace mons.sh --replace '@xrandr@' '${xrandr}/bin/xrandr'
'';
nativeBuildInputs = [ help2man ];
makeFlags = [
"DESTDIR=$(out)"

View file

@ -0,0 +1,14 @@
diff --git a/mons.sh b/mons.sh
index b86ce5c..feb0f33 100755
--- a/mons.sh
+++ b/mons.sh
@@ -151,8 +151,7 @@ main() {
# =============================
[ -z "$DISPLAY" ] && { echo 'DISPLAY: no variable set.'; exit 1; }
- command -vp xrandr >/dev/null 2>&1 || { echo 'xrandr: command not found.'; exit 1; }
- XRANDR="$(command -pv xrandr)"
+ XRANDR="@xrandr@"
# =============================
# Argument Checking