99 lines
3.9 KiB
Bash
99 lines
3.9 KiB
Bash
# Template file for 'gobject-introspection'
|
|
pkgname=gobject-introspection
|
|
version=1.74.0
|
|
revision=1
|
|
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=347b3a719e68ba4c69ff2d57ee2689233ea8c07fc492205e573386779e42d653
|
|
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() {
|
|
rm ${DESTDIR}/usr/lib/gobject-introspection/giscanner/doctemplates/*/meson.build
|
|
|
|
# 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
|
|
}
|
|
}
|