package/gobject-introspection: bump version to 2.64.0
authorAdam Duskett <Aduskett@gmail.com>
Thu, 12 Mar 2020 19:42:55 +0000 (12:42 -0700)
committerYann E. MORIN <yann.morin.1998@free.fr>
Thu, 12 Mar 2020 21:10:15 +0000 (22:10 +0100)
Other changes:
  - Remove upstream patches.
  - Change cross-compile options to upstream equivilants
  - Add -Ddoctool=disabled to GOBJECT_INTROSPECTION_CONF_OPTS
  - Change -Dcairo from a bool to a feature.

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
[yann.morin.1998@free.fr: keep patches ordering]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
13 files changed:
package/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch [deleted file]
package/gobject-introspection/0001-disable-tests.patch [new file with mode: 0644]
package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch [new file with mode: 0644]
package/gobject-introspection/0002-add-cross-compilation-support-to-meson.patch [deleted file]
package/gobject-introspection/0003-disable-tests.patch [deleted file]
package/gobject-introspection/0003-ignore-error-return-codes-from-ldd-wrapper.patch [new file with mode: 0644]
package/gobject-introspection/0004-giscanner-add-use-binary-wrapper-option.patch [deleted file]
package/gobject-introspection/0005-giscanner-add-a-use-ldd-wrapper-option.patch [deleted file]
package/gobject-introspection/0006-giscanner-add-a-lib-dirs-envvar-option.patch [deleted file]
package/gobject-introspection/0007-Add-rpath-links-to-ccompiler.patch [deleted file]
package/gobject-introspection/0008-ignore-error-return-codes-from-ldd-wrapper.patch [deleted file]
package/gobject-introspection/gobject-introspection.hash
package/gobject-introspection/gobject-introspection.mk

