about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/X11
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-06-22 15:01:47 +0000
committerAlyssa Ross <hi@alyssa.is>2021-06-22 16:57:59 +0000
commit633cab0ecb07627706c6b523e219490f019eaab5 (patch)
tree4fb472bdfe2723037dad53dc1b8a87c939015f5e /nixpkgs/pkgs/tools/X11
parentffb691c199e7e0cbc4e45e5310779c9e3f7c2a73 (diff)
parent432fc2d9a67f92e05438dff5fdc2b39d33f77997 (diff)
downloadnixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar
nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.gz
nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.bz2
nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.lz
nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.xz
nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.zst
nixlib-633cab0ecb07627706c6b523e219490f019eaab5.zip
Merge commit '432fc2d9a67f92e05438dff5fdc2b39d33f77997'
# Conflicts:
#	nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
#	nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/default.nix
#	nixpkgs/pkgs/applications/window-managers/sway/default.nix
#	nixpkgs/pkgs/build-support/rust/default.nix
#	nixpkgs/pkgs/development/go-modules/generic/default.nix
Diffstat (limited to 'nixpkgs/pkgs/tools/X11')
-rw-r--r--nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/X11/find-cursor/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/hsetroot/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/libstrangle/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/opentabletdriver/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/X11/opentabletdriver/deps.nix45
-rw-r--r--nixpkgs/pkgs/tools/X11/opentabletdriver/shell.nix4
-rwxr-xr-xnixpkgs/pkgs/tools/X11/opentabletdriver/update.sh6
-rw-r--r--nixpkgs/pkgs/tools/X11/wpgtk/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/X11/xidlehook/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/X11/xpra/default.nix59
-rw-r--r--nixpkgs/pkgs/tools/X11/xpra/fix-paths.patch13
-rw-r--r--nixpkgs/pkgs/tools/X11/xpra/nvenc.pc11
-rw-r--r--nixpkgs/pkgs/tools/X11/xwallpaper/default.nix13
15 files changed, 107 insertions, 70 deletions
diff --git a/nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix b/nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix
index 4f709ee9db08..cadfa2c99973 100644
--- a/nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix
+++ b/nixpkgs/pkgs/tools/X11/caffeine-ng/default.nix
@@ -14,7 +14,7 @@ python3Packages.buildPythonApplication rec {
   nativeBuildInputs = [ wrapGAppsHook glib ];
   buildInputs = [
     gdk-pixbuf gobject-introspection libnotify gtk3
-    python3Packages.setuptools_scm
+    python3Packages.setuptools-scm
   ];
   pythonPath = with python3Packages; [
     dbus-python docopt ewmh pygobject3 pyxdg
@@ -43,6 +43,7 @@ python3Packages.buildPythonApplication rec {
   '';
 
   meta = with lib; {
+    mainProgram = "caffeine";
     maintainers = with maintainers; [ marzipankaiser ];
     description = "Status bar application to temporarily inhibit screensaver and sleep mode";
     homepage = "https://github.com/caffeine-ng/caffeine-ng";
diff --git a/nixpkgs/pkgs/tools/X11/find-cursor/default.nix b/nixpkgs/pkgs/tools/X11/find-cursor/default.nix
index 9e3b779d686b..3f330c63b0f1 100644
--- a/nixpkgs/pkgs/tools/X11/find-cursor/default.nix
+++ b/nixpkgs/pkgs/tools/X11/find-cursor/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "find-cursor";
-  version = "1.6";
+  version = "1.7";
 
   src = fetchFromGitHub {
     owner = "arp242";
     repo = "find-cursor";
     rev = "v${version}";
-    sha256 = "13lpcxklv9ayqapyk9pmwxkinhxah5hkr6n0jc2m5hm68nh220w1";
+    sha256 = "sha256-cFvhoEPDFLw6rsPYUF9gqAFzINewnszJEzxRK064NEU=";
   };
 
   nativeBuildInputs = [ installShellFiles git ];
diff --git a/nixpkgs/pkgs/tools/X11/hsetroot/default.nix b/nixpkgs/pkgs/tools/X11/hsetroot/default.nix
index 69842a7bd59c..95ccd9586d9c 100644
--- a/nixpkgs/pkgs/tools/X11/hsetroot/default.nix
+++ b/nixpkgs/pkgs/tools/X11/hsetroot/default.nix
@@ -24,6 +24,10 @@ stdenv.mkDerivation rec {
     libXinerama
   ];
 
+  postPatch = lib.optionalString (!stdenv.cc.isGNU) ''
+    sed -i -e '/--no-as-needed/d' Makefile
+  '';
+
   makeFlags = [ "PREFIX=$(out)" ];
 
   preInstall = ''
diff --git a/nixpkgs/pkgs/tools/X11/libstrangle/default.nix b/nixpkgs/pkgs/tools/X11/libstrangle/default.nix
index d8c220d0fd7f..2d7f6b456c4b 100644
--- a/nixpkgs/pkgs/tools/X11/libstrangle/default.nix
+++ b/nixpkgs/pkgs/tools/X11/libstrangle/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ aske ];
+    mainProgram = "strangle";
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/opentabletdriver/default.nix b/nixpkgs/pkgs/tools/X11/opentabletdriver/default.nix
index 0ab7be8374cf..2d1ce4a4e33f 100644
--- a/nixpkgs/pkgs/tools/X11/opentabletdriver/default.nix
+++ b/nixpkgs/pkgs/tools/X11/opentabletdriver/default.nix
@@ -23,18 +23,18 @@
 
 stdenv.mkDerivation rec {
   pname = "OpenTabletDriver";
-  version = "0.5.1";
+  version = "0.5.3.2";
 
   src = fetchFromGitHub {
     owner = "InfinityGhost";
     repo = "OpenTabletDriver";
     rev = "v${version}";
-    sha256 = "1if2mkj193yzf5si9pwaynrm6wkhqy7ihk4k1lklzcryk5675w36";
+    sha256 = "qRc/9Edp3x7/XVEWgBbPush76MSQz4biYSk+E9Gt68w=";
   };
 
   debPkg = fetchurl {
     url = "https://github.com/InfinityGhost/OpenTabletDriver/releases/download/v${version}/OpenTabletDriver.deb";
-    sha256 = "16a1rr0yxra1dhwysbbfgsxpigh2jhjlsl7r28dgp8qcxncck7wg";
+    sha256 = "14k06iyc642x42yadyfmmf8ky84y8rc6kgd63b4ipskkcxyl1gvl";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/X11/opentabletdriver/deps.nix b/nixpkgs/pkgs/tools/X11/opentabletdriver/deps.nix
index ccb7097153bd..45ded855587a 100644
--- a/nixpkgs/pkgs/tools/X11/opentabletdriver/deps.nix
+++ b/nixpkgs/pkgs/tools/X11/opentabletdriver/deps.nix
@@ -1,13 +1,13 @@
 { fetchNuGet }: [
   (fetchNuGet {
     name = "AtkSharp";
-    version = "3.22.25.74";
-    sha256 = "04zjpjrddw5clac0mjpk0q00rbmv45bh1bsqa4s3pc5pb7fm9cd9";
+    version = "3.24.24.34";
+    sha256 = "1jn1vgi9xm0jp7769k6sbdi8d273kigjrsh93i6s4c03hqxv7cqs";
   })
   (fetchNuGet {
     name = "CairoSharp";
-    version = "3.22.25.74";
-    sha256 = "0sx7vmwcrfbkg3g887v051iklcdmdhh43ndp96nk4bccjimmmwl6";
+    version = "3.24.24.34";
+    sha256 = "0pydn1k0cam1gclg9sc1sbnmbyzh28qlc5qanyxcylwghink3kgz";
   })
   (fetchNuGet {
     name = "Eto.Forms";
@@ -15,34 +15,39 @@
     sha256 = "1d71wglk4ixfqfbm6sxmj753x5iwbar8i9zzjy3bh64fy1dn8lz7";
   })
   (fetchNuGet {
+    name = "Eto.Forms";
+    version = "2.5.11";
+    sha256 = "0h86jc19wy3ssj7pb34w1h02v92mg29gdipszwjs3y15piy66z3s";
+  })
+  (fetchNuGet {
     name = "Eto.Platform.Gtk";
-    version = "2.5.10";
-    sha256 = "1pkqvlfx7bzracnw19bl50i9jg4ym376vihmy9qq7m5z5nfdqn4g";
+    version = "2.5.11";
+    sha256 = "1s9njz7l9zghrbzli7lbiav5ss3glqf17npj07f3jldd933nb95j";
   })
   (fetchNuGet {
     name = "GdkSharp";
-    version = "3.22.25.74";
-    sha256 = "07sdfvqk2jmyjj7fyd0mikhnzsk52zd3g2dhip8kz3006cczqm81";
+    version = "3.24.24.34";
+    sha256 = "0r0x0yib7chwsyrbpvicrfwldwqx5lyqq4p86zaxpmzd6zdaj0x5";
   })
   (fetchNuGet {
     name = "GioSharp";
-    version = "3.22.25.74";
-    sha256 = "01l4216bm5jxbxypkkq4d2527c6zd68kbywr3h1lr1darc9nf1d1";
+    version = "3.24.24.34";
+    sha256 = "02hxvgjd4w9jpzbkk7qf9q9bkvyp5hfzwxfqp10vg5lpl9yl3xpx";
   })
   (fetchNuGet {
     name = "GLibSharp";
-    version = "3.22.25.74";
-    sha256 = "0k2p79z4wcswi528v0ykc37rsqfqi6xd6pl0j4csdj9zf19svgx2";
+    version = "3.24.24.34";
+    sha256 = "0kvp033fgdwc8p2abfp5z9pzq66cvwbnjfvr4v4bkpy5s5h181kq";
   })
   (fetchNuGet {
     name = "GtkSharp";
-    version = "3.22.25.74";
-    sha256 = "0vazfvkjyzppcynqa1h70s1jmp4vq2j30v5x2scg8n2c5dxaj0k3";
+    version = "3.24.24.34";
+    sha256 = "0028hzmmqyfx87qqmaf9cgb5psn7gkbmqvixcid67x1d6mzxjicb";
   })
   (fetchNuGet {
     name = "HidSharpCore";
-    version = "1.2.1";
-    sha256 = "0vcw38skr9g691gxbzv3cf6y9rk11vh5pvcyjshdgii2z1z8a4g2";
+    version = "1.2.1.1";
+    sha256 = "1zkndglmz0s8rblfhnqcvv90rkq2i7lf4bc380g7z8h1avf2ikll";
   })
   (fetchNuGet {
     name = "MessagePack.Annotations";
@@ -121,13 +126,13 @@
   })
   (fetchNuGet {
     name = "Octokit";
-    version = "0.48.0";
-    sha256 = "17ria1shx04rb6knbaswpqndmwam6v3r3lsfsd486q584798ccn8";
+    version = "0.50.0";
+    sha256 = "1ignj5i6a1c19qqrw00wlr9fdjmwrxkxz7gdxj0x653w84gbv7qq";
   })
   (fetchNuGet {
     name = "PangoSharp";
-    version = "3.22.25.74";
-    sha256 = "172i1hjpz4rgqlilir8a57kgmciw9x0shz4zwbhhlr59mndvqbih";
+    version = "3.24.24.34";
+    sha256 = "1r0h14cklglfpv1lhv93cxmzi2w7d5s03gzpq3j5dmrz43flg9zw";
   })
   (fetchNuGet {
     name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl";
diff --git a/nixpkgs/pkgs/tools/X11/opentabletdriver/shell.nix b/nixpkgs/pkgs/tools/X11/opentabletdriver/shell.nix
index 526fa4a44320..4367d22e9df7 100644
--- a/nixpkgs/pkgs/tools/X11/opentabletdriver/shell.nix
+++ b/nixpkgs/pkgs/tools/X11/opentabletdriver/shell.nix
@@ -1,9 +1,9 @@
-{ pkgs ? import ../../../../. {} }:
+{ pkgs ? import ../../../../. { } }:
 
 with pkgs;
 
 mkShell {
-  buildInputs = [
+  packages = [
     common-updater-scripts
     curl
     dotnetCorePackages.sdk_5_0
diff --git a/nixpkgs/pkgs/tools/X11/opentabletdriver/update.sh b/nixpkgs/pkgs/tools/X11/opentabletdriver/update.sh
index 715857cf8f46..9944bb0b6dea 100755
--- a/nixpkgs/pkgs/tools/X11/opentabletdriver/update.sh
+++ b/nixpkgs/pkgs/tools/X11/opentabletdriver/update.sh
@@ -7,7 +7,7 @@ cd "$(dirname "${BASH_SOURCE[0]}")"
 
 deps_file="$(realpath "./deps.nix")"
 
-new_version="$(curl -s "https://api.github.com/repos/InfinityGhost/OpenTabletDriver/releases" | jq -r '.[0].tag_name' | sed 's|[^0-9.]||g')"
+new_version="$(curl -s "https://api.github.com/repos/OpenTabletDriver/OpenTabletDriver/releases" | jq -r '.[0].tag_name' | sed 's|[^0-9.]||g')"
 old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
 if [[ "$new_version" == "$old_version" ]]; then
   echo "Up to date"
@@ -15,8 +15,8 @@ if [[ "$new_version" == "$old_version" ]]; then
 fi
 
 # Updating the hash of deb package manually since there seems to be no way to do it automatically
-oldDebPkgUrl="https://github.com/InfinityGhost/OpenTabletDriver/releases/download/v${old_version}/OpenTabletDriver.deb";
-newDebPkgUrl="https://github.com/InfinityGhost/OpenTabletDriver/releases/download/v${new_version}/OpenTabletDriver.deb";
+oldDebPkgUrl="https://github.com/OpenTabletDriver/OpenTabletDriver/releases/download/v${old_version}/OpenTabletDriver.deb";
+newDebPkgUrl="https://github.com/OpenTabletDriver/OpenTabletDriver/releases/download/v${new_version}/OpenTabletDriver.deb";
 oldDebSha256=$(nix-prefetch-url "$oldDebPkgUrl")
 newDebSha256=$(nix-prefetch-url "$newDebPkgUrl")
 echo "oldDebSha256: $oldDebSha256 newDebSha256: $newDebSha256"
diff --git a/nixpkgs/pkgs/tools/X11/wpgtk/default.nix b/nixpkgs/pkgs/tools/X11/wpgtk/default.nix
index cf9bbd9bb988..66464ae0b532 100644
--- a/nixpkgs/pkgs/tools/X11/wpgtk/default.nix
+++ b/nixpkgs/pkgs/tools/X11/wpgtk/default.nix
@@ -1,5 +1,5 @@
 { lib, python3Packages, fetchFromGitHub, libxslt,
-  gobject-introspection, gtk3, wrapGAppsHook, gnome3 }:
+  gobject-introspection, gtk3, wrapGAppsHook, gnome }:
 
 python3Packages.buildPythonApplication rec {
   pname = "wpgtk";
@@ -16,7 +16,7 @@ python3Packages.buildPythonApplication rec {
     wrapGAppsHook
     gtk3
     gobject-introspection
-    gnome3.adwaita-icon-theme
+    gnome.adwaita-icon-theme
     libxslt
   ];
 
diff --git a/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix b/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix
index 207c052686f8..991b9be22389 100644
--- a/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     homepage = "http://freedesktop.org/wiki/Software/xdg-user-dirs";
     description = "A tool to help manage well known user directories like the desktop folder and the music folder";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ lethalman ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xidlehook/default.nix b/nixpkgs/pkgs/tools/X11/xidlehook/default.nix
index 82aee8f818b4..b7cb9c9d8ba0 100644
--- a/nixpkgs/pkgs/tools/X11/xidlehook/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xidlehook/default.nix
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   cargoBuildFlags = lib.optionals (!stdenv.isLinux) [ "--no-default-features" "--features" "pulse" ];
-  cargoSha256 = "1r2xir0x04056kq7j13cpk8984kjrgxbixlacp6vz79yq9c8pv7k";
+  cargoSha256 = "1y7m61j07gvqfqz97mda39nc602sv7a826c06m8l22i7z380xfms";
 
   buildInputs = [ xlibsWrapper xorg.libXScrnSaver libpulseaudio ] ++ lib.optional stdenv.isDarwin Security;
   nativeBuildInputs = [ pkg-config patchelf python3 ];
diff --git a/nixpkgs/pkgs/tools/X11/xpra/default.nix b/nixpkgs/pkgs/tools/X11/xpra/default.nix
index 0dffdf7bbf79..c3cea1ed0612 100644
--- a/nixpkgs/pkgs/tools/X11/xpra/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xpra/default.nix
@@ -1,9 +1,13 @@
-{ lib, fetchurl, callPackage, substituteAll, python3, pkg-config, writeText
-, xorg, gtk3, glib, pango, cairo, gdk-pixbuf, atk
+{ lib
+, fetchurl
+, fetchpatch
+, 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
+, ffmpeg, x264, libvpx, libwebp, x265, librsvg
 , libfakeXinerama
 , gst_all_1, pulseaudio, gobject-introspection
+, withNvenc ? false, cudatoolkit, nv-codec-headers-10, nvidia_x11 ? null
 , pam }:
 
 with lib;
@@ -13,8 +17,11 @@ let
 
   xf86videodummy = xorg.xf86videodummy.overrideDerivation (p: {
     patches = [
+      # patch provided by Xpra upstream
       ./0002-Constant-DPI.patch
+      # https://github.com/Xpra-org/xpra/issues/349
       ./0003-fix-pointer-limits.patch
+      # patch provided by Xpra upstream
       ./0005-support-for-30-bit-depth-in-dummy-driver.patch
     ];
   });
@@ -28,35 +35,48 @@ let
     EndSection
   '';
 
+  nvencHeaders = runCommand "nvenc-headers" {
+    inherit nvidia_x11;
+  } ''
+    mkdir -p $out/include $out/lib/pkgconfig
+    cp ${nv-codec-headers-10}/include/ffnvcodec/nvEncodeAPI.h $out/include
+    substituteAll ${./nvenc.pc} $out/lib/pkgconfig/nvenc.pc
+  '';
 in buildPythonApplication rec {
   pname = "xpra";
-  version = "4.0.6";
+  version = "4.2";
 
   src = fetchurl {
-    url = "https://xpra.org/src/${pname}-${version}.tar.xz";
-    sha256 = "nGcvbZFGYd2nQ75LL4YN+xcWb7UsViA3OAqpcrTwieg=";
+    url = "https://xpra.org/src/${pname}-${version}.tar.gz";
+    hash = "sha256-KkQw4FJeH4G5jZ4GdP3aXZ3zxu4GALbiOI6POKJW6fk=";
   };
 
   patches = [
-    (substituteAll {
+    (substituteAll {  # correct hardcoded paths
       src = ./fix-paths.patch;
-      inherit (xorg) xkeyboardconfig;
       inherit libfakeXinerama;
     })
-    ./fix-41106.patch
+    ./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 = ''
     substituteInPlace setup.py --replace '/usr/include/security' '${pam}/include/security'
   '';
 
-  nativeBuildInputs = [ pkg-config wrapGAppsHook ];
+  nativeBuildInputs = [ pkg-config wrapGAppsHook pandoc ]
+    ++ lib.optional withNvenc cudatoolkit;
   buildInputs = with xorg; [
     libX11 xorgproto libXrender libXi
     libXtst libXfixes libXcomposite libXdamage
     libXrandr libxkbfile
     ] ++ [
     cython
+    librsvg
 
     pango cairo gdk-pixbuf atk.out gtk3 glib
 
@@ -70,25 +90,26 @@ in buildPythonApplication rec {
 
     pam
     gobject-introspection
-  ];
+  ] ++ 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
-  ];
+    ipaddress idna pyinotify
+  ] ++ lib.optionals withNvenc (with python3.pkgs; [pynvml pycuda]);
 
     # error: 'import_cairo' defined but not used
   NIX_CFLAGS_COMPILE = "-Wno-error=unused-function";
 
   setupPyBuildFlags = [
     "--with-Xdummy"
+    "--without-Xdummy_wrapper"
     "--without-strict"
     "--with-gtk3"
     # Override these, setup.py checks for headers in /usr/* paths
     "--with-pam"
     "--with-vsock"
-  ];
+  ] ++ lib.optional withNvenc "--with-nvenc";
 
   dontWrapGApps = true;
   preFixup = ''
@@ -96,8 +117,12 @@ 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 ]}
+  '' + lib.optionalString withNvenc ''
+      --prefix LD_LIBRARY_PATH : ${nvidia_x11}/lib
+  '' + ''
     )
   '';
 
@@ -116,12 +141,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/nixpkgs/pkgs/tools/X11/xpra/fix-paths.patch b/nixpkgs/pkgs/tools/X11/xpra/fix-paths.patch
index 70bd9027a1a8..b5a58bb03f84 100644
--- a/nixpkgs/pkgs/tools/X11/xpra/fix-paths.patch
+++ b/nixpkgs/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
diff --git a/nixpkgs/pkgs/tools/X11/xpra/nvenc.pc b/nixpkgs/pkgs/tools/X11/xpra/nvenc.pc
new file mode 100644
index 000000000000..6d8d916a0251
--- /dev/null
+++ b/nixpkgs/pkgs/tools/X11/xpra/nvenc.pc
@@ -0,0 +1,11 @@
+prefix=@out@
+includedir=${prefix}/include
+libdir=@nvidia_x11@/lib
+
+Name: nvenc
+Description: NVENC
+Version: 10
+Requires:
+Conflicts:
+Libs: -L${libdir} -lnvidia-encode
+Cflags: -I${includedir}
diff --git a/nixpkgs/pkgs/tools/X11/xwallpaper/default.nix b/nixpkgs/pkgs/tools/X11/xwallpaper/default.nix
index 234b89f94cd8..d99a6ec8dac5 100644
--- a/nixpkgs/pkgs/tools/X11/xwallpaper/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xwallpaper/default.nix
@@ -2,6 +2,7 @@
 , fetchFromGitHub
 , pkg-config
 , autoreconfHook
+, installShellFiles
 , pixman
 , xcbutil
 , xcbutilimage
@@ -13,20 +14,22 @@
 
 stdenv.mkDerivation rec {
   pname = "xwallpaper";
-  version = "0.6.6";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "stoeckmann";
     repo = "xwallpaper";
     rev = "v${version}";
-    sha256 = "sha256-WYtbwMFzvJ0Xr84gGoKSofSSnmb7Qn6ioGMOnQOqdII=";
+    sha256 = "1bpymspnllbscha8j9y67w9ck2l6yv66zdbknv8s13hz5qi1ishk";
   };
 
-  preConfigure = "./autogen.sh";
-
-  nativeBuildInputs = [ pkg-config autoreconfHook ];
+  nativeBuildInputs = [ pkg-config autoreconfHook installShellFiles ];
   buildInputs = [ pixman xcbutilimage xcbutil libseccomp libjpeg libpng libXpm ];
 
+  postInstall = ''
+    installShellCompletion --zsh _xwallpaper
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/stoeckmann/xwallpaper";
     description = "Utility for setting wallpapers in X";