about summary refs log tree commit diff
path: root/pkgs/development/libraries/wayland
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-02-17 05:17:07 +0000
committerMichael Weiss <dev.primeos@gmail.com>2021-04-02 19:06:27 +0200
commit4d8adb49d5299a62c9168971036ac1417ac44fcb (patch)
tree716f1701e4330d284fb1fced557dfc564c87d2c5 /pkgs/development/libraries/wayland
parent6f73a8570ca0cb6d567e8eaebc59293f12bb7483 (diff)
wayland: fix build on non-Linux
The Wayland libraries themselves only build on Linux, but other
platforms need wayland-scanner for cross-compiling to Linux.  So for
them, disable the libraries so only wayland-scanner is built.
Diffstat (limited to 'pkgs/development/libraries/wayland')
-rw-r--r--pkgs/development/libraries/wayland/default.nix22
1 files changed, 15 insertions, 7 deletions
diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix
index fb7d1972c0241..49a0356723c1f 100644
--- a/pkgs/development/libraries/wayland/default.nix
+++ b/pkgs/development/libraries/wayland/default.nix
@@ -10,7 +10,8 @@
 , libxml2
 , wayland
 , expat ? null # Build wayland-scanner (currently cannot be disabled as of 1.7.0)
-, withDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform
+, withLibraries ? stdenv.isLinux
+, withDocumentation ? withLibraries && stdenv.hostPlatform == stdenv.buildPlatform
 , graphviz-nox
 , doxygen
 , libxslt
@@ -21,6 +22,9 @@
 , docbook_xml_dtd_42
 }:
 
+# Documentation is only built when building libraries.
+assert withDocumentation -> withLibraries;
+
 # Require the optional to be enabled until upstream fixes or removes the configure flag
 assert expat != null;
 let
@@ -45,7 +49,10 @@ stdenv.mkDerivation rec {
   outputs = [ "out" ] ++ lib.optionals withDocumentation [ "doc" "man" ];
   separateDebugInfo = true;
 
-  mesonFlags = [ "-Ddocumentation=${lib.boolToString withDocumentation}" ];
+  mesonFlags = [
+    "-Dlibraries=${lib.boolToString withLibraries}"
+    "-Ddocumentation=${lib.boolToString withDocumentation}"
+  ];
 
   postPatch = lib.optionalString withDocumentation ''
     patchShebangs doc/doxygen/gen-doxygen.py
@@ -71,16 +78,17 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    libffi
     expat
     libxml2
+  ] ++ lib.optionals withLibraries [
+    libffi
   ] ++ lib.optionals withDocumentation [
     docbook_xsl
     docbook_xml_dtd_45
     docbook_xml_dtd_42
   ];
 
-  meta = {
+  meta = with lib; {
     description = "Core Wayland window system code and protocol";
     longDescription = ''
       Wayland is a project to define a protocol for a compositor to talk to its
@@ -91,9 +99,9 @@ stdenv.mkDerivation rec {
       rendering).
     '';
     homepage = "https://wayland.freedesktop.org/";
-    license = lib.licenses.mit; # Expat version
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ primeos codyopel ];
+    license = licenses.mit; # Expat version
+    platforms = if withLibraries then platforms.linux else platforms.unix;
+    maintainers = with maintainers; [ primeos codyopel ];
   };
 
   passthru.version = version;