about summary refs log tree commit diff
path: root/pkgs/servers/x11/xorg/xwayland.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/servers/x11/xorg/xwayland.nix')
-rw-r--r--pkgs/servers/x11/xorg/xwayland.nix31
1 files changed, 26 insertions, 5 deletions
diff --git a/pkgs/servers/x11/xorg/xwayland.nix b/pkgs/servers/x11/xorg/xwayland.nix
index a34e1285e3071..11913a39e017b 100644
--- a/pkgs/servers/x11/xorg/xwayland.nix
+++ b/pkgs/servers/x11/xorg/xwayland.nix
@@ -1,8 +1,10 @@
 { egl-wayland
 , libepoxy
 , fetchurl
+, fetchpatch
 , fontutil
 , lib
+, libdecor
 , libei
 , libGL
 , libGLU
@@ -32,6 +34,7 @@
 , pkg-config
 , pixman
 , stdenv
+, systemd
 , wayland
 , wayland-protocols
 , wayland-scanner
@@ -46,13 +49,30 @@
 
 stdenv.mkDerivation rec {
   pname = "xwayland";
-  version = "23.2.6";
+  version = "24.1.0";
 
   src = fetchurl {
     url = "mirror://xorg/individual/xserver/${pname}-${version}.tar.xz";
-    hash = "sha256-HJo2a058ytug+b0xPFnq4S0jvXJUOyKibq+LIINc/G0=";
+    hash = "sha256-vvIcTxiAek7VccTi32CrY7VGa71QLszrJIW4kqt23MI=";
   };
 
+  patches = [
+    # Backport fix for pkg-config generation to make CMake happy
+    # FIXME: remove when merged
+    # Upstream PR: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1543
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/8cb1c21a4240a5b6bf4aeeef51819639b4e0ad24.patch";
+      hash = "sha256-MZPP9QgYO4RFJ/vcjkpu7SVSo5Dh09ZdZjOwTopjdYQ=";
+    })
+    # Backport fix for segfault when linux-dmabuf device is not accessible
+    # FIXME: remove when merged
+    # Upstream PR: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1565
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/7605833315c05488eca30ed0a70a2a1430e89bbc.patch";
+      hash = "sha256-4/A6aOiOGouPe2v4wIYDQY9rWkuNZJwk0h4gpfrl6hI=";
+    })
+  ];
+
   depsBuildBuild = [
     pkg-config
   ];
@@ -64,6 +84,7 @@ stdenv.mkDerivation rec {
   ];
   buildInputs = [
     egl-wayland
+    libdecor
     libepoxy
     libei
     fontutil
@@ -90,6 +111,7 @@ stdenv.mkDerivation rec {
     mesa
     openssl
     pixman
+    systemd
     wayland
     wayland-protocols
     xkbcomp
@@ -100,7 +122,6 @@ stdenv.mkDerivation rec {
     libunwind
   ];
   mesonFlags = [
-    (lib.mesonBool "xwayland_eglstream" true)
     (lib.mesonBool "xcsecurity" true)
     (lib.mesonOption "default_font_path" defaultFontPath)
     (lib.mesonOption "xkb_bin_dir" "${xkbcomp}/bin")
@@ -116,11 +137,11 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    description = "An X server for interfacing X11 apps with the Wayland protocol";
+    description = "X server for interfacing X11 apps with the Wayland protocol";
     homepage = "https://wayland.freedesktop.org/xserver.html";
     license = licenses.mit;
     mainProgram = "Xwayland";
-    maintainers = with maintainers; [ emantor ];
+    maintainers = with maintainers; [ emantor k900 ];
     platforms = platforms.linux;
   };
 }