mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-01 01:33:20 +00:00
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.
This commit is contained in:
parent
6f73a8570c
commit
4d8adb49d5
@ -10,7 +10,8 @@
|
|||||||
, libxml2
|
, libxml2
|
||||||
, wayland
|
, wayland
|
||||||
, expat ? null # Build wayland-scanner (currently cannot be disabled as of 1.7.0)
|
, 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
|
, graphviz-nox
|
||||||
, doxygen
|
, doxygen
|
||||||
, libxslt
|
, libxslt
|
||||||
@ -21,6 +22,9 @@
|
|||||||
, docbook_xml_dtd_42
|
, 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
|
# Require the optional to be enabled until upstream fixes or removes the configure flag
|
||||||
assert expat != null;
|
assert expat != null;
|
||||||
let
|
let
|
||||||
@ -45,7 +49,10 @@ stdenv.mkDerivation rec {
|
|||||||
outputs = [ "out" ] ++ lib.optionals withDocumentation [ "doc" "man" ];
|
outputs = [ "out" ] ++ lib.optionals withDocumentation [ "doc" "man" ];
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
|
||||||
mesonFlags = [ "-Ddocumentation=${lib.boolToString withDocumentation}" ];
|
mesonFlags = [
|
||||||
|
"-Dlibraries=${lib.boolToString withLibraries}"
|
||||||
|
"-Ddocumentation=${lib.boolToString withDocumentation}"
|
||||||
|
];
|
||||||
|
|
||||||
postPatch = lib.optionalString withDocumentation ''
|
postPatch = lib.optionalString withDocumentation ''
|
||||||
patchShebangs doc/doxygen/gen-doxygen.py
|
patchShebangs doc/doxygen/gen-doxygen.py
|
||||||
@ -71,16 +78,17 @@ stdenv.mkDerivation rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
libffi
|
|
||||||
expat
|
expat
|
||||||
libxml2
|
libxml2
|
||||||
|
] ++ lib.optionals withLibraries [
|
||||||
|
libffi
|
||||||
] ++ lib.optionals withDocumentation [
|
] ++ lib.optionals withDocumentation [
|
||||||
docbook_xsl
|
docbook_xsl
|
||||||
docbook_xml_dtd_45
|
docbook_xml_dtd_45
|
||||||
docbook_xml_dtd_42
|
docbook_xml_dtd_42
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = {
|
meta = with lib; {
|
||||||
description = "Core Wayland window system code and protocol";
|
description = "Core Wayland window system code and protocol";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
Wayland is a project to define a protocol for a compositor to talk to its
|
Wayland is a project to define a protocol for a compositor to talk to its
|
||||||
@ -91,9 +99,9 @@ stdenv.mkDerivation rec {
|
|||||||
rendering).
|
rendering).
|
||||||
'';
|
'';
|
||||||
homepage = "https://wayland.freedesktop.org/";
|
homepage = "https://wayland.freedesktop.org/";
|
||||||
license = lib.licenses.mit; # Expat version
|
license = licenses.mit; # Expat version
|
||||||
platforms = lib.platforms.linux;
|
platforms = if withLibraries then platforms.linux else platforms.unix;
|
||||||
maintainers = with lib.maintainers; [ primeos codyopel ];
|
maintainers = with maintainers; [ primeos codyopel ];
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru.version = version;
|
passthru.version = version;
|
||||||
|
Loading…
Reference in New Issue
Block a user