Merge #5061: add xwayland
Also resolve minor nitpicks -- *during* the merge commit.
This commit is contained in:
commit
081e5c8387
@ -1,7 +1,8 @@
|
||||
{ stdenv, fetchurl, pkgconfig, wayland, mesa, libxkbcommon, cairo, libxcb
|
||||
, libXcursor, x11, udev, libdrm, mtdev, libjpeg, pam, dbus, libinput
|
||||
, pango ? null, libunwind ? null, freerdp ? null, vaapi ? null, libva ? null
|
||||
, libwebp ? null
|
||||
, libwebp ? null, xwayland ? null
|
||||
# beware of null defaults, as the parameters *are* supplied by callPackage by default
|
||||
}:
|
||||
|
||||
let version = "1.6.0"; in
|
||||
@ -21,7 +22,6 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--enable-xwayland"
|
||||
"--enable-x11-compositor"
|
||||
"--enable-drm-compositor"
|
||||
"--enable-wayland-compositor"
|
||||
@ -32,7 +32,11 @@ stdenv.mkDerivation rec {
|
||||
"--enable-weston-launch"
|
||||
"--disable-setuid-install" # prevent install target to chown root weston-launch, which fails
|
||||
] ++ stdenv.lib.optional (freerdp != null) "--enable-rdp-compositor"
|
||||
++ stdenv.lib.optional (vaapi != null) "--enabe-vaapi-recorder";
|
||||
++ stdenv.lib.optional (vaapi != null) "--enabe-vaapi-recorder"
|
||||
++ stdenv.lib.optionals (xwayland != null) [
|
||||
"--enable-xwayland"
|
||||
"--with-xserver-path=${xwayland}/bin/Xwayland"
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Reference implementation of a Wayland compositor";
|
||||
|
41
pkgs/servers/x11/xorg/xwayland.nix
Normal file
41
pkgs/servers/x11/xorg/xwayland.nix
Normal file
@ -0,0 +1,41 @@
|
||||
|
||||
{ stdenv, wayland, xorgserver, xkbcomp, xkeyboard_config, epoxy, libxslt, libunwind, makeWrapper }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
overrideDerivation xorgserver (oldAttrs: {
|
||||
|
||||
name = "xwayland-${xorgserver.version}";
|
||||
propagatedNativeBuildInputs = oldAttrs.propagatedNativeBuildInputs
|
||||
++ [wayland epoxy libxslt makeWrapper libunwind];
|
||||
configureFlags = [
|
||||
"--disable-docs"
|
||||
"--disable-devel-docs"
|
||||
"--enable-xwayland"
|
||||
"--disable-xorg"
|
||||
"--disable-xvfb"
|
||||
"--disable-xnest"
|
||||
"--disable-xquartz"
|
||||
"--disable-xwin"
|
||||
"--with-default-font-path="
|
||||
"--with-xkb-bin-directory=${xkbcomp}/bin"
|
||||
"--with-xkb-path=${xkeyboard_config}/etc/X11/xkb"
|
||||
"--with-xkb-output=$out/share/X11/xkb/compiled"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
rm -fr $out/share/X11/xkb/compiled
|
||||
ln -s /var/tmp $out/share/X11/xkb/compiled
|
||||
'';
|
||||
|
||||
}) // {
|
||||
meta = {
|
||||
description = "An X server for interfacing X11 apps with the Wayland protocol";
|
||||
homepage = http://wayland.freedesktop.org/xserver.html;
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
@ -7925,6 +7925,8 @@ let
|
||||
|
||||
xorgVideoUnichrome = callPackage ../servers/x11/xorg/unichrome/default.nix { };
|
||||
|
||||
xwayland = with xorg; callPackage ../servers/x11/xorg/xwayland.nix { };
|
||||
|
||||
yaws = callPackage ../servers/http/yaws { };
|
||||
|
||||
zabbix = recurseIntoAttrs (import ../servers/monitoring/zabbix {
|
||||
@ -11154,6 +11156,7 @@ let
|
||||
vaapi = null;
|
||||
libva = null;
|
||||
libwebp = null;
|
||||
xwayland = null;
|
||||
};
|
||||
|
||||
weston = callPackage ../applications/window-managers/weston {
|
||||
|
Loading…
Reference in New Issue
Block a user