mbox series

[next,0/3] libglib2 2.80 series with bootstrap

Message ID 20240823172341.1035485-1-fiona.klute@gmx.de
Headers show
Series libglib2 2.80 series with bootstrap | expand

Message

Fiona Klute Aug. 23, 2024, 5:23 p.m. UTC
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>

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 at [1].

Open points from my point of view are related to details of the
bootstrap process and dependency handling:

Libglib2 with introspection depends on gobject-introspection, but
adding a "select" would create a circular dependency that can't be
disabled. How should this be handled? Should libglib2 be built without
introspection (and bootstrap) if gobject-introspection isn't enabled,
or otherwise configurable?

Do we to use BR2_PACKAGE_HOST_QEMU_USER_MODE_ARGS in the Meson
exe_wrapper? If yes, how? LIBGLIB2_MESON_EXTRA_BINARIES does not allow
spaces, a wrapper script might be a workaround (but should probably be
generic if that's the way to go).

What about platforms where BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS
isn't 'y', so the exe_wrapper can't work? Should those fall back to
building without introspection? I suppose that'd be a point in favor
of making introspection conditional in libglib2.

Thanks in advance for the review,
Fiona

[1] https://gitlab.gnome.org/GNOME/glib/-/blob/17d1bf3c4962d942feea0830aeee6833104fef5d/NEWS#L429-438

Fiona Klute (WIWA) (3):
  package/{gobject-introspection, libglib2}: bump to {1.80.1, 2.80.4}
  package/python-gobject: bump to version 3.48.2
  package/network-manager: optional gobject-introspection

 package/gobject-introspection/Config.in       |  8 +-
 .../gobject-introspection.hash                |  4 +-
 .../gobject-introspection.mk                  | 11 ++-
 ...girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch | 38 ++++----
 ...rmat-in-gio-gunixconnection.c-part-2.patch | 93 ------------------
 ... 0002-link-with-latomic-when-needed.patch} |  0
 ...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 ----------
 package/libglib2/Config.in                    |  2 +
 ...girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch |  1 +
 .../0002-link-with-latomic-when-needed.patch  |  1 +
 .../libglib2-bootstrap.hash                   |  1 +
 .../libglib2-bootstrap/libglib2-bootstrap.mk  | 47 +++++++++
 package/libglib2/libglib2.hash                |  4 +-
 package/libglib2/libglib2.mk                  | 14 ++-
 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      |  2 +-
 20 files changed, 113 insertions(+), 334 deletions(-)
 delete mode 100644 package/libglib2/0002-Fix-error-format-in-gio-gunixconnection.c-part-2.patch
 rename package/libglib2/{0006-link-with-latomic-when-needed.patch => 0002-link-with-latomic-when-needed.patch} (100%)
 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
 create mode 120000 package/libglib2/libglib2-bootstrap/0001-meson.build-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch
 create mode 120000 package/libglib2/libglib2-bootstrap/0002-link-with-latomic-when-needed.patch
 create mode 120000 package/libglib2/libglib2-bootstrap/libglib2-bootstrap.hash
 create mode 100644 package/libglib2/libglib2-bootstrap/libglib2-bootstrap.mk

--
2.45.2