diff --git a/package/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch b/package/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch
deleted file mode 100644 (file)
index 1e8bd35..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-From 3a9d1e5ee0aae56fafec0beba2014c19e4ff310c 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>
-Signed-off-by: Adam Duskett <aduskett@gmail.com>
----
- common.mk                | 4 ----
- giscanner/gdumpparser.py | 6 ------
- 2 files changed, 10 deletions(-)
-
-diff --git a/giscanner/gdumpparser.py b/giscanner/gdumpparser.py
-index 1134f33..9bdc2bc 100644
---- a/giscanner/gdumpparser.py
-+++ b/giscanner/gdumpparser.py
-@@ -156,12 +156,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))
--- 
-2.7.0
-
diff --git a/package/gobject-introspection/0001-disable-tests.patch b/package/gobject-introspection/0001-disable-tests.patch
new file mode 100644 (file)
index 0000000..c75c751
--- /dev/null
@@ -0,0 +1,34 @@
+From 473b4288d8f4e891d0d21f7b60ef8053c5cd7af9 Mon Sep 17 00:00:00 2001
+From: Adam Duskett <aduskett@gmail.com>
+Date: Mon, 3 Feb 2020 10:07:15 -0800
+Subject: [PATCH] disable tests
+
+If introspection data on the host is not built, meson throws the error:
+"Unknown variable "typelibs". Because tests are not required, removing
+the subdir tests alltogether fixes this issue.
+
+Signed-off-by: Adam Duskett <aduskett@gmail.com>
+---
+ meson.build | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index eed4d6b..5058664 100644
+--- a/meson.build
++++ b/meson.build
+@@ -214,12 +214,6 @@ if get_option('build_introspection_data') == true
+ endif
+ 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()
+-    subdir('tests')
+-endif
+-
+ install_data('Makefile.introspection', install_dir: join_paths(get_option('datadir'), 'gobject-introspection-1.0'))
+ install_data('m4/introspection.m4', install_dir: join_paths(get_option('datadir'), 'aclocal'))
+-- 
+2.24.1
+
diff --git a/package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch b/package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch
new file mode 100644 (file)
index 0000000..08835d3
--- /dev/null
@@ -0,0 +1,29 @@
+From 72a427bc50daee8f1ded0e9221e53dbbf2a80f08 Mon Sep 17 00:00:00 2001
+From: Adam Duskett <aduskett@gmail.com>
+Date: Wed, 14 Mar 2018 12:07:10 -0400
+Subject: [PATCH] Add rpath links to ccompiler
+
+This patch allows gobject-introspection to process extra paths passed to the
+compiler via the GIR_EXTRA_LIBS_PATH variable.
+
+Signed-off-by: Adam Duskett <aduskett@gmail.com>
+---
+ giscanner/ccompiler.py | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/giscanner/ccompiler.py b/giscanner/ccompiler.py
+index a8bd5b1..51bb9bc 100644
+--- a/giscanner/ccompiler.py
++++ b/giscanner/ccompiler.py
+@@ -229,6 +229,8 @@ class CCompiler(object):
+         for envvar in runtime_path_envvar:
+             if envvar in os.environ:
++                for envvar_path in os.environ[envvar].split(':'):
++                    args.append("-Wl,-rpath-link," + envvar_path)
+                 os.environ[envvar] = \
+                     os.pathsep.join(runtime_paths + [os.environ[envvar]])
+             else:
+-- 
+2.14.3
+
diff --git a/package/gobject-introspection/0002-add-cross-compilation-support-to-meson.patch b/package/gobject-introspection/0002-add-cross-compilation-support-to-meson.patch
deleted file mode 100644 (file)
index 5e3ac59..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-From 2b3bce1526b538dc2c7fa223eaf9808858aa1b06 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] add cross-compilation support to meson
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-Signed-off-by: Adam Duskett <aduskett@gmail.com>
----
- gir/meson.build   | 62 ++++++++++++++++++++++++++++++++++-------------
- meson.build       |  4 ++-
- meson_options.txt | 20 +++++++++++++++
- 3 files changed, 68 insertions(+), 18 deletions(-)
-
-diff --git a/gir/meson.build b/gir/meson.build
-index 85ae575..327c134 100644
---- a/gir/meson.build
-+++ b/gir/meson.build
-@@ -36,16 +36,29 @@ 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',
--  '--quiet',
--  '--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',
-+      '--quiet',
-+      '--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',
-+      '--quiet',
-+      '--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'
-@@ -58,6 +71,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
-@@ -84,8 +103,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')
-@@ -339,7 +358,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
-@@ -422,15 +441,24 @@ gir_files += custom_target('gir-girepository',
- )
- typelibs = []
-+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
-   typelibs += 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 95bbd2b..f7baefd 100644
---- a/meson.build
-+++ b/meson.build
-@@ -163,7 +163,9 @@ endif
- 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 445a68a..a325511 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/package/gobject-introspection/0003-disable-tests.patch b/package/gobject-introspection/0003-disable-tests.patch
deleted file mode 100644 (file)
index fcc5a79..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From 473b4288d8f4e891d0d21f7b60ef8053c5cd7af9 Mon Sep 17 00:00:00 2001
-From: Adam Duskett <aduskett@gmail.com>
-Date: Mon, 3 Feb 2020 10:07:15 -0800
-Subject: [PATCH] disable tests
-
-If introspection data on the host is not built, meson throws the error:
-"Unknown variable "typelibs". Because tests are not required, removing
-the subdir tests alltogether fixes this issue.
-
-Signed-off-by: Adam Duskett <aduskett@gmail.com>
----
- meson.build | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index a5e825f..981e936 100644
---- a/meson.build
-+++ b/meson.build
-@@ -171,7 +171,6 @@ subdir('giscanner')
- subdir('gir')
- subdir('examples')
- subdir('docs')
--subdir('tests')
- install_data('Makefile.introspection', install_dir: join_paths(get_option('datadir'), 'gobject-introspection-1.0'))
- install_data('m4/introspection.m4', install_dir: join_paths(get_option('datadir'), 'aclocal'))
--- 
-2.24.1
-
diff --git a/package/gobject-introspection/0003-ignore-error-return-codes-from-ldd-wrapper.patch b/package/gobject-introspection/0003-ignore-error-return-codes-from-ldd-wrapper.patch
new file mode 100644 (file)
index 0000000..d43dc13
--- /dev/null
@@ -0,0 +1,28 @@
+From f742da8b3913f4818d3f419117076afe62f4dbf4 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>
+Signed-off-by: Adam Duskett <aduskett@gmail.com>
+---
+ giscanner/shlibs.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
+index d67df95..80352a6 100644
+--- a/giscanner/shlibs.py
++++ b/giscanner/shlibs.py
+@@ -103,7 +103,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/package/gobject-introspection/0004-giscanner-add-use-binary-wrapper-option.patch b/package/gobject-introspection/0004-giscanner-add-use-binary-wrapper-option.patch
deleted file mode 100644 (file)
index cffc2d9..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-From 704b888d0abfb01067352c40156f49f655691c7c 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>
-Signed-off-by: Adam Duskett <aduskett@gmail.com>
----
- giscanner/scannermain.py | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
-index 633496f..d684cd0 100755
---- a/giscanner/scannermain.py
-+++ b/giscanner/scannermain.py
-@@ -120,6 +120,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")
-@@ -417,6 +420,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
--- 
-2.7.0
-
diff --git a/package/gobject-introspection/0005-giscanner-add-a-use-ldd-wrapper-option.patch b/package/gobject-introspection/0005-giscanner-add-a-use-ldd-wrapper-option.patch
deleted file mode 100644 (file)
index 386c1c3..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-From d4ad57fd4a32c4f0d2f0522a3090ef940746431b 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>
-Signed-off-by: Adam Duskett <aduskett@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 d684cd0..1b3b369 100755
---- a/giscanner/scannermain.py
-+++ b/giscanner/scannermain.py
-@@ -123,6 +123,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 c93d20c..c5b5942 100644
---- a/giscanner/shlibs.py
-+++ b/giscanner/shlibs.py
-@@ -97,7 +97,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]])
--- 
-2.7.0
-
diff --git a/package/gobject-introspection/0006-giscanner-add-a-lib-dirs-envvar-option.patch b/package/gobject-introspection/0006-giscanner-add-a-lib-dirs-envvar-option.patch
deleted file mode 100644 (file)
index 06f5635..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-From 3a9b3d8179b7eb9d2cc93da31578945bc03a45c3 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 27 Apr 2018 12:56:15 -0400
-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>
-Signed-off-by: Adam Duskett <aduskett@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 d10327c..6cf25d5 100644
---- a/giscanner/ccompiler.py
-+++ b/giscanner/ccompiler.py
-@@ -174,7 +174,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.
-@@ -184,7 +184,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 3c7220b..0abd565 100644
---- a/giscanner/dumper.py
-+++ b/giscanner/dumper.py
-@@ -244,7 +244,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 d262785..51c9570 100755
---- a/giscanner/scannermain.py
-+++ b/giscanner/scannermain.py
-@@ -126,6 +126,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")
--- 
-2.14.3
-
diff --git a/package/gobject-introspection/0007-Add-rpath-links-to-ccompiler.patch b/package/gobject-introspection/0007-Add-rpath-links-to-ccompiler.patch
deleted file mode 100644 (file)
index 08835d3..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From 72a427bc50daee8f1ded0e9221e53dbbf2a80f08 Mon Sep 17 00:00:00 2001
-From: Adam Duskett <aduskett@gmail.com>
-Date: Wed, 14 Mar 2018 12:07:10 -0400
-Subject: [PATCH] Add rpath links to ccompiler
-
-This patch allows gobject-introspection to process extra paths passed to the
-compiler via the GIR_EXTRA_LIBS_PATH variable.
-
-Signed-off-by: Adam Duskett <aduskett@gmail.com>
----
- giscanner/ccompiler.py | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/giscanner/ccompiler.py b/giscanner/ccompiler.py
-index a8bd5b1..51bb9bc 100644
---- a/giscanner/ccompiler.py
-+++ b/giscanner/ccompiler.py
-@@ -229,6 +229,8 @@ class CCompiler(object):
-         for envvar in runtime_path_envvar:
-             if envvar in os.environ:
-+                for envvar_path in os.environ[envvar].split(':'):
-+                    args.append("-Wl,-rpath-link," + envvar_path)
-                 os.environ[envvar] = \
-                     os.pathsep.join(runtime_paths + [os.environ[envvar]])
-             else:
--- 
-2.14.3
-
diff --git a/package/gobject-introspection/0008-ignore-error-return-codes-from-ldd-wrapper.patch b/package/gobject-introspection/0008-ignore-error-return-codes-from-ldd-wrapper.patch
deleted file mode 100644 (file)
index 568758d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From f742da8b3913f4818d3f419117076afe62f4dbf4 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>
-Signed-off-by: Adam Duskett <aduskett@gmail.com>
----
- giscanner/shlibs.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
-index d67df95..80352a6 100644
---- a/giscanner/shlibs.py
-+++ b/giscanner/shlibs.py
-@@ -102,7 +102,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")
index 0454c59565e29419f408101caea2defb535de08b..c6923f8599f27c12ce920e6aaf183d6855a4e5d8 100644 (file)
@@ -1,4 +1,4 @@
-#From http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/1.62/gobject-introspection-1.62.0.sha256sum
-sha256 b1ee7ed257fdbc008702bdff0ff3e78a660e7e602efa8f211dc89b9d1e7d90a2 gobject-introspection-1.62.0.tar.xz
+#From http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/1.64/gobject-introspection-1.64.0.sha256sum
+sha256 eac05a63091c81adfdc8ef34820bcc7e7778c5b9e34734d344fc9e69ddf4fc82 gobject-introspection-1.64.0.tar.xz
 sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING.LGPL
 sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING.GPL
