diff options
Diffstat (limited to 'meta/recipes-core/glib-2.0')
32 files changed, 727 insertions, 556 deletions
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-Do-not-write-bindir-into-pkg-config-files.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch new file mode 100644 index 0000000000..9bdd99d8a2 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch @@ -0,0 +1,61 @@ +From 4a41bf7b050168726cc4fad4c1c72fc7c18ab779 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 write $bindir into pkg-config files + +This would otherwise break when using the files 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 | 16 ++++++++-------- + glib/meson.build | 6 +++--- + 2 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/gio/meson.build b/gio/meson.build +index 36b5bad..137e75a 100644 +--- a/gio/meson.build ++++ b/gio/meson.build +@@ -862,14 +862,14 @@ pkg.generate(libgio, + 'schemasdir=' + join_paths('${datadir}', schemas_subdir), + 'bindir=' + join_paths('${prefix}', get_option('bindir')), + 'giomoduledir=' + pkgconfig_giomodulesdir, +- 'gio=' + join_paths('${bindir}', 'gio'), +- 'gio_querymodules=@0@'.format(pkgconfig_multiarch_bindir / 'gio-querymodules'), +- 'glib_compile_schemas=@0@'.format(pkgconfig_multiarch_bindir / 'glib-compile-schemas'), +- 'glib_compile_resources=' + join_paths('${bindir}', 'glib-compile-resources'), +- 'gdbus=' + join_paths('${bindir}', 'gdbus'), +- 'gdbus_codegen=' + join_paths('${bindir}', 'gdbus-codegen'), +- 'gresource=' + join_paths('${bindir}', 'gresource'), +- 'gsettings=' + join_paths('${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, + filebase : 'gio-2.0', +diff --git a/glib/meson.build b/glib/meson.build +index c365901..c3d6601 100644 +--- a/glib/meson.build ++++ b/glib/meson.build +@@ -397,9 +397,9 @@ pkg.generate(libglib, + subdirs : ['glib-2.0'], + extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags, + variables : ['bindir=' + join_paths('${prefix}', get_option('bindir')), +- 'glib_genmarshal=' + join_paths('${bindir}', 'glib-genmarshal'), +- 'gobject_query=' + join_paths('${bindir}', 'gobject-query'), +- 'glib_mkenums=' + join_paths('${bindir}', 'glib-mkenums')], ++ 'glib_genmarshal=glib-genmarshal', ++ 'gobject_query=gobject-query', ++ 'glib_mkenums=glib-mkenums'], + version : glib_version, + install_dir : glib_pkgconfigreldir, + filebase : 'glib-2.0', diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch new file mode 100644 index 0000000000..16f2d31496 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch @@ -0,0 +1,31 @@ +From c94e669de98a3892c699bd8d0d2b5164b2de747e 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/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 index 561d100209..597864d9ac 100644 --- 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 @@ -1,4 +1,4 @@ -From 80682c171ccb27d01343d4cfcfb4dd49b7863ccc Mon Sep 17 00:00:00 2001 +From 0015db45cd1bfefc04959dffab5dabeead93136f 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 @@ -8,24 +8,20 @@ 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(-) + gio/meson.build | 1 + + 1 file changed, 1 insertion(+) -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 +diff --git a/gio/meson.build b/gio/meson.build +index 2ef60ed..532b086 100644 +--- a/gio/meson.build ++++ b/gio/meson.build +@@ -936,6 +936,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_resources_LDADD = libgio-2.0.la \ - $(top_builddir)/gobject/libgobject-2.0.la \ --- -2.1.4 - + 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/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch index 41a190eddf..6fd93526ce 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/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch @@ -1,4 +1,4 @@ -From 41534253b6b61ed4769eb6a3966698a50ee73b71 Mon Sep 17 00:00:00 2001 +From 4f47b8a8d650d185aa61aec2f56a283522a723c4 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] Remove the warning about deprecated paths in schemas @@ -11,26 +11,30 @@ Upstream-Status: Inappropriate Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> --- - gio/glib-compile-schemas.c | 6 ------ - 1 file changed, 6 deletions(-) + 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 e42949b..ec79d7c 100644 +index 7888120..7acbd5b 100644 --- a/gio/glib-compile-schemas.c +++ b/gio/glib-compile-schemas.c -@@ -1202,12 +1202,6 @@ parse_state_start_schema (ParseState *state, +@@ -1232,19 +1232,6 @@ parse_state_start_schema (ParseState *state, return; } - if (path && (g_str_has_prefix (path, "/apps/") || - g_str_has_prefix (path, "/desktop/") || - g_str_has_prefix (path, "/system/"))) -- g_printerr ("warning: Schema '%s' has path '%s'. Paths starting with " -- "'/apps/', '/desktop/' or '/system/' are deprecated.\n", id, path); +- { +- gchar *message = NULL; +- message = g_strdup_printf (_("Warning: Schema “%s” has path “%s”. " +- "Paths starting with " +- "“/apps/”, “/desktop/” or “/system/” are deprecated."), +- id, path); +- g_printerr ("%s\n", message); +- g_free (message); +- } - state->schema_state = schema_state_new (path, gettext_domain, extends, extends_name, list_of); --- -2.1.4 - diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch new file mode 100644 index 0000000000..2e1e2313e8 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch @@ -0,0 +1,81 @@ +From ba1728bc27c88597164957d000b70ec4be6edf28 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 f644aa2..64a8684 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 + +@@ -210,7 +210,7 @@ if have_dbus_daemon + endif + + # Test programs buildable on UNIX only +-if host_machine.system() != 'windows' ++if host_system != 'windows' + gio_tests += { + 'file' : {}, + 'gdbus-peer-object-manager' : {}, +@@ -462,7 +462,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 + +@@ -532,7 +532,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 db01b54..6950817 100644 +--- a/glib/tests/meson.build ++++ b/glib/tests/meson.build +@@ -188,7 +188,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 43bb468..5f9b59c 100644 +--- a/meson.build ++++ b/meson.build +@@ -43,6 +43,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/glib-2.0/0001-gio-tests-g-file-info-don-t-assume-million-in-one-ev.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-g-file-info-don-t-assume-million-in-one-ev.patch new file mode 100644 index 0000000000..57ada66907 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-g-file-info-don-t-assume-million-in-one-ev.patch @@ -0,0 +1,50 @@ +From 3c56ff21b9a5fe18f9cec9b97ae1788fdf5d563e Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@arm.com> +Date: Tue, 6 Jul 2021 19:26:03 +0100 +Subject: [PATCH] gio/tests/g-file-info: don't assume million-in-one events + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2990] +Signed-off-by: Ross Burton <ross.burton@arm.com> + + don't happen + +The access and creation time tests create a file, gets the time in +seconds, then gets the time in microseconds and assumes that the +difference between the two has to be above 0. + +As rare as this may be, it can happen: + +$ stat g-file-info-test-50A450 -c %y +2021-07-06 18:24:56.000000767 +0100 + +Change the test to simply assert that the difference not negative to +handle this case. + +This is the same fix as 289f8b, but that was just modification time. + +--- + gio/tests/g-file-info.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gio/tests/g-file-info.c b/gio/tests/g-file-info.c +index d9ad045..c9b12b0 100644 +--- a/gio/tests/g-file-info.c ++++ b/gio/tests/g-file-info.c +@@ -307,7 +307,7 @@ test_g_file_info_access_time (void) + g_assert_nonnull (dt_usecs); + + ts = g_date_time_difference (dt_usecs, dt); +- g_assert_cmpint (ts, >, 0); ++ g_assert_cmpint (ts, >=, 0); + g_assert_cmpint (ts, <, G_USEC_PER_SEC); + + /* Try again with nanosecond precision. */ +@@ -442,7 +442,7 @@ test_g_file_info_creation_time (void) + g_assert_nonnull (dt_usecs); + + ts = g_date_time_difference (dt_usecs, dt); +- g_assert_cmpint (ts, >, 0); ++ g_assert_cmpint (ts, >=, 0); + g_assert_cmpint (ts, <, G_USEC_PER_SEC); + + /* Try again with nanosecond precision. */ diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-meson.build-do-not-use-can_run_host_binari.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-meson.build-do-not-use-can_run_host_binari.patch new file mode 100644 index 0000000000..db08b5af55 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-meson.build-do-not-use-can_run_host_binari.patch @@ -0,0 +1,48 @@ +From fdbffaea2fa85c203cc6aacb5734acac65aeaa19 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Fri, 11 Nov 2022 13:12:42 +0100 +Subject: [PATCH] tests/meson.build: do not use can_run_host_binaries() + +can_run_host_binaries() returns true even when cross compiling, +if there is an executable wrapper defined that can run +cross-binaries under some kind of emulation. + +Unfortunately, custom_target() will not use the wrapper +and will attempt to execute the command directly. Until +this is addressed in meson upstream, we have to disable +these targets in cross scenarios. + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3067] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> + +--- + gio/tests/meson.build | 2 +- + glib/tests/meson.build | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gio/tests/meson.build b/gio/tests/meson.build +index 49cfa25ce..ea59656f9 100644 +--- a/gio/tests/meson.build ++++ b/gio/tests/meson.build +@@ -652,7 +652,7 @@ if installed_tests_enabled + endforeach + endif + +-if meson.can_run_host_binaries() ++if not meson.is_cross_build() + + compiler_type = '--compiler=@0@'.format(cc.get_id()) + +diff --git a/glib/tests/meson.build b/glib/tests/meson.build +index 69508178e..e4f75f302 100644 +--- a/glib/tests/meson.build ++++ b/glib/tests/meson.build +@@ -411,7 +411,7 @@ executable('testing-helper', 'testing-helper.c', + ) + + # some testing of gtester functionality +-if meson.can_run_host_binaries() and host_system != 'windows' ++if not meson.is_cross_build() and host_system != 'windows' + xmllint = find_program('xmllint', required: false) + if xmllint.found() + tmpsample_xml = custom_target('tmpsample.xml', diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch new file mode 100644 index 0000000000..d33fdd4d8b --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch @@ -0,0 +1,28 @@ +From 92de6c7eb30b961b24a2dce812d5276487b7d23d 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 c44d214..e289a01 100644 +--- a/gio/tests/resources.c ++++ b/gio/tests/resources.c +@@ -993,7 +993,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/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch new file mode 100644 index 0000000000..44482dd2b7 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch @@ -0,0 +1,29 @@ +From 4b97f457b7b44117e27d2a218c4b68e7fe3fe4ce 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 afb6eaa..6aa70f5 100644 +--- a/meson.build ++++ b/meson.build +@@ -1692,7 +1692,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/glib-2.0/0002-tests-Ignore-y2k-warnings.patch b/meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Ignore-y2k-warnings.patch deleted file mode 100644 index f61fa0ae6a..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Ignore-y2k-warnings.patch +++ /dev/null @@ -1,42 +0,0 @@ -From b06b22fecc7deda8c65e28670562ca2371e4e725 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 16 Apr 2016 13:43:54 -0700 -Subject: [PATCH 2/2] tests: Ignore y2k warnings - -silences -| ../../../../../../../../workspace/sources/glib-2.0/glib/tests/gdatetime.c: In function 'test_strftime': -| ../../../../../../../../workspace/sources/glib-2.0/glib/tests/gdatetime.c:1338:3: error: '%c' yields only last 2 digits of year in some locales [-Werror=format-y2k] -| "a%a A%A b%b B%B c%c C%C d%d e%e F%F g%g G%G h%h H%H I%I j%j m%m M%M " - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Submitted - - glib/tests/gdatetime.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/glib/tests/gdatetime.c b/glib/tests/gdatetime.c -index 16a163c..e6062fc 100644 ---- a/glib/tests/gdatetime.c -+++ b/glib/tests/gdatetime.c -@@ -1326,6 +1326,9 @@ test_z (void) - g_time_zone_unref (tz); - } - -+#pragma GCC diagnostic push -+#pragma GCC diagnostic ignored "-Wformat-y2k" -+ - static void - test_strftime (void) - { -@@ -1351,6 +1354,7 @@ test_strftime (void) - } - #endif - } -+#pragma GCC diagnostic pop - - static void - test_find_interval (void) --- -2.8.0 - 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/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch new file mode 100644 index 0000000000..1c645f3a9a --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch @@ -0,0 +1,44 @@ +From 79ce7e545dd3a93f77d2146d50b6fa061fbceed9 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] Do not hardcode python path into various tools + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> + +--- + gio/gdbus-2.0/codegen/gdbus-codegen.in | 2 +- + gobject/glib-genmarshal.in | 2 +- + gobject/glib-mkenums.in | 2 +- + 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 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 @@ +-#!/usr/bin/env @PYTHON@ ++#!/usr/bin/env python3 + + # GDBus - GLib D-Bus Library + # +diff --git a/gobject/glib-genmarshal.in b/gobject/glib-genmarshal.in +index 7380f24..c8abeaa 100755 +--- a/gobject/glib-genmarshal.in ++++ b/gobject/glib-genmarshal.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/env @PYTHON@ ++#!/usr/bin/env python3 + + # pylint: disable=too-many-lines, missing-docstring, invalid-name + +diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in +index 91ad779..3ebef62 100755 +--- a/gobject/glib-mkenums.in ++++ b/gobject/glib-mkenums.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/env @PYTHON@ ++#!/usr/bin/env python3 + + # If the code below looks horrible and unpythonic, do not panic. + # 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 f1e688cacf..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 310dfe1bdd16d4b254732fcc202c6211629bc7b6 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] 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 | 8 +++----- - tests/gobject/Makefile.am | 8 +++----- - 2 files changed, 6 insertions(+), 10 deletions(-) - -diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am -index 868873f..533e454 100644 ---- a/gio/tests/Makefile.am -+++ b/gio/tests/Makefile.am -@@ -503,10 +503,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 -@@ -528,7 +527,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 - - resources.o: test_resources2.h - test_resources.c: test2.gresource.xml Makefile $(shell $(glib_compile_resources) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/test2.gresource.xml) -@@ -545,7 +548,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_resources.c test_resources2.[ch] plugin_resources.c test.gresource --endif # !CROSS_COMPILING - - BUILT_SOURCES += giotypefuncs.c - -diff --git a/tests/gobject/Makefile.am b/tests/gobject/Makefile.am -index 16f2827..4c2208e 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)'; \ 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 aa5de27d12..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch +++ /dev/null @@ -1,66 +0,0 @@ -From e8740833336c59d6f616a1781b256e648e338c26 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] 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 | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 1af90c5..f6b7a73 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1378,7 +1378,7 @@ if test x"$glib_native_win32" = xyes; then - G_MODULE_LDFLAGS= - else - export SED -- G_MODULE_LDFLAGS=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` -+ G_MODULE_LDFLAGS=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` - fi - dnl G_MODULE_IMPL= don't reset, so cmd-line can override - G_MODULE_NEED_USCORE=0 -@@ -1427,13 +1427,13 @@ 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 -- eval `./libtool --config | grep ^objdir` -+ eval `./$host_alias-libtool --config | grep ^objdir` - AC_CACHE_CHECK([for RTLD_GLOBAL brokenness], - glib_cv_rtldglobal_broken,[ - AC_TRY_RUN([ -@@ -1506,7 +1506,7 @@ fi - - AC_MSG_CHECKING(for the suffix of module shared libraries) - export SED --shrext_cmds=`./libtool --config | grep '^shrext_cmds='` -+shrext_cmds=`./$host_alias-libtool --config | grep '^shrext_cmds='` - eval $shrext_cmds - module=yes eval std_shrext=$shrext_cmds - # chop the initial dot --- -1.9.1 - diff --git a/meta/recipes-core/glib-2.0/glib-2.0/cpp-null.patch b/meta/recipes-core/glib-2.0/glib-2.0/cpp-null.patch new file mode 100644 index 0000000000..63cbf90ab2 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/cpp-null.patch @@ -0,0 +1,77 @@ +From 0ca5254c5d92aec675b76b4bfa72a6885cde6066 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net> +Date: Sat, 29 Oct 2022 04:30:52 +0200 +Subject: [PATCH] glib/gmacros: Always define NULL as nullptr in C++11 and + newer + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/0ca5254c5d92aec675b76b4bfa72a6885cde6066] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + glib/gmacros.h | 9 ++++++++- + glib/tests/cxx.cpp | 13 ------------- + 2 files changed, 8 insertions(+), 14 deletions(-) + +diff --git a/glib/gmacros.h b/glib/gmacros.h +index 5302841105..9fe8270822 100644 +--- a/glib/gmacros.h ++++ b/glib/gmacros.h +@@ -870,10 +870,17 @@ + */ + #ifndef NULL + # ifdef __cplusplus +-# define NULL (0L) ++# if __cplusplus >= 201103L ++# define NULL (nullptr) ++# else ++# define NULL (0L) ++# endif /* __cplusplus >= 201103L */ + # else /* !__cplusplus */ + # define NULL ((void*) 0) + # endif /* !__cplusplus */ ++#elif defined (__cplusplus) && __cplusplus >= 201103L ++# undef NULL ++# define NULL (nullptr) + #endif + + #ifndef FALSE +diff --git a/glib/tests/cxx.cpp b/glib/tests/cxx.cpp +index 6ac60791c8..045457c6e2 100644 +--- a/glib/tests/cxx.cpp ++++ b/glib/tests/cxx.cpp +@@ -34,21 +34,12 @@ test_typeof (void) + MyObject *obj3 = g_atomic_pointer_get (&obj2); + g_assert_true (obj3 == obj); + +-#if __cplusplus >= 201103L +- MyObject *obj4 = nullptr; +-#else + MyObject *obj4 = NULL; +-#endif + g_atomic_pointer_set (&obj4, obj3); + g_assert_true (obj4 == obj); + +-#if __cplusplus >= 201103L +- MyObject *obj5 = nullptr; +- g_atomic_pointer_compare_and_exchange (&obj5, nullptr, obj4); +-#else + MyObject *obj5 = NULL; + g_atomic_pointer_compare_and_exchange (&obj5, NULL, obj4); +-#endif + g_assert_true (obj5 == obj); + + MyObject *obj6 = g_steal_pointer (&obj5); +@@ -195,11 +186,7 @@ test_steal_pointer (void) + int + main (int argc, char *argv[]) + { +-#if __cplusplus >= 201103L +- g_test_init (&argc, &argv, nullptr); +-#else + g_test_init (&argc, &argv, NULL); +-#endif + + g_test_add_func ("/C++/typeof", test_typeof); + g_test_add_func ("/C++/atomic-pointer-compare-and-exchange", test_atomic_pointer_compare_and_exchange); +-- +GitLab + diff --git a/meta/recipes-core/glib-2.0/glib-2.0/cpp-null2.patch b/meta/recipes-core/glib-2.0/glib-2.0/cpp-null2.patch new file mode 100644 index 0000000000..763d5ce539 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/cpp-null2.patch @@ -0,0 +1,31 @@ +From 7dc19632f3115e3f517c6bc80436fe72c1dcdeb4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net> +Date: Sat, 29 Oct 2022 04:16:00 +0200 +Subject: [PATCH] glib/tests/cxx: Ensure NULL is always casted to a pointer + type + +Otherwise it may not be recognized as valid sentinel +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/7dc19632f3115e3f517c6bc80436fe72c1dcdeb4] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + glib/tests/cxx.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/glib/tests/cxx.cpp b/glib/tests/cxx.cpp +index 045457c6e2..aa5e0cb576 100644 +--- a/glib/tests/cxx.cpp ++++ b/glib/tests/cxx.cpp +@@ -186,7 +186,11 @@ test_steal_pointer (void) + int + main (int argc, char *argv[]) + { ++#if __cplusplus >= 201103L + g_test_init (&argc, &argv, NULL); ++#else ++ g_test_init (&argc, &argv, static_cast<void *>(NULL)); ++#endif + + g_test_add_func ("/C++/typeof", test_typeof); + g_test_add_func ("/C++/atomic-pointer-compare-and-exchange", test_atomic_pointer_compare_and_exchange); +-- +GitLab diff --git a/meta/recipes-core/glib-2.0/glib-2.0/fix-conflicting-rand.patch b/meta/recipes-core/glib-2.0/glib-2.0/fix-conflicting-rand.patch deleted file mode 100644 index 1571112b0e..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/fix-conflicting-rand.patch +++ /dev/null @@ -1,35 +0,0 @@ -Rename 'rand' variable to avoid conflict. - -Upstream-Status: pending -Signed-off-by: Björn Stenberg <bjst@enea.com> - -diff -u glib-2.34.3/tests/refcount/signals.c~ glib-2.34.3/tests/refcount/signals.c ---- glib-2.34.3/tests/refcount/signals.c 2012-11-26 17:52:48.000000000 +0100 -+++ glib-2.34.3/tests/refcount/signals.c 2013-02-08 14:24:10.052477546 +0100 -@@ -9,7 +9,7 @@ - #define MY_IS_TEST_CLASS(tclass) (G_TYPE_CHECK_CLASS_TYPE ((tclass), G_TYPE_TEST)) - #define MY_TEST_GET_CLASS(test) (G_TYPE_INSTANCE_GET_CLASS ((test), G_TYPE_TEST, GTestClass)) - --static GRand *rand; -+static GRand *grand; - - typedef struct _GTest GTest; - typedef struct _GTestClass GTestClass; -@@ -84,7 +84,7 @@ - NULL - }; - -- rand = g_rand_new(); -+ grand = g_rand_new(); - - test_type = g_type_register_static (G_TYPE_OBJECT, "GTest", - &test_info, 0); -@@ -218,7 +218,7 @@ - static void - my_test_do_prop (GTest * test) - { -- test->value = g_rand_int (rand); -+ test->value = g_rand_int (grand); - g_object_notify (G_OBJECT (test), "test-prop"); - } - diff --git a/meta/recipes-core/glib-2.0/glib-2.0/gi-exclude.patch b/meta/recipes-core/glib-2.0/glib-2.0/gi-exclude.patch deleted file mode 100644 index dc62b92ef3..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/gi-exclude.patch +++ /dev/null @@ -1,59 +0,0 @@ -The autoptr types should be excluded from gobject-introspection parsing as -they're not user-facing. - -Upstream-Status: Submitted -Signed-off-by: Ross Burton <ross.burton@intel.com> - -diff --git a/gio/gio-autocleanups.h b/gio/gio-autocleanups.h -index a95ba65..24ccc2d 100644 ---- a/gio/gio-autocleanups.h -+++ b/gio/gio-autocleanups.h -@@ -21,6 +21,8 @@ - #error "Only <gio/gio.h> can be included directly." - #endif - -+#ifndef __GI_SCANNER__ -+ - G_DEFINE_AUTOPTR_CLEANUP_FUNC(GAction, g_object_unref) - G_DEFINE_AUTOPTR_CLEANUP_FUNC(GActionMap, g_object_unref) - G_DEFINE_AUTOPTR_CLEANUP_FUNC(GAppInfo, g_object_unref) -@@ -146,3 +148,5 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVolume, g_object_unref) - G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVolumeMonitor, g_object_unref) - G_DEFINE_AUTOPTR_CLEANUP_FUNC(GZlibCompressor, g_object_unref) - G_DEFINE_AUTOPTR_CLEANUP_FUNC(GZlibDecompressor, g_object_unref) -+ -+#endif -diff --git a/glib/glib-autocleanups.h b/glib/glib-autocleanups.h -index 6355f75..09d28be 100644 ---- a/glib/glib-autocleanups.h -+++ b/glib/glib-autocleanups.h -@@ -21,6 +21,8 @@ - #error "Only <glib.h> can be included directly." - #endif - -+#ifndef __GI_SCANNER__ -+ - static inline void - g_autoptr_cleanup_generic_gfree (void *p) - { -@@ -87,3 +89,5 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVariantDict, g_variant_dict_unref) - G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GVariantDict, g_variant_dict_clear) - G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVariantType, g_variant_type_free) - G_DEFINE_AUTO_CLEANUP_FREE_FUNC(GStrv, g_strfreev, NULL) -+ -+#endif -diff --git a/gobject/gobject-autocleanups.h b/gobject/gobject-autocleanups.h -index 980203f..a1d4ba1 100644 ---- a/gobject/gobject-autocleanups.h -+++ b/gobject/gobject-autocleanups.h -@@ -21,6 +21,10 @@ - #error "Only <glib-object.h> can be included directly." - #endif - -+#ifndef __GI_SCANNER__ -+ - G_DEFINE_AUTOPTR_CLEANUP_FUNC(GObject, g_object_unref) - G_DEFINE_AUTOPTR_CLEANUP_FUNC(GInitiallyUnowned, g_object_unref) - G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GValue, g_value_unset) -+ -+#endif diff --git a/meta/recipes-core/glib-2.0/glib-2.0/glib-gettextize-dir.patch b/meta/recipes-core/glib-2.0/glib-2.0/glib-gettextize-dir.patch deleted file mode 100644 index ee435111fc..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/glib-gettextize-dir.patch +++ /dev/null @@ -1,24 +0,0 @@ -# an very old patch cherry-picked in every glib-2.0 patch directory. The earliest container -# for it is 2.6.5 in OE. The earliest commit for it is c8e5702127e507e82e6f68a4b8c546803accea9d -# in OE side which ports from previous bitkeeper SCM. In OE side it's only used til 2.12.4. -# -# keep it since it's always cleaner to not hardcode destination path. Use @datadir@ is more -# portable here. mark for upstream -# -# by Kevin Tian <kevin.tian@intel.com>, 06/25/2010 -# Rebased by Dongxiao Xu <dongxiao.xu@intel.com>, 11/16/2010 - -Upstream-Status: Inappropriate [configuration] - -diff -ruN glib-2.27.3-orig/glib-gettextize.in glib-2.27.3/glib-gettextize.in ---- glib-2.27.3-orig/glib-gettextize.in 2009-04-01 07:04:20.000000000 +0800 -+++ glib-2.27.3/glib-gettextize.in 2010-11-16 12:55:06.874605916 +0800 -@@ -52,7 +52,7 @@ - datadir=@datadir@ - datarootdir=@datarootdir@ - --gettext_dir=$prefix/share/glib-2.0/gettext -+gettext_dir=@datadir@/glib-2.0/gettext - - while test $# -gt 0; do - case "$1" in diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common b/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common new file mode 100644 index 0000000000..0d7c5fa3f8 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/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/glib-2.0/meson.cross.d/common-glibc b/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc new file mode 100644 index 0000000000..c4648f58c7 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc @@ -0,0 +1,5 @@ +[properties] +have_c99_vsnprintf = true +have_c99_snprintf = true +have_unix98_printf = true +va_val_copy = true diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-linux b/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-linux new file mode 100644 index 0000000000..adad7e62ee --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/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/glib-2.0/meson.cross.d/common-mingw b/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-mingw new file mode 100644 index 0000000000..75f911ba1e --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/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/glib-2.0/meson.cross.d/common-musl b/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-musl new file mode 100644 index 0000000000..3049e5116e --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/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/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 index 65d5b43f9b..ae6881b61e 100644 --- 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 @@ -1,3 +1,8 @@ +From a3cdf17643bf33d532ec269913974195e136b7fc 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. @@ -8,25 +13,26 @@ 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 +index f5dbb45..c926e77 100644 --- a/gio/giomodule.c +++ b/gio/giomodule.c -@@ -40,6 +40,8 @@ - #include "gnetworkmonitor.h" +@@ -58,6 +58,8 @@ #ifdef G_OS_WIN32 #include "gregistrysettingsbackend.h" + #include "giowin32-priv.h" +#else +#include <dlfcn.h> #endif #include <glib/gstdio.h> -@@ -1036,7 +1038,15 @@ get_gio_module_dir (void) - #endif +@@ -1261,7 +1263,15 @@ get_gio_module_dir (void) + NULL); g_free (install_dir); #else - module_dir = g_strdup (GIO_MODULE_DIR); @@ -42,6 +48,3 @@ index da7c167..cc0bc7c 100644 #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 index 5b85e8fabe..c476d67310 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/run-ptest +++ b/meta/recipes-core/glib-2.0/glib-2.0/run-ptest @@ -1,5 +1,10 @@ #! /bin/sh +set -eux +if id -u glib2-test; then + userdel glib2-test +fi useradd glib2-test -su glib2-test -c gnome-desktop-testing-runner glib +cd /tmp +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.48.1.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.48.1.bb deleted file mode 100644 index ef96ca14e4..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0_2.48.1.bb +++ /dev/null @@ -1,26 +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://fix-conflicting-rand.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://gi-exclude.patch \ - file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ - file://0001-Do-not-ignore-return-value-of-write.patch \ - file://0002-tests-Ignore-y2k-warnings.patch \ - " - -SRC_URI_append_class-native = " file://glib-gettextize-dir.patch \ - file://relocate-modules.patch" - -SRC_URI[md5sum] = "67bd3b75c9f6d5587b457dc01cdcd5bb" -SRC_URI[sha256sum] = "74411bff489cb2a3527bac743a51018841a56a4d896cc1e0d0d54f8166a14612" diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.74.5.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.74.5.bb new file mode 100644 index 0000000000..d54f077cb0 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0_2.74.5.bb @@ -0,0 +1,55 @@ +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://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://0001-gio-tests-g-file-info-don-t-assume-million-in-one-ev.patch \ + file://0001-gio-tests-meson.build-do-not-use-can_run_host_binari.patch \ + file://cpp-null.patch \ + file://cpp-null2.patch \ + " +SRC_URI:append:class-native = " file://relocate-modules.patch" + +SRC_URI[sha256sum] = "ceba83a5999ceb31a4c4fc9921207cb9ffffd2ab1d6ec03c162d3f608a5c14c8" + +# 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) +} diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc index 906e0d4d56..843b6bd29b 100644 --- a/meta/recipes-core/glib-2.0/glib.inc +++ b/meta/recipes-core/glib-2.0/glib.inc @@ -3,78 +3,100 @@ 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+ & BSD & PD" -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ - file://glib/glib.h;beginline=4;endline=17;md5=b4f0f4a399c19e5ebb20c31b79d6bc32 \ - file://gmodule/COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ - file://gmodule/gmodule.h;beginline=4;endline=17;md5=b4f0f4a399c19e5ebb20c31b79d6bc32 \ - 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" +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 +inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages -S = "${WORKDIR}/glib-${PV}" +DEPENDS:append:class-target = "${@' gtk-doc' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}" + +GTKDOC_MESON_OPTION = "gtk_doc" -PACKAGECONFIG ??= "system-pcre" -# To use the system pcre it must be configured with --enable-unicode-properties -PACKAGECONFIG[system-pcre] = "--with-pcre=system,--with-pcre=internal,libpcre" +S = "${WORKDIR}/glib-${PV}" -CORECONF = "--disable-dtrace --disable-fam --disable-libelf --disable-systemtap --disable-man" +PACKAGECONFIG ??= "libmount \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" +PACKAGECONFIG[libmount] = "-Dlibmount=enabled,-Dlibmount=disabled,util-linux" +PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native" +# libelf is auto-detected without a configuration option +PACKAGECONFIG[libelf] = ",,elfutils" +PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false," +PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux" -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_OECONF_append_libc-uclibc = " --with-libiconv=gnu" +EXTRA_OEMESON = "-Ddtrace=false -Dsystemtap=false" -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 \ + ${libexecdir}/*gio-launch-desktop \ ${datadir}/glib-2.0/schemas" -FILES_${PN}-dev += "${libdir}/glib-2.0/include \ + +FILES:${PN}-utils += "${bindir}/glib-genmarshal \ + ${bindir}/glib-gettextize \ + ${bindir}/glib-mkenums \ + ${bindir}/glib-compile-resources" + +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}/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}/*" -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" +SHAREDMIMEDEP = "shared-mime-info" +SHAREDMIMEDEP:class-native = "" +# When cross compiling for Windows we don't want to include this +SHAREDMIMEDEP:mingw32 = "" + +RRECOMMENDS:${PN} += "${SHAREDMIMEDEP}" + +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 @@ -84,29 +106,52 @@ do_install_append () { rm -f ${D}${datadir}/glib-2.0/codegen/*.pyc rm -f ${D}${datadir}/glib-2.0/codegen/*.pyo - # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location - # for target as /usr/bin/perl, so fix it to /usr/bin/perl. - if [ -f ${D}${bindir}/glib-mkenums ]; then - sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/glib-mkenums + 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-target () { + # Tests are only installed on targets, not native builds. Separating this out + # 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 [ -f ${D}${datadir}/installed-tests/glib/static-link.test ]; then if test "x${MLPREFIX}" != "x"; then - mv ${D}${libexecdir}/gio-querymodules ${D}${libexecdir}/${MLPREFIX}gio-querymodules + 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_libc-musl () { - rm -f ${D}${libdir}/charset.alias +# 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-distutils 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 \ @@ -114,9 +159,21 @@ 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 \ " -RDEPENDS_${PN}-ptest_append_libc-glibc = "\ +RDEPENDS:${PN}-ptest:append:libc-glibc = "\ glibc-gconv-utf-16 \ glibc-charmap-utf-8 \ glibc-gconv-cp1255 \ @@ -128,6 +185,18 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = "\ glibc-gconv-iso8859-15 \ glibc-charmap-invariant \ glibc-localedata-translit-cjk-variants \ + locale-base-tr-tr \ + locale-base-lt-lt \ + locale-base-ja-jp.euc-jp \ + locale-base-fa-ir \ + locale-base-ru-ru \ + locale-base-de-de \ + locale-base-hr-hr \ + locale-base-el-gr \ + locale-base-fr-fr \ + locale-base-es-es \ + locale-base-en-gb \ + locale-base-en-us \ + locale-base-pl-pl \ + locale-base-pl-pl.iso-8859-2 \ " - -INSANE_SKIP_${PN}-ptest += "libdir" |