mirror of
https://git.yoctoproject.org/poky
synced 2026-04-18 12:32:12 +02:00
glib/gobject-introspection: update 2.78.4 -> 2.80.0, 1.78.1 -> 1.80.0
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. (From OE-Core rev: 57c307536f67dcfb5d4a5488ca1e77a943ba1368) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
521a3f727c
commit
393ff34301
@@ -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>"
|
||||
|
||||
@@ -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',
|
||||
@@ -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
|
||||
@@ -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,
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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,
|
||||
@@ -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,
|
||||
)
|
||||
@@ -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
|
||||
@@ -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')
|
||||
@@ -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 @@
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
5
meta/recipes-core/glib-2.0/glib-2.0-initial_2.80.0.bb
Normal file
5
meta/recipes-core/glib-2.0/glib-2.0-initial_2.80.0.bb
Normal file
@@ -0,0 +1,5 @@
|
||||
require glib.inc
|
||||
PACKAGES = ""
|
||||
PACKAGECONFIG = ""
|
||||
|
||||
|
||||
@@ -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])
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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'''
|
||||
@@ -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)
|
||||
}
|
||||
1
meta/recipes-core/glib-2.0/glib-2.0_2.80.0.bb
Normal file
1
meta/recipes-core/glib-2.0/glib-2.0_2.80.0.bb
Normal file
@@ -0,0 +1 @@
|
||||
require glib.inc
|
||||
@@ -28,21 +28,24 @@ 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:append:class-target = " ${@'-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 +56,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 +209,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)
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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"
|
||||
Reference in New Issue
Block a user