From c7ddfc0760ee328a6fba9e4cbddbd69805870c71 Mon Sep 17 00:00:00 2001 From: Rouven Czerwinski Date: Tue, 9 Mar 2021 16:20:55 +0100 Subject: [PATCH] xwayland: 1.20.10 -> 21.1.1 The new xwayland release uses meson exclusively, switch the derivation over to meson. See [1] for further reasoning. Also turn xwayland into its own derivation instead of using the override infrastructure. [1]: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/582 Signed-off-by: Rouven Czerwinski --- pkgs/servers/x11/xorg/xwayland.nix | 120 +++++++++++++++++++++-------- 1 file changed, 90 insertions(+), 30 deletions(-) diff --git a/pkgs/servers/x11/xorg/xwayland.nix b/pkgs/servers/x11/xorg/xwayland.nix index e3d2698e8303..e1b2597d4f45 100644 --- a/pkgs/servers/x11/xorg/xwayland.nix +++ b/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; }; -}) +}