libglib2: bump to version 2.58.1
PATCH 1/1 libglib2: bump to version 2.58.1
- Update second patch
- Remove third and fifth patches (already in version)
- Add a new patch to fix a missing header
- Add LIBGLIB2_GTK_DOC_HOOK so autoreconf do not fail on the following error:
automake: error: cannot open < gtk-doc.make: No such file or directory
---
package/libglib2/0002-disable-tests.patch | 8 +--
...code-python-path-into-various-tools.patch} | 0
...gobject-fix-compilation-with-gcc-4.7.patch | 50 ------------------
...0004-grefcount-add-missing-gatomic.h.patch | 38 ++++++++++++++
...compilation-without-F_-S-G-ETPIPE_SZ.patch | 52 -------------------
package/libglib2/libglib2.hash | 4 +-
package/libglib2/libglib2.mk | 11 +++-
7 files changed, 55 insertions(+), 108 deletions(-)
rename package/libglib2/{0004-Do-not-hardcode-python-path-into-various-tools.patch => 0003-Do-not-hardcode-python-path-into-various-tools.patch} (100%)
delete mode 100644 package/libglib2/0003-gobject-fix-compilation-with-gcc-4.7.patch
create mode 100644 package/libglib2/0004-grefcount-add-missing-gatomic.h.patch
delete mode 100644 package/libglib2/0005-gio-fix-compilation-without-F_-S-G-ETPIPE_SZ.patchpackage/libglib2/0002-disable-tests.patch +5 -3
@@ -8,6 +8,8 @@ gets mixed with distro python leading to build failures. Signed-off-by: Gustavo Zacarias <[email protected]> Signed-off-by: Adam Duskett <[email protected]> +Signed-off-by: Fabrice Fontaine <[email protected]> +[Update for version 2.58.1] --- Makefile.am | 2 +- gio/Makefile.am | 2 +-
@@ -22,9 +24,9 @@ index 008ad58..007332d 100644 ACLOCAL_AMFLAGS = -I m4macros ${ACLOCAL_FLAGS} --SUBDIRS = . m4macros glib gmodule gthread gobject gio po docs tests -+SUBDIRS = . m4macros glib gmodule gthread gobject gio po docs - DIST_SUBDIRS = $(SUBDIRS) build win32 +-SUBDIRS = . m4macros glib gmodule gthread gobject gio po docs tests subprojects ++SUBDIRS = . m4macros glib gmodule gthread gobject gio po docs subprojects + DIST_SUBDIRS = $(SUBDIRS) build bin_SCRIPTS = glib-gettextize diff --git a/gio/Makefile.am b/gio/Makefile.am
package/libglib2/0003-Do-not-hardcode-python-path-into-various-tools.patch renamed from package/libglib2/0004-Do-not-hardcode-python-path-into-various-tools.patch +0 -0
package/libglib2/0003-gobject-fix-compilation-with-gcc-4.7.patch deleted +0 -50
50 lines not on this page · raw message
package/libglib2/0004-grefcount-add-missing-gatomic.h.patch new file +38 -0
@@ -0,0 +1,38 @@ +From 09c149453ac969dedb1cb2d15d489d1dd81412bf Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine <[email protected]> +Date: Sat, 13 Oct 2018 23:10:33 +0200 +Subject: [PATCH] grefcount: add missing gatomic.h +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Without gatomic.h, build fails on: +In file included from garcbox.c:24:0: +garcbox.c: In function ?g_atomic_rc_box_acquire?: +grefcount.h:101:13: error: implicit declaration of function ?g_atomic_int_get?; did you mean ?__atomic_store?? [-Werror=implicit-function-declaration] + (void) (g_atomic_int_get (rc) == G_MAXINT ? 0 : g_atomic_int_inc ((rc))); \ + ^ +garcbox.c:292:3: note: in expansion of macro ?g_atomic_ref_count_inc? + g_atomic_ref_count_inc (&real_box->ref_count); + +Signed-off-by: Fabrice Fontaine <[email protected]> +[Upstream status: https://gitlab.gnome.org/GNOME/glib/merge_requests/400] +--- + glib/grefcount.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/glib/grefcount.h b/glib/grefcount.h +index dec9a5ffb..b6eced1b7 100644 +--- a/glib/grefcount.h ++++ b/glib/grefcount.h +@@ -23,6 +23,7 @@ + #error "Only <glib.h> can be included directly." + #endif + ++#include <glib/gatomic.h> + #include <glib/gtypes.h> + + G_BEGIN_DECLS +-- +2.17.1 +
package/libglib2/0005-gio-fix-compilation-without-F_-S-G-ETPIPE_SZ.patch deleted +0 -52
52 lines not on this page · raw message
package/libglib2/libglib2.hash +2 -2
@@ -1,4 +1,4 @@ -# https://download.gnome.org/sources/glib/2.56/glib-2.56.1.sha256sum -sha256 40ef3f44f2c651c7a31aedee44259809b6f03d3d20be44545cd7d177221c0b8d glib-2.56.1.tar.xz +# https://download.gnome.org/sources/glib/2.58/glib-2.58.1.sha256sum +sha256 97d6a9d926b6aa3dfaadad3077cfb43eec74432ab455dff14250c769d526d7d6 glib-2.58.1.tar.xz # License files, locally calculated sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING
package/libglib2/libglib2.mk +10 -1
@@ -4,7 +4,7 @@ # ################################################################################ -LIBGLIB2_VERSION_MAJOR = 2.56 +LIBGLIB2_VERSION_MAJOR = 2.58 LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).1 LIBGLIB2_SOURCE = glib-$(LIBGLIB2_VERSION).tar.xz LIBGLIB2_SITE = http://ftp.gnome.org/pub/gnome/sources/glib/$(LIBGLIB2_VERSION_MAJOR)
@@ -13,6 +13,15 @@ LIBGLIB2_LICENSE_FILES = COPYING # 0002-disable-tests.patch LIBGLIB2_AUTORECONF = YES +# Copy what is done in autogen.sh when gtk-doc is not available +define LIBGLIB2_GTK_DOC_HOOK + echo "EXTRA_DIST=" > $(@D)/gtk-doc.make + echo "CLEANFILES=" >> $(@D)/gtk-doc.make +endef + +LIBGLIB2_PRE_CONFIGURE_HOOKS += LIBGLIB2_GTK_DOC_HOOK +HOST_LIBGLIB2_PRE_CONFIGURE_HOOKS += LIBGLIB2_GTK_DOC_HOOK + LIBGLIB2_INSTALL_STAGING = YES LIBGLIB2_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install
Signature · 1 line
2.17.1
Thomas Petazzoni
AppliedPATCH 1/1 libglib2: bump to version 2.58.1
Hello,
Quoted 8 lines · Fabrice Fontaine
- Update second patch
- Remove third and fifth patches (already in version)
- Add a new patch to fix a missing header
- AddLIBGLIB2_GTK_DOC_HOOKso autoreconf do not fail on the following error:
automake: error: cannot open < gtk-doc.make: No such file or directorySigned-off-by Fabrice Fontaine <[email protected]>
Quoted 13 lines
---
package/libglib2/0002-disable-tests.patch | 8 +--
...code-python-path-into-various-tools.patch} | 0
...gobject-fix-compilation-with-gcc-4.7.patch | 50 ------------------
...0004-grefcount-add-missing-gatomic.h.patch | 38 ++++++++++++++
...compilation-without-F_-S-G-ETPIPE_SZ.patch | 52 -------------------
package/libglib2/libglib2.hash | 4 +-
package/libglib2/libglib2.mk | 11 +++-
7 files changed, 55 insertions(+), 108 deletions(-)
rename package/libglib2/{0004-Do-not-hardcode-python-path-into-various-tools.patch => 0003-Do-not-hardcode-python-path-into-various-tools.patch} (100%)
delete mode 100644 package/libglib2/0003-gobject-fix-compilation-with-gcc-4.7.patch
create mode 100644 package/libglib2/0004-grefcount-add-missing-gatomic.h.patch
delete mode 100644 package/libglib2/0005-gio-fix-compilation-without-F_-S-G-ETPIPE_SZ.patchApplied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH 1/1 libglib2: bump to version 2.58.1
Fabrice, Thomas, All,
On 2018-12-02 14:00 +0100, Thomas Petazzoni spake thusly:
Quoted 23 lines · Fabrice Fontaine
Quoted 8 lines
- Update second patch
- Remove third and fifth patches (already in version)
- Add a new patch to fix a missing header
- AddLIBGLIB2_GTK_DOC_HOOKso autoreconf do not fail on the following error:
automake: error: cannot open < gtk-doc.make: No such file or directorySigned-off-by Fabrice Fontaine <[email protected]>Quoted 13 lines
--- package/libglib2/0002-disable-tests.patch | 8 +-- ...code-python-path-into-various-tools.patch} | 0 ...gobject-fix-compilation-with-gcc-4.7.patch | 50 ------------------ ...0004-grefcount-add-missing-gatomic.h.patch | 38 ++++++++++++++ ...compilation-without-F_-S-G-ETPIPE_SZ.patch | 52 ------------------- package/libglib2/libglib2.hash | 4 +- package/libglib2/libglib2.mk | 11 +++- 7 files changed, 55 insertions(+), 108 deletions(-) rename package/libglib2/{0004-Do-not-hardcode-python-path-into-various-tools.patch => 0003-Do-not-hardcode-python-path-into-various-tools.patch} (100%) delete mode 100644 package/libglib2/0003-gobject-fix-compilation-with-gcc-4.7.patch create mode 100644 package/libglib2/0004-grefcount-add-missing-gatomic.h.patch delete mode 100644 package/libglib2/0005-gio-fix-compilation-without-F_-S-G-ETPIPE_SZ.patch
Quoted 1 line
Applied to master, thanks.
As you can see on the autobuilders, thius breaks all glib-using packages:
libsoup-2.62.3
http://autobuild.buildroot.org/results/e44/e449948077bc03cee57c567332c17f51371b6086//
/bin/sh: /usr/bin/glib-mkenums: No such file or directory
atk-2.28.1
http://autobuild.buildroot.org/results/e9e/e9ebc4f7d6ccf90a9a0800511472367312432137/
/bin/bash: /usr/bin/glib-genmarshal: No such file or directory
dbus-glib-0.110
http://autobuild.buildroot.org/results/2e4/2e4285d47f6295e1b9f9c05abe34df443cad7f9e/
/bin/sh: /usr/bin/glib-genmarshal: No such file or directory
And so on...
I've investigated a bit, and glib-2.0.pc contains (excerpt):
exec_prefix=/usr
bindir=${exec_prefix}/bin
glib_genmarshal=${bindir}/glib-genmarshal
glib_mkenums=${bindir}/glib-mkenumsAnd, for example dbus-glib, use pkg-config to get the path to, e.g., glib_genmarshal:
GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
AC_SUBST(GLIB_GENMARSHAL)And if one does exaectly that:
$ /home/ymorin/dev/buildroot/O/host/bin/pkgconf --variable=glib_genmarshal glib-2.0
/usr/bin/glib-genmarshalOf course, on my mach8ine, that one did exist, so the build succeed. But most autobuilders don't have it, and the build fails.
The situation is similar for the two other tools, gobject-query and glib-mkenums.
So, the solutions I have for now are:
1- fix each package and pass them GLIB_GENMARSHAL=$(STAGING_DIR)/bin/glib-genmarshal
(similarly for the two other tools)
2- teach pkgconf to replace even more variables. This is not very
satisfying, and we won't be able to keep up in the long term. We hould at least teach pkgconf to look for that list in an environment variable, at least, to avoid tweaking the code over-and-over again.
However, (1) is not totally free: dbus-glib does not accept it from the environment, because they borked the way to call glib-genmarshal (it's basically hard-coded). I have fixed it and submitted upstream [0], so at least we have that one fixed, but we still have the others, the numerous croud of glib-dependent packages, to test and fix one by one...
[0] https://gitlab.freedesktop.org/dbus/dbus-glib/merge_requests/2
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 1/1 libglib2: bump to version 2.58.1
Dear Yann,
Le dim. 2 d?c. 2018 ? 18:23, Yann E. MORIN <[email protected]> a ?crit :
Quoted 79 lines
Fabrice, Thomas, All,
On 2018-12-02 14:00 +0100, Thomas Petazzoni spake thusly:
Quoted 23 lines · Fabrice Fontaine
Quoted 8 lines
- Update second patch
- Remove third and fifth patches (already in version)
- Add a new patch to fix a missing header
- AddLIBGLIB2_GTK_DOC_HOOKso autoreconf do not fail on the following error:
automake: error: cannot open < gtk-doc.make: No such file or directorySigned-off-by Fabrice Fontaine <[email protected]>Quoted 13 lines
--- package/libglib2/0002-disable-tests.patch | 8 +-- ...code-python-path-into-various-tools.patch} | 0 ...gobject-fix-compilation-with-gcc-4.7.patch | 50 ------------------ ...0004-grefcount-add-missing-gatomic.h.patch | 38 ++++++++++++++ ...compilation-without-F_-S-G-ETPIPE_SZ.patch | 52 ------------------- package/libglib2/libglib2.hash | 4 +- package/libglib2/libglib2.mk | 11 +++- 7 files changed, 55 insertions(+), 108 deletions(-) rename package/libglib2/{0004-Do-not-hardcode-python-path-into-various-tools.patch => 0003-Do-not-hardcode-python-path-into-various-tools.patch} (100%) delete mode 100644 package/libglib2/0003-gobject-fix-compilation-with-gcc-4.7.patch create mode 100644 package/libglib2/0004-grefcount-add-missing-gatomic.h.patch delete mode 100644 package/libglib2/0005-gio-fix-compilation-without-F_-S-G-ETPIPE_SZ.patchQuoted 1 line
Applied to master, thanks.
As you can see on the autobuilders, thius breaks all glib-using packages:
libsoup-2.62.3
http://autobuild.buildroot.org/results/e44/e449948077bc03cee57c567332c17f51371b6086//
/bin/sh:/usr/bin/glib-mkenums: No such file or directoryatk-2.28.1
http://autobuild.buildroot.org/results/e9e/e9ebc4f7d6ccf90a9a0800511472367312432137/
/bin/bash:/usr/bin/glib-genmarshal: No such file or directorydbus-glib-0.110
http://autobuild.buildroot.org/results/2e4/2e4285d47f6295e1b9f9c05abe34df443cad7f9e/
/bin/sh:/usr/bin/glib-genmarshal: No such file or directoryAnd so on...
I've investigated a bit, and glib-2.0.pc contains (excerpt):
exec_prefix=/usr bindir=${exec_prefix}/bin glib_genmarshal=${bindir}/glib-genmarshal glib_mkenums=${bindir}/glib-mkenumsAnd, for example dbus-glib, use pkg-config to get the path to, e.g.,
glib_genmarshal:GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0` AC_SUBST(GLIB_GENMARSHAL)And if one does exaectly that:
$ /home/ymorin/dev/buildroot/O/host/bin/pkgconf --variable=glib_genmarshal glib-2.0 /usr/bin/glib-genmarshalOf course, on my mach8ine, that one did exist, so the build succeed. But most autobuilders don't have it, and the build fails.
The situation is similar for the two other tools, gobject-query and glib-mkenums.
So, the solutions I have for now are:
1- fix each package and pass them GLIB_GENMARSHAL=$(STAGING_DIR)/bin/glib-genmarshal
(similarly for the two other tools)2- teach pkgconf to replace even more variables. This is not very
satisfying, and we won't be able to keep up in the long term. We hould at least teach pkgconf to look for that list in an environment variable, at least, to avoid tweaking the code over-and-over again.
Quoted 7 lines
However, (1) is not totally free: dbus-glib does not accept it from the environment, because they borked the way to call glib-genmarshal (it's basically hard-coded). I have fixed it and submitted upstream [0], so at least we have that one fixed, but we still have the others, the numerous croud of glib-dependent packages, to test and fix one by one...
[0] https://gitlab.freedesktop.org/dbus/dbus-glib/merge_requests/2
Thanks a lot for investigating, I'm more in favor of (2) because most of the glib packages don't have any environment variables. However, it should be noted that a lot of glib packages (libsoup, gdk-pixpuf, atk, pango) have switched to meson in their latest upstream versions.
Meson has a gnome module to find and call genmarshal, mkenums, etc ... and this module does not use the pkgconfig file to find the path of these binaries.
I'll start with atk.
Quoted 11 lines
Regards,
Yann E. MORIN.--
.-----------------.--------------------.------------------.--------------------.| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |'------------------------------^-------^------------------^--------------------'
Best Regards,
Fabrice
PATCH 1/1 libglib2: bump to version 2.58.1
Fabrice, All,
On 2018-12-03 08:23 +0100, Fabrice Fontaine spake thusly:
Quoted 4 lines
Le dim. 2 d?c. 2018 ? 18:23, Yann E. MORIN <[email protected]> a ?crit :
Quoted 3 lines
On 2018-12-02 14:00 +0100, Thomas Petazzoni spake thusly:
Quoted 1 line · Fabrice Fontaine
As you can see on the autobuilders, thius breaks all glib-using packages:
[--SNIP--]
Quoted 9 lines
Quoted 9 lines
So, the solutions I have for now are:
1- fix each package and pass them GLIB_GENMARSHAL=$(STAGING_DIR)/bin/glib-genmarshal
(similarly for the two other tools)2- teach pkgconf to replace even more variables. This is not very
satisfying, and we won't be able to keep up in the long term. We hould at least teach pkgconf to look for that list in an environment variable, at least, to avoid tweaking the code over-and-over again.
[--SNIP--]
Quoted 8 lines
Thanks a lot for investigating, I'm more in favor of (2) because most of the glib packages don't have any environment variables. However, it should be noted that a lot of glib packages (libsoup, gdk-pixpuf, atk, pango) have switched to meson in their latest upstream versions.
Meson has a gnome module to find and call genmarshal, mkenums, etc ... and this module does not use the pkgconfig file to find the path of these binaries.
Well, dbus-glib is in maintenance-mode only, so it's not going to be updated to meson I am afraid (or should I say, relieved?). So we still have some fixing to do.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 1/1 libglib2: bump to version 2.58.1
In reply to Yann E. MORINHello,
Quoted 4 lines · Yann E. MORIN
2- teach pkgconf to replace even more variables. This is not very
satisfying, and we won't be able to keep up in the long term. We hould at least teach pkgconf to look for that list in an environment variable, at least, to avoid tweaking the code over-and-over again.
Note that we have a pkg-config bump in the pending patches:
http://patchwork.ozlabs.org/patch/967653/. The bump is quite major, and potentially affects how pkg-config behaves with variables. It might be worth testing what happens, and in any case, if a solution is designed, it should be based on this newer version of pkg-config.
For now, I will revert this libglib2 bump. I'll wait a bit for the dust to settle, and then I will apply this pkg-config bump, which is another risky change. The kind of stuff that is good to do early in the development cycle :-)
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH 1/1 libglib2: bump to version 2.58.1
Thomas, Fabrice, All,
On 2018-12-03 08:38 +0100, Thomas Petazzoni spake thusly:
Quoted 13 lines · Yann E. MORIN
Quoted 5 lines
2- teach pkgconf to replace even more variables. This is not very
satisfying, and we won't be able to keep up in the long term. We hould at least teach pkgconf to look for that list in an environment variable, at least, to avoid tweaking the code over-and-over again.Note that we have a pkg-config bump in the pending patches:
http://patchwork.ozlabs.org/patch/967653/. The bump is quite major, and potentially affects how pkg-config behaves with variables. It might be worth testing what happens, and in any case, if a solution is designed, it should be based on this newer version of pkg-config.
Quoted 4 lines
For now, I will revert this libglib2 bump. I'll wait a bit for the dust to settle, and then I will apply this pkg-config bump, which is another risky change. The kind of stuff that is good to do early in the development cycle :-)
So, I tested your pkgconf bump, and indeed it solves this particular glib-genmarshal et al. issues, by now returning the sysrooted path:
$ /home/ymorin/dev/buildroot/O/host/bin/pkg-config --variable=glib_genmarshal glib-2.0
/home/ymorin/dev/buildroot/O/host/bin/../m68k-buildroot-linux-uclibc/sysroot/usr/bin/glib-genmarshalWee! :-)
Of course, do not take that as a tested-by tag for the bump, it is too limited to be so.
I'll kick-start two biggish build this morning, with just the new pkgconf and see how it behaves across the tree, once without the libglib2, andother with.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'