void-packages/srcpkgs/gobject-introspection-boots.../template

82 lines
3.6 KiB
Bash

# Template file for 'gobject-introspection-bootstrap'
# keep in sync with gobject-introspection
#
# This aloing with glib-bootstrap is unfortunately necessary as a part of the
# libgirepository-1.0 to libgirepository-2.0 migration.
pkgname=gobject-introspection-bootstrap
version=1.80.1
revision=2
build_style=meson
build_helper="qemu"
configure_args="-Dbuild_introspection_data=false"
pycompile_dirs="usr/lib/gobject-introspection/giscanner"
hostmakedepends="flex pkg-config"
# We won't run tests with cairo to avoid cyclical deps
makedepends="libffi-devel glib-bootstrap python3-devel python3-Mako
python3-Markdown"
depends="${makedepends}"
short_desc="Introspection system for GObject-based libraries"
maintainer="oreo639 <oreo6391@gmail.com>"
license="GPL-2.0-or-later, LGPL-2.1-or-later"
homepage="https://wiki.gnome.org/Projects/GObjectIntrospection"
distfiles="${GNOME_SITE}/gobject-introspection/${version%.*}/gobject-introspection-${version}.tar.xz"
checksum=a1df7c424e15bda1ab639c00e9051b9adf5cea1a9e512f8a603b53cd199bc6d8
python_version=3
repository=bootstrap
conflicts="libgirepository libgirepository-devel gobject-introspection"
noverifyrdeps=yes
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" gobject-introspection-bootstrap 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
}