summary refs log tree commit diff
path: root/pkgs/applications/window-managers/weston/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/window-managers/weston/default.nix')
-rw-r--r--pkgs/applications/window-managers/weston/default.nix45
1 files changed, 29 insertions, 16 deletions
diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix
index 73a6412afab..9b88400ef53 100644
--- a/pkgs/applications/window-managers/weston/default.nix
+++ b/pkgs/applications/window-managers/weston/default.nix
@@ -1,33 +1,46 @@
-{ stdenv, fetchurl, pkgconfig, wayland, mesa, libxkbcommon
-, cairo, libxcb, libXcursor, x11, udev, libdrm, mtdev
-, libjpeg, pam, autoconf, automake, libtool, dbus }:
-
-let version = "1.5.0"; in
+{ 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, xwayland ? null
+# beware of null defaults, as the parameters *are* supplied by callPackage by default
+}:
 
 stdenv.mkDerivation rec {
-  name = "weston-${version}";
+  name = "weston-${wayland.version}";
 
   src = fetchurl {
     url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "113nig2dmbgrjhi79k0zw77vicnx8vkaihawd0nsg6n79ah8nf06";
+    sha256 = "1kb6a494j56sh7iy43xwkjlr3bh0nnkq4bkimwj6qirzbya12i8w";
   };
 
-  #ToDo: libinput can be split away
   buildInputs = [
-    pkgconfig wayland mesa libxkbcommon
-    cairo libxcb libXcursor x11 udev libdrm mtdev libjpeg pam dbus.libs
+    pkgconfig wayland mesa libxkbcommon cairo libxcb libXcursor x11 udev libdrm
+    mtdev libjpeg pam dbus.libs libinput pango libunwind freerdp vaapi libva
+    libwebp
   ];
 
-  NIX_CFLAGS_COMPILE = "-I${libdrm}/include/libdrm";
-
   configureFlags = [
+    "--enable-x11-compositor"
+    "--enable-drm-compositor"
+    "--enable-wayland-compositor"
+    "--enable-headless-compositor"
+    "--enable-fbdev-compositor"
+    "--enable-screen-sharing"
+    "--enable-clients"
+    "--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.optionals (xwayland != null) [
+        "--enable-xwayland"
+        "--with-xserver-path=${xwayland}/bin/Xwayland"
+      ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Reference implementation of a Wayland compositor";
     homepage = http://wayland.freedesktop.org/;
-    license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wkennington ];
   };
 }