Name libei
Description Library for Emulated Input
Version 1.5.0-1
Package Base libei
Homepage https://libinput.pages.freedesktop.org/libei/
Maintainers ['Fabian Bornschein <fabiscafe@archlinux.org>', 'Jan Alexander Steffens (heftig) <heftig@archlinux.org>']
Contributors []
Distro-repo https://gitlab.archlinux.org/archlinux/packaging/packages/libei
Sources ['git+https://gitlab.freedesktop.org/libinput/libei.git?signed#tag=1.5.0', 'nemequ-munit::git+https://github.com/nemequ/munit#commit=fbbdf1467eb0d04a6ee465def2e529e4c87f2118']
Dependencies ['gcc-libs', 'glibc', 'libevdev', 'systemd-libs']
Optional-Dependencies []
Build-Dependencies ['doxygen', 'git', 'libxkbcommon', 'meson', 'python-attrs', 'python-dbusmock', 'python-jinja', 'python-pytest', 'python-structlog', 'python-yaml', 'systemd']
Provides ['libei.so', 'libeis.so', 'liboeffis.so']
Builddate 26-08-2025 15:30:02
Architecture x86_64
Distro-Version
Licenses ['MIT']
Hash 898279e8fd0618c9ea4cfa1a87939cdb85e6208dc3a2721c0722c60934414be1
# Maintainer: Fabian Bornschein <fabiscafe@archlinux.org>
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>

pkgbase=libei
pkgname=(
  libei
  libei-docs
)
pkgver=1.5.0
pkgrel=1
pkgdesc="Library for Emulated Input"
url="https://libinput.pages.freedesktop.org/libei/"
arch=(x86_64)
license=(MIT)
depends=(
  gcc-libs
  glibc
  libevdev
  systemd-libs
)
makedepends=(
  doxygen
  git
  libxkbcommon
  meson
  python-attrs
  python-dbusmock
  python-jinja
  python-pytest
  python-structlog
  python-yaml
  systemd
)
checkdepends=(
  python-pytest-xdist
  valgrind
)
source=(
  "git+https://gitlab.freedesktop.org/libinput/libei.git?signed#tag=$pkgver"
  "nemequ-munit::git+https://github.com/nemequ/munit#commit=fbbdf1467eb0d04a6ee465def2e529e4c87f2118"
)
b2sums=('82c48f2d47e67f718bb3c779b1b5218af28b720f78f7d972f84059674fb8d63729eaea083dbae03c1c4ddd02f418cb06114572d58a8a58b7dc03f0103fba954f'
        'f9ffee024bf38c09736da3a4fe5aff85e95422d5be131ff5c6e392c1bd4f6c5f6a9cfff16ea044096e033fb24f1840520ef3a1ff2157b0e002c45597e45c2207')
validpgpkeys=(
  3C2C43D9447D5938EF4551EBE23B7E70B467F0BF # Peter Hutterer <peter.hutterer@who-t.net>
)

prepare() {
  # Inject munit
  ln -s nemequ-munit munit

  cd libei
}

build() {
  local meson_options=(
    -D documentation=api
  )

  # Inject munit
  export MESON_PACKAGE_CACHE_DIR="$srcdir"

  arch-meson libei build "${meson_options[@]}"
  meson compile -C build
  meson compile -C build doxygen
}

check() {
  # protocol tests are flaky
  meson test -C build --print-errorlogs --no-suite python
  meson test -C build --print-errorlogs --suite python

  # Extra valgrind tests
  meson test -C build --print-errorlogs --setup valgrind
}

package_libei() {
  provides=(lib{ei,eis,oeffis}.so)

  meson install -C build --destdir "$pkgdir" --skip-subprojects

  install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 libei/COPYING
}

package_libei-docs() {
  pkgdesc+=" (API documentation)"
  depends=()

  mkdir -p "$pkgdir/usr/share/doc/$pkgname"
  cp -a build/doc/html "$pkgdir/usr/share/doc/$pkgname/api"

  install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 libei/COPYING
}

# vim:set sw=2 sts=-1 et: