diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/x11/xorg/xwayland.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/x11/xorg/xwayland.nix | 120 |
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; }; -}) +} |