python312Packages.pyvirtualdisplay: modernize, enable tests on linux

This commit is contained in:
Martin Weinelt
2024-10-26 18:39:05 +02:00
parent d7830d9e11
commit c00b953741
2 changed files with 74 additions and 5 deletions
@@ -1,16 +1,28 @@
{
lib,
stdenv,
buildPythonPackage,
fetchPypi,
substituteAll,
xorg,
# build-system
setuptools,
# tests
easyprocess,
entrypoint2,
pillow,
psutil,
pytest-xdist,
pytestCheckHook,
vncdo,
}:
buildPythonPackage rec {
pname = "pyvirtualdisplay";
version = "3.0";
format = "setuptools";
propagatedBuildInputs = [ easyprocess ];
pyproject = true;
src = fetchPypi {
pname = "PyVirtualDisplay";
@@ -18,8 +30,30 @@ buildPythonPackage rec {
hash = "sha256-CXVbw86263JfsH7KVCX0PyNY078I4A0qm3kqGu3RYVk=";
};
# requires X server
doCheck = false;
patches = lib.optionals stdenv.isLinux [
(substituteAll {
src = ./paths.patch;
xauth = lib.getExe xorg.xauth;
xdpyinfo = lib.getExe xorg.xdpyinfo;
})
];
build-system = [ setuptools ];
doCheck = stdenv.isLinux;
nativeCheckInputs = [
easyprocess
entrypoint2
pillow
psutil
pytest-xdist
pytestCheckHook
(vncdo.overridePythonAttrs { doCheck = false; })
xorg.xorgserver
xorg.xmessage
xorg.xvfb
];
meta = with lib; {
description = "Python wrapper for Xvfb, Xephyr and Xvnc";
@@ -0,0 +1,35 @@
diff --git a/pyvirtualdisplay/abstractdisplay.py b/pyvirtualdisplay/abstractdisplay.py
index dd93943..c694209 100644
--- a/pyvirtualdisplay/abstractdisplay.py
+++ b/pyvirtualdisplay/abstractdisplay.py
@@ -242,7 +242,7 @@ class AbstractDisplay(object):
try:
xdpyinfo = subprocess.Popen(
- ["xdpyinfo"],
+ ["@xdpyinfo@"],
env=self._env(),
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
diff --git a/pyvirtualdisplay/xauth.py b/pyvirtualdisplay/xauth.py
index ce0f804..7734e21 100644
--- a/pyvirtualdisplay/xauth.py
+++ b/pyvirtualdisplay/xauth.py
@@ -14,7 +14,7 @@ def is_installed():
"""
try:
xauth = subprocess.Popen(
- ["xauth", "-V"],
+ ["@xauth@", "-V"],
# env=self._env(),
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
@@ -43,7 +43,7 @@ def call(*args):
Call xauth with the given args.
"""
xauth = subprocess.Popen(
- ["xauth"] + list(args),
+ ["@xauth@"] + list(args),
# env=self._env(),
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,