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

pkgbase=pygobject
pkgname=(
  python-gobject
  python-gobject-docs
)
pkgver=3.56.2
pkgrel=1
pkgdesc="Python bindings for GLib/GObject/GIO/GTK"
url="https://pygobject.gnome.org/"
arch=(x86_64 aarch64)
license=(LGPL-2.1-or-later)
depends=(
  glib2
  glibc
  gobject-introspection-runtime
  libffi
  python
)
makedepends=(
  git
  gobject-introspection
  meson
  python-cairo
  python-pydata-sphinx-theme
  python-setuptools
  python-sphinx
  python-sphinx-copybutton
)
checkdepends=(
  gdk-pixbuf2
  gtk4
  python-pytest
  xorg-server-xvfb
)
optdepends=('python-cairo: Cairo bindings')
source=(
  "git+https://gitlab.gnome.org/GNOME/pygobject.git?signed#tag=$pkgver"
  "git+https://gitlab.gnome.org/GNOME/gobject-introspection-tests.git#commit=5e961ff83039340d104f57dbb1f9c3a9f55f5029"
  "git+https://github.com/python/pythoncapi-compat#commit=22811c3f0e69908894d2bd724f572b32667f2141"
)
b2sums=('e041402a62136795a9096c9a51afcf848dd886ad630f432ca98cfb9edc34c65ec08a9cf55bcb2831052cf6dbc4c866ba1b1766d5dc32e2748082890fad7cc723'
        '10f24980f4cfd0c5becbeec82c439b5a6e4f3016d504d03efbbb54aa1b5c782b9ef64e507efe78f7b2ce5e7179f8ca030750f1dbf53265ac4b2f5d52118bbff9'
        '6ff1699812c68bbfe129906da84cec73102d9f1a83975a13a8325341808a71fc73b75e0a8cb532b68dbb7f174bca6d0fb83d48f834e72e74b28fb71a51a8491b')
validpgpkeys=(
  0EBF782C5D53F7E5FB02A66746BD761F7A49B0EC # Christoph Reiter <reiter.christoph@gmail.com>
  12B7C9847B4AD5787318A831A61779569ADCE5E6 # Arjan Molenaar <gaphor@gmail.com>
)

prepare() {
  cd pygobject
}

build() {
  # Inject subprojects
  export MESON_PACKAGE_CACHE_DIR="$srcdir"

  arch-meson pygobject build
  meson compile -C build
}

check() {
  PYTEST_ADDOPTS="-v" PYGI_TEST_VERBOSE=1 \
    xvfb-run -s '-nolisten local' \
    meson test -C build --print-errorlogs
}

package_python-gobject() {
  provides=("pygobject-devel=$pkgver")
  conflicts=(pygobject-devel)
  replaces=('pygobject-devel<=3.36.1-1')

  meson install -C build --destdir "$pkgdir"
  python -m compileall -d /usr/lib "$pkgdir/usr/lib"
  python -O -m compileall -d /usr/lib "$pkgdir/usr/lib"
}

package_python-gobject-docs() {
  pkgdesc="Developer documentation for PyGObject"
  depends=()
  optdepends=()

  python -m sphinx -b html pygobject/docs "$pkgdir/usr/share/doc/pygobject/html"
  rm -r "$pkgdir/usr/share/doc/pygobject/html/.doctrees"
}


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