From 3147a7104d15d978515caad171e38ad8c5fae61b Mon Sep 17 00:00:00 2001 From: Matt Votava Date: Fri, 21 May 2021 02:49:59 -0700 Subject: [PATCH] xpra: 4.1.3 -> 4.2 Add librsvg for icon resizing --- pkgs/tools/X11/xpra/default.nix | 28 +++++++++++++++++++--------- pkgs/tools/X11/xpra/fix-paths.patch | 13 ------------- 2 files changed, 19 insertions(+), 22 deletions(-) diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix index be1a6080a231..8fd0cf016bf4 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 70bd9027a1a8..b5a58bb03f84 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