diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix index b33ca52146c..0d989fccb02 100644 --- a/pkgs/tools/X11/xpra/default.nix +++ b/pkgs/tools/X11/xpra/default.nix @@ -42,6 +42,7 @@ in buildPythonApplication rec { src = ./fix-paths.patch; inherit (xorg) xkeyboardconfig; }) + ./fix-41106.patch ]; postPatch = '' diff --git a/pkgs/tools/X11/xpra/fix-41106.patch b/pkgs/tools/X11/xpra/fix-41106.patch new file mode 100644 index 00000000000..06387c87154 --- /dev/null +++ b/pkgs/tools/X11/xpra/fix-41106.patch @@ -0,0 +1,15 @@ +diff --git a/xpra/server/server_util.py b/xpra/server/server_util.py +index 2ff2c0c..513201a 100644 +--- a/xpra/server/server_util.py ++++ b/xpra/server/server_util.py +@@ -17,6 +17,10 @@ if PYTHON3: + return b"'" + s.replace(b"'", b"'\\''") + b"'" + + def xpra_runner_shell_script(xpra_file, starting_dir, socket_dir): ++ # 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") + script = [] + script.append(b"#!/bin/sh\n") + for var, value in os.environb.items():