* [Buildroot] [PATCH v9 0/6] libglib2 2.82 series with bootstrap
@ 2025-01-20 21:17 Fiona Klute via buildroot
2025-01-20 21:17 ` [Buildroot] [PATCH v9 1/6] package/json-glib: bump to version 1.10.6 Fiona Klute via buildroot
` (6 more replies)
0 siblings, 7 replies; 9+ messages in thread
From: Fiona Klute via buildroot @ 2025-01-20 21:17 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Yann E . MORIN, James Hilliard, Marcus Hoffmann,
Thomas Petazzoni, Fabrice Fontaine, 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 v8 -> v9 (Fiona):
* Update json-glib and gobject-introspection license info & hashes
Series v8 for reference:
https://patchwork.ozlabs.org/project/buildroot/list/?series=440244
Changes v7 -> v8 (Fiona):
* Move json-glib bump to start of series, to avoid broken state after
GOI bump
* Split python-gobject build with musl from version bump
* Clarify commit message for NM GOI support
Series v7 for reference:
https://patchwork.ozlabs.org/project/buildroot/list/?series=440156
Changes v6 -> v7 (Fiona):
* Bump libglib2 to version 2.82.4
* Bump json-glib to version 1.10.6
Series v6 for reference:
https://patchwork.ozlabs.org/project/buildroot/list/?series=431629
Changes v5 -> v6 (Fiona):
* Drop former patches 1 & 2, already applied
* Enable introspection for host-libglib2 only if required by config
(which is the case if target libglib2 is to be built with
introspection), skip bootstrap otherwise
* Bump libglib2 to version 2.82.2
Series v5 for reference:
https://patchwork.ozlabs.org/project/buildroot/list/?series=427481
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) (5):
package/json-glib: bump to version 1.10.6
package/{gobject-introspection, libglib2}: bump to {1.82.0, 2.82.4}
package/python-gobject: allow build with musl
package/python-gobject: bump to version 3.50.0
package/network-manager: add optional dependency on
gobject-introspection
Yann E. MORIN (1):
package/gobject-introspection: works with musl now
package/Config.in.host | 1 +
...-dependency-on-distutils.msvccompile.patch | 104 ------------------
package/gobject-introspection/Config.in | 9 +-
package/gobject-introspection/Config.in.host | 2 +
.../gobject-introspection.hash | 6 +-
.../gobject-introspection.mk | 17 ++-
package/json-glib/json-glib.hash | 13 ++-
package/json-glib/json-glib.mk | 12 +-
...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 | 37 ++++++-
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 +-
26 files changed, 212 insertions(+), 502 deletions(-)
delete mode 100644 package/gobject-introspection/0003-giscanner-remove-dependency-on-distutils.msvccompile.patch
create mode 100644 package/gobject-introspection/Config.in.host
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.47.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v9 1/6] package/json-glib: bump to version 1.10.6
2025-01-20 21:17 [Buildroot] [PATCH v9 0/6] libglib2 2.82 series with bootstrap Fiona Klute via buildroot
@ 2025-01-20 21:17 ` Fiona Klute via buildroot
2025-01-20 21:17 ` [Buildroot] [PATCH v9 2/6] package/{gobject-introspection, libglib2}: bump to {1.82.0, 2.82.4} Fiona Klute via buildroot
` (5 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Fiona Klute via buildroot @ 2025-01-20 21:17 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Yann E . MORIN, James Hilliard, Marcus Hoffmann,
Thomas Petazzoni, Fabrice Fontaine, Fiona Klute (WIWA)
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
Required to build with gobject-introspection >= 1.82.0, to be bumped
in a later commit.
License information has been restructured according to REUSE
guidelines, see [1]. Update hashes and license information
accordingly.
[1] https://gitlab.gnome.org/GNOME/json-glib/-/commit/a06d43db36545aff10eb384d62548d96a7cf6020
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
Tested-by: Marcus Hoffmann <buildroot@bubu1.eu>
---
Changes v8 -> v9 (Fiona):
* Update license info & hashes
Changes v7 -> v8 (Fiona):
* Move json-glib bump to start of series, to avoid broken state after
GOI bump
Changes v6 -> v7 (Fiona):
* Bump json-glib to version 1.10.6
package/json-glib/json-glib.hash | 13 +++++++++----
package/json-glib/json-glib.mk | 12 ++++++++----
2 files changed, 17 insertions(+), 8 deletions(-)
diff --git a/package/json-glib/json-glib.hash b/package/json-glib/json-glib.hash
index b78d708391..d61a448f4e 100644
--- a/package/json-glib/json-glib.hash
+++ b/package/json-glib/json-glib.hash
@@ -1,5 +1,10 @@
-# 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.6.sha256sum
+sha256 77f4bcbf9339528f166b8073458693f0a20b77b7059dbc2db61746a1928b0293 json-glib-1.10.6.tar.xz
-# Hash for license file:
-sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING
+# Hashes for license files and REUSE license/file listing
+sha256 a2010f343487d3f7618affe54f789f5487602331c0a8d03f49e9a7c547cf0499 LICENSES/CC0-1.0.txt
+sha256 fa6f36630bb1e0c571d34b2bbdf188d08495c9dbf58f28cac112f303fc1f58fb LICENSES/LGPL-2.1-or-later.txt
+sha256 b85dcd3e453d05982552c52b5fc9e0bdd6d23c6f8e844b984a88af32570b0cc0 LICENSES/MIT.txt
+sha256 c3d141a8d2613d8c376cf240cdecd10ea0ae2dd0e16f648e88ddae425b2d3ba8 .reuse/dep5
+# symlink to LICENSES/LGPL-2.1-or-later.txt
+sha256 fa6f36630bb1e0c571d34b2bbdf188d08495c9dbf58f28cac112f303fc1f58fb COPYING
diff --git a/package/json-glib/json-glib.mk b/package/json-glib/json-glib.mk
index e216af20b1..a7a6d7f497 100644
--- a/package/json-glib/json-glib.mk
+++ b/package/json-glib/json-glib.mk
@@ -4,12 +4,16 @@
#
################################################################################
-JSON_GLIB_VERSION_MAJOR = 1.8
-JSON_GLIB_VERSION = $(JSON_GLIB_VERSION_MAJOR).0
+JSON_GLIB_VERSION_MAJOR = 1.10
+JSON_GLIB_VERSION = $(JSON_GLIB_VERSION_MAJOR).6
JSON_GLIB_SITE = https://download.gnome.org/sources/json-glib/$(JSON_GLIB_VERSION_MAJOR)
JSON_GLIB_SOURCE = json-glib-$(JSON_GLIB_VERSION).tar.xz
-JSON_GLIB_LICENSE = LGPL-2.1+
-JSON_GLIB_LICENSE_FILES = COPYING
+JSON_GLIB_LICENSE = LGPL-2.1+, MIT (conformance test data), CC0-1.0 (parts of build system, metadata, translations)
+JSON_GLIB_LICENSE_FILES = LICENSES/CC0-1.0.txt \
+ LICENSES/LGPL-2.1-or-later.txt \
+ LICENSES/MIT.txt \
+ .reuse/dep5 \
+ COPYING
JSON_GLIB_INSTALL_STAGING = YES
JSON_GLIB_CONF_OPTS = -Dgtk_doc=disabled -Dtests=false
--
2.47.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v9 2/6] package/{gobject-introspection, libglib2}: bump to {1.82.0, 2.82.4}
2025-01-20 21:17 [Buildroot] [PATCH v9 0/6] libglib2 2.82 series with bootstrap Fiona Klute via buildroot
2025-01-20 21:17 ` [Buildroot] [PATCH v9 1/6] package/json-glib: bump to version 1.10.6 Fiona Klute via buildroot
@ 2025-01-20 21:17 ` Fiona Klute via buildroot
2025-02-04 8:31 ` Thomas Petazzoni via buildroot
2025-01-20 21:17 ` [Buildroot] [PATCH v9 3/6] package/gobject-introspection: works with musl now Fiona Klute via buildroot
` (4 subsequent siblings)
6 siblings, 1 reply; 9+ messages in thread
From: Fiona Klute via buildroot @ 2025-01-20 21:17 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Yann E . MORIN, James Hilliard, Marcus Hoffmann,
Thomas Petazzoni, Fabrice Fontaine, 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.
Updated hash for giscanner/scannerlexer.l is due to code changes, no
change in license, see [2] (two commits in 2024).
[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.
[2] https://gitlab.gnome.org/GNOME/gobject-introspection/-/commits/1.82.0/giscanner/scannerlexer.l?ref_type=tags
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Tested-by: Marcus Hoffmann <buildroot@bubu1.eu>
---
Changes v8 -> v9 (Fiona):
* Update hash for giscanner/scannerlexer.l
Changes v6 -> v7 (Fiona):
* Bump libglib2 to version 2.82.4
Changes v5 -> v6 (Fiona):
* Enable introspection for host-libglib2 only if required by config
(which is the case if target libglib2 is to be built with
introspection), skip bootstrap otherwise
* Bump libglib2 to version 2.82.2
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
package/Config.in.host | 1 +
...-dependency-on-distutils.msvccompile.patch | 104 ------------------
package/gobject-introspection/Config.in | 3 +-
package/gobject-introspection/Config.in.host | 2 +
.../gobject-introspection.hash | 6 +-
.../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 | 37 ++++++-
20 files changed, 178 insertions(+), 482 deletions(-)
delete mode 100644 package/gobject-introspection/0003-giscanner-remove-dependency-on-distutils.msvccompile.patch
create mode 100644 package/gobject-introspection/Config.in.host
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/Config.in.host b/package/Config.in.host
index e06824ad6b..90b161eeab 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -47,6 +47,7 @@ menu "Host utilities"
source "package/gnupg/Config.in.host"
source "package/gnupg2/Config.in.host"
source "package/go/Config.in.host"
+ source "package/gobject-introspection/Config.in.host"
source "package/google-breakpad/Config.in.host"
source "package/gptfdisk/Config.in.host"
source "package/imagemagick/Config.in.host"
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 681655c2d4..7b47c9561e 100644
--- a/package/gobject-introspection/Config.in
+++ b/package/gobject-introspection/Config.in
@@ -28,10 +28,11 @@ config BR2_PACKAGE_GOBJECT_INTROSPECTION
# unconditionally to the target when building
# gobject-introspection.
depends on BR2_PACKAGE_PYTHON3
+ select BR2_PACKAGE_HOST_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/Config.in.host b/package/gobject-introspection/Config.in.host
new file mode 100644
index 0000000000..df77338b52
--- /dev/null
+++ b/package/gobject-introspection/Config.in.host
@@ -0,0 +1,2 @@
+config BR2_PACKAGE_HOST_GOBJECT_INTROSPECTION
+ bool
diff --git a/package/gobject-introspection/gobject-introspection.hash b/package/gobject-introspection/gobject-introspection.hash
index 063b96275d..c39c06d102 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
+sha256 fb538e24d22de4f8dab6b48b862be84469bcc089e1cf98f6f46d6f74f6f44655 giscanner/scannerlexer.l
diff --git a/package/gobject-introspection/gobject-introspection.mk b/package/gobject-introspection/gobject-introspection.mk
index b1b44d0b4f..eb46fb61c1 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.
@@ -117,7 +122,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..6175a7157c 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.4.sha256sum
+sha256 37dd0877fe964cd15e9a2710b044a1830fb1bd93652a6d0cb6b8b2dff187c709 glib-2.82.4.tar.xz
# License files, locally calculated
sha256 fa6f36630bb1e0c571d34b2bbdf188d08495c9dbf58f28cac112f303fc1f58fb COPYING
diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk
index c33df70b25..247f9584dc 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).4
LIBGLIB2_SOURCE = glib-$(LIBGLIB2_VERSION).tar.xz
LIBGLIB2_SITE = https://download.gnome.org/sources/glib/$(LIBGLIB2_VERSION_MAJOR)
LIBGLIB2_LICENSE = LGPL-2.1+
@@ -44,6 +44,13 @@ HOST_LIBGLIB2_DEPENDENCIES = \
host-util-linux \
host-zlib
+ifeq ($(BR2_PACKAGE_HOST_GOBJECT_INTROSPECTION),y)
+HOST_LIBGLIB2_CONF_OPTS += -Dintrospection=enabled
+HOST_LIBGLIB2_DEPENDENCIES += host-gobject-introspection
+else
+HOST_LIBGLIB2_CONF_OPTS += -Dintrospection=disabled
+endif
+
# We explicitly specify a giomodule-dir to avoid having a value
# containing ${libdir} in gio-2.0.pc. Indeed, a value depending on
# ${libdir} would be prefixed by the sysroot by pkg-config, causing a
@@ -60,6 +67,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 +163,11 @@ $(eval $(meson-package))
$(eval $(host-meson-package))
LIBGLIB2_HOST_BINARY = $(HOST_DIR)/bin/glib-genmarshal
+
+# Bootstrap is only needed if building with introspection. Building
+# with introspection for the target requires introspection to be
+# enabled for host-libglib2, so checking if host introspection is to
+# be built is sufficient.
+ifeq ($(BR2_PACKAGE_HOST_GOBJECT_INTROSPECTION),y)
+include package/libglib2/libglib2-bootstrap/libglib2-bootstrap.mk
+endif
--
2.47.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v9 3/6] package/gobject-introspection: works with musl now
2025-01-20 21:17 [Buildroot] [PATCH v9 0/6] libglib2 2.82 series with bootstrap Fiona Klute via buildroot
2025-01-20 21:17 ` [Buildroot] [PATCH v9 1/6] package/json-glib: bump to version 1.10.6 Fiona Klute via buildroot
2025-01-20 21:17 ` [Buildroot] [PATCH v9 2/6] package/{gobject-introspection, libglib2}: bump to {1.82.0, 2.82.4} Fiona Klute via buildroot
@ 2025-01-20 21:17 ` Fiona Klute via buildroot
2025-01-20 21:17 ` [Buildroot] [PATCH v9 4/6] package/python-gobject: allow build with musl Fiona Klute via buildroot
` (3 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Fiona Klute via buildroot @ 2025-01-20 21:17 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Yann E . MORIN, James Hilliard, Marcus Hoffmann,
Thomas Petazzoni, Fabrice Fontaine, Fiona Klute (WIWA)
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 7b47c9561e..54a33d8666 100644
--- a/package/gobject-introspection/Config.in
+++ b/package/gobject-introspection/Config.in
@@ -19,7 +19,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
@@ -48,9 +48,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.47.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v9 4/6] package/python-gobject: allow build with musl
2025-01-20 21:17 [Buildroot] [PATCH v9 0/6] libglib2 2.82 series with bootstrap Fiona Klute via buildroot
` (2 preceding siblings ...)
2025-01-20 21:17 ` [Buildroot] [PATCH v9 3/6] package/gobject-introspection: works with musl now Fiona Klute via buildroot
@ 2025-01-20 21:17 ` Fiona Klute via buildroot
2025-01-20 21:17 ` [Buildroot] [PATCH v9 5/6] package/python-gobject: bump to version 3.50.0 Fiona Klute via buildroot
` (2 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Fiona Klute via buildroot @ 2025-01-20 21:17 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Yann E . MORIN, James Hilliard, Marcus Hoffmann,
Thomas Petazzoni, Fabrice Fontaine, Fiona Klute (WIWA)
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
Current gobject-introspection releases (>= 1.80.1) work with musl, so
relax the C library requirement for python-gobject to match.
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
---
Changes v7 -> v8 (Fiona):
* Split python-gobject build with musl from version bump
package/python-gobject/Config.in | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/package/python-gobject/Config.in b/package/python-gobject/Config.in
index 3354535637..f5d4cebe31 100644
--- a/package/python-gobject/Config.in
+++ b/package/python-gobject/Config.in
@@ -4,7 +4,7 @@ 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
@@ -12,9 +12,9 @@ config BR2_PACKAGE_PYTHON_GOBJECT
https://wiki.gnome.org/action/show/Projects/PyGObject
-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
--
2.47.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v9 5/6] package/python-gobject: bump to version 3.50.0
2025-01-20 21:17 [Buildroot] [PATCH v9 0/6] libglib2 2.82 series with bootstrap Fiona Klute via buildroot
` (3 preceding siblings ...)
2025-01-20 21:17 ` [Buildroot] [PATCH v9 4/6] package/python-gobject: allow build with musl Fiona Klute via buildroot
@ 2025-01-20 21:17 ` Fiona Klute via buildroot
2025-01-20 21:17 ` [Buildroot] [PATCH v9 6/6] package/network-manager: add optional dependency on gobject-introspection Fiona Klute via buildroot
2025-02-04 15:33 ` [Buildroot] [PATCH v9 0/6] libglib2 2.82 series with bootstrap Thomas Petazzoni via buildroot
6 siblings, 0 replies; 9+ messages in thread
From: Fiona Klute via buildroot @ 2025-01-20 21:17 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Yann E . MORIN, James Hilliard, Marcus Hoffmann,
Thomas Petazzoni, Fabrice Fontaine, Fiona Klute (WIWA)
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
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 v7 -> v8 (Fiona):
* Split python-gobject build with musl from version bump
Changes v3 -> v4 (Fiona):
* Bump python-gobject to 3.50.0
package/python-gobject/Config.in | 2 +-
package/python-gobject/python-gobject.hash | 4 ++--
package/python-gobject/python-gobject.mk | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package/python-gobject/Config.in b/package/python-gobject/Config.in
index f5d4cebe31..d9d73cc5e3 100644
--- a/package/python-gobject/Config.in
+++ b/package/python-gobject/Config.in
@@ -10,7 +10,7 @@ config BR2_PACKAGE_PYTHON_GOBJECT
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 or musl toolchain, gcc >= 4.9, host gcc >= 8"
depends on BR2_USE_MMU
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.47.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v9 6/6] package/network-manager: add optional dependency on gobject-introspection
2025-01-20 21:17 [Buildroot] [PATCH v9 0/6] libglib2 2.82 series with bootstrap Fiona Klute via buildroot
` (4 preceding siblings ...)
2025-01-20 21:17 ` [Buildroot] [PATCH v9 5/6] package/python-gobject: bump to version 3.50.0 Fiona Klute via buildroot
@ 2025-01-20 21:17 ` Fiona Klute via buildroot
2025-02-04 15:33 ` [Buildroot] [PATCH v9 0/6] libglib2 2.82 series with bootstrap Thomas Petazzoni via buildroot
6 siblings, 0 replies; 9+ messages in thread
From: Fiona Klute via buildroot @ 2025-01-20 21:17 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Yann E . MORIN, James Hilliard, Marcus Hoffmann,
Thomas Petazzoni, Fabrice Fontaine, 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>
---
Changes v7 -> v8 (Fiona):
* Clarify commit message for NM GOI support
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 079f9aa98f..015e6b212a 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.47.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [Buildroot] [PATCH v9 2/6] package/{gobject-introspection, libglib2}: bump to {1.82.0, 2.82.4}
2025-01-20 21:17 ` [Buildroot] [PATCH v9 2/6] package/{gobject-introspection, libglib2}: bump to {1.82.0, 2.82.4} Fiona Klute via buildroot
@ 2025-02-04 8:31 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-02-04 8:31 UTC (permalink / raw)
To: Fiona Klute via buildroot
Cc: Fiona Klute, Eric Le Bihan, Yann E . MORIN, James Hilliard,
Marcus Hoffmann, Fabrice Fontaine
Hello Fiona,
As discussed yesterday on IRC, I'm planning on working on this topic
today. I already have a few questions, see below. More might come later.
On Mon, 20 Jan 2025 22:17:03 +0100
Fiona Klute via buildroot <buildroot@buildroot.org> wrote:
> +# Bootstrap is only needed if building with introspection. Building
> +# with introspection for the target requires introspection to be
> +# enabled for host-libglib2, so checking if host introspection is to
> +# be built is sufficient.
> +ifeq ($(BR2_PACKAGE_HOST_GOBJECT_INTROSPECTION),y)
> +include package/libglib2/libglib2-bootstrap/libglib2-bootstrap.mk
> +endif
We generally include .mk files unconditionally, so I'll drop this
conditional include, and make it unconditional.
Note: please do not resend new iterations with fixes for now: I'm
applying the patches locally and adjusting things. If all goes well,
I'll be able to merge them today.
If you're on IRC at some point, feel free to provide the feedback
directly on IRC.
Thanks for your feedback!
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] 9+ messages in thread
* Re: [Buildroot] [PATCH v9 0/6] libglib2 2.82 series with bootstrap
2025-01-20 21:17 [Buildroot] [PATCH v9 0/6] libglib2 2.82 series with bootstrap Fiona Klute via buildroot
` (5 preceding siblings ...)
2025-01-20 21:17 ` [Buildroot] [PATCH v9 6/6] package/network-manager: add optional dependency on gobject-introspection Fiona Klute via buildroot
@ 2025-02-04 15:33 ` Thomas Petazzoni via buildroot
6 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-02-04 15:33 UTC (permalink / raw)
To: Fiona Klute via buildroot
Cc: Fiona Klute, Eric Le Bihan, Yann E . MORIN, James Hilliard,
Marcus Hoffmann, Fabrice Fontaine
Hello Fiona,
On Mon, 20 Jan 2025 22:17:01 +0100
Fiona Klute via buildroot <buildroot@buildroot.org> wrote:
> 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:
You will not believe, but I've merged your series! First of all, thanks
a LOT for your work on this topic and your persistence. It's really
great to have someone who was brave enough to tackle this quite
complicated topic and push it to completion. Kudos to you for this!
Compared to your patch series, here is what I did:
- Added a fix for the network-manager package that was not building
with toolchains using < 4.20 kernel headers. This was not initially
related to your series, but since I tested your work with
NetworkManager, I encountered the build issue.
- Added a fix for the Python SDBus NetworkManager test, which was
failing because of the above issue.
- Added a new test case based on the info you have provided in your
cover letter to test i11n with NetworkManager. I have assigned you as
the maintainer of this test in the DEVELOPERS file. I hope this is OK
for you of course.
I did one minor change in the libglib2.mk file also, I'll reply
separately to it.
Since your series contains a fairly significant update to libglib2, it
would be good to keep an eye on the autobuilders in the coming days for
potentially fallouts from this version bump (affecting other packages).
Once again, kudos and thanks a lot!
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] 9+ messages in thread
end of thread, other threads:[~2025-02-04 15:33 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-20 21:17 [Buildroot] [PATCH v9 0/6] libglib2 2.82 series with bootstrap Fiona Klute via buildroot
2025-01-20 21:17 ` [Buildroot] [PATCH v9 1/6] package/json-glib: bump to version 1.10.6 Fiona Klute via buildroot
2025-01-20 21:17 ` [Buildroot] [PATCH v9 2/6] package/{gobject-introspection, libglib2}: bump to {1.82.0, 2.82.4} Fiona Klute via buildroot
2025-02-04 8:31 ` Thomas Petazzoni via buildroot
2025-01-20 21:17 ` [Buildroot] [PATCH v9 3/6] package/gobject-introspection: works with musl now Fiona Klute via buildroot
2025-01-20 21:17 ` [Buildroot] [PATCH v9 4/6] package/python-gobject: allow build with musl Fiona Klute via buildroot
2025-01-20 21:17 ` [Buildroot] [PATCH v9 5/6] package/python-gobject: bump to version 3.50.0 Fiona Klute via buildroot
2025-01-20 21:17 ` [Buildroot] [PATCH v9 6/6] package/network-manager: add optional dependency on gobject-introspection Fiona Klute via buildroot
2025-02-04 15:33 ` [Buildroot] [PATCH v9 0/6] libglib2 2.82 series with bootstrap Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox