* [Buildroot] [PATCH v2 1/1] libglib2: bump to 2.58.3
@ 2019-02-05 18:56 aduskett at gmail.com
2019-02-05 19:12 ` Baruch Siach
2019-02-05 19:29 ` Thomas Petazzoni
0 siblings, 2 replies; 4+ messages in thread
From: aduskett at gmail.com @ 2019-02-05 18:56 UTC (permalink / raw)
To: buildroot
From: Adam Duskett <Aduskett@gmail.com>
In addition:
- 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
- Add a new patch: package/libglib2/0005-use-tooldir-in-pc-file.patch
This patch fixes the previous autobuild errors by modifying the glib-2.0.pc
file and adding a tooldir variable, of which the glib_genmarshal,
gobject_query, and glib_mkenums of which will be prefixed. Then a
post_staging_install_hook sed's the path to point towards
$(STAGING_DIR)/usr/bin
All tests passed with the packages: AT, libsoup, and dbus-glib selected:
br-arm-full [1/6]: OK
br-arm-cortex-a9-glibc [2/6]: OK
br-arm-cortex-m4-full [3/6]: SKIPPED
br-x86-64-musl [4/6]: OK
br-arm-full-static [5/6]: OK
armv5-ctng-linux-gnueabi [6/6]: OK
Signed-off-by: Adam Duskett <Aduskett@gmail.com>
---
Changes v1 -> v2:
- Instead of removing ${bindir}, add ${tooldir} and sed the location
in a post_staging_install_hook (Arnout)
- Add a more verbose commit message (Arnout)
package/libglib2/0002-disable-tests.patch | 8 ++--
.../0005-use-tooldir-in-pc-file.patch | 37 +++++++++++++++++++
package/libglib2/libglib2.hash | 4 +-
package/libglib2/libglib2.mk | 17 ++++++++-
4 files changed, 60 insertions(+), 6 deletions(-)
create mode 100644 package/libglib2/0005-use-tooldir-in-pc-file.patch
diff --git a/package/libglib2/0002-disable-tests.patch b/package/libglib2/0002-disable-tests.patch
index 523ebb35ac..e03dc2fee2 100644
--- a/package/libglib2/0002-disable-tests.patch
+++ b/package/libglib2/0002-disable-tests.patch
@@ -8,6 +8,8 @@ gets mixed with distro python leading to build failures.
Signed-off-by: Gustavo Zacarias <gustavo.zacarias@free-electrons.com>
Signed-off-by: Adam Duskett <aduskett@codeblue.com>
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[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
diff --git a/package/libglib2/0005-use-tooldir-in-pc-file.patch b/package/libglib2/0005-use-tooldir-in-pc-file.patch
new file mode 100644
index 0000000000..4272ba364a
--- /dev/null
+++ b/package/libglib2/0005-use-tooldir-in-pc-file.patch
@@ -0,0 +1,37 @@
+From 9170a9030683972677b2a04fea7f7f79f28dc349 Mon Sep 17 00:00:00 2001
+From: Adam Duskett <aduskett@gmail.com>
+Date: Tue, 5 Feb 2019 18:20:54 +0000
+Subject: [PATCH] use tooldir in pc file
+
+Newer versions of pkg-config will not respect --variable.and instead will
+try to point to the host directory structure.
+
+Instead, add a tools_prefix to the glib-2.0.pc.in file
+and then sed the location in the .mk file to point to $(STAGING_DIR)/usr/bin
+
+Signed-off-by: Adam Duskett <aduskett@gmail.com>
+---
+ glib-2.0.pc.in | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/glib-2.0.pc.in b/glib-2.0.pc.in
+index 3c5ea81..f4cfd4c 100644
+--- a/glib-2.0.pc.in
++++ b/glib-2.0.pc.in
+@@ -4,9 +4,10 @@ libdir=@libdir@
+ includedir=@includedir@
+
+ bindir=@bindir@
+-glib_genmarshal=${bindir}/glib-genmarshal
+-gobject_query=${bindir}/gobject-query
+-glib_mkenums=${bindir}/glib-mkenums
++toolsdir=@bindir@
++glib_genmarshal=${toolsdir}/glib-genmarshal
++gobject_query=${toolsdir}/gobject-query
++glib_mkenums=${toolsdir}/glib-mkenums
+
+ Name: GLib
+ Description: C Utility Library
+--
+2.19.1
+
diff --git a/package/libglib2/libglib2.hash b/package/libglib2/libglib2.hash
index 57403a2154..7aa4c6cc02 100644
--- a/package/libglib2/libglib2.hash
+++ b/package/libglib2/libglib2.hash
@@ -1,4 +1,4 @@
-# https://download.gnome.org/sources/glib/2.56/glib-2.56.3.sha256sum
-sha256 a9a4c5b4c81b6c75bc140bdf5e32120ef3ce841b7413214ecf5f987acec74cb2 glib-2.56.3.tar.xz
+# http://ftp.gnome.org/pub/gnome/sources/glib/2.58/glib-2.58.3.sha256sum
+sha256 8f43c31767e88a25da72b52a40f3301fefc49a665b56dc10ee7cc9565cbe7481 glib-2.58.3.tar.xz
# License files, locally calculated
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING
diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk
index f602c371f5..b4b918bf50 100644
--- a/package/libglib2/libglib2.mk
+++ b/package/libglib2/libglib2.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBGLIB2_VERSION_MAJOR = 2.56
+LIBGLIB2_VERSION_MAJOR = 2.58
LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).3
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
@@ -154,6 +163,12 @@ endef
LIBGLIB2_POST_INSTALL_TARGET_HOOKS += LIBGLIB2_REMOVE_DEV_FILES
+define LIBGLIB2_FIX_PC_FILE
+$(SED) "s at toolsdir=.*@toolsdir=$(STAGING_DIR)/usr/bin at g" \
+ $(STAGING_DIR)/usr/lib/pkgconfig/glib-2.0.pc
+endef
+LIBGLIB2_POST_INSTALL_STAGING_HOOKS += LIBGLIB2_FIX_PC_FILE
+
# Remove schema sources/DTDs, we use staging ones to compile them.
# Do so at target finalization since other packages install additional
# ones and we want to deal with it in a single place.
--
2.17.2 (Apple Git-113)
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH v2 1/1] libglib2: bump to 2.58.3
2019-02-05 18:56 [Buildroot] [PATCH v2 1/1] libglib2: bump to 2.58.3 aduskett at gmail.com
@ 2019-02-05 19:12 ` Baruch Siach
2019-02-05 19:29 ` Thomas Petazzoni
1 sibling, 0 replies; 4+ messages in thread
From: Baruch Siach @ 2019-02-05 19:12 UTC (permalink / raw)
To: buildroot
Hi Adam,
On Tue, Feb 05 2019, aduskett at gmail.com wrote:
> From: Adam Duskett <Aduskett@gmail.com>
>
> In addition:
> - Update second patch
> - Remove third and fifth patches (already in version)
Are you sure? I don't see any patches removed in this patch.
> - Add a new patch to fix a missing header
Which patch?
> - 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
>
> - Add a new patch: package/libglib2/0005-use-tooldir-in-pc-file.patch
> This patch fixes the previous autobuild errors by modifying the glib-2.0.pc
> file and adding a tooldir variable, of which the glib_genmarshal,
> gobject_query, and glib_mkenums of which will be prefixed. Then a
> post_staging_install_hook sed's the path to point towards
> $(STAGING_DIR)/usr/bin
Why not prefix the patch file name with 0003?
baruch
> All tests passed with the packages: AT, libsoup, and dbus-glib selected:
> br-arm-full [1/6]: OK
> br-arm-cortex-a9-glibc [2/6]: OK
> br-arm-cortex-m4-full [3/6]: SKIPPED
> br-x86-64-musl [4/6]: OK
> br-arm-full-static [5/6]: OK
> armv5-ctng-linux-gnueabi [6/6]: OK
>
> Signed-off-by: Adam Duskett <Aduskett@gmail.com>
> ---
> Changes v1 -> v2:
> - Instead of removing ${bindir}, add ${tooldir} and sed the location
> in a post_staging_install_hook (Arnout)
> - Add a more verbose commit message (Arnout)
>
> package/libglib2/0002-disable-tests.patch | 8 ++--
> .../0005-use-tooldir-in-pc-file.patch | 37 +++++++++++++++++++
> package/libglib2/libglib2.hash | 4 +-
> package/libglib2/libglib2.mk | 17 ++++++++-
> 4 files changed, 60 insertions(+), 6 deletions(-)
> create mode 100644 package/libglib2/0005-use-tooldir-in-pc-file.patch
>
> diff --git a/package/libglib2/0002-disable-tests.patch b/package/libglib2/0002-disable-tests.patch
> index 523ebb35ac..e03dc2fee2 100644
> --- a/package/libglib2/0002-disable-tests.patch
> +++ b/package/libglib2/0002-disable-tests.patch
> @@ -8,6 +8,8 @@ gets mixed with distro python leading to build failures.
>
> Signed-off-by: Gustavo Zacarias <gustavo.zacarias@free-electrons.com>
> Signed-off-by: Adam Duskett <aduskett@codeblue.com>
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> +[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
> diff --git a/package/libglib2/0005-use-tooldir-in-pc-file.patch b/package/libglib2/0005-use-tooldir-in-pc-file.patch
> new file mode 100644
> index 0000000000..4272ba364a
> --- /dev/null
> +++ b/package/libglib2/0005-use-tooldir-in-pc-file.patch
> @@ -0,0 +1,37 @@
> +From 9170a9030683972677b2a04fea7f7f79f28dc349 Mon Sep 17 00:00:00 2001
> +From: Adam Duskett <aduskett@gmail.com>
> +Date: Tue, 5 Feb 2019 18:20:54 +0000
> +Subject: [PATCH] use tooldir in pc file
> +
> +Newer versions of pkg-config will not respect --variable.and instead will
> +try to point to the host directory structure.
> +
> +Instead, add a tools_prefix to the glib-2.0.pc.in file
> +and then sed the location in the .mk file to point to $(STAGING_DIR)/usr/bin
> +
> +Signed-off-by: Adam Duskett <aduskett@gmail.com>
> +---
> + glib-2.0.pc.in | 7 ++++---
> + 1 file changed, 4 insertions(+), 3 deletions(-)
> +
> +diff --git a/glib-2.0.pc.in b/glib-2.0.pc.in
> +index 3c5ea81..f4cfd4c 100644
> +--- a/glib-2.0.pc.in
> ++++ b/glib-2.0.pc.in
> +@@ -4,9 +4,10 @@ libdir=@libdir@
> + includedir=@includedir@
> +
> + bindir=@bindir@
> +-glib_genmarshal=${bindir}/glib-genmarshal
> +-gobject_query=${bindir}/gobject-query
> +-glib_mkenums=${bindir}/glib-mkenums
> ++toolsdir=@bindir@
> ++glib_genmarshal=${toolsdir}/glib-genmarshal
> ++gobject_query=${toolsdir}/gobject-query
> ++glib_mkenums=${toolsdir}/glib-mkenums
> +
> + Name: GLib
> + Description: C Utility Library
> +--
> +2.19.1
> +
> diff --git a/package/libglib2/libglib2.hash b/package/libglib2/libglib2.hash
> index 57403a2154..7aa4c6cc02 100644
> --- a/package/libglib2/libglib2.hash
> +++ b/package/libglib2/libglib2.hash
> @@ -1,4 +1,4 @@
> -# https://download.gnome.org/sources/glib/2.56/glib-2.56.3.sha256sum
> -sha256 a9a4c5b4c81b6c75bc140bdf5e32120ef3ce841b7413214ecf5f987acec74cb2 glib-2.56.3.tar.xz
> +# http://ftp.gnome.org/pub/gnome/sources/glib/2.58/glib-2.58.3.sha256sum
> +sha256 8f43c31767e88a25da72b52a40f3301fefc49a665b56dc10ee7cc9565cbe7481 glib-2.58.3.tar.xz
> # License files, locally calculated
> sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING
> diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk
> index f602c371f5..b4b918bf50 100644
> --- a/package/libglib2/libglib2.mk
> +++ b/package/libglib2/libglib2.mk
> @@ -4,7 +4,7 @@
> #
> ################################################################################
>
> -LIBGLIB2_VERSION_MAJOR = 2.56
> +LIBGLIB2_VERSION_MAJOR = 2.58
> LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).3
> 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
>
> @@ -154,6 +163,12 @@ endef
>
> LIBGLIB2_POST_INSTALL_TARGET_HOOKS += LIBGLIB2_REMOVE_DEV_FILES
>
> +define LIBGLIB2_FIX_PC_FILE
> +$(SED) "s at toolsdir=.*@toolsdir=$(STAGING_DIR)/usr/bin at g" \
> + $(STAGING_DIR)/usr/lib/pkgconfig/glib-2.0.pc
> +endef
> +LIBGLIB2_POST_INSTALL_STAGING_HOOKS += LIBGLIB2_FIX_PC_FILE
> +
> # Remove schema sources/DTDs, we use staging ones to compile them.
> # Do so at target finalization since other packages install additional
> # ones and we want to deal with it in a single place.
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH v2 1/1] libglib2: bump to 2.58.3
2019-02-05 18:56 [Buildroot] [PATCH v2 1/1] libglib2: bump to 2.58.3 aduskett at gmail.com
2019-02-05 19:12 ` Baruch Siach
@ 2019-02-05 19:29 ` Thomas Petazzoni
2019-02-05 20:06 ` Arnout Vandecappelle
1 sibling, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2019-02-05 19:29 UTC (permalink / raw)
To: buildroot
On Tue, 5 Feb 2019 19:56:23 +0100
aduskett at gmail.com wrote:
> From: Adam Duskett <Aduskett@gmail.com>
>
> In addition:
> - 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
>
> - Add a new patch: package/libglib2/0005-use-tooldir-in-pc-file.patch
> This patch fixes the previous autobuild errors by modifying the glib-2.0.pc
> file and adding a tooldir variable, of which the glib_genmarshal,
> gobject_query, and glib_mkenums of which will be prefixed. Then a
I am confused by the double "of which" usage in this sentence.
> +define LIBGLIB2_FIX_PC_FILE
> +$(SED) "s at toolsdir=.*@toolsdir=$(STAGING_DIR)/usr/bin at g" \
> + $(STAGING_DIR)/usr/lib/pkgconfig/glib-2.0.pc
This kind of replacement with STAGING_DIR is a bit annoying for the
upcoming per-package stuff. Options that I see:
(1) Add 'bindir' to the list of pkg-config variables that should be
sysroot-prefixed. Works, but impact unknown.
(2) Add 'toolsdir' to the list of pkg-config variables that should be
sysroot-prefixed. Works, but impact unknown.
(3) Make toolsdir=${libdir}/../bin. Works, but ugly.
I don't have a good opinion on what is the best choice here. Let's see
what Arnout says.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH v2 1/1] libglib2: bump to 2.58.3
2019-02-05 19:29 ` Thomas Petazzoni
@ 2019-02-05 20:06 ` Arnout Vandecappelle
0 siblings, 0 replies; 4+ messages in thread
From: Arnout Vandecappelle @ 2019-02-05 20:06 UTC (permalink / raw)
To: buildroot
On 05/02/2019 20:29, Thomas Petazzoni wrote:
> On Tue, 5 Feb 2019 19:56:23 +0100
> aduskett at gmail.com wrote:
>
>> From: Adam Duskett <Aduskett@gmail.com>
>>
>> In addition:
>> - 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
>>
>> - Add a new patch: package/libglib2/0005-use-tooldir-in-pc-file.patch
>> This patch fixes the previous autobuild errors by modifying the glib-2.0.pc
>> file and adding a tooldir variable, of which the glib_genmarshal,
>> gobject_query, and glib_mkenums of which will be prefixed. Then a
>
> I am confused by the double "of which" usage in this sentence.
>
>> +define LIBGLIB2_FIX_PC_FILE
>> +$(SED) "s at toolsdir=.*@toolsdir=$(STAGING_DIR)/usr/bin at g" \
>> + $(STAGING_DIR)/usr/lib/pkgconfig/glib-2.0.pc
>
> This kind of replacement with STAGING_DIR is a bit annoying for the
> upcoming per-package stuff. Options that I see:
Why is it annoying? It will point to libglib2's staging dir, but that's fine,
isn't it?
>
> (1) Add 'bindir' to the list of pkg-config variables that should be
> sysroot-prefixed. Works, but impact unknown.
With this option, the patch is not even needed!
Unfortunately, it might result in runtime breakage too... if some .pc's bindir
is used to set the path to some executable... Like
CFLAGS += -DBASH_PATH=`pkg-config bash --variable=bindir`/bash
> (2) Add 'toolsdir' to the list of pkg-config variables that should be
> sysroot-prefixed. Works, but impact unknown.
Something similar was in fact my plan, that in the pkg-config wrapper we add
--define-variable=toolsdir=$STAGING_DIR
Regards,
Arnout
>
> (3) Make toolsdir=${libdir}/../bin. Works, but ugly.
>
> I don't have a good opinion on what is the best choice here. Let's see
> what Arnout says.
>
> Thomas
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-02-05 20:06 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-05 18:56 [Buildroot] [PATCH v2 1/1] libglib2: bump to 2.58.3 aduskett at gmail.com
2019-02-05 19:12 ` Baruch Siach
2019-02-05 19:29 ` Thomas Petazzoni
2019-02-05 20:06 ` Arnout Vandecappelle
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.