diff options
Diffstat (limited to 'meta/recipes-core/glib-2.0')
32 files changed, 673 insertions, 509 deletions
diff --git a/meta/recipes-core/glib-2.0/files/0001-Do-not-write-bindir-into-pkg-config-files.patch b/meta/recipes-core/glib-2.0/files/0001-Do-not-write-bindir-into-pkg-config-files.patch new file mode 100644 index 0000000000..f6eba04fd4 --- /dev/null +++ b/meta/recipes-core/glib-2.0/files/0001-Do-not-write-bindir-into-pkg-config-files.patch @@ -0,0 +1,65 @@ +From 0561dcbf0918631d8106c3f6c2d8e92a5ec4b887 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Fri, 15 Feb 2019 11:17:27 +0100 +Subject: [PATCH] Do not prefix executables with $bindir in pkg-config files + +This would otherwise break when using the executables to build other target +components (we need to rely on PATH containing the paths to utilities, +rather than use target paths). + +Upstream-Status: Inappropriate [upstream wants the paths in .pc files] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + gio/meson.build | 17 +++++++++-------- + glib/meson.build | 7 ++++--- + 2 files changed, 13 insertions(+), 11 deletions(-) + +diff --git a/gio/meson.build b/gio/meson.build +index 77cba7b..25d709e 100644 +--- a/gio/meson.build ++++ b/gio/meson.build +@@ -883,17 +883,18 @@ libgio_dep = declare_dependency(link_with : libgio, + pkg.generate(libgio, + requires : ['glib-2.0', 'gobject-2.0'], + variables : [ ++ 'bindir=' + '${prefix}' / get_option('bindir'), + 'schemasdir=' + '${datadir}' / schemas_subdir, + 'dtdsdir=' + '${datadir}' / dtds_subdir, + 'giomoduledir=' + pkgconfig_giomodulesdir, +- 'gio=' + '${bindir}' / 'gio', +- 'gio_querymodules=' + pkgconfig_multiarch_bindir / 'gio-querymodules', +- 'glib_compile_schemas=' + pkgconfig_multiarch_bindir / 'glib-compile-schemas', +- 'glib_compile_resources=' + '${bindir}' / 'glib-compile-resources', +- 'gdbus=' + '${bindir}' /'gdbus', +- 'gdbus_codegen=' + '${bindir}' / 'gdbus-codegen', +- 'gresource=' + '${bindir}' / 'gresource', +- 'gsettings=' + '${bindir}' / 'gsettings', ++ 'gio=gio', ++ 'gio_querymodules=gio-querymodules', ++ 'glib_compile_schemas=glib-compile-schemas', ++ 'glib_compile_resources=glib-compile-resources', ++ 'gdbus=gdbus', ++ 'gdbus_codegen=gdbus-codegen', ++ 'gresource=gresource', ++ 'gsettings=gsettings', + ], + version : glib_version, + install_dir : glib_pkgconfigreldir, +diff --git a/glib/meson.build b/glib/meson.build +index d2efeba..5f5841d 100644 +--- a/glib/meson.build ++++ b/glib/meson.build +@@ -447,9 +447,10 @@ pkg.generate(libglib, + subdirs : ['glib-2.0'], + extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags, + variables : [ +- 'glib_genmarshal=' + '${bindir}' / 'glib-genmarshal', +- 'gobject_query=' + '${bindir}' / 'gobject-query', +- 'glib_mkenums=' + '${bindir}' / 'glib-mkenums', ++ 'bindir=' + '${prefix}' / get_option('bindir'), ++ 'glib_genmarshal=glib-genmarshal', ++ 'gobject_query=gobject-query', ++ 'glib_mkenums=glib-mkenums', + 'glib_valgrind_suppressions=' + '${datadir}' / + valgrind_suppression_file_install_subdir / + fs.name(valgrind_suppression_file), diff --git a/meta/recipes-core/glib-2.0/files/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch b/meta/recipes-core/glib-2.0/files/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch new file mode 100644 index 0000000000..129bc7f8ae --- /dev/null +++ b/meta/recipes-core/glib-2.0/files/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch @@ -0,0 +1,29 @@ +From ccb25e8c0bab54eac8ba0e9d7083ce81461ab72a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 15 Mar 2014 22:42:29 -0700 +Subject: [PATCH] Fix DATADIRNAME on uclibc/Linux + +translation files are always installed under PREFIX/share/locale in uclibc +based systems therefore lets set DATADIRNAME to "share". + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending +--- + m4macros/glib-gettext.m4 | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/m4macros/glib-gettext.m4 b/m4macros/glib-gettext.m4 +index df6fbf0..47db864 100644 +--- a/m4macros/glib-gettext.m4 ++++ b/m4macros/glib-gettext.m4 +@@ -293,6 +293,10 @@ msgstr "" + CATOBJEXT=.mo + DATADIRNAME=share + ;; ++ *-*-musl* | *-*-linux-uclibc*) ++ CATOBJEXT=.gmo ++ DATADIRNAME=share ++ ;; + *) + CATOBJEXT=.mo + DATADIRNAME=lib diff --git a/meta/recipes-core/glib-2.0/files/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch b/meta/recipes-core/glib-2.0/files/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch new file mode 100644 index 0000000000..3e12f8abbe --- /dev/null +++ b/meta/recipes-core/glib-2.0/files/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch @@ -0,0 +1,26 @@ +From caab40411d8520dae77a4b7933ebaffbb00559fe Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen <jussi.kukkonen@intel.com> +Date: Tue, 22 Mar 2016 15:14:58 +0200 +Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM + +We want to install this binary with the gio library, and debian +renamer does not cope with library packages with files in ${bindir} + +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +Upstream-Status: Inappropriate [OE specific] +--- + gio/meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gio/meson.build b/gio/meson.build +index 59c2b0f..77cba7b 100644 +--- a/gio/meson.build ++++ b/gio/meson.build +@@ -1007,6 +1007,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu + c_args : gio_c_args, + # intl.lib is not compatible with SAFESEH + link_args : noseh_link_args, ++ install_dir: glib_libexecdir, + dependencies : [libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep]) + + glib_compile_schemas = executable('glib-compile-schemas', diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch b/meta/recipes-core/glib-2.0/files/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch index 67ca6240bc..9b0b83afa4 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch +++ b/meta/recipes-core/glib-2.0/files/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch @@ -1,7 +1,7 @@ -From 2acf40361eecd17c6981743dabd06e25a9934258 Mon Sep 17 00:00:00 2001 +From 65c036b1ede453e89893076f4ece21c946505096 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Fri, 12 Jun 2015 17:08:46 +0300 -Subject: [PATCH 05/10] Remove the warning about deprecated paths in schemas +Subject: [PATCH] Remove the warning about deprecated paths in schemas Some schemas in gsettings-desktop-schemas (such as proxy and locale) are still using deprecated paths, as of 3.16.1. This causes warning @@ -9,16 +9,15 @@ messages, and meta/lib/oe/rootfs.py complaints about them. Upstream-Status: Inappropriate Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - --- gio/glib-compile-schemas.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c -index b8de090..130f89b 100644 +index 04ef404..e791ce2 100644 --- a/gio/glib-compile-schemas.c +++ b/gio/glib-compile-schemas.c -@@ -1219,19 +1219,6 @@ parse_state_start_schema (ParseState *state, +@@ -1232,19 +1232,6 @@ parse_state_start_schema (ParseState *state, return; } @@ -38,6 +37,3 @@ index b8de090..130f89b 100644 state->schema_state = schema_state_new (path, gettext_domain, extends, extends_name, list_of); --- -2.14.1 - diff --git a/meta/recipes-core/glib-2.0/files/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/meta/recipes-core/glib-2.0/files/0001-Set-host_machine-correctly-when-building-with-mingw3.patch new file mode 100644 index 0000000000..a2f9dd9672 --- /dev/null +++ b/meta/recipes-core/glib-2.0/files/0001-Set-host_machine-correctly-when-building-with-mingw3.patch @@ -0,0 +1,80 @@ +From 01810df82fae752428d3756c85edb2eb7bbf3c15 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Wed, 13 Feb 2019 15:32:05 +0100 +Subject: [PATCH] Set host_machine correctly when building with mingw32 + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + gio/tests/meson.build | 8 ++++---- + glib/tests/meson.build | 2 +- + meson.build | 3 +++ + 3 files changed, 8 insertions(+), 5 deletions(-) + +diff --git a/gio/tests/meson.build b/gio/tests/meson.build +index 232ecca..563298b 100644 +--- a/gio/tests/meson.build ++++ b/gio/tests/meson.build +@@ -29,7 +29,7 @@ endif + + test_cpp_args = test_c_args + +-if host_machine.system() == 'windows' ++if host_system == 'windows' + common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')] + endif + +@@ -244,7 +244,7 @@ if have_dbus_daemon + endif + + # Test programs buildable on UNIX only +-if host_machine.system() != 'windows' ++if host_system != 'windows' + gio_tests += { + 'file' : { + # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148 +@@ -593,7 +593,7 @@ if host_machine.system() != 'windows' + endif # unix + + # Test programs buildable on Windows only +-if host_machine.system() == 'windows' ++if host_system == 'windows' + gio_tests += {'win32-streams' : {}} + endif + +@@ -663,7 +663,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl' + } + endif + +-if host_machine.system() != 'windows' ++if host_system != 'windows' + test_extra_programs += { + 'gdbus-example-unix-fd-client' : { + 'install' : false, +diff --git a/glib/tests/meson.build b/glib/tests/meson.build +index f6efc59..83eb5a5 100644 +--- a/glib/tests/meson.build ++++ b/glib/tests/meson.build +@@ -226,7 +226,7 @@ if glib_conf.has('HAVE_EVENTFD') + } + endif + +-if host_machine.system() == 'windows' ++if host_system == 'windows' + if winsock2.found() + glib_tests += { + 'gpoll' : { +diff --git a/meson.build b/meson.build +index 7534542..2560686 100644 +--- a/meson.build ++++ b/meson.build +@@ -54,6 +54,9 @@ else + endif + + host_system = host_machine.system() ++if host_system == 'mingw32' ++ host_system = 'windows' ++endif + + if host_system == 'darwin' + ios_test_code = '''#include <TargetConditionals.h> diff --git a/meta/recipes-core/glib-2.0/files/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch b/meta/recipes-core/glib-2.0/files/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch new file mode 100644 index 0000000000..bb84f3969e --- /dev/null +++ b/meta/recipes-core/glib-2.0/files/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch @@ -0,0 +1,27 @@ +From e8b4f53b567339aad90b585673d55a5c6176535a Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Wed, 8 Jan 2020 18:22:46 +0100 +Subject: [PATCH] gio/tests/resources.c: comment out a build host-only test + +This test requires building resources in a way that is +not cross-compatible (hardcodes ld and objcopy). + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + gio/tests/resources.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gio/tests/resources.c b/gio/tests/resources.c +index f7dc039..f708876 100644 +--- a/gio/tests/resources.c ++++ b/gio/tests/resources.c +@@ -1068,7 +1068,7 @@ main (int argc, + g_test_add_func ("/resource/automatic", test_resource_automatic); + /* This only uses automatic resources too, so it tests the constructors and destructors */ + g_test_add_func ("/resource/module", test_resource_module); +- g_test_add_func ("/resource/binary-linked", test_resource_binary_linked); ++ /* g_test_add_func ("/resource/binary-linked", test_resource_binary_linked); */ + #endif + g_test_add_func ("/resource/uri/query-info", test_uri_query_info); + g_test_add_func ("/resource/uri/file", test_uri_file); diff --git a/meta/recipes-core/glib-2.0/files/0001-girepository-introspection-correctly-install-.gir-fi.patch b/meta/recipes-core/glib-2.0/files/0001-girepository-introspection-correctly-install-.gir-fi.patch new file mode 100644 index 0000000000..76e5f58748 --- /dev/null +++ b/meta/recipes-core/glib-2.0/files/0001-girepository-introspection-correctly-install-.gir-fi.patch @@ -0,0 +1,88 @@ +From 4e6be5d15e5d2f8e494d22a3d49b623064f9c1a5 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Tue, 23 Apr 2024 11:24:34 +0200 +Subject: [PATCH] girepository/introspection: correctly install .gir files into + custom locations provided via meson option + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4020] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + girepository/introspection/meson.build | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/girepository/introspection/meson.build b/girepository/introspection/meson.build +index 9405686..862ca61 100644 +--- a/girepository/introspection/meson.build ++++ b/girepository/introspection/meson.build +@@ -49,6 +49,7 @@ glib_gir = gnome.generate_gir(libglib, + export_packages: 'glib-2.0', + header: 'glib.h', + install: true, ++ install_dir_gir: glib_girdir, + dependencies: [ + libgobject_dep, + ], +@@ -76,6 +77,7 @@ if host_system == 'windows' + header: 'glib.h', + includes: [ glib_gir[0] ], + install: true, ++ install_dir_gir: glib_girdir, + dependencies: [ + libgobject_dep, + ], +@@ -104,6 +106,7 @@ else + header: 'glib.h', + includes: [ glib_gir[0] ], + install: true, ++ install_dir_gir: glib_girdir, + dependencies: [ + libgobject_dep, + ], +@@ -137,6 +140,7 @@ gobject_gir = gnome.generate_gir(libgobject, + header: 'glib-object.h', + includes: [ glib_gir[0] ], + install: true, ++ install_dir_gir: glib_girdir, + env: gi_gen_env_variables, + extra_args: gir_args + [ + '-DGOBJECT_COMPILATION', +@@ -162,6 +166,7 @@ gmodule_gir = gnome.generate_gir(libgmodule, + header: 'gmodule.h', + includes: [ glib_gir[0] ], + install: true, ++ install_dir_gir: glib_girdir, + dependencies: [ + libglib_dep, + ], +@@ -224,6 +229,7 @@ gio_gir = gnome.generate_gir(libgio, + header: 'gio/gio.h', + includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0] ], + install: true, ++ install_dir_gir: glib_girdir, + dependencies: [ + libglib_dep, + libgobject_dep, +@@ -249,6 +255,7 @@ if host_system == 'windows' + header: 'gio/gio.h', + includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0], gio_gir[0] ], + install: true, ++ install_dir_gir: glib_girdir, + dependencies: [ + libglib_dep, + libgobject_dep, +@@ -277,6 +284,7 @@ else + header: 'gio/gio.h', + includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0], gio_gir[0] ], + install: true, ++ install_dir_gir: glib_girdir, + dependencies: [ + libglib_dep, + libgobject_dep, +@@ -314,6 +322,7 @@ girepository_gir = gnome.generate_gir(libgirepository, + header: 'girepository/girepository.h', + includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0], gio_gir[0] ], + install: true, ++ install_dir_gir: glib_girdir, + dependencies: [ libglib_dep, libgobject_dep, libgmodule_dep, libgio_dep ], + extra_args: gir_args + libgirepository_gir_args, + ) diff --git a/meta/recipes-core/glib-2.0/files/0001-meson-Run-atomics-test-on-clang-as-well.patch b/meta/recipes-core/glib-2.0/files/0001-meson-Run-atomics-test-on-clang-as-well.patch new file mode 100644 index 0000000000..2f80529987 --- /dev/null +++ b/meta/recipes-core/glib-2.0/files/0001-meson-Run-atomics-test-on-clang-as-well.patch @@ -0,0 +1,28 @@ +From 3dc2e741e18ccb740e98eb4e808ff83153b70e83 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 12 Oct 2019 17:46:26 -0700 +Subject: [PATCH] meson: Run atomics test on clang as well + +Fixes +./glib-2.62.1/glib/gatomic.c:675:2: error: G_ATOMIC_LOCK_FREE defined, but incapable of lock-free atomics. +^ + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 2560686..5c46d0b 100644 +--- a/meson.build ++++ b/meson.build +@@ -2024,7 +2024,7 @@ atomicdefine = ''' + # We know that we can always use real ("lock free") atomic operations with MSVC + if cc.get_id() == 'msvc' or cc.get_id() == 'clang-cl' or cc.links(atomictest, name : 'atomic ops') + have_atomic_lock_free = true +- if cc.get_id() == 'gcc' and not cc.compiles(atomicdefine, name : 'atomic ops define') ++ if (cc.get_id() == 'gcc' or cc.get_id() == 'clang') and not cc.compiles(atomicdefine, name : 'atomic ops define') + # Old gcc release may provide + # __sync_bool_compare_and_swap but doesn't define + # __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 diff --git a/meta/recipes-core/glib-2.0/files/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch b/meta/recipes-core/glib-2.0/files/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch new file mode 100644 index 0000000000..82955de671 --- /dev/null +++ b/meta/recipes-core/glib-2.0/files/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch @@ -0,0 +1,29 @@ +From 59525eedfbbfe4a16fdd0b340bc3f2479431c7d5 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Sat, 16 Sep 2023 22:28:27 +0200 +Subject: [PATCH] meson.build: do not enable pidfd features on native glib + builds + +We still use host distros like alma 8 with kernels older than 5.4, +where these features are not implemented. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + meson.build | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 5c46d0b..222c1a1 100644 +--- a/meson.build ++++ b/meson.build +@@ -1022,7 +1022,8 @@ if cc.links('''#include <sys/syscall.h> + waitid (P_PIDFD, 0, &child_info, WEXITED | WNOHANG); + return 0; + }''', name : 'pidfd_open(2) system call') +- glib_conf.set('HAVE_PIDFD', 1) ++ #requires kernel 5.4+ ++ #glib_conf.set('HAVE_PIDFD', 1) + endif + + # Check for __uint128_t (gcc) by checking for 128-bit division diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch b/meta/recipes-core/glib-2.0/files/0010-Do-not-hardcode-python-path-into-various-tools.patch index 697d63d5fe..a51c186b00 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch +++ b/meta/recipes-core/glib-2.0/files/0010-Do-not-hardcode-python-path-into-various-tools.patch @@ -1,7 +1,7 @@ -From b9160d951b9af647b97766c57295ca4f45cf9521 Mon Sep 17 00:00:00 2001 +From e6784ba43af83e22556921786c8f15e4cd246298 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Tue, 3 Oct 2017 10:45:55 +0300 -Subject: [PATCH 10/10] Do not hardcode python path into various tools +Subject: [PATCH] Do not hardcode python path into various tools Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> @@ -12,7 +12,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gio/gdbus-2.0/codegen/gdbus-codegen.in b/gio/gdbus-2.0/codegen/gdbus-codegen.in -index 8050981..e693ef3 100644 +index 67d3675..4e92a7a 100755 --- a/gio/gdbus-2.0/codegen/gdbus-codegen.in +++ b/gio/gdbus-2.0/codegen/gdbus-codegen.in @@ -1,4 +1,4 @@ @@ -22,7 +22,7 @@ index 8050981..e693ef3 100644 # GDBus - GLib D-Bus Library # diff --git a/gobject/glib-genmarshal.in b/gobject/glib-genmarshal.in -index 09e8408..b2f9d99 100755 +index aa5af43..56e8e2e 100755 --- a/gobject/glib-genmarshal.in +++ b/gobject/glib-genmarshal.in @@ -1,4 +1,4 @@ @@ -32,7 +32,7 @@ index 09e8408..b2f9d99 100755 # pylint: disable=too-many-lines, missing-docstring, invalid-name diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in -index d4bfd11..051fce4 100755 +index e10b910..4b619f8 100755 --- a/gobject/glib-mkenums.in +++ b/gobject/glib-mkenums.in @@ -1,4 +1,4 @@ @@ -41,6 +41,3 @@ index d4bfd11..051fce4 100755 # If the code below looks horrible and unpythonic, do not panic. # --- -2.14.1 - diff --git a/meta/recipes-core/glib-2.0/files/meson.cross.d/common b/meta/recipes-core/glib-2.0/files/meson.cross.d/common new file mode 100644 index 0000000000..0d7c5fa3f8 --- /dev/null +++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common @@ -0,0 +1,3 @@ +[properties] +# On all known supported architectures the stack grows down +growing_stack = false diff --git a/meta/recipes-core/glib-2.0/files/meson.cross.d/common-glibc b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-glibc new file mode 100644 index 0000000000..3049e5116e --- /dev/null +++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-glibc @@ -0,0 +1,6 @@ +[properties] +have_c99_vsnprintf = true +have_c99_snprintf = true +have_unix98_printf = true +va_val_copy = true +have_strlcpy = true diff --git a/meta/recipes-core/glib-2.0/files/meson.cross.d/common-linux b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-linux new file mode 100644 index 0000000000..adad7e62ee --- /dev/null +++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-linux @@ -0,0 +1,5 @@ +[properties] +have_proc_self_cmdline = true + +[binaries] +env = '/usr/bin/env' diff --git a/meta/recipes-core/glib-2.0/files/meson.cross.d/common-mingw b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-mingw new file mode 100644 index 0000000000..75f911ba1e --- /dev/null +++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-mingw @@ -0,0 +1,6 @@ +[properties] +have_c99_vsnprintf = false +have_c99_snprintf = false +have_unix98_printf = false +va_val_copy = true +have_proc_self_cmdline = false diff --git a/meta/recipes-core/glib-2.0/files/meson.cross.d/common-musl b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-musl new file mode 100644 index 0000000000..3049e5116e --- /dev/null +++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-musl @@ -0,0 +1,6 @@ +[properties] +have_c99_vsnprintf = true +have_c99_snprintf = true +have_unix98_printf = true +va_val_copy = true +have_strlcpy = true diff --git a/meta/recipes-core/glib-2.0/files/relocate-modules.patch b/meta/recipes-core/glib-2.0/files/relocate-modules.patch new file mode 100644 index 0000000000..d6e9019f39 --- /dev/null +++ b/meta/recipes-core/glib-2.0/files/relocate-modules.patch @@ -0,0 +1,44 @@ +From 47ea2576a13d5bc86692b4ba8cb4a8f2fd38c6ca Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@intel.com> +Date: Fri, 11 Mar 2016 15:35:55 +0000 +Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds + +Instead of hard-coding GIO_MODULE_PATH when glib is built, use dladdr() to +determine where libglib.so is and use that path to calculate GIO_MODULES_DIR. + +This solves relocation problems with GIOModule for native builds of glib. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton <ross.burton@intel.com> + +Port patch to 2.48 +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> +--- + gio/giomodule.c | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/gio/giomodule.c b/gio/giomodule.c +index 1e14955..3c09bb5 100644 +--- a/gio/giomodule.c ++++ b/gio/giomodule.c +@@ -1259,11 +1259,6 @@ get_gio_module_dir (void) + g_free (install_dir); + #else + module_dir = g_strdup (GIO_MODULE_DIR); +-#ifdef __APPLE__ +-#include "TargetConditionals.h" +-/* Only auto-relocate on macOS, not watchOS etc; older macOS SDKs only define TARGET_OS_MAC */ +-#if (defined (TARGET_OS_OSX) && TARGET_OS_OSX) || \ +- (!defined (TARGET_OS_OSX) && defined (TARGET_OS_MAC) && TARGET_OS_MAC) + #include <dlfcn.h> + { + g_autofree gchar *path = NULL; +@@ -1282,8 +1277,6 @@ get_gio_module_dir (void) + } + } + } +-#endif +-#endif + #endif + } + diff --git a/meta/recipes-core/glib-2.0/files/run-ptest b/meta/recipes-core/glib-2.0/files/run-ptest new file mode 100644 index 0000000000..831bc3b91f --- /dev/null +++ b/meta/recipes-core/glib-2.0/files/run-ptest @@ -0,0 +1,10 @@ +#! /bin/sh + +set -eux +if id -u glib2-test; then + userdel glib2-test +fi +useradd glib2-test +cd /tmp +su glib2-test -c 'G_TEST_TMPDIR=`readlink -f /tmp` gnome-desktop-testing-runner glib' +userdel glib2-test diff --git a/meta/recipes-core/glib-2.0/files/skip-timeout.patch b/meta/recipes-core/glib-2.0/files/skip-timeout.patch new file mode 100644 index 0000000000..b1c62cc39c --- /dev/null +++ b/meta/recipes-core/glib-2.0/files/skip-timeout.patch @@ -0,0 +1,29 @@ +From 682d8a616ca111c0e45c8a9cb02e992e63c69586 Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@arm.com> +Date: Thu, 28 Mar 2024 16:27:09 +0000 +Subject: [PATCH] Skip /timeout/rounding test + +This test is sensitive to load because it expects certain timeout operations +to succeed in specific time periods. Whilst these timeouts are fairly large, +they're still exceeded inside a qemu on a loaded system. + +https://bugzilla.yoctoproject.org/show_bug.cgi?id=14464 + +Upstream-Status: Inappropriate [OE-specific] +Signed-off-by: Ross Burton <ross.burton@arm.com> +--- + glib/tests/timeout.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/glib/tests/timeout.c b/glib/tests/timeout.c +index 1ae3f3a..85a715b 100644 +--- a/glib/tests/timeout.c ++++ b/glib/tests/timeout.c +@@ -214,7 +214,6 @@ main (int argc, char *argv[]) + g_test_add_func ("/timeout/seconds-once", test_seconds_once); + g_test_add_func ("/timeout/weeks-overflow", test_weeks_overflow); + g_test_add_func ("/timeout/far-future-ready-time", test_far_future_ready_time); +- g_test_add_func ("/timeout/rounding", test_rounding); + + return g_test_run (); + } diff --git a/meta/recipes-core/glib-2.0/glib-2.0-initial_2.80.0.bb b/meta/recipes-core/glib-2.0/glib-2.0-initial_2.80.0.bb new file mode 100644 index 0000000000..7da2838265 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0-initial_2.80.0.bb @@ -0,0 +1,5 @@ +require glib.inc +PACKAGES = "" +PACKAGECONFIG = "" + + diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch deleted file mode 100644 index aee96aaa6e..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch +++ /dev/null @@ -1,42 +0,0 @@ -From d6501b107940e9f548c89236d773c6d33c15a5c9 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 16 Apr 2016 13:28:59 -0700 -Subject: [PATCH 1/2] Do not ignore return value of write() - -gcc warns about ignoring return value when compiling -with fortify turned on. - -assert when write() fails - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Submitted - - glib/tests/unix.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/glib/tests/unix.c b/glib/tests/unix.c -index 3543458..4e7ed85 100644 ---- a/glib/tests/unix.c -+++ b/glib/tests/unix.c -@@ -32,14 +32,15 @@ test_pipe (void) - GError *error = NULL; - int pipefd[2]; - char buf[1024]; -- ssize_t bytes_read; -+ ssize_t bytes_read, bytes_written; - gboolean res; - - res = g_unix_open_pipe (pipefd, FD_CLOEXEC, &error); - g_assert (res); - g_assert_no_error (error); - -- write (pipefd[1], "hello", sizeof ("hello")); -+ bytes_written = write (pipefd[1], "hello", sizeof ("hello")); -+ g_assert (bytes_written != -1 && "write() failed"); - memset (buf, 0, sizeof (buf)); - bytes_read = read (pipefd[0], buf, sizeof(buf) - 1); - g_assert_cmpint (bytes_read, >, 0); --- -2.8.0 - diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch deleted file mode 100644 index 561d100209..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 80682c171ccb27d01343d4cfcfb4dd49b7863ccc Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <jussi.kukkonen@intel.com> -Date: Tue, 22 Mar 2016 15:14:58 +0200 -Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM - -We want to install this binary with the gio library, and debian -renamer does not cope with library packages with files in ${bindir} - -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> -Upstream-Status: Inappropriate [OE specific] ---- - gio/Makefile.am | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/gio/Makefile.am b/gio/Makefile.am -index b7f91cc..4d81cc0 100644 ---- a/gio/Makefile.am -+++ b/gio/Makefile.am -@@ -702,7 +702,8 @@ gio.def: libgio-2.0.la - gio-2.0.lib: libgio-2.0.la gio.def - $(AM_V_GEN) lib.exe -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgio-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:$(builddir)/gio.def -out:$@ - --bin_PROGRAMS = gio-querymodules glib-compile-schemas glib-compile-resources gsettings -+bin_PROGRAMS = glib-compile-schemas glib-compile-resources gsettings -+libexec_PROGRAMS = gio-querymodules - - glib_compile_resources_LDADD = libgio-2.0.la \ - $(top_builddir)/gobject/libgobject-2.0.la \ --- -2.1.4 - diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Test-for-pthread_getname_np-before-using-it.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Test-for-pthread_getname_np-before-using-it.patch deleted file mode 100644 index c6e4966bb8..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Test-for-pthread_getname_np-before-using-it.patch +++ /dev/null @@ -1,70 +0,0 @@ -From f627fe16099a2b08d8b4e9023ae6b4f352451967 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sun, 6 Nov 2016 08:59:08 -0800 -Subject: [PATCH] Test for pthread_getname_np before using it - -Its a GNU extention and not all libc implement it -musl e.g. implements the setname API but not getname -in any case, it seems to be safer to check for the -function before using it. - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Submitted - - config.h.in | 3 +++ - configure.ac | 10 ++++++++++ - glib/tests/thread.c | 2 +- - 3 files changed, 14 insertions(+), 1 deletion(-) - -diff --git a/config.h.in b/config.h.in -index 2c35ff1..da7ac30 100644 ---- a/config.h.in -+++ b/config.h.in -@@ -326,6 +326,9 @@ - #undef HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE_NP - - /* Have function pthread_setname_np(const char*) */ -+#undef HAVE_PTHREAD_GETNAME_NP -+ -+/* Have function pthread_setname_np(const char*) */ - #undef HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID - - /* Have function pthread_setname_np(pthread_t, const char*) */ -diff --git a/configure.ac b/configure.ac -index 4309671..209770a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2121,6 +2121,16 @@ AS_IF([ test x"$have_threads" = xposix], [ - AC_DEFINE(HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE_NP,1, - [Have function pthread_cond_timedwait_relative_np])], - [AC_MSG_RESULT(no)]) -+ dnl gets thread names -+ AC_MSG_CHECKING(for pthread_getname_np(pthread_t, char*, size_t)) -+ AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM( -+ [#include <pthread.h>], -+ [pthread_getname_np(pthread_self(),"example",0)])], -+ [AC_MSG_RESULT(yes) -+ AC_DEFINE(HAVE_PTHREAD_GETNAME_NP,1, -+ [Have function pthread_setname_np(const char*)])], -+ [AC_MSG_RESULT(no)]) - dnl Sets thread names on OS X 10.6, iOS 3.2 (and higher) - AC_MSG_CHECKING(for pthread_setname_np(const char*)) - AC_LINK_IFELSE( -diff --git a/glib/tests/thread.c b/glib/tests/thread.c -index 5447836..2f248a6 100644 ---- a/glib/tests/thread.c -+++ b/glib/tests/thread.c -@@ -174,7 +174,7 @@ test_thread5 (void) - static gpointer - thread6_func (gpointer data) - { --#ifdef HAVE_PTHREAD_SETNAME_NP_WITH_TID -+#if defined(HAVE_PTHREAD_SETNAME_NP_WITH_TID) && defined(HAVE_PTHREAD_GETNAME_NP) - char name[16]; - - pthread_getname_np (pthread_self(), name, 16); --- -2.10.2 - diff --git a/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch b/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch deleted file mode 100644 index b98f933dae..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch +++ /dev/null @@ -1,85 +0,0 @@ -From d762907d33b81cf7469b5696c87f2188d2050afb Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <jussi.kukkonen@intel.com> -Date: Mon, 9 Nov 2015 11:07:27 +0200 -Subject: [PATCH 06/10] Enable more tests while cross-compiling - -Upstream disables a few tests while cross-compiling because their build requires -running other built binaries. This usually makes sense but in the cross-compile -case we can depend on glib-2.0-native. - -Upstream-Status: Inappropriate [OE specific] -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> - ---- - gio/tests/Makefile.am | 10 ++++++---- - tests/gobject/Makefile.am | 8 +++++--- - 2 files changed, 11 insertions(+), 7 deletions(-) - -diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am -index acc1da4..9176640 100644 ---- a/gio/tests/Makefile.am -+++ b/gio/tests/Makefile.am -@@ -516,10 +516,9 @@ test_programs += \ - endif - - # ----------------------------------------------------------------------------- --# The resources test is a bit more complicated, and we cannot build it when --# cross-compiling GIO because it requires running a binary... -+# The resources test is a bit more complicated, and requires glib-native -+# for running a binary - --if !CROSS_COMPILING - test_programs += resources - resources_SOURCES = resources.c - nodist_resources_SOURCES = test_resources.c test_resources2.c test_resources2.h -@@ -543,7 +542,11 @@ if !ENABLE_INSTALLED_TESTS - libresourceplugin_la_LDFLAGS += -rpath / - endif - -+if !CROSS_COMPILING - glib_compile_resources=$(top_builddir)/gio/glib-compile-resources -+else -+glib_compile_resources=glib-compile-resources -+endif - - test-generated.txt: test1.txt - $(AM_V_GEN) echo "Generated" > $@ && \ -@@ -564,7 +567,6 @@ test.gresource: test.gresource.xml Makefile $(shell $(glib_compile_resources) -- - - EXTRA_DIST += test.gresource.xml test1.txt test2.gresource.xml test2.txt test3.gresource.xml test3.txt test4.gresource.xml - CLEANFILES += test-generated.txt test_resources.c test_resources2.[ch] plugin_resources.c test.gresource --endif # !CROSS_COMPILING - - BUILT_SOURCES += giotypefuncs.inc - -diff --git a/tests/gobject/Makefile.am b/tests/gobject/Makefile.am -index 656941d..68555ff 100644 ---- a/tests/gobject/Makefile.am -+++ b/tests/gobject/Makefile.am -@@ -48,10 +48,13 @@ if ENABLE_TIMELOOP - installed_test_programs += timeloop-closure - endif - --# The marshal test requires running a binary, which means we cannot --# build it when cross-compiling -+# The marshal test requires running a binary, which means we require -+# glib-native when cross-compiling - if !CROSS_COMPILING - glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal -+else -+glib_genmarshal=$(shell which glib-genmarshal) -+endif - - testmarshal.h: stamp-testmarshal.h - @true -@@ -69,7 +72,6 @@ BUILT_SOURCES += testmarshal.h testmarshal.c - CLEANFILES += stamp-testmarshal.h - EXTRA_DIST += testcommon.h testmarshal.list - BUILT_EXTRA_DIST += testmarshal.h testmarshal.c --endif # !CROSS_COMPILING - - dist-hook: $(BUILT_EXTRA_DIST) - files='$(BUILT_EXTRA_DIST)'; \ --- -2.14.1 - diff --git a/meta/recipes-core/glib-2.0/glib-2.0/allow-run-media-sdX-drive-mount-if-username-root.patch b/meta/recipes-core/glib-2.0/glib-2.0/allow-run-media-sdX-drive-mount-if-username-root.patch deleted file mode 100644 index 3d0c008bbe..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/allow-run-media-sdX-drive-mount-if-username-root.patch +++ /dev/null @@ -1,39 +0,0 @@ -From c53e94a520b573aa0dcf12903e9563fe8badc34c Mon Sep 17 00:00:00 2001 -From: Marius Avram <marius.avram@intel.com> -Date: Wed, 27 Aug 2014 12:10:41 +0300 -Subject: [PATCH] Allow /run/media/sdX drive mount if username root - -In case that the username logged in the system is root -the drives are directly mounted in /run/media/sdX and -not /run/media/<username>/sdX as the function -g_unix_mount_guess_should_display() expects. - -Without this change USB stick mounts are not accesible from -graphical applications such as the File Manager (pcmanfm). - -Upstream-Status: Inappropriate - -Signed-off-by: Marius Avram <marius.avram@intel.com> ---- - gio/gunixmounts.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/gio/gunixmounts.c b/gio/gunixmounts.c -index 4999354..f6c1472 100644 ---- a/gio/gunixmounts.c -+++ b/gio/gunixmounts.c -@@ -2136,6 +2136,11 @@ g_unix_mount_guess_should_display (GUnixMountEntry *mount_entry) - mount_path[sizeof ("/run/media/") - 1 + user_name_len] == '/') - is_in_runtime_dir = TRUE; - -+ /* Allow no username in path in /run/media if current user is root */ -+ if (strcmp(user_name, "root") == 0 && -+ strncmp (mount_path, "/run/media/", sizeof("run/media")) == 0) -+ is_in_runtime_dir = TRUE; -+ - if (is_in_runtime_dir || g_str_has_prefix (mount_path, "/media/")) - { - char *path; --- -1.7.9.5 - diff --git a/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch b/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch deleted file mode 100644 index 59b891347d..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 1dd1e6ddca5deada049bac2e1ee1fe4ecc5342c5 Mon Sep 17 00:00:00 2001 -From: Martin Jansa <Martin.Jansa@gmail.com> -Date: Sat, 28 Apr 2012 18:24:50 +0200 -Subject: [PATCH 01/10] configure: use $host_alias-libtool instead of libtool - directly - -Poky renames libtool to $host_alias-libtool. -./$host_alias-libtool isn't created until after configure runs with -libtool >= 2.2.2 -so we can't call # it at this point. We can safely assume a version is -available -from PATH though - -Rebased to glib-2.27.3 by Dongxiao Xu <dongxiao.xu@intel.com> -Rebased to glib-2.32.1 by Martin Jansa <Martin.Jansa@gmail.com> -Rebased to glib-2.31.20+ by Andre McCurdy <armccurdy@gmail.com> - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> - ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 6fa6eb0..b6f78a6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1428,9 +1428,9 @@ AS_IF([ test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL" ], [ - LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS" - dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness - echo "void glib_plugin_test(void) { }" > plugin.c -- ${SHELL} ./libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \ -+ ${SHELL} ./$host_alias-libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \ - ${CPPFLAGS} -c -o plugin.lo plugin.c >/dev/null 2>&1 -- ${SHELL} ./libtool --mode=link --tag=CC ${CC} ${CFLAGS} \ -+ ${SHELL} ./$host_alias-libtool --mode=link --tag=CC ${CC} ${CFLAGS} \ - ${LDFLAGS} -module -o plugin.la -export-dynamic \ - -shrext ".o" -avoid-version plugin.lo \ - -rpath /dont/care >/dev/null 2>&1 --- -2.14.1 - diff --git a/meta/recipes-core/glib-2.0/glib-2.0/ptest-paths.patch b/meta/recipes-core/glib-2.0/glib-2.0/ptest-paths.patch deleted file mode 100644 index f3be02770c..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/ptest-paths.patch +++ /dev/null @@ -1,30 +0,0 @@ -Instead of writing the temporary mapping files in the mappedfile test to the -user runtime directory, write them to $TMP. The runtime directory may not -currently exist if the test is executed on a non-desktop system and the test -doesn't attempt to create the directory structure. - -Upstream-Status: Pending -Signed-off-by: Ross Burton <ross.burton@intel.com> - -diff --git a/glib/tests/mappedfile.c b/glib/tests/mappedfile.c -index 40e0e60..27a24be 100644 ---- a/glib/tests/mappedfile.c -+++ b/glib/tests/mappedfile.c -@@ -81,7 +81,7 @@ test_writable (void) - const gchar *new = "abcdefghijklmnopqrstuvxyz"; - gchar *tmp_copy_path; - -- tmp_copy_path = g_build_filename (g_get_user_runtime_dir (), "glib-test-4096-random-bytes", NULL); -+ tmp_copy_path = g_build_filename (g_get_tmp_dir (), "glib-test-4096-random-bytes", NULL); - - g_file_get_contents (g_test_get_filename (G_TEST_DIST, "4096-random-bytes", NULL), &contents, &len, &error); - g_assert_no_error (error); -@@ -125,7 +125,7 @@ test_writable_fd (void) - int fd; - gchar *tmp_copy_path; - -- tmp_copy_path = g_build_filename (g_get_user_runtime_dir (), "glib-test-4096-random-bytes", NULL); -+ tmp_copy_path = g_build_filename (g_get_tmp_dir (), "glib-test-4096-random-bytes", NULL); - - g_file_get_contents (g_test_get_filename (G_TEST_DIST, "4096-random-bytes", NULL), &contents, &len, &error); - g_assert_no_error (error); diff --git a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch deleted file mode 100644 index 65d5b43f9b..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch +++ /dev/null @@ -1,47 +0,0 @@ -Instead of hard-coding GIO_MODULE_PATH when glib is built, use dladdr() to -determine where libglib.so is and use that path to calculate GIO_MODULES_DIR. - -This solves relocation problems with GIOModule for native builds of glib. - -Upstream-Status: Inappropriate -Signed-off-by: Ross Burton <ross.burton@intel.com> - -Port patch to 2.48 -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> ---- - gio/giomodule.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/gio/giomodule.c b/gio/giomodule.c -index da7c167..cc0bc7c 100644 ---- a/gio/giomodule.c -+++ b/gio/giomodule.c -@@ -40,6 +40,8 @@ - #include "gnetworkmonitor.h" - #ifdef G_OS_WIN32 - #include "gregistrysettingsbackend.h" -+#else -+#include <dlfcn.h> - #endif - #include <glib/gstdio.h> - -@@ -1036,7 +1038,15 @@ get_gio_module_dir (void) - #endif - g_free (install_dir); - #else -- module_dir = g_strdup (GIO_MODULE_DIR); -+ Dl_info info; -+ -+ if (dladdr (g_io_module_new, &info)) { -+ char *libdir = g_path_get_dirname (info.dli_fname); -+ module_dir = g_build_filename (libdir, "gio", "modules", NULL); -+ g_free (libdir); -+ } else { -+ module_dir = g_strdup (GIO_MODULE_DIR); -+ } - #endif - } - --- -2.1.4 - diff --git a/meta/recipes-core/glib-2.0/glib-2.0/run-ptest b/meta/recipes-core/glib-2.0/glib-2.0/run-ptest deleted file mode 100644 index 5b85e8fabe..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/run-ptest +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/sh - -useradd glib2-test -su glib2-test -c gnome-desktop-testing-runner glib -userdel glib2-test diff --git a/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch b/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch deleted file mode 100644 index 7aa6217d69..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch +++ /dev/null @@ -1,22 +0,0 @@ -Fix DATADIRNAME on uclibc/Linux - -translation files are always installed under PREFIX/share/locale in uclibc -based systems therefore lets set DATADIRNAME to "share". - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Pending -Index: glib-2.46.1/m4macros/glib-gettext.m4 -=================================================================== ---- glib-2.46.1.orig/m4macros/glib-gettext.m4 -+++ glib-2.46.1/m4macros/glib-gettext.m4 -@@ -243,6 +243,10 @@ msgstr "" - CATOBJEXT=.mo - DATADIRNAME=share - ;; -+ *-*-musl* | *-*-linux-uclibc*) -+ CATOBJEXT=.gmo -+ DATADIRNAME=share -+ ;; - *) - CATOBJEXT=.mo - DATADIRNAME=lib diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.54.2.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.54.2.bb deleted file mode 100644 index 60ce1b5f7f..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0_2.54.2.bb +++ /dev/null @@ -1,24 +0,0 @@ -require glib.inc - -PE = "1" - -SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ - file://configure-libtool.patch \ - file://run-ptest \ - file://ptest-paths.patch \ - file://uclibc_musl_translation.patch \ - file://allow-run-media-sdX-drive-mount-if-username-root.patch \ - file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \ - file://Enable-more-tests-while-cross-compiling.patch \ - file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ - file://0001-Do-not-ignore-return-value-of-write.patch \ - file://0001-Test-for-pthread_getname_np-before-using-it.patch \ - file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ - " - -SRC_URI_append_class-native = " file://relocate-modules.patch" - -SRC_URI[md5sum] = "50f83e08f080f99b1e2f0ad2b760fb81" -SRC_URI[sha256sum] = "bb89e5c5aad33169a8c7f28b45671c7899c12f74caf707737f784d7102758e6c" diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.80.0.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.80.0.bb new file mode 100644 index 0000000000..e22810a55b --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0_2.80.0.bb @@ -0,0 +1 @@ +require glib.inc diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc index 42ab5f1562..692857892f 100644 --- a/meta/recipes-core/glib-2.0/glib.inc +++ b/meta/recipes-core/glib-2.0/glib.inc @@ -3,14 +3,12 @@ DESCRIPTION = "GLib is a general-purpose utility library, which provides many us HOMEPAGE = "https://developer.gnome.org/glib/" # pcre is under BSD; -# docs/reference/COPYING is with a 'public domai'-like license! -LICENSE = "LGPLv2.1+ & BSD & PD" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ - file://glib/glib.h;beginline=4;endline=17;md5=b88abb7f3ad09607e71cb9d530155906 \ - file://gmodule/COPYING;md5=4fbd65380cdd255951079008b364516c \ - file://gmodule/gmodule.h;beginline=4;endline=17;md5=b88abb7f3ad09607e71cb9d530155906 \ - file://glib/pcre/COPYING;md5=266ebc3ff74ee9ce6fad65577667c0f4 \ - file://glib/pcre/pcre.h;beginline=11;endline=35;md5=de27f2bf633d20a2b7af0b1983423283 \ +# docs/reference/COPYING is with a 'public domain'-like license! +LICENSE = "LGPL-2.1-or-later & BSD-3-Clause & PD" +LIC_FILES_CHKSUM = "file://COPYING;md5=41890f71f740302b785c27661123bff5 \ + file://glib/glib.h;beginline=4;endline=17;md5=72f7cc2847407f65d8981ef112e4e630 \ + file://LICENSES/LGPL-2.1-or-later.txt;md5=41890f71f740302b785c27661123bff5 \ + file://gmodule/gmodule.h;beginline=4;endline=17;md5=72f7cc2847407f65d8981ef112e4e630 \ file://docs/reference/COPYING;md5=f51a5100c17af6bae00735cd791e1fcc" BUGTRACKER = "http://bugzilla.gnome.org" SECTION = "libs" @@ -19,73 +17,85 @@ CVE_PRODUCT = "glib" BBCLASSEXTEND = "native nativesdk" -DEPENDS = "virtual/libiconv libffi zlib glib-2.0-native" -DEPENDS_append = " ${@bb.utils.contains('PTEST_ENABLED', '1', ' dbus', '', d)}" -DEPENDS_class-native = "pkgconfig-native gettext-native libffi-native zlib-native" -DEPENDS_class-nativesdk = "nativesdk-libtool nativesdk-gettext nativesdk-libffi nativesdk-zlib glib-2.0-native" +DEPENDS = "glib-2.0-native \ + virtual/libintl \ + virtual/libiconv \ + libffi \ + libpcre2 \ + zlib" PACKAGES += "${PN}-codegen ${PN}-utils" LEAD_SONAME = "libglib-2.0.*" -inherit autotools gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache python3native manpages +inherit meson gettext gi-docgen pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages gobject-introspection-data S = "${WORKDIR}/glib-${PV}" -PACKAGECONFIG ??= "system-pcre libmount" -# To use the system pcre it must be configured with --enable-unicode-properties -PACKAGECONFIG[system-pcre] = "--with-pcre=system,--with-pcre=internal,libpcre" -PACKAGECONFIG[libmount] = "--enable-libmount,--disable-libmount,util-linux" -PACKAGECONFIG[manpages] = "--enable-man --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog.xml, --disable-man, libxslt-native xmlto-native" +PACKAGECONFIG ??= "libmount \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'introspection', '', d)} \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" +PACKAGECONFIG:class-native = "" -CORECONF = "--disable-dtrace --disable-fam --disable-libelf --disable-systemtap" +PACKAGECONFIG[libmount] = "-Dlibmount=enabled,-Dlibmount=disabled,util-linux" +PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, python3-docutils-native" +PACKAGECONFIG[libelf] = "-Dlibelf=enabled,-Dlibelf=disabled,elfutils" +PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false," +PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux" +PACKAGECONFIG[introspection] = "-Dintrospection=enabled,-Dintrospection=disabled,gobject-introspection-native gobject-introspection glib-2.0-initial" -PRINTF = "--enable-included-printf=no" -PRINTF_darwin = "--enable-included-printf=yes" -PRINTF_mingw32 = "--enable-included-printf=yes" -EXTRA_OECONF = "${PRINTF} ${CORECONF}" -EXTRA_OECONF_class-native = "${CORECONF} --disable-selinux" +EXTRA_OEMESON = "-Ddtrace=false -Dsystemtap=false \ + ${@'-Dgir_dir_prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \ +" -# Tell configure that we'll have dbus-daemon on the target for the tests -EXTRA_OECONF_class-target_append = " ${@bb.utils.contains('PTEST_ENABLED', '1', ' ac_cv_prog_DBUS_DAEMON=dbus-daemon', '', d)}" - -do_configure_prepend() { +do_configure:prepend() { sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in } -FILES_${PN} = "${libdir}/lib*${SOLIBS} \ +FILES:${PN} = "${libdir}/lib*${SOLIBS} \ ${libdir}/gio \ ${libexecdir}/*gio-querymodules \ - ${datadir}/glib-2.0/schemas" -FILES_${PN}-dev += "${libdir}/glib-2.0/include \ + ${libexecdir}/*gio-launch-desktop \ + ${datadir}/glib-2.0/dtds \ + ${datadir}/glib-2.0/schemas \ + ${libdir}/girepository-*/*.typelib \ +" +FILES:${PN}-dev += "${libdir}/glib-2.0/include \ ${libdir}/gio/modules/lib*${SOLIBSDEV} \ ${libdir}/gio/modules/*.la \ - ${bindir}/glib-genmarshal \ - ${bindir}/glib-gettextize \ - ${bindir}/glib-mkenums \ - ${bindir}/glib-compile-resources \ ${datadir}/glib-2.0/gettext/po/Makefile.in.in \ ${datadir}/glib-2.0/schemas/gschema.dtd \ ${datadir}/glib-2.0/valgrind/glib.supp \ + ${datadir}/gir-*/*.gir ${libdir}/gir-*/*.gir \ ${datadir}/gettext/its" -FILES_${PN}-dbg += "${datadir}/glib-2.0/gdb ${datadir}/gdb" -FILES_${PN}-codegen = "${datadir}/glib-2.0/codegen/*.py \ +FILES:${PN}-dbg += "${datadir}/glib-2.0/gdb ${datadir}/gdb" +FILES:${PN}-codegen = "${datadir}/glib-2.0/codegen/*.py \ ${bindir}/gdbus-codegen" -FILES_${PN}-utils = "${bindir}/*" +FILES:${PN}-utils = "${bindir}/*" -RRECOMMENDS_${PN} += "shared-mime-info" +SHAREDMIMEDEP = "shared-mime-info" +SHAREDMIMEDEP:class-native = "" # When cross compiling for Windows we don't want to include this -RRECOMMENDS_${PN}_remove_mingw32 = "shared-mime-info" +SHAREDMIMEDEP:mingw32 = "" + +RRECOMMENDS:${PN} += "${SHAREDMIMEDEP}" -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET:armv4 = "arm" +ARM_INSTRUCTION_SET:armv5 = "arm" # Valgrind runtime detection works using hand-written assembly, which # doesn't support mips16e -CPPFLAGS_append_class-target_mips16e = " -DNVALGRIND=1" +CPPFLAGS:append:class-target:mips16e = " -DNVALGRIND=1" + +# GLib generally requires gettext to be present so for USE_NLS to yes. For +# native builds as i18n is disabled globally we have to add a gettext-native dependency. +USE_NLS:class-target = "yes" +USE_NLS:class-nativesdk = "yes" +DEPENDS:append:class-native = " gettext-native" -USE_NLS = "yes" +EXEEXT = "" +EXEEXT:mingw32 = ".exe" -do_install_append () { +do_install:append () { if [ -f ${D}${bindir}/gtester-report ]; then sed ${D}${bindir}/gtester-report -i -e '1s|^#!.*|#!/usr/bin/env python3|' fi @@ -98,25 +108,60 @@ do_install_append () { if [ -e ${D}${libdir}/charset.alias ]; then rm -f ${D}${libdir}/charset.alias fi + + # Make sure gio-querymodules is unique among multilibs + if test "x${MLPREFIX}" != "x"; then + mv ${D}${libexecdir}/gio-querymodules${EXEEXT} ${D}${libexecdir}/${MLPREFIX}gio-querymodules${EXEEXT} + fi + # Autotools does this, meson does not + mkdir -p ${D}${libdir}/gio/modules +} + +do_install:append:class-native () { + # Link gio-querymodules into ${bindir} as otherwise tools like meson won't find it + ln -rs ${D}${libexecdir}/gio-querymodules ${D}${bindir} } -do_install_append_class-target () { +do_install:append:class-target () { # Tests are only installed on targets, not native builds. Separating this out - # keeps glib-2.0-native from depending on ${DISTRO_FEATURES} + # keeps glib-2.0-native from depending on DISTRO_FEATURES if [ -f ${D}${datadir}/installed-tests/glib/gdbus-serialization.test ]; then if ${@bb.utils.contains("DISTRO_FEATURES", "x11", "false", "true", d)}; then rm ${D}${datadir}/installed-tests/glib/gdbus-serialization.test fi fi - - # Make sure gio-querymodules is unique among multilibs - if test "x${MLPREFIX}" != "x"; then - mv ${D}${libexecdir}/gio-querymodules ${D}${libexecdir}/${MLPREFIX}gio-querymodules + if [ -f ${D}${datadir}/installed-tests/glib/static-link.test ]; then + if test "x${MLPREFIX}" != "x"; then + mv ${D}${datadir}/installed-tests/glib/static-link.test ${D}${datadir}/installed-tests/glib/${MLPREFIX}static-link.test + fi fi + # https://gitlab.gnome.org/GNOME/glib/-/issues/2810 + rm -f ${D}${datadir}/installed-tests/glib/thread-pool-slow.test +} +do_install:append:class-target:libc-musl () { + # Remove failing tests on musl libc systems, this helps set baseline for musl testing + # they remain to be rootcaused and fixed but marked known failures here. + for t in convert.test collate.test gdatetime.test date.test converter-stream.test option-context.test; do + rm -rf ${D}${datadir}/installed-tests/glib/$t + done +} +# As we do not build python3 for windows, makes no sense to ship the script that's using it +do_install:append:mingw32() { + rm -f ${D}${bindir}/gtester-report } -RDEPENDS_${PN}-ptest += "\ +CODEGEN_PYTHON_RDEPENDS = "python3 python3-packaging python3-xml" +CODEGEN_PYTHON_RDEPENDS:mingw32 = "" + +RDEPENDS:${PN}-codegen += "${CODEGEN_PYTHON_RDEPENDS}" + +RDEPENDS:${PN}-ptest += "${PN}-utils" + +RDEPENDS:${PN}-ptest += "\ + coreutils \ + libgcc \ dbus \ + desktop-file-utils \ gnome-desktop-testing \ tzdata \ tzdata-americas \ @@ -124,9 +169,27 @@ RDEPENDS_${PN}-ptest += "\ tzdata-europe \ tzdata-posix \ shared-mime-info \ + ${PN}-locale-ja \ + ${PN}-locale-fr \ + ${PN}-locale-el \ + ${PN}-locale-hr \ + ${PN}-locale-lt \ + ${PN}-locale-pl \ + ${PN}-locale-ru \ + ${PN}-locale-th \ + python3-core \ + python3-modules \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'python3-dbusmock', '', d)} \ + ${PN}-codegen \ + locale-base-de-de \ + locale-base-es-es \ + locale-base-en-gb \ + locale-base-en-us \ + locale-base-fr-fr \ + locale-base-ru-ru \ " -RDEPENDS_${PN}-ptest_append_libc-glibc = "\ +RDEPENDS:${PN}-ptest:append:libc-glibc = "\ glibc-gconv-utf-16 \ glibc-charmap-utf-8 \ glibc-gconv-cp1255 \ @@ -138,6 +201,66 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = "\ glibc-gconv-iso8859-15 \ glibc-charmap-invariant \ glibc-localedata-translit-cjk-variants \ + locale-base-lt-lt \ + locale-base-ja-jp.euc-jp \ + locale-base-fa-ir \ + locale-base-hr-hr \ + locale-base-el-gr \ + locale-base-pl-pl \ + locale-base-pl-pl.iso-8859-2 \ + locale-base-tr-tr \ + " + +PE = "1" + +SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ + file://run-ptest \ + file://0001-Fix-DATADIRNAME-on-uclibc-Linux.patch \ + file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \ + file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ + file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ + file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \ + file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ + file://0001-meson-Run-atomics-test-on-clang-as-well.patch \ + file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \ + file://skip-timeout.patch \ + file://0001-girepository-introspection-correctly-install-.gir-fi.patch \ " +SRC_URI:append:class-native = " file://relocate-modules.patch \ + file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \ + " -INSANE_SKIP_${PN}-ptest += "libdir" +SRC_URI[sha256sum] = "8228a92f92a412160b139ae68b6345bd28f24434a7b5af150ebe21ff587a561d" + +# Find any meson cross files in FILESPATH that are relevant for the current +# build (using siteinfo) and add them to EXTRA_OEMESON. +inherit siteinfo +def find_meson_cross_files(d): + if bb.data.inherits_class('native', d): + return "" + + thisdir = os.path.normpath(d.getVar("THISDIR")) + import collections + sitedata = siteinfo_data(d) + # filename -> found + files = collections.OrderedDict() + for path in d.getVar("FILESPATH").split(":"): + for element in sitedata: + filename = os.path.normpath(os.path.join(path, "meson.cross.d", element)) + sanitized_path = filename.replace(thisdir, "${THISDIR}") + if sanitized_path == filename: + if os.path.exists(filename): + bb.error("Cannot add '%s' to --cross-file, because it's not relative to THISDIR '%s' and sstate signature would contain this full path" % (filename, thisdir)) + continue + files[filename.replace(thisdir, "${THISDIR}")] = os.path.exists(filename) + + items = ["--cross-file=" + k for k,v in files.items() if v] + d.appendVar("EXTRA_OEMESON", " " + " ".join(items)) + items = ["%s:%s" % (k, "True" if v else "False") for k,v in files.items()] + d.appendVarFlag("do_configure", "file-checksums", " " + " ".join(items)) + +python () { + find_meson_cross_files(d) +} |