summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-gnome/gobject-introspection
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2019-04-05 22:28:33 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2019-04-05 22:31:28 +0300
commit193236933b0f4ab91b1625b64e2187e2db4e0e8f (patch)
treee12769d7c76d8b0517d6de3d3c72189753d253ed /poky/meta/recipes-gnome/gobject-introspection
parentbd93df9478f2f56ffcbc8cb88f1709c735dcd85b (diff)
downloadopenbmc-193236933b0f4ab91b1625b64e2187e2db4e0e8f.tar.xz
reset upstream subtrees to HEAD
Reset the following subtrees on HEAD: poky: 8217b477a1(master) meta-xilinx: 64aa3d35ae(master) meta-openembedded: 0435c9e193(master) meta-raspberrypi: 490a4441ac(master) meta-security: cb6d1c85ee(master) Squashed patches: meta-phosphor: drop systemd 239 patches meta-phosphor: mrw-api: use correct install path Change-Id: I268e2646d9174ad305630c6bbd3fbc1a6105f43d Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'poky/meta/recipes-gnome/gobject-introspection')
-rw-r--r--poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch160
-rw-r--r--poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch18
-rw-r--r--poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch66
-rw-r--r--poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb (renamed from poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb)26
4 files changed, 256 insertions, 14 deletions
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch
new file mode 100644
index 0000000000..80c9e71ad5
--- /dev/null
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch
@@ -0,0 +1,160 @@
+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/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
index ba85c317f6..a91d22afa7 100644
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
@@ -1,4 +1,4 @@
-From 4cf37d56fddcc22bcd818f6d470404f56d907f3c Mon Sep 17 00:00:00 2001
+From 7ea8c83d84a05f686128e652a5447fb5f6fb68be 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
@@ -17,7 +17,8 @@ Signed-off-by: Sascha Silbe <x-yo17@se-silbe.de>
---
girepository/girepository.c | 15 +++++++++++++--
- 1 file changed, 13 insertions(+), 2 deletions(-)
+ girepository/meson.build | 2 +-
+ 2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/girepository/girepository.c b/girepository/girepository.c
index c1fa3d3..efa557e 100644
@@ -60,3 +61,16 @@ 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
+--- a/girepository/meson.build
++++ b/girepository/meson.build
+@@ -27,7 +27,7 @@ girepo_internals_lib = static_library('girepository-internals',
+ ],
+ c_args: gi_hidden_visibility_cflags,
+ include_directories : configinc,
+- dependencies: [girepo_gthash_dep, libffi_dep],
++ dependencies: [girepo_gthash_dep, libffi_dep, cc.find_library('dl')],
+ )
+
+ girepo_internals_dep = declare_dependency(
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch
new file mode 100644
index 0000000000..8eec5f867e
--- /dev/null
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch
@@ -0,0 +1,66 @@
+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/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb
index 55ca87ddaa..4ff9b7bf4b 100644
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb
@@ -19,14 +19,16 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-$
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 \
"
-SRC_URI[md5sum] = "94fec875276262037bfcd51226db12fe"
-SRC_URI[sha256sum] = "27c1590a32749de0a5481ce897772547043e94bccba4bc0a7edb3d8513e401ec"
+SRC_URI[md5sum] = "182432c1f33886be8f4da073218b597d"
+SRC_URI[sha256sum] = "025b632bbd944dcf11fc50d19a0ca086b83baf92b3e34936d008180d28cdc3c8"
SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch"
-inherit autotools pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even multilib_script
+inherit meson pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even multilib_script
MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner"
@@ -44,17 +46,17 @@ export STAGING_DIR_HOST
export B
PACKAGECONFIG ?= ""
-PACKAGECONFIG[doctool] = "--enable-doctool,--disable-doctool,python3-mako,"
+PACKAGECONFIG[doctool] = "-Ddoctool=true,-Ddoctool=false,python3-mako,"
# Configure target build to use native tools of itself and to use a qemu wrapper
# and optionally to generate introspection data
-EXTRA_OECONF_class-target = " \
- --disable-static \
- --enable-host-gi \
- --enable-gi-cross-wrapper=${B}/g-ir-scanner-qemuwrapper \
- --enable-gi-ldd-wrapper=${B}/g-ir-scanner-lddwrapper \
- ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '--enable-introspection-data', '--disable-introspection-data', d)} \
- ${@'--with-gir-dir-prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \
+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 ''} \
"
# Need to ensure ld.so.conf exists so prelink-native works
@@ -74,7 +76,7 @@ do_configure_prepend_class-native() {
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}'])}"
+ qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\\$GIR_EXTRA_LIBS_PATH','.libs','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}"
cat > ${B}/g-ir-scanner-qemuwrapper << EOF
#!/bin/sh
# Use a modules directory which doesn't exist so we don't load random things