void-packages/srcpkgs/glib/patches/aee0664e6f1a29e0d5f301979f6d168b08435a61.patch
oreo639 70b7cfe280 glib: update to 2.84.0.
Switch back to using dladdr to get libdir similar to the gobject-introspection
patch and similar to what is done with Windows and MacOS.
2025-03-25 21:36:46 -07:00

71 lines
2.2 KiB
Diff
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From aee0664e6f1a29e0d5f301979f6d168b08435a61 Mon Sep 17 00:00:00 2001
From: Philip Withnall <pwithnall@gnome.org>
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 `<doc:format name="…"/>`
element is supported (as a child of `<repository>`) in GIR files.
For the moment, this information isnt needed in libgirepository — but
the GIR parser does have to know about the element in order to not throw
an error claiming its invalid.
This is a slightly tweaked version of the code added to
gobject-introspection.git in commit
9544cd6c962fab2c3203898779948309833e2439 by Corentin Noël
<corentin.noel@collabora.com>, reformatted slightly to fit in with
GLibs style guidelines.
This is backwards compatible and does not require a new
gobject-introspection version.
Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Fixes: #3634
---
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