lol
1{ stdenv, fetchurl, fetchpatch, meson, ninja, pkgconfig, yacc, xkeyboard_config, libxcb, libX11, doxygen }:
2
3stdenv.mkDerivation rec {
4 name = "libxkbcommon-0.8.0";
5
6 src = fetchurl {
7 url = "https://xkbcommon.org/download/${name}.tar.xz";
8 sha256 = "0vgy84vfbig5bqznr137h5arjidnfwrxrdli0pxyn2jfn1fjcag8";
9 };
10
11 outputs = [ "out" "dev" "doc" ];
12
13 nativeBuildInputs = [ meson ninja pkgconfig yacc doxygen ];
14 buildInputs = [ xkeyboard_config libxcb ];
15
16 patches = [
17 # darwin compatibility
18 (fetchpatch {
19 url = https://github.com/xkbcommon/libxkbcommon/commit/edb1c662394578a54b7bbed231d918925e5d8150.patch;
20 sha256 = "0ydjlir32r3xfsbqhnsx1bz6ags2m908yhf9i09i1s7sgcimbcx5";
21 })
22 ];
23
24 mesonFlags = [
25 "-Denable-wayland=false"
26 "-Dxkb-config-root=${xkeyboard_config}/etc/X11/xkb"
27 "-Dx-locale-root=${libX11.out}/share/X11/locale"
28 ];
29
30 doCheck = false; # fails, needs unicode locale
31
32 meta = with stdenv.lib; {
33 description = "A library to handle keyboard descriptions";
34 homepage = https://xkbcommon.org;
35 license = licenses.mit;
36 maintainers = with maintainers; [ garbas ttuegel ];
37 platforms = with platforms; unix;
38 };
39}