Merge #5061: add xwayland

Also resolve minor nitpicks -- *during* the merge commit.
This commit is contained in:
Vladimír Čunát 2014-12-25 09:08:10 +01:00
commit 081e5c8387
3 changed files with 51 additions and 3 deletions

View File

@ -1,7 +1,8 @@
{ stdenv, fetchurl, pkgconfig, wayland, mesa, libxkbcommon, cairo, libxcb { stdenv, fetchurl, pkgconfig, wayland, mesa, libxkbcommon, cairo, libxcb
, libXcursor, x11, udev, libdrm, mtdev, libjpeg, pam, dbus, libinput , libXcursor, x11, udev, libdrm, mtdev, libjpeg, pam, dbus, libinput
, pango ? null, libunwind ? null, freerdp ? null, vaapi ? null, libva ? null , 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 let version = "1.6.0"; in
@ -21,7 +22,6 @@ stdenv.mkDerivation rec {
]; ];
configureFlags = [ configureFlags = [
"--enable-xwayland"
"--enable-x11-compositor" "--enable-x11-compositor"
"--enable-drm-compositor" "--enable-drm-compositor"
"--enable-wayland-compositor" "--enable-wayland-compositor"
@ -32,7 +32,11 @@ stdenv.mkDerivation rec {
"--enable-weston-launch" "--enable-weston-launch"
"--disable-setuid-install" # prevent install target to chown root weston-launch, which fails "--disable-setuid-install" # prevent install target to chown root weston-launch, which fails
] ++ stdenv.lib.optional (freerdp != null) "--enable-rdp-compositor" ] ++ 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; { meta = with stdenv.lib; {
description = "Reference implementation of a Wayland compositor"; description = "Reference implementation of a Wayland compositor";

View 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;
};
}

View File

@ -7925,6 +7925,8 @@ let
xorgVideoUnichrome = callPackage ../servers/x11/xorg/unichrome/default.nix { }; xorgVideoUnichrome = callPackage ../servers/x11/xorg/unichrome/default.nix { };
xwayland = with xorg; callPackage ../servers/x11/xorg/xwayland.nix { };
yaws = callPackage ../servers/http/yaws { }; yaws = callPackage ../servers/http/yaws { };
zabbix = recurseIntoAttrs (import ../servers/monitoring/zabbix { zabbix = recurseIntoAttrs (import ../servers/monitoring/zabbix {
@ -11154,6 +11156,7 @@ let
vaapi = null; vaapi = null;
libva = null; libva = null;
libwebp = null; libwebp = null;
xwayland = null;
}; };
weston = callPackage ../applications/window-managers/weston { weston = callPackage ../applications/window-managers/weston {