index 67e5e37dee0f3bd6b624ac3a64976e1de2ddd508..c18a1f17d37a58b60c7280e52f95f42d659474ce 100644 (file)
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-GOBJECT_INTROSPECTION_VERSION_MAJOR = 1.62
+GOBJECT_INTROSPECTION_VERSION_MAJOR = 1.64
 GOBJECT_INTROSPECTION_VERSION = $(GOBJECT_INTROSPECTION_VERSION_MAJOR).0
 GOBJECT_INTROSPECTION_SITE = http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/$(GOBJECT_INTROSPECTION_VERSION_MAJOR)
 GOBJECT_INTROSPECTION_SOURCE = gobject-introspection-$(GOBJECT_INTROSPECTION_VERSION).tar.xz
@@ -37,19 +37,22 @@ GOBJECT_INTROSPECTION_NINJA_ENV += \
 # the package will attempt to use the systems libglib2 which will fail
 # if the systems libglib2 version is older than 2.60.
 HOST_GOBJECT_INTROSPECTION_CONF_OPTS = \
-       -Denable-introspection-data=false
+       -Dbuild_introspection_data=false
 
 # Use the host gi-scanner to prevent the scanner from generating incorrect
 # elf classes.
 GOBJECT_INTROSPECTION_CONF_OPTS = \
-       -Denable-host-gi=true \
-       -Denable-gi-cross-wrapper="$(STAGING_DIR)/usr/bin/g-ir-scanner-qemuwrapper" \
-       -Denable-gi-ldd-wrapper="$(STAGING_DIR)/usr/bin/g-ir-scanner-lddwrapper" \
-       -Denable-introspection-data=true
+       -Dgi_cross_use_host_gi=true \
+       -Dgi_cross_binary_wrapper="$(STAGING_DIR)/usr/bin/g-ir-scanner-qemuwrapper" \
+       -Dgi_cross_ldd_wrapper="$(STAGING_DIR)/usr/bin/g-ir-scanner-lddwrapper" \
+       -Dbuild_introspection_data=true \
+       -Ddoctool=disabled
 
 ifeq ($(BR2_PACKAGE_CAIRO),y)
 GOBJECT_INTROSPECTION_DEPENDENCIES += cairo
-GOBJECT_INTROSPECTION_CONF_OPTS += -Dcairo=true
+GOBJECT_INTROSPECTION_CONF_OPTS += -Dcairo=enabled
+else
+GOBJECT_INTROSPECTION_CONF_OPTS += -Dcairo=disabled
 endif
 
 # GI_SCANNER_DISABLE_CACHE=1 prevents g-ir-scanner from writing cache data to ${HOME}