mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-14 08:54:46 +00:00
33afbf39f6
checkInputs used to be added to nativeBuildInputs. Now we have nativeCheckInputs to do that instead. Doing this treewide change allows to keep hashes identical to before the introduction of nativeCheckInputs.
68 lines
1.9 KiB
Nix
68 lines
1.9 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchurl
|
|
, meson
|
|
, ninja
|
|
, pkg-config
|
|
, bison
|
|
, doxygen
|
|
, xkeyboard_config
|
|
, libxcb
|
|
, libxml2
|
|
, python3
|
|
, libX11
|
|
# To enable the "interactive-wayland" subcommand of xkbcli. This is the
|
|
# wayland equivalent of `xev` on X11.
|
|
, withWaylandTools ? stdenv.isLinux
|
|
, wayland
|
|
, wayland-protocols
|
|
, wayland-scanner
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "libxkbcommon";
|
|
version = "1.4.1";
|
|
|
|
src = fetchurl {
|
|
url = "https://xkbcommon.org/download/${pname}-${version}.tar.xz";
|
|
sha256 = "0fbb2dyjvf71p42y2jmwdcylsvj03w52f5rb23c2d00rwahhfg4l";
|
|
};
|
|
|
|
outputs = [ "out" "dev" "doc" ];
|
|
|
|
depsBuildBuild = [ pkg-config ];
|
|
nativeBuildInputs = [ meson ninja pkg-config bison doxygen ]
|
|
++ lib.optional withWaylandTools wayland-scanner;
|
|
buildInputs = [ xkeyboard_config libxcb libxml2 ]
|
|
++ lib.optionals withWaylandTools [ wayland wayland-protocols ];
|
|
nativeCheckInputs = [ python3 ];
|
|
|
|
mesonFlags = [
|
|
"-Dxkb-config-root=${xkeyboard_config}/etc/X11/xkb"
|
|
"-Dxkb-config-extra-path=/etc/xkb" # default=$sysconfdir/xkb ($out/etc)
|
|
"-Dx-locale-root=${libX11.out}/share/X11/locale"
|
|
"-Denable-wayland=${lib.boolToString withWaylandTools}"
|
|
];
|
|
|
|
doCheck = true;
|
|
preCheck = ''
|
|
patchShebangs ../test/
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "A library to handle keyboard descriptions";
|
|
longDescription = ''
|
|
libxkbcommon is a keyboard keymap compiler and support library which
|
|
processes a reduced subset of keymaps as defined by the XKB (X Keyboard
|
|
Extension) specification. It also contains a module for handling Compose
|
|
and dead keys.
|
|
''; # and a separate library for listing available keyboard layouts.
|
|
homepage = "https://xkbcommon.org";
|
|
changelog = "https://github.com/xkbcommon/libxkbcommon/blob/xkbcommon-${version}/NEWS";
|
|
license = licenses.mit;
|
|
maintainers = with maintainers; [ primeos ttuegel ];
|
|
mainProgram = "xkbcli";
|
|
platforms = with platforms; unix;
|
|
};
|
|
}
|