Merge pull request #179401 from rski/autorandr-warning

autorandr: Fix distutils import warning
This commit is contained in:
Sebastián Mancilla 2022-08-14 22:11:13 -04:00 committed by GitHub
commit 81b0ee04bb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 39 additions and 5 deletions

View file

@ -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

View file

@ -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 = ''