# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Ionut Biru <ibiru@archlinux.org>

pkgbase=at-spi2-core
pkgname=(at-spi2-core at-spi2-core-docs)
pkgver=2.46.0
pkgrel=2
pkgdesc="Protocol definitions and daemon for D-Bus at-spi"
url="https://gitlab.gnome.org/GNOME/at-spi2-core"
arch=(x86_64)
license=(GPL2)
depends=(
  dbus
  glib2
  libx11
  libxml2
  libxtst
  systemd
)
makedepends=(
  dbus-broker
  git
  gobject-introspection
  gtk-doc
  meson
)
options=(debug)
_commit=97d9ba04e19d0a9edd209d97db81eb6ede5fe4d6  # tags/AT_SPI2_CORE_2_46_0^0
source=("git+https://gitlab.gnome.org/GNOME/at-spi2-core.git#commit=$_commit")
sha256sums=('SKIP')

pkgver() {
  cd at-spi2-core
  git describe --tags | sed 's/^AT_SPI2_CORE_//;s/_/./g;s/-/+/g'
}

prepare() {
  cd at-spi2-core
}

build() {
  local meson_options=(
    -D default_bus=dbus-broker
    -D docs=true
  )

  arch-meson at-spi2-core build "${meson_options[@]}"
  meson compile -C build
}

check() {
  # memory test fails without desktop
  # broker fails to launch without journald
  dbus-run-session meson test -C build --print-errorlogs || :
}

package_at-spi2-core() {
  optdepends=('dbus-broker: Alternative bus implementation')
  provides=(
    "at-spi2-atk=$pkgver-$pkgrel"
    "atk=$pkgver-$pkgrel"
    libatk-1.0.so
    libatk-bridge-2.0.so
    libatspi.so
  )
  conflicts=(
    'at-spi2-atk<=2.38.0-2'
    'atk<=2.38.0-2'
  )
  replaces=(
    'at-spi2-atk<=2.38.0-2'
    'atk<=2.38.0-2'
  )

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

  mkdir -p doc/usr/share
  mv {"$pkgdir",doc}/usr/share/gtk-doc
}

package_at-spi2-core-docs() {
  pkgdesc+=" (documentation)"
  depends=()

  mv doc/* "$pkgdir"
}

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