summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome/gobject-introspection
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-gnome/gobject-introspection')
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch160
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch12
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch48
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-build-Avoid-the-doctemplates-hack.patch219
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch68
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch70
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch27
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch201
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch76
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch49
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch45
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch94
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch66
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection_1.70.0.bb (renamed from meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb)99
14 files changed, 270 insertions, 964 deletions
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch
deleted file mode 100644
index 80c9e71ad5..0000000000
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch
+++ /dev/null
@@ -1,160 +0,0 @@
-From ea25a5a755bc839d5b504aac207f860ae68109bc Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 15 Nov 2018 15:10:05 +0100
-Subject: [PATCH] Port cross-compilation support to meson
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- gir/meson.build | 59 ++++++++++++++++++++++++++++++++++-------------
- meson.build | 4 +++-
- meson_options.txt | 20 ++++++++++++++++
- 3 files changed, 66 insertions(+), 17 deletions(-)
-
-diff --git a/gir/meson.build b/gir/meson.build
-index 1cb514a..f873068 100644
---- a/gir/meson.build
-+++ b/gir/meson.build
-@@ -36,15 +36,27 @@ gir_files = [
- typelibdir = join_paths(get_option('libdir'), 'girepository-1.0')
- install_data(gir_files, install_dir: girdir)
-
--scanner_command = [
-- python,
-- girscanner,
-- '--output=@OUTPUT@',
-- '--no-libtool',
-- '--reparse-validate',
-- '--add-include-path', join_paths(meson.current_build_dir()),
-- '--add-include-path', join_paths(meson.current_source_dir()),
--]
-+if get_option('enable-host-gi')
-+ scanner_command = [
-+ 'g-ir-scanner',
-+ '--output=@OUTPUT@',
-+ '--no-libtool',
-+ '--reparse-validate',
-+ '--add-include-path', join_paths(meson.current_build_dir()),
-+ '--add-include-path', join_paths(meson.current_source_dir()),
-+ ]
-+else
-+ scanner_command = [
-+ python,
-+ girscanner,
-+ '--output=@OUTPUT@',
-+ '--no-libtool',
-+ '--reparse-validate',
-+ '--add-include-path', join_paths(meson.current_build_dir()),
-+ '--add-include-path', join_paths(meson.current_source_dir()),
-+ ]
-+endif
-+
-
- dep_type = glib_dep.type_name()
- if dep_type == 'internal'
-@@ -57,6 +69,12 @@ if dep_type == 'internal'
- '--extra-library=glib-2.0', '--extra-library=gobject-2.0']
- endif
-
-+if get_option('enable-gi-cross-wrapper') != ''
-+ scanner_command += ['--use-binary-wrapper=' + get_option('enable-gi-cross-wrapper')]
-+endif
-+if get_option('enable-gi-ldd-wrapper') != ''
-+ scanner_command += ['--use-ldd-wrapper=' + get_option('enable-gi-ldd-wrapper')]
-+endif
- # Take a glob and print to newlines
- globber = '''
- from glob import glob
-@@ -83,8 +101,8 @@ glib_command = scanner_command + [
-
- if dep_type == 'pkgconfig'
- glib_command += ['--external-library', '--pkg=glib-2.0']
-- glib_libdir = glib_dep.get_pkgconfig_variable('libdir')
-- glib_incdir = join_paths(glib_dep.get_pkgconfig_variable('includedir'), 'glib-2.0')
-+ glib_libdir = get_option('pkgconfig-sysroot-path') + glib_dep.get_pkgconfig_variable('libdir')
-+ glib_incdir = get_option('pkgconfig-sysroot-path') + join_paths(glib_dep.get_pkgconfig_variable('includedir'), 'glib-2.0')
- glib_libincdir = join_paths(glib_libdir, 'glib-2.0', 'include')
- glib_files += join_paths(glib_incdir, 'gobject', 'glib-types.h')
- glib_files += join_paths(glib_libincdir, 'glibconfig.h')
-@@ -338,7 +356,7 @@ endforeach
- if giounix_dep.found()
- if dep_type == 'pkgconfig'
- gio_command += ['--pkg=gio-unix-2.0']
-- giounix_includedir = join_paths(giounix_dep.get_pkgconfig_variable('includedir'), 'gio-unix-2.0')
-+ giounix_includedir = get_option('pkgconfig-sysroot-path') + join_paths(giounix_dep.get_pkgconfig_variable('includedir'), 'gio-unix-2.0')
- # Get the installed gio-unix header list
- ret = run_command(python, '-c', globber.format(join_paths(giounix_includedir, 'gio', '*.h')))
- if ret.returncode() != 0
-@@ -416,15 +434,24 @@ gir_files += custom_target('gir-girepository',
- ]
- )
-
-+if get_option('enable-gi-cross-wrapper') != ''
-+ gircompiler_command = [get_option('enable-gi-cross-wrapper'), gircompiler.full_path(), '-o', '@OUTPUT@', '@INPUT@',
-+ '--includedir', meson.current_build_dir(),
-+ '--includedir', meson.current_source_dir(),
-+ ]
-+else
-+ gircompiler_command = [gircompiler, '-o', '@OUTPUT@', '@INPUT@',
-+ '--includedir', meson.current_build_dir(),
-+ '--includedir', meson.current_source_dir(),
-+ ]
-+endif
-+
- foreach gir : gir_files
- custom_target('generate-typelib-@0@'.format(gir).underscorify(),
- input: gir,
- output: '@BASENAME@.typelib',
- depends: [gobject_gir, ],
-- command: [gircompiler, '-o', '@OUTPUT@', '@INPUT@',
-- '--includedir', meson.current_build_dir(),
-- '--includedir', meson.current_source_dir(),
-- ],
-+ command: gircompiler_command,
- install: true,
- install_dir: typelibdir,
- )
-diff --git a/meson.build b/meson.build
-index 17acd82..e0bb495 100644
---- a/meson.build
-+++ b/meson.build
-@@ -81,7 +81,9 @@ libffi_dep = dependency('libffi',
- subdir('girepository')
- subdir('tools')
- subdir('giscanner')
--subdir('gir')
-+if get_option('enable-introspection-data') == true
-+ subdir('gir')
-+endif
- subdir('examples')
- subdir('docs')
- subdir('tests')
-diff --git a/meson_options.txt b/meson_options.txt
-index ee6958d..b168142 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -25,3 +25,23 @@ option('python', type: 'string', value: 'python3',
- option('gir-dir-prefix', type: 'string',
- description: 'Intermediate prefix for gir installation under ${prefix}'
- )
-+
-+option('enable-host-gi', type: 'boolean', value : false,
-+ description: 'Use gobject introspection tools installed in the host system (useful when cross-compiling)'
-+)
-+
-+option('enable-gi-cross-wrapper', type: 'string',
-+ description: 'Use a wrapper to run gicompiler and binaries produced by giscanner (useful when cross-compiling)'
-+)
-+
-+option('enable-gi-ldd-wrapper', type: 'string',
-+ description: 'Use a ldd wrapper instead of system ldd command in giscanner (useful when cross-compiling)'
-+)
-+
-+option('enable-introspection-data', type: 'boolean', value : true,
-+ description: 'Build introspection data (.gir and .typelib files) in addition to library and tools'
-+)
-+
-+option('pkgconfig-sysroot-path', type: 'string',
-+ description: 'Specify a sysroot path to prepend to pkgconfig output (useful when cross-compiling)'
-+)
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
index a91d22afa7..ba965092e1 100644
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
@@ -1,4 +1,4 @@
-From 7ea8c83d84a05f686128e652a5447fb5f6fb68be Mon Sep 17 00:00:00 2001
+From 74a0fee892235c722ac60ddea6ee79bc3d7a93f5 Mon Sep 17 00:00:00 2001
From: Sascha Silbe <x-yo17@se-silbe.de>
Date: Fri, 8 Jun 2018 13:55:10 +0200
Subject: [PATCH] Relocate the repository directory for native builds
@@ -21,7 +21,7 @@ Signed-off-by: Sascha Silbe <x-yo17@se-silbe.de>
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/girepository/girepository.c b/girepository/girepository.c
-index c1fa3d3..efa557e 100644
+index 7d03485..20f4813 100644
--- a/girepository/girepository.c
+++ b/girepository/girepository.c
@@ -21,6 +21,8 @@
@@ -42,7 +42,7 @@ index c1fa3d3..efa557e 100644
/**
* SECTION:girepository
* @short_description: GObject Introspection repository manager
-@@ -188,9 +192,16 @@ init_globals (void)
+@@ -215,9 +219,16 @@ init_globals (void)
g_free (custom_dirs);
}
@@ -62,12 +62,12 @@ index c1fa3d3..efa557e 100644
typelib_search_path = g_slist_prepend (typelib_search_path, typelib_dir);
diff --git a/girepository/meson.build b/girepository/meson.build
-index 6a8c5b5..8892f2a 100644
+index 786749a..15cf2a9 100644
--- a/girepository/meson.build
+++ b/girepository/meson.build
-@@ -27,7 +27,7 @@ girepo_internals_lib = static_library('girepository-internals',
+@@ -45,7 +45,7 @@ girepo_internals_lib = static_library('girepository-internals',
],
- c_args: gi_hidden_visibility_cflags,
+ c_args: gi_hidden_visibility_cflags + custom_c_args,
include_directories : configinc,
- dependencies: [girepo_gthash_dep, libffi_dep],
+ dependencies: [girepo_gthash_dep, libffi_dep, cc.find_library('dl')],
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch
deleted file mode 100644
index 86cd4ead2a..0000000000
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From ca0fb17e268c176ac89df081b1efa4a42989f014 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 23 Mar 2016 17:07:28 +0200
-Subject: [PATCH] Revert an incomplete upstream attempt at cross-compile
- support
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- common.mk | 4 ----
- giscanner/gdumpparser.py | 6 ------
- 2 files changed, 10 deletions(-)
-
-diff --git a/common.mk b/common.mk
-index b778f7a..e26c637 100644
---- a/common.mk
-+++ b/common.mk
-@@ -24,12 +24,8 @@ INTROSPECTION_SCANNER_ARGS = \
- --add-include-path=$(top_builddir) \
- --add-include-path=$(top_builddir)/gir
-
--# GI_CROSS_LAUNCHER is the command to use for executing g-ir-compiler.
--# Normally will be undefined but can be set (e.g. to wine or qemu)
--# when cross-compiling
- INTROSPECTION_COMPILER = \
- env PATH=".libs:$(PATH)" \
-- $(GI_CROSS_LAUNCHER) \
- $(top_builddir)/g-ir-compiler$(EXEEXT)
-
- INTROSPECTION_COMPILER_ARGS = \
-diff --git a/giscanner/gdumpparser.py b/giscanner/gdumpparser.py
-index cd9d94d..b41772c 100644
---- a/giscanner/gdumpparser.py
-+++ b/giscanner/gdumpparser.py
-@@ -161,12 +161,6 @@ blob containing data gleaned from GObject's primitive introspection."""
- out_path = os.path.join(self._binary.tmpdir, 'dump.xml')
-
- args = []
--
-- # Prepend the launcher command and arguments, if defined
-- launcher = os.environ.get('GI_CROSS_LAUNCHER')
-- if launcher:
-- args.extend(launcher.split())
--
- args.extend(self._binary.args)
- args.append('--introspect-dump=%s,%s' % (in_path, out_path))
-
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-build-Avoid-the-doctemplates-hack.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-build-Avoid-the-doctemplates-hack.patch
new file mode 100644
index 0000000000..b7d31ccfb0
--- /dev/null
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-build-Avoid-the-doctemplates-hack.patch
@@ -0,0 +1,219 @@
+From effb1e09dee263cdac4ec593e8caf316e6f01fe2 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi@gnome.org>
+Date: Tue, 11 Jan 2022 15:51:10 +0000
+Subject: [PATCH] build: Avoid the doctemplates hack
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The hack that copies the doctemplates directory into the build
+directory has stopped working with newer versions of Meson; while it's
+possible to copy files, custom_target() cannot depend on a directory.
+Additionally, the dependency has always been broken.
+
+Instead, we enumerate the template files—after all, it's not like they
+change a lot—and then we list them as dependencies for the test targets.
+
+Fixes: #414
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ giscanner/doctemplates/devdocs/meson.build | 19 +++++++
+ giscanner/doctemplates/mallard/meson.build | 63 ++++++++++++++++++++++
+ giscanner/meson.build | 14 ++---
+ tests/scanner/meson.build | 24 +++++----
+ 4 files changed, 98 insertions(+), 22 deletions(-)
+ create mode 100644 giscanner/doctemplates/devdocs/meson.build
+ create mode 100644 giscanner/doctemplates/mallard/meson.build
+
+diff --git a/giscanner/doctemplates/devdocs/meson.build b/giscanner/doctemplates/devdocs/meson.build
+new file mode 100644
+index 00000000..2037182a
+--- /dev/null
++++ b/giscanner/doctemplates/devdocs/meson.build
+@@ -0,0 +1,19 @@
++doc_templates += files([
++ 'Gjs/_doc.tmpl',
++ 'Gjs/_index.tmpl',
++ 'Gjs/_method.tmpl',
++ 'Gjs/_methods.tmpl',
++ 'Gjs/_properties.tmpl',
++ 'Gjs/_signals.tmpl',
++ 'Gjs/_staticmethods.tmpl',
++ 'Gjs/_vfuncs.tmpl',
++ 'Gjs/base.tmpl',
++ 'Gjs/callback.tmpl',
++ 'Gjs/class.tmpl',
++ 'Gjs/default.tmpl',
++ 'Gjs/enum.tmpl',
++ 'Gjs/function.tmpl',
++ 'Gjs/interface.tmpl',
++ 'Gjs/method.tmpl',
++ 'Gjs/namespace.tmpl',
++])
+diff --git a/giscanner/doctemplates/mallard/meson.build b/giscanner/doctemplates/mallard/meson.build
+new file mode 100644
+index 00000000..5fe4e2af
+--- /dev/null
++++ b/giscanner/doctemplates/mallard/meson.build
+@@ -0,0 +1,63 @@
++base_templates = files([
++ 'base.tmpl',
++ 'class.tmpl',
++ 'namespace.tmpl',
++])
++
++c_templates = files([
++ 'C/callback.tmpl',
++ 'C/class.tmpl',
++ 'C/constructor.tmpl',
++ 'C/default.tmpl',
++ 'C/enum.tmpl',
++ 'C/field.tmpl',
++ 'C/function.tmpl',
++ 'C/interface.tmpl',
++ 'C/method.tmpl',
++ 'C/namespace.tmpl',
++ 'C/property.tmpl',
++ 'C/record.tmpl',
++ 'C/signal.tmpl',
++ 'C/vfunc.tmpl',
++])
++
++gjs_templates = files([
++ 'Gjs/callback.tmpl',
++ 'Gjs/class.tmpl',
++ 'Gjs/constructor.tmpl',
++ 'Gjs/default.tmpl',
++ 'Gjs/enum.tmpl',
++ 'Gjs/field.tmpl',
++ 'Gjs/function.tmpl',
++ 'Gjs/interface.tmpl',
++ 'Gjs/method.tmpl',
++ 'Gjs/namespace.tmpl',
++ 'Gjs/property.tmpl',
++ 'Gjs/record.tmpl',
++ 'Gjs/signal.tmpl',
++ 'Gjs/vfunc.tmpl',
++])
++
++py_templates = files([
++ 'Python/callback.tmpl',
++ 'Python/class.tmpl',
++ 'Python/constructor.tmpl',
++ 'Python/default.tmpl',
++ 'Python/enum.tmpl',
++ 'Python/field.tmpl',
++ 'Python/function.tmpl',
++ 'Python/interface.tmpl',
++ 'Python/method.tmpl',
++ 'Python/namespace.tmpl',
++ 'Python/property.tmpl',
++ 'Python/record.tmpl',
++ 'Python/signal.tmpl',
++ 'Python/vfunc.tmpl',
++])
++
++doc_templates += [
++ base_templates,
++ c_templates,
++ gjs_templates,
++ py_templates,
++]
+diff --git a/giscanner/meson.build b/giscanner/meson.build
+index 41edcd44..3d7dc678 100644
+--- a/giscanner/meson.build
++++ b/giscanner/meson.build
+@@ -53,17 +53,9 @@ configure_file(input : '../girepository/gdump.c',
+
+ install_subdir('doctemplates', install_dir: giscannerdir)
+
+-# XXX: this doesn't track the input, but there is nothing to copy many files
+-# in meson.
+-doc_templates = custom_target('copy-templates',
+- input : 'doctemplates',
+- output : 'doctemplates',
+- command : [
+- python, '-c',
+- 'import sys, shutil;' +
+- 'shutil.rmtree(sys.argv[2], ignore_errors=True);' +
+- 'shutil.copytree(sys.argv[1], sys.argv[2])',
+- '@INPUT@', '@OUTPUT@'])
++doc_templates = []
++subdir('doctemplates/devdocs')
++subdir('doctemplates/mallard')
+
+ flex = find_program('flex', 'win_flex')
+ bison = find_program('bison', 'win_bison')
+diff --git a/tests/scanner/meson.build b/tests/scanner/meson.build
+index 5176b957..b81b3fd5 100644
+--- a/tests/scanner/meson.build
++++ b/tests/scanner/meson.build
+@@ -525,19 +525,26 @@ foreach gir : test_girs
+ endforeach
+
+ if has_girdoctool and glib_dep.type_name() == 'pkgconfig'
++ doctool_env = environment()
++ doctool_env.set('srcdir', meson.current_source_dir())
++ doctool_env.set('builddir', meson.current_build_dir())
++
+ foreach language : ['C', 'Python', 'Gjs']
+ regress_docs = custom_target(
+ 'generate-docs-' + language,
+ input: regress_gir,
+- depends: [doc_templates],
++ depend_files: doc_templates,
+ build_by_default: not cairo_deps_found,
++ env: doctool_env,
+ output: 'Regress-1.0-' + language,
+ command: [
+ python, girdoctool,
+ '--add-include-path=' + join_paths(build_root, 'gir'),
+ '--add-include-path=' + meson.current_build_dir(),
+ '--language', language,
+- '@INPUT@', '-o', '@OUTPUT@'],
++ '--templates-dir=' + join_paths(meson.current_source_dir(), '../../giscanner/doctemplates'),
++ '@INPUT@', '-o', '@OUTPUT@',
++ ],
+ )
+
+ if cairo_deps_found
+@@ -546,10 +553,7 @@ if has_girdoctool and glib_dep.type_name() == 'pkgconfig'
+ python,
+ args: [gi_tester, 'Regress-1.0-' + language],
+ depends: [regress_docs],
+- env: [
+- 'srcdir=' + meson.current_source_dir(),
+- 'builddir=' + meson.current_build_dir(),
+- ],
++ env: doctool_env,
+ )
+ endif
+ endforeach
+@@ -557,9 +561,10 @@ if has_girdoctool and glib_dep.type_name() == 'pkgconfig'
+ regress_sections = custom_target(
+ 'generate-docs-sections',
+ input: regress_gir,
+- depends: [doc_templates],
++ depend_files: [doc_templates],
+ build_by_default: not cairo_deps_found,
+ output: 'Regress-1.0-sections.txt',
++ env: doctool_env,
+ command: [
+ python, girdoctool,
+ '--add-include-path=' + join_paths(build_root, 'gir'),
+@@ -574,10 +579,7 @@ if has_girdoctool and glib_dep.type_name() == 'pkgconfig'
+ python,
+ args: [gi_tester, 'Regress-1.0-sections.txt'],
+ depends: [regress_sections],
+- env: [
+- 'srcdir=' + meson.current_source_dir(),
+- 'builddir=' + meson.current_build_dir(),
+- ],
++ env: doctool_env,
+ )
+ endif
+ endif
+--
+2.20.1
+
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch
deleted file mode 100644
index e0402f8f49..0000000000
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-configure.ac: make GIR_DIR configurable
-
-Some .gir files such as GLib-2.0.gir are arch related which contain such
-as lengths of pointers that they are different for 64 and 32 bit target.
-It causes install file conflicts for multilib when intall
-gobject-introspection and lib32-gobject-introspection both.
-
-Add configure option 'with-gir-dir-prefix' for autotools to make .gir
-could be installed to a configured path such as ${libdir}. And update
-girdir in .pc files as well.
-
-Upstream-Status: Accepted [https://gitlab.gnome.org/GNOME/gobject-introspection/commit/3301c7e]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- configure.ac | 7 +++++--
- gobject-introspection-1.0.pc.in | 2 +-
- gobject-introspection-no-export-1.0.pc.in | 2 +-
- 3 files changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index b4294c57..60506947 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -114,9 +114,12 @@ GIR_SUFFIX="gir-1.0"
- AC_SUBST(GIR_SUFFIX)
- AC_DEFINE_UNQUOTED(GIR_SUFFIX, "$GIR_SUFFIX", [Name of the gir directory])
-
--GIR_DIR="$EXPANDED_DATADIR/$GIR_SUFFIX"
-+AC_ARG_WITH([gir-dir-prefix],
-+ [AS_HELP_STRING([--with-gir-dir-prefix], [Directory prefix for gir installation])],
-+ [GIR_DIR_PREFIX="$withval"], [GIR_DIR_PREFIX="$EXPANDED_DATADIR"])
-+GIR_DIR="$GIR_DIR_PREFIX/$GIR_SUFFIX"
- AC_SUBST(GIR_DIR)
--AC_DEFINE_UNQUOTED(GIR_DIR, "$GIR_DIR", [Director prefix for gir installation])
-+AC_DEFINE_UNQUOTED(GIR_DIR, "$GIR_DIR", [Directory prefix for gir installation])
-
- PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.58.0])
-
-diff --git a/gobject-introspection-1.0.pc.in b/gobject-introspection-1.0.pc.in
-index a08b5d27..3409856c 100644
---- a/gobject-introspection-1.0.pc.in
-+++ b/gobject-introspection-1.0.pc.in
-@@ -10,7 +10,7 @@ g_ir_scanner=${bindir}/g-ir-scanner
- g_ir_compiler=${bindir}/g-ir-compiler@EXEEXT@
- g_ir_generate=${bindir}/g-ir-generate@EXEEXT@
- gidatadir=${datadir}/gobject-introspection-1.0
--girdir=${datadir}/gir-1.0
-+girdir=@GIR_DIR@
- typelibdir=${libdir}/girepository-1.0
-
- Cflags: -I${includedir}/gobject-introspection-1.0 @FFI_PC_CFLAGS@
-diff --git a/gobject-introspection-no-export-1.0.pc.in b/gobject-introspection-no-export-1.0.pc.in
-index d214d22d..745aaade 100644
---- a/gobject-introspection-no-export-1.0.pc.in
-+++ b/gobject-introspection-no-export-1.0.pc.in
-@@ -9,7 +9,7 @@ includedir=@includedir@
- g_ir_scanner=${bindir}/g-ir-scanner
- g_ir_compiler=${bindir}/g-ir-compiler@EXEEXT@
- g_ir_generate=${bindir}/g-ir-generate@EXEEXT@
--girdir=${datadir}/gir-1.0
-+girdir=@GIR_DIR@
- typelibdir=${libdir}/girepository-1.0
-
- Cflags: -I${includedir}/gobject-introspection-1.0 @FFI_PC_CFLAGS@
---
-2.17.0
-
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch
deleted file mode 100644
index e9338e92e2..0000000000
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 3fea5e83803f4cfef21b2e06e37a6ba56f2bb914 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 3 Jan 2018 17:02:01 +0200
-Subject: [PATCH] giscanner: add a --lib-dirs-envvar option
-
-By default LD_LIBRARY_PATH is set to the list of target library paths;
-this breaks down in cross-compilation environment, as we need to run a
-native emulation wrapper rather than the target binary itself. This patch
-allows exporting those paths to a different environment variable
-which can be picked up and used by the wrapper.
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- giscanner/ccompiler.py | 4 ++--
- giscanner/dumper.py | 3 ++-
- giscanner/scannermain.py | 3 +++
- 3 files changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/giscanner/ccompiler.py b/giscanner/ccompiler.py
-index c003828..8a8ba2b 100644
---- a/giscanner/ccompiler.py
-+++ b/giscanner/ccompiler.py
-@@ -109,7 +109,7 @@ class CCompiler(object):
-
- self._cflags_no_deprecation_warnings = "-Wno-deprecated-declarations"
-
-- def get_internal_link_flags(self, args, libtool, libraries, extra_libraries, libpaths):
-+ def get_internal_link_flags(self, args, libtool, libraries, extra_libraries, libpaths, lib_dirs_envvar):
- # An "internal" link is where the library to be introspected
- # is being built in the current directory.
-
-@@ -119,7 +119,7 @@ class CCompiler(object):
- if os.name == 'nt':
- runtime_path_envvar = ['LIB', 'PATH']
- else:
-- runtime_path_envvar = ['LD_LIBRARY_PATH', 'DYLD_FALLBACK_LIBRARY_PATH']
-+ runtime_path_envvar = ['LD_LIBRARY_PATH', 'DYLD_FALLBACK_LIBRARY_PATH'] if not lib_dirs_envvar else [lib_dirs_envvar]
- # Search the current directory first
- # (This flag is not supported nor needed for Visual C++)
- args.append('-L.')
-diff --git a/giscanner/dumper.py b/giscanner/dumper.py
-index 2c668f5..2e515a0 100644
---- a/giscanner/dumper.py
-+++ b/giscanner/dumper.py
-@@ -249,7 +249,8 @@ class DumpCompiler(object):
- libtool,
- self._options.libraries,
- self._options.extra_libraries,
-- self._options.library_paths)
-+ self._options.library_paths,
-+ self._options.lib_dirs_envvar)
- args.extend(pkg_config_libs)
-
- else:
-diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
-index 5cb793e..87227e2 100644
---- a/giscanner/scannermain.py
-+++ b/giscanner/scannermain.py
-@@ -132,6 +132,9 @@ def _get_option_parser():
- parser.add_option("", "--use-ldd-wrapper",
- action="store", dest="ldd_wrapper", default=None,
- help="wrapper to use instead of ldd (useful when cross-compiling)")
-+ parser.add_option("", "--lib-dirs-envvar",
-+ action="store", dest="lib_dirs_envvar", default=None,
-+ help="environment variable to write a list of library directories to (for running the transient binary), instead of standard LD_LIBRARY_PATH")
- parser.add_option("", "--program-arg",
- action="append", dest="program_args", default=[],
- help="extra arguments to program")
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
deleted file mode 100644
index 9167f042e5..0000000000
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From f128cbeead687bfc6532cc1f2cc3e2dc5a2b5b30 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 5 Sep 2018 16:46:52 +0200
-Subject: [PATCH] giscanner: ignore error return codes from ldd-wrapper
-
-prelink-rtld, which we use instead of ldd returns 127 when it can't find a library.
-It is not an error per se, but it breaks subprocess.check_output().
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- giscanner/shlibs.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
-index 01d21a3..3bd3250 100644
---- a/giscanner/shlibs.py
-+++ b/giscanner/shlibs.py
-@@ -108,7 +108,7 @@ def _resolve_non_libtool(options, binary, libraries):
- args.extend(['otool', '-L', binary.args[0]])
- else:
- args.extend(['ldd', binary.args[0]])
-- output = subprocess.check_output(args)
-+ output = subprocess.run(args, check=False, stdout=subprocess.PIPE).stdout
- if isinstance(output, bytes):
- output = output.decode("utf-8", "replace")
-
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch
deleted file mode 100644
index 03ef2b0059..0000000000
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch
+++ /dev/null
@@ -1,201 +0,0 @@
-From a28cc8413b68bec5b4cf2ee5f37b40a8965490a5 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 19 Oct 2015 18:29:21 +0300
-Subject: [PATCH] configure.ac: add host-gi, gi-cross-wrapper, gi-ldd-wrapper
- and introspection-data options
-
-With the first option, gobject-introspection tools (g-ir-doc-tool and g-ir-scanner)
-that are already installed in the host system will be used for building the source tree.
-
-With the second option, g-ir-scanner will be instructed to use an executable
-wrapper to run binaries it's producing, and g-ir-compiler will be run
-through the same wrapper (host system's g-ir-compiler cannot be used because
-it's producing architecture-specific output).
-
-With the third option, giscanner will be instructed to use a special ldd
-command instead of system's ldd (which does not work when the binary to inspect
-is compiled for a different architecture).
-
-With the fourth option, it is possible to disable building of introspection data
-(.gir and .typelib files), which may be difficult or impossible in cross-compilation
-environments, because of lack of emulation (or native hardware) for the target architecture
-on which the target binaries can be run.
-
-These options are useful when cross-compiling for a different target architecture.
-
-Upstream-Status: Pending [review on oe-core list]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- Makefile.am | 2 ++
- common.mk | 39 +++++++++++++++++++++++++++++++++++++++
- configure.ac | 42 ++++++++++++++++++++++++++++++++++++++++++
- tests/Makefile.am | 5 ++++-
- 4 files changed, 87 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 44ed115..2a1fa56 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -21,7 +21,9 @@ include Makefile-cmph.am
- include Makefile-girepository.am
- include Makefile-giscanner.am
- include Makefile-examples.am
-+if BUILD_INTROSPECTION_DATA
- include Makefile-gir.am
-+endif
- include Makefile-tools.am
-
- ## Process this file with automake to produce Makefile.in
-diff --git a/common.mk b/common.mk
-index e26c637..9f3a65f 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,9 +23,24 @@ INTROSPECTION_SCANNER = \
- UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir) \
- UNINSTALLED_INTROSPECTION_BUILDDIR=$(top_builddir) \
- $(top_builddir)/g-ir-scanner
-+endif
-+
-+if USE_CROSS_WRAPPER
-+CROSS_WRAPPER_ARG = --use-binary-wrapper=$(GI_CROSS_WRAPPER)
-+else
-+CROSS_WRAPPER_ARG =
-+endif
-+
-+if USE_LDD_WRAPPER
-+LDD_WRAPPER_ARG = --use-ldd-wrapper=$(GI_LDD_WRAPPER)
-+else
-+LDD_WRAPPER_ARG =
-+endif
-
- INTROSPECTION_SCANNER_ARGS = \
- --verbose \
-+ $(CROSS_WRAPPER_ARG) \
-+ $(LDD_WRAPPER_ARG) \
- -I$(top_srcdir) \
- --add-include-path=$(srcdir) \
- --add-include-path=$(top_srcdir)/gir \
-@@ -24,9 +48,15 @@ INTROSPECTION_SCANNER_ARGS = \
- --add-include-path=$(top_builddir) \
- --add-include-path=$(top_builddir)/gir
-
-+if USE_CROSS_WRAPPER
-+INTROSPECTION_COMPILER = \
-+ env PATH=".libs:$(PATH)" \
-+ $(GI_CROSS_WRAPPER) $(top_builddir)/.libs/g-ir-compiler$(EXEEXT)
-+else
- INTROSPECTION_COMPILER = \
- env PATH=".libs:$(PATH)" \
- $(top_builddir)/g-ir-compiler$(EXEEXT)
-+endif
-
- INTROSPECTION_COMPILER_ARGS = \
- --includedir=$(srcdir) \
-@@ -35,6 +65,14 @@ INTROSPECTION_COMPILER_ARGS = \
- --includedir=$(top_builddir) \
- --includedir=$(top_builddir)/gir
-
-+if USE_HOST_GI
-+INTROSPECTION_DOCTOOL = \
-+ env PATH="$(PATH)" \
-+ LPATH=.libs \
-+ PYTHONPATH=$(top_builddir):$(top_srcdir) \
-+ UNINSTALLED_INTROSPECTION_BUILDDIR=$(top_builddir) \
-+ g-ir-doc-tool
-+else
- INTROSPECTION_DOCTOOL = \
- env PATH=".libs:$(PATH)" \
- LPATH=.libs \
-@@ -42,6 +80,7 @@ INTROSPECTION_DOCTOOL = \
- UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir) \
- UNINSTALLED_INTROSPECTION_BUILDDIR=$(top_builddir) \
- $(top_builddir)/g-ir-doc-tool
-+endif
-
- INTROSPECTION_DOCTOOL_ARGS = \
- --add-include-path=$(srcdir) \
-diff --git a/configure.ac b/configure.ac
-index d48e6c3..ed5f8a2 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -367,6 +367,48 @@ dnl
- AM_CONDITIONAL(MSVC_BASE_NO_TOOLSET_SET, [test x$MSVC_BASE_TOOLSET = x])
- AM_CONDITIONAL(MSVC_NO_TOOLSET_SET, [test x$MSVC_TOOLSET = x])
-
-+AC_ARG_ENABLE([host-gi],
-+[AS_HELP_STRING([--enable-host-gi],[Use gobject introspection tools installed in the host system (useful when cross-compiling)])],
-+[case "${enableval}" in
-+ yes) host_gi=true ;;
-+ no) host_gi=false ;;
-+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-host-gi]) ;;
-+esac],[host_gi=false])
-+AM_CONDITIONAL([USE_HOST_GI], [test x$host_gi = xtrue])
-+
-+AC_ARG_ENABLE([gi-cross-wrapper],
-+[AS_HELP_STRING([--enable-gi-cross-wrapper=path],[Use a wrapper to run gicompiler and binaries produced by giscanner (useful when cross-compiling)])],
-+[
-+GI_CROSS_WRAPPER="${enableval}"
-+use_wrapper=true
-+],[
-+GI_CROSS_WRAPPER=""
-+use_wrapper=false
-+])
-+AC_SUBST(GI_CROSS_WRAPPER)
-+AM_CONDITIONAL([USE_CROSS_WRAPPER], [test x$use_wrapper = xtrue])
-+
-+AC_ARG_ENABLE([gi-ldd-wrapper],
-+[AS_HELP_STRING([--enable-gi-ldd-wrapper=path],[Use a ldd wrapper instead of system's ldd command in giscanner (useful when cross-compiling)])],
-+[
-+GI_LDD_WRAPPER="${enableval}"
-+use_ldd_wrapper=true
-+],[
-+GI_LDD_WRAPPER=""
-+use_ldd_wrapper=false
-+])
-+AC_SUBST(GI_LDD_WRAPPER)
-+AM_CONDITIONAL([USE_LDD_WRAPPER], [test x$use_ldd_wrapper = xtrue])
-+
-+AC_ARG_ENABLE([introspection-data],
-+[AS_HELP_STRING([--enable-introspection-data],[Build introspection data (.gir and .typelib files) in addition to library and tools])],
-+[case "${enableval}" in
-+ yes) introspection_data=true ;;
-+ no) introspection_data=false ;;
-+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-introspection-data]) ;;
-+esac],[introspection_data=true])
-+AM_CONDITIONAL([BUILD_INTROSPECTION_DATA], [test x$introspection_data = xtrue])
-+
- AC_CONFIG_FILES([
- Makefile
- tests/Makefile
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 4bdb9c3..10b0f27 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -1,6 +1,9 @@
- include $(top_srcdir)/common.mk
-
--SUBDIRS = . scanner repository offsets warn
-+SUBDIRS = . scanner repository warn
-+if BUILD_INTROSPECTION_DATA
-+SUBDIRS += offsets
-+endif
-
- EXTRA_DIST=
- BUILT_SOURCES=
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch
deleted file mode 100644
index 5e4176725c..0000000000
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-g-ir-tools: respect gir_dir_prefix
-
-Configure option gir_dir_prefix is used to configure install dir for
-.gir files, so add its value to include file search paths.
-
-Upstream-Status: Accepted [https://gitlab.gnome.org/GNOME/gobject-introspection/commit/3fe995a]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- Makefile-tools.am | 2 +-
- giscanner/transformer.py | 1 +
- tests/warn/warningtester.py | 1 +
- tools/g-ir-tool-template.in | 10 ++++++++++
- 6 files changed, 15 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile-tools.am b/Makefile-tools.am
-index c70d9850..fcaf1e01 100644
---- a/Makefile-tools.am
-+++ b/Makefile-tools.am
-@@ -9,7 +9,7 @@ EXTRA_DIST += \
- tools/g-ir-tool-template.in \
- tools/meson.build
-
--TOOL_SUBSTITUTIONS = -e s,@libdir\@,$(libdir), -e s,@datarootdir\@,$(datarootdir), -e s,@PYTHON_CMD\@,\/usr\/bin\/env\ $(PYTHON),
-+TOOL_SUBSTITUTIONS = -e s,@libdir\@,$(libdir), -e s,@datarootdir\@,$(datarootdir), -e s,@PYTHON_CMD\@,\/usr\/bin\/env\ $(PYTHON), -e s,@GIR_DIR\@,$(GIR_DIR),g
-
- 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 $@
-diff --git a/giscanner/transformer.py b/giscanner/transformer.py
-index 335e229f..2c412339 100644
---- a/giscanner/transformer.py
-+++ b/giscanner/transformer.py
-@@ -184,6 +184,7 @@ None."""
- def _get_gi_data_dirs(self):
- data_dirs = utils.get_system_data_dirs()
- data_dirs.append(DATADIR)
-+ data_dirs.append(GIRDIR)
- if os.name != 'nt':
- # For backwards compatibility, was always unconditionally added to the list.
- data_dirs.append('/usr/share')
-diff --git a/tests/warn/warningtester.py b/tests/warn/warningtester.py
-index f17c8889..be5aec13 100644
---- a/tests/warn/warningtester.py
-+++ b/tests/warn/warningtester.py
-@@ -18,6 +18,7 @@ sys.path.insert(0, path)
-
- # Not correct, but enough to get the tests going uninstalled
- builtins.__dict__['DATADIR'] = path
-+builtins.__dict__['GIRDIR'] = ''
-
- from giscanner.annotationparser import GtkDocCommentBlockParser
- from giscanner.ast import Include, Namespace
-diff --git a/tools/g-ir-tool-template.in b/tools/g-ir-tool-template.in
-index ed33d16b..b9cf0911 100755
---- a/tools/g-ir-tool-template.in
-+++ b/tools/g-ir-tool-template.in
-@@ -60,6 +60,16 @@ if not os.path.isdir(os.path.join(datadir, 'gir-1.0')):
-
- builtins.__dict__['DATADIR'] = datadir
-
-+# Respect gir_dir_prefix for meson and autotools
-+girdir = ''
-+# for meson
-+if '@gir_dir_prefix@' and not '@gir_dir_prefix@'.startswith('@'):
-+ girdir = os.path.abspath(os.path.join(filedir, '..', '@gir_dir_prefix@'))
-+# for autotools
-+elif '@GIR_DIR@' and not '@GIR_DIR@'.startswith('@'):
-+ girdir = os.path.dirname(os.path.abspath('@GIR_DIR@'))
-+builtins.__dict__['GIRDIR'] = girdir
-+
- # Again, relative paths first so that the installation prefix is relocatable
- pylibdir = os.path.abspath(os.path.join(filedir, '..', 'lib', 'gobject-introspection'))
-
---
-2.17.0
-
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch
deleted file mode 100644
index 45fe27ad61..0000000000
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 46dbe963aa6435591c87e788cdb54bc0daeac42e Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 19 Oct 2015 18:26:40 +0300
-Subject: [PATCH] giscanner: add --use-binary-wrapper option
-
-With this option, giscanner will use a wrapper executable to run
-binaries it's producing, instead of running them directly. This
-is useful when binaries are cross-compiled and cannot be run directly,
-but they can be run using for example QEMU emulation.
-
-Upstream-Status: Pending [review on oe-core list]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- giscanner/scannermain.py | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
-index ccb14e9..061def0 100644
---- a/giscanner/scannermain.py
-+++ b/giscanner/scannermain.py
-@@ -126,6 +126,9 @@ def _get_option_parser():
- parser.add_option("", "--program",
- action="store", dest="program", default=None,
- help="program to execute")
-+ parser.add_option("", "--use-binary-wrapper",
-+ action="store", dest="wrapper", default=None,
-+ help="wrapper to use for running programs (useful when cross-compiling)")
- parser.add_option("", "--program-arg",
- action="append", dest="program_args", default=[],
- help="extra arguments to program")
-@@ -418,6 +421,17 @@ def create_binary(transformer, options, args):
- gdump_parser.get_error_quark_functions())
-
- shlibs = resolve_shlibs(options, binary, options.libraries)
-+ if options.wrapper:
-+ # The wrapper needs the binary itself, not the libtool wrapper script,
-+ # so we check if libtool has sneaked the binary into .libs subdirectory
-+ # and adjust the path accordingly
-+ import os.path
-+ dir_name, binary_name = os.path.split(binary.args[0])
-+ libtool_binary = os.path.join(dir_name, '.libs', binary_name)
-+ if os.path.exists(libtool_binary):
-+ binary.args[0] = libtool_binary
-+ # Then prepend the wrapper to the command line to execute
-+ binary.args = [options.wrapper] + binary.args
- gdump_parser.set_introspection_binary(binary)
- gdump_parser.parse()
- return shlibs
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch
deleted file mode 100644
index 2e36b64bab..0000000000
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From eba2b999e81d81b5f43bb1f0ab33881786bebdec Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 30 Oct 2015 16:28:46 +0200
-Subject: [PATCH] giscanner: add a --use-ldd-wrapper option
-
-This is useful in cross-compile environments where system's ldd
-command does not work on binaries built for a different architecture
-
-Upstream-Status: Pending [review in oe-core]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- giscanner/scannermain.py | 3 +++
- giscanner/shlibs.py | 4 +++-
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
-index 061def0..5cb793e 100644
---- a/giscanner/scannermain.py
-+++ b/giscanner/scannermain.py
-@@ -129,6 +129,9 @@ def _get_option_parser():
- parser.add_option("", "--use-binary-wrapper",
- action="store", dest="wrapper", default=None,
- help="wrapper to use for running programs (useful when cross-compiling)")
-+ parser.add_option("", "--use-ldd-wrapper",
-+ action="store", dest="ldd_wrapper", default=None,
-+ help="wrapper to use instead of ldd (useful when cross-compiling)")
- parser.add_option("", "--program-arg",
- action="append", dest="program_args", default=[],
- help="extra arguments to program")
-diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
-index 7b7b2d0..01d21a3 100644
---- a/giscanner/shlibs.py
-+++ b/giscanner/shlibs.py
-@@ -102,7 +102,9 @@ def _resolve_non_libtool(options, binary, libraries):
- args.extend(libtool)
- args.append('--mode=execute')
- platform_system = platform.system()
-- if platform_system == 'Darwin':
-+ if options.ldd_wrapper:
-+ args.extend([options.ldd_wrapper, binary.args[0]])
-+ elif platform_system == 'Darwin':
- args.extend(['otool', '-L', binary.args[0]])
- else:
- args.extend(['ldd', binary.args[0]])
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch
deleted file mode 100644
index 2a31117b13..0000000000
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From a97d060933932e478c03f1de9513b69bc459eefc Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 8 Oct 2015 18:30:35 +0300
-Subject: [PATCH] Prefix pkg-config paths with PKG_CONFIG_SYSROOT_DIR
- environment variable
-
-This environment variable sets the location of sysroot directory in cross-compilation
-environments; if the variable is not set, the prefix will be empty.
-
-Upstream-Status: Pending [review on oe-core list]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- Makefile-gir.am | 18 +++++++++---------
- m4/introspection.m4 | 8 ++++----
- 2 files changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/Makefile-gir.am b/Makefile-gir.am
-index 2cd7358..eaf0afd 100644
---- a/Makefile-gir.am
-+++ b/Makefile-gir.am
-@@ -58,8 +58,8 @@ else
- endif
-
- # glib
--GLIB_INCLUDEDIR=$(shell "${PKG_CONFIG}" --variable=includedir glib-2.0)/glib-2.0
--GLIB_LIBDIR=$(shell "${PKG_CONFIG}" --variable=libdir glib-2.0)
-+GLIB_INCLUDEDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=includedir glib-2.0)/glib-2.0
-+GLIB_LIBDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=libdir glib-2.0)
-
- GLIB_LIBRARY=glib-2.0
-
-@@ -95,8 +95,8 @@ GLib-2.0.gir: g-ir-scanner g-ir-compiler$(EXEEXT)
- gir/DBusGLib-1.0.typelib: GObject-2.0.gir
-
- # gobject
--GOBJECT_INCLUDEDIR=$(shell "${PKG_CONFIG}" --variable=includedir gobject-2.0)/glib-2.0
--GOBJECT_LIBDIR=$(shell "${PKG_CONFIG}" --variable=libdir gobject-2.0)
-+GOBJECT_INCLUDEDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=includedir gobject-2.0)/glib-2.0
-+GOBJECT_LIBDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=libdir gobject-2.0)
-
- GOBJECT_LIBRARY=gobject-2.0
-
-@@ -123,8 +123,8 @@ GObject_2_0_gir_FILES = \
- BUILT_GIRSOURCES += GObject-2.0.gir
-
- # gmodule
--GMODULE_INCLUDEDIR=$(shell "${PKG_CONFIG}" --variable=includedir gmodule-2.0)/glib-2.0
--GMODULE_LIBDIR=$(shell "${PKG_CONFIG}" --variable=libdir gmodule-2.0)
-+GMODULE_INCLUDEDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=includedir gmodule-2.0)/glib-2.0
-+GMODULE_LIBDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=libdir gmodule-2.0)
-
- GMODULE_LIBRARY=gmodule-2.0
-
-@@ -149,13 +149,13 @@ GModule_2_0_gir_FILES = $(GLIB_INCLUDEDIR)/gmodule.h \
- BUILT_GIRSOURCES += GModule-2.0.gir
-
- # gio
--GIO_INCLUDEDIR=$(shell "${PKG_CONFIG}" --variable=includedir gio-2.0)/glib-2.0
--GIO_LIBDIR=$(shell "${PKG_CONFIG}" --variable=libdir gio-2.0)
-+GIO_INCLUDEDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=includedir gio-2.0)/glib-2.0
-+GIO_LIBDIR=$(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=libdir gio-2.0)
-
- GIO_LIBRARY=gio-2.0
-
- if HAVE_GIO_UNIX
--GIO_UNIX_INCLUDEDIR = $(shell "${PKG_CONFIG}" --variable=includedir gio-unix-2.0)/gio-unix-2.0
-+GIO_UNIX_INCLUDEDIR = $(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=includedir gio-unix-2.0)/gio-unix-2.0
- GIO_UNIX_HDRS = $(GIO_UNIX_INCLUDEDIR)/gio/*.h
- GIO_UNIX_PACKAGES = gio-unix-2.0
- else
-diff --git a/m4/introspection.m4 b/m4/introspection.m4
-index d89c3d9..b562266 100644
---- a/m4/introspection.m4
-+++ b/m4/introspection.m4
-@@ -56,14 +56,14 @@ m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
- INTROSPECTION_GIRDIR=
- INTROSPECTION_TYPELIBDIR=
- if test "x$found_introspection" = "xyes"; then
-- INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
-- INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
-- INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
-+ INTROSPECTION_SCANNER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
-+ INTROSPECTION_COMPILER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
-+ INTROSPECTION_GENERATE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
- INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
- INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
- INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
- INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
-- INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
-+ INTROSPECTION_MAKEFILE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
- fi
- AC_SUBST(INTROSPECTION_SCANNER)
- AC_SUBST(INTROSPECTION_COMPILER)
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch
deleted file mode 100644
index 8eec5f867e..0000000000
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From bbc34f00fd30a13eafc607a956de60d822260355 Mon Sep 17 00:00:00 2001
-From: Kai Kang <kai.kang@windriver.com>
-Date: Fri, 14 Sep 2018 01:26:38 -0700
-Subject: [PATCH] meson: add option 'gir-dir-prefix'
-
-Add option 'gir-dir-prefix' for meson to make the installation path of
-.gir files could be configured which has been done for autoconf.
-
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gobject-introspection/commit/3938b86f5289c2b28a5ec42965b8da4b509445c4]
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- gir/meson.build | 1 -
- meson.build | 8 +++++++-
- meson_options.txt | 4 ++++
- 3 files changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/gir/meson.build b/gir/meson.build
-index 607bbc4..1cb514a 100644
---- a/gir/meson.build
-+++ b/gir/meson.build
-@@ -34,7 +34,6 @@ gir_files = [
- ]
-
- typelibdir = join_paths(get_option('libdir'), 'girepository-1.0')
--girdir = join_paths(get_option('datadir'), 'gir-1.0')
- install_data(gir_files, install_dir: girdir)
-
- scanner_command = [
-diff --git a/meson.build b/meson.build
-index a1432f7..17acd82 100644
---- a/meson.build
-+++ b/meson.build
-@@ -18,7 +18,12 @@ python = pymod.find_installation(get_option('python'))
- cc = meson.get_compiler('c')
- config = configuration_data()
- config.set_quoted('GIR_SUFFIX', 'gir-1.0')
--config.set_quoted('GIR_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'gir-1.0'))
-+gir_dir_prefix = get_option('gir-dir-prefix')
-+if gir_dir_prefix == ''
-+ gir_dir_prefix = get_option('datadir')
-+endif
-+girdir = join_paths(get_option('prefix'), gir_dir_prefix, 'gir-1.0')
-+config.set_quoted('GIR_DIR', girdir)
- config.set_quoted('GOBJECT_INTROSPECTION_LIBDIR', join_paths(get_option('prefix'), get_option('libdir')))
-
- foreach type : ['char', 'short', 'int', 'long']
-@@ -93,6 +98,7 @@ pkgconfig_conf.set('libdir', join_paths('${prefix}', get_option('libdir')))
- pkgconfig_conf.set('datarootdir', join_paths('${prefix}', get_option('datadir')))
- pkgconfig_conf.set('datadir', '${datarootdir}')
- pkgconfig_conf.set('includedir', join_paths('${prefix}', get_option('includedir')))
-+pkgconfig_conf.set('GIR_DIR', join_paths('${prefix}', gir_dir_prefix, 'gir-1.0'))
- if host_system == 'windows' or host_system == 'cygwin'
- pkgconfig_conf.set('EXEEXT', '.exe')
- else
-diff --git a/meson_options.txt b/meson_options.txt
-index 49726be..ee6958d 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -21,3 +21,7 @@ option('cairo-libname', type: 'string',
- option('python', type: 'string', value: 'python3',
- description: 'Path or name of the Python interpreter to build for'
- )
-+
-+option('gir-dir-prefix', type: 'string',
-+ description: 'Intermediate prefix for gir installation under ${prefix}'
-+)
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.70.0.bb
index 4ff9b7bf4b..fcda10bd33 100644
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.70.0.bb
@@ -1,8 +1,12 @@
SUMMARY = "Middleware layer between GObject-using C libraries and language bindings"
+DESCRIPTION = "GObject Introspection is a project for providing machine \
+readable introspection data of the API of C libraries. This introspection \
+data can be used in several different use cases, for example automatic code \
+generation for bindings, API verification and documentation generation."
HOMEPAGE = "https://wiki.gnome.org/action/show/Projects/GObjectIntrospection"
-BUGTRACKER = "https://bugzilla.gnome.org/"
+BUGTRACKER = "https://gitlab.gnome.org/GNOME/gobject-introspection/issues"
SECTION = "libs"
-LICENSE = "LGPLv2+ & GPLv2+"
+LICENSE = "LGPL-2.0-or-later & GPL-2.0-or-later & MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \
file://tools/compiler.c;endline=20;md5=fc5007fc20022720e6c0b0cdde41fabd \
file://giscanner/sourcescanner.c;endline=22;md5=194d6e0c1d00662f32d030ce44de8d39 \
@@ -10,70 +14,52 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \
"
SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \
- file://0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch \
- file://0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch \
- file://0003-giscanner-add-use-binary-wrapper-option.patch \
- file://0004-giscanner-add-a-use-ldd-wrapper-option.patch \
- file://0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch \
- file://0001-giscanner-add-a-lib-dirs-envvar-option.patch \
- file://0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch \
- file://0001-configure.ac-make-GIR_DIR-configurable.patch \
- file://0002-g-ir-tools-respect-gir_dir_prefix.patch \
- file://0010-meson-add-option-gir-dir-prefix.patch \
- file://0001-Port-cross-compilation-support-to-meson.patch \
+ file://0001-build-Avoid-the-doctemplates-hack.patch \
"
-SRC_URI[md5sum] = "182432c1f33886be8f4da073218b597d"
-SRC_URI[sha256sum] = "025b632bbd944dcf11fc50d19a0ca086b83baf92b3e34936d008180d28cdc3c8"
+SRC_URI[sha256sum] = "902b4906e3102d17aa2fcb6dad1c19971c70f2a82a159ddc4a94df73a3cafc4a"
-SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch"
+SRC_URI:append:class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch"
inherit meson pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even multilib_script
+GTKDOC_MESON_OPTION = "gtk_doc"
+
MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner"
-DEPENDS_append = " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive"
+DEPENDS += " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive"
# target build needs qemu to run temporary introspection binaries created
# on the fly by g-ir-scanner and a native version of itself to run
# native versions of its own tools during build.
-# Also prelink-rtld is used to find out library dependencies of introspection binaries
-# (standard ldd doesn't work when cross-compiling).
-DEPENDS_class-target_append = " gobject-introspection-native qemu-native prelink-native"
+DEPENDS:append:class-target = " gobject-introspection-native qemu-native"
# needed for writing out the qemu wrapper script
export STAGING_DIR_HOST
export B
PACKAGECONFIG ?= ""
-PACKAGECONFIG[doctool] = "-Ddoctool=true,-Ddoctool=false,python3-mako,"
+PACKAGECONFIG[doctool] = "-Ddoctool=enabled,-Ddoctool=disabled,python3-mako,"
# Configure target build to use native tools of itself and to use a qemu wrapper
# and optionally to generate introspection data
-EXTRA_OEMESON_class-target = " \
- -Denable-host-gi=true \
- -Denable-gi-cross-wrapper=${B}/g-ir-scanner-qemuwrapper \
- -Denable-gi-ldd-wrapper=${B}/g-ir-scanner-lddwrapper \
- -Dpkgconfig-sysroot-path=${PKG_CONFIG_SYSROOT_DIR} \
- ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Denable-introspection-data=true', '-Denable-introspection-data=false', d)} \
- ${@'-Dgir-dir-prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \
+EXTRA_OEMESON:class-target = " \
+ -Dgi_cross_use_prebuilt_gi=true \
+ -Dgi_cross_binary_wrapper=${B}/g-ir-scanner-qemuwrapper \
+ -Dgi_cross_ldd_wrapper=${B}/g-ir-scanner-lddwrapper \
+ -Dgi_cross_pkgconfig_sysroot_path=${PKG_CONFIG_SYSROOT_DIR} \
+ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dbuild_introspection_data=true', '-Dbuild_introspection_data=false', d)} \
+ ${@'-Dgir_dir_prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \
"
-# Need to ensure ld.so.conf exists so prelink-native works
-# both before we build and if we install from sstate
-do_configure[prefuncs] += "gobject_introspection_preconfigure"
-python gobject_introspection_preconfigure () {
- oe.utils.write_ld_so_conf(d)
-}
-
-do_configure_prepend_class-native() {
+do_configure:prepend:class-native() {
# Tweak the native python scripts so that they don't refer to the
# full path of native python binary (the solution is taken from glib-2.0 recipe)
# This removes the risk of exceeding Linux kernel's shebang line limit (128 bytes)
sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
}
-do_configure_prepend_class-target() {
+do_configure:prepend:class-target() {
# Write out a qemu wrapper that will be given to gi-scanner so that it
# can run target helper binaries through that.
qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\\$GIR_EXTRA_LIBS_PATH','.libs','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}"
@@ -94,11 +80,11 @@ EOF
# Write out a wrapper for g-ir-scanner itself, which will be used when building introspection files
# for glib-based packages. This wrapper calls the native version of the scanner, and tells it to use
- # a qemu wrapper for running transient target binaries produced by the scanner, and an include directory
+ # a qemu wrapper for running transient target binaries produced by the scanner, and an include directory
# from the target sysroot.
cat > ${B}/g-ir-scanner-wrapper << EOF
#!/bin/sh
-# This prevents g-ir-scanner from writing cache data to $HOME
+# This prevents g-ir-scanner from writing cache data to user's HOME dir
export GI_SCANNER_DISABLE_CACHE=1
g-ir-scanner --lib-dirs-envvar=GIR_EXTRA_LIBS_PATH --use-binary-wrapper=${STAGING_BINDIR}/g-ir-scanner-qemuwrapper --use-ldd-wrapper=${STAGING_BINDIR}/g-ir-scanner-lddwrapper --add-include-path=${STAGING_DATADIR}/gir-1.0 --add-include-path=${STAGING_LIBDIR}/gir-1.0 "\$@"
@@ -117,7 +103,7 @@ EOF
# for a different architecture
cat > ${B}/g-ir-scanner-lddwrapper << EOF
#!/bin/sh
-prelink-rtld --root=$STAGING_DIR_HOST "\$@"
+$OBJDUMP -p "\$@"
EOF
chmod +x ${B}/g-ir-scanner-lddwrapper
@@ -126,7 +112,7 @@ EOF
sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in
}
-do_compile_prepend() {
+do_compile:prepend() {
# This prevents g-ir-scanner from writing cache data to $HOME
export GI_SCANNER_DISABLE_CACHE=1
@@ -134,9 +120,14 @@ do_compile_prepend() {
export GIR_EXTRA_LIBS_PATH=$B/.libs
}
-# Our wrappers need to be available system-wide, because they will be used
+do_install:prepend() {
+ # This prevents g-ir-scanner from writing cache data to $HOME
+ export GI_SCANNER_DISABLE_CACHE=1
+}
+
+# Our wrappers need to be available system-wide, because they will be used
# to build introspection files for all other gobject-based packages
-do_install_append_class-target() {
+do_install:append:class-target() {
install -d ${D}${bindir}/
install ${B}/g-ir-scanner-qemuwrapper ${D}${bindir}/
install ${B}/g-ir-scanner-wrapper ${D}${bindir}/
@@ -146,9 +137,9 @@ do_install_append_class-target() {
# we need target versions of introspection tools in sysroot so that they can be run via qemu
# when building introspection files in other packages
-SYSROOT_DIRS_append_class-target = " ${bindir}"
+SYSROOT_DIRS:append:class-target = " ${bindir}"
-SYSROOT_PREPROCESS_FUNCS_append_class-target = " gi_binaries_sysroot_preprocess"
+SYSROOT_PREPROCESS_FUNCS:append:class-target = " gi_binaries_sysroot_preprocess"
gi_binaries_sysroot_preprocess() {
# Tweak the binary names in the introspection pkgconfig file, so that it
# picks up our wrappers which do the cross-compile and qemu magic.
@@ -158,7 +149,7 @@ gi_binaries_sysroot_preprocess() {
${SYSROOT_DESTDIR}${libdir}/pkgconfig/gobject-introspection-1.0.pc
}
-SYSROOT_PREPROCESS_FUNCS_append = " gi_ldsoconf_sysroot_preprocess"
+SYSROOT_PREPROCESS_FUNCS:append = " gi_ldsoconf_sysroot_preprocess"
gi_ldsoconf_sysroot_preprocess () {
mkdir -p ${SYSROOT_DESTDIR}${bindir}
dest=${SYSROOT_DESTDIR}${bindir}/postinst-ldsoconf-${PN}
@@ -181,26 +172,26 @@ gi_package_preprocess() {
SSTATE_SCAN_FILES += "g-ir-scanner-qemuwrapper g-ir-scanner-wrapper g-ir-compiler-wrapper g-ir-scanner-lddwrapper Gio-2.0.gir postinst-ldsoconf-${PN}"
# .typelib files are needed at runtime and so they go to the main package
-FILES_${PN}_append = " ${libdir}/girepository-*/*.typelib"
+FILES:${PN}:append = " ${libdir}/girepository-*/*.typelib"
# .gir files go to dev package, as they're needed for developing (but not for running)
# things that depends on introspection.
-FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir ${libdir}/gir-*/*.gir"
-FILES_${PN}-dev_append = " ${datadir}/gir-*/*.rnc"
+FILES:${PN}-dev:append = " ${datadir}/gir-*/*.gir ${libdir}/gir-*/*.gir"
+FILES:${PN}-dev:append = " ${datadir}/gir-*/*.rnc"
# These are used by gobject-based packages
# to generate transient introspection binaries
-FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/gdump.c \
+FILES:${PN}-dev:append = " ${datadir}/gobject-introspection-1.0/gdump.c \
${datadir}/gobject-introspection-1.0/Makefile.introspection"
# These are used by dependent packages (e.g. pygobject) to build their
# testsuites.
-FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/tests/*.c \
+FILES:${PN}-dev:append = " ${datadir}/gobject-introspection-1.0/tests/*.c \
${datadir}/gobject-introspection-1.0/tests/*.h"
-FILES_${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/"
-FILES_${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a"
+FILES:${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/"
+FILES:${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a"
-RDEPENDS_${PN} = "python3-pickle python3-xml"
+RDEPENDS:${PN} = "python3-pickle python3-xml"
BBCLASSEXTEND = "native"