From d381a28beb1d0db00db2c9bcc021f2b7d2eb5adc Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Mon, 31 Jul 2023 14:01:55 +0530 Subject: [PATCH] meson: Backport glib patch to allow pcre2 fallback 2.76 broke this, but glib main fixed it again. Part-of: --- subprojects/glib.wrap | 2 +- ...back-static-build-of-pcre-subproject.patch | 48 +++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 subprojects/packagefiles/glib-2.76.4/0001-meson-Allow-fallback-static-build-of-pcre-subproject.patch diff --git a/subprojects/glib.wrap b/subprojects/glib.wrap index 5e4c722c1b..70f6fc5dd1 100644 --- a/subprojects/glib.wrap +++ b/subprojects/glib.wrap @@ -5,7 +5,7 @@ source_fallback_url = https://ftp.acc.umu.se/pub/gnome/sources/glib/2.76/glib-2. source_filename = glib-2.76.4.tar.xz source_hash = 5a5a191c96836e166a7771f7ea6ca2b0069c603c7da3cba1cd38d1694a395dda wrapdb_version = 2.76.4 -diff_files = glib-2.76.4/0001-meson-help-gobject-introspection-locate-source-and-b.patch +diff_files = glib-2.76.4/0001-meson-help-gobject-introspection-locate-source-and-b.patch, glib-2.76.4/0001-meson-Allow-fallback-static-build-of-pcre-subproject.patch [provide] dependency_names = gthread-2.0, gobject-2.0, gmodule-no-export-2.0, gmodule-export-2.0, gmodule-2.0, glib-2.0, gio-2.0, gio-windows-2.0, gio-unix-2.0 diff --git a/subprojects/packagefiles/glib-2.76.4/0001-meson-Allow-fallback-static-build-of-pcre-subproject.patch b/subprojects/packagefiles/glib-2.76.4/0001-meson-Allow-fallback-static-build-of-pcre-subproject.patch new file mode 100644 index 0000000000..939cee6c8b --- /dev/null +++ b/subprojects/packagefiles/glib-2.76.4/0001-meson-Allow-fallback-static-build-of-pcre-subproject.patch @@ -0,0 +1,48 @@ +From dd5683ce6495ee3e39968043f9b1a2a4dec5cde6 Mon Sep 17 00:00:00 2001 +From: Marius Kintel +Date: Wed, 28 Jun 2023 14:38:36 +0000 +Subject: [PATCH] meson: Allow fallback & static build of pcre subproject +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Using `allow_fallback: false` on the first check for libpcre +was unnecessary, as `required: false` already disables using +fallbacks. `allow_fallback: false` meant that +`--force-fallback-for` couldn’t work. This commit fixes that. + +Also allow the fallback libpcre to be built statically so it +can be linked into GLib. + +Helps: #3025 +--- + meson.build | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 1c62ea352..9e7448386 100644 +--- a/meson.build ++++ b/meson.build +@@ -2050,7 +2050,9 @@ else + endif + + pcre2_req = '>=10.32' +-pcre2 = dependency('libpcre2-8', version: pcre2_req, required: false, allow_fallback: false) ++ ++# Pick up pcre from the system, or if "--force-fallback-for libpcre2-8" was specified ++pcre2 = dependency('libpcre2-8', version: pcre2_req, required: false, default_options: ['default_library=static']) + if not pcre2.found() + if cc.get_id() == 'msvc' or cc.get_id() == 'clang-cl' + # MSVC: Search for the PCRE2 library by the configuration, which corresponds +@@ -2066,7 +2068,7 @@ endif + + # Try again with the fallback + if not pcre2.found() +- pcre2 = dependency('libpcre2-8', version: pcre2_req, allow_fallback: true) ++ pcre2 = dependency('libpcre2-8', version: pcre2_req, allow_fallback: true, default_options: ['default_library=static']) + assert(pcre2.type_name() == 'internal') + # static flags are automatically enabled by the subproject if it's built + # with default_library=static +-- +2.37.1 (Apple Git-137.1) +