cf0c74999e
cairo-devel and libxml2-devel aren't necessary to build their gir files, and can exacerbate cyclical build dependencies. The only disadvantage is that the part of the test suite using cairo won't run.
96 lines
3.8 KiB
Bash
96 lines
3.8 KiB
Bash
# Template file for 'gobject-introspection'
|
|
pkgname=gobject-introspection
|
|
version=1.68.0
|
|
revision=2
|
|
build_style=meson
|
|
pycompile_dirs="usr/lib/${pkgname}/giscanner"
|
|
hostmakedepends="flex pkg-config"
|
|
# won't run tests with cairo to avoid cyclical deps
|
|
makedepends="libffi-devel libglib-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 <gottox@voidlinux.org>"
|
|
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=d229242481a201b84a0c66716de1752bca41db4133672cfcfb37c93eb6e54a27
|
|
python_version=3
|
|
|
|
if [ "$CROSS_BUILD" ]; then
|
|
hostmakedepends+=" gobject-introspection qemu-user-static prelink-cross"
|
|
configure_args+=" -Dgi_cross_use_prebuilt_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
|
|
}
|
|
}
|