commit:     af86f0b8d5440a8926218c7ccc5ab20f60fb471e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 25 10:45:40 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Mar 25 10:46:12 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af86f0b8

dev-libs/glib: backport fix for tests w/ >=dev-libs/libpcre2-10.43

Test-only fix.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../glib/files/glib-2.78.4-libpcre2-10.43.patch    | 45 ++++++++++++++++++++++
 dev-libs/glib/glib-2.78.4-r1.ebuild                |  1 +
 2 files changed, 46 insertions(+)

diff --git a/dev-libs/glib/files/glib-2.78.4-libpcre2-10.43.patch 
b/dev-libs/glib/files/glib-2.78.4-libpcre2-10.43.patch
new file mode 100644
index 000000000000..27dce8f40607
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.78.4-libpcre2-10.43.patch
@@ -0,0 +1,45 @@
+https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3945
+
+From cce3ae98a2c1966719daabff5a4ec6cf94a846f6 Mon Sep 17 00:00:00 2001
+From: Philip Withnall <[email protected]>
+Date: Mon, 26 Feb 2024 16:55:44 +0000
+Subject: [PATCH] tests: Remove variable-length lookbehind tests for GRegex
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+PCRE2 10.43 has now introduced support for variable-length lookbehind,
+so these tests now fail if GLib is built against PCRE2 10.43 or higher.
+
+See
+https://github.com/PCRE2Project/pcre2/blob/e8db6fa7137f4c6f66cb87e0a3c9467252ec1ef7/ChangeLog#L94.
+
+Rather than making the tests conditional on the version of PCRE2 in use,
+just remove them. They are mostly testing the PCRE2 code rather than
+any code in GLib, so don’t have much value.
+
+This should fix CI runs on msys2-mingw32, which updated to PCRE2 10.43 2
+days ago.
+
+Signed-off-by: Philip Withnall <[email protected]>
+--- a/glib/tests/regex.c
++++ b/glib/tests/regex.c
+@@ -1885,16 +1885,6 @@ test_lookbehind (void)
+   g_match_info_free (match);
+   g_regex_unref (regex);
+ 
+-  regex = g_regex_new ("(?<!dogs?|cats?) x", G_REGEX_OPTIMIZE, 
G_REGEX_MATCH_DEFAULT, &error);
+-  g_assert (regex == NULL);
+-  g_assert_error (error, G_REGEX_ERROR, 
G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND);
+-  g_clear_error (&error);
+-
+-  regex = g_regex_new ("(?<=ab(c|de)) foo", G_REGEX_OPTIMIZE, 
G_REGEX_MATCH_DEFAULT, &error);
+-  g_assert (regex == NULL);
+-  g_assert_error (error, G_REGEX_ERROR, 
G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND);
+-  g_clear_error (&error);
+-
+   regex = g_regex_new ("(?<=abc|abde)foo", G_REGEX_OPTIMIZE, 
G_REGEX_MATCH_DEFAULT, &error);
+   g_assert (regex);
+   g_assert_no_error (error);
+-- 
+GitLab

diff --git a/dev-libs/glib/glib-2.78.4-r1.ebuild 
b/dev-libs/glib/glib-2.78.4-r1.ebuild
index a6f0241faaa9..7bd791bf5334 100644
--- a/dev-libs/glib/glib-2.78.4-r1.ebuild
+++ b/dev-libs/glib/glib-2.78.4-r1.ebuild
@@ -73,6 +73,7 @@ MULTILIB_CHOST_TOOLS=(
 PATCHES=(
        "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
        "${FILESDIR}"/${PN}-2.78.4-distutils.patch
+       "${FILESDIR}"/${PN}-2.78.4-libpcre2-10.43.patch
 )
 
 python_check_deps() {

Reply via email to