# Template file for 'gobject-introspection' pkgname=gobject-introspection version=1.64.1 revision=1 build_style=meson pycompile_dirs="usr/lib/${pkgname}/giscanner" hostmakedepends="flex pkg-config" makedepends="cairo-devel libffi-devel libglib-devel libxml2-devel python3-devel python3-Mako python3-Markdown" depends="libgirepository-devel python3-Mako python3-Markdown" short_desc="Introspection system for GObject-based libraries" maintainer="Enno Boland " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://wiki.gnome.org/Projects/GObjectIntrospection" distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz" checksum=80beae6728c134521926affff9b2e97125749b38d38744dc901f4010ee3e7fa7 pycompile_version="$py3_ver" patch_args="-Np1" if [ "$CROSS_BUILD" ]; then hostmakedepends+=" gobject-introspection qemu-user-static prelink-cross" configure_args+=" -Dgi_cross_use_host_gi=true -Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper -Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper -Dgi_cross_pkgconfig_sysroot_path=${XBPS_CROSS_BASE}" fi post_install() { # Install our wrappers system-wide, they are required for building all other # gobject-based packages. vbin ${FILESDIR}/g-ir-scanner-qemuwrapper vbin ${FILESDIR}/g-ir-scanner-lddwrapper # Install g-ir-scanner-wrapper as g-ir-scanner, we need it with that name since # we can't expect people to just not hardcode /usr/bin/g-ir-scanner, some packages # like gtk+3 just like **really** much to use /usr/bin/g-ir-scanner and meson with # find_program is also to blame. mv ${DESTDIR}/usr/bin/g-ir-scanner{,.wrapped} vbin ${FILESDIR}/g-ir-scanner-wrapper g-ir-scanner # Same logic of g-ir-scanner applies here mv ${DESTDIR}/usr/bin/g-ir-compiler{,.wrapped} vbin ${FILESDIR}/g-ir-compiler-wrapper g-ir-compiler # For cross builds copy the not installed tests subdirectory if [ "$CROSS_BUILD" ]; then vmkdir usr/share/gobject-introspection-1.0/tests for f in scanner/annotation.? scanner/drawable.? scanner/foo.? \ scanner/regress.? scanner/utility.? scanner/warnlib.? \ gimarshallingtests.? gitestmacros.h; do vcopy tests/$f usr/share/gobject-introspection-1.0/tests done fi # modify the pkg-config files to respect ${pc_sysrootdir} for variables that are # meant to be called with 'pkg-config --variable' vsed -e 's|^g_ir_scanner=.*|g_ir_scanner=${pc_sysrootdir}/${bindir}/g-ir-scanner|g' \ -e 's|^g_ir_compiler=.*|g_ir_compiler=${pc_sysrootdir}/${bindir}/g-ir-compiler|g' \ -e 's|^g_ir_generate=.*|g_ir_generate=${pc_sysrootdir}/${bindir}/g-ir-generate|g' \ -e 's|^gidatadir.*|gidatadir=${pc_sysrootdir}/${datadir}/gobject-introspection-1.0|g' \ -e 's|^girdir.*|girdir=${pc_sysrootdir}/${datadir}/gir-1.0|g' \ -e 's|^typelibdir.*|typelibdir=${pc_sysrootdir}/${libdir}/girepository-1.0|g' \ -i ${DESTDIR}/usr/lib/pkgconfig/gobject-introspection-1.0.pc \ -i ${DESTDIR}/usr/lib/pkgconfig/gobject-introspection-no-export-1.0.pc # Fix the name of the python3 c bindings mv ${DESTDIR}/usr/lib/gobject-introspection/giscanner/_giscanner*.so \ ${DESTDIR}/usr/lib/gobject-introspection/giscanner/_giscanner.so } gir-freedesktop_package() { short_desc="Introspection data for some FreeDesktop components" pkg_install() { vmove usr/lib/girepository-1.0 } } libgirepository_package() { short_desc="Library for handling GObject introspection data (runtime library)" depends="gir-freedesktop-${version}_${revision}" pkg_install() { vmove "usr/lib/*.so.*" } } libgirepository-devel_package() { depends="cairo-devel libffi-devel libglib-devel libgirepository>=${version}_${revision}" short_desc="Library for handling GObject introspection data (development files)" pkg_install() { vmove usr/include vmove usr/lib/pkgconfig vmove "usr/lib/*.so" vmove usr/share/gir-1.0 vmove usr/share/aclocal } }