about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers/x11/xorg/xwayland.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/servers/x11/xorg/xwayland.nix')
-rw-r--r--nixpkgs/pkgs/servers/x11/xorg/xwayland.nix120
1 files changed, 90 insertions, 30 deletions
diff --git a/nixpkgs/pkgs/servers/x11/xorg/xwayland.nix b/nixpkgs/pkgs/servers/x11/xorg/xwayland.nix
index e3d2698e8303..e1b2597d4f45 100644
--- a/nixpkgs/pkgs/servers/x11/xorg/xwayland.nix
+++ b/nixpkgs/pkgs/servers/x11/xorg/xwayland.nix
@@ -1,40 +1,100 @@
-{ lib, wayland, wayland-protocols, xorgserver, xkbcomp, xkeyboard_config
-, epoxy, libxslt, libunwind, makeWrapper, egl-wayland
+{ egl-wayland
+, epoxy
+, fetchurl
+, fontutil
+, lib
+, libGL
+, libGLU
+, libX11
+, libXau
+, libXaw
+, libXdmcp
+, libXext
+, libXfixes
+, libXfont2
+, libXmu
+, libXpm
+, libXrender
+, libXres
+, libXt
+, libdrm
+, libtirpc
+, libunwind
+, libxcb
+, libxkbfile
+, libxshmfence
+, mesa
+, meson
+, ninja
+, openssl
+, pkg-config
+, pixman
+, stdenv
+, wayland
+, wayland-protocols
+, xkbcomp
+, xkeyboard_config
+, xorgproto
+, xtrans
+, zlib
 , defaultFontPath ? "" }:
 
-with lib;
+stdenv.mkDerivation rec {
 
-xorgserver.overrideAttrs (oldAttrs: {
-
-  name = "xwayland-${xorgserver.version}";
-  buildInputs = oldAttrs.buildInputs ++ [ egl-wayland ];
-  propagatedBuildInputs = oldAttrs.propagatedBuildInputs
-    ++ [wayland wayland-protocols epoxy libxslt makeWrapper libunwind];
-  configureFlags = [
-    "--disable-docs"
-    "--disable-devel-docs"
-    "--enable-xwayland"
-    "--enable-xwayland-eglstream"
-    "--disable-xorg"
-    "--disable-xvfb"
-    "--disable-xnest"
-    "--disable-xquartz"
-    "--disable-xwin"
-    "--enable-glamor"
-    "--with-default-font-path=${defaultFontPath}"
-    "--with-xkb-bin-directory=${xkbcomp}/bin"
-    "--with-xkb-path=${xkeyboard_config}/etc/X11/xkb"
-    "--with-xkb-output=$(out)/share/X11/xkb/compiled"
+  pname = "xwayland";
+  version = "21.1.1";
+  src = fetchurl {
+    url = "mirror://xorg/individual/xserver/${pname}-${version}.tar.xz";
+    sha256 = "sha256-MfJhzlG77namyj7AKqNn/6K176K5hBLfV8zv16GQA84=";
+  };
+  nativeBuildInputs = [ pkg-config meson ninja ];
+  buildInputs = [
+    egl-wayland
+    epoxy
+    fontutil
+    libGL
+    libGLU
+    libX11
+    libXau
+    libXaw
+    libXdmcp
+    libXext
+    libXfixes
+    libXfont2
+    libXmu
+    libXpm
+    libXrender
+    libXres
+    libXt
+    libdrm
+    libtirpc
+    libunwind
+    libxcb
+    libxkbfile
+    libxshmfence
+    mesa
+    openssl
+    pixman
+    wayland
+    wayland-protocols
+    xkbcomp
+    xorgproto
+    xtrans
+    zlib
+  ];
+  mesonFlags = [
+    "-Dxwayland-eglstream=true"
+    "-Ddefault-font-path=${defaultFontPath}"
+    "-Dxkb_bin_dir=${xkbcomp}/bin"
+    "-Dxkb_dir=${xkeyboard_config}/etc/X11/xkb"
+    "-Dxkb_output_dir=${placeholder "out"}/share/X11/xkb/compiled"
   ];
 
-  postInstall = ''
-    rm -fr $out/share/X11/xkb/compiled
-  '';
-
-  meta = {
+  meta = with lib; {
     description = "An X server for interfacing X11 apps with the Wayland protocol";
     homepage = "https://wayland.freedesktop.org/xserver.html";
     license = licenses.mit;
+    maintainers = with maintainers; [ emantor ];
     platforms = platforms.linux;
   };
-})
+}