Message ID | 20240423114115.932621-2-alex.kanavin@gmail.com |
---|---|
State | New |
Headers | show |
Series | [1/2] libical: disable introspection in -native | expand |
this could be the reason for breaking build for gweather4 https://errors.yoctoproject.org/Errors/Details/763702/ On Tue, Apr 23, 2024 at 4:41 AM Alexander Kanavin via lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org> wrote: > > From: Alexander Kanavin <alex@linutronix.de> > > With these versions, which need to be updated in lockstep, upstream has > relocated glib introspection data from g-i tree to glib tree and made > its generation a part of the overall glib build. This creates a circular > dependency, where g-i tools are linked with glib, but glib needs the tools > to build its g-i data. (I don't know why the two source trees > couldn't be simply merged into one, or g-i data for glib couldn't be generated > inside g-i build against sysroot glib). > > Upstream is suggesting building glib twice, first without building g-i data, > then building g-i and linking it with that version, then building > the final glib, and that's what is being done here (via the new > glib-initial recipe, which is sysroot-only, and is not pulled in > via indirect dependencies either). > > Other glib changes: > 0001-Do-not-write-bindir-into-pkg-config-files.patch restores > writing bindir variable into glib.pc file (meson only writes > it out if other variables depend on it, and this custom patch > removes that dependency). > > 0001-girepository-introspection-correctly-install-.gir-fi.patch > ensures correct installation of .gir into something else > than $datadir (useful in multilib). > > Merge previous glib .bb into .inc, so that glib and glib-initial > recipes could be cleanly separated with no duplication. > > Convert from gtk-doc to gi-docgen, and manpages from xmlto to > docutils. > > Signed-off-by: Alexander Kanavin <alex@linutronix.de> > --- > meta/conf/distro/include/maintainers.inc | 1 + > ...t-write-bindir-into-pkg-config-files.patch | 31 +- > ...0001-Fix-DATADIRNAME-on-uclibc-Linux.patch | 2 +- > ...-gio-querymodules-as-libexec_PROGRAM.patch | 6 +- > ...ng-about-deprecated-paths-in-schemas.patch | 2 +- > ...-correctly-when-building-with-mingw3.patch | 20 +- > ...ces.c-comment-out-a-build-host-only-.patch | 4 +- > ...rospection-correctly-install-.gir-fi.patch | 88 +++++ > ...on-Run-atomics-test-on-clang-as-well.patch | 6 +- > ...ot-enable-pidfd-features-on-native-g.patch | 6 +- > ...dcode-python-path-into-various-tools.patch | 4 +- > .../{glib-2.0 => files}/meson.cross.d/common | 0 > .../meson.cross.d/common-glibc | 0 > .../meson.cross.d/common-linux | 0 > .../meson.cross.d/common-mingw | 0 > .../meson.cross.d/common-musl | 0 > .../relocate-modules.patch | 8 +- > .../glib-2.0/{glib-2.0 => files}/run-ptest | 0 > .../{glib-2.0 => files}/skip-timeout.patch | 7 +- > .../glib-2.0/glib-2.0-initial_2.80.0.bb | 5 + > ...deprecated-distutils-module-to-the-p.patch | 34 -- > .../glib-2.0/glib-2.0/fix-regex.patch | 54 --- > .../glib-2.0/glib-2.0/memory-monitor.patch | 361 ------------------ > meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb | 57 --- > meta/recipes-core/glib-2.0/glib-2.0_2.80.0.bb | 1 + > meta/recipes-core/glib-2.0/glib.inc | 74 +++- > ...pository-directory-for-native-builds.patch | 11 +- > ...8.1.bb => gobject-introspection_1.80.1.bb} | 8 +- > 28 files changed, 221 insertions(+), 569 deletions(-) > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/0001-Do-not-write-bindir-into-pkg-config-files.patch (68%) > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch (92%) > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch (84%) > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch (95%) > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/0001-Set-host_machine-correctly-when-building-with-mingw3.patch (80%) > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch (92%) > create mode 100644 meta/recipes-core/glib-2.0/files/0001-girepository-introspection-correctly-install-.gir-fi.patch > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/0001-meson-Run-atomics-test-on-clang-as-well.patch (88%) > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch (84%) > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/0010-Do-not-hardcode-python-path-into-various-tools.patch (93%) > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/meson.cross.d/common (100%) > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/meson.cross.d/common-glibc (100%) > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/meson.cross.d/common-linux (100%) > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/meson.cross.d/common-mingw (100%) > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/meson.cross.d/common-musl (100%) > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/relocate-modules.patch (86%) > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/run-ptest (100%) > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/skip-timeout.patch (90%) > create mode 100644 meta/recipes-core/glib-2.0/glib-2.0-initial_2.80.0.bb > delete mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > delete mode 100644 meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch > delete mode 100644 meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch > delete mode 100644 meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb > create mode 100644 meta/recipes-core/glib-2.0/glib-2.0_2.80.0.bb > rename meta/recipes-gnome/gobject-introspection/{gobject-introspection_1.78.1.bb => gobject-introspection_1.80.1.bb} (96%) > > diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc > index 20eb3a04468..fbf2d4cc816 100644 > --- a/meta/conf/distro/include/maintainers.inc > +++ b/meta/conf/distro/include/maintainers.inc > @@ -205,6 +205,7 @@ RECIPE_MAINTAINER:pn-gi-docgen = "Alexander Kanavin <alex.kanavin@gmail.com>" > RECIPE_MAINTAINER:pn-git = "Robert Yang <liezhi.yang@windriver.com>" > RECIPE_MAINTAINER:pn-glew = "Anuj Mittal <anuj.mittal@intel.com>" > RECIPE_MAINTAINER:pn-glib-2.0 = "Anuj Mittal <anuj.mittal@intel.com>" > +RECIPE_MAINTAINER:pn-glib-2.0-initial = "Anuj Mittal <anuj.mittal@intel.com>" > RECIPE_MAINTAINER:pn-glib-networking = "Anuj Mittal <anuj.mittal@intel.com>" > RECIPE_MAINTAINER:pn-glibc = "Khem Raj <raj.khem@gmail.com>" > RECIPE_MAINTAINER:pn-glibc-locale = "Khem Raj <raj.khem@gmail.com>" > 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/files/0001-Do-not-write-bindir-into-pkg-config-files.patch > similarity index 68% > rename from meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch > rename to meta/recipes-core/glib-2.0/files/0001-Do-not-write-bindir-into-pkg-config-files.patch > index 8e6598fbef8..f6eba04fd4c 100644 > --- 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/files/0001-Do-not-write-bindir-into-pkg-config-files.patch > @@ -1,26 +1,30 @@ > -From e7077aa23bfcd31a8e72e39dc93ce4f854678376 Mon Sep 17 00:00:00 2001 > +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 write $bindir into pkg-config files > +Subject: [PATCH] Do not prefix executables with $bindir in pkg-config files > > -This would otherwise break when using the files to build other target > +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 | 16 ++++++++-------- > - glib/meson.build | 6 +++--- > - 2 files changed, 11 insertions(+), 11 deletions(-) > + 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 5f91586..1a95f4f 100644 > +index 77cba7b..25d709e 100644 > --- a/gio/meson.build > +++ b/gio/meson.build > -@@ -884,14 +884,14 @@ pkg.generate(libgio, > +@@ -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, > - 'bindir=' + '${prefix}' / get_option('bindir'), > 'giomoduledir=' + pkgconfig_giomodulesdir, > - 'gio=' + '${bindir}' / 'gio', > - 'gio_querymodules=' + pkgconfig_multiarch_bindir / 'gio-querymodules', > @@ -42,16 +46,17 @@ index 5f91586..1a95f4f 100644 > version : glib_version, > install_dir : glib_pkgconfigreldir, > diff --git a/glib/meson.build b/glib/meson.build > -index c26a35e..1d8ca6b 100644 > +index d2efeba..5f5841d 100644 > --- a/glib/meson.build > +++ b/glib/meson.build > -@@ -447,9 +447,9 @@ pkg.generate(libglib, > +@@ -447,9 +447,10 @@ pkg.generate(libglib, > + subdirs : ['glib-2.0'], > + extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags, > variables : [ > - 'bindir=' + '${prefix}' / get_option('bindir'), > - 'datadir=' + '${prefix}' / get_option('datadir'), > - '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', > 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/files/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch > similarity index 92% > rename from meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch > rename to meta/recipes-core/glib-2.0/files/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch > index eb9dfdbcf99..129bc7f8aee 100644 > --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch > +++ b/meta/recipes-core/glib-2.0/files/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch > @@ -1,4 +1,4 @@ > -From 9a5d4bf65b658d744d610ee27ecd2ae65b14b158 Mon Sep 17 00:00:00 2001 > +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 > 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/files/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch > similarity index 84% > rename from meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch > rename to meta/recipes-core/glib-2.0/files/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch > index ad69f7ec655..3e12f8abbeb 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/files/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch > @@ -1,4 +1,4 @@ > -From 4933aef791857a5aac650b60af800778658b875b Mon Sep 17 00:00:00 2001 > +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 > @@ -13,10 +13,10 @@ Upstream-Status: Inappropriate [OE specific] > 1 file changed, 1 insertion(+) > > diff --git a/gio/meson.build b/gio/meson.build > -index f9fdf6e..5f91586 100644 > +index 59c2b0f..77cba7b 100644 > --- a/gio/meson.build > +++ b/gio/meson.build > -@@ -1005,6 +1005,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu > +@@ -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, > 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 > similarity index 95% > rename from meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch > rename to meta/recipes-core/glib-2.0/files/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch > index 0e3a62af6a6..9b0b83afa44 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,4 +1,4 @@ > -From 8ae2e9c2a04e089306693a021149dc6b7d1bd679 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] Remove the warning about deprecated paths in schemas > 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/files/0001-Set-host_machine-correctly-when-building-with-mingw3.patch > similarity index 80% > rename from meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch > rename to meta/recipes-core/glib-2.0/files/0001-Set-host_machine-correctly-when-building-with-mingw3.patch > index 32b4cea409c..a2f9dd9672f 100644 > --- 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/files/0001-Set-host_machine-correctly-when-building-with-mingw3.patch > @@ -1,4 +1,4 @@ > -From c0733f7a91dfe13152abc60c5a3064456b3e9d63 Mon Sep 17 00:00:00 2001 > +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 > @@ -12,7 +12,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> > 3 files changed, 8 insertions(+), 5 deletions(-) > > diff --git a/gio/tests/meson.build b/gio/tests/meson.build > -index 4ef3343..e498e7e 100644 > +index 232ecca..563298b 100644 > --- a/gio/tests/meson.build > +++ b/gio/tests/meson.build > @@ -29,7 +29,7 @@ endif > @@ -24,16 +24,16 @@ index 4ef3343..e498e7e 100644 > common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')] > endif > > -@@ -230,7 +230,7 @@ if have_dbus_daemon > +@@ -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' : {}, > - 'gdbus-peer-object-manager' : {}, > -@@ -562,7 +562,7 @@ if host_machine.system() != 'windows' > + '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 > @@ -42,7 +42,7 @@ index 4ef3343..e498e7e 100644 > gio_tests += {'win32-streams' : {}} > endif > > -@@ -632,7 +632,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl' > +@@ -663,7 +663,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl' > } > endif > > @@ -52,10 +52,10 @@ index 4ef3343..e498e7e 100644 > 'gdbus-example-unix-fd-client' : { > 'install' : false, > diff --git a/glib/tests/meson.build b/glib/tests/meson.build > -index d80c86e..5329cda 100644 > +index f6efc59..83eb5a5 100644 > --- a/glib/tests/meson.build > +++ b/glib/tests/meson.build > -@@ -216,7 +216,7 @@ if glib_conf.has('HAVE_EVENTFD') > +@@ -226,7 +226,7 @@ if glib_conf.has('HAVE_EVENTFD') > } > endif > > @@ -65,7 +65,7 @@ index d80c86e..5329cda 100644 > glib_tests += { > 'gpoll' : { > diff --git a/meson.build b/meson.build > -index 813c9b7..6ee775e 100644 > +index 7534542..2560686 100644 > --- a/meson.build > +++ b/meson.build > @@ -54,6 +54,9 @@ else > 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/files/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch > similarity index 92% > rename from meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch > rename to meta/recipes-core/glib-2.0/files/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch > index aee29860332..bb84f3969e4 100644 > --- 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/files/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch > @@ -1,4 +1,4 @@ > -From 878e51f82100c698236fda0e069e14ea9249350c Mon Sep 17 00:00:00 2001 > +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 > @@ -13,7 +13,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/gio/tests/resources.c b/gio/tests/resources.c > -index f567914..b21b616 100644 > +index f7dc039..f708876 100644 > --- a/gio/tests/resources.c > +++ b/gio/tests/resources.c > @@ -1068,7 +1068,7 @@ main (int argc, > 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 00000000000..76e5f587480 > --- /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/glib-2.0/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 > similarity index 88% > rename from meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch > rename to meta/recipes-core/glib-2.0/files/0001-meson-Run-atomics-test-on-clang-as-well.patch > index 0b102691141..2f805299874 100644 > --- 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/files/0001-meson-Run-atomics-test-on-clang-as-well.patch > @@ -1,4 +1,4 @@ > -From b4b523160ef550a53705fcc45ac6e10d086ce491 Mon Sep 17 00:00:00 2001 > +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 > @@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/meson.build b/meson.build > -index 6ee775e..8bc5fa7 100644 > +index 2560686..5c46d0b 100644 > --- a/meson.build > +++ b/meson.build > -@@ -1938,7 +1938,7 @@ atomicdefine = ''' > +@@ -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 > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/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 > similarity index 84% > rename from meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch > rename to meta/recipes-core/glib-2.0/files/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch > index 14dcb278e05..82955de6715 100644 > --- a/meta/recipes-core/glib-2.0/glib-2.0/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 > @@ -1,4 +1,4 @@ > -From 294f3e6e9a0a9f4733e85ed6810d1b743055370b Mon Sep 17 00:00:00 2001 > +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 > @@ -14,10 +14,10 @@ Signed-off-by: Alexander Kanavin <alex@linutronix.de> > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/meson.build b/meson.build > -index 8bc5fa7..df1fa60 100644 > +index 5c46d0b..222c1a1 100644 > --- a/meson.build > +++ b/meson.build > -@@ -981,7 +981,8 @@ if cc.links('''#include <sys/syscall.h> > +@@ -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') > 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 > similarity index 93% > rename from meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch > rename to meta/recipes-core/glib-2.0/files/0010-Do-not-hardcode-python-path-into-various-tools.patch > index 6dff5179c71..a51c186b004 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,4 +1,4 @@ > -From 50636758c73e5e61212a8f801c6c602b8aab5ba7 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] Do not hardcode python path into various tools > @@ -32,7 +32,7 @@ index aa5af43..56e8e2e 100755 > # pylint: disable=too-many-lines, missing-docstring, invalid-name > > diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in > -index 353e53a..8ed6c39 100755 > +index e10b910..4b619f8 100755 > --- a/gobject/glib-mkenums.in > +++ b/gobject/glib-mkenums.in > @@ -1,4 +1,4 @@ > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common b/meta/recipes-core/glib-2.0/files/meson.cross.d/common > similarity index 100% > rename from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common > rename to meta/recipes-core/glib-2.0/files/meson.cross.d/common > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-glibc > similarity index 100% > rename from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc > rename to meta/recipes-core/glib-2.0/files/meson.cross.d/common-glibc > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-linux b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-linux > similarity index 100% > rename from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-linux > rename to meta/recipes-core/glib-2.0/files/meson.cross.d/common-linux > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-mingw b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-mingw > similarity index 100% > rename from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-mingw > rename to meta/recipes-core/glib-2.0/files/meson.cross.d/common-mingw > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-musl b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-musl > similarity index 100% > rename from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-musl > rename to meta/recipes-core/glib-2.0/files/meson.cross.d/common-musl > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/meta/recipes-core/glib-2.0/files/relocate-modules.patch > similarity index 86% > rename from meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch > rename to meta/recipes-core/glib-2.0/files/relocate-modules.patch > index 3e79bbf6796..d6e9019f396 100644 > --- a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch > +++ b/meta/recipes-core/glib-2.0/files/relocate-modules.patch > @@ -1,4 +1,4 @@ > -From f40e89b3852df37959606ee13b1a14ade81fa886 Mon Sep 17 00:00:00 2001 > +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 > @@ -18,10 +18,10 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> > 1 file changed, 7 deletions(-) > > diff --git a/gio/giomodule.c b/gio/giomodule.c > -index 17fabe6..8021208 100644 > +index 1e14955..3c09bb5 100644 > --- a/gio/giomodule.c > +++ b/gio/giomodule.c > -@@ -1271,11 +1271,6 @@ get_gio_module_dir (void) > +@@ -1259,11 +1259,6 @@ get_gio_module_dir (void) > g_free (install_dir); > #else > module_dir = g_strdup (GIO_MODULE_DIR); > @@ -33,7 +33,7 @@ index 17fabe6..8021208 100644 > #include <dlfcn.h> > { > g_autofree gchar *path = NULL; > -@@ -1294,8 +1289,6 @@ get_gio_module_dir (void) > +@@ -1282,8 +1277,6 @@ get_gio_module_dir (void) > } > } > } > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/run-ptest b/meta/recipes-core/glib-2.0/files/run-ptest > similarity index 100% > rename from meta/recipes-core/glib-2.0/glib-2.0/run-ptest > rename to meta/recipes-core/glib-2.0/files/run-ptest > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/skip-timeout.patch b/meta/recipes-core/glib-2.0/files/skip-timeout.patch > similarity index 90% > rename from meta/recipes-core/glib-2.0/glib-2.0/skip-timeout.patch > rename to meta/recipes-core/glib-2.0/files/skip-timeout.patch > index cd5ac287c3f..b1c62cc39c8 100644 > --- a/meta/recipes-core/glib-2.0/glib-2.0/skip-timeout.patch > +++ b/meta/recipes-core/glib-2.0/files/skip-timeout.patch > @@ -1,4 +1,4 @@ > -From bb11d1a4ae77d93ec0743e54077cf0f990243fa6 Mon Sep 17 00:00:00 2001 > +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 > @@ -16,7 +16,7 @@ Signed-off-by: Ross Burton <ross.burton@arm.com> > 1 file changed, 1 deletion(-) > > diff --git a/glib/tests/timeout.c b/glib/tests/timeout.c > -index 1ae3f3a34..85a715b0f 100644 > +index 1ae3f3a..85a715b 100644 > --- a/glib/tests/timeout.c > +++ b/glib/tests/timeout.c > @@ -214,7 +214,6 @@ main (int argc, char *argv[]) > @@ -27,6 +27,3 @@ index 1ae3f3a34..85a715b0f 100644 > > return g_test_run (); > } > --- > -2.34.1 > - > 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 00000000000..7da28382650 > --- /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-Switch-from-the-deprecated-distutils-module-to-the-p.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > deleted file mode 100644 > index b11c283e6d7..00000000000 > --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > +++ /dev/null > @@ -1,34 +0,0 @@ > -From a8eb944a10353403241608a084787f6efcbb2eb7 Mon Sep 17 00:00:00 2001 > -From: Jordan Williams <jordan@jwillikers.com> > -Date: Fri, 1 Dec 2023 09:53:50 -0600 > -Subject: [PATCH] Switch from the deprecated distutils module to the packaging > - module > - > -The distutils module was removed in Python 3.12. > - > -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/6ef967a0f930ce37a8c9b5aff969693b34714291] > - > -Signed-off-by: Martin Jansa <martin.jansa@gmail.com> > ---- > - gio/gdbus-2.0/codegen/utils.py | 4 ++-- > - 1 file changed, 2 insertions(+), 2 deletions(-) > - > -diff --git a/gio/gdbus-2.0/codegen/utils.py b/gio/gdbus-2.0/codegen/utils.py > -index 0204610..08f1ba9 100644 > ---- a/gio/gdbus-2.0/codegen/utils.py > -+++ b/gio/gdbus-2.0/codegen/utils.py > -@@ -19,7 +19,7 @@ > - # > - # Author: David Zeuthen <davidz@redhat.com> > - > --import distutils.version > -+import packaging.version > - import os > - import sys > - > -@@ -166,4 +166,4 @@ def version_cmp_key(key): > - v = str(key[0]) > - else: > - v = "0" > -- return (distutils.version.LooseVersion(v), key[1]) > -+ return (packaging.version.Version(v), key[1]) > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch b/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch > deleted file mode 100644 > index bdfbd558999..00000000000 > --- a/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch > +++ /dev/null > @@ -1,54 +0,0 @@ > -From cce3ae98a2c1966719daabff5a4ec6cf94a846f6 Mon Sep 17 00:00:00 2001 > -From: Philip Withnall <pwithnall@gnome.org> > -Date: Mon, 26 Feb 2024 16:55:44 +0000 > -Subject: [PATCH] tests: Remove variable-length lookbehind tests for GRegex > -MIME-Version: 1.0 > -Content-Type: text/plain; charset=UTF-8 > -Content-Transfer-Encoding: 8bit > - > -PCRE2 10.43 has now introduced support for variable-length lookbehind, > -so these tests now fail if GLib is built against PCRE2 10.43 or higher. > - > -See > -https://github.com/PCRE2Project/pcre2/blob/e8db6fa7137f4c6f66cb87e0a3c9467252ec1ef7/ChangeLog#L94. > - > -Rather than making the tests conditional on the version of PCRE2 in use, > -just remove them. They are mostly testing the PCRE2 code rather than > -any code in GLib, so don’t have much value. > - > -This should fix CI runs on msys2-mingw32, which updated to PCRE2 10.43 2 > -days ago. > - > -Signed-off-by: Philip Withnall <pwithnall@gnome.org> > - > -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/cce3ae98a2c1966719daabff5a4ec6cf94a846f6] > -Signed-off-by: Alexander Kanavin <alex@linutronix.de> > ---- > - glib/tests/regex.c | 10 ---------- > - 1 file changed, 10 deletions(-) > - > -diff --git a/glib/tests/regex.c b/glib/tests/regex.c > -index 1082526292..d7a698ec67 100644 > ---- a/glib/tests/regex.c > -+++ b/glib/tests/regex.c > -@@ -1885,16 +1885,6 @@ test_lookbehind (void) > - g_match_info_free (match); > - g_regex_unref (regex); > - > -- regex = g_regex_new ("(?<!dogs?|cats?) x", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error); > -- g_assert (regex == NULL); > -- g_assert_error (error, G_REGEX_ERROR, G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND); > -- g_clear_error (&error); > -- > -- regex = g_regex_new ("(?<=ab(c|de)) foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error); > -- g_assert (regex == NULL); > -- g_assert_error (error, G_REGEX_ERROR, G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND); > -- g_clear_error (&error); > -- > - regex = g_regex_new ("(?<=abc|abde)foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error); > - g_assert (regex); > - g_assert_no_error (error); > --- > -GitLab > - > - > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch b/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch > deleted file mode 100644 > index 4f38509da6f..00000000000 > --- a/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch > +++ /dev/null > @@ -1,361 +0,0 @@ > -From ce840b6b111e1e109e511f6833d6aa419e2b723a Mon Sep 17 00:00:00 2001 > -From: Philip Withnall <philip@tecnocode.co.uk> > -Date: Tue, 23 Jan 2024 11:16:52 +0000 > -Subject: [PATCH] Merge branch '2887-memory-monitor-tests' into 'main' > - > -tests: Fix race condition in memory-monitor-dbus.test > - > -Closes #2887 > - > -See merge request GNOME/glib!3844 > - > -Hopefully these commits fix the occasional failures we've been seeing: > -https://bugzilla.yoctoproject.org/show_bug.cgi?id=15362 > - > -Upstream-Status: Backport > -Signed-off-by: Ross Burton <ross.burton@arm.com> > ---- > - gio/tests/memory-monitor-dbus.py.in | 64 +++++++++++++------- > - gio/tests/memory-monitor-portal.py.in | 54 ++++++++++------- > - gio/tests/power-profile-monitor-dbus.py.in | 35 ++++++----- > - gio/tests/power-profile-monitor-portal.py.in | 34 ++++++----- > - 4 files changed, 113 insertions(+), 74 deletions(-) > - > -diff --git a/gio/tests/memory-monitor-dbus.py.in b/gio/tests/memory-monitor-dbus.py.in > -index bf32918..7aae01e 100755 > ---- a/gio/tests/memory-monitor-dbus.py.in > -+++ b/gio/tests/memory-monitor-dbus.py.in > -@@ -16,7 +16,6 @@ import sys > - import subprocess > - import fcntl > - import os > --import time > - > - import taptestrunner > - > -@@ -57,53 +56,74 @@ try: > - fcntl.fcntl(self.p_mock.stdout, fcntl.F_SETFL, flags | os.O_NONBLOCK) > - self.last_warning = -1 > - self.dbusmock = dbus.Interface(self.obj_lmm, dbusmock.MOCK_IFACE) > -+ > -+ try: > -+ self.wait_for_bus_object('org.freedesktop.LowMemoryMonitor', > -+ '/org/freedesktop/LowMemoryMonitor', > -+ system_bus=True) > -+ except: > -+ raise > -+ > - self.memory_monitor = Gio.MemoryMonitor.dup_default() > -+ assert("GMemoryMonitorDBus" in str(self.memory_monitor)) > - self.memory_monitor.connect("low-memory-warning", self.memory_warning_cb) > - self.mainloop = GLib.MainLoop() > - self.main_context = self.mainloop.get_context() > - > -+ # The LowMemoryMonitor API is stateless: it doesn’t expose any > -+ # properties, just a warning signal. Emit the signal in a loop until > -+ # the GMemoryMonitor instance has initialised and synchronised to > -+ # the right state. > -+ def emit_warning(level): > -+ self.dbusmock.EmitWarning(level) > -+ return GLib.SOURCE_CONTINUE > -+ > -+ idle_id = GLib.idle_add(emit_warning, 0) > -+ while self.last_warning != 0: > -+ self.main_context.iteration(True) > -+ GLib.source_remove(idle_id) > -+ > - def tearDown(self): > - self.p_mock.terminate() > - self.p_mock.wait() > - > -- def assertEventually(self, condition, message=None, timeout=50): > -+ def assertEventually(self, condition, message=None, timeout=5): > - '''Assert that condition function eventually returns True. > - > -- Timeout is in deciseconds, defaulting to 50 (5 seconds). message is > -+ Timeout is in seconds, defaulting to 5 seconds. message is > - printed on failure. > - ''' > -- while timeout >= 0: > -- context = GLib.MainContext.default() > -- while context.iteration(False): > -- pass > -- if condition(): > -- break > -- timeout -= 1 > -- time.sleep(0.1) > -- else: > -- self.fail(message or 'timed out waiting for ' + str(condition)) > -+ if not message: > -+ message = 'timed out waiting for ' + str(condition) > -+ > -+ def timed_out_cb(message): > -+ self.fail(message) > -+ return GLib.SOURCE_REMOVE > -+ > -+ timeout_source = GLib.timeout_source_new_seconds(timeout) > -+ timeout_source.set_callback(timed_out_cb, message) > -+ timeout_source.attach(self.main_context) > -+ > -+ while not condition(): > -+ self.main_context.iteration(True) > -+ > -+ timeout_source.destroy() > - > - def memory_warning_cb(self, monitor, level): > -+ print("Received memory warning signal, level", level) > - self.last_warning = level > - self.main_context.wakeup() > - > - def test_low_memory_warning_signal(self): > - '''LowMemoryWarning signal''' > - > -- # Wait 2 seconds > -- timeout = 2 > -- while timeout > 0: > -- time.sleep(0.5) > -- timeout -= 0.5 > -- self.main_context.iteration(False) > -- > - self.dbusmock.EmitWarning(100) > - # Wait 2 seconds or until warning > -- self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 20) > -+ self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 2) > - > - self.dbusmock.EmitWarning(255) > - # Wait 2 seconds or until warning > -- self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 20) > -+ self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 2) > - > - except ImportError as e: > - @unittest.skip("Cannot import %s" % e.name) > -diff --git a/gio/tests/memory-monitor-portal.py.in b/gio/tests/memory-monitor-portal.py.in > -index 748cee8..f570508 100755 > ---- a/gio/tests/memory-monitor-portal.py.in > -+++ b/gio/tests/memory-monitor-portal.py.in > -@@ -16,7 +16,6 @@ import sys > - import subprocess > - import fcntl > - import os > --import time > - > - import taptestrunner > - > -@@ -80,26 +79,44 @@ try: > - self.mainloop = GLib.MainLoop() > - self.main_context = self.mainloop.get_context() > - > -+ # The LowMemoryMonitor API is stateless: it doesn’t expose any > -+ # properties, just a warning signal. Emit the signal in a loop until > -+ # the GMemoryMonitor instance has initialised and synchronised to > -+ # the right state. > -+ def emit_warning(level): > -+ self.dbusmock.EmitWarning(level) > -+ return GLib.SOURCE_CONTINUE > -+ > -+ idle_id = GLib.idle_add(self.emit_warning, 0) > -+ while self.last_warning != 0: > -+ self.main_context.iteration(True) > -+ GLib.source_remove(idle_id) > -+ > - def tearDown(self): > - self.p_mock.terminate() > - self.p_mock.wait() > - > -- def assertEventually(self, condition, message=None, timeout=50): > -+ def assertEventually(self, condition, message=None, timeout=5): > - '''Assert that condition function eventually returns True. > - > -- Timeout is in deciseconds, defaulting to 50 (5 seconds). message is > -+ Timeout is in seconds, defaulting to 5 seconds. message is > - printed on failure. > - ''' > -- while timeout >= 0: > -- context = GLib.MainContext.default() > -- while context.iteration(False): > -- pass > -- if condition(): > -- break > -- timeout -= 1 > -- time.sleep(0.1) > -- else: > -- self.fail(message or 'timed out waiting for ' + str(condition)) > -+ if not message: > -+ message = 'timed out waiting for ' + str(condition) > -+ > -+ def timed_out_cb(message): > -+ self.fail(message) > -+ return GLib.SOURCE_REMOVE > -+ > -+ timeout_source = GLib.timeout_source_new_seconds(timeout) > -+ timeout_source.set_callback(timed_out_cb, message) > -+ timeout_source.attach(self.main_context) > -+ > -+ while not condition(): > -+ self.main_context.iteration(True) > -+ > -+ timeout_source.destroy() > - > - def portal_memory_warning_cb(self, monitor, level): > - self.last_warning = level > -@@ -108,20 +125,13 @@ try: > - def test_low_memory_warning_portal_signal(self): > - '''LowMemoryWarning signal''' > - > -- # Wait 2 seconds > -- timeout = 2 > -- while timeout > 0: > -- time.sleep(0.5) > -- timeout -= 0.5 > -- self.main_context.iteration(False) > -- > - self.dbusmock.EmitWarning(100) > - # Wait 2 seconds or until warning > -- self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 20) > -+ self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 2) > - > - self.dbusmock.EmitWarning(255) > - # Wait 2 seconds or until warning > -- self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 20) > -+ self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 2) > - > - except ImportError as e: > - @unittest.skip("Cannot import %s" % e.name) > -diff --git a/gio/tests/power-profile-monitor-dbus.py.in b/gio/tests/power-profile-monitor-dbus.py.in > -index 06e594f..f955afc 100755 > ---- a/gio/tests/power-profile-monitor-dbus.py.in > -+++ b/gio/tests/power-profile-monitor-dbus.py.in > -@@ -16,7 +16,6 @@ import sys > - import subprocess > - import fcntl > - import os > --import time > - > - import taptestrunner > - > -@@ -58,6 +57,7 @@ try: > - self.power_saver_enabled = False > - self.dbus_props = dbus.Interface(self.obj_ppd, dbus.PROPERTIES_IFACE) > - self.power_profile_monitor = Gio.PowerProfileMonitor.dup_default() > -+ assert("GPowerProfileMonitorDBus" in str(self.power_profile_monitor)) > - self.power_profile_monitor.connect("notify::power-saver-enabled", self.power_saver_enabled_cb) > - self.mainloop = GLib.MainLoop() > - self.main_context = self.mainloop.get_context() > -@@ -66,22 +66,27 @@ try: > - self.p_mock.terminate() > - self.p_mock.wait() > - > -- def assertEventually(self, condition, message=None, timeout=50): > -+ def assertEventually(self, condition, message=None, timeout=5): > - '''Assert that condition function eventually returns True. > - > -- Timeout is in deciseconds, defaulting to 50 (5 seconds). message is > -+ Timeout is in seconds, defaulting to 5 seconds. message is > - printed on failure. > - ''' > -- while timeout >= 0: > -- context = GLib.MainContext.default() > -- while context.iteration(False): > -- pass > -- if condition(): > -- break > -- timeout -= 1 > -- time.sleep(0.1) > -- else: > -- self.fail(message or 'timed out waiting for ' + str(condition)) > -+ if not message: > -+ message = 'timed out waiting for ' + str(condition) > -+ > -+ def timed_out_cb(message): > -+ self.fail(message) > -+ return GLib.SOURCE_REMOVE > -+ > -+ timeout_source = GLib.timeout_source_new_seconds(timeout) > -+ timeout_source.set_callback(timed_out_cb, message) > -+ timeout_source.attach(self.main_context) > -+ > -+ while not condition(): > -+ self.main_context.iteration(True) > -+ > -+ timeout_source.destroy() > - > - def power_saver_enabled_cb(self, spec, data): > - self.power_saver_enabled = self.power_profile_monitor.get_power_saver_enabled() > -@@ -92,10 +97,10 @@ try: > - > - self.assertEqual(self.power_profile_monitor.get_power_saver_enabled(), False) > - self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('power-saver', variant_level=1)) > -- self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 10) > -+ self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 1) > - > - self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('balanced', variant_level=1)) > -- self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 10) > -+ self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 1) > - > - except ImportError as e: > - @unittest.skip("Cannot import %s" % e.name) > -diff --git a/gio/tests/power-profile-monitor-portal.py.in b/gio/tests/power-profile-monitor-portal.py.in > -index 09e9a45..ad2abf6 100755 > ---- a/gio/tests/power-profile-monitor-portal.py.in > -+++ b/gio/tests/power-profile-monitor-portal.py.in > -@@ -16,7 +16,6 @@ import sys > - import subprocess > - import fcntl > - import os > --import time > - > - import taptestrunner > - > -@@ -90,22 +89,27 @@ try: > - self.p_mock.terminate() > - self.p_mock.wait() > - > -- def assertEventually(self, condition, message=None, timeout=50): > -+ def assertEventually(self, condition, message=None, timeout=5): > - '''Assert that condition function eventually returns True. > - > -- Timeout is in deciseconds, defaulting to 50 (5 seconds). message is > -+ Timeout is in seconds, defaulting to 5 seconds. message is > - printed on failure. > - ''' > -- while timeout >= 0: > -- context = GLib.MainContext.default() > -- while context.iteration(False): > -- pass > -- if condition(): > -- break > -- timeout -= 1 > -- time.sleep(0.1) > -- else: > -- self.fail(message or 'timed out waiting for ' + str(condition)) > -+ if not message: > -+ message = 'timed out waiting for ' + str(condition) > -+ > -+ def timed_out_cb(message): > -+ self.fail(message) > -+ return GLib.SOURCE_REMOVE > -+ > -+ timeout_source = GLib.timeout_source_new_seconds(timeout) > -+ timeout_source.set_callback(timed_out_cb, message) > -+ timeout_source.attach(self.main_context) > -+ > -+ while not condition(): > -+ self.main_context.iteration(True) > -+ > -+ timeout_source.destroy() > - > - def power_saver_enabled_cb(self, spec, data): > - self.power_saver_enabled = self.power_profile_monitor.get_power_saver_enabled() > -@@ -116,10 +120,10 @@ try: > - > - self.assertEqual(self.power_profile_monitor.get_power_saver_enabled(), False) > - self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('power-saver', variant_level=1)) > -- self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 10) > -+ self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 1) > - > - self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('balanced', variant_level=1)) > -- self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 10) > -+ self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 1) > - > - def test_power_profile_power_saver_enabled_portal_default(self): > - '''power-saver-enabled property default value''' > diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb > deleted file mode 100644 > index b1669ead75e..00000000000 > --- a/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb > +++ /dev/null > @@ -1,57 +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://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-Switch-from-the-deprecated-distutils-module-to-the-p.patch \ > - file://memory-monitor.patch \ > - file://fix-regex.patch \ > - file://skip-timeout.patch \ > - " > -SRC_URI:append:class-native = " file://relocate-modules.patch \ > - file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \ > - " > - > -SRC_URI[sha256sum] = "24b8e0672dca120cc32d394bccb85844e732e04fe75d18bb0573b2dbc7548f63" > - > -# 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-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 00000000000..e22810a55bc > --- /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 fac8875d844..692857892ff 100644 > --- a/meta/recipes-core/glib-2.0/glib.inc > +++ b/meta/recipes-core/glib-2.0/glib.inc > @@ -28,21 +28,25 @@ PACKAGES += "${PN}-codegen ${PN}-utils" > > LEAD_SONAME = "libglib-2.0.*" > > -inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages gobject-introspection-data > - > -GTKDOC_MESON_OPTION = "gtk_doc" > +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 ??= "libmount \ > + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'introspection', '', d)} \ > ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" > +PACKAGECONFIG:class-native = "" > + > PACKAGECONFIG[libmount] = "-Dlibmount=enabled,-Dlibmount=disabled,util-linux" > -PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native" > +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" > > -EXTRA_OEMESON = "-Ddtrace=false -Dsystemtap=false" > +EXTRA_OEMESON = "-Ddtrace=false -Dsystemtap=false \ > + ${@'-Dgir_dir_prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \ > +" > > do_configure:prepend() { > sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in > @@ -53,14 +57,16 @@ FILES:${PN} = "${libdir}/lib*${SOLIBS} \ > ${libexecdir}/*gio-querymodules \ > ${libexecdir}/*gio-launch-desktop \ > ${datadir}/glib-2.0/dtds \ > - ${datadir}/glib-2.0/schemas" > - > + ${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 \ > ${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 \ > @@ -204,3 +210,57 @@ RDEPENDS:${PN}-ptest:append:libc-glibc = "\ > 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 \ > + " > + > +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) > +} > diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch > index c9e1afffd0f..510bc426d1b 100644 > --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch > +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch > @@ -1,4 +1,4 @@ > -From aeb5532f8be42d42f4e8725ca42e239b36983a4d Mon Sep 17 00:00:00 2001 > +From 4e1aa0ddbc43403ff24f644b4c4912b737290c41 Mon Sep 17 00:00:00 2001 > From: Sascha Silbe <x-yo17@se-silbe.de> > Date: Fri, 8 Jun 2018 13:55:10 +0200 > Subject: [PATCH] Relocate the repository directory for native builds > @@ -14,14 +14,13 @@ cache or sstate mirror). > > Upstream-Status: Inappropriate > Signed-off-by: Sascha Silbe <x-yo17@se-silbe.de> > - > --- > girepository/girepository.c | 15 +++++++++++++-- > girepository/meson.build | 2 +- > 2 files changed, 14 insertions(+), 3 deletions(-) > > diff --git a/girepository/girepository.c b/girepository/girepository.c > -index a0754f4..2d456f9 100644 > +index 12eaf36..876382c 100644 > --- a/girepository/girepository.c > +++ b/girepository/girepository.c > @@ -21,6 +21,8 @@ > @@ -42,7 +41,7 @@ index a0754f4..2d456f9 100644 > /** > * SECTION:girepository > * @short_description: GObject Introspection repository manager > -@@ -215,9 +219,16 @@ init_globals (void) > +@@ -222,9 +226,16 @@ init_globals (void) > g_free (custom_dirs); > } > > @@ -62,10 +61,10 @@ index a0754f4..2d456f9 100644 > typelib_search_path = g_slist_prepend (typelib_search_path, typelib_dir); > > diff --git a/girepository/meson.build b/girepository/meson.build > -index 786749a..15cf2a9 100644 > +index 5ced59e..a580d9b 100644 > --- a/girepository/meson.build > +++ b/girepository/meson.build > -@@ -45,7 +45,7 @@ girepo_internals_lib = static_library('girepository-internals', > +@@ -47,7 +47,7 @@ girepo_internals_lib = static_library('girepository-internals', > ], > c_args: gi_hidden_visibility_cflags + custom_c_args, > include_directories : configinc, > diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.78.1.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.80.1.bb > similarity index 96% > rename from meta/recipes-gnome/gobject-introspection/gobject-introspection_1.78.1.bb > rename to meta/recipes-gnome/gobject-introspection/gobject-introspection_1.80.1.bb > index 05a08a50e08..582ac248fda 100644 > --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.78.1.bb > +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.80.1.bb > @@ -16,7 +16,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \ > SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \ > " > > -SRC_URI[sha256sum] = "bd7babd99af7258e76819e45ba4a6bc399608fe762d83fde3cac033c50841bb4" > +SRC_URI[sha256sum] = "a1df7c424e15bda1ab639c00e9051b9adf5cea1a9e512f8a603b53cd199bc6d8" > > SRC_URI:append:class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch" > > @@ -26,7 +26,9 @@ GTKDOC_MESON_OPTION = "gtk_doc" > > MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner" > > -DEPENDS += " libffi zlib glib-2.0 python3 flex-native bison-native" > +DEPENDS += " libffi zlib python3 flex-native bison-native" > +DEPENDS:append:class-native = " glib-2.0" > +DEPENDS:append:class-target = " glib-2.0-initial" > > # target build needs qemu to run temporary introspection binaries created > # on the fly by g-ir-scanner and a native version of itself to run > @@ -189,6 +191,6 @@ FILES:${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/" > FILES:${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a" > > # setuptools can be removed when upstream removes all uses of distutils > -RDEPENDS:${PN} = "python3-pickle python3-xml python3-setuptools" > +RDEPENDS:${PN} = "python3-pickle python3-xml python3-setuptools glib-2.0" > > BBCLASSEXTEND = "native" > -- > 2.39.2 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#198616): https://lists.openembedded.org/g/openembedded-core/message/198616 > Mute This Topic: https://lists.openembedded.org/mt/105687645/1997914 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
I sent a fix for it. Alex On Sat, 27 Apr 2024 at 19:32, Khem Raj <raj.khem@gmail.com> wrote: > > this could be the reason for breaking build for gweather4 > https://errors.yoctoproject.org/Errors/Details/763702/ > > On Tue, Apr 23, 2024 at 4:41 AM Alexander Kanavin via > lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org> > wrote: > > > > From: Alexander Kanavin <alex@linutronix.de> > > > > With these versions, which need to be updated in lockstep, upstream has > > relocated glib introspection data from g-i tree to glib tree and made > > its generation a part of the overall glib build. This creates a circular > > dependency, where g-i tools are linked with glib, but glib needs the tools > > to build its g-i data. (I don't know why the two source trees > > couldn't be simply merged into one, or g-i data for glib couldn't be generated > > inside g-i build against sysroot glib). > > > > Upstream is suggesting building glib twice, first without building g-i data, > > then building g-i and linking it with that version, then building > > the final glib, and that's what is being done here (via the new > > glib-initial recipe, which is sysroot-only, and is not pulled in > > via indirect dependencies either). > > > > Other glib changes: > > 0001-Do-not-write-bindir-into-pkg-config-files.patch restores > > writing bindir variable into glib.pc file (meson only writes > > it out if other variables depend on it, and this custom patch > > removes that dependency). > > > > 0001-girepository-introspection-correctly-install-.gir-fi.patch > > ensures correct installation of .gir into something else > > than $datadir (useful in multilib). > > > > Merge previous glib .bb into .inc, so that glib and glib-initial > > recipes could be cleanly separated with no duplication. > > > > Convert from gtk-doc to gi-docgen, and manpages from xmlto to > > docutils. > > > > Signed-off-by: Alexander Kanavin <alex@linutronix.de> > > --- > > meta/conf/distro/include/maintainers.inc | 1 + > > ...t-write-bindir-into-pkg-config-files.patch | 31 +- > > ...0001-Fix-DATADIRNAME-on-uclibc-Linux.patch | 2 +- > > ...-gio-querymodules-as-libexec_PROGRAM.patch | 6 +- > > ...ng-about-deprecated-paths-in-schemas.patch | 2 +- > > ...-correctly-when-building-with-mingw3.patch | 20 +- > > ...ces.c-comment-out-a-build-host-only-.patch | 4 +- > > ...rospection-correctly-install-.gir-fi.patch | 88 +++++ > > ...on-Run-atomics-test-on-clang-as-well.patch | 6 +- > > ...ot-enable-pidfd-features-on-native-g.patch | 6 +- > > ...dcode-python-path-into-various-tools.patch | 4 +- > > .../{glib-2.0 => files}/meson.cross.d/common | 0 > > .../meson.cross.d/common-glibc | 0 > > .../meson.cross.d/common-linux | 0 > > .../meson.cross.d/common-mingw | 0 > > .../meson.cross.d/common-musl | 0 > > .../relocate-modules.patch | 8 +- > > .../glib-2.0/{glib-2.0 => files}/run-ptest | 0 > > .../{glib-2.0 => files}/skip-timeout.patch | 7 +- > > .../glib-2.0/glib-2.0-initial_2.80.0.bb | 5 + > > ...deprecated-distutils-module-to-the-p.patch | 34 -- > > .../glib-2.0/glib-2.0/fix-regex.patch | 54 --- > > .../glib-2.0/glib-2.0/memory-monitor.patch | 361 ------------------ > > meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb | 57 --- > > meta/recipes-core/glib-2.0/glib-2.0_2.80.0.bb | 1 + > > meta/recipes-core/glib-2.0/glib.inc | 74 +++- > > ...pository-directory-for-native-builds.patch | 11 +- > > ...8.1.bb => gobject-introspection_1.80.1.bb} | 8 +- > > 28 files changed, 221 insertions(+), 569 deletions(-) > > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/0001-Do-not-write-bindir-into-pkg-config-files.patch (68%) > > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch (92%) > > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch (84%) > > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch (95%) > > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/0001-Set-host_machine-correctly-when-building-with-mingw3.patch (80%) > > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch (92%) > > create mode 100644 meta/recipes-core/glib-2.0/files/0001-girepository-introspection-correctly-install-.gir-fi.patch > > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/0001-meson-Run-atomics-test-on-clang-as-well.patch (88%) > > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch (84%) > > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/0010-Do-not-hardcode-python-path-into-various-tools.patch (93%) > > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/meson.cross.d/common (100%) > > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/meson.cross.d/common-glibc (100%) > > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/meson.cross.d/common-linux (100%) > > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/meson.cross.d/common-mingw (100%) > > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/meson.cross.d/common-musl (100%) > > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/relocate-modules.patch (86%) > > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/run-ptest (100%) > > rename meta/recipes-core/glib-2.0/{glib-2.0 => files}/skip-timeout.patch (90%) > > create mode 100644 meta/recipes-core/glib-2.0/glib-2.0-initial_2.80.0.bb > > delete mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > > delete mode 100644 meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch > > delete mode 100644 meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch > > delete mode 100644 meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb > > create mode 100644 meta/recipes-core/glib-2.0/glib-2.0_2.80.0.bb > > rename meta/recipes-gnome/gobject-introspection/{gobject-introspection_1.78.1.bb => gobject-introspection_1.80.1.bb} (96%) > > > > diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc > > index 20eb3a04468..fbf2d4cc816 100644 > > --- a/meta/conf/distro/include/maintainers.inc > > +++ b/meta/conf/distro/include/maintainers.inc > > @@ -205,6 +205,7 @@ RECIPE_MAINTAINER:pn-gi-docgen = "Alexander Kanavin <alex.kanavin@gmail.com>" > > RECIPE_MAINTAINER:pn-git = "Robert Yang <liezhi.yang@windriver.com>" > > RECIPE_MAINTAINER:pn-glew = "Anuj Mittal <anuj.mittal@intel.com>" > > RECIPE_MAINTAINER:pn-glib-2.0 = "Anuj Mittal <anuj.mittal@intel.com>" > > +RECIPE_MAINTAINER:pn-glib-2.0-initial = "Anuj Mittal <anuj.mittal@intel.com>" > > RECIPE_MAINTAINER:pn-glib-networking = "Anuj Mittal <anuj.mittal@intel.com>" > > RECIPE_MAINTAINER:pn-glibc = "Khem Raj <raj.khem@gmail.com>" > > RECIPE_MAINTAINER:pn-glibc-locale = "Khem Raj <raj.khem@gmail.com>" > > 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/files/0001-Do-not-write-bindir-into-pkg-config-files.patch > > similarity index 68% > > rename from meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch > > rename to meta/recipes-core/glib-2.0/files/0001-Do-not-write-bindir-into-pkg-config-files.patch > > index 8e6598fbef8..f6eba04fd4c 100644 > > --- 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/files/0001-Do-not-write-bindir-into-pkg-config-files.patch > > @@ -1,26 +1,30 @@ > > -From e7077aa23bfcd31a8e72e39dc93ce4f854678376 Mon Sep 17 00:00:00 2001 > > +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 write $bindir into pkg-config files > > +Subject: [PATCH] Do not prefix executables with $bindir in pkg-config files > > > > -This would otherwise break when using the files to build other target > > +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 | 16 ++++++++-------- > > - glib/meson.build | 6 +++--- > > - 2 files changed, 11 insertions(+), 11 deletions(-) > > + 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 5f91586..1a95f4f 100644 > > +index 77cba7b..25d709e 100644 > > --- a/gio/meson.build > > +++ b/gio/meson.build > > -@@ -884,14 +884,14 @@ pkg.generate(libgio, > > +@@ -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, > > - 'bindir=' + '${prefix}' / get_option('bindir'), > > 'giomoduledir=' + pkgconfig_giomodulesdir, > > - 'gio=' + '${bindir}' / 'gio', > > - 'gio_querymodules=' + pkgconfig_multiarch_bindir / 'gio-querymodules', > > @@ -42,16 +46,17 @@ index 5f91586..1a95f4f 100644 > > version : glib_version, > > install_dir : glib_pkgconfigreldir, > > diff --git a/glib/meson.build b/glib/meson.build > > -index c26a35e..1d8ca6b 100644 > > +index d2efeba..5f5841d 100644 > > --- a/glib/meson.build > > +++ b/glib/meson.build > > -@@ -447,9 +447,9 @@ pkg.generate(libglib, > > +@@ -447,9 +447,10 @@ pkg.generate(libglib, > > + subdirs : ['glib-2.0'], > > + extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags, > > variables : [ > > - 'bindir=' + '${prefix}' / get_option('bindir'), > > - 'datadir=' + '${prefix}' / get_option('datadir'), > > - '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', > > 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/files/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch > > similarity index 92% > > rename from meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch > > rename to meta/recipes-core/glib-2.0/files/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch > > index eb9dfdbcf99..129bc7f8aee 100644 > > --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch > > +++ b/meta/recipes-core/glib-2.0/files/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch > > @@ -1,4 +1,4 @@ > > -From 9a5d4bf65b658d744d610ee27ecd2ae65b14b158 Mon Sep 17 00:00:00 2001 > > +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 > > 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/files/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch > > similarity index 84% > > rename from meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch > > rename to meta/recipes-core/glib-2.0/files/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch > > index ad69f7ec655..3e12f8abbeb 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/files/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch > > @@ -1,4 +1,4 @@ > > -From 4933aef791857a5aac650b60af800778658b875b Mon Sep 17 00:00:00 2001 > > +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 > > @@ -13,10 +13,10 @@ Upstream-Status: Inappropriate [OE specific] > > 1 file changed, 1 insertion(+) > > > > diff --git a/gio/meson.build b/gio/meson.build > > -index f9fdf6e..5f91586 100644 > > +index 59c2b0f..77cba7b 100644 > > --- a/gio/meson.build > > +++ b/gio/meson.build > > -@@ -1005,6 +1005,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu > > +@@ -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, > > 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 > > similarity index 95% > > rename from meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch > > rename to meta/recipes-core/glib-2.0/files/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch > > index 0e3a62af6a6..9b0b83afa44 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,4 +1,4 @@ > > -From 8ae2e9c2a04e089306693a021149dc6b7d1bd679 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] Remove the warning about deprecated paths in schemas > > 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/files/0001-Set-host_machine-correctly-when-building-with-mingw3.patch > > similarity index 80% > > rename from meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch > > rename to meta/recipes-core/glib-2.0/files/0001-Set-host_machine-correctly-when-building-with-mingw3.patch > > index 32b4cea409c..a2f9dd9672f 100644 > > --- 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/files/0001-Set-host_machine-correctly-when-building-with-mingw3.patch > > @@ -1,4 +1,4 @@ > > -From c0733f7a91dfe13152abc60c5a3064456b3e9d63 Mon Sep 17 00:00:00 2001 > > +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 > > @@ -12,7 +12,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> > > 3 files changed, 8 insertions(+), 5 deletions(-) > > > > diff --git a/gio/tests/meson.build b/gio/tests/meson.build > > -index 4ef3343..e498e7e 100644 > > +index 232ecca..563298b 100644 > > --- a/gio/tests/meson.build > > +++ b/gio/tests/meson.build > > @@ -29,7 +29,7 @@ endif > > @@ -24,16 +24,16 @@ index 4ef3343..e498e7e 100644 > > common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')] > > endif > > > > -@@ -230,7 +230,7 @@ if have_dbus_daemon > > +@@ -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' : {}, > > - 'gdbus-peer-object-manager' : {}, > > -@@ -562,7 +562,7 @@ if host_machine.system() != 'windows' > > + '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 > > @@ -42,7 +42,7 @@ index 4ef3343..e498e7e 100644 > > gio_tests += {'win32-streams' : {}} > > endif > > > > -@@ -632,7 +632,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl' > > +@@ -663,7 +663,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl' > > } > > endif > > > > @@ -52,10 +52,10 @@ index 4ef3343..e498e7e 100644 > > 'gdbus-example-unix-fd-client' : { > > 'install' : false, > > diff --git a/glib/tests/meson.build b/glib/tests/meson.build > > -index d80c86e..5329cda 100644 > > +index f6efc59..83eb5a5 100644 > > --- a/glib/tests/meson.build > > +++ b/glib/tests/meson.build > > -@@ -216,7 +216,7 @@ if glib_conf.has('HAVE_EVENTFD') > > +@@ -226,7 +226,7 @@ if glib_conf.has('HAVE_EVENTFD') > > } > > endif > > > > @@ -65,7 +65,7 @@ index d80c86e..5329cda 100644 > > glib_tests += { > > 'gpoll' : { > > diff --git a/meson.build b/meson.build > > -index 813c9b7..6ee775e 100644 > > +index 7534542..2560686 100644 > > --- a/meson.build > > +++ b/meson.build > > @@ -54,6 +54,9 @@ else > > 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/files/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch > > similarity index 92% > > rename from meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch > > rename to meta/recipes-core/glib-2.0/files/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch > > index aee29860332..bb84f3969e4 100644 > > --- 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/files/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch > > @@ -1,4 +1,4 @@ > > -From 878e51f82100c698236fda0e069e14ea9249350c Mon Sep 17 00:00:00 2001 > > +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 > > @@ -13,7 +13,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/gio/tests/resources.c b/gio/tests/resources.c > > -index f567914..b21b616 100644 > > +index f7dc039..f708876 100644 > > --- a/gio/tests/resources.c > > +++ b/gio/tests/resources.c > > @@ -1068,7 +1068,7 @@ main (int argc, > > 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 00000000000..76e5f587480 > > --- /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/glib-2.0/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 > > similarity index 88% > > rename from meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch > > rename to meta/recipes-core/glib-2.0/files/0001-meson-Run-atomics-test-on-clang-as-well.patch > > index 0b102691141..2f805299874 100644 > > --- 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/files/0001-meson-Run-atomics-test-on-clang-as-well.patch > > @@ -1,4 +1,4 @@ > > -From b4b523160ef550a53705fcc45ac6e10d086ce491 Mon Sep 17 00:00:00 2001 > > +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 > > @@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/meson.build b/meson.build > > -index 6ee775e..8bc5fa7 100644 > > +index 2560686..5c46d0b 100644 > > --- a/meson.build > > +++ b/meson.build > > -@@ -1938,7 +1938,7 @@ atomicdefine = ''' > > +@@ -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 > > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/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 > > similarity index 84% > > rename from meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch > > rename to meta/recipes-core/glib-2.0/files/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch > > index 14dcb278e05..82955de6715 100644 > > --- a/meta/recipes-core/glib-2.0/glib-2.0/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 > > @@ -1,4 +1,4 @@ > > -From 294f3e6e9a0a9f4733e85ed6810d1b743055370b Mon Sep 17 00:00:00 2001 > > +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 > > @@ -14,10 +14,10 @@ Signed-off-by: Alexander Kanavin <alex@linutronix.de> > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/meson.build b/meson.build > > -index 8bc5fa7..df1fa60 100644 > > +index 5c46d0b..222c1a1 100644 > > --- a/meson.build > > +++ b/meson.build > > -@@ -981,7 +981,8 @@ if cc.links('''#include <sys/syscall.h> > > +@@ -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') > > 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 > > similarity index 93% > > rename from meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch > > rename to meta/recipes-core/glib-2.0/files/0010-Do-not-hardcode-python-path-into-various-tools.patch > > index 6dff5179c71..a51c186b004 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,4 +1,4 @@ > > -From 50636758c73e5e61212a8f801c6c602b8aab5ba7 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] Do not hardcode python path into various tools > > @@ -32,7 +32,7 @@ index aa5af43..56e8e2e 100755 > > # pylint: disable=too-many-lines, missing-docstring, invalid-name > > > > diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in > > -index 353e53a..8ed6c39 100755 > > +index e10b910..4b619f8 100755 > > --- a/gobject/glib-mkenums.in > > +++ b/gobject/glib-mkenums.in > > @@ -1,4 +1,4 @@ > > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common b/meta/recipes-core/glib-2.0/files/meson.cross.d/common > > similarity index 100% > > rename from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common > > rename to meta/recipes-core/glib-2.0/files/meson.cross.d/common > > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-glibc > > similarity index 100% > > rename from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc > > rename to meta/recipes-core/glib-2.0/files/meson.cross.d/common-glibc > > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-linux b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-linux > > similarity index 100% > > rename from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-linux > > rename to meta/recipes-core/glib-2.0/files/meson.cross.d/common-linux > > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-mingw b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-mingw > > similarity index 100% > > rename from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-mingw > > rename to meta/recipes-core/glib-2.0/files/meson.cross.d/common-mingw > > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-musl b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-musl > > similarity index 100% > > rename from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-musl > > rename to meta/recipes-core/glib-2.0/files/meson.cross.d/common-musl > > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/meta/recipes-core/glib-2.0/files/relocate-modules.patch > > similarity index 86% > > rename from meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch > > rename to meta/recipes-core/glib-2.0/files/relocate-modules.patch > > index 3e79bbf6796..d6e9019f396 100644 > > --- a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch > > +++ b/meta/recipes-core/glib-2.0/files/relocate-modules.patch > > @@ -1,4 +1,4 @@ > > -From f40e89b3852df37959606ee13b1a14ade81fa886 Mon Sep 17 00:00:00 2001 > > +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 > > @@ -18,10 +18,10 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> > > 1 file changed, 7 deletions(-) > > > > diff --git a/gio/giomodule.c b/gio/giomodule.c > > -index 17fabe6..8021208 100644 > > +index 1e14955..3c09bb5 100644 > > --- a/gio/giomodule.c > > +++ b/gio/giomodule.c > > -@@ -1271,11 +1271,6 @@ get_gio_module_dir (void) > > +@@ -1259,11 +1259,6 @@ get_gio_module_dir (void) > > g_free (install_dir); > > #else > > module_dir = g_strdup (GIO_MODULE_DIR); > > @@ -33,7 +33,7 @@ index 17fabe6..8021208 100644 > > #include <dlfcn.h> > > { > > g_autofree gchar *path = NULL; > > -@@ -1294,8 +1289,6 @@ get_gio_module_dir (void) > > +@@ -1282,8 +1277,6 @@ get_gio_module_dir (void) > > } > > } > > } > > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/run-ptest b/meta/recipes-core/glib-2.0/files/run-ptest > > similarity index 100% > > rename from meta/recipes-core/glib-2.0/glib-2.0/run-ptest > > rename to meta/recipes-core/glib-2.0/files/run-ptest > > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/skip-timeout.patch b/meta/recipes-core/glib-2.0/files/skip-timeout.patch > > similarity index 90% > > rename from meta/recipes-core/glib-2.0/glib-2.0/skip-timeout.patch > > rename to meta/recipes-core/glib-2.0/files/skip-timeout.patch > > index cd5ac287c3f..b1c62cc39c8 100644 > > --- a/meta/recipes-core/glib-2.0/glib-2.0/skip-timeout.patch > > +++ b/meta/recipes-core/glib-2.0/files/skip-timeout.patch > > @@ -1,4 +1,4 @@ > > -From bb11d1a4ae77d93ec0743e54077cf0f990243fa6 Mon Sep 17 00:00:00 2001 > > +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 > > @@ -16,7 +16,7 @@ Signed-off-by: Ross Burton <ross.burton@arm.com> > > 1 file changed, 1 deletion(-) > > > > diff --git a/glib/tests/timeout.c b/glib/tests/timeout.c > > -index 1ae3f3a34..85a715b0f 100644 > > +index 1ae3f3a..85a715b 100644 > > --- a/glib/tests/timeout.c > > +++ b/glib/tests/timeout.c > > @@ -214,7 +214,6 @@ main (int argc, char *argv[]) > > @@ -27,6 +27,3 @@ index 1ae3f3a34..85a715b0f 100644 > > > > return g_test_run (); > > } > > --- > > -2.34.1 > > - > > 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 00000000000..7da28382650 > > --- /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-Switch-from-the-deprecated-distutils-module-to-the-p.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > > deleted file mode 100644 > > index b11c283e6d7..00000000000 > > --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > > +++ /dev/null > > @@ -1,34 +0,0 @@ > > -From a8eb944a10353403241608a084787f6efcbb2eb7 Mon Sep 17 00:00:00 2001 > > -From: Jordan Williams <jordan@jwillikers.com> > > -Date: Fri, 1 Dec 2023 09:53:50 -0600 > > -Subject: [PATCH] Switch from the deprecated distutils module to the packaging > > - module > > - > > -The distutils module was removed in Python 3.12. > > - > > -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/6ef967a0f930ce37a8c9b5aff969693b34714291] > > - > > -Signed-off-by: Martin Jansa <martin.jansa@gmail.com> > > ---- > > - gio/gdbus-2.0/codegen/utils.py | 4 ++-- > > - 1 file changed, 2 insertions(+), 2 deletions(-) > > - > > -diff --git a/gio/gdbus-2.0/codegen/utils.py b/gio/gdbus-2.0/codegen/utils.py > > -index 0204610..08f1ba9 100644 > > ---- a/gio/gdbus-2.0/codegen/utils.py > > -+++ b/gio/gdbus-2.0/codegen/utils.py > > -@@ -19,7 +19,7 @@ > > - # > > - # Author: David Zeuthen <davidz@redhat.com> > > - > > --import distutils.version > > -+import packaging.version > > - import os > > - import sys > > - > > -@@ -166,4 +166,4 @@ def version_cmp_key(key): > > - v = str(key[0]) > > - else: > > - v = "0" > > -- return (distutils.version.LooseVersion(v), key[1]) > > -+ return (packaging.version.Version(v), key[1]) > > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch b/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch > > deleted file mode 100644 > > index bdfbd558999..00000000000 > > --- a/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch > > +++ /dev/null > > @@ -1,54 +0,0 @@ > > -From cce3ae98a2c1966719daabff5a4ec6cf94a846f6 Mon Sep 17 00:00:00 2001 > > -From: Philip Withnall <pwithnall@gnome.org> > > -Date: Mon, 26 Feb 2024 16:55:44 +0000 > > -Subject: [PATCH] tests: Remove variable-length lookbehind tests for GRegex > > -MIME-Version: 1.0 > > -Content-Type: text/plain; charset=UTF-8 > > -Content-Transfer-Encoding: 8bit > > - > > -PCRE2 10.43 has now introduced support for variable-length lookbehind, > > -so these tests now fail if GLib is built against PCRE2 10.43 or higher. > > - > > -See > > -https://github.com/PCRE2Project/pcre2/blob/e8db6fa7137f4c6f66cb87e0a3c9467252ec1ef7/ChangeLog#L94. > > - > > -Rather than making the tests conditional on the version of PCRE2 in use, > > -just remove them. They are mostly testing the PCRE2 code rather than > > -any code in GLib, so don’t have much value. > > - > > -This should fix CI runs on msys2-mingw32, which updated to PCRE2 10.43 2 > > -days ago. > > - > > -Signed-off-by: Philip Withnall <pwithnall@gnome.org> > > - > > -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/cce3ae98a2c1966719daabff5a4ec6cf94a846f6] > > -Signed-off-by: Alexander Kanavin <alex@linutronix.de> > > ---- > > - glib/tests/regex.c | 10 ---------- > > - 1 file changed, 10 deletions(-) > > - > > -diff --git a/glib/tests/regex.c b/glib/tests/regex.c > > -index 1082526292..d7a698ec67 100644 > > ---- a/glib/tests/regex.c > > -+++ b/glib/tests/regex.c > > -@@ -1885,16 +1885,6 @@ test_lookbehind (void) > > - g_match_info_free (match); > > - g_regex_unref (regex); > > - > > -- regex = g_regex_new ("(?<!dogs?|cats?) x", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error); > > -- g_assert (regex == NULL); > > -- g_assert_error (error, G_REGEX_ERROR, G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND); > > -- g_clear_error (&error); > > -- > > -- regex = g_regex_new ("(?<=ab(c|de)) foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error); > > -- g_assert (regex == NULL); > > -- g_assert_error (error, G_REGEX_ERROR, G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND); > > -- g_clear_error (&error); > > -- > > - regex = g_regex_new ("(?<=abc|abde)foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error); > > - g_assert (regex); > > - g_assert_no_error (error); > > --- > > -GitLab > > - > > - > > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch b/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch > > deleted file mode 100644 > > index 4f38509da6f..00000000000 > > --- a/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch > > +++ /dev/null > > @@ -1,361 +0,0 @@ > > -From ce840b6b111e1e109e511f6833d6aa419e2b723a Mon Sep 17 00:00:00 2001 > > -From: Philip Withnall <philip@tecnocode.co.uk> > > -Date: Tue, 23 Jan 2024 11:16:52 +0000 > > -Subject: [PATCH] Merge branch '2887-memory-monitor-tests' into 'main' > > - > > -tests: Fix race condition in memory-monitor-dbus.test > > - > > -Closes #2887 > > - > > -See merge request GNOME/glib!3844 > > - > > -Hopefully these commits fix the occasional failures we've been seeing: > > -https://bugzilla.yoctoproject.org/show_bug.cgi?id=15362 > > - > > -Upstream-Status: Backport > > -Signed-off-by: Ross Burton <ross.burton@arm.com> > > ---- > > - gio/tests/memory-monitor-dbus.py.in | 64 +++++++++++++------- > > - gio/tests/memory-monitor-portal.py.in | 54 ++++++++++------- > > - gio/tests/power-profile-monitor-dbus.py.in | 35 ++++++----- > > - gio/tests/power-profile-monitor-portal.py.in | 34 ++++++----- > > - 4 files changed, 113 insertions(+), 74 deletions(-) > > - > > -diff --git a/gio/tests/memory-monitor-dbus.py.in b/gio/tests/memory-monitor-dbus.py.in > > -index bf32918..7aae01e 100755 > > ---- a/gio/tests/memory-monitor-dbus.py.in > > -+++ b/gio/tests/memory-monitor-dbus.py.in > > -@@ -16,7 +16,6 @@ import sys > > - import subprocess > > - import fcntl > > - import os > > --import time > > - > > - import taptestrunner > > - > > -@@ -57,53 +56,74 @@ try: > > - fcntl.fcntl(self.p_mock.stdout, fcntl.F_SETFL, flags | os.O_NONBLOCK) > > - self.last_warning = -1 > > - self.dbusmock = dbus.Interface(self.obj_lmm, dbusmock.MOCK_IFACE) > > -+ > > -+ try: > > -+ self.wait_for_bus_object('org.freedesktop.LowMemoryMonitor', > > -+ '/org/freedesktop/LowMemoryMonitor', > > -+ system_bus=True) > > -+ except: > > -+ raise > > -+ > > - self.memory_monitor = Gio.MemoryMonitor.dup_default() > > -+ assert("GMemoryMonitorDBus" in str(self.memory_monitor)) > > - self.memory_monitor.connect("low-memory-warning", self.memory_warning_cb) > > - self.mainloop = GLib.MainLoop() > > - self.main_context = self.mainloop.get_context() > > - > > -+ # The LowMemoryMonitor API is stateless: it doesn’t expose any > > -+ # properties, just a warning signal. Emit the signal in a loop until > > -+ # the GMemoryMonitor instance has initialised and synchronised to > > -+ # the right state. > > -+ def emit_warning(level): > > -+ self.dbusmock.EmitWarning(level) > > -+ return GLib.SOURCE_CONTINUE > > -+ > > -+ idle_id = GLib.idle_add(emit_warning, 0) > > -+ while self.last_warning != 0: > > -+ self.main_context.iteration(True) > > -+ GLib.source_remove(idle_id) > > -+ > > - def tearDown(self): > > - self.p_mock.terminate() > > - self.p_mock.wait() > > - > > -- def assertEventually(self, condition, message=None, timeout=50): > > -+ def assertEventually(self, condition, message=None, timeout=5): > > - '''Assert that condition function eventually returns True. > > - > > -- Timeout is in deciseconds, defaulting to 50 (5 seconds). message is > > -+ Timeout is in seconds, defaulting to 5 seconds. message is > > - printed on failure. > > - ''' > > -- while timeout >= 0: > > -- context = GLib.MainContext.default() > > -- while context.iteration(False): > > -- pass > > -- if condition(): > > -- break > > -- timeout -= 1 > > -- time.sleep(0.1) > > -- else: > > -- self.fail(message or 'timed out waiting for ' + str(condition)) > > -+ if not message: > > -+ message = 'timed out waiting for ' + str(condition) > > -+ > > -+ def timed_out_cb(message): > > -+ self.fail(message) > > -+ return GLib.SOURCE_REMOVE > > -+ > > -+ timeout_source = GLib.timeout_source_new_seconds(timeout) > > -+ timeout_source.set_callback(timed_out_cb, message) > > -+ timeout_source.attach(self.main_context) > > -+ > > -+ while not condition(): > > -+ self.main_context.iteration(True) > > -+ > > -+ timeout_source.destroy() > > - > > - def memory_warning_cb(self, monitor, level): > > -+ print("Received memory warning signal, level", level) > > - self.last_warning = level > > - self.main_context.wakeup() > > - > > - def test_low_memory_warning_signal(self): > > - '''LowMemoryWarning signal''' > > - > > -- # Wait 2 seconds > > -- timeout = 2 > > -- while timeout > 0: > > -- time.sleep(0.5) > > -- timeout -= 0.5 > > -- self.main_context.iteration(False) > > -- > > - self.dbusmock.EmitWarning(100) > > - # Wait 2 seconds or until warning > > -- self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 20) > > -+ self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 2) > > - > > - self.dbusmock.EmitWarning(255) > > - # Wait 2 seconds or until warning > > -- self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 20) > > -+ self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 2) > > - > > - except ImportError as e: > > - @unittest.skip("Cannot import %s" % e.name) > > -diff --git a/gio/tests/memory-monitor-portal.py.in b/gio/tests/memory-monitor-portal.py.in > > -index 748cee8..f570508 100755 > > ---- a/gio/tests/memory-monitor-portal.py.in > > -+++ b/gio/tests/memory-monitor-portal.py.in > > -@@ -16,7 +16,6 @@ import sys > > - import subprocess > > - import fcntl > > - import os > > --import time > > - > > - import taptestrunner > > - > > -@@ -80,26 +79,44 @@ try: > > - self.mainloop = GLib.MainLoop() > > - self.main_context = self.mainloop.get_context() > > - > > -+ # The LowMemoryMonitor API is stateless: it doesn’t expose any > > -+ # properties, just a warning signal. Emit the signal in a loop until > > -+ # the GMemoryMonitor instance has initialised and synchronised to > > -+ # the right state. > > -+ def emit_warning(level): > > -+ self.dbusmock.EmitWarning(level) > > -+ return GLib.SOURCE_CONTINUE > > -+ > > -+ idle_id = GLib.idle_add(self.emit_warning, 0) > > -+ while self.last_warning != 0: > > -+ self.main_context.iteration(True) > > -+ GLib.source_remove(idle_id) > > -+ > > - def tearDown(self): > > - self.p_mock.terminate() > > - self.p_mock.wait() > > - > > -- def assertEventually(self, condition, message=None, timeout=50): > > -+ def assertEventually(self, condition, message=None, timeout=5): > > - '''Assert that condition function eventually returns True. > > - > > -- Timeout is in deciseconds, defaulting to 50 (5 seconds). message is > > -+ Timeout is in seconds, defaulting to 5 seconds. message is > > - printed on failure. > > - ''' > > -- while timeout >= 0: > > -- context = GLib.MainContext.default() > > -- while context.iteration(False): > > -- pass > > -- if condition(): > > -- break > > -- timeout -= 1 > > -- time.sleep(0.1) > > -- else: > > -- self.fail(message or 'timed out waiting for ' + str(condition)) > > -+ if not message: > > -+ message = 'timed out waiting for ' + str(condition) > > -+ > > -+ def timed_out_cb(message): > > -+ self.fail(message) > > -+ return GLib.SOURCE_REMOVE > > -+ > > -+ timeout_source = GLib.timeout_source_new_seconds(timeout) > > -+ timeout_source.set_callback(timed_out_cb, message) > > -+ timeout_source.attach(self.main_context) > > -+ > > -+ while not condition(): > > -+ self.main_context.iteration(True) > > -+ > > -+ timeout_source.destroy() > > - > > - def portal_memory_warning_cb(self, monitor, level): > > - self.last_warning = level > > -@@ -108,20 +125,13 @@ try: > > - def test_low_memory_warning_portal_signal(self): > > - '''LowMemoryWarning signal''' > > - > > -- # Wait 2 seconds > > -- timeout = 2 > > -- while timeout > 0: > > -- time.sleep(0.5) > > -- timeout -= 0.5 > > -- self.main_context.iteration(False) > > -- > > - self.dbusmock.EmitWarning(100) > > - # Wait 2 seconds or until warning > > -- self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 20) > > -+ self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 2) > > - > > - self.dbusmock.EmitWarning(255) > > - # Wait 2 seconds or until warning > > -- self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 20) > > -+ self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 2) > > - > > - except ImportError as e: > > - @unittest.skip("Cannot import %s" % e.name) > > -diff --git a/gio/tests/power-profile-monitor-dbus.py.in b/gio/tests/power-profile-monitor-dbus.py.in > > -index 06e594f..f955afc 100755 > > ---- a/gio/tests/power-profile-monitor-dbus.py.in > > -+++ b/gio/tests/power-profile-monitor-dbus.py.in > > -@@ -16,7 +16,6 @@ import sys > > - import subprocess > > - import fcntl > > - import os > > --import time > > - > > - import taptestrunner > > - > > -@@ -58,6 +57,7 @@ try: > > - self.power_saver_enabled = False > > - self.dbus_props = dbus.Interface(self.obj_ppd, dbus.PROPERTIES_IFACE) > > - self.power_profile_monitor = Gio.PowerProfileMonitor.dup_default() > > -+ assert("GPowerProfileMonitorDBus" in str(self.power_profile_monitor)) > > - self.power_profile_monitor.connect("notify::power-saver-enabled", self.power_saver_enabled_cb) > > - self.mainloop = GLib.MainLoop() > > - self.main_context = self.mainloop.get_context() > > -@@ -66,22 +66,27 @@ try: > > - self.p_mock.terminate() > > - self.p_mock.wait() > > - > > -- def assertEventually(self, condition, message=None, timeout=50): > > -+ def assertEventually(self, condition, message=None, timeout=5): > > - '''Assert that condition function eventually returns True. > > - > > -- Timeout is in deciseconds, defaulting to 50 (5 seconds). message is > > -+ Timeout is in seconds, defaulting to 5 seconds. message is > > - printed on failure. > > - ''' > > -- while timeout >= 0: > > -- context = GLib.MainContext.default() > > -- while context.iteration(False): > > -- pass > > -- if condition(): > > -- break > > -- timeout -= 1 > > -- time.sleep(0.1) > > -- else: > > -- self.fail(message or 'timed out waiting for ' + str(condition)) > > -+ if not message: > > -+ message = 'timed out waiting for ' + str(condition) > > -+ > > -+ def timed_out_cb(message): > > -+ self.fail(message) > > -+ return GLib.SOURCE_REMOVE > > -+ > > -+ timeout_source = GLib.timeout_source_new_seconds(timeout) > > -+ timeout_source.set_callback(timed_out_cb, message) > > -+ timeout_source.attach(self.main_context) > > -+ > > -+ while not condition(): > > -+ self.main_context.iteration(True) > > -+ > > -+ timeout_source.destroy() > > - > > - def power_saver_enabled_cb(self, spec, data): > > - self.power_saver_enabled = self.power_profile_monitor.get_power_saver_enabled() > > -@@ -92,10 +97,10 @@ try: > > - > > - self.assertEqual(self.power_profile_monitor.get_power_saver_enabled(), False) > > - self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('power-saver', variant_level=1)) > > -- self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 10) > > -+ self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 1) > > - > > - self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('balanced', variant_level=1)) > > -- self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 10) > > -+ self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 1) > > - > > - except ImportError as e: > > - @unittest.skip("Cannot import %s" % e.name) > > -diff --git a/gio/tests/power-profile-monitor-portal.py.in b/gio/tests/power-profile-monitor-portal.py.in > > -index 09e9a45..ad2abf6 100755 > > ---- a/gio/tests/power-profile-monitor-portal.py.in > > -+++ b/gio/tests/power-profile-monitor-portal.py.in > > -@@ -16,7 +16,6 @@ import sys > > - import subprocess > > - import fcntl > > - import os > > --import time > > - > > - import taptestrunner > > - > > -@@ -90,22 +89,27 @@ try: > > - self.p_mock.terminate() > > - self.p_mock.wait() > > - > > -- def assertEventually(self, condition, message=None, timeout=50): > > -+ def assertEventually(self, condition, message=None, timeout=5): > > - '''Assert that condition function eventually returns True. > > - > > -- Timeout is in deciseconds, defaulting to 50 (5 seconds). message is > > -+ Timeout is in seconds, defaulting to 5 seconds. message is > > - printed on failure. > > - ''' > > -- while timeout >= 0: > > -- context = GLib.MainContext.default() > > -- while context.iteration(False): > > -- pass > > -- if condition(): > > -- break > > -- timeout -= 1 > > -- time.sleep(0.1) > > -- else: > > -- self.fail(message or 'timed out waiting for ' + str(condition)) > > -+ if not message: > > -+ message = 'timed out waiting for ' + str(condition) > > -+ > > -+ def timed_out_cb(message): > > -+ self.fail(message) > > -+ return GLib.SOURCE_REMOVE > > -+ > > -+ timeout_source = GLib.timeout_source_new_seconds(timeout) > > -+ timeout_source.set_callback(timed_out_cb, message) > > -+ timeout_source.attach(self.main_context) > > -+ > > -+ while not condition(): > > -+ self.main_context.iteration(True) > > -+ > > -+ timeout_source.destroy() > > - > > - def power_saver_enabled_cb(self, spec, data): > > - self.power_saver_enabled = self.power_profile_monitor.get_power_saver_enabled() > > -@@ -116,10 +120,10 @@ try: > > - > > - self.assertEqual(self.power_profile_monitor.get_power_saver_enabled(), False) > > - self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('power-saver', variant_level=1)) > > -- self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 10) > > -+ self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 1) > > - > > - self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('balanced', variant_level=1)) > > -- self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 10) > > -+ self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 1) > > - > > - def test_power_profile_power_saver_enabled_portal_default(self): > > - '''power-saver-enabled property default value''' > > diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb > > deleted file mode 100644 > > index b1669ead75e..00000000000 > > --- a/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb > > +++ /dev/null > > @@ -1,57 +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://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-Switch-from-the-deprecated-distutils-module-to-the-p.patch \ > > - file://memory-monitor.patch \ > > - file://fix-regex.patch \ > > - file://skip-timeout.patch \ > > - " > > -SRC_URI:append:class-native = " file://relocate-modules.patch \ > > - file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \ > > - " > > - > > -SRC_URI[sha256sum] = "24b8e0672dca120cc32d394bccb85844e732e04fe75d18bb0573b2dbc7548f63" > > - > > -# 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-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 00000000000..e22810a55bc > > --- /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 fac8875d844..692857892ff 100644 > > --- a/meta/recipes-core/glib-2.0/glib.inc > > +++ b/meta/recipes-core/glib-2.0/glib.inc > > @@ -28,21 +28,25 @@ PACKAGES += "${PN}-codegen ${PN}-utils" > > > > LEAD_SONAME = "libglib-2.0.*" > > > > -inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages gobject-introspection-data > > - > > -GTKDOC_MESON_OPTION = "gtk_doc" > > +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 ??= "libmount \ > > + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'introspection', '', d)} \ > > ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" > > +PACKAGECONFIG:class-native = "" > > + > > PACKAGECONFIG[libmount] = "-Dlibmount=enabled,-Dlibmount=disabled,util-linux" > > -PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native" > > +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" > > > > -EXTRA_OEMESON = "-Ddtrace=false -Dsystemtap=false" > > +EXTRA_OEMESON = "-Ddtrace=false -Dsystemtap=false \ > > + ${@'-Dgir_dir_prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \ > > +" > > > > do_configure:prepend() { > > sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in > > @@ -53,14 +57,16 @@ FILES:${PN} = "${libdir}/lib*${SOLIBS} \ > > ${libexecdir}/*gio-querymodules \ > > ${libexecdir}/*gio-launch-desktop \ > > ${datadir}/glib-2.0/dtds \ > > - ${datadir}/glib-2.0/schemas" > > - > > + ${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 \ > > ${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 \ > > @@ -204,3 +210,57 @@ RDEPENDS:${PN}-ptest:append:libc-glibc = "\ > > 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 \ > > + " > > + > > +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) > > +} > > diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch > > index c9e1afffd0f..510bc426d1b 100644 > > --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch > > +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch > > @@ -1,4 +1,4 @@ > > -From aeb5532f8be42d42f4e8725ca42e239b36983a4d Mon Sep 17 00:00:00 2001 > > +From 4e1aa0ddbc43403ff24f644b4c4912b737290c41 Mon Sep 17 00:00:00 2001 > > From: Sascha Silbe <x-yo17@se-silbe.de> > > Date: Fri, 8 Jun 2018 13:55:10 +0200 > > Subject: [PATCH] Relocate the repository directory for native builds > > @@ -14,14 +14,13 @@ cache or sstate mirror). > > > > Upstream-Status: Inappropriate > > Signed-off-by: Sascha Silbe <x-yo17@se-silbe.de> > > - > > --- > > girepository/girepository.c | 15 +++++++++++++-- > > girepository/meson.build | 2 +- > > 2 files changed, 14 insertions(+), 3 deletions(-) > > > > diff --git a/girepository/girepository.c b/girepository/girepository.c > > -index a0754f4..2d456f9 100644 > > +index 12eaf36..876382c 100644 > > --- a/girepository/girepository.c > > +++ b/girepository/girepository.c > > @@ -21,6 +21,8 @@ > > @@ -42,7 +41,7 @@ index a0754f4..2d456f9 100644 > > /** > > * SECTION:girepository > > * @short_description: GObject Introspection repository manager > > -@@ -215,9 +219,16 @@ init_globals (void) > > +@@ -222,9 +226,16 @@ init_globals (void) > > g_free (custom_dirs); > > } > > > > @@ -62,10 +61,10 @@ index a0754f4..2d456f9 100644 > > typelib_search_path = g_slist_prepend (typelib_search_path, typelib_dir); > > > > diff --git a/girepository/meson.build b/girepository/meson.build > > -index 786749a..15cf2a9 100644 > > +index 5ced59e..a580d9b 100644 > > --- a/girepository/meson.build > > +++ b/girepository/meson.build > > -@@ -45,7 +45,7 @@ girepo_internals_lib = static_library('girepository-internals', > > +@@ -47,7 +47,7 @@ girepo_internals_lib = static_library('girepository-internals', > > ], > > c_args: gi_hidden_visibility_cflags + custom_c_args, > > include_directories : configinc, > > diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.78.1.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.80.1.bb > > similarity index 96% > > rename from meta/recipes-gnome/gobject-introspection/gobject-introspection_1.78.1.bb > > rename to meta/recipes-gnome/gobject-introspection/gobject-introspection_1.80.1.bb > > index 05a08a50e08..582ac248fda 100644 > > --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.78.1.bb > > +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.80.1.bb > > @@ -16,7 +16,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \ > > SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \ > > " > > > > -SRC_URI[sha256sum] = "bd7babd99af7258e76819e45ba4a6bc399608fe762d83fde3cac033c50841bb4" > > +SRC_URI[sha256sum] = "a1df7c424e15bda1ab639c00e9051b9adf5cea1a9e512f8a603b53cd199bc6d8" > > > > SRC_URI:append:class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch" > > > > @@ -26,7 +26,9 @@ GTKDOC_MESON_OPTION = "gtk_doc" > > > > MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner" > > > > -DEPENDS += " libffi zlib glib-2.0 python3 flex-native bison-native" > > +DEPENDS += " libffi zlib python3 flex-native bison-native" > > +DEPENDS:append:class-native = " glib-2.0" > > +DEPENDS:append:class-target = " glib-2.0-initial" > > > > # target build needs qemu to run temporary introspection binaries created > > # on the fly by g-ir-scanner and a native version of itself to run > > @@ -189,6 +191,6 @@ FILES:${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/" > > FILES:${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a" > > > > # setuptools can be removed when upstream removes all uses of distutils > > -RDEPENDS:${PN} = "python3-pickle python3-xml python3-setuptools" > > +RDEPENDS:${PN} = "python3-pickle python3-xml python3-setuptools glib-2.0" > > > > BBCLASSEXTEND = "native" > > -- > > 2.39.2 > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > Links: You receive all messages sent to this group. > > View/Reply Online (#198616): https://lists.openembedded.org/g/openembedded-core/message/198616 > > Mute This Topic: https://lists.openembedded.org/mt/105687645/1997914 > > Group Owner: openembedded-core+owner@lists.openembedded.org > > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com] > > -=-=-=-=-=-=-=-=-=-=-=- > >
On Tue, 2024-04-23 at 13:41 +0200, Alexander Kanavin via lists.openembedded.org wrote: > From: Alexander Kanavin <alex@linutronix.de> > > With these versions, which need to be updated in lockstep, upstream has > relocated glib introspection data from g-i tree to glib tree and made > its generation a part of the overall glib build. This creates a circular > dependency, where g-i tools are linked with glib, but glib needs the tools > to build its g-i data. (I don't know why the two source trees > couldn't be simply merged into one, or g-i data for glib couldn't be generated > inside g-i build against sysroot glib). > > Upstream is suggesting building glib twice, first without building g-i data, > then building g-i and linking it with that version, then building > the final glib, and that's what is being done here (via the new > glib-initial recipe, which is sysroot-only, and is not pulled in > via indirect dependencies either). > > Other glib changes: > 0001-Do-not-write-bindir-into-pkg-config-files.patch restores > writing bindir variable into glib.pc file (meson only writes > it out if other variables depend on it, and this custom patch > removes that dependency). > > 0001-girepository-introspection-correctly-install-.gir-fi.patch > ensures correct installation of .gir into something else > than $datadir (useful in multilib). > > Merge previous glib .bb into .inc, so that glib and glib-initial > recipes could be cleanly separated with no duplication. > > Convert from gtk-doc to gi-docgen, and manpages from xmlto to > docutils. This is causing a selftest failure for: "oe-selftest -r sstatetests.SStateHashSameSigs2.test_sstate_nativesdk_samesigs_multilib" e.g. https://autobuilder.yoctoproject.org/typhoon/#/builders/80/builds/6644/steps/14/logs/stdio (other failures there are my fault but I confirmed the sstate one is from this patch) Cheers, Richard
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 20eb3a04468..fbf2d4cc816 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -205,6 +205,7 @@ RECIPE_MAINTAINER:pn-gi-docgen = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER:pn-git = "Robert Yang <liezhi.yang@windriver.com>" RECIPE_MAINTAINER:pn-glew = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER:pn-glib-2.0 = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER:pn-glib-2.0-initial = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER:pn-glib-networking = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER:pn-glibc = "Khem Raj <raj.khem@gmail.com>" RECIPE_MAINTAINER:pn-glibc-locale = "Khem Raj <raj.khem@gmail.com>" 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/files/0001-Do-not-write-bindir-into-pkg-config-files.patch similarity index 68% rename from meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch rename to meta/recipes-core/glib-2.0/files/0001-Do-not-write-bindir-into-pkg-config-files.patch index 8e6598fbef8..f6eba04fd4c 100644 --- 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/files/0001-Do-not-write-bindir-into-pkg-config-files.patch @@ -1,26 +1,30 @@ -From e7077aa23bfcd31a8e72e39dc93ce4f854678376 Mon Sep 17 00:00:00 2001 +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 write $bindir into pkg-config files +Subject: [PATCH] Do not prefix executables with $bindir in pkg-config files -This would otherwise break when using the files to build other target +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 | 16 ++++++++-------- - glib/meson.build | 6 +++--- - 2 files changed, 11 insertions(+), 11 deletions(-) + 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 5f91586..1a95f4f 100644 +index 77cba7b..25d709e 100644 --- a/gio/meson.build +++ b/gio/meson.build -@@ -884,14 +884,14 @@ pkg.generate(libgio, +@@ -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, - 'bindir=' + '${prefix}' / get_option('bindir'), 'giomoduledir=' + pkgconfig_giomodulesdir, - 'gio=' + '${bindir}' / 'gio', - 'gio_querymodules=' + pkgconfig_multiarch_bindir / 'gio-querymodules', @@ -42,16 +46,17 @@ index 5f91586..1a95f4f 100644 version : glib_version, install_dir : glib_pkgconfigreldir, diff --git a/glib/meson.build b/glib/meson.build -index c26a35e..1d8ca6b 100644 +index d2efeba..5f5841d 100644 --- a/glib/meson.build +++ b/glib/meson.build -@@ -447,9 +447,9 @@ pkg.generate(libglib, +@@ -447,9 +447,10 @@ pkg.generate(libglib, + subdirs : ['glib-2.0'], + extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags, variables : [ - 'bindir=' + '${prefix}' / get_option('bindir'), - 'datadir=' + '${prefix}' / get_option('datadir'), - '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', 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/files/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch similarity index 92% rename from meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch rename to meta/recipes-core/glib-2.0/files/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch index eb9dfdbcf99..129bc7f8aee 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch +++ b/meta/recipes-core/glib-2.0/files/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch @@ -1,4 +1,4 @@ -From 9a5d4bf65b658d744d610ee27ecd2ae65b14b158 Mon Sep 17 00:00:00 2001 +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 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/files/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch similarity index 84% rename from meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch rename to meta/recipes-core/glib-2.0/files/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch index ad69f7ec655..3e12f8abbeb 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/files/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch @@ -1,4 +1,4 @@ -From 4933aef791857a5aac650b60af800778658b875b Mon Sep 17 00:00:00 2001 +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 @@ -13,10 +13,10 @@ Upstream-Status: Inappropriate [OE specific] 1 file changed, 1 insertion(+) diff --git a/gio/meson.build b/gio/meson.build -index f9fdf6e..5f91586 100644 +index 59c2b0f..77cba7b 100644 --- a/gio/meson.build +++ b/gio/meson.build -@@ -1005,6 +1005,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu +@@ -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, 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 similarity index 95% rename from meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch rename to meta/recipes-core/glib-2.0/files/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch index 0e3a62af6a6..9b0b83afa44 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,4 +1,4 @@ -From 8ae2e9c2a04e089306693a021149dc6b7d1bd679 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] Remove the warning about deprecated paths in schemas 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/files/0001-Set-host_machine-correctly-when-building-with-mingw3.patch similarity index 80% rename from meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch rename to meta/recipes-core/glib-2.0/files/0001-Set-host_machine-correctly-when-building-with-mingw3.patch index 32b4cea409c..a2f9dd9672f 100644 --- 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/files/0001-Set-host_machine-correctly-when-building-with-mingw3.patch @@ -1,4 +1,4 @@ -From c0733f7a91dfe13152abc60c5a3064456b3e9d63 Mon Sep 17 00:00:00 2001 +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 @@ -12,7 +12,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/gio/tests/meson.build b/gio/tests/meson.build -index 4ef3343..e498e7e 100644 +index 232ecca..563298b 100644 --- a/gio/tests/meson.build +++ b/gio/tests/meson.build @@ -29,7 +29,7 @@ endif @@ -24,16 +24,16 @@ index 4ef3343..e498e7e 100644 common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')] endif -@@ -230,7 +230,7 @@ if have_dbus_daemon +@@ -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' : {}, - 'gdbus-peer-object-manager' : {}, -@@ -562,7 +562,7 @@ if host_machine.system() != 'windows' + '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 @@ -42,7 +42,7 @@ index 4ef3343..e498e7e 100644 gio_tests += {'win32-streams' : {}} endif -@@ -632,7 +632,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl' +@@ -663,7 +663,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl' } endif @@ -52,10 +52,10 @@ index 4ef3343..e498e7e 100644 'gdbus-example-unix-fd-client' : { 'install' : false, diff --git a/glib/tests/meson.build b/glib/tests/meson.build -index d80c86e..5329cda 100644 +index f6efc59..83eb5a5 100644 --- a/glib/tests/meson.build +++ b/glib/tests/meson.build -@@ -216,7 +216,7 @@ if glib_conf.has('HAVE_EVENTFD') +@@ -226,7 +226,7 @@ if glib_conf.has('HAVE_EVENTFD') } endif @@ -65,7 +65,7 @@ index d80c86e..5329cda 100644 glib_tests += { 'gpoll' : { diff --git a/meson.build b/meson.build -index 813c9b7..6ee775e 100644 +index 7534542..2560686 100644 --- a/meson.build +++ b/meson.build @@ -54,6 +54,9 @@ else 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/files/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch similarity index 92% rename from meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch rename to meta/recipes-core/glib-2.0/files/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch index aee29860332..bb84f3969e4 100644 --- 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/files/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch @@ -1,4 +1,4 @@ -From 878e51f82100c698236fda0e069e14ea9249350c Mon Sep 17 00:00:00 2001 +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 @@ -13,7 +13,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gio/tests/resources.c b/gio/tests/resources.c -index f567914..b21b616 100644 +index f7dc039..f708876 100644 --- a/gio/tests/resources.c +++ b/gio/tests/resources.c @@ -1068,7 +1068,7 @@ main (int argc, 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 00000000000..76e5f587480 --- /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/glib-2.0/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 similarity index 88% rename from meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch rename to meta/recipes-core/glib-2.0/files/0001-meson-Run-atomics-test-on-clang-as-well.patch index 0b102691141..2f805299874 100644 --- 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/files/0001-meson-Run-atomics-test-on-clang-as-well.patch @@ -1,4 +1,4 @@ -From b4b523160ef550a53705fcc45ac6e10d086ce491 Mon Sep 17 00:00:00 2001 +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 @@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build -index 6ee775e..8bc5fa7 100644 +index 2560686..5c46d0b 100644 --- a/meson.build +++ b/meson.build -@@ -1938,7 +1938,7 @@ atomicdefine = ''' +@@ -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 diff --git a/meta/recipes-core/glib-2.0/glib-2.0/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 similarity index 84% rename from meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch rename to meta/recipes-core/glib-2.0/files/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch index 14dcb278e05..82955de6715 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/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 @@ -1,4 +1,4 @@ -From 294f3e6e9a0a9f4733e85ed6810d1b743055370b Mon Sep 17 00:00:00 2001 +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 @@ -14,10 +14,10 @@ Signed-off-by: Alexander Kanavin <alex@linutronix.de> 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build -index 8bc5fa7..df1fa60 100644 +index 5c46d0b..222c1a1 100644 --- a/meson.build +++ b/meson.build -@@ -981,7 +981,8 @@ if cc.links('''#include <sys/syscall.h> +@@ -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') 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 similarity index 93% rename from meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch rename to meta/recipes-core/glib-2.0/files/0010-Do-not-hardcode-python-path-into-various-tools.patch index 6dff5179c71..a51c186b004 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,4 +1,4 @@ -From 50636758c73e5e61212a8f801c6c602b8aab5ba7 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] Do not hardcode python path into various tools @@ -32,7 +32,7 @@ index aa5af43..56e8e2e 100755 # pylint: disable=too-many-lines, missing-docstring, invalid-name diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in -index 353e53a..8ed6c39 100755 +index e10b910..4b619f8 100755 --- a/gobject/glib-mkenums.in +++ b/gobject/glib-mkenums.in @@ -1,4 +1,4 @@ diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common b/meta/recipes-core/glib-2.0/files/meson.cross.d/common similarity index 100% rename from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common rename to meta/recipes-core/glib-2.0/files/meson.cross.d/common diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-glibc similarity index 100% rename from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc rename to meta/recipes-core/glib-2.0/files/meson.cross.d/common-glibc diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-linux b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-linux similarity index 100% rename from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-linux rename to meta/recipes-core/glib-2.0/files/meson.cross.d/common-linux diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-mingw b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-mingw similarity index 100% rename from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-mingw rename to meta/recipes-core/glib-2.0/files/meson.cross.d/common-mingw diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-musl b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-musl similarity index 100% rename from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-musl rename to meta/recipes-core/glib-2.0/files/meson.cross.d/common-musl diff --git a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/meta/recipes-core/glib-2.0/files/relocate-modules.patch similarity index 86% rename from meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch rename to meta/recipes-core/glib-2.0/files/relocate-modules.patch index 3e79bbf6796..d6e9019f396 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch +++ b/meta/recipes-core/glib-2.0/files/relocate-modules.patch @@ -1,4 +1,4 @@ -From f40e89b3852df37959606ee13b1a14ade81fa886 Mon Sep 17 00:00:00 2001 +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 @@ -18,10 +18,10 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> 1 file changed, 7 deletions(-) diff --git a/gio/giomodule.c b/gio/giomodule.c -index 17fabe6..8021208 100644 +index 1e14955..3c09bb5 100644 --- a/gio/giomodule.c +++ b/gio/giomodule.c -@@ -1271,11 +1271,6 @@ get_gio_module_dir (void) +@@ -1259,11 +1259,6 @@ get_gio_module_dir (void) g_free (install_dir); #else module_dir = g_strdup (GIO_MODULE_DIR); @@ -33,7 +33,7 @@ index 17fabe6..8021208 100644 #include <dlfcn.h> { g_autofree gchar *path = NULL; -@@ -1294,8 +1289,6 @@ get_gio_module_dir (void) +@@ -1282,8 +1277,6 @@ get_gio_module_dir (void) } } } diff --git a/meta/recipes-core/glib-2.0/glib-2.0/run-ptest b/meta/recipes-core/glib-2.0/files/run-ptest similarity index 100% rename from meta/recipes-core/glib-2.0/glib-2.0/run-ptest rename to meta/recipes-core/glib-2.0/files/run-ptest diff --git a/meta/recipes-core/glib-2.0/glib-2.0/skip-timeout.patch b/meta/recipes-core/glib-2.0/files/skip-timeout.patch similarity index 90% rename from meta/recipes-core/glib-2.0/glib-2.0/skip-timeout.patch rename to meta/recipes-core/glib-2.0/files/skip-timeout.patch index cd5ac287c3f..b1c62cc39c8 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/skip-timeout.patch +++ b/meta/recipes-core/glib-2.0/files/skip-timeout.patch @@ -1,4 +1,4 @@ -From bb11d1a4ae77d93ec0743e54077cf0f990243fa6 Mon Sep 17 00:00:00 2001 +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 @@ -16,7 +16,7 @@ Signed-off-by: Ross Burton <ross.burton@arm.com> 1 file changed, 1 deletion(-) diff --git a/glib/tests/timeout.c b/glib/tests/timeout.c -index 1ae3f3a34..85a715b0f 100644 +index 1ae3f3a..85a715b 100644 --- a/glib/tests/timeout.c +++ b/glib/tests/timeout.c @@ -214,7 +214,6 @@ main (int argc, char *argv[]) @@ -27,6 +27,3 @@ index 1ae3f3a34..85a715b0f 100644 return g_test_run (); } --- -2.34.1 - 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 00000000000..7da28382650 --- /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-Switch-from-the-deprecated-distutils-module-to-the-p.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch deleted file mode 100644 index b11c283e6d7..00000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch +++ /dev/null @@ -1,34 +0,0 @@ -From a8eb944a10353403241608a084787f6efcbb2eb7 Mon Sep 17 00:00:00 2001 -From: Jordan Williams <jordan@jwillikers.com> -Date: Fri, 1 Dec 2023 09:53:50 -0600 -Subject: [PATCH] Switch from the deprecated distutils module to the packaging - module - -The distutils module was removed in Python 3.12. - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/6ef967a0f930ce37a8c9b5aff969693b34714291] - -Signed-off-by: Martin Jansa <martin.jansa@gmail.com> ---- - gio/gdbus-2.0/codegen/utils.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gio/gdbus-2.0/codegen/utils.py b/gio/gdbus-2.0/codegen/utils.py -index 0204610..08f1ba9 100644 ---- a/gio/gdbus-2.0/codegen/utils.py -+++ b/gio/gdbus-2.0/codegen/utils.py -@@ -19,7 +19,7 @@ - # - # Author: David Zeuthen <davidz@redhat.com> - --import distutils.version -+import packaging.version - import os - import sys - -@@ -166,4 +166,4 @@ def version_cmp_key(key): - v = str(key[0]) - else: - v = "0" -- return (distutils.version.LooseVersion(v), key[1]) -+ return (packaging.version.Version(v), key[1]) diff --git a/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch b/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch deleted file mode 100644 index bdfbd558999..00000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch +++ /dev/null @@ -1,54 +0,0 @@ -From cce3ae98a2c1966719daabff5a4ec6cf94a846f6 Mon Sep 17 00:00:00 2001 -From: Philip Withnall <pwithnall@gnome.org> -Date: Mon, 26 Feb 2024 16:55:44 +0000 -Subject: [PATCH] tests: Remove variable-length lookbehind tests for GRegex -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -PCRE2 10.43 has now introduced support for variable-length lookbehind, -so these tests now fail if GLib is built against PCRE2 10.43 or higher. - -See -https://github.com/PCRE2Project/pcre2/blob/e8db6fa7137f4c6f66cb87e0a3c9467252ec1ef7/ChangeLog#L94. - -Rather than making the tests conditional on the version of PCRE2 in use, -just remove them. They are mostly testing the PCRE2 code rather than -any code in GLib, so don’t have much value. - -This should fix CI runs on msys2-mingw32, which updated to PCRE2 10.43 2 -days ago. - -Signed-off-by: Philip Withnall <pwithnall@gnome.org> - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/cce3ae98a2c1966719daabff5a4ec6cf94a846f6] -Signed-off-by: Alexander Kanavin <alex@linutronix.de> ---- - glib/tests/regex.c | 10 ---------- - 1 file changed, 10 deletions(-) - -diff --git a/glib/tests/regex.c b/glib/tests/regex.c -index 1082526292..d7a698ec67 100644 ---- a/glib/tests/regex.c -+++ b/glib/tests/regex.c -@@ -1885,16 +1885,6 @@ test_lookbehind (void) - g_match_info_free (match); - g_regex_unref (regex); - -- regex = g_regex_new ("(?<!dogs?|cats?) x", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error); -- g_assert (regex == NULL); -- g_assert_error (error, G_REGEX_ERROR, G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND); -- g_clear_error (&error); -- -- regex = g_regex_new ("(?<=ab(c|de)) foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error); -- g_assert (regex == NULL); -- g_assert_error (error, G_REGEX_ERROR, G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND); -- g_clear_error (&error); -- - regex = g_regex_new ("(?<=abc|abde)foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error); - g_assert (regex); - g_assert_no_error (error); --- -GitLab - - diff --git a/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch b/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch deleted file mode 100644 index 4f38509da6f..00000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch +++ /dev/null @@ -1,361 +0,0 @@ -From ce840b6b111e1e109e511f6833d6aa419e2b723a Mon Sep 17 00:00:00 2001 -From: Philip Withnall <philip@tecnocode.co.uk> -Date: Tue, 23 Jan 2024 11:16:52 +0000 -Subject: [PATCH] Merge branch '2887-memory-monitor-tests' into 'main' - -tests: Fix race condition in memory-monitor-dbus.test - -Closes #2887 - -See merge request GNOME/glib!3844 - -Hopefully these commits fix the occasional failures we've been seeing: -https://bugzilla.yoctoproject.org/show_bug.cgi?id=15362 - -Upstream-Status: Backport -Signed-off-by: Ross Burton <ross.burton@arm.com> ---- - gio/tests/memory-monitor-dbus.py.in | 64 +++++++++++++------- - gio/tests/memory-monitor-portal.py.in | 54 ++++++++++------- - gio/tests/power-profile-monitor-dbus.py.in | 35 ++++++----- - gio/tests/power-profile-monitor-portal.py.in | 34 ++++++----- - 4 files changed, 113 insertions(+), 74 deletions(-) - -diff --git a/gio/tests/memory-monitor-dbus.py.in b/gio/tests/memory-monitor-dbus.py.in -index bf32918..7aae01e 100755 ---- a/gio/tests/memory-monitor-dbus.py.in -+++ b/gio/tests/memory-monitor-dbus.py.in -@@ -16,7 +16,6 @@ import sys - import subprocess - import fcntl - import os --import time - - import taptestrunner - -@@ -57,53 +56,74 @@ try: - fcntl.fcntl(self.p_mock.stdout, fcntl.F_SETFL, flags | os.O_NONBLOCK) - self.last_warning = -1 - self.dbusmock = dbus.Interface(self.obj_lmm, dbusmock.MOCK_IFACE) -+ -+ try: -+ self.wait_for_bus_object('org.freedesktop.LowMemoryMonitor', -+ '/org/freedesktop/LowMemoryMonitor', -+ system_bus=True) -+ except: -+ raise -+ - self.memory_monitor = Gio.MemoryMonitor.dup_default() -+ assert("GMemoryMonitorDBus" in str(self.memory_monitor)) - self.memory_monitor.connect("low-memory-warning", self.memory_warning_cb) - self.mainloop = GLib.MainLoop() - self.main_context = self.mainloop.get_context() - -+ # The LowMemoryMonitor API is stateless: it doesn’t expose any -+ # properties, just a warning signal. Emit the signal in a loop until -+ # the GMemoryMonitor instance has initialised and synchronised to -+ # the right state. -+ def emit_warning(level): -+ self.dbusmock.EmitWarning(level) -+ return GLib.SOURCE_CONTINUE -+ -+ idle_id = GLib.idle_add(emit_warning, 0) -+ while self.last_warning != 0: -+ self.main_context.iteration(True) -+ GLib.source_remove(idle_id) -+ - def tearDown(self): - self.p_mock.terminate() - self.p_mock.wait() - -- def assertEventually(self, condition, message=None, timeout=50): -+ def assertEventually(self, condition, message=None, timeout=5): - '''Assert that condition function eventually returns True. - -- Timeout is in deciseconds, defaulting to 50 (5 seconds). message is -+ Timeout is in seconds, defaulting to 5 seconds. message is - printed on failure. - ''' -- while timeout >= 0: -- context = GLib.MainContext.default() -- while context.iteration(False): -- pass -- if condition(): -- break -- timeout -= 1 -- time.sleep(0.1) -- else: -- self.fail(message or 'timed out waiting for ' + str(condition)) -+ if not message: -+ message = 'timed out waiting for ' + str(condition) -+ -+ def timed_out_cb(message): -+ self.fail(message) -+ return GLib.SOURCE_REMOVE -+ -+ timeout_source = GLib.timeout_source_new_seconds(timeout) -+ timeout_source.set_callback(timed_out_cb, message) -+ timeout_source.attach(self.main_context) -+ -+ while not condition(): -+ self.main_context.iteration(True) -+ -+ timeout_source.destroy() - - def memory_warning_cb(self, monitor, level): -+ print("Received memory warning signal, level", level) - self.last_warning = level - self.main_context.wakeup() - - def test_low_memory_warning_signal(self): - '''LowMemoryWarning signal''' - -- # Wait 2 seconds -- timeout = 2 -- while timeout > 0: -- time.sleep(0.5) -- timeout -= 0.5 -- self.main_context.iteration(False) -- - self.dbusmock.EmitWarning(100) - # Wait 2 seconds or until warning -- self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 20) -+ self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 2) - - self.dbusmock.EmitWarning(255) - # Wait 2 seconds or until warning -- self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 20) -+ self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 2) - - except ImportError as e: - @unittest.skip("Cannot import %s" % e.name) -diff --git a/gio/tests/memory-monitor-portal.py.in b/gio/tests/memory-monitor-portal.py.in -index 748cee8..f570508 100755 ---- a/gio/tests/memory-monitor-portal.py.in -+++ b/gio/tests/memory-monitor-portal.py.in -@@ -16,7 +16,6 @@ import sys - import subprocess - import fcntl - import os --import time - - import taptestrunner - -@@ -80,26 +79,44 @@ try: - self.mainloop = GLib.MainLoop() - self.main_context = self.mainloop.get_context() - -+ # The LowMemoryMonitor API is stateless: it doesn’t expose any -+ # properties, just a warning signal. Emit the signal in a loop until -+ # the GMemoryMonitor instance has initialised and synchronised to -+ # the right state. -+ def emit_warning(level): -+ self.dbusmock.EmitWarning(level) -+ return GLib.SOURCE_CONTINUE -+ -+ idle_id = GLib.idle_add(self.emit_warning, 0) -+ while self.last_warning != 0: -+ self.main_context.iteration(True) -+ GLib.source_remove(idle_id) -+ - def tearDown(self): - self.p_mock.terminate() - self.p_mock.wait() - -- def assertEventually(self, condition, message=None, timeout=50): -+ def assertEventually(self, condition, message=None, timeout=5): - '''Assert that condition function eventually returns True. - -- Timeout is in deciseconds, defaulting to 50 (5 seconds). message is -+ Timeout is in seconds, defaulting to 5 seconds. message is - printed on failure. - ''' -- while timeout >= 0: -- context = GLib.MainContext.default() -- while context.iteration(False): -- pass -- if condition(): -- break -- timeout -= 1 -- time.sleep(0.1) -- else: -- self.fail(message or 'timed out waiting for ' + str(condition)) -+ if not message: -+ message = 'timed out waiting for ' + str(condition) -+ -+ def timed_out_cb(message): -+ self.fail(message) -+ return GLib.SOURCE_REMOVE -+ -+ timeout_source = GLib.timeout_source_new_seconds(timeout) -+ timeout_source.set_callback(timed_out_cb, message) -+ timeout_source.attach(self.main_context) -+ -+ while not condition(): -+ self.main_context.iteration(True) -+ -+ timeout_source.destroy() - - def portal_memory_warning_cb(self, monitor, level): - self.last_warning = level -@@ -108,20 +125,13 @@ try: - def test_low_memory_warning_portal_signal(self): - '''LowMemoryWarning signal''' - -- # Wait 2 seconds -- timeout = 2 -- while timeout > 0: -- time.sleep(0.5) -- timeout -= 0.5 -- self.main_context.iteration(False) -- - self.dbusmock.EmitWarning(100) - # Wait 2 seconds or until warning -- self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 20) -+ self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 2) - - self.dbusmock.EmitWarning(255) - # Wait 2 seconds or until warning -- self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 20) -+ self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 2) - - except ImportError as e: - @unittest.skip("Cannot import %s" % e.name) -diff --git a/gio/tests/power-profile-monitor-dbus.py.in b/gio/tests/power-profile-monitor-dbus.py.in -index 06e594f..f955afc 100755 ---- a/gio/tests/power-profile-monitor-dbus.py.in -+++ b/gio/tests/power-profile-monitor-dbus.py.in -@@ -16,7 +16,6 @@ import sys - import subprocess - import fcntl - import os --import time - - import taptestrunner - -@@ -58,6 +57,7 @@ try: - self.power_saver_enabled = False - self.dbus_props = dbus.Interface(self.obj_ppd, dbus.PROPERTIES_IFACE) - self.power_profile_monitor = Gio.PowerProfileMonitor.dup_default() -+ assert("GPowerProfileMonitorDBus" in str(self.power_profile_monitor)) - self.power_profile_monitor.connect("notify::power-saver-enabled", self.power_saver_enabled_cb) - self.mainloop = GLib.MainLoop() - self.main_context = self.mainloop.get_context() -@@ -66,22 +66,27 @@ try: - self.p_mock.terminate() - self.p_mock.wait() - -- def assertEventually(self, condition, message=None, timeout=50): -+ def assertEventually(self, condition, message=None, timeout=5): - '''Assert that condition function eventually returns True. - -- Timeout is in deciseconds, defaulting to 50 (5 seconds). message is -+ Timeout is in seconds, defaulting to 5 seconds. message is - printed on failure. - ''' -- while timeout >= 0: -- context = GLib.MainContext.default() -- while context.iteration(False): -- pass -- if condition(): -- break -- timeout -= 1 -- time.sleep(0.1) -- else: -- self.fail(message or 'timed out waiting for ' + str(condition)) -+ if not message: -+ message = 'timed out waiting for ' + str(condition) -+ -+ def timed_out_cb(message): -+ self.fail(message) -+ return GLib.SOURCE_REMOVE -+ -+ timeout_source = GLib.timeout_source_new_seconds(timeout) -+ timeout_source.set_callback(timed_out_cb, message) -+ timeout_source.attach(self.main_context) -+ -+ while not condition(): -+ self.main_context.iteration(True) -+ -+ timeout_source.destroy() - - def power_saver_enabled_cb(self, spec, data): - self.power_saver_enabled = self.power_profile_monitor.get_power_saver_enabled() -@@ -92,10 +97,10 @@ try: - - self.assertEqual(self.power_profile_monitor.get_power_saver_enabled(), False) - self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('power-saver', variant_level=1)) -- self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 10) -+ self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 1) - - self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('balanced', variant_level=1)) -- self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 10) -+ self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 1) - - except ImportError as e: - @unittest.skip("Cannot import %s" % e.name) -diff --git a/gio/tests/power-profile-monitor-portal.py.in b/gio/tests/power-profile-monitor-portal.py.in -index 09e9a45..ad2abf6 100755 ---- a/gio/tests/power-profile-monitor-portal.py.in -+++ b/gio/tests/power-profile-monitor-portal.py.in -@@ -16,7 +16,6 @@ import sys - import subprocess - import fcntl - import os --import time - - import taptestrunner - -@@ -90,22 +89,27 @@ try: - self.p_mock.terminate() - self.p_mock.wait() - -- def assertEventually(self, condition, message=None, timeout=50): -+ def assertEventually(self, condition, message=None, timeout=5): - '''Assert that condition function eventually returns True. - -- Timeout is in deciseconds, defaulting to 50 (5 seconds). message is -+ Timeout is in seconds, defaulting to 5 seconds. message is - printed on failure. - ''' -- while timeout >= 0: -- context = GLib.MainContext.default() -- while context.iteration(False): -- pass -- if condition(): -- break -- timeout -= 1 -- time.sleep(0.1) -- else: -- self.fail(message or 'timed out waiting for ' + str(condition)) -+ if not message: -+ message = 'timed out waiting for ' + str(condition) -+ -+ def timed_out_cb(message): -+ self.fail(message) -+ return GLib.SOURCE_REMOVE -+ -+ timeout_source = GLib.timeout_source_new_seconds(timeout) -+ timeout_source.set_callback(timed_out_cb, message) -+ timeout_source.attach(self.main_context) -+ -+ while not condition(): -+ self.main_context.iteration(True) -+ -+ timeout_source.destroy() - - def power_saver_enabled_cb(self, spec, data): - self.power_saver_enabled = self.power_profile_monitor.get_power_saver_enabled() -@@ -116,10 +120,10 @@ try: - - self.assertEqual(self.power_profile_monitor.get_power_saver_enabled(), False) - self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('power-saver', variant_level=1)) -- self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 10) -+ self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 1) - - self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('balanced', variant_level=1)) -- self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 10) -+ self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 1) - - def test_power_profile_power_saver_enabled_portal_default(self): - '''power-saver-enabled property default value''' diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb deleted file mode 100644 index b1669ead75e..00000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb +++ /dev/null @@ -1,57 +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://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-Switch-from-the-deprecated-distutils-module-to-the-p.patch \ - file://memory-monitor.patch \ - file://fix-regex.patch \ - file://skip-timeout.patch \ - " -SRC_URI:append:class-native = " file://relocate-modules.patch \ - file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \ - " - -SRC_URI[sha256sum] = "24b8e0672dca120cc32d394bccb85844e732e04fe75d18bb0573b2dbc7548f63" - -# 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-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 00000000000..e22810a55bc --- /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 fac8875d844..692857892ff 100644 --- a/meta/recipes-core/glib-2.0/glib.inc +++ b/meta/recipes-core/glib-2.0/glib.inc @@ -28,21 +28,25 @@ PACKAGES += "${PN}-codegen ${PN}-utils" LEAD_SONAME = "libglib-2.0.*" -inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages gobject-introspection-data - -GTKDOC_MESON_OPTION = "gtk_doc" +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 ??= "libmount \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'introspection', '', d)} \ ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" +PACKAGECONFIG:class-native = "" + PACKAGECONFIG[libmount] = "-Dlibmount=enabled,-Dlibmount=disabled,util-linux" -PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native" +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" -EXTRA_OEMESON = "-Ddtrace=false -Dsystemtap=false" +EXTRA_OEMESON = "-Ddtrace=false -Dsystemtap=false \ + ${@'-Dgir_dir_prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \ +" do_configure:prepend() { sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in @@ -53,14 +57,16 @@ FILES:${PN} = "${libdir}/lib*${SOLIBS} \ ${libexecdir}/*gio-querymodules \ ${libexecdir}/*gio-launch-desktop \ ${datadir}/glib-2.0/dtds \ - ${datadir}/glib-2.0/schemas" - + ${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 \ ${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 \ @@ -204,3 +210,57 @@ RDEPENDS:${PN}-ptest:append:libc-glibc = "\ 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 \ + " + +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) +} diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch index c9e1afffd0f..510bc426d1b 100644 --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch @@ -1,4 +1,4 @@ -From aeb5532f8be42d42f4e8725ca42e239b36983a4d Mon Sep 17 00:00:00 2001 +From 4e1aa0ddbc43403ff24f644b4c4912b737290c41 Mon Sep 17 00:00:00 2001 From: Sascha Silbe <x-yo17@se-silbe.de> Date: Fri, 8 Jun 2018 13:55:10 +0200 Subject: [PATCH] Relocate the repository directory for native builds @@ -14,14 +14,13 @@ cache or sstate mirror). Upstream-Status: Inappropriate Signed-off-by: Sascha Silbe <x-yo17@se-silbe.de> - --- girepository/girepository.c | 15 +++++++++++++-- girepository/meson.build | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/girepository/girepository.c b/girepository/girepository.c -index a0754f4..2d456f9 100644 +index 12eaf36..876382c 100644 --- a/girepository/girepository.c +++ b/girepository/girepository.c @@ -21,6 +21,8 @@ @@ -42,7 +41,7 @@ index a0754f4..2d456f9 100644 /** * SECTION:girepository * @short_description: GObject Introspection repository manager -@@ -215,9 +219,16 @@ init_globals (void) +@@ -222,9 +226,16 @@ init_globals (void) g_free (custom_dirs); } @@ -62,10 +61,10 @@ index a0754f4..2d456f9 100644 typelib_search_path = g_slist_prepend (typelib_search_path, typelib_dir); diff --git a/girepository/meson.build b/girepository/meson.build -index 786749a..15cf2a9 100644 +index 5ced59e..a580d9b 100644 --- a/girepository/meson.build +++ b/girepository/meson.build -@@ -45,7 +45,7 @@ girepo_internals_lib = static_library('girepository-internals', +@@ -47,7 +47,7 @@ girepo_internals_lib = static_library('girepository-internals', ], c_args: gi_hidden_visibility_cflags + custom_c_args, include_directories : configinc, diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.78.1.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.80.1.bb similarity index 96% rename from meta/recipes-gnome/gobject-introspection/gobject-introspection_1.78.1.bb rename to meta/recipes-gnome/gobject-introspection/gobject-introspection_1.80.1.bb index 05a08a50e08..582ac248fda 100644 --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.78.1.bb +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.80.1.bb @@ -16,7 +16,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \ SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \ " -SRC_URI[sha256sum] = "bd7babd99af7258e76819e45ba4a6bc399608fe762d83fde3cac033c50841bb4" +SRC_URI[sha256sum] = "a1df7c424e15bda1ab639c00e9051b9adf5cea1a9e512f8a603b53cd199bc6d8" SRC_URI:append:class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch" @@ -26,7 +26,9 @@ GTKDOC_MESON_OPTION = "gtk_doc" MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner" -DEPENDS += " libffi zlib glib-2.0 python3 flex-native bison-native" +DEPENDS += " libffi zlib python3 flex-native bison-native" +DEPENDS:append:class-native = " glib-2.0" +DEPENDS:append:class-target = " glib-2.0-initial" # target build needs qemu to run temporary introspection binaries created # on the fly by g-ir-scanner and a native version of itself to run @@ -189,6 +191,6 @@ FILES:${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/" FILES:${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a" # setuptools can be removed when upstream removes all uses of distutils -RDEPENDS:${PN} = "python3-pickle python3-xml python3-setuptools" +RDEPENDS:${PN} = "python3-pickle python3-xml python3-setuptools glib-2.0" BBCLASSEXTEND = "native"