summary refs log tree commit diff
path: root/pkgs/tools/X11/xpra/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/X11/xpra/default.nix')
-rw-r--r--pkgs/tools/X11/xpra/default.nix138
1 files changed, 103 insertions, 35 deletions
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 656b9ee6006..21e37a2eb40 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -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,80 @@ 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
+    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 +170,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 ''