linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / development / libraries / libxkbcommon / default.nix
blobd6e8b3958e40075059b0d3e2376d1ace7e3e9c05
1 { lib, stdenv, fetchurl, meson, ninja, pkg-config, bison, doxygen
2 , xkeyboard_config, libxcb, libxml2
3 , python3
4 , libX11
5 # To enable the "interactive-wayland" subcommand of xkbcli:
6 , withWaylandSupport ? false, wayland, wayland-protocols
7 }:
9 stdenv.mkDerivation rec {
10   pname = "libxkbcommon";
11   version = "1.1.0";
13   src = fetchurl {
14     url = "https://xkbcommon.org/download/${pname}-${version}.tar.xz";
15     sha256 = "0in2fq2x4yhyjmcn9n5n43zsawsdh12d4sm6l57934kgb75gqb21";
16   };
18   patches = [
19     ./fix-cross-compilation.patch
20   ];
22   outputs = [ "out" "dev" "doc" ];
24   nativeBuildInputs = [ meson ninja pkg-config bison doxygen ]
25     ++ lib.optional withWaylandSupport wayland;
26   buildInputs = [ xkeyboard_config libxcb libxml2 ]
27     ++ lib.optionals withWaylandSupport [ wayland wayland-protocols ];
28   checkInputs = [ python3 ];
30   mesonFlags = [
31     "-Dxkb-config-root=${xkeyboard_config}/etc/X11/xkb"
32     "-Dxkb-config-extra-path=/etc/xkb" # default=$sysconfdir/xkb ($out/etc)
33     "-Dx-locale-root=${libX11.out}/share/X11/locale"
34     "-Denable-wayland=${lib.boolToString withWaylandSupport}"
35   ];
37   doCheck = true;
38   preCheck = ''
39     patchShebangs ../test/
40   '';
42   meta = with lib; {
43     description = "A library to handle keyboard descriptions";
44     longDescription = ''
45       libxkbcommon is a keyboard keymap compiler and support library which
46       processes a reduced subset of keymaps as defined by the XKB (X Keyboard
47       Extension) specification. It also contains a module for handling Compose
48       and dead keys.
49     ''; # and a separate library for listing available keyboard layouts.
50     homepage = "https://xkbcommon.org";
51     changelog = "https://github.com/xkbcommon/libxkbcommon/blob/xkbcommon-${version}/NEWS";
52     license = licenses.mit;
53     maintainers = with maintainers; [ primeos ttuegel ];
54     platforms = with platforms; unix;
55   };