# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Andreas Radke <andyrtr@archlinux.org>

pkgbase=libinput
pkgname=(
  libinput
  libinput-tools
)
pkgver=1.30.1
pkgrel=1
pkgdesc="Input device management and event handling library"
url="https://wayland.freedesktop.org/libinput/doc/latest/"
arch=(x86_64 aarch64)
license=(MIT)
depends=(
  gcc-libs
  glibc
  libevdev
  libwacom
  lua
  mtdev
  systemd-libs
)
makedepends=(
  cairo
  check
  git
  glib2
  gtk4
  libx11
  meson
  python
  python-libevdev
  python-pyudev
  python-yaml
  wayland
  wayland-protocols
)
checkdepends=(python-pytest)
source=(
  "git+https://gitlab.freedesktop.org/libinput/libinput.git?signed#tag=$pkgver"
)
b2sums=('48d0a7cb8604156ff746a2a413eea39ccd8e72c117eedc3611f538805eb0cc97d2639e36b5a05fc4d324b9baaba9ccf1058dc3728400f741f688fccaf2a37a28')
validpgpkeys=(
  3C2C43D9447D5938EF4551EBE23B7E70B467F0BF # Peter Hutterer (Who-T) <office@who-t.net>
)

build() {
  local meson_options=(
    # upstream recommends not building docs
    -D documentation=false
  )

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

check() {
  meson test -C build --print-errorlogs
}

_pick() {
  local p="$1" f d; shift
  for f; do
    d="$srcdir/$p/${f#$pkgdir/}"
    mkdir -p "$(dirname "$d")"
    mv "$f" "$d"
    rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
  done
}

package_libinput() {
  optdepends=('libinput-tools: debug utilities')
  provides=(libinput.so)

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

  (
    cd "$pkgdir"

    _pick tools usr/bin
    _pick tools usr/lib/libinput
    _pick tools usr/share/man
    _pick tools usr/share/zsh
  )

  install -Dm644 libinput/COPYING -t "$pkgdir/usr/share/licenses/$pkgname"
}

package_libinput-tools() {
  pkgdesc+=" (debug utilities)"
  depends=(
    cairo
    gcc-libs
    glib2
    glibc
    gtk4
    libevdev
    libinput
    libx11
    python
    python-libevdev
    python-pyudev
    python-yaml
    systemd-libs
    wayland
  )

  mv tools/* "$pkgdir"

  install -Dm644 libinput/COPYING -t "$pkgdir/usr/share/licenses/$pkgname"
}

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