xpra: 4.3.2 -> 4.3.3 (#172682)

main
Matt Votava 2 years ago committed by GitHub
parent c1d195cc1f
commit 9abfef3f54
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 139
      pkgs/tools/X11/xpra/default.nix
  2. 16
      pkgs/tools/X11/xpra/fix-122159.patch

@ -1,13 +1,40 @@
{ lib
, fetchurl
, substituteAll, python3, pkg-config, runCommand, writeText
, xorg, gtk3, glib, pango, cairo, gdk-pixbuf, atk, pandoc
, wrapGAppsHook, xorgserver, getopt, xauth, util-linux, which
, ffmpeg, x264, libvpx, libwebp, x265, librsvg
, substituteAll
, pkg-config
, runCommand
, writeText
, wrapGAppsHook
, withNvenc ? false
, atk
, cairo
, cudatoolkit
, ffmpeg
, gdk-pixbuf
, getopt
, glib
, gobject-introspection
, gst_all_1
, gtk3
, libfakeXinerama
, gst_all_1, pulseaudio, gobject-introspection
, withNvenc ? false, cudatoolkit, nv-codec-headers-10, nvidia_x11 ? null
, pam }:
, librsvg
, libvpx
, libwebp
, nv-codec-headers-10
, nvidia_x11 ? null
, pam
, pandoc
, pango
, pulseaudio
, python3
, util-linux
, which
, x264
, x265
, xauth
, xorg
, xorgserver
}:
with lib;
@ -43,11 +70,11 @@ let
'';
in buildPythonApplication rec {
pname = "xpra";
version = "4.3.2";
version = "4.3.3";
src = fetchurl {
url = "https://xpra.org/src/${pname}-${version}.tar.xz";
hash = "sha256-CIHVpxZ2qC7Ct5Kmc6dxEzxH9s+63/sI07f9SbCh4a4=";
hash = "sha256-J6zzkho0A1faCVzS/0wDlbgLtJmyPrnBkEcR7kDld7A=";
};
patches = [
@ -56,41 +83,81 @@ in buildPythonApplication rec {
inherit libfakeXinerama;
})
./fix-41106.patch # https://github.com/NixOS/nixpkgs/issues/41106
./fix-122159.patch # https://github.com/NixOS/nixpkgs/issues/122159
];
INCLUDE_DIRS = "${pam}/include";
nativeBuildInputs = [ pkg-config wrapGAppsHook pandoc ]
++ lib.optional withNvenc cudatoolkit;
nativeBuildInputs = [
pkg-config
wrapGAppsHook
pandoc
] ++ lib.optional withNvenc cudatoolkit;
buildInputs = with xorg; [
libX11 xorgproto libXrender libXi libXres
libXtst libXfixes libXcomposite libXdamage
libXrandr libxkbfile
] ++ [
libX11
libXcomposite
libXdamage
libXfixes
libXi
libxkbfile
libXrandr
libXrender
libXres
libXtst
xorgproto
] ++ (with gst_all_1; [
gst-libav
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gstreamer
]) ++ [
atk.out
cairo
cython
ffmpeg
gdk-pixbuf
glib
gobject-introspection
gtk3
librsvg
pango cairo gdk-pixbuf atk.out gtk3 glib
ffmpeg libvpx x264 libwebp x265
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
gst_all_1.gst-libav
libvpx
libwebp
pam
gobject-introspection
pango
x264
x265
] ++ lib.optional withNvenc nvencHeaders;
propagatedBuildInputs = with python3.pkgs; [
pillow rencode pycrypto cryptography pycups lz4 dbus-python
netifaces numpy pygobject3 pycairo gst-python pam
pyopengl paramiko opencv4 python-uinput pyxdg
ipaddress idna pyinotify
] ++ lib.optionals withNvenc (with python3.pkgs; [pynvml pycuda]);
# error: 'import_cairo' defined but not used
propagatedBuildInputs = with python3.pkgs; ([
cryptography
dbus-python
gst-python
idna
ipaddress
lz4
netifaces
numpy
opencv4
pam
paramiko
pillow
pycairo
pycrypto
pycups
pygobject3
pyinotify
pyopengl
python-uinput
pyxdg
rencode
] ++ lib.optionals withNvenc [
pycuda
pynvml
]);
# error: 'import_cairo' defined but not used
NIX_CFLAGS_COMPILE = "-Wno-error=unused-function";
setupPyBuildFlags = [
@ -104,12 +171,14 @@ in buildPythonApplication rec {
] ++ lib.optional withNvenc "--with-nvenc";
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=(
"''${gappsWrapperArgs[@]}"
--set XPRA_INSTALL_PREFIX "$out"
--set XPRA_COMMAND "$out/bin/xpra"
--set XPRA_XKB_CONFIG_ROOT "${xorg.xkeyboardconfig}/share/X11/xkb"
--set XORG_CONFIG_PREFIX ""
--prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib
--prefix PATH : ${lib.makeBinPath [ getopt xorgserver xauth which util-linux pulseaudio ]}
'' + lib.optionalString withNvenc ''

@ -0,0 +1,16 @@
diff --git a/xpra/scripts/main.py b/xpra/scripts/main.py
index 6def9e0ad..031f8aba9 100755
--- a/xpra/scripts/main.py
+++ b/xpra/scripts/main.py
@@ -364,11 +364,7 @@ def run_mode(script_file, cmdline, error_cb, options, args, mode, defaults):
"shadow",
) and not display_is_remote:
if use_systemd_run(options.systemd_run):
- #make sure we run via the same interpreter,
- #inject it into the command line if we have to:
argv = list(cmdline)
- if argv[0].find("python")<0:
- argv.insert(0, "python%i.%i" % (sys.version_info.major, sys.version_info.minor))
return systemd_run_wrap(mode, argv, options.systemd_run_args)
configure_env(options.env)
configure_logging(options, mode)
Loading…
Cancel
Save