Merge pull request #179401 from rski/autorandr-warning
autorandr: Fix distutils import warning
This commit is contained in:
commit
81b0ee04bb
2 changed files with 39 additions and 5 deletions
|
@ -0,0 +1,33 @@
|
|||
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
|
||||
|
|
@ -1,25 +1,26 @@
|
|||
{ lib, stdenv
|
||||
{ lib
|
||||
, python3
|
||||
, python3Packages
|
||||
, fetchFromGitHub
|
||||
, systemd
|
||||
, xrandr
|
||||
, installShellFiles }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "autorandr";
|
||||
version = "1.12.1";
|
||||
|
||||
buildInputs = [ python3Packages.python ];
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
propagatedBuildInputs = [ python3Packages.packaging ];
|
||||
|
||||
# no wrapper, as autorandr --batch does os.environ.clear()
|
||||
buildPhase = ''
|
||||
substituteInPlace autorandr.py \
|
||||
--replace 'os.popen("xrandr' 'os.popen("${xrandr}/bin/xrandr' \
|
||||
--replace '["xrandr"]' '["${xrandr}/bin/xrandr"]'
|
||||
'';
|
||||
|
||||
patches = [ ./0001-don-t-use-sys.executable.patch ];
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
installPhase = ''
|
||||
|
|
Loading…
Reference in a new issue