# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Jan Alexander Steffens <jan.steffens@gmail.com>
# Contributor: Daniel Micay <danielmicay@gmail.com>
# Contributor: Mladen Pejakovic <pejakm@gmail.com>

pkgbase=lib32-libxkbcommon
pkgname=(
  lib32-libxkbcommon
  lib32-libxkbcommon-x11
)
pkgver=1.7.0
pkgrel=2
pkgdesc='Keymap handling library for toolkits and window systems (32-bit)'
url='https://xkbcommon.org/'
arch=(x86_64)
license=(MIT)
makedepends=(
  git
  lib32-glibc
  lib32-libxcb
  lib32-libxml2
  lib32-wayland
  meson
  wayland-protocols
  xkeyboard-config
  xorgproto
)
checkdepends=(
  libgl
  xorg-server-xvfb
)
source=("git+https://github.com/xkbcommon/libxkbcommon#tag=xkbcommon-$pkgver")
b2sums=('70da3ad61589c68a06c6456034f17afad3962045552641ab9e099cee821eb935d84b11de9ac52af8f79111ef222466f39cfc9a6f5ae9cac610c474a9305cd50a')

prepare() {
  cd libxkbcommon
}

build() {
  local meson_options=(
    --cross-file lib32
    -D enable-bash-completion=false
    -D enable-tools=false
  )

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

check() {
  xvfb-run -s '-nolisten local' 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_lib32-libxkbcommon() {
  depends=(
    lib32-glibc
    lib32-libxml2
    xkeyboard-config
    libxkbcommon
  )
  provides=(
    libxkbcommon.so
    libxkbregistry.so
  )

  meson install -C build --destdir "$pkgdir"
  rm -r "$pkgdir/usr/include"

  _pick x11 "$pkgdir"/usr/lib32/*x11*
  _pick x11 "$pkgdir"/usr/lib32/pkgconfig/*x11*

  install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 libxkbcommon/LICENSE
}

package_lib32-libxkbcommon-x11() {
  pkgdesc='Keyboard handling library using XKB data for X11 XCB clients (32-bit)'
  depends=(
    lib32-glibc
    lib32-libxcb
    lib32-libxkbcommon
    libxkbcommon.so
    libxkbcommon-x11
  )
  provides=(
    libxkbcommon-x11.so
  )

  mv x11/* "$pkgdir"/

  install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 libxkbcommon/LICENSE
}

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