diff --git a/srcpkgs/gobject-introspection-bootstrap/files b/srcpkgs/gobject-introspection-bootstrap/files new file mode 120000 index 00000000000..4602177e31f --- /dev/null +++ b/srcpkgs/gobject-introspection-bootstrap/files @@ -0,0 +1 @@ +../gobject-introspection/files \ No newline at end of file diff --git a/srcpkgs/gobject-introspection-bootstrap/patches b/srcpkgs/gobject-introspection-bootstrap/patches new file mode 120000 index 00000000000..cc2ee1c4a0e --- /dev/null +++ b/srcpkgs/gobject-introspection-bootstrap/patches @@ -0,0 +1 @@ +../gobject-introspection/patches \ No newline at end of file diff --git a/srcpkgs/gobject-introspection-bootstrap/template b/srcpkgs/gobject-introspection-bootstrap/template new file mode 100644 index 00000000000..8ca0cc1fcdf --- /dev/null +++ b/srcpkgs/gobject-introspection-bootstrap/template @@ -0,0 +1,80 @@ +# 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=1 +build_style=meson +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 " +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 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 +} diff --git a/srcpkgs/gobject-introspection-bootstrap/update b/srcpkgs/gobject-introspection-bootstrap/update new file mode 100644 index 00000000000..8f89bb08539 --- /dev/null +++ b/srcpkgs/gobject-introspection-bootstrap/update @@ -0,0 +1 @@ +pattern="(?<=${pkgname}-)[0-9]+\.[0-9]*[02468]\.[0-9]+"