nixpkgs/pkgs/tools/misc/autorandr/0001-don-t-use-sys.executable.patch
Romanos Skiadas d7956c52e1 autorandr: WIP Fix distutils import warning
Because autorandr still imports distutils, it produces a bunch of
deprecation warnings. we need to add packaging to propagatedBuildInputs,
but because this wasn't wrapped, the wrapper hook did not take care of
adjusting the system path.

The easiest way I could find to fix this was to actually wrap
autorandr. Then I also had to add a patch to disable autorandr
using sys.executable to fork itself in --batch mode. Otherwise it tries to use
python to run the bash wrapper, which doesn't work. This should be
fine in a nixpkgs environment, since nixpkgs sets the shebang explicitly.
2022-06-29 21:30:03 +03:00

33 lines
1.2 KiB
Diff

From fdcc2f01441ec25104456022e6f8d3120709cede Mon Sep 17 00:00:00 2001
From: Romanos Skiadas <rom.skiad@gmail.com>
Date: Tue, 28 Jun 2022 06:16:10 +0300
Subject: [PATCH] don't use sys.executable
This is required for forking self in a nixpkgs environment,
where arandr might be wrapped. In that case, the actual arandr command
will be a bash script, not python.
There is no real reason to keep this around, nixpkgs properly sets the
interpreter in the shebang anyway.
---
autorandr.py | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git autorandr.py autorandr.py
index 35c15f6..1e84a2f 100755
--- a/autorandr.py
+++ b/autorandr.py
@@ -1192,10 +1192,7 @@ def dispatch_call_to_sessions(argv):
os.chdir(pwent.pw_dir)
os.environ.clear()
os.environ.update(process_environ)
- if sys.executable != "" and sys.executable != None:
- os.execl(sys.executable, sys.executable, autorandr_binary, *argv[1:])
- else:
- os.execl(autorandr_binary, autorandr_binary, *argv[1:])
+ os.execl(autorandr_binary, autorandr_binary, *argv[1:])
sys.exit(1)
os.waitpid(child_pid, 0)
--
2.36.1