xpra: 5.0.9 -> 6.1.2 (#332295)

This commit is contained in:
Emily 2024-10-03 22:38:00 +01:00 committed by GitHub
commit 8532c03b61
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 23 additions and 61 deletions

View File

@ -1,6 +1,5 @@
{ lib
, fetchFromGitHub
, substituteAll
, pkg-config
, runCommand
, writeText
@ -38,6 +37,7 @@
, xdg-utils
, xorg
, xorgserver
, xxHash
}:
let
@ -70,20 +70,16 @@ let
'';
in buildPythonApplication rec {
pname = "xpra";
version = "5.0.9";
version = "6.1.2";
src = fetchFromGitHub {
owner = "Xpra-org";
repo = "xpra";
rev = "v${version}";
hash = "sha256-gwo5plCAryGC8/BKVEqyMkgB+3FM8HXG6sESomDOtNM=";
hash = "sha256-SmX0zwScyosiidBdW18vP3tV7BJfYfOmXwuRUbb+gX8=";
};
patches = [
(substituteAll { # correct hardcoded paths
src = ./fix-paths.patch;
inherit libfakeXinerama;
})
./fix-41106.patch # https://github.com/NixOS/nixpkgs/issues/41106
./fix-122159.patch # https://github.com/NixOS/nixpkgs/issues/122159
];
@ -137,6 +133,7 @@ in buildPythonApplication rec {
pango
x264
x265
xxHash
] ++ lib.optional withNvenc nvencHeaders;
propagatedBuildInputs = with python3.pkgs; ([

View File

@ -1,16 +1,18 @@
diff --git a/xpra/scripts/main.py b/xpra/scripts/main.py
index 58c8bf6464..36f4b3cd3d 100755
index 7806612e05..4c7a0ec2dd 100755
--- a/xpra/scripts/main.py
+++ b/xpra/scripts/main.py
@@ -389,11 +389,7 @@ def run_mode(script_file:str, cmdline, error_cb, options, args, mode:str, defaul
"seamless", "desktop", "shadow", "shadow-screen", "expand",
"upgrade", "upgrade-seamless", "upgrade-desktop",
) and not display_is_remote and use_systemd_run(options.systemd_run):
- #make sure we run via the same interpreter,
- #inject it into the command line if we have to:
@@ -444,13 +444,7 @@ def run_mode(script_file: str, cmdline, error_cb, options, args, full_mode: str,
"seamless", "desktop", "shadow", "shadow-screen", "expand",
"upgrade", "upgrade-seamless", "upgrade-desktop",
) and not display_is_remote and options.daemon and use_systemd_run(options.systemd_run):
- # make sure we run via the same interpreter,
- # inject it into the command line if we have to:
argv = list(cmdline)
- if argv[0].find("python")<0:
- argv.insert(0, "python%i.%i" % (sys.version_info.major, sys.version_info.minor))
return systemd_run_wrap(mode, argv, options.systemd_run_args, user=getuid()!=0)
- if argv[0].find("python") < 0:
- major, minor = sys.version_info.major, sys.version_info.minor
- python = which("python%i.%i" % (major, minor)) or which("python%i" % major) or which("python") or "python"
- argv.insert(0, python)
return systemd_run_wrap(mode, argv, options.systemd_run_args, user=getuid() != 0)
configure_env(options.env)
configure_logging(options, mode)

View File

@ -1,11 +1,11 @@
diff --git a/xpra/server/server_util.py b/xpra/server/server_util.py
index 2e83712bb8..2dd0bf73d2 100644
--- a/xpra/server/server_util.py
+++ b/xpra/server/server_util.py
@@ -166,6 +166,10 @@ def xpra_env_shell_script(socket_dir, env : Dict[str,str]) -> str:
return "\n".join(script)
diff --git a/xpra/server/util.py b/xpra/server/util.py
index 401a9fb959..678e2ce745 100644
--- a/xpra/server/util.py
+++ b/xpra/server/util.py
@@ -175,6 +175,10 @@ def xpra_env_shell_script(socket_dir: str, env: dict[str, str]) -> str:
def xpra_runner_shell_script(xpra_file:str, starting_dir:str) -> str:
def xpra_runner_shell_script(xpra_file: str, starting_dir: str) -> str:
+ # Nixpkgs contortion:
+ # xpra_file points to a shell wrapper, not to the python script.
+ dirname, basename = os.path.split(xpra_file)

View File

@ -1,37 +0,0 @@
diff --git a/xpra/x11/fakeXinerama.py b/xpra/x11/fakeXinerama.py
index a5289e0e43..527cdf90c9 100755
--- a/xpra/x11/fakeXinerama.py
+++ b/xpra/x11/fakeXinerama.py
@@ -23,31 +23,7 @@ fakeXinerama_config_files = [
]
def find_libfakeXinerama():
- libname = "fakeXinerama"
- try:
- from ctypes.util import find_library
- flibname = find_library("fakeXinerama")
- if flibname:
- libname = flibname
- except Exception:
- pass
- if POSIX:
- for lib_dir in os.environ.get("LD_LIBRARY_PATH", "/usr/lib").split(os.pathsep):
- lib_path = os.path.join(lib_dir, libname)
- if not os.path.exists(lib_dir):
- continue
- if os.path.exists(lib_path) and os.path.isfile(lib_path):
- return lib_path
- if LINUX:
- try:
- libpath = find_lib_ldconfig("fakeXinerama")
- if libpath:
- return libpath
- except Exception as e:
- log("find_libfakeXinerama()", exc_info=True)
- log.error("Error: cannot launch ldconfig -p to locate libfakeXinerama:")
- log.estr(e)
- return find_lib("libfakeXinerama.so.1")
+ return "@libfakeXinerama@/lib/libfakeXinerama.so.1.0"
current_xinerama_config = None