spice-gtk: respect gobject-introspection-data

* 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>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
This commit is contained in:
Martin Jansa 2023-05-03 19:06:14 +02:00 committed by Armin Kuster
parent a71653a3f4
commit 2a61bddded

View File

@ -46,8 +46,13 @@ inherit meson pkgconfig vala gobject-introspection features_check
REQUIRED_DISTRO_FEATURES = "opengl"
EXTRA_OEMESON = "-Dpie=true -Dvapi=enabled -Dintrospection=enabled"
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}"