From: Markus Volk Date: Sun, 16 Mar 2025 08:07:36 +0000 (+0100) Subject: glib-2.0: fix build issue with gobject-introspection X-Git-Tag: yocto-5.2~222 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=153de2c6a87dd0c0abd2ee8c805167ef36b15c9f;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git glib-2.0: fix build issue with gobject-introspection - Add backport patch to fix a build issue with gobject-introspection >= 1.83.2 Signed-off-by: Markus Volk Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-core/glib-2.0/files/aee0664e6f1a29e0d5f301979f6d168b08435a61.patch b/meta/recipes-core/glib-2.0/files/aee0664e6f1a29e0d5f301979f6d168b08435a61.patch new file mode 100644 index 00000000000..28bce02dc3e --- /dev/null +++ b/meta/recipes-core/glib-2.0/files/aee0664e6f1a29e0d5f301979f6d168b08435a61.patch @@ -0,0 +1,75 @@ +From aee0664e6f1a29e0d5f301979f6d168b08435a61 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Mon, 10 Mar 2025 15:21:15 +0000 +Subject: [PATCH] girparser: Ignore new doc:format element in GIR files +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +As of gobject-introspection 1.83.2, a new `` +element is supported (as a child of ``) in GIR files. + +For the moment, this information isn’t needed in libgirepository — but +the GIR parser does have to know about the element in order to not throw +an error claiming it’s invalid. + +This is a slightly tweaked version of the code added to +gobject-introspection.git in commit +9544cd6c962fab2c3203898779948309833e2439 by Corentin Noël +, reformatted slightly to fit in with +GLib’s style guidelines. + +This is backwards compatible and does not require a new +gobject-introspection version. + +Signed-off-by: Philip Withnall + +Fixes: #3634 + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/aee0664e6f1a29e0d5f301979f6d168b08435a61.patch] + +Signed-off-by: Markus Volk +--- + girepository/girparser.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/girepository/girparser.c b/girepository/girparser.c +index 63143718d9..be88d871a4 100644 +--- a/girepository/girparser.c ++++ b/girepository/girparser.c +@@ -107,7 +107,8 @@ typedef enum + STATE_ALIAS, + STATE_TYPE, + STATE_ATTRIBUTE, +- STATE_PASSTHROUGH ++ STATE_PASSTHROUGH, ++ STATE_DOC_FORMAT, /* 35 */ + } ParseState; + + typedef struct _ParseContext ParseContext; +@@ -3159,6 +3160,11 @@ start_element_handler (GMarkupParseContext *context, + state_switch (ctx, STATE_PASSTHROUGH); + goto out; + } ++ else if (strcmp ("doc:format", element_name) == 0) ++ { ++ state_switch (ctx, STATE_DOC_FORMAT); ++ goto out; ++ } + break; + + case 'e': +@@ -3843,6 +3849,10 @@ end_element_handler (GMarkupParseContext *context, + state_switch (ctx, ctx->prev_state); + } + break; ++ case STATE_DOC_FORMAT: ++ if (require_end_element (context, ctx, "doc:format", element_name, error)) ++ state_switch (ctx, STATE_REPOSITORY); ++ break; + + case STATE_PASSTHROUGH: + ctx->unknown_depth -= 1; +-- +GitLab + diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc index ee23c5089d6..61e1a3ef173 100644 --- a/meta/recipes-core/glib-2.0/glib.inc +++ b/meta/recipes-core/glib-2.0/glib.inc @@ -229,6 +229,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \ file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ file://skip-timeout.patch \ + file://aee0664e6f1a29e0d5f301979f6d168b08435a61.patch \ " SRC_URI:append:class-native = " file://relocate-modules.patch \ file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \