diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix index 0d989fccb02c..39731d2ce43b 100644 --- a/pkgs/tools/X11/xpra/default.nix +++ b/pkgs/tools/X11/xpra/default.nix @@ -41,6 +41,7 @@ in buildPythonApplication rec { (substituteAll { src = ./fix-paths.patch; inherit (xorg) xkeyboardconfig; + inherit libfakeXinerama; }) ./fix-41106.patch ]; diff --git a/pkgs/tools/X11/xpra/fix-paths.patch b/pkgs/tools/X11/xpra/fix-paths.patch index a934e5e4cc33..59b6e7ee57ad 100644 --- a/pkgs/tools/X11/xpra/fix-paths.patch +++ b/pkgs/tools/X11/xpra/fix-paths.patch @@ -29,3 +29,40 @@ index bd7023d..064c6b5 100644 ################################### # Headers, python magic +diff --git a/xpra/x11/fakeXinerama.py b/xpra/x11/fakeXinerama.py +index c867258..617af7c 100755 +--- a/xpra/x11/fakeXinerama.py ++++ b/xpra/x11/fakeXinerama.py +@@ -22,31 +22,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.error(" %s", e) +- return find_lib(libname) ++ return "@libfakeXinerama@/lib/libfakeXinerama.so.1.0" + + current_xinerama_config = None +