From e81fefb0efb753d25f7c2716a52a73971f4b904b Mon Sep 17 00:00:00 2001 From: Andreas Fenkart Date: Fri, 4 Apr 2025 17:07:48 +0200 Subject: [PATCH] networkmanager: enable vala bindings if gobject introspection is enabled when opting out from the DISTRO_FEATURE gobject-introspection-date, the build fails with error: ../NetworkManager-1.50.0/meson.build:849:4: ERROR: Assert failed: vala api require GObject introspection. Use -Dvapi=false to disable it The gobject-introspection-data feature, while ultimately added to DISTRO_FEATURES via DISTRO_FEATURE_BACKFILL, isn't available during the vala.bbclass inheritance check. This also excludes derived variables e.g. GI_DATA_ENABLED. To properly disable a DISTRO_FEATURE_BACKFILL feature, it must be included in DISTRO_FEATURE_BACKFILL_CONSIDERED, a variable that is available during the parsing phase. Similar situations have been resolved in: [openembedded-core:31daea70b18b2b2266bf94063b655aaf142a6166] librsvg: Only enable the Vala bindings if GObject Introspection is enabled PACKAGECONFIG:append:class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vala', '', d)}" -- and -- [meta-openembedded:d89fc6ffbdf8f947643def51b804052bb5e7ac97 libpeas: add recipe for 2.0.5 PACKAGECONFIG ?= "python3 gjs lua51 ${@bb.utils.contains('DISTRO_FEATURES', 'gobject-introspection', 'vala', '', d)}" Signed-off: Andreas Fenkart --- .../networkmanager/networkmanager_1.50.0.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.50.0.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.50.0.bb index b00f3050cf..702b80ac68 100644 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.50.0.bb +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.50.0.bb @@ -77,11 +77,12 @@ CFLAGS:append:libc-musl = " \ -DRTLD_DEEPBIND=0 \ " -PACKAGECONFIG ??= "readline nss ifupdown dnsmasq nmcli vala \ +PACKAGECONFIG ??= "readline nss ifupdown dnsmasq nmcli \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit ppp', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES_BACKFILL_CONSIDERED', 'gobject-introspection-data', '', 'vala', d)} \ " inherit ${@bb.utils.contains('PACKAGECONFIG', 'vala', 'vala', '', d)}