Name libgirepository
Description Introspection system for GObject-based libraries - runtime library
Version 1.86.0-2
Package Base gobject-introspection
Homepage https://wiki.gnome.org/Projects/GObjectIntrospection
Maintainers ['Fabian Bornschein <fabiscafe@archlinux.org>', 'Jan Alexander Steffens (heftig) <heftig@archlinux.org>', 'Jelle van der Waa <jelle@archlinux.org>']
Contributors ['Jan de Groot <jgc@archlinux.org>']
Distro-repo https://gitlab.archlinux.org/archlinux/packaging/packages/gobject-introspection
Sources ['git+https://gitlab.gnome.org/GNOME/glib.git?signed#tag=2.86.3', 'git+https://gitlab.gnome.org/GNOME/gobject-introspection-tests.git', 'git+https://gitlab.gnome.org/GNOME/gobject-introspection.git#tag=1.86.0']
Dependencies ['glib2', 'glibc', 'libffi', 'libffi.so', 'libglib-2.0.so', 'libgmodule-2.0.so', 'libgobject-2.0.so']
Optional-Dependencies []
Build-Dependencies ['glib2', 'cairo', 'git', 'glibc', 'gtk-doc', 'libffi', 'libffi', 'meson', 'python', 'python-mako', 'python-markdown', 'python-setuptools', 'python-sphinx']
Provides ['libgirepository-1.0.so']
Builddate 15-12-2025 14:59:55
Architecture x86_64
Distro-Version
Licenses ['GPL-2.0-or-later', 'LGPL-2.0-or-later']
Hash edf68340a4aab5c4e5a7a2886512367c7ed6ad2be5e1f07ffc6aff07ebb0a1bf
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Maintainer: Fabian Bornschein <fabiscafe@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>

pkgbase=gobject-introspection
pkgname=(
  gobject-introspection
  gobject-introspection-runtime
  libgirepository
)
pkgver=1.86.0
pkgrel=2
pkgdesc="Introspection system for GObject-based libraries"
url="https://wiki.gnome.org/Projects/GObjectIntrospection"
arch=(x86_64)
license=(
  GPL-2.0-or-later
  LGPL-2.0-or-later
)
_glibver=2.86.3
makedepends=(
  "glib2=$_glibver"
  cairo
  git
  glibc
  gtk-doc
  libffi
  libffi
  meson
  python
  python-mako
  python-markdown
  python-setuptools
  python-sphinx
)
source=(
  "git+https://gitlab.gnome.org/GNOME/gobject-introspection.git#tag=$pkgver"
  "git+https://gitlab.gnome.org/GNOME/glib.git?signed#tag=$_glibver"
  "git+https://gitlab.gnome.org/GNOME/gobject-introspection-tests.git"
)
b2sums=('46007e1c426ebfde0d94b84398a1d99e0fc516f1b5a78590d0d1ddec76b90d19a9c6f4f9959a6d243cbb3601390763bbdd7d05d1d1c3d4fb9746f453b40ea849'
        'c384d8196e7966261d78245b59a0d14a061d49f7fb15faebd6e10527eb58c2893bffaee30f894b45feaeb1e1d8ccfc65e79958c42458b298e1e9675f68202780'
        'SKIP')
validpgpkeys=(
  923B7025EE03C1C59F42684CF0942E894B2EAFA0  # Philip Withnall <philip@tecnocode.co.uk>
  D4C501DA48EB797A081750939449C2F50996635F  # Marco Trevisan <marco@trevi.me>
)

prepare() {
  cd $pkgbase

  git submodule init
  git submodule set-url gobject-introspection-tests "$srcdir/gobject-introspection-tests"
  git -c protocol.file.allow=always -c protocol.allow=never submodule update
}

build() {
  local meson_options=(
    -D glib_src_dir="$srcdir/glib"
    -D gtk_doc=true
  )

  arch-meson $pkgbase 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_gobject-introspection() {
  depends=(
    "gobject-introspection-runtime=$pkgver-$pkgrel"
    "libgirepository=$pkgver-$pkgrel"
    glib2
    glibc
    libffi
    python
    python-mako
    python-markdown
    python-setuptools
  )

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

  cd "$pkgdir"

  python -m compileall -d /usr/lib/$pkgbase usr/lib/$pkgbase
  python -O -m compileall -d /usr/lib/$pkgbase usr/lib/$pkgbase

  _pick libg usr/include/gobject-introspection-1.0
  _pick libg usr/lib/libgirepository-1.0.so*
  _pick libg usr/lib/pkgconfig/gobject-introspection*-1.0.pc
  _pick libg usr/lib/girepository-1.0/GIRepository-2.0.typelib
  _pick libg usr/share/gir-1.0/GIRepository-2.0.gir
  _pick libg usr/share/gtk-doc

  _pick runtime usr/lib/girepository-1.0
}

package_gobject-introspection-runtime() {
  pkgdesc+=" - runtime"
  depends=("libgirepository=$pkgver-$pkgrel")

  mv runtime/* "$pkgdir"
}

package_libgirepository() {
  pkgdesc+=" - runtime library"
  depends=(
    glib2
    glibc
    libffi
    libffi.so
    libg{lib,object,module}-2.0.so
  )
  provides=(libgirepository-1.0.so)

  mv libg/* "$pkgdir"
}

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