* [Buildroot] [PATCH v5 0/7] libglib2 2.82 series with bootstrap
@ 2024-10-10 13:53 Fiona Klute via buildroot
2024-10-10 13:53 ` [Buildroot] [PATCH v5 1/7] package/gobject-introspection: don't depend on cairo Fiona Klute via buildroot
` (6 more replies)
0 siblings, 7 replies; 14+ messages in thread
From: Fiona Klute via buildroot @ 2024-10-10 13:53 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Asaf Kahlon, Fabrice Fontaine, James Hilliard,
Yann E . MORIN, Fiona Klute (WIWA)
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
Hello All!
Since 2.79.0 libglib2 needs to be bootstrapped without introspection
support before gobject-introspection can be built, the added
libglib2-bootstrap sub-package takes care of that. See NEWS:
https://gitlab.gnome.org/GNOME/glib/-/blob/17d1bf3c4962d942feea0830aeee6833104fef5d/NEWS#L429-438
Here's a defconfig that can be used to test Network-Manager i11n from
python in qemu:
BR2_aarch64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_GLOBAL_PATCH_DIR="board/qemu/patches"
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
BR2_PER_PACKAGE_DIRECTORIES=y
BR2_INIT_SYSTEMD=y
BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.32"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config"
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON_GOBJECT=y
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
BR2_PACKAGE_NETWORK_MANAGER=y
BR2_PACKAGE_NETWORK_MANAGER_TUI=y
BR2_PACKAGE_NETWORK_MANAGER_CLI=y
BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y
# BR2_PACKAGE_SYSTEMD_PSTORE is not set
# BR2_PACKAGE_SYSTEMD_HOSTNAMED is not set
# BR2_PACKAGE_SYSTEMD_MYHOSTNAME is not set
# BR2_PACKAGE_SYSTEMD_NETWORKD is not set
# BR2_PACKAGE_SYSTEMD_RESOLVED is not set
# BR2_PACKAGE_SYSTEMD_TIMEDATED is not set
# BR2_PACKAGE_SYSTEMD_TIMESYNCD is not set
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="256M"
# BR2_TARGET_ROOTFS_TAR is not set
That can be run with the command line in:
board/qemu/aarch64-virt/readme.txt
By running the test script there:
https://networkmanager.dev/docs/developers/
Thanks in advance for the review,
Fiona
Yann
Changes v4 -> v5 (Fiona):
* package/gobject-introspection: Drop patch backported for
compatibility with current setuptools with update.
* Drop "Fixes" tag in patch 3, already fixed by said backported patch.
Series v4 for reference:
https://patchwork.ozlabs.org/project/buildroot/list/?series=425356
Changes v3 -> v4 (Fiona):
* Bump gobject-introspection to 1.82.0, fixes build with current
setuptools. Note this failure happens with the current (master)
package, too.
Fixes: http://autobuild.buildroot.net/results/839/839c2bea1167fad5e66f91f7f584fd3d2c31ab46
* Bump package/json-glib to 1.10 to fix a build failure due to
g-ir-scanner warnings
* Bump python-gobject to 3.50.0
* Patch 3: fix typos and outdated URL in libglib2.hash
Series v3 for reference:
https://patchwork.ozlabs.org/project/buildroot/list/?series=421875
Changes v2 -> v3: (Yann):
* split homepage and musl support to their own patches
* introduce qemu wrapper
* extend/rewite commit log for versions bumps
* add defconfig to test
Changes v1 -> v2:
* Update libglib2 to 2.82.0 instead of 2.80.4, drop one more patch
* make building introspection data for libglib2 conditional on
BR2_PACKAGE_GOBJECT_INTROSPECTION=y
* skip bootstrap for target package when building without
introspection, do not depend on Qemu in that case
Fiona Klute (WIWA) (4):
package/{gobject-introspection, libglib2}: bump to {1.82.0, 2.82.0}
package/python-gobject: bump to version 3.50.0
package/network-manager: optional gobject-introspection
package/json-glib: bump to version 1.10.0
Yann E. MORIN (3):
package/gobject-introspection: don't depend on cairo
package/gobject-introspection: update homepage
package/gobject-introspection: works with musl now
...-dependency-on-distutils.msvccompile.patch | 104 ------------------
package/gobject-introspection/Config.in | 10 +-
.../gobject-introspection.hash | 4 +-
.../gobject-introspection.mk | 22 ++--
package/json-glib/json-glib.hash | 4 +-
package/json-glib/json-glib.mk | 2 +-
...rmat-in-gio-gunixconnection.c-part-2.patch | 93 ----------------
...documentation-generation-with-gtk_do.patch | 96 ----------------
...ion-of-a-system-provided-proxy-libin.patch | 53 ---------
...05-meson-try-iconv-in-libintl-lookup.patch | 53 ---------
.../0006-link-with-latomic-when-needed.patch | 52 ---------
...girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch | 38 ++++---
package/libglib2/Config.in | 4 +
package/libglib2/libglib2-bootstrap/2.82.0 | 1 +
package/libglib2/libglib2-bootstrap/Config.in | 9 ++
.../libglib2-bootstrap.hash | 1 +
.../libglib2-bootstrap/libglib2-bootstrap.mk | 77 +++++++++++++
package/libglib2/libglib2-qemu-wrapper.in | 9 ++
package/libglib2/libglib2.hash | 4 +-
package/libglib2/libglib2.mk | 30 ++++-
package/network-manager/network-manager.mk | 7 +-
package/python-gobject/Config.in | 8 +-
package/python-gobject/python-gobject.hash | 4 +-
package/python-gobject/python-gobject.mk | 4 +-
24 files changed, 187 insertions(+), 502 deletions(-)
delete mode 100644 package/gobject-introspection/0003-giscanner-remove-dependency-on-distutils.msvccompile.patch
delete mode 100644 package/libglib2/0002-Fix-error-format-in-gio-gunixconnection.c-part-2.patch
delete mode 100644 package/libglib2/0003-meson-wrap-html-documentation-generation-with-gtk_do.patch
delete mode 100644 package/libglib2/0004-meson-Fix-detection-of-a-system-provided-proxy-libin.patch
delete mode 100644 package/libglib2/0005-meson-try-iconv-in-libintl-lookup.patch
delete mode 100644 package/libglib2/0006-link-with-latomic-when-needed.patch
rename package/libglib2/{ => 2.82.0}/0001-meson.build-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch (53%)
create mode 120000 package/libglib2/libglib2-bootstrap/2.82.0
create mode 100644 package/libglib2/libglib2-bootstrap/Config.in
create mode 120000 package/libglib2/libglib2-bootstrap/libglib2-bootstrap.hash
create mode 100644 package/libglib2/libglib2-bootstrap/libglib2-bootstrap.mk
create mode 100644 package/libglib2/libglib2-qemu-wrapper.in
--
2.45.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v5 1/7] package/gobject-introspection: don't depend on cairo
2024-10-10 13:53 [Buildroot] [PATCH v5 0/7] libglib2 2.82 series with bootstrap Fiona Klute via buildroot
@ 2024-10-10 13:53 ` Fiona Klute via buildroot
2024-10-29 20:35 ` Thomas Petazzoni via buildroot
2024-10-10 13:53 ` [Buildroot] [PATCH v5 2/7] package/gobject-introspection: update homepage Fiona Klute via buildroot
` (5 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Fiona Klute via buildroot @ 2024-10-10 13:53 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Adam Duskett, Asaf Kahlon, Fabrice Fontaine,
James Hilliard, Yann E . MORIN, Fiona Klute
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
Currently, goi depends on cairo.
So far, this would not cause any issue, but once we bump libglib2 and
goi, that would cause a circular dependency chain, where goi would
depend on cairo, cairo on libglib2, and libglib2 back on goi...
However, in goi, cairo is only needed to build some tests, and thus we
do not need that dependency, even before we update goi+libglib2.
Thanks to Fiona for helping sorting the issue out.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Adam Duskett <adam.duskett@amarulasolutions.com>
Cc: Fiona Klute (WIWA) <fiona.klute@gmx.de>
---
package/gobject-introspection/gobject-introspection.mk | 5 -----
1 file changed, 5 deletions(-)
diff --git a/package/gobject-introspection/gobject-introspection.mk b/package/gobject-introspection/gobject-introspection.mk
index ad72af22a2..af27781cf7 100644
--- a/package/gobject-introspection/gobject-introspection.mk
+++ b/package/gobject-introspection/gobject-introspection.mk
@@ -47,12 +47,7 @@ GOBJECT_INTROSPECTION_CONF_OPTS = \
-Dbuild_introspection_data=true \
-Ddoctool=disabled
-ifeq ($(BR2_PACKAGE_CAIRO),y)
-GOBJECT_INTROSPECTION_DEPENDENCIES += cairo
-GOBJECT_INTROSPECTION_CONF_OPTS += -Dcairo=enabled
-else
GOBJECT_INTROSPECTION_CONF_OPTS += -Dcairo=disabled
-endif
# GI_SCANNER_DISABLE_CACHE=1 prevents g-ir-scanner from writing cache data to ${HOME}
GOBJECT_INTROSPECTION_CONF_ENV = \
--
2.45.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v5 2/7] package/gobject-introspection: update homepage
2024-10-10 13:53 [Buildroot] [PATCH v5 0/7] libglib2 2.82 series with bootstrap Fiona Klute via buildroot
2024-10-10 13:53 ` [Buildroot] [PATCH v5 1/7] package/gobject-introspection: don't depend on cairo Fiona Klute via buildroot
@ 2024-10-10 13:53 ` Fiona Klute via buildroot
2024-10-29 20:36 ` Thomas Petazzoni via buildroot
2024-10-10 13:53 ` [Buildroot] [PATCH v5 3/7] package/{gobject-introspection, libglib2}: bump to {1.82.0, 2.82.0} Fiona Klute via buildroot
` (4 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Fiona Klute via buildroot @ 2024-10-10 13:53 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Asaf Kahlon, Fabrice Fontaine, James Hilliard,
Yann E . MORIN, Fiona Klute
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
The homepage has moved, the previous one links to the new URL.
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
[yann.morin.1998@free.fr: split into its own patch]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
package/gobject-introspection/Config.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/gobject-introspection/Config.in b/package/gobject-introspection/Config.in
index 42250eb776..345118745f 100644
--- a/package/gobject-introspection/Config.in
+++ b/package/gobject-introspection/Config.in
@@ -36,7 +36,7 @@ config BR2_PACKAGE_GOBJECT_INTROSPECTION
language bindings can read this metadata and automatically
provide bindings to call into the C library.
- https://wiki.gnome.org/action/show/Projects/GObjectIntrospection
+ https://gi.readthedocs.io/
comment "gobject-introspection needs python3"
depends on !BR2_PACKAGE_PYTHON3
--
2.45.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v5 3/7] package/{gobject-introspection, libglib2}: bump to {1.82.0, 2.82.0}
2024-10-10 13:53 [Buildroot] [PATCH v5 0/7] libglib2 2.82 series with bootstrap Fiona Klute via buildroot
2024-10-10 13:53 ` [Buildroot] [PATCH v5 1/7] package/gobject-introspection: don't depend on cairo Fiona Klute via buildroot
2024-10-10 13:53 ` [Buildroot] [PATCH v5 2/7] package/gobject-introspection: update homepage Fiona Klute via buildroot
@ 2024-10-10 13:53 ` Fiona Klute via buildroot
2024-10-28 21:00 ` Thomas Petazzoni via buildroot
2024-10-10 13:53 ` [Buildroot] [PATCH v5 4/7] package/gobject-introspection: works with musl now Fiona Klute via buildroot
` (3 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Fiona Klute via buildroot @ 2024-10-10 13:53 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Asaf Kahlon, Fabrice Fontaine, James Hilliard,
Yann E . MORIN, Fiona Klute (WIWA)
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
There are a lot of interconnected changes in these releases:
Since 2.79.0, the introspection (i11n) data for libglib2 was moved out
of gobject-introspection (GOI) and into libglib2 itself, thus building
libglib2 with i11n needs tools provided by GOI [0].
However, GOI needs libglib2, but it is content with a libglib2 that
does not have i11n. So we introduce a new package, libglib2-bootstrap,
that provides a minimalist libglib2 that is enough to build GOI, build
GOI, then build the final, complete libglib2 with i11n.
However, not every package needs i11n, so we make that optional: if GOI
is enabled, libglib2 will have i11n, otherwise it won't.
This means the dependency ordering has changed: GOI used to
build-depend on libglib2, but now that's the other way around. This
will cause issues with packages that build-depend only on GOI and then
expect a libglib2 with i11n; those will only get a basic libglib2
without i11n at build time, but a full one at runtime. Those packages
will have to be fixed to also include a build dependency on libglib2.
The version bump between libglib2 and GOI must be done in lock-step,
because newer GOI does not support an older libglib2 and, as seen
above, newer libglib2 has the data previously provided by older GOI.
As a consequence of now generating its own i11n data, libglib2 needs to
be able to run target programs during the build, to extract data layout
and generate i11n data, a bit like GOI does [1]. So we provide a qemu
wrapper similar to the one in nodejs-src, and use that as meson's
exe_wrapper.
Except for our first patch, the other libglib2 patches were backports,
and are present upstream already, so we can drop them; the first patch
needs being refreshed.
We also move the remaining patch to a versioned sub-directory, so that
it is easier to share the patches between libglib2-bootstrap and
libglib2, should we need to add more patches in the future.
Drop the "giscanner: remove dependency on distutils.msvccompile"
patch, included upstream.
[0] https://gitlab.gnome.org/GNOME/glib/-/blob/2.79.0/NEWS?ref_type=tags#L8-17
[1] technically, this should not be needed if libglib2 only uses the
wrappers provided by GOI: g-ir-scanner et al. However, its
meson.build explicitly checks that it can run generated binaries
through the exe_wrapper. Investigating if that's really needed is
left as an exercise for the interested party: in practice, we will
have to be able to run via host-qemu, so this does not add any build
time overhead.
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
Changes v4 -> v5 (Fiona):
* Drop patch backported for compatibility with current setuptools with
update.
* Drop "Fixes" tag, already fixed by said backported patch.
Changes v3 -> v4 (Fiona):
* Bump gobject-introspection to 1.82.0, fixes build with current
setuptools. Note this failure happens with the current (master)
package, too.
Fixes: http://autobuild.buildroot.net/results/839/839c2bea1167fad5e66f91f7f584fd3d2c31ab46
* fix typos and outdated URL in libglib2.hash
Changes v2 -> v3: (Yann)
* add Kconfig symbol for libglib2-bootstrap
* duplicate deps and conf opts for libglib2-bootstrap, don't filter
those from libglib2
* use a qemu wrapper for libglib2
* select libglib2-bootstrap from goi rather than libglib2
* extend/rewrite commit log with exlpanations for the above changes
* don't update GOI homepage (ditto)
* drop musl support (moved in own commit)
Changes v1 -> v2:
* Update libglib2 to 2.82.0 instead of 2.80.4, drop one more patch
* make building introspection data for libglib2 conditional on
BR2_PACKAGE_GOBJECT_INTROSPECTION=y
* skip bootstrap for target package when building without
introspection, do not depend on Qemu in that case
...-dependency-on-distutils.msvccompile.patch | 104 ------------------
package/gobject-introspection/Config.in | 2 +-
.../gobject-introspection.hash | 4 +-
.../gobject-introspection.mk | 17 ++-
...rmat-in-gio-gunixconnection.c-part-2.patch | 93 ----------------
...documentation-generation-with-gtk_do.patch | 96 ----------------
...ion-of-a-system-provided-proxy-libin.patch | 53 ---------
...05-meson-try-iconv-in-libintl-lookup.patch | 53 ---------
.../0006-link-with-latomic-when-needed.patch | 52 ---------
...girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch | 38 ++++---
package/libglib2/Config.in | 4 +
package/libglib2/libglib2-bootstrap/2.82.0 | 1 +
package/libglib2/libglib2-bootstrap/Config.in | 9 ++
.../libglib2-bootstrap.hash | 1 +
.../libglib2-bootstrap/libglib2-bootstrap.mk | 77 +++++++++++++
package/libglib2/libglib2-qemu-wrapper.in | 9 ++
package/libglib2/libglib2.hash | 4 +-
package/libglib2/libglib2.mk | 30 ++++-
18 files changed, 166 insertions(+), 481 deletions(-)
delete mode 100644 package/gobject-introspection/0003-giscanner-remove-dependency-on-distutils.msvccompile.patch
delete mode 100644 package/libglib2/0002-Fix-error-format-in-gio-gunixconnection.c-part-2.patch
delete mode 100644 package/libglib2/0003-meson-wrap-html-documentation-generation-with-gtk_do.patch
delete mode 100644 package/libglib2/0004-meson-Fix-detection-of-a-system-provided-proxy-libin.patch
delete mode 100644 package/libglib2/0005-meson-try-iconv-in-libintl-lookup.patch
delete mode 100644 package/libglib2/0006-link-with-latomic-when-needed.patch
rename package/libglib2/{ => 2.82.0}/0001-meson.build-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch (53%)
create mode 120000 package/libglib2/libglib2-bootstrap/2.82.0
create mode 100644 package/libglib2/libglib2-bootstrap/Config.in
create mode 120000 package/libglib2/libglib2-bootstrap/libglib2-bootstrap.hash
create mode 100644 package/libglib2/libglib2-bootstrap/libglib2-bootstrap.mk
create mode 100644 package/libglib2/libglib2-qemu-wrapper.in
diff --git a/package/gobject-introspection/0003-giscanner-remove-dependency-on-distutils.msvccompile.patch b/package/gobject-introspection/0003-giscanner-remove-dependency-on-distutils.msvccompile.patch
deleted file mode 100644
index a3231a5ad6..0000000000
--- a/package/gobject-introspection/0003-giscanner-remove-dependency-on-distutils.msvccompile.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From c8310afa42dfa598097eb0e003cef7965b5ed7be Mon Sep 17 00:00:00 2001
-From: Christoph Reiter <reiter.christoph@gmail.com>
-Date: Wed, 28 Aug 2024 21:26:02 +0200
-Subject: [PATCH] giscanner: remove dependency on distutils.msvccompiler
-
-It was removed with setuptools 74.0.0. Since we still depend on the
-MSVCCompiler class use new_compiler() to get it some other way.
-
-Remove any reference to MSVC9Compiler, which was for Visual Studio 2008
-which we no longer support anyway.
-
-Fixes #515
-
-Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
-Upstream: https://gitlab.gnome.org/GNOME/gobject-introspection/-/commit/a2139dba59eac283a7f543ed737f038deebddc19
----
- giscanner/ccompiler.py | 7 +++----
- giscanner/msvccompiler.py | 14 +++++++-------
- 2 files changed, 10 insertions(+), 11 deletions(-)
-
-diff --git a/giscanner/ccompiler.py b/giscanner/ccompiler.py
-index 2912fe0e..766c9a36 100644
---- a/giscanner/ccompiler.py
-+++ b/giscanner/ccompiler.py
-@@ -26,7 +26,6 @@ import tempfile
- import sys
- import distutils
-
--from distutils.msvccompiler import MSVCCompiler
- from distutils.unixccompiler import UnixCCompiler
- from distutils.cygwinccompiler import Mingw32CCompiler
- from distutils.sysconfig import get_config_vars
-@@ -167,7 +166,7 @@ class CCompiler(object):
- # Now, create the distutils ccompiler instance based on the info we have.
- if compiler_name == 'msvc':
- # For MSVC, we need to create a instance of a subclass of distutil's
-- # MSVC9Compiler class, as it does not provide a preprocess()
-+ # MSVCCompiler class, as it does not provide a preprocess()
- # implementation
- from . import msvccompiler
- self.compiler = msvccompiler.get_msvc_compiler()
-@@ -453,7 +452,7 @@ class CCompiler(object):
- return self.compiler.linker_exe
-
- def check_is_msvc(self):
-- return isinstance(self.compiler, MSVCCompiler)
-+ return self.compiler.compiler_type == "msvc"
-
- # Private APIs
- def _set_cpp_options(self, options):
-@@ -479,7 +478,7 @@ class CCompiler(object):
- # macros for compiling using distutils
- # get dropped for MSVC builds, so
- # escape the escape character.
-- if isinstance(self.compiler, MSVCCompiler):
-+ if self.check_is_msvc():
- macro_value = macro_value.replace('\"', '\\\"')
- macros.append((macro_name, macro_value))
- elif option.startswith('-U'):
-diff --git a/giscanner/msvccompiler.py b/giscanner/msvccompiler.py
-index 0a543982..e333a80f 100644
---- a/giscanner/msvccompiler.py
-+++ b/giscanner/msvccompiler.py
-@@ -19,30 +19,30 @@
- #
-
- import os
--import distutils
-+from typing import Type
-
- from distutils.errors import DistutilsExecError, CompileError
--from distutils.ccompiler import CCompiler, gen_preprocess_options
-+from distutils.ccompiler import CCompiler, gen_preprocess_options, new_compiler
- from distutils.dep_util import newer
-
- # Distutil's MSVCCompiler does not provide a preprocess()
- # Implementation, so do our own here.
-
-
-+DistutilsMSVCCompiler: Type = type(new_compiler(compiler="msvc"))
-+
-+
- def get_msvc_compiler():
- return MSVCCompiler()
-
-
--class MSVCCompiler(distutils.msvccompiler.MSVCCompiler):
-+class MSVCCompiler(DistutilsMSVCCompiler):
-
- def __init__(self, verbose=0, dry_run=0, force=0):
-- super(distutils.msvccompiler.MSVCCompiler, self).__init__()
-+ super(DistutilsMSVCCompiler, self).__init__()
- CCompiler.__init__(self, verbose, dry_run, force)
- self.__paths = []
- self.__arch = None # deprecated name
-- if os.name == 'nt':
-- if isinstance(self, distutils.msvc9compiler.MSVCCompiler):
-- self.__version = distutils.msvc9compiler.VERSION
- self.initialized = False
- self.preprocess_options = None
- if self.check_is_clang_cl():
---
-2.34.1
-
diff --git a/package/gobject-introspection/Config.in b/package/gobject-introspection/Config.in
index 345118745f..b8a9e244a6 100644
--- a/package/gobject-introspection/Config.in
+++ b/package/gobject-introspection/Config.in
@@ -26,7 +26,7 @@ config BR2_PACKAGE_GOBJECT_INTROSPECTION
select BR2_PACKAGE_HOST_QEMU
select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE
select BR2_PACKAGE_LIBFFI
- select BR2_PACKAGE_LIBGLIB2
+ select BR2_PACKAGE_LIBGLIB2_BOOTSTRAP
select BR2_PACKAGE_ZLIB
help
GObject introspection is a middleware layer between C
diff --git a/package/gobject-introspection/gobject-introspection.hash b/package/gobject-introspection/gobject-introspection.hash
index 063b96275d..10528ad70d 100644
--- a/package/gobject-introspection/gobject-introspection.hash
+++ b/package/gobject-introspection/gobject-introspection.hash
@@ -1,5 +1,5 @@
-# From https://download.gnome.org/sources/gobject-introspection/1.76/gobject-introspection-1.76.1.sha256sum
-sha256 196178bf64345501dcdc4d8469b36aa6fe80489354efe71cb7cb8ab82a3738bf gobject-introspection-1.76.1.tar.xz
+# From https://download.gnome.org/sources/gobject-introspection/1.82/gobject-introspection-1.82.0.sha256sum
+sha256 0f5a4c1908424bf26bc41e9361168c363685080fbdb87a196c891c8401ca2f09 gobject-introspection-1.82.0.tar.xz
sha256 faa2e414bd5f91d2d2c39e85c7cc3f2ccde05c3306f96b404f8ed8cf0266c279 COPYING.LGPL
sha256 4c1cedcbb4a12ea964f1160dbbf36099e5a59b96129a99a1a1a61f2cb09271fb COPYING.GPL
sha256 23f82cbc9808cdd8e902df38271434040ce0562ca382ac2a96f5e3bf807b6d31 giscanner/scannerlexer.l
diff --git a/package/gobject-introspection/gobject-introspection.mk b/package/gobject-introspection/gobject-introspection.mk
index af27781cf7..dc8bb41157 100644
--- a/package/gobject-introspection/gobject-introspection.mk
+++ b/package/gobject-introspection/gobject-introspection.mk
@@ -4,27 +4,32 @@
#
################################################################################
-GOBJECT_INTROSPECTION_VERSION_MAJOR = 1.76
-GOBJECT_INTROSPECTION_VERSION = $(GOBJECT_INTROSPECTION_VERSION_MAJOR).1
+GOBJECT_INTROSPECTION_VERSION_MAJOR = 1.82
+GOBJECT_INTROSPECTION_VERSION = $(GOBJECT_INTROSPECTION_VERSION_MAJOR).0
GOBJECT_INTROSPECTION_SITE = https://download.gnome.org/sources/gobject-introspection/$(GOBJECT_INTROSPECTION_VERSION_MAJOR)
GOBJECT_INTROSPECTION_SOURCE = gobject-introspection-$(GOBJECT_INTROSPECTION_VERSION).tar.xz
GOBJECT_INTROSPECTION_INSTALL_STAGING = YES
GOBJECT_INTROSPECTION_LICENSE = LGPL-2.0+, GPL-2.0+, BSD-2-Clause
GOBJECT_INTROSPECTION_LICENSE_FILES = COPYING.LGPL COPYING.GPL giscanner/scannerlexer.l
+# gobject-introspection depends on the bootstrap version of libglib2
+# during the build because the full version depends on
+# gobject-introspection (applies to target and host packages
+# alike). "select BR2_PACKAGE_LIBGLIB2" in Config.in ensures the full
+# libglib2 gets installed together with gobject-introspection.
GOBJECT_INTROSPECTION_DEPENDENCIES = \
host-autoconf-archive \
host-gobject-introspection \
host-qemu \
libffi \
- libglib2 \
+ libglib2-bootstrap \
python3 \
zlib
HOST_GOBJECT_INTROSPECTION_DEPENDENCIES = \
host-bison \
host-flex \
- host-libglib2 \
+ host-libglib2-bootstrap \
host-python3
# g-ir-scanner will default to /usr/bin/ld for linking if this is not set.
@@ -118,7 +123,9 @@ define GOBJECT_INTROSPECTION_INSTALL_WRAPPERS
# causes the host /usr/share being used instead of $(STAGING_DIR)/usr/share.
# Change datadir to $(libdir)/../share which will prefix $(STAGING_DIR)
# to the correct location.
- $(SED) "s%^datadir=.*%datadir=\$${libdir}/../share%g" \
+ # Since we use libdir to define datadir, we must define datadir after
+ # libdir is defined.
+ $(SED) "\%^datadir=%d; s%^\(libdir=.*\)$$%\1\ndatadir=\$${libdir}/../share%" \
$(STAGING_DIR)/usr/lib/pkgconfig/gobject-introspection-1.0.pc
# By default, girdir and typelibdir use datadir and libdir as their prefix,
diff --git a/package/libglib2/0002-Fix-error-format-in-gio-gunixconnection.c-part-2.patch b/package/libglib2/0002-Fix-error-format-in-gio-gunixconnection.c-part-2.patch
deleted file mode 100644
index 6075bacb06..0000000000
--- a/package/libglib2/0002-Fix-error-format-in-gio-gunixconnection.c-part-2.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 4ae8606b6f80f9764e1f0a82cea7e23c8af487ae Mon Sep 17 00:00:00 2001
-From: James Knight <james.d.knight@live.com>
-Date: Thu, 20 Apr 2023 23:41:32 -0400
-Subject: [PATCH] Fix error format in gio/gunixconnection.c (part 2)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Update a series of error messages to use `g_set_error_literal` instead
-of `g_set_error`. This should prevent `format-nonliteral` compiler
-issues when `-Werror` is configured:
-
- ../gio/gunixconnection.c: In function ‘g_unix_connection_receive_fd’:
- ../gio/gunixconnection.c:183:9: error: format not a string literal, argument types not checked [-Werror=format-nonliteral]
- 183 | nscm);
- | ^~~~
- ../gio/gunixconnection.c:217:20: error: format not a string literal, argument types not checked [-Werror=format-nonliteral]
- 217 | nfd);
- | ^~~
- ../gio/gunixconnection.c: In function ‘g_unix_connection_receive_credentials’:
- ../gio/gunixconnection.c:601:24: error: format not a string literal, argument types not checked [-Werror=format-nonliteral]
- 601 | nscm);
- | ^~~~
-
-This is similar to a previous change [1] made to `gunixconnection.c`.
-
-[1]: 44b3d5d80445234041f6c59feb89645f7102c3a4
-
-Signed-off-by: James Knight <james.d.knight@live.com>
-Upstream: backport from upstream https://gitlab.gnome.org/GNOME/glib/-/commit/4ae8606b6f80f9764e1f0a82cea7e23c8af487ae
----
- gio/gunixconnection.c | 31 ++++++++++++++-----------------
- 1 file changed, 14 insertions(+), 17 deletions(-)
-
-diff --git a/gio/gunixconnection.c b/gio/gunixconnection.c
-index b3f2b1c04b0abdf7136918585ae4cea8970a88bb..c012fcbfe00b69e9da609c7b626229db98e931ac 100644
---- a/gio/gunixconnection.c
-+++ b/gio/gunixconnection.c
-@@ -176,11 +176,10 @@ g_unix_connection_receive_fd (GUnixConnection *connection,
- {
- gint i;
-
-- g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
-- ngettext("Expecting 1 control message, got %d",
-- "Expecting 1 control message, got %d",
-- nscm),
-- nscm);
-+ g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED,
-+ ngettext ("Expecting 1 control message, got %d",
-+ "Expecting 1 control message, got %d",
-+ nscm));
-
- for (i = 0; i < nscm; i++)
- g_object_unref (scms[i]);
-@@ -210,11 +209,10 @@ g_unix_connection_receive_fd (GUnixConnection *connection,
- {
- gint i;
-
-- g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
-- ngettext("Expecting one fd, but got %d\n",
-- "Expecting one fd, but got %d\n",
-- nfd),
-- nfd);
-+ g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED,
-+ ngettext ("Expecting one fd, but got %d\n",
-+ "Expecting one fd, but got %d\n",
-+ nfd));
-
- for (i = 0; i < nfd; i++)
- close (fds[i]);
-@@ -592,13 +590,12 @@ g_unix_connection_receive_credentials (GUnixConnection *connection,
- {
- if (nscm != 1)
- {
-- g_set_error (error,
-- G_IO_ERROR,
-- G_IO_ERROR_FAILED,
-- ngettext("Expecting 1 control message, got %d",
-- "Expecting 1 control message, got %d",
-- nscm),
-- nscm);
-+ g_set_error_literal (error,
-+ G_IO_ERROR,
-+ G_IO_ERROR_FAILED,
-+ ngettext ("Expecting 1 control message, got %d",
-+ "Expecting 1 control message, got %d",
-+ nscm));
- goto out;
- }
-
---
-2.39.1.windows.1
-
diff --git a/package/libglib2/0003-meson-wrap-html-documentation-generation-with-gtk_do.patch b/package/libglib2/0003-meson-wrap-html-documentation-generation-with-gtk_do.patch
deleted file mode 100644
index 0fa15ad164..0000000000
--- a/package/libglib2/0003-meson-wrap-html-documentation-generation-with-gtk_do.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 0fa17ec3c7152cf0e1cbf965acf1426ac203bb1d Mon Sep 17 00:00:00 2001
-From: James Knight <james.d.knight@live.com>
-Date: Thu, 27 Apr 2023 20:23:30 -0400
-Subject: [PATCH] meson: wrap html documentation generation with gtk_doc option
-
-By default, if a host environment has the `rst2html5` application
-available, builds will automatically perform some HTML documentation
-generation from the documentation's glib reference content (e.g.
-creating `gvariant-specification-1.0.html`). The creation of this
-documentation is not required for all use cases.
-
-This commit tweaks the building of the HTML-based GLIB specification
-document to be guarded by `gtk_doc`.
-
-Signed-off-by: James Knight <james.d.knight@live.com>
-Upstream: https://gitlab.gnome.org/GNOME/glib/-/commit/0fa17ec3c7152cf0e1cbf965acf1426ac203bb1d
-[yann.morin.1998@free.fr: backport from upstream]
-Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
----
- docs/reference/glib/meson.build | 58 +++++++++++++++++----------------
- 1 file changed, 30 insertions(+), 28 deletions(-)
-
-diff --git a/docs/reference/glib/meson.build b/docs/reference/glib/meson.build
-index 114de49da..3cfff2f0b 100644
---- a/docs/reference/glib/meson.build
-+++ b/docs/reference/glib/meson.build
-@@ -113,35 +113,37 @@ if get_option('man')
- endforeach
- endif
-
--# GVariant specification is currently standalone
--rst2html5 = find_program('rst2html5', 'rst2html5.py', required: false)
-+if get_option('gtk_doc')
-+ # GVariant specification is currently standalone
-+ rst2html5 = find_program('rst2html5', 'rst2html5.py', required: false)
-
--if rst2html5.found()
-- spec_path = glib_datadir / 'doc' / 'glib-2.0'
-+ if rst2html5.found()
-+ spec_path = glib_datadir / 'doc' / 'glib-2.0'
-
-- figures = files(
-- 'gvariant-byte-boundaries.svg',
-- 'gvariant-integer-and-string-structure.svg',
-- 'gvariant-integer-array.svg',
-- 'gvariant-string-array.svg',
-- )
-+ figures = files(
-+ 'gvariant-byte-boundaries.svg',
-+ 'gvariant-integer-and-string-structure.svg',
-+ 'gvariant-integer-array.svg',
-+ 'gvariant-string-array.svg',
-+ )
-
-- custom_target('gvariant-specification-1.0',
-- input: 'gvariant-specification-1.0.rst',
-- output: 'gvariant-specification-1.0.html',
-- command: [
-- rst2html5,
-- '@INPUT@',
-- ],
-- capture: true,
-- install: true,
-- install_dir: spec_path,
-- install_tag: 'doc',
-- depend_files: figures,
-- )
-+ custom_target('gvariant-specification-1.0',
-+ input: 'gvariant-specification-1.0.rst',
-+ output: 'gvariant-specification-1.0.html',
-+ command: [
-+ rst2html5,
-+ '@INPUT@',
-+ ],
-+ capture: true,
-+ install: true,
-+ install_dir: spec_path,
-+ install_tag: 'doc',
-+ depend_files: figures,
-+ )
-
-- install_data(figures,
-- install_dir : spec_path,
-- install_tag : 'doc',
-- )
--endif
-\ No newline at end of file
-+ install_data(figures,
-+ install_dir : spec_path,
-+ install_tag : 'doc',
-+ )
-+ endif
-+endif
---
-2.25.1
-
diff --git a/package/libglib2/0004-meson-Fix-detection-of-a-system-provided-proxy-libin.patch b/package/libglib2/0004-meson-Fix-detection-of-a-system-provided-proxy-libin.patch
deleted file mode 100644
index 57404705d0..0000000000
--- a/package/libglib2/0004-meson-Fix-detection-of-a-system-provided-proxy-libin.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 2ca9f53327308e85e376bcbef7f8259a6331a453 Mon Sep 17 00:00:00 2001
-From: Nirbheek Chauhan <nirbheek@centricular.com>
-Date: Thu, 8 Sep 2022 02:36:33 +0530
-Subject: [PATCH] meson: Fix detection of a system-provided proxy-libintl
-
-proxy-libintl defines ngettext() as a define in the header that points
-to the actual symbol in the library which is g_libintl_ngettext().
-Same with bind_textdomain_codeset().
-
-Upstream: https://gitlab.gnome.org/GNOME/glib/-/commit/32249a22fc39319651e7c23442d37ec837f05764
-Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
----
- meson.build | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 0cbc9689f..de0bee5a3 100644
---- a/meson.build
-+++ b/meson.build
-@@ -2089,6 +2089,7 @@ libz_dep = dependency('zlib')
- # FIXME: glib-gettext.m4 has much more checks to detect broken/uncompatible
- # implementations. This could be extended if issues are found in some platforms.
- libintl_deps = []
-+libintl_prefix = '#include <libintl.h>'
- libintl = dependency('intl', required: false, allow_fallback: false)
- if libintl.found()
- # libintl supports different threading APIs, which may not
-@@ -2100,11 +2101,11 @@ if libintl.found()
- #
- # Meson's builtin dependency lookup as of 0.60.0 doesn't check for
- # pthread, so we do this manually here.
-- if cc.has_function('ngettext', dependencies : libintl)
-+ if cc.has_function('ngettext', dependencies : libintl, prefix: libintl_prefix)
- libintl_deps += [libintl]
- else
- libintl_pthread = cc.find_library('pthread', required : false)
-- if libintl_pthread.found() and cc.has_function('ngettext', dependencies : [libintl, libintl_pthread])
-+ if libintl_pthread.found() and cc.has_function('ngettext', dependencies : [libintl, libintl_pthread], prefix: libintl_prefix)
- libintl_deps += [libintl, libintl_pthread]
- else
- libintl = disabler()
-@@ -2113,7 +2114,7 @@ if libintl.found()
- endif
-
- if libintl.found()
-- have_bind_textdomain_codeset = cc.has_function('bind_textdomain_codeset', dependencies: libintl_deps)
-+ have_bind_textdomain_codeset = cc.has_function('bind_textdomain_codeset', dependencies: libintl_deps, prefix: libintl_prefix)
- else
- libintl = dependency('intl', allow_fallback: true)
- assert(libintl.type_name() == 'internal')
---
-2.34.1
-
diff --git a/package/libglib2/0005-meson-try-iconv-in-libintl-lookup.patch b/package/libglib2/0005-meson-try-iconv-in-libintl-lookup.patch
deleted file mode 100644
index a342ee95d6..0000000000
--- a/package/libglib2/0005-meson-try-iconv-in-libintl-lookup.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From fe7f54d4f339b7948c961b60729f620f2eaec716 Mon Sep 17 00:00:00 2001
-From: Jan200101 <sentrycraft123@gmail.com>
-Date: Tue, 23 May 2023 23:42:37 +0200
-Subject: [PATCH] meson: try iconv in libintl lookup
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This was originally removed in !2734 but still appears to be required for
-some MinGW setups, such as the `x86_64-w64-mingw32.static` target in
-[mxe](https://github.com/mxe/mxe).
-
-Currently, this configuration fails the libintl internal assert on line
-2128, as on this platform `ngettext()` is only found inside libiconv.
-
-This commit will look up iconv potentially twice, once as `libiconv` and
-potentially once as `libintl_iconv`. This is what the code did before
-!2734 landed, so it’s known to work reliably on a number of platforms.
-
-Upstream: https://gitlab.gnome.org/GNOME/glib/-/commit/a497d5be122f193dcf8679334308333bbbc14a71
-Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
----
- meson.build | 13 +++++++++----
- 1 file changed, 9 insertions(+), 4 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index de0bee5a3..653f9eddf 100644
---- a/meson.build
-+++ b/meson.build
-@@ -2104,11 +2104,16 @@ if libintl.found()
- if cc.has_function('ngettext', dependencies : libintl, prefix: libintl_prefix)
- libintl_deps += [libintl]
- else
-- libintl_pthread = cc.find_library('pthread', required : false)
-- if libintl_pthread.found() and cc.has_function('ngettext', dependencies : [libintl, libintl_pthread], prefix: libintl_prefix)
-- libintl_deps += [libintl, libintl_pthread]
-+ libintl_iconv = cc.find_library('iconv', required : false)
-+ if libintl_iconv.found() and cc.has_function('ngettext', dependencies : [libintl, libintl_iconv])
-+ libintl_deps += [libintl, libintl_iconv]
- else
-- libintl = disabler()
-+ libintl_pthread = cc.find_library('pthread', required : false)
-+ if libintl_pthread.found() and cc.has_function('ngettext', dependencies : [libintl, libintl_pthread], prefix: libintl_prefix)
-+ libintl_deps += [libintl, libintl_pthread]
-+ else
-+ libintl = disabler()
-+ endif
- endif
- endif
- endif
---
-2.34.1
-
diff --git a/package/libglib2/0006-link-with-latomic-when-needed.patch b/package/libglib2/0006-link-with-latomic-when-needed.patch
deleted file mode 100644
index 3b5a071010..0000000000
--- a/package/libglib2/0006-link-with-latomic-when-needed.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 4e6dc4dee0e1c6407113597180d9616b4f275f94 Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Thu, 2 May 2024 14:02:17 +0200
-Subject: [PATCH] link with -latomic when needed
-
-Some architecture such as sparc and some flavors of arm needs -latomic
-to avoid the following build failure:
-
-gthread-posix.c:(.text+0xda8): undefined reference to `__atomic_compare_exchange_4'
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Upstream: https://gitlab.gnome.org/GNOME/glib/-/commit/4e6dc4dee0e1c6407113597180d9616b4f275f94
----
- glib/meson.build | 1 +
- meson.build | 9 +++++++++
- 2 files changed, 10 insertions(+)
-
-diff --git a/glib/meson.build b/glib/meson.build
-index 24cbb664d4..b2dd569e1e 100644
---- a/glib/meson.build
-+++ b/glib/meson.build
-@@ -419,6 +419,7 @@ libglib = library('glib-2.0',
- include_directories : configinc,
- link_with: [charset_lib, gnulib_lib],
- dependencies : [
-+ atomic_dep,
- gnulib_libm_dependency,
- libiconv,
- libintl_deps,
-diff --git a/meson.build b/meson.build
-index 46c5aa200a..8b42940558 100644
---- a/meson.build
-+++ b/meson.build
-@@ -2233,6 +2233,15 @@ libffi_dep = dependency('libffi', version : '>= 3.0.0')
-
- libz_dep = dependency('zlib')
-
-+libatomic_test_code = '''
-+ int main (int argc, char ** argv) {
-+ return 0;
-+ }'''
-+atomic_dep = []
-+if cc.links(libatomic_test_code, args : '-latomic', name : 'check for -latomic')
-+ atomic_dep = cc.find_library('atomic')
-+endif
-+
- # First check in libc, fallback to libintl, and as last chance build
- # proxy-libintl subproject.
- # FIXME: glib-gettext.m4 has much more checks to detect broken/uncompatible
---
-2.44.0
-
diff --git a/package/libglib2/0001-meson.build-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch b/package/libglib2/2.82.0/0001-meson.build-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch
similarity index 53%
rename from package/libglib2/0001-meson.build-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch
rename to package/libglib2/2.82.0/0001-meson.build-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch
index 8f87671167..c6135b15a1 100644
--- a/package/libglib2/0001-meson.build-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch
+++ b/package/libglib2/2.82.0/0001-meson.build-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch
@@ -1,4 +1,4 @@
-From 03e9cae3f3a7e2bbd5110f1ce2739601571bc024 Mon Sep 17 00:00:00 2001
+From 3fcd5f431dee9909b6bcbd9b8b61d4b1fe4b5f92 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Fri, 12 Nov 2021 18:01:05 +0100
Subject: [PATCH] meson.build: add girdir to gio-2.0.pc and glib-2.0.pc
@@ -16,6 +16,8 @@ Fixes:
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Dario: make the patch to be applied with fuzz factor 0]
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
+[Fiona: refresh for glib 2.80.4]
+Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
Upstream: Never submitted
---
gio/meson.build | 1 +
@@ -23,29 +25,29 @@ Upstream: Never submitted
2 files changed, 2 insertions(+)
diff --git a/gio/meson.build b/gio/meson.build
-index 462606f3b56c..e6b736167b8d 100644
+index 59c2b0f..5120537 100644
--- a/gio/meson.build
+++ b/gio/meson.build
-@@ -880,6 +880,7 @@ pkg.generate(libgio,
- variables : ['datadir=' + join_paths('${prefix}', get_option('datadir')),
- 'schemasdir=' + join_paths('${datadir}', schemas_subdir),
- 'bindir=' + join_paths('${prefix}', get_option('bindir')),
-+ 'girdir=' + join_paths('${libdir}', '../share/gir-1.0'),
- 'giomoduledir=' + pkgconfig_giomodulesdir,
- 'gio=' + join_paths('${bindir}', 'gio'),
- 'gio_querymodules=@0@'.format(pkgconfig_multiarch_bindir / 'gio-querymodules'),
+@@ -885,6 +885,7 @@ pkg.generate(libgio,
+ variables : [
+ 'schemasdir=' + '${datadir}' / schemas_subdir,
+ 'dtdsdir=' + '${datadir}' / dtds_subdir,
++ 'girdir=' + join_paths('${libdir}', '../share/gir-1.0'),
+ 'giomoduledir=' + pkgconfig_giomodulesdir,
+ 'gio=' + '${bindir}' / 'gio',
+ 'gio_querymodules=' + pkgconfig_multiarch_bindir / 'gio-querymodules',
diff --git a/glib/meson.build b/glib/meson.build
-index da76fc005e46..cde2edb197c7 100644
+index d2efeba..a69532b 100644
--- a/glib/meson.build
+++ b/glib/meson.build
-@@ -441,6 +441,7 @@ pkg.generate(libglib,
+@@ -447,6 +447,7 @@ pkg.generate(libglib,
subdirs : ['glib-2.0'],
extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags,
- variables : ['bindir=' + join_paths('${prefix}', get_option('bindir')),
-+ 'girdir=' + join_paths('${libdir}', '../share/gir-1.0'),
- 'glib_genmarshal=' + join_paths('${bindir}', 'glib-genmarshal'),
- 'gobject_query=' + join_paths('${bindir}', 'gobject-query'),
- 'glib_mkenums=' + join_paths('${bindir}', 'glib-mkenums')],
+ variables : [
++ 'girdir=' + join_paths('${libdir}', '../share/gir-1.0'),
+ 'glib_genmarshal=' + '${bindir}' / 'glib-genmarshal',
+ 'gobject_query=' + '${bindir}' / 'gobject-query',
+ 'glib_mkenums=' + '${bindir}' / 'glib-mkenums',
--
-2.43.0
+2.45.2
diff --git a/package/libglib2/Config.in b/package/libglib2/Config.in
index 077d7d66e8..393a7f4405 100644
--- a/package/libglib2/Config.in
+++ b/package/libglib2/Config.in
@@ -3,6 +3,8 @@ config BR2_PACKAGE_LIBGLIB2
depends on BR2_USE_WCHAR # gettext
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # fork()
+ select BR2_PACKAGE_HOST_QEMU if BR2_PACKAGE_GOBJECT_INTROSPECTION
+ select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE if BR2_PACKAGE_GOBJECT_INTROSPECTION
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
select BR2_PACKAGE_LIBFFI
select BR2_PACKAGE_PCRE2
@@ -15,3 +17,5 @@ config BR2_PACKAGE_LIBGLIB2
comment "libglib2 needs a toolchain w/ wchar, threads"
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+
+source "package/libglib2/libglib2-bootstrap/Config.in"
diff --git a/package/libglib2/libglib2-bootstrap/2.82.0 b/package/libglib2/libglib2-bootstrap/2.82.0
new file mode 120000
index 0000000000..28b180f102
--- /dev/null
+++ b/package/libglib2/libglib2-bootstrap/2.82.0
@@ -0,0 +1 @@
+../2.82.0
\ No newline at end of file
diff --git a/package/libglib2/libglib2-bootstrap/Config.in b/package/libglib2/libglib2-bootstrap/Config.in
new file mode 100644
index 0000000000..189de9a4f2
--- /dev/null
+++ b/package/libglib2/libglib2-bootstrap/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_LIBGLIB2_BOOTSTRAP
+ bool
+ depends on BR2_USE_WCHAR # gettext
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_USE_MMU # fork()
+ select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+ select BR2_PACKAGE_LIBFFI
+ select BR2_PACKAGE_PCRE2
+ select BR2_PACKAGE_ZLIB
diff --git a/package/libglib2/libglib2-bootstrap/libglib2-bootstrap.hash b/package/libglib2/libglib2-bootstrap/libglib2-bootstrap.hash
new file mode 120000
index 0000000000..f182b8b6ec
--- /dev/null
+++ b/package/libglib2/libglib2-bootstrap/libglib2-bootstrap.hash
@@ -0,0 +1 @@
+../libglib2.hash
\ No newline at end of file
diff --git a/package/libglib2/libglib2-bootstrap/libglib2-bootstrap.mk b/package/libglib2/libglib2-bootstrap/libglib2-bootstrap.mk
new file mode 100644
index 0000000000..72a32bd825
--- /dev/null
+++ b/package/libglib2/libglib2-bootstrap/libglib2-bootstrap.mk
@@ -0,0 +1,77 @@
+################################################################################
+#
+# libglib2-bootstrap
+#
+################################################################################
+
+# Since version 2.79.0 libglib2 needs gobject-introspection to build
+# with introspection support. As gobject-introspection requires
+# libglib2 to build this means a bootstrap process is needed, as
+# described in the NEWS entry:
+#
+# 1. build libglib2 without introspection (this bootstrap package)
+# 2. build build gobject-introspection
+# 3. build libglib2 with introspection (the main libglib2 package).
+#
+# The bootstrap package is an implementation detail that nothing
+# except gobject-introspection should depend on.
+
+LIBGLIB2_BOOTSTRAP_VERSION_MAJOR = $(LIBGLIB2_VERSION_MAJOR)
+LIBGLIB2_BOOTSTRAP_VERSION = $(LIBGLIB2_VERSION)
+LIBGLIB2_BOOTSTRAP_SOURCE = $(LIBGLIB2_SOURCE)
+LIBGLIB2_BOOTSTRAP_SITE = $(LIBGLIB2_SITE)
+LIBGLIB2_BOOTSTRAP_LICENSE = $(LIBGLIB2_LICENSE)
+LIBGLIB2_BOOTSTRAP_LICENSE_FILES = $(LIBGLIB2_LICENSE_FILES)
+LIBGLIB2_BOOTSTRAP_CPE_ID_VENDOR = $(LIBGLIB2_CPE_ID_VENDOR)
+LIBGLIB2_BOOTSTRAP_CPE_ID_PRODUCT = $(LIBGLIB2_CPE_ID_PRODUCT)
+LIBGLIB2_BOOTSTRAP_INSTALL_STAGING = YES
+LIBGLIB2_BOOTSTRAP_DL_SUBDIR = libglib2
+
+LIBGLIB2_BOOTSTRAP_CFLAGS = $(LIBGLIB2_CFLAGS)
+LIBGLIB2_BOOTSTRAP_LDFLAGS = $(LIBGLIB2_LDFLAGS)
+
+LIBGLIB2_BOOTSTRAP_DEPENDENCIES = \
+ libffi \
+ pcre2 \
+ zlib \
+ $(TARGET_NLS_DEPENDENCIES)
+
+LIBGLIB2_BOOTSTRAP_CONF_OPTS = \
+ -Dglib_debug=disabled \
+ -Dlibelf=disabled \
+ -Dgio_module_dir=/usr/lib/gio/modules \
+ -Dtests=false \
+ -Doss_fuzz=disabled \
+ -Dintrospection=disabled \
+ -Dselinux=disabled \
+ -Dxattr=false \
+ -Dlibmount=disabled
+
+LIBGLIB2_BOOTSTRAP_MESON_EXTRA_PROPERTIES = \
+ have_c99_vsnprintf=true \
+ have_c99_snprintf=true \
+ have_unix98_printf=true
+
+LIBGLIB2_BOOTSTRAP_POST_INSTALL_TARGET_HOOKS = $(LIBGLIB2_POST_INSTALL_TARGET_HOOKS)
+
+HOST_LIBGLIB2_BOOTSTRAP_DEPENDENCIES = \
+ host-gettext \
+ host-libffi \
+ host-pcre2 \
+ host-pkgconf \
+ host-util-linux \
+ host-zlib
+
+HOST_LIBGLIB2_BOOTSTRAP_CONF_OPTS = \
+ -Ddtrace=false \
+ -Dglib_debug=disabled \
+ -Dintrospection=disabled \
+ -Dlibelf=disabled \
+ -Dselinux=disabled \
+ -Dsystemtap=false \
+ -Dxattr=false \
+ -Dtests=false \
+ -Doss_fuzz=disabled
+
+$(eval $(meson-package))
+$(eval $(host-meson-package))
diff --git a/package/libglib2/libglib2-qemu-wrapper.in b/package/libglib2/libglib2-qemu-wrapper.in
new file mode 100644
index 0000000000..7bfbd2eceb
--- /dev/null
+++ b/package/libglib2/libglib2-qemu-wrapper.in
@@ -0,0 +1,9 @@
+#!/usr/bin/env sh
+
+# Pass -r to qemu-user as to trick glibc into not erroring out if the host kernel
+# is older than the target kernel.
+exec @QEMU_USER@ -r @TOOLCHAIN_HEADERS_VERSION@ \
+ @QEMU_USERMODE_ARGS@ \
+ -L "${STAGING_DIR}/" \
+ -E LD_LIBRARY_PATH="${STAGING_DIR}/lib:${STAGING_DIR}/usr/lib/" \
+ "$@"
diff --git a/package/libglib2/libglib2.hash b/package/libglib2/libglib2.hash
index 07ed7635a6..5b5360c818 100644
--- a/package/libglib2/libglib2.hash
+++ b/package/libglib2/libglib2.hash
@@ -1,4 +1,4 @@
-# https://download.gnome.org/sources/glib/2.76/glib-2.76.1.sha256sum
-sha256 43dc0f6a126958f5b454136c4398eab420249c16171a769784486e25f2fda19f glib-2.76.1.tar.xz
+# https://download.gnome.org/sources/glib/2.82/glib-2.82.0.sha256sum
+sha256 f4c82ada51366bddace49d7ba54b33b4e4d6067afa3008e4847f41cb9b5c38d3 glib-2.82.0.tar.xz
# License files, locally calculated
sha256 fa6f36630bb1e0c571d34b2bbdf188d08495c9dbf58f28cac112f303fc1f58fb COPYING
diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk
index c33df70b25..f92c9c77c6 100644
--- a/package/libglib2/libglib2.mk
+++ b/package/libglib2/libglib2.mk
@@ -4,8 +4,8 @@
#
################################################################################
-LIBGLIB2_VERSION_MAJOR = 2.76
-LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).1
+LIBGLIB2_VERSION_MAJOR = 2.82
+LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).0
LIBGLIB2_SOURCE = glib-$(LIBGLIB2_VERSION).tar.xz
LIBGLIB2_SITE = https://download.gnome.org/sources/glib/$(LIBGLIB2_VERSION_MAJOR)
LIBGLIB2_LICENSE = LGPL-2.1+
@@ -25,6 +25,7 @@ endif
HOST_LIBGLIB2_CONF_OPTS = \
-Ddtrace=false \
-Dglib_debug=disabled \
+ -Dintrospection=enabled \
-Dlibelf=disabled \
-Dselinux=disabled \
-Dsystemtap=false \
@@ -38,6 +39,7 @@ LIBGLIB2_DEPENDENCIES = \
HOST_LIBGLIB2_DEPENDENCIES = \
host-gettext \
+ host-gobject-introspection \
host-libffi \
host-pcre2 \
host-pkgconf \
@@ -60,6 +62,24 @@ LIBGLIB2_MESON_EXTRA_PROPERTIES = \
have_c99_snprintf=true \
have_unix98_printf=true
+ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
+LIBGLIB2_CONF_OPTS += -Dintrospection=enabled
+LIBGLIB2_DEPENDENCIES += gobject-introspection host-qemu
+LIBGLIB2_MESON_EXTRA_BINARIES = exe_wrapper='$(@D)/libglib2-qemu-wrapper'
+define LIBGLIB2_INSTALL_QEMUWARPPER
+ $(INSTALL) -D -m 755 $(LIBGLIB2_PKGDIR)/libglib2-qemu-wrapper.in \
+ $(@D)/libglib2-qemu-wrapper
+ $(SED) 's%@QEMU_USER@%$(QEMU_USER)%g; \
+ s%@TOOLCHAIN_HEADERS_VERSION@%$(BR2_TOOLCHAIN_HEADERS_AT_LEAST)%g; \
+ s%@QEMU_USERMODE_ARGS@%$(call qstrip,$(BR2_PACKAGE_HOST_QEMU_USER_MODE_ARGS))%g; \
+ ' \
+ $(@D)/libglib2-qemu-wrapper
+endef
+LIBGLIB2_PRE_CONFIGURE_HOOKS += LIBGLIB2_INSTALL_QEMUWARPPER
+else
+LIBGLIB2_CONF_OPTS += -Dintrospection=disabled
+endif
+
ifeq ($(BR2_PACKAGE_ELFUTILS),y)
LIBGLIB2_DEPENDENCIES += elfutils
endif
@@ -138,3 +158,9 @@ $(eval $(meson-package))
$(eval $(host-meson-package))
LIBGLIB2_HOST_BINARY = $(HOST_DIR)/bin/glib-genmarshal
+
+# Bootstrap is only needed if building with introspection. However
+# introspection is unconditionally enabled for host-libglib2, so the
+# include must happen for the host package even if target libglib2 is
+# built without introspection.
+include package/libglib2/libglib2-bootstrap/libglib2-bootstrap.mk
--
2.45.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v5 4/7] package/gobject-introspection: works with musl now
2024-10-10 13:53 [Buildroot] [PATCH v5 0/7] libglib2 2.82 series with bootstrap Fiona Klute via buildroot
` (2 preceding siblings ...)
2024-10-10 13:53 ` [Buildroot] [PATCH v5 3/7] package/{gobject-introspection, libglib2}: bump to {1.82.0, 2.82.0} Fiona Klute via buildroot
@ 2024-10-10 13:53 ` Fiona Klute via buildroot
2024-10-10 13:53 ` [Buildroot] [PATCH v5 5/7] package/python-gobject: bump to version 3.50.0 Fiona Klute via buildroot
` (2 subsequent siblings)
6 siblings, 0 replies; 14+ messages in thread
From: Fiona Klute via buildroot @ 2024-10-10 13:53 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Asaf Kahlon, Fabrice Fontaine, James Hilliard,
Yann E . MORIN, Fiona Klute
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
Current versions of gobject-introspection build with musl (Alpine
dropped the last compatibility patch with the update to 1.80.1 [0]), so
relax the dependency on glibc.
[0] https://gitlab.alpinelinux.org/alpine/aports/-/commit/528c4ee63970fe6ee733b6ea99ef7a59a8f108ff
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
[yann.morin.1998@free.fr: split off to its own patch]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
package/gobject-introspection/Config.in | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/package/gobject-introspection/Config.in b/package/gobject-introspection/Config.in
index b8a9e244a6..042760b430 100644
--- a/package/gobject-introspection/Config.in
+++ b/package/gobject-introspection/Config.in
@@ -14,7 +14,7 @@ config BR2_PACKAGE_GOBJECT_INTROSPECTION
# can be verified.
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
depends on BR2_HOST_GCC_AT_LEAST_8 # host-qemu
- depends on BR2_TOOLCHAIN_USES_GLIBC
+ depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL
# gobject-introspection does not require python3 to run on the
# target; however, because the tools run in a qemu wrapper, a
# cross-compiled python3 must be installed to staging. As there
@@ -42,9 +42,9 @@ comment "gobject-introspection needs python3"
depends on !BR2_PACKAGE_PYTHON3
depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
-comment "gobject-introspection needs a glibc toolchain, gcc >= 4.9, host gcc >= 8"
+comment "gobject-introspection needs a glibc or musl toolchain, gcc >= 4.9, host gcc >= 8"
depends on BR2_USE_MMU
depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
- depends on !BR2_TOOLCHAIN_USES_GLIBC || \
+ depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
!BR2_HOST_GCC_AT_LEAST_8
--
2.45.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v5 5/7] package/python-gobject: bump to version 3.50.0
2024-10-10 13:53 [Buildroot] [PATCH v5 0/7] libglib2 2.82 series with bootstrap Fiona Klute via buildroot
` (3 preceding siblings ...)
2024-10-10 13:53 ` [Buildroot] [PATCH v5 4/7] package/gobject-introspection: works with musl now Fiona Klute via buildroot
@ 2024-10-10 13:53 ` Fiona Klute via buildroot
2024-10-10 13:53 ` [Buildroot] [PATCH v5 6/7] package/network-manager: optional gobject-introspection Fiona Klute via buildroot
2024-10-10 13:53 ` [Buildroot] [PATCH v5 7/7] package/json-glib: bump to version 1.10.0 Fiona Klute via buildroot
6 siblings, 0 replies; 14+ messages in thread
From: Fiona Klute via buildroot @ 2024-10-10 13:53 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Asaf Kahlon, Fabrice Fontaine, James Hilliard,
Yann E . MORIN, Fiona Klute (WIWA)
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
Current gobject-introspection releases work with musl, so relax the C
library requirement.
Also update the homepage, the old URL now links to the current one.
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
Changes v3 -> v4 (Fiona):
* Bump python-gobject to 3.50.0
package/python-gobject/Config.in | 8 ++++----
package/python-gobject/python-gobject.hash | 4 ++--
package/python-gobject/python-gobject.mk | 4 ++--
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/package/python-gobject/Config.in b/package/python-gobject/Config.in
index 3354535637..d9d73cc5e3 100644
--- a/package/python-gobject/Config.in
+++ b/package/python-gobject/Config.in
@@ -4,17 +4,17 @@ config BR2_PACKAGE_PYTHON_GOBJECT
depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS # gobject-introspection
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # gobject-introspection
depends on BR2_HOST_GCC_AT_LEAST_8 # gobject-introspection -> host-qemu
- depends on BR2_TOOLCHAIN_USES_GLIBC # gobject-introspection
+ depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # gobject-introspection
select BR2_PACKAGE_GOBJECT_INTROSPECTION
select BR2_PACKAGE_LIBGLIB2
help
Python bindings for the GLib/GObject library
- https://wiki.gnome.org/action/show/Projects/PyGObject
+ https://pygobject.gnome.org/
-comment "python-gobject needs a glibc toolchain, gcc >= 4.9, host gcc >= 8"
+comment "python-gobject needs a glibc or musl toolchain, gcc >= 4.9, host gcc >= 8"
depends on BR2_USE_MMU
depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
- depends on !BR2_TOOLCHAIN_USES_GLIBC || \
+ depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
!BR2_HOST_GCC_AT_LEAST_8
diff --git a/package/python-gobject/python-gobject.hash b/package/python-gobject/python-gobject.hash
index 2fb9d38ab0..1dbd40d038 100644
--- a/package/python-gobject/python-gobject.hash
+++ b/package/python-gobject/python-gobject.hash
@@ -1,3 +1,3 @@
-# from https://download.gnome.org/sources/pygobject/3.42/pygobject-3.42.2.sha256sum
-sha256 ade8695e2a7073849dd0316d31d8728e15e1e0bc71d9ff6d1c09e86be52bc957 pygobject-3.42.2.tar.xz
+# from https://download.gnome.org/sources/pygobject/3.50/pygobject-3.50.0.sha256sum
+sha256 8d836e75b5a881d457ee1622cae4a32bcdba28a0ba562193adb3bbb472472212 pygobject-3.50.0.tar.xz
sha256 32434afcc8666ba060e111d715bfdb6c2d5dd8a35fa4d3ab8ad67d8f850d2f2b COPYING
diff --git a/package/python-gobject/python-gobject.mk b/package/python-gobject/python-gobject.mk
index a12ce5c107..001f355844 100644
--- a/package/python-gobject/python-gobject.mk
+++ b/package/python-gobject/python-gobject.mk
@@ -4,8 +4,8 @@
#
################################################################################
-PYTHON_GOBJECT_VERSION_MAJOR = 3.42
-PYTHON_GOBJECT_VERSION = $(PYTHON_GOBJECT_VERSION_MAJOR).2
+PYTHON_GOBJECT_VERSION_MAJOR = 3.50
+PYTHON_GOBJECT_VERSION = $(PYTHON_GOBJECT_VERSION_MAJOR).0
PYTHON_GOBJECT_SOURCE = pygobject-$(PYTHON_GOBJECT_VERSION).tar.xz
PYTHON_GOBJECT_SITE = https://download.gnome.org/sources/pygobject/$(PYTHON_GOBJECT_VERSION_MAJOR)
PYTHON_GOBJECT_LICENSE = LGPL-2.1+
--
2.45.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v5 6/7] package/network-manager: optional gobject-introspection
2024-10-10 13:53 [Buildroot] [PATCH v5 0/7] libglib2 2.82 series with bootstrap Fiona Klute via buildroot
` (4 preceding siblings ...)
2024-10-10 13:53 ` [Buildroot] [PATCH v5 5/7] package/python-gobject: bump to version 3.50.0 Fiona Klute via buildroot
@ 2024-10-10 13:53 ` Fiona Klute via buildroot
2024-10-10 13:53 ` [Buildroot] [PATCH v5 7/7] package/json-glib: bump to version 1.10.0 Fiona Klute via buildroot
6 siblings, 0 replies; 14+ messages in thread
From: Fiona Klute via buildroot @ 2024-10-10 13:53 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Asaf Kahlon, Fabrice Fontaine, James Hilliard,
Yann E . MORIN, Fiona Klute (WIWA)
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
Introspection gets enabled if gobject-introspection is.
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
package/network-manager/network-manager.mk | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk
index 8349b6c79b..785976a0aa 100644
--- a/package/network-manager/network-manager.mk
+++ b/package/network-manager/network-manager.mk
@@ -26,7 +26,6 @@ NETWORK_MANAGER_DEPENDENCIES = \
util-linux
NETWORK_MANAGER_CONF_OPTS = \
- -Dintrospection=false \
-Ddocs=false \
-Dtests=no \
-Dqt=false \
@@ -50,6 +49,12 @@ ifeq ($(BR2_PACKAGE_DHCPCD),y)
NETWORK_MANAGER_CONF_OPTS += -Ddhcpcd=/sbin/dhcpcd
endif
+ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
+NETWORK_MANAGER_CONF_OPTS += -Dintrospection=true
+else
+NETWORK_MANAGER_CONF_OPTS += -Dintrospection=false
+endif
+
ifeq ($(BR2_PACKAGE_IWD),y)
NETWORK_MANAGER_DEPENDENCIES += iwd
NETWORK_MANAGER_CONF_OPTS += -Diwd=true
--
2.45.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Buildroot] [PATCH v5 7/7] package/json-glib: bump to version 1.10.0
2024-10-10 13:53 [Buildroot] [PATCH v5 0/7] libglib2 2.82 series with bootstrap Fiona Klute via buildroot
` (5 preceding siblings ...)
2024-10-10 13:53 ` [Buildroot] [PATCH v5 6/7] package/network-manager: optional gobject-introspection Fiona Klute via buildroot
@ 2024-10-10 13:53 ` Fiona Klute via buildroot
6 siblings, 0 replies; 14+ messages in thread
From: Fiona Klute via buildroot @ 2024-10-10 13:53 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Asaf Kahlon, Fabrice Fontaine, James Hilliard,
Yann E . MORIN, Fiona Klute (WIWA)
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
Fixes a build failure due to warnings from g-ir-scanner:
env PKG_CONFIG_PATH=/home/fiona/development/buildroot/output/revpi/build/json-glib-1.8.0/build/meson-uninstalled PKG_CONFIG_SYSROOT_DIR=/home/fiona/development/buildroot/output/revpi/host/aarch64-buildroot-linux-musl/sysroot PKG_CONFIG_LIBDIR=/home/fiona/development/buildroot/output/revpi/host/aarch64-buildroot-linux-musl/sysroot/usr/lib/pkgconfig:/home/fiona/development/buildroot/output/revpi/host/aarch64-buildroot-linux-musl/sysroot/usr/share/pkgconfig PKG_CONFIG=/home/fiona/development/buildroot/output/revpi/host/bin/pkgconf CC=/home/fiona/development/buildroot/output/revpi/host/bin/aarch64-buildroot-linux-musl-gcc /home/fiona/development/buildroot/output/revpi/host/aarch64-buildroot-linux-musl/sysroot/usr/bin/g-ir-scanner --quiet --no-libtool --namespace=Json --nsversion=1.0 --warn-all --output json-glib/Json-1.0.gir --c-include=json-glib/json-glib.h --quiet --warn-all -DJSON_COMPILATION -I/home/fiona/development/buildroot/output/revpi/build/json-glib-1.8.0/json-glib -I/home/fion
a/development/buildroot/output/revpi/build/json-glib-1.8.0/build/json-glib -I/home/fiona/development/buildroot/output/revpi/build/json-glib-1.8.0/. -I/home/fiona/development/buildroot/output/revpi/build/json-glib-1.8.0/build/. --filelist=/home/fiona/development/buildroot/output/revpi/build/json-glib-1.8.0/build/json-glib/libjson-glib-1.0.so.0.800.0.p/Json_1.0_gir_filelist --include=GObject-2.0 --include=Gio-2.0 --symbol-prefix=json --identifier-prefix=Json --pkg-export=json-glib-1.0 --cflags-begin -I/home/fiona/development/buildroot/output/revpi/build/json-glib-1.8.0/. -I/home/fiona/development/buildroot/output/revpi/build/json-glib-1.8.0/build/. -I/home/fiona/development/buildroot/output/revpi/host/aarch64-buildroot-linux-musl/sysroot/usr/include -I/home/fiona/development/buildroot/output/revpi/host/aarch64-buildroot-linux-musl/sysroot/usr/include/glib-2.0 -I/home/fiona/development/buildroot/output/revpi/host/aarch64-buildroot-linux-musl/sysroot/usr/lib/glib-2.0/include -I/home/fio
na/development/buildroot/output/revpi/host/aarch64-buildroot-linux-musl/sysroot/usr/include/libmount -I/home/fiona/development/buildroot/output/revpi/host/aarch64-buildroot-linux-musl/sysroot/usr/include/blkid -I/home/fiona/development/buildroot/output/revpi/host/aarch64-buildroot-linux-musl/sysroot/usr/include/gobject-introspection-1.0 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 --cflags-end --add-include-path=/home/fiona/development/buildroot/output/revpi/host/aarch64-buildroot-linux-musl/sysroot/usr/lib/../share/gir-1.0 --add-include-path=/usr/share/gir-1.0 -L/home/fiona/development/buildroot/output/revpi/build/json-glib-1.8.0/build/json-glib --library json-glib-1.0 -L/home/fiona/development/buildroot/output/revpi/host/aarch64-buildroot-linux-musl/sysroot/usr/lib --extra-library=gio-2.0 --extra-library=gobject-2.0 --extra-library=glib-2.0 --extra-library=girepository-1.0 --sources-top-dirs /home/fiona/development/buildroot/output/revpi/build/json-glib-1.8.0/
--sources-top-dirs /home/fiona/development/buildroot/output/revpi/build/json-glib-1.8.0/build/ --warn-error
../json-glib/json-object.c:944: Warning: Json: invalid "closure" annotation: only valid on callback parameters
../json-glib/json-array.c:718: Warning: Json: invalid "closure" annotation: only valid on callback parameters
<unknown>:: Fatal: Json: warnings configured as fatal
<unknown>:: Fatal: Json: warnings configured as fatal
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
---
package/json-glib/json-glib.hash | 4 ++--
package/json-glib/json-glib.mk | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/package/json-glib/json-glib.hash b/package/json-glib/json-glib.hash
index b78d708391..1b475233af 100644
--- a/package/json-glib/json-glib.hash
+++ b/package/json-glib/json-glib.hash
@@ -1,5 +1,5 @@
-# From https://download.gnome.org/sources/json-glib/1.8/json-glib-1.8.0.sha256sum
-sha256 97ef5eb92ca811039ad50a65f06633f1aae64792789307be7170795d8b319454 json-glib-1.8.0.tar.xz
+# From https://download.gnome.org/sources/json-glib/1.10/json-glib-1.10.0.sha256sum
+sha256 1bca8d66d96106ecc147df3133b95a5bb784f1fa6f15d06dd7c1a8fb4a10af7b json-glib-1.10.0.tar.xz
# Hash for license file:
sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING
diff --git a/package/json-glib/json-glib.mk b/package/json-glib/json-glib.mk
index e216af20b1..8b440788a2 100644
--- a/package/json-glib/json-glib.mk
+++ b/package/json-glib/json-glib.mk
@@ -4,7 +4,7 @@
#
################################################################################
-JSON_GLIB_VERSION_MAJOR = 1.8
+JSON_GLIB_VERSION_MAJOR = 1.10
JSON_GLIB_VERSION = $(JSON_GLIB_VERSION_MAJOR).0
JSON_GLIB_SITE = https://download.gnome.org/sources/json-glib/$(JSON_GLIB_VERSION_MAJOR)
JSON_GLIB_SOURCE = json-glib-$(JSON_GLIB_VERSION).tar.xz
--
2.45.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v5 3/7] package/{gobject-introspection, libglib2}: bump to {1.82.0, 2.82.0}
2024-10-10 13:53 ` [Buildroot] [PATCH v5 3/7] package/{gobject-introspection, libglib2}: bump to {1.82.0, 2.82.0} Fiona Klute via buildroot
@ 2024-10-28 21:00 ` Thomas Petazzoni via buildroot
2024-10-29 13:42 ` Fiona Klute via buildroot
0 siblings, 1 reply; 14+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-10-28 21:00 UTC (permalink / raw)
To: Fiona Klute via buildroot
Cc: Fiona Klute, Eric Le Bihan, Asaf Kahlon, Fabrice Fontaine,
James Hilliard, Yann E . MORIN
Hello Fiona,
On Thu, 10 Oct 2024 15:53:10 +0200
Fiona Klute via buildroot <buildroot@buildroot.org> wrote:
> From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
>
> There are a lot of interconnected changes in these releases:
>
> Since 2.79.0, the introspection (i11n) data for libglib2 was moved out
> of gobject-introspection (GOI) and into libglib2 itself, thus building
> libglib2 with i11n needs tools provided by GOI [0].
[...]
I finally had a look at this patch, and I have one concern with it: if
I'm not mistaken, host-libglib2 will now always build
host-gobject-introspection, even if we don't care at all about
introspection support.
Why is host-gobject-introspection an unconditional dependency of
HOST_LIBGLIB2_DEPENDENCIES ?
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v5 3/7] package/{gobject-introspection, libglib2}: bump to {1.82.0, 2.82.0}
2024-10-28 21:00 ` Thomas Petazzoni via buildroot
@ 2024-10-29 13:42 ` Fiona Klute via buildroot
2024-11-06 20:45 ` Fiona Klute via buildroot
0 siblings, 1 reply; 14+ messages in thread
From: Fiona Klute via buildroot @ 2024-10-29 13:42 UTC (permalink / raw)
To: Thomas Petazzoni, Fiona Klute via buildroot
Cc: Eric Le Bihan, Asaf Kahlon, Fabrice Fontaine, James Hilliard,
Yann E . MORIN
Hi Thomas!
Am 28.10.24 um 22:00 schrieb Thomas Petazzoni:
> Hello Fiona,
>
> On Thu, 10 Oct 2024 15:53:10 +0200
> Fiona Klute via buildroot <buildroot@buildroot.org> wrote:
>
>> From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
>>
>> There are a lot of interconnected changes in these releases:
>>
>> Since 2.79.0, the introspection (i11n) data for libglib2 was moved out
>> of gobject-introspection (GOI) and into libglib2 itself, thus building
>> libglib2 with i11n needs tools provided by GOI [0].
>
> [...]
>
> I finally had a look at this patch, and I have one concern with it: if
> I'm not mistaken, host-libglib2 will now always build
> host-gobject-introspection, even if we don't care at all about
> introspection support.
>
> Why is host-gobject-introspection an unconditional dependency of
> HOST_LIBGLIB2_DEPENDENCIES ?
Basically for simplicity. For the target we can use
BR2_PACKAGE_GOBJECT_INTROSPECTION to decide whether to build libglib2
with introspection, but we don't currently have a
BR2_PACKAGE_HOST_GOBJECT_INTROSPECTION config option. And the bootstrap
doesn't slow down the build that much, so I assumed doing it
unconditionally would be fine.
I can add BR2_PACKAGE_HOST_GOBJECT_INTROSPECTION if you think we should
support building without introspection.
Currently (target) gobject-introspection seems to be the only package
that depends on host-gobject-introspection, so theoretically I could
also use BR2_PACKAGE_GOBJECT_INTROSPECTION, but that would be messy and
likely cause trouble if anything else ever came to rely on host GOI.
Or do you see a better option?
Best regards,
Fiona
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v5 1/7] package/gobject-introspection: don't depend on cairo
2024-10-10 13:53 ` [Buildroot] [PATCH v5 1/7] package/gobject-introspection: don't depend on cairo Fiona Klute via buildroot
@ 2024-10-29 20:35 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 14+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-10-29 20:35 UTC (permalink / raw)
To: Fiona Klute via buildroot
Cc: Fiona Klute, Eric Le Bihan, Adam Duskett, Asaf Kahlon,
Fabrice Fontaine, James Hilliard, Yann E . MORIN
Hello,
On Thu, 10 Oct 2024 15:53:08 +0200
Fiona Klute via buildroot <buildroot@buildroot.org> wrote:
> diff --git a/package/gobject-introspection/gobject-introspection.mk b/package/gobject-introspection/gobject-introspection.mk
> index ad72af22a2..af27781cf7 100644
> --- a/package/gobject-introspection/gobject-introspection.mk
> +++ b/package/gobject-introspection/gobject-introspection.mk
> @@ -47,12 +47,7 @@ GOBJECT_INTROSPECTION_CONF_OPTS = \
> -Dbuild_introspection_data=true \
> -Ddoctool=disabled
>
> -ifeq ($(BR2_PACKAGE_CAIRO),y)
> -GOBJECT_INTROSPECTION_DEPENDENCIES += cairo
> -GOBJECT_INTROSPECTION_CONF_OPTS += -Dcairo=enabled
> -else
> GOBJECT_INTROSPECTION_CONF_OPTS += -Dcairo=disabled
It didn't really make sense to keep it as a separate
GOBJECT_INTROSPECTION_CONF_OPTS += assignment, so I folded it into the
previous GOBJECT_INTROSPECTION_CONF_OPTS = assignment.
Applied with this change. Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v5 2/7] package/gobject-introspection: update homepage
2024-10-10 13:53 ` [Buildroot] [PATCH v5 2/7] package/gobject-introspection: update homepage Fiona Klute via buildroot
@ 2024-10-29 20:36 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 14+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-10-29 20:36 UTC (permalink / raw)
To: Fiona Klute via buildroot
Cc: Fiona Klute, Eric Le Bihan, Asaf Kahlon, Fabrice Fontaine,
James Hilliard, Yann E . MORIN
On Thu, 10 Oct 2024 15:53:09 +0200
Fiona Klute via buildroot <buildroot@buildroot.org> wrote:
> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
>
> The homepage has moved, the previous one links to the new URL.
>
> Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
> [yann.morin.1998@free.fr: split into its own patch]
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> ---
> package/gobject-introspection/Config.in | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v5 3/7] package/{gobject-introspection, libglib2}: bump to {1.82.0, 2.82.0}
2024-10-29 13:42 ` Fiona Klute via buildroot
@ 2024-11-06 20:45 ` Fiona Klute via buildroot
2024-11-06 21:58 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 14+ messages in thread
From: Fiona Klute via buildroot @ 2024-11-06 20:45 UTC (permalink / raw)
To: Thomas Petazzoni, Fiona Klute via buildroot
Cc: Eric Le Bihan, Asaf Kahlon, Fabrice Fontaine, James Hilliard,
Yann E . MORIN
Hi Thomas,
I've just sent v6 that does the host-libglib2 bootstrap only if GOI is
actually built for the host. Any package that needs host-libglib2 with
introspection (currently only target gobject-introspection) now needs to
select BR2_PACKAGE_HOST_GOBJECT_INTROSPECTION. I hope that helps!
Best regards,
Fiona
Am 29.10.24 um 14:42 schrieb Fiona Klute:
> Hi Thomas!
>
> Am 28.10.24 um 22:00 schrieb Thomas Petazzoni:
>> Hello Fiona,
>>
>> On Thu, 10 Oct 2024 15:53:10 +0200
>> Fiona Klute via buildroot <buildroot@buildroot.org> wrote:
>>
>>> From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
>>>
>>> There are a lot of interconnected changes in these releases:
>>>
>>> Since 2.79.0, the introspection (i11n) data for libglib2 was moved out
>>> of gobject-introspection (GOI) and into libglib2 itself, thus building
>>> libglib2 with i11n needs tools provided by GOI [0].
>>
>> [...]
>>
>> I finally had a look at this patch, and I have one concern with it: if
>> I'm not mistaken, host-libglib2 will now always build
>> host-gobject-introspection, even if we don't care at all about
>> introspection support.
>>
>> Why is host-gobject-introspection an unconditional dependency of
>> HOST_LIBGLIB2_DEPENDENCIES ?
>
> Basically for simplicity. For the target we can use
> BR2_PACKAGE_GOBJECT_INTROSPECTION to decide whether to build libglib2
> with introspection, but we don't currently have a
> BR2_PACKAGE_HOST_GOBJECT_INTROSPECTION config option. And the bootstrap
> doesn't slow down the build that much, so I assumed doing it
> unconditionally would be fine.
>
> I can add BR2_PACKAGE_HOST_GOBJECT_INTROSPECTION if you think we should
> support building without introspection.
>
> Currently (target) gobject-introspection seems to be the only package
> that depends on host-gobject-introspection, so theoretically I could
> also use BR2_PACKAGE_GOBJECT_INTROSPECTION, but that would be messy and
> likely cause trouble if anything else ever came to rely on host GOI.
>
> Or do you see a better option?
>
> Best regards,
> Fiona
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Buildroot] [PATCH v5 3/7] package/{gobject-introspection, libglib2}: bump to {1.82.0, 2.82.0}
2024-11-06 20:45 ` Fiona Klute via buildroot
@ 2024-11-06 21:58 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 14+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-11-06 21:58 UTC (permalink / raw)
To: Fiona Klute
Cc: Fiona Klute via buildroot, Eric Le Bihan, Asaf Kahlon,
Fabrice Fontaine, James Hilliard, Yann E . MORIN
Hello Fiona,
On Wed, 6 Nov 2024 21:45:13 +0100
Fiona Klute <fiona.klute@gmx.de> wrote:
> I've just sent v6 that does the host-libglib2 bootstrap only if GOI is
> actually built for the host. Any package that needs host-libglib2 with
> introspection (currently only target gobject-introspection) now needs to
> select BR2_PACKAGE_HOST_GOBJECT_INTROSPECTION. I hope that helps!
Thanks a lot for this work! I'm planning to do some BR work tomorrow
evening, and I'll try to dedicate my evening to
reviewing/testing/hopefully-merging this series.
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2024-11-06 21:59 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-10 13:53 [Buildroot] [PATCH v5 0/7] libglib2 2.82 series with bootstrap Fiona Klute via buildroot
2024-10-10 13:53 ` [Buildroot] [PATCH v5 1/7] package/gobject-introspection: don't depend on cairo Fiona Klute via buildroot
2024-10-29 20:35 ` Thomas Petazzoni via buildroot
2024-10-10 13:53 ` [Buildroot] [PATCH v5 2/7] package/gobject-introspection: update homepage Fiona Klute via buildroot
2024-10-29 20:36 ` Thomas Petazzoni via buildroot
2024-10-10 13:53 ` [Buildroot] [PATCH v5 3/7] package/{gobject-introspection, libglib2}: bump to {1.82.0, 2.82.0} Fiona Klute via buildroot
2024-10-28 21:00 ` Thomas Petazzoni via buildroot
2024-10-29 13:42 ` Fiona Klute via buildroot
2024-11-06 20:45 ` Fiona Klute via buildroot
2024-11-06 21:58 ` Thomas Petazzoni via buildroot
2024-10-10 13:53 ` [Buildroot] [PATCH v5 4/7] package/gobject-introspection: works with musl now Fiona Klute via buildroot
2024-10-10 13:53 ` [Buildroot] [PATCH v5 5/7] package/python-gobject: bump to version 3.50.0 Fiona Klute via buildroot
2024-10-10 13:53 ` [Buildroot] [PATCH v5 6/7] package/network-manager: optional gobject-introspection Fiona Klute via buildroot
2024-10-10 13:53 ` [Buildroot] [PATCH v5 7/7] package/json-glib: bump to version 1.10.0 Fiona Klute via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox