core/pkgs/by-name/xo/xorg/xwayland.nix
2024-05-13 22:24:10 +01:00

82 lines
2.2 KiB
Nix

{ egl-wayland, libepoxy, fetchurl, fontutil, lib, libei, libGL, libGLU, libX11
, libXau, libXaw, libXdmcp, libXext, libXfixes, libXfont2, libXmu, libXpm
, libXrender, libXres, libXt, libdrm, libtirpc, withLibunwind ? true, libunwind
, libxcb, libxkbfile, libxshmfence, libxcvt, mesa, meson, ninja, openssl
, pkg-config, pixman, stdenv, wayland, wayland-protocols, wayland-scanner
, xkbcomp, xkeyboard_config, xorgproto, xtrans, zlib, defaultFontPath ? ""
, gitUpdater }:
stdenv.mkDerivation rec {
pname = "xwayland";
version = "23.2.6";
src = fetchurl {
url = "mirror://xorg/individual/xserver/${pname}-${version}.tar.xz";
hash = "sha256-HJo2a058ytug+b0xPFnq4S0jvXJUOyKibq+LIINc/G0=";
};
depsBuildBuild = [ pkg-config ];
nativeBuildInputs = [ pkg-config meson ninja wayland-scanner ];
buildInputs = [
egl-wayland
libepoxy
libei
fontutil
libGL
libGLU
libX11
libXau
libXaw
libXdmcp
libXext
libXfixes
libXfont2
libXmu
libXpm
libXrender
libXres
libXt
libdrm
libtirpc
libxcb
libxkbfile
libxshmfence
libxcvt
mesa
openssl
pixman
wayland
wayland-protocols
xkbcomp
xorgproto
xtrans
zlib
] ++ lib.optionals withLibunwind [ libunwind ];
mesonFlags = [
(lib.mesonBool "xwayland_eglstream" true)
(lib.mesonBool "xcsecurity" true)
(lib.mesonOption "default_font_path" defaultFontPath)
(lib.mesonOption "xkb_bin_dir" "${xkbcomp}/bin")
(lib.mesonOption "xkb_dir" "${xkeyboard_config}/etc/X11/xkb")
(lib.mesonOption "xkb_output_dir"
"${placeholder "out"}/share/X11/xkb/compiled")
(lib.mesonBool "libunwind" withLibunwind)
];
passthru.updateScript = gitUpdater {
# No nicer place to find latest release.
url = "https://gitlab.freedesktop.org/xorg/xserver.git";
rev-prefix = "xwayland-";
};
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;
mainProgram = "Xwayland";
maintainers = with maintainers; [ emantor ];
platforms = platforms.linux;
};
}