From ecdb3aa7e144035e80bd48988d00ac68ca94f5f6 Mon Sep 17 00:00:00 2001 From: Markus Volk Date: Tue, 29 Aug 2023 08:07:59 +0200 Subject: [PATCH] libvirt-glib: fix introspection and documentation build Building Gobject introspection during cross-compilation is not an easy task. Therefore, the meson.build file disables the build for introspection and also for gtkdoc by default. This commit adds a patch to enable this, as introspection can be easily built on newer platforms with yocto/oe. The options to enable/disable introspection/doc are defined as feature while the corresponding bbclass defines it as a boolean. Override this so that it should be possible to be enabled/disabled by using DISTRO_FEATURES. Inherit gettext bbclass as used in libvirt-glib. Add a missing dependency on libxslt. Signed-off-by: Markus Volk Signed-off-by: Bruce Ashfield --- ...ild-allow-crosscompiling-gir-and-doc.patch | 37 +++++++++++++++++++ .../libvirt/libvirt-glib_4.0.0.bb | 15 ++++++-- 2 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 recipes-extended/libvirt/libvirt-glib/0001-meson.build-allow-crosscompiling-gir-and-doc.patch diff --git a/recipes-extended/libvirt/libvirt-glib/0001-meson.build-allow-crosscompiling-gir-and-doc.patch b/recipes-extended/libvirt/libvirt-glib/0001-meson.build-allow-crosscompiling-gir-and-doc.patch new file mode 100644 index 00000000..cd17bbbf --- /dev/null +++ b/recipes-extended/libvirt/libvirt-glib/0001-meson.build-allow-crosscompiling-gir-and-doc.patch @@ -0,0 +1,37 @@ +From 019d727990d41b5d7911895b75bcb021e4cca3c6 Mon Sep 17 00:00:00 2001 +From: Markus Volk +Date: Mon, 21 Aug 2023 10:23:08 +0200 +Subject: [PATCH] meson.build: allow crosscompiling gir and doc + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Markus Volk +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 134feb6..a089f42 100644 +--- a/meson.build ++++ b/meson.build +@@ -58,7 +58,7 @@ includedir = join_paths(prefix, get_option('includedir')) + + # gobject introspection + gir = find_program('g-ir-scanner', required: get_option('introspection')) +-enable_introspection = gir.found() and not meson.is_cross_build() ++enable_introspection = gir.found() + + # vala + vapi_opt = get_option('vapi') +@@ -73,7 +73,7 @@ endif + # gtk-doc + if not get_option('docs').disabled() + gtk_doc = find_program('gtkdoc-scan', required: get_option('docs')) +- enable_doc = gtk_doc.found() and not meson.is_cross_build() ++ enable_doc = gtk_doc.found() + else + enable_doc = false + endif +-- +2.41.0 + diff --git a/recipes-extended/libvirt/libvirt-glib_4.0.0.bb b/recipes-extended/libvirt/libvirt-glib_4.0.0.bb index a5cd8276..7ca65a95 100644 --- a/recipes-extended/libvirt/libvirt-glib_4.0.0.bb +++ b/recipes-extended/libvirt/libvirt-glib_4.0.0.bb @@ -3,12 +3,19 @@ HOMEPAGE = "http://libvirt.org" LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" -DEPENDS = "glib-2.0 libvirt libxml2" +DEPENDS = "glib-2.0 libvirt libxml2 libxslt" -SRC_URI = "git://gitlab.com/libvirt/libvirt-glib;protocol=https;branch=master" +SRC_URI = " \ + git://gitlab.com/libvirt/libvirt-glib;protocol=https;branch=master \ + file://0001-meson.build-allow-crosscompiling-gir-and-doc.patch \ +" SRCREV = "e0bfc34682744a74b850fa217e9c206a9eb80612" S = "${WORKDIR}/git" -inherit meson pkgconfig gobject-introspection vala -GIR_MESON_OPTION = '' +inherit meson pkgconfig gobject-introspection gettext vala gtk-doc + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' +GTKDOC_MESON_ENABLE_FLAG = 'enabled' +GTKDOC_MESON_DISABLE_FLAG = 'disabled'