summary refs log tree commit diff
path: root/pkgs/development/libraries/wayland/default.nix
diff options
context:
space:
mode:
authorcodyopel <codyopel@gmail.com>2015-02-18 21:31:19 -0500
committerWilliam A. Kennington III <william@wkennington.com>2015-02-19 09:47:40 -0800
commita53da93b2bfa5a2731b40b78cfd1aff1ff77facc (patch)
tree02d4e3aec421c560e3eba3bb742413f7470c2b72 /pkgs/development/libraries/wayland/default.nix
parent9775f462b768c7dd39c8f002b0604bc654b64488 (diff)
downloadnixlib-a53da93b2bfa5a2731b40b78cfd1aff1ff77facc.tar
nixlib-a53da93b2bfa5a2731b40b78cfd1aff1ff77facc.tar.gz
nixlib-a53da93b2bfa5a2731b40b78cfd1aff1ff77facc.tar.bz2
nixlib-a53da93b2bfa5a2731b40b78cfd1aff1ff77facc.tar.lz
nixlib-a53da93b2bfa5a2731b40b78cfd1aff1ff77facc.tar.xz
nixlib-a53da93b2bfa5a2731b40b78cfd1aff1ff77facc.tar.zst
nixlib-a53da93b2bfa5a2731b40b78cfd1aff1ff77facc.zip
wayland: 1.6.0 -> 1.7.0 & add optionals
All non-essential dependencies are now optional, with exception
to wayland-scanner which if not enabled causes wayland to fail to build
Diffstat (limited to 'pkgs/development/libraries/wayland/default.nix')
-rw-r--r--pkgs/development/libraries/wayland/default.nix38
1 files changed, 31 insertions, 7 deletions
diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix
index 8c1ac2deb66a..e3cabcc8abf3 100644
--- a/pkgs/development/libraries/wayland/default.nix
+++ b/pkgs/development/libraries/wayland/default.nix
@@ -1,21 +1,45 @@
-{ stdenv, fetchurl, libffi, expat, pkgconfig, libxslt, docbook_xsl, doxygen }:
+{ stdenv, fetchurl, pkgconfig
+, libffi
+, scannerSupport ? true, expat ? null # Build wayland-scanner (currently cannot be disabled as of 1.7.0)
+, documentationSupport ? false, docbook_xsl ? null, doxygen ? null, graphviz-nox ? null, libxslt ? null, xmlto ? null #, publican ? null
+}:
 
-let version = "1.6.0"; in
+# Require the optional to be enabled until upstream fixes or removes the configure flag
+assert scannerSupport;
 
+assert scannerSupport -> (expat != null);
+assert documentationSupport -> ((docbook_xsl != null) && (doxygen != null) && (graphviz-nox != null) && (libxslt != null) && (xmlto != null));
+
+let
+  mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}";
+in
+
+with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "wayland-${version}";
+  version = "1.7.0";
 
   src = fetchurl {
     url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "0zzwlrmxil10g9rvdgha0y1d8z0x97g65g14kl2qrl2krwni1md7";
+    sha256 = "173w0pqzk2m7hjlg15bymrx7ynxgq1ciadg03hzybxwnvfi4gsmx";
   };
 
-  buildInputs = [ pkgconfig libffi expat libxslt docbook_xsl doxygen ];
+  configureFlags = [
+    (mkFlag scannerSupport "scanner")
+    (mkFlag documentationSupport "documentation")
+  ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ libffi ]
+    ++ optional scannerSupport expat
+    ++ optionals documentationSupport [ docbook_xsl doxygen graphviz-nox libxslt xmlto ];
 
   meta = {
     description = "Reference implementation of the wayland protocol";
-    homepage = http://wayland.freedesktop.org/;
-    license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.linux;
+    homepage    = http://wayland.freedesktop.org/;
+    license     = licenses.mit;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ codyopel wkennington ];
   };
 }