@@ -46,8 +46,13 @@ inherit meson pkgconfig vala gobject-introspection features_check
REQUIRED_DISTRO_FEATURES = "opengl"
-EXTRA_OEMESON = "-Dpie=true -Dvapi=enabled -Dintrospection=enabled"
-EXTRA_OEMESON:append:libc-musl = " -Dcoroutine=libucontext"
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+
+PACKAGECONFIG ??= "${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vapi', '', d)}"
+PACKAGECONFIG[vapi] = "-Dvapi=enabled,-Dvapi=disabled"
+EXTRA_OEMESON = "-Dpie=true"
+EXTRA_OEMESON:append:libc-musl = " -Dcoroutine=libucontext"
FILES:${PN} += "${datadir}"
* without gobject-introspection-data in DISTRO_FEATURES the bbclass correctly disables it: $ bitbake-getvar -r spice-gtk EXTRA_OEMESON # # $EXTRA_OEMESON [6 operations] # :append /OE/build/oe-core/openembedded-core/meta/classes-recipe/meson.bbclass:44 # " ${PACKAGECONFIG_CONFARGS}" # :prepend[class-target] /OE/build/oe-core/openembedded-core/meta/classes-recipe/gobject-introspection.bbclass:28 # "${@['', '${GIRMESONTARGET}'][d.getVar('GIR_MESON_OPTION') != '']}" # :prepend[class-native] /OE/build/oe-core/openembedded-core/meta/classes-recipe/gobject-introspection.bbclass:33 # "${@['', '${GIRMESONBUILD}'][d.getVar('GIR_MESON_OPTION') != '']}" # :prepend[class-nativesdk] /OE/build/oe-core/openembedded-core/meta/classes-recipe/gobject-introspection.bbclass:34 # "${@['', '${GIRMESONBUILD}'][d.getVar('GIR_MESON_OPTION') != '']}" # set /OE/build/oe-core/meta-openembedded/meta-networking/recipes-support/spice/spice-gtk_0.42.bb:49 # "-Dpie=true -Dvapi=enabled" # :append[libc-musl] /OE/build/oe-core/meta-openembedded/meta-networking/recipes-support/spice/spice-gtk_0.42.bb:50 # " -Dcoroutine=libucontext" # pre-expansion value: # "${@['', '${GIRMESONTARGET}'][d.getVar('GIR_MESON_OPTION') != '']}-Dpie=true -Dvapi=enabled ${PACKAGECONFIG_CONFARGS}" EXTRA_OEMESON="-Dintrospection=false -Dpie=true -Dvapi=enabled " and prevents build failure: http://errors.yoctoproject.org/Errors/Details/702789/ Run-time dependency gobject-introspection-1.0 found: NO (tried pkgconfig) ../git/meson.build:346:0: ERROR: Dependency "gobject-introspection-1.0" not found, tried pkgconfig * it just needs GIR_MESON_*_FLAG to be set to avoid: meson.build:4:0: ERROR: Value "false" (of type "string") for combo option "Check for GObject instrospection requirements" is not one of the choices. Possible choices are (as string): "enabled", "disabled", "auto". * and enable vapi only when introspection is enabled, use PACKAGECONFIG for that to avoid: meson.build:358:4: ERROR: Problem encountered: VAPI support requested without introspection Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> --- meta-networking/recipes-support/spice/spice-gtk_0.42.bb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)