diff options
Diffstat (limited to 'pkgs/tools/X11/xpra/default.nix')
-rw-r--r-- | pkgs/tools/X11/xpra/default.nix | 138 |
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 '' |