diff --git a/system/base/glib2/files/fedora/0001-gmain-Add-a-missing-return-on-error-path-in-g_main_c.patch b/system/base/glib2/files/fedora/0001-gmain-Add-a-missing-return-on-error-path-in-g_main_c.patch new file mode 100644 index 00000000..68afafee --- /dev/null +++ b/system/base/glib2/files/fedora/0001-gmain-Add-a-missing-return-on-error-path-in-g_main_c.patch @@ -0,0 +1,31 @@ +From c67dd9d3fe9186bef76ba682a7e277ccb7d95227 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Tue, 18 Jul 2023 11:31:01 +0100 +Subject: [PATCH] gmain: Add a missing return on error path in + g_main_context_release() + +This should have been in commit +3926af723a7469a2ea492307f421820361d617b3. + +Signed-off-by: Philip Withnall + +Fixes: #3054 +--- + glib/gmain.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/glib/gmain.c b/glib/gmain.c +index fac14224a..ccadf76ce 100644 +--- a/glib/gmain.c ++++ b/glib/gmain.c +@@ -3608,6 +3608,7 @@ g_main_context_release (GMainContext *context) + g_critical ("g_main_context_release() called on a context (%p, owner %p, " + "owner count %u) which is not acquired by the current thread", + context, context_owner, context_owner_count); ++ return; + } + #endif /* !G_DISABLE_CHECKS */ + +-- +2.41.0 + diff --git a/system/base/glib2/files/fedora/fix-missing-exported-symbols.patch b/system/base/glib2/files/fedora/fix-missing-exported-symbols.patch new file mode 100644 index 00000000..bbda17e3 --- /dev/null +++ b/system/base/glib2/files/fedora/fix-missing-exported-symbols.patch @@ -0,0 +1,90 @@ +From 6e29fbec2dbc513e81252d0a83ab1e860c80c002 Mon Sep 17 00:00:00 2001 +From: Harald van Dijk +Date: Tue, 18 Jul 2023 18:26:43 +0100 +Subject: [PATCH] Revert "build/gmodule-2.0.pc: Move compiler flags from Libs + to Cflags" + +This reverts commit 004f48f4fc8adfccad51e2a7f4608c7fe3c28c7c. + +Per the discussion on #3356, this change was prompted by a +misunderstanding of ldflags/link_args, and it resulted in various other +packages using glib no longer getting symbols exported. This commit +restores the glib 2.76 behaviour. +--- + gio/tests/meson.build | 2 +- + gmodule/meson.build | 6 ++---- + meson.build | 10 +++++----- + 3 files changed, 8 insertions(+), 10 deletions(-) + +diff --git a/gio/tests/meson.build b/gio/tests/meson.build +index 8d9c87c20c..1a0edad1f6 100644 +--- a/gio/tests/meson.build ++++ b/gio/tests/meson.build +@@ -774,7 +774,7 @@ if not meson.is_cross_build() + + resource_plugin += shared_module('resourceplugin', + sources: ['resourceplugin.c', plugin_resources_c], +- c_args : export_dynamic_cflags, ++ link_args : export_dynamic_ldflags, + dependencies : common_gio_tests_deps, + install_dir : installed_tests_execdir, + install_tag : 'tests', +diff --git a/gmodule/meson.build b/gmodule/meson.build +index f7b41536e3..da4d06cfb5 100644 +--- a/gmodule/meson.build ++++ b/gmodule/meson.build +@@ -115,24 +115,22 @@ pkg.generate(libgmodule, + description : 'Dynamic module loader for GLib', + ) + +-pkg.generate(libraries : [libgmodule], ++pkg.generate(libraries : [libgmodule, export_dynamic_ldflags], + requires : ['glib-2.0'], + version : glib_version, + variables : [supported_var], + install_dir : glib_pkgconfigreldir, + filebase : 'gmodule-export-2.0', +- extra_cflags : export_dynamic_cflags, + name : 'GModule', + description : 'Dynamic module loader for GLib', + ) + +-pkg.generate(libraries : [libgmodule], ++pkg.generate(libraries : [libgmodule, export_dynamic_ldflags], + requires : ['glib-2.0'], + version : glib_version, + variables : [supported_var], + install_dir : glib_pkgconfigreldir, + filebase : 'gmodule-2.0', +- extra_cflags : export_dynamic_cflags, + name : 'GModule', + description : 'Dynamic module loader for GLib', + ) +diff --git a/meson.build b/meson.build +index c7b5346260..3588dbe117 100644 +--- a/meson.build ++++ b/meson.build +@@ -2328,15 +2328,15 @@ if host_system == 'windows' + # Autotools explicitly removed --Wl,--export-all-symbols from windows builds, + # with no explanation. Do the same here for now but this could be revisited if + # if causes issues. +- export_dynamic_cflags = [] ++ export_dynamic_ldflags = [] + elif host_system == 'cygwin' +- export_dynamic_cflags = ['-Wl,--export-all-symbols'] ++ export_dynamic_ldflags = ['-Wl,--export-all-symbols'] + elif host_system in ['darwin', 'ios'] +- export_dynamic_cflags = [] ++ export_dynamic_ldflags = [] + elif host_system == 'sunos' +- export_dynamic_cflags = [] ++ export_dynamic_ldflags = [] + else +- export_dynamic_cflags = ['-Wl,--export-dynamic'] ++ export_dynamic_ldflags = ['-Wl,--export-dynamic'] + endif + + win32_cflags = [] +-- +GitLab + diff --git a/system/base/glib2/pspec.xml b/system/base/glib2/pspec.xml index 348f7175..80f67490 100644 --- a/system/base/glib2/pspec.xml +++ b/system/base/glib2/pspec.xml @@ -12,7 +12,7 @@ library A library of handy utility functions glib2 is the low-level core library that forms the basis for projects such as GTK+ and GNOME. It provides data structure handling for C, portability wrappers, and interfaces for such runtime functionality as an event loop, threads, dynamic loading, and an object system. - mirrors://gnome/glib/2.76/glib-2.76.4.tar.xz + mirrors://gnome/glib/2.77/glib-2.77.0.tar.xz meson ninja @@ -28,6 +28,8 @@ noisy-glib-compile-schemas.diff glib-2.68.2-skip_warnings-1.patch glib2.patch + fedora/0001-gmain-Add-a-missing-return-on-error-path-in-g_main_c.patch + fedora/fix-missing-exported-symbols.patch multilib.diff @@ -141,6 +143,13 @@ + + 2023-07-22 + 2.77.0 + Version bump. + Mustafa Cinasal + muscnsl@gmail.com + 2023-07-06 2.76.4