summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2020-12-03 15:27:52 +0100
committerMichael Olbrich <m.olbrich@pengutronix.de>2020-12-04 08:16:28 +0100
commitc7d53b7d511e3ab698a9d8a565a1093569b769f7 (patch)
tree1d1a7ca6bab7183eec9d2bf631ac2613a7f6fbc4
parent1f3a5cf12f75a793facd41a8409a993ab72af844 (diff)
downloadptxdist-c7d53b7d511e3ab698a9d8a565a1093569b769f7.tar.gz
ptxdist-c7d53b7d511e3ab698a9d8a565a1093569b769f7.tar.xz
gobject-introspection: version bump 1.56.1 -> 1.66.1
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r--patches/gobject-introspection-1.56.1/0001-don-t-build-g-ir-scanner-when-cross-compiling.patch119
l---------patches/gobject-introspection-1.56.1/autogen.sh1
-rw-r--r--patches/gobject-introspection-1.56.1/series5
-rw-r--r--patches/gobject-introspection-1.66.1/0001-dumper.py-don-t-close-fds.patch (renamed from patches/gobject-introspection-1.56.1/0002-dumper.py-don-t-close-fds.patch)4
-rw-r--r--patches/gobject-introspection-1.66.1/0002-meson-fix-building-with-Dbuild_introspection_data-fa.patch31
-rw-r--r--patches/gobject-introspection-1.66.1/0003-HACK-don-t-build-the-python-module-when-cross-compil.patch46
-rw-r--r--patches/gobject-introspection-1.66.1/series6
-rw-r--r--rules/gobject-introspection.in2
-rw-r--r--rules/gobject-introspection.make26
-rw-r--r--rules/host-gobject-introspection.in1
-rw-r--r--rules/host-gobject-introspection.make22
11 files changed, 112 insertions, 151 deletions
diff --git a/patches/gobject-introspection-1.56.1/0001-don-t-build-g-ir-scanner-when-cross-compiling.patch b/patches/gobject-introspection-1.56.1/0001-don-t-build-g-ir-scanner-when-cross-compiling.patch
deleted file mode 100644
index a711f7780..000000000
--- a/patches/gobject-introspection-1.56.1/0001-don-t-build-g-ir-scanner-when-cross-compiling.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-From: Michael Olbrich <m.olbrich@pengutronix.de>
-Date: Mon, 28 Dec 2015 11:42:16 +0100
-Subject: [PATCH] don't build g-ir-scanner when cross-compiling
-
-Note: Not for upstream. It depends on host-gobject-introspection.
-
-Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
----
- Makefile-gir.am | 5 ++++-
- Makefile-tools.am | 4 ++++
- Makefile.am | 2 ++
- common.mk | 10 ++++++++++
- configure.ac | 3 +++
- 5 files changed, 23 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile-gir.am b/Makefile-gir.am
-index 86ab5bf1eda4..61a540df922e 100644
---- a/Makefile-gir.am
-+++ b/Makefile-gir.am
-@@ -87,7 +87,10 @@ endif
-
- BUILT_GIRSOURCES += GLib-2.0.gir
-
--GLib-2.0.gir: g-ir-scanner g-ir-compiler$(EXEEXT)
-+if !USE_HOST_GI
-+GLib-2.0.gir: g-ir-scanner
-+endif
-+GLib-2.0.gir: g-ir-compiler$(EXEEXT)
-
- gir/DBusGLib-1.0.typelib: GObject-2.0.gir
-
-diff --git a/Makefile-tools.am b/Makefile-tools.am
-index 952937354e43..54135bffb84b 100644
---- a/Makefile-tools.am
-+++ b/Makefile-tools.am
-@@ -1,15 +1,18 @@
- bin_PROGRAMS += g-ir-compiler g-ir-generate g-ir-inspect
-+if !USE_HOST_GI
- bin_SCRIPTS += g-ir-scanner g-ir-annotation-tool
-
- if BUILD_DOCTOOL
- bin_SCRIPTS += g-ir-doc-tool
- endif
-+endif
-
- EXTRA_DIST += \
- tools/g-ir-tool-template.in
-
- TOOL_SUBSTITUTIONS = -e s,@libdir\@,$(libdir), -e s,@datarootdir\@,$(datarootdir), -e s,@PYTHON\@,$(PYTHON),
-
-+if !USE_HOST_GI
- g-ir-scanner: tools/g-ir-tool-template.in _giscanner.la Makefile
- $(AM_V_GEN) sed $(TOOL_SUBSTITUTIONS) -e s,@TOOL_MODULE\@,scannermain, -e s,@TOOL_FUNCTION\@,scanner_main, $< > $@.tmp && mv $@.tmp $@
- @chmod a+x $@
-@@ -21,6 +24,7 @@ g-ir-annotation-tool: tools/g-ir-tool-template.in _giscanner.la Makefile
- g-ir-doc-tool: tools/g-ir-tool-template.in _giscanner.la Makefile
- $(AM_V_GEN) sed $(TOOL_SUBSTITUTIONS) -e s,@TOOL_MODULE\@,docmain, -e s,@TOOL_FUNCTION\@,doc_main, $< > $@.tmp && mv $@.tmp $@
- @chmod a+x $@
-+endif
-
- g_ir_compiler_SOURCES = tools/compiler.c
- g_ir_compiler_CPPFLAGS = -DGIREPO_DEFAULT_SEARCH_PATH="\"$(libdir)\"" \
-diff --git a/Makefile.am b/Makefile.am
-index dafea3846a30..0fcea1988378 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -19,7 +19,9 @@ include Makefile.introspection
-
- include Makefile-cmph.am
- include Makefile-girepository.am
-+if !USE_HOST_GI
- include Makefile-giscanner.am
-+endif
- include Makefile-examples.am
- include Makefile-gir.am
- include Makefile-tools.am
-diff --git a/common.mk b/common.mk
-index b778f7aaf955..70872cd3d53d 100644
---- a/common.mk
-+++ b/common.mk
-@@ -6,6 +6,15 @@
- # module itself.
- #
-
-+if USE_HOST_GI
-+INTROSPECTION_SCANNER = \
-+ env PATH="$(PATH)" \
-+ LPATH=.libs \
-+ CC="$(CC)" \
-+ PYTHONPATH=$(top_builddir):$(top_srcdir) \
-+ UNINSTALLED_INTROSPECTION_BUILDDIR=$(top_builddir) \
-+ g-ir-scanner
-+else
- INTROSPECTION_SCANNER = \
- env PATH=".libs:$(PATH)" \
- LPATH=.libs \
-@@ -14,6 +23,7 @@ INTROSPECTION_SCANNER = \
- UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir) \
- UNINSTALLED_INTROSPECTION_BUILDDIR=$(top_builddir) \
- $(top_builddir)/g-ir-scanner
-+endif
-
- INTROSPECTION_SCANNER_ARGS = \
- --verbose \
-diff --git a/configure.ac b/configure.ac
-index 2a685146292a..e57144f9df56 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -273,7 +273,10 @@ case "$host" in
- pyexecdir=`echo $pyexecdir | tr '\\\\' '/'`
- ;;
- esac
-+AM_CONDITIONAL([USE_HOST_GI], [test "$cross_compiling" = yes])
-+AS_IF([test "$cross_compiling" != yes], [
- AM_CHECK_PYTHON_HEADERS(, AC_MSG_ERROR([Python headers not found]))
-+])
- if test "x$os_win32" = "xyes"; then
- AM_CHECK_PYTHON_LIBS(, AC_MSG_ERROR([Python libs not found. Windows requires Python modules to be explicitly linked to libpython.]))
- fi
diff --git a/patches/gobject-introspection-1.56.1/autogen.sh b/patches/gobject-introspection-1.56.1/autogen.sh
deleted file mode 120000
index 9f8a4cb7d..000000000
--- a/patches/gobject-introspection-1.56.1/autogen.sh
+++ /dev/null
@@ -1 +0,0 @@
-../autogen.sh \ No newline at end of file
diff --git a/patches/gobject-introspection-1.56.1/series b/patches/gobject-introspection-1.56.1/series
deleted file mode 100644
index 91226cec0..000000000
--- a/patches/gobject-introspection-1.56.1/series
+++ /dev/null
@@ -1,5 +0,0 @@
-# generated by git-ptx-patches
-#tag:base --start-number 1
-0001-don-t-build-g-ir-scanner-when-cross-compiling.patch
-0002-dumper.py-don-t-close-fds.patch
-# 576e62c4608e67bc940c4ff57593a48c - git-ptx-patches magic
diff --git a/patches/gobject-introspection-1.56.1/0002-dumper.py-don-t-close-fds.patch b/patches/gobject-introspection-1.66.1/0001-dumper.py-don-t-close-fds.patch
index 379950902..05606e784 100644
--- a/patches/gobject-introspection-1.56.1/0002-dumper.py-don-t-close-fds.patch
+++ b/patches/gobject-introspection-1.66.1/0001-dumper.py-don-t-close-fds.patch
@@ -10,10 +10,10 @@ Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/giscanner/dumper.py b/giscanner/dumper.py
-index 3c7220bc036a..58f62ee7a284 100644
+index e4b6ea03a301..cb3a7ad1659e 100644
--- a/giscanner/dumper.py
+++ b/giscanner/dumper.py
-@@ -288,7 +288,7 @@ class DumpCompiler(object):
+@@ -275,7 +275,7 @@ class DumpCompiler(object):
shell = utils.which(shell)
args = [shell, tf_name.replace('\\', '/')]
try:
diff --git a/patches/gobject-introspection-1.66.1/0002-meson-fix-building-with-Dbuild_introspection_data-fa.patch b/patches/gobject-introspection-1.66.1/0002-meson-fix-building-with-Dbuild_introspection_data-fa.patch
new file mode 100644
index 000000000..f788c564f
--- /dev/null
+++ b/patches/gobject-introspection-1.66.1/0002-meson-fix-building-with-Dbuild_introspection_data-fa.patch
@@ -0,0 +1,31 @@
+From: Michael Olbrich <m.olbrich@pengutronix.de>
+Date: Thu, 3 Dec 2020 15:29:01 +0100
+Subject: [PATCH] meson: fix building with -Dbuild_introspection_data=false
+
+Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
+---
+ meson.build | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 14af2b17109b..8429553d483e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -224,7 +224,7 @@ subdir('docs')
+
+ # The tests will also run, which is not possible if they
+ # were built for a different architecture.
+-if not meson.is_cross_build()
++if not meson.is_cross_build() and get_option('build_introspection_data')
+ subdir('tests')
+ endif
+
+@@ -283,7 +283,7 @@ pkg.generate(
+ # FIXME: meson.override_dependency() and declare_dependency()'s variable arguments
+ # are new in Meson 0.54.0, older versions of Meson won't be able to use g-i as
+ # subproject anyway
+-if meson.version().version_compare('>=0.54.0')
++if meson.version().version_compare('>=0.54.0') and get_option('build_introspection_data')
+ girepo_dep = declare_dependency(
+ sources: typelibs,
+ dependencies: girepo_dep,
diff --git a/patches/gobject-introspection-1.66.1/0003-HACK-don-t-build-the-python-module-when-cross-compil.patch b/patches/gobject-introspection-1.66.1/0003-HACK-don-t-build-the-python-module-when-cross-compil.patch
new file mode 100644
index 000000000..ae368408a
--- /dev/null
+++ b/patches/gobject-introspection-1.66.1/0003-HACK-don-t-build-the-python-module-when-cross-compil.patch
@@ -0,0 +1,46 @@
+From: Michael Olbrich <m.olbrich@pengutronix.de>
+Date: Thu, 3 Dec 2020 17:14:56 +0100
+Subject: [PATCH] HACK: don't build the python module when cross-compiling
+
+Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
+---
+ giscanner/meson.build | 4 ++++
+ meson.build | 6 ++++--
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/giscanner/meson.build b/giscanner/meson.build
+index a3b06f37b912..b6dfb7144c76 100644
+--- a/giscanner/meson.build
++++ b/giscanner/meson.build
+@@ -99,6 +99,7 @@ giscanner_lib = static_library('giscanner',
+ dependencies: [glib_dep, gobject_dep, gio_dep, gmodule_dep],
+ )
+
++if not meson.is_cross_build()
+ # https://github.com/mesonbuild/meson/issues/4117
+ if host_machine.system() == 'windows'
+ python_ext_dep = python.dependency()
+@@ -120,3 +121,6 @@ giscanner_pymod = python.extension_module('_giscanner', ['giscannermodule.c'],
+ install: true,
+ install_dir: giscannerdir,
+ )
++else
++giscanner_pymod = []
++endif
+diff --git a/meson.build b/meson.build
+index 8429553d483e..ec791006b29e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -157,8 +157,10 @@ endif
+ libffi_dep = dependency('libffi',
+ fallback : ['libffi', 'ffi_dep'])
+
+-# python headers
+-cc.check_header('Python.h', dependencies: [python.dependency()], required: true)
++if not meson.is_cross_build()
++ # python headers
++ cc.check_header('Python.h', dependencies: [python.dependency()], required: true)
++endif
+
+ # cairo
+ cairo_option = get_option('cairo')
diff --git a/patches/gobject-introspection-1.66.1/series b/patches/gobject-introspection-1.66.1/series
new file mode 100644
index 000000000..1b4ae1e76
--- /dev/null
+++ b/patches/gobject-introspection-1.66.1/series
@@ -0,0 +1,6 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-dumper.py-don-t-close-fds.patch
+0002-meson-fix-building-with-Dbuild_introspection_data-fa.patch
+0003-HACK-don-t-build-the-python-module-when-cross-compil.patch
+# 304833ca29e000d20d22ec6022863d8c - git-ptx-patches magic
diff --git a/rules/gobject-introspection.in b/rules/gobject-introspection.in
index 6fc1917c7..8fdf5cc91 100644
--- a/rules/gobject-introspection.in
+++ b/rules/gobject-introspection.in
@@ -14,6 +14,8 @@ config GOBJECT_INTROSPECTION
default GOBJECT_INTROSPECTION_HELPER
select HOST_CHRPATH
select HOST_GOBJECT_INTROSPECTION
+ select HOST_MESON
+ select HOST_SYSTEM_PYTHON3
select GLIB
endif
diff --git a/rules/gobject-introspection.make b/rules/gobject-introspection.make
index fda19cd13..4da94161b 100644
--- a/rules/gobject-introspection.make
+++ b/rules/gobject-introspection.make
@@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_GOBJECT_INTROSPECTION) += gobject-introspection
#
# Paths and names
#
-GOBJECT_INTROSPECTION_VERSION := 1.56.1
-GOBJECT_INTROSPECTION_MD5 := 62e5f5685b8d9752fdeaf17c057d53d1
+GOBJECT_INTROSPECTION_VERSION := 1.66.1
+GOBJECT_INTROSPECTION_MD5 := f43d661d39ff52d33622cb1854aaaf76
GOBJECT_INTROSPECTION := gobject-introspection-$(GOBJECT_INTROSPECTION_VERSION)
GOBJECT_INTROSPECTION_SUFFIX := tar.xz
GOBJECT_INTROSPECTION_URL := $(call ptx/mirror, GNOME, gobject-introspection/$(basename $(GOBJECT_INTROSPECTION_VERSION))/$(GOBJECT_INTROSPECTION).$(GOBJECT_INTROSPECTION_SUFFIX))
@@ -28,21 +28,23 @@ GOBJECT_INTROSPECTION_LICENSE := LGPL-2.1-or-later AND GPL-2.0-or-later
# ----------------------------------------------------------------------------
#
-# autoconf
+# meson
#
-GOBJECT_INTROSPECTION_CONF_TOOL := autoconf
+GOBJECT_INTROSPECTION_CONF_TOOL := meson
GOBJECT_INTROSPECTION_CONF_OPT := \
- $(CROSS_AUTOCONF_USR) \
- --disable-gtk-doc \
- --disable-gtk-doc-html \
- --disable-gtk-doc-pdf \
- --disable-doctool \
- --without-cairo \
- --with-python=$(SYSTEMPYTHON3)
+ $(CROSS_MESON_USR) \
+ -Dbuild_introspection_data=true \
+ -Dcairo=disabled \
+ -Ddoctool=disabled \
+ -Dgi_cross_binary_wrapper=$(PTXDIST_SYSROOT_CROSS)/bin/qemu-cross \
+ -Dgi_cross_ldd_wrapper=$(PTXDIST_SYSROOT_CROSS)/bin/qemu/ldd \
+ -Dgi_cross_use_prebuilt_gi=true \
+ -Dgtk_doc=false \
+ -Dpython=$(SYSTEMPYTHON3)
# needed so g-ir-compiler runs in qemu
GOBJECT_INTROSPECTION_MAKE_ENV = \
- GI_CROSS_LAUNCHER="$(PTXDIST_SYSROOT_CROSS)/bin/qemu-cross -E LD_LIBRARY_PATH='$(GOBJECT_INTROSPECTION_DIR)/.libs:$(QEMU_CROSS_LD_LIBRARY_PATH)'"
+ CROSS_LD_LIBRARY_PATH=$(GOBJECT_INTROSPECTION_DIR)-build/girepository
# ----------------------------------------------------------------------------
# Install
diff --git a/rules/host-gobject-introspection.in b/rules/host-gobject-introspection.in
index 52e53bb80..594dfee64 100644
--- a/rules/host-gobject-introspection.in
+++ b/rules/host-gobject-introspection.in
@@ -3,6 +3,7 @@
config HOST_GOBJECT_INTROSPECTION
tristate
default y if ALLYES
+ select HOST_MESON
select HOST_SYSTEM_PYTHON3
select HOST_SYSTEM_PYTHON3_DEV
select HOST_GLIB
diff --git a/rules/host-gobject-introspection.make b/rules/host-gobject-introspection.make
index 5c8e4e08c..d14b9ab34 100644
--- a/rules/host-gobject-introspection.make
+++ b/rules/host-gobject-introspection.make
@@ -18,15 +18,14 @@ HOST_PACKAGES-$(PTXCONF_HOST_GOBJECT_INTROSPECTION) += host-gobject-introspectio
#
# autoconf
#
-HOST_GOBJECT_INTROSPECTION_CONF_TOOL := autoconf
+HOST_GOBJECT_INTROSPECTION_CONF_TOOL := meson
HOST_GOBJECT_INTROSPECTION_CONF_OPT := \
- $(HOST_AUTOCONF) \
- --disable-gtk-doc \
- --disable-gtk-doc-html \
- --disable-gtk-doc-pdf \
- --disable-doctool \
- --without-cairo \
- --with-python=$(SYSTEMPYTHON3)
+ $(HOST_MESON_OPT) \
+ -Dbuild_introspection_data=false \
+ -Dcairo=disabled \
+ -Ddoctool=disabled \
+ -Dgtk_doc=false \
+ -Dpython=$(SYSTEMPYTHON3)
# ----------------------------------------------------------------------------
# Install
@@ -40,11 +39,10 @@ $(STATEDIR)/host-gobject-introspection.install.post:
@echo 'export pkg_ldflags="$$(find -H $${pkg_dir} -name .libs -printf "-Wl,-rpath,%p ")$${pkg_ldflags}"' \
>> $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner
@echo 'export CC=$(CROSS_CC)' >> $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner
- @echo 'export GI_CROSS_LAUNCHER="$(PTXDIST_SYSROOT_CROSS)/bin/qemu-cross"' \
- >> $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner
- @echo 'PATH="$(PTXDIST_SYSROOT_CROSS)/bin/qemu:$$PATH"' \
- >> $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner
@echo 'exec "$(PTXDIST_SYSROOT_HOST)/bin/g-ir-scanner" \
+ --use-binary-wrapper="$(PTXDIST_SYSROOT_CROSS)/bin/qemu-cross" \
+ --use-ldd-wrapper="$(PTXDIST_SYSROOT_CROSS)/bin/qemu/ldd" \
+ --add-include-path=${PTXDIST_SYSROOT_TARGET}/usr/share/gir-1.0 \
"$${@}"' >> $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner
@chmod +x $(PTXDIST_SYSROOT_CROSS)/bin/g-ir-scanner