about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2021-05-22 15:41:39 +0200
committerGitHub <noreply@github.com>2021-05-22 15:41:39 +0200
commitcc26a61f3784b86d0bf124b24cf5e106cdde89e9 (patch)
treefa389a8c220303937bdcbdd8b62068f2e06303b7
parentde833537c1a60d50a727a43e943795b4a609c9eb (diff)
parent3147a7104d15d978515caad171e38ad8c5fae61b (diff)
Merge pull request #123901 from mvnetbiz/update-xpra
-rw-r--r--pkgs/tools/X11/xpra/default.nix28
-rw-r--r--pkgs/tools/X11/xpra/fix-paths.patch13
2 files changed, 19 insertions, 22 deletions
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index be1a6080a2316..8fd0cf016bf4a 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -1,7 +1,10 @@
-{ lib, fetchurl, substituteAll, python3, pkg-config, writeText
+{ lib
+, fetchurl
+, fetchpatch
+, substituteAll, python3, pkg-config, writeText
 , xorg, gtk3, glib, pango, cairo, gdk-pixbuf, atk, pandoc
 , wrapGAppsHook, xorgserver, getopt, xauth, util-linux, which
-, ffmpeg, x264, libvpx, libwebp, x265
+, ffmpeg, x264, libvpx, libwebp, x265, librsvg
 , libfakeXinerama
 , gst_all_1, pulseaudio, gobject-introspection
 , pam }:
@@ -33,20 +36,24 @@ let
 
 in buildPythonApplication rec {
   pname = "xpra";
-  version = "4.1.3";
+  version = "4.2";
 
   src = fetchurl {
     url = "https://xpra.org/src/${pname}-${version}.tar.gz";
-    sha256 = "TesmPRmfWy+IqqxoNFd04oX/b2ryGreZPeh2r4sL8JQ=";
+    hash = "sha256-KkQw4FJeH4G5jZ4GdP3aXZ3zxu4GALbiOI6POKJW6fk=";
   };
 
   patches = [
     (substituteAll {  # correct hardcoded paths
       src = ./fix-paths.patch;
-      inherit (xorg) xkeyboardconfig;
       inherit libfakeXinerama;
     })
     ./fix-41106.patch  # https://github.com/NixOS/nixpkgs/issues/41106
+    # Xorg won't start without. Remove on next version!
+    (fetchpatch {
+      url = "https://github.com/Xpra-org/xpra/commit/f9f242abad69363dfa558e1f6f7956ae99164b67.patch";
+      sha256 = "sha256-TOP9RuXPuqxyKY/7LSSrCWnAmJstEE+D5EwjMiVmchM=";
+    })
   ];
 
   postPatch = ''
@@ -60,6 +67,7 @@ in buildPythonApplication rec {
     libXrandr libxkbfile
     ] ++ [
     cython
+    librsvg
 
     pango cairo gdk-pixbuf atk.out gtk3 glib
 
@@ -78,7 +86,7 @@ in buildPythonApplication rec {
     pillow rencode pycrypto cryptography pycups lz4 dbus-python
     netifaces numpy pygobject3 pycairo gst-python pam
     pyopengl paramiko opencv4 python-uinput pyxdg
-    ipaddress idna
+    ipaddress idna pyinotify
   ];
 
     # error: 'import_cairo' defined but not used
@@ -86,6 +94,7 @@ in buildPythonApplication rec {
 
   setupPyBuildFlags = [
     "--with-Xdummy"
+    "--without-Xdummy_wrapper"
     "--without-strict"
     "--with-gtk3"
     # Override these, setup.py checks for headers in /usr/* paths
@@ -99,6 +108,7 @@ in buildPythonApplication rec {
       "''${gappsWrapperArgs[@]}"
       --set XPRA_INSTALL_PREFIX "$out"
       --set XPRA_COMMAND "$out/bin/xpra"
+      --set XPRA_XKB_CONFIG_ROOT "${xorg.xkeyboardconfig}/share/X11/xkb"
       --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib
       --prefix PATH : ${lib.makeBinPath [ getopt xorgserver xauth which util-linux pulseaudio ]}
     )
@@ -119,12 +129,12 @@ in buildPythonApplication rec {
   };
 
   meta = {
-    homepage = "http://xpra.org/";
+    homepage = "https://xpra.org/";
     downloadPage = "https://xpra.org/src/";
-    downloadURLRegexp = "xpra-.*[.]tar[.]xz$";
+    downloadURLRegexp = "xpra-.*[.]tar[.][gx]z$";
     description = "Persistent remote applications for X";
     platforms = platforms.linux;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ tstrobel offline numinit ];
+    maintainers = with maintainers; [ tstrobel offline numinit mvnetbiz ];
   };
 }
diff --git a/pkgs/tools/X11/xpra/fix-paths.patch b/pkgs/tools/X11/xpra/fix-paths.patch
index 70bd9027a1a80..b5a58bb03f84b 100644
--- a/pkgs/tools/X11/xpra/fix-paths.patch
+++ b/pkgs/tools/X11/xpra/fix-paths.patch
@@ -16,19 +16,6 @@ index f962330..b02b6dd 100755
              f.write(b"DEF ENABLE_DEVICE_CAPS=%i" % ENABLE_DEVICE_CAPS)
      cython_add(Extension("xpra.codecs.v4l2.pusher",
      
-diff --git a/xpra/x11/bindings/keyboard_bindings.pyx b/xpra/x11/bindings/keyboard_bindings.pyx
-index bd7023d..064c6b5 100644
---- a/xpra/x11/bindings/keyboard_bindings.pyx
-+++ b/xpra/x11/bindings/keyboard_bindings.pyx
-@@ -21,7 +21,7 @@ from libc.stdlib cimport free, malloc
-
- DEF PATH_MAX = 1024
- DEF DFLT_XKB_RULES_FILE = b"base"
--DEF DFLT_XKB_CONFIG_ROOT = b"/usr/share/X11/xkb"
-+DEF DFLT_XKB_CONFIG_ROOT = b"@xkeyboardconfig@/share/X11/xkb"
-
- ###################################
- # Headers, python magic
 diff --git a/xpra/x11/fakeXinerama.py b/xpra/x11/fakeXinerama.py
 index c867258..617af7c 100755
 --- a/xpra/x11/fakeXinerama.py