libxkbcommon: build the wayland tools on linux

This commit is contained in:
Peter Hoeg 2021-04-06 10:58:27 +08:00
parent d04f1c4314
commit 3349d99e26

View file

@ -1,9 +1,21 @@
{ lib, stdenv, fetchurl, meson, ninja, pkg-config, bison, doxygen { lib
, xkeyboard_config, libxcb, libxml2 , stdenv
, fetchurl
, meson
, ninja
, pkg-config
, bison
, doxygen
, xkeyboard_config
, libxcb
, libxml2
, python3 , python3
, libX11 , libX11
# To enable the "interactive-wayland" subcommand of xkbcli: # To enable the "interactive-wayland" subcommand of xkbcli. This is the
, withWaylandSupport ? false, wayland, wayland-protocols # wayland equivalent of `xev` on X11.
, withWaylandTools ? stdenv.isLinux
, wayland
, wayland-protocols
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -19,16 +31,16 @@ stdenv.mkDerivation rec {
depsBuildBuild = [ pkg-config ]; depsBuildBuild = [ pkg-config ];
nativeBuildInputs = [ meson ninja pkg-config bison doxygen ] nativeBuildInputs = [ meson ninja pkg-config bison doxygen ]
++ lib.optional withWaylandSupport wayland; ++ lib.optional withWaylandTools wayland;
buildInputs = [ xkeyboard_config libxcb libxml2 ] buildInputs = [ xkeyboard_config libxcb libxml2 ]
++ lib.optionals withWaylandSupport [ wayland wayland-protocols ]; ++ lib.optionals withWaylandTools [ wayland wayland-protocols ];
checkInputs = [ python3 ]; checkInputs = [ python3 ];
mesonFlags = [ mesonFlags = [
"-Dxkb-config-root=${xkeyboard_config}/etc/X11/xkb" "-Dxkb-config-root=${xkeyboard_config}/etc/X11/xkb"
"-Dxkb-config-extra-path=/etc/xkb" # default=$sysconfdir/xkb ($out/etc) "-Dxkb-config-extra-path=/etc/xkb" # default=$sysconfdir/xkb ($out/etc)
"-Dx-locale-root=${libX11.out}/share/X11/locale" "-Dx-locale-root=${libX11.out}/share/X11/locale"
"-Denable-wayland=${lib.boolToString withWaylandSupport}" "-Denable-wayland=${lib.boolToString withWaylandTools}"
]; ];
doCheck = true; doCheck = true;