Change:
Package name: Latest released version: <!-- Search your package here: --- Current version on the unstable channel: Current version on the stable/release channel: <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. -- Note for maintainers: Please tag this issue in your PR. Priorities Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
I've got a branch that would close this issue and update xpra to 5.0.3, the UI currently works as expected and a connection over SSH is possible however I've encountered an issue running and . The error output is similar to what can be found in some other python applications. I'll look into patching this and see if I can push this further.

Discussion:
{ lib <del> , fetchurl </del> <ins> , fetchFromGitHub </ins> , substituteAll , pkg-config , runCommand

''; in buildPythonApplication rec { pname = "xpra"; <del> version = "4.4.6"; </del> <ins> version = "5.0.9"; </ins> <del> src = fetchurl { url = "https://xpra.org/src/${pname}-${version}.tar.xz"; hash = "sha256-BWf3nypfSrYCzpJ0OfBkecoHGbG1lEgu5jLZhfkIejQ="; </del> <ins> src = fetchFromGitHub { owner = "Xpra-org"; repo = "xpra"; rev = "v${version}"; hash = "sha256-gwo5plCAryGC8/BKVEqyMkgB+3FM8HXG6sESomDOtNM="; </ins> }; patches = [

./fix-122159.patch # https://github.com/NixOS/nixpkgs/issues/122159 ]; <del> # Note: xposix is renamed to posix in v5. </del> postPatch = lib.optionalString stdenv.isLinux '' <del> substituteInPlace xpra/platform/xposix/features.py  </del> <ins> substituteInPlace xpra/platform/posix/features.py  </ins> --replace-fail "/usr/bin/xdg-open" "${xdg-utils}/bin/xdg-open" '';

diff --git a/xpra/scripts/main.py b/xpra/scripts/main.py <del> index 031a41f9e..6232ba830 100755 </del> <ins> index 58c8bf6464..36f4b3cd3d 100755 </ins> --- a/xpra/scripts/main.py +++ b/xpra/scripts/main.py <del> @@ -377,11 +377,7 @@ def run_mode(script_file, cmdline, error_cb, options, args, mode, defaults): "seamless", "desktop", "shadow", "expand", </del> <ins> @@ -389,11 +389,7 @@ def run_mode(script_file:str, cmdline, error_cb, options, args, mode:str, defaul "seamless", "desktop", "shadow", "shadow-screen", "expand", </ins> "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,

argv = list(cmdline) -        if argv[0].find("python")<0: -            argv.insert(0, "python%i.%i" % (sys.version_info.major, sys.version_info.minor)) <del> return systemd_run_wrap(mode, argv, options.systemd_run_args) </del> <ins> return systemd_run_wrap(mode, argv, options.systemd_run_args, user=getuid()!=0) </ins> configure_env(options.env) configure_logging(options, mode)

diff --git a/xpra/server/server_util.py b/xpra/server/server_util.py <del> index f46998ee9f..60068f21b6 100644 </del> <ins> index 2e83712bb8..2dd0bf73d2 100644 </ins> --- a/xpra/server/server_util.py +++ b/xpra/server/server_util.py <del> @@ -157,6 +157,10 @@ def xpra_env_shell_script(socket_dir, env): return b"n".join(script) </del> <ins> @@ -166,6 +166,10 @@ def xpra_env_shell_script(socket_dir, env : Dict[str,str]) -> str: return "n".join(script) </ins> <del> def xpra_runner_shell_script(xpra_file, starting_dir): </del> <ins> def xpra_runner_shell_script(xpra_file:str, starting_dir:str) -> str: </ins> +    # Nixpkgs contortion: +    # xpra_file points to a shell wrapper, not to the python script. +    dirname, basename = os.path.split(xpra_file) +    xpra_file = os.path.join(dirname, "."+basename+"-wrapped") <del> script = [] </del> # We ignore failures in cd'ing, b/c it's entirely possible that we were # started from some temporary directory and all paths are absolute. <ins> qdir = sh_quotemeta(starting_dir) </ins>

diff --git a/xpra/x11/fakeXinerama.py b/xpra/x11/fakeXinerama.py <del> index d5c1c8bb10..88c77e8142 100755 </del> <ins> index a5289e0e43..527cdf90c9 100755 </ins> --- a/xpra/x11/fakeXinerama.py +++ b/xpra/x11/fakeXinerama.py <del> @@ -22,31 +22,7 @@ fakeXinerama_config_files = [ </del> <ins> @@ -23,31 +23,7 @@ fakeXinerama_config_files = [ </ins> ] def find_libfakeXinerama():

-        except Exception as e: -            log("find_libfakeXinerama()", exc_info=True) -            log.error("Error: cannot launch ldconfig -p to locate libfakeXinerama:") <del> -            log.error(" %s", e) </del> <ins> -            log.estr(e) </ins> -    return find_lib("libfakeXinerama.so.1") +    return "@libfakeXinerama@/lib/libfakeXinerama.so.1.0"