libxkbcommon-1.13.1

#### Beyond Linux® From Scratch (systemd Edition) - Version r13.0-475

### Chapter 9. General Libraries

- Prev

  libuv-1.52.1

- Next

  libxml2-2.15.3

- Up
- Home

# libxkbcommon-1.13.1

## Introduction to libxkbcommon

libxkbcommon is a keymap compiler and support library which processes a reduced subset of keymaps as defined by the XKB specification.

### Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

### Package Information

- Download (HTTP): https://github.com/lfs-book/libxkbcommon/archive/v1.13.1/libxkbcommon-1.13.1.tar.gz

- Download MD5 sum: 11b7276e2be65943765ec05d9f19fee4

- Download size: 1.2 MB

- Estimated disk space required: 44 MB (with tests)

- Estimated build time: 0.4 SBU (with tests)

### Note

On GitHub we've forked the upstream repository into our own `lfs-book` namespace and recreated a tag for the release. This is done to ensure the downloaded tarball file name to be correct and consistent (i.e. it shouldn't change when using the browser instead of a tool like wget). Our tag and the upstream release tag are on the same commit, so we've not introduced any change to the tarball content except the name of its top-level directory (that Git does not track).

### libxkbcommon Dependencies

#### Required

xkeyboard-config-2.47 (runtime)

#### Recommended

libxcb-1.17.0, Wayland-1.24.0, and wayland-protocols-1.48

#### Optional

Doxygen-1.17.0 (for generating the documentation) and Xvfb (from Xorg-Server-21.1.22 or Xwayland-24.1.11)

## Installation of libxkbcommon

Install libxkbcommon by running the following commands:

    mkdir build &&
    cd    build &&

    meson setup ..             \
          --prefix=/usr        \
          --buildtype=release  \
          -D enable-docs=false &&
    ninja

To test the results, ensure Xvfb and xkeyboard-config-2.47 are available, then issue: ninja test.

Now, as the `root` user:

    ninja install

## Command Explanations

`--buildtype=release`: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

`-D enable-docs=true`: This switch enables documentation generation. Doxygen-1.17.0 is required.

mv -v /usr/share/doc/libxkbcommon{,-1.13.1}: If you built the documentation, use this command to install it in a versioned directory.

## Contents

Installed Programs: xkbcli
Installed Libraries: libxkbcommon.so, libxkbcommon-x11.so, and libxkbregistry.so
Installed Directories: /usr/include/xkbcommon, /usr/libexec/xkbcommon, and (optionally) /usr/share/doc/libxkbcommon-1.13.1

### Short Descriptions

xkbcli | provides a debugger and compiler for XKB keymaps
`libxkbcommon.so` | contains the libxkbcommon API functions
`libxkbcommon-x11.so` | contains the libxkbcommon X11 specific API functions
`libxkbregistry.so` | contains a list of available XKB models, layouts, and variants for a given ruleset

- Prev

  libuv-1.52.1

- Next

  libxml2-2.15.3

- Up
- Home