summary refs log tree commit diff
path: root/pkgs/development/libraries/libxkbcommon
diff options
context:
space:
mode:
authorMichael Weiss <dev.primeos@gmail.com>2021-01-09 14:28:49 +0100
committerMichael Weiss <dev.primeos@gmail.com>2021-01-09 14:28:49 +0100
commit236384f0a16bccf92f030300ff42d4530fbfeddc (patch)
tree9b587fe7ddac4531f68c7a554802ea0d34cb8abc /pkgs/development/libraries/libxkbcommon
parent379ca4ddcffbd749b705c1bd6798abb6dfefde25 (diff)
downloadnixpkgs-236384f0a16bccf92f030300ff42d4530fbfeddc.tar
nixpkgs-236384f0a16bccf92f030300ff42d4530fbfeddc.tar.gz
nixpkgs-236384f0a16bccf92f030300ff42d4530fbfeddc.tar.bz2
nixpkgs-236384f0a16bccf92f030300ff42d4530fbfeddc.tar.lz
nixpkgs-236384f0a16bccf92f030300ff42d4530fbfeddc.tar.xz
nixpkgs-236384f0a16bccf92f030300ff42d4530fbfeddc.tar.zst
nixpkgs-236384f0a16bccf92f030300ff42d4530fbfeddc.zip
libxkbcommon: 0.10.0 -> 1.0.3
Relevant changes:
- Add libxml2 as a required dependency
- Disable libxkbregistry for now (a new but optional library -> install
  into a dedicated output when we need it)
- Set the lookup path for system data files to /etc/xkb
- Enable the tests
- Extend the meta attributes and minor code style changes

Co-Authored-By: Cole Mickens <cole.mickens@gmail.com>
Diffstat (limited to 'pkgs/development/libraries/libxkbcommon')
-rw-r--r--pkgs/development/libraries/libxkbcommon/default.nix31
1 files changed, 24 insertions, 7 deletions
diff --git a/pkgs/development/libraries/libxkbcommon/default.nix b/pkgs/development/libraries/libxkbcommon/default.nix
index 6ed331a8a6b..87f85637775 100644
--- a/pkgs/development/libraries/libxkbcommon/default.nix
+++ b/pkgs/development/libraries/libxkbcommon/default.nix
@@ -1,30 +1,47 @@
-{ stdenv, fetchurl, fetchpatch, meson, ninja, pkgconfig, yacc, xkeyboard_config, libxcb, libX11, doxygen }:
+{ stdenv, fetchurl, meson, ninja, pkg-config, yacc, doxygen
+, xkeyboard_config, libxcb, libxml2
+, python3
+, libX11
+}:
 
 stdenv.mkDerivation rec {
   pname = "libxkbcommon";
-  version = "0.10.0";
+  version = "1.0.3";
 
   src = fetchurl {
     url = "https://xkbcommon.org/download/${pname}-${version}.tar.xz";
-    sha256 = "1wmnl0hngn6vrqrya4r8hvimlkr4jag39yjprls4gyrqvh667hsp";
+    sha256 = "0lmwglj16anhpaq0h830xsl1ivknv75i4lir9bk88aq73s2jy852";
   };
 
   outputs = [ "out" "dev" "doc" ];
 
-  nativeBuildInputs = [ meson ninja pkgconfig yacc doxygen ];
-  buildInputs = [ xkeyboard_config libxcb ];
+  nativeBuildInputs = [ meson ninja pkg-config yacc doxygen ];
+  buildInputs = [ xkeyboard_config libxcb libxml2 ];
+  checkInputs = [ python3 ];
 
   mesonFlags = [
-    "-Denable-wayland=false"
     "-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=false"
+    "-Denable-xkbregistry=false" # Optional, separate library (TODO: Install into extra output)
   ];
 
-  doCheck = false; # fails, needs unicode locale
+  doCheck = true;
+  preCheck = ''
+    patchShebangs ../test/
+  '';
 
   meta = with stdenv.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; [ ttuegel ];
     platforms = with platforms; unix;