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 <rouven@czerwinskis.de>
This commit is contained in:
Rouven Czerwinski 2021-03-09 16:20:55 +01:00
parent 1fe6ed37fd
commit c7ddfc0760

View file

@ -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;
};
})
}