All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2 0/3] Fix multilib install file conflict of gobject-introspection
@ 2018-10-10 15:02 kai.kang
  2018-10-10 15:02 ` [PATCH 1/3] gobject-introspection: add required python modules to rdepends kai.kang
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: kai.kang @ 2018-10-10 15:02 UTC (permalink / raw)
  To: richard.purdie; +Cc: openembedded-core

From: Kai Kang <kai.kang@windriver.com>

1 test steps
Set config in local.conf:

MACHINE = "qemux86-64"
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"

IMAGE_INSTALL_append = " packagegroup-core-buildessential ldd gobject-introspection lib32-gobject-introspection gobject-introspection-dev lib32-gobject-introspection-dev"

2 bitbake core-image-sato

3 runqemu qemux86-64

4 runtime test:
Prepare a simple c file:
// test.h
int test_foo();

// test.c
#include <stdio.h>

int test_foo()
{
printf("hello world.\n");

return 0;
}

4.1 verify /usr/lib64/gir-1.0 is searched
# mv /usr/lib64/gir-1.0/ /tmp
# g-ir-scanner --no-libtool --namespace=Test --nsversion=0 --library=test --output Test-0.gir --include=GObject-2.0 test.c test.h
Couldn't find include 'GObject-2.0.gir' (search path: '['gir-1.0', '/usr/share/gir-1.0', '/usr/lib64/gir-1.0', '/usr/share/gir-1.0', '/usr/share/gir-1.0']')

4.2 verify g-ir-scanner and g-ir-compiler work
# gcc -fPIC -shared test.c -o libtest.so
# g-ir-scanner --no-libtool --namespace=Test --nsversion=0 --library=test --output Test-0.gir --include=GObject-2.0 test.c test.h
# g-ir-compiler Test-0.gir -o Test-0.typelib


The following changes since commit 4806d533044011811e78ac41c6aeee3de4224a1e:

  bitbake: main: Fix environment handling for UI module imports (2018-10-10 12:47:48 +0100)

are available in the Git repository at:

  git://git.pokylinux.org/poky-contrib kangkai/gir-ml
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=kangkai/gir-ml

Kai Kang (3):
  gobject-introspection: add required python modules to rdepends
  gobject-introspection: fix multilib install file conflicts
  vala: update vapigen-wrapper

 meta/recipes-devtools/vala/vala.inc           |  7 +-
 ...nfigure.ac-make-GIR_DIR-configurable.patch | 68 +++++++++++++++++
 ...02-g-ir-tools-respect-gir_dir_prefix.patch | 76 +++++++++++++++++++
 .../gobject-introspection_1.58.0.bb           | 13 +++-
 4 files changed, 160 insertions(+), 4 deletions(-)
 create mode 100644 meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch
 create mode 100644 meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch

--
2.18.0



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/3] gobject-introspection: add required python modules to rdepends
  2018-10-10 15:02 [PATCH V2 0/3] Fix multilib install file conflict of gobject-introspection kai.kang
@ 2018-10-10 15:02 ` kai.kang
  2018-10-11 21:54   ` Burton, Ross
  2018-10-10 15:03 ` [PATCH 2/3] gobject-introspection: fix multilib install file conflicts kai.kang
  2018-10-10 15:03 ` [PATCH 3/3] vala: update vapigen-wrapper kai.kang
  2 siblings, 1 reply; 6+ messages in thread
From: kai.kang @ 2018-10-10 15:02 UTC (permalink / raw)
  To: richard.purdie; +Cc: openembedded-core

From: Kai Kang <kai.kang@windriver.com>

It fails to run g-ir-scanner from package gobject-introspection that
missing python modules 'xml' and 'pickle'. Add them to rdepends.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
 .../gobject-introspection/gobject-introspection_1.58.0.bb       | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb
index de898a788b..a08ccf2970 100644
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb
@@ -194,4 +194,6 @@ FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/tests/*.c \
 FILES_${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/"
 FILES_${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a"
 
+RDEPENDS_${PN}_class-target = "python3-pickle python3-xml"
+
 BBCLASSEXTEND = "native"
-- 
2.18.0



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/3] gobject-introspection: fix multilib install file conflicts
  2018-10-10 15:02 [PATCH V2 0/3] Fix multilib install file conflict of gobject-introspection kai.kang
  2018-10-10 15:02 ` [PATCH 1/3] gobject-introspection: add required python modules to rdepends kai.kang
@ 2018-10-10 15:03 ` kai.kang
  2018-10-10 15:03 ` [PATCH 3/3] vala: update vapigen-wrapper kai.kang
  2 siblings, 0 replies; 6+ messages in thread
From: kai.kang @ 2018-10-10 15:03 UTC (permalink / raw)
  To: richard.purdie; +Cc: openembedded-core

From: Kai Kang <kai.kang@windriver.com>

Fix multilib isntall file conflicts for gobject-introspection.
* use multilib_script.bbclass to handle ${bindir}/g-ir-annotation-tool
  and ${bindir}/g-ir-scanner
* add configure option to install .gir files to an alternative path and
  only set it when multilib is enabled

Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
 ...nfigure.ac-make-GIR_DIR-configurable.patch | 68 +++++++++++++++++
 ...02-g-ir-tools-respect-gir_dir_prefix.patch | 76 +++++++++++++++++++
 .../gobject-introspection_1.58.0.bb           | 11 ++-
 3 files changed, 152 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch
 create mode 100644 meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch

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
new file mode 100644
index 0000000000..e0402f8f49
--- /dev/null
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch
@@ -0,0 +1,68 @@
+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/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
new file mode 100644
index 0000000000..5e4176725c
--- /dev/null
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch
@@ -0,0 +1,76 @@
+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_1.58.0.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb
index a08ccf2970..65c446672b 100644
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.0.bb
@@ -17,6 +17,8 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-$
            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 \
            "
 
 SRC_URI[md5sum] = "94fec875276262037bfcd51226db12fe"
@@ -24,7 +26,9 @@ SRC_URI[sha256sum] = "27c1590a32749de0a5481ce897772547043e94bccba4bc0a7edb3d8513
 
 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
+inherit autotools 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"
 
 DEPENDS_append = " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive"
 
@@ -50,6 +54,7 @@ EXTRA_OECONF_class-target = " \
     --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 ''} \
 "
 
 # Need to ensure ld.so.conf exists so prelink-native works
@@ -94,7 +99,7 @@ EOF
 # This prevents g-ir-scanner from writing cache data to $HOME
 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 "\$@"
+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 "\$@"
 EOF
         chmod +x ${B}/g-ir-scanner-wrapper
 
@@ -178,7 +183,7 @@ 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"
+FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir ${libdir}/gir-*/*.gir"
 FILES_${PN}-dev_append = " ${datadir}/gir-*/*.rnc"
 
 # These are used by gobject-based packages
-- 
2.18.0



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/3] vala: update vapigen-wrapper
  2018-10-10 15:02 [PATCH V2 0/3] Fix multilib install file conflict of gobject-introspection kai.kang
  2018-10-10 15:02 ` [PATCH 1/3] gobject-introspection: add required python modules to rdepends kai.kang
  2018-10-10 15:03 ` [PATCH 2/3] gobject-introspection: fix multilib install file conflicts kai.kang
@ 2018-10-10 15:03 ` kai.kang
  2 siblings, 0 replies; 6+ messages in thread
From: kai.kang @ 2018-10-10 15:03 UTC (permalink / raw)
  To: richard.purdie; +Cc: openembedded-core

From: Kai Kang <kai.kang@windriver.com>

The .gir files from gobject-introspection are configured to install to
${libdir}/gir-1.0 when multilib is enabled. Update vapigen-wrapper accordingly.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
 meta/recipes-devtools/vala/vala.inc | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/vala/vala.inc b/meta/recipes-devtools/vala/vala.inc
index b22faad780..f680640ca6 100644
--- a/meta/recipes-devtools/vala/vala.inc
+++ b/meta/recipes-devtools/vala/vala.inc
@@ -24,12 +24,15 @@ inherit autotools pkgconfig upstream-version-is-even
 FILES_${PN} += "${datadir}/${BPN}-${SHRT_VER}/vapi ${libdir}/${BPN}-${SHRT_VER}/"
 FILES_${PN}-doc += "${datadir}/devhelp"
 
+# .gir files from gobject-introspection are installed to ${libdir} when multilib is enabled
+GIRDIR_OPT = "${@'--girdir=${STAGING_LIBDIR}/gir-1.0' if d.getVar('MULTILIBS') else ''}"
+
 do_configure_prepend_class-target() {
         # Write out a vapigen wrapper that will be provided by pkg-config file installed in target sysroot
         # The wrapper will call a native vapigen
         cat > ${B}/vapigen-wrapper << EOF
 #!/bin/sh
-vapigen-${SHRT_VER} "\$@"
+vapigen-${SHRT_VER} ${GIRDIR_OPT} "\$@"
 EOF
         chmod +x ${B}/vapigen-wrapper
 }
@@ -55,3 +58,5 @@ vapigen_sysroot_preprocess() {
            -e "s|vapigen=.*|vapigen=${bindir}/vapigen-wrapper|" \
            ${SYSROOT_DESTDIR}${libdir}/pkgconfig/vapigen-${SHRT_VER}.pc
 }
+
+SSTATE_SCAN_FILES += "vapigen-wrapper"
-- 
2.18.0



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] gobject-introspection: add required python modules to rdepends
  2018-10-10 15:02 ` [PATCH 1/3] gobject-introspection: add required python modules to rdepends kai.kang
@ 2018-10-11 21:54   ` Burton, Ross
  0 siblings, 0 replies; 6+ messages in thread
From: Burton, Ross @ 2018-10-11 21:54 UTC (permalink / raw)
  To: Kang Kai; +Cc: OE-core

On Wed, 10 Oct 2018 at 16:48, <kai.kang@windriver.com> wrote:
> +RDEPENDS_${PN}_class-target = "python3-pickle python3-xml"

I'm pretty sure this idiom isn't right anymore:
1) python3-native has the right PROVIDES so e.g. python3-pickle-native exists
2) the RDEPENDS are needed if you build
nativesdk-gobject-introspection but this doesn't add them

Ross


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 3/3] vala: update vapigen-wrapper
  2018-10-12  5:47 [PATCH v3 0/3] Fix multilib install file conflict of gobject-introspection kai.kang
@ 2018-10-12  5:47 ` kai.kang
  0 siblings, 0 replies; 6+ messages in thread
From: kai.kang @ 2018-10-12  5:47 UTC (permalink / raw)
  To: ross.burton; +Cc: openembedded-core

From: Kai Kang <kai.kang@windriver.com>

The .gir files from gobject-introspection are configured to install to
${libdir}/gir-1.0 when multilib is enabled. Update vapigen-wrapper accordingly.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
 meta/recipes-devtools/vala/vala.inc | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/vala/vala.inc b/meta/recipes-devtools/vala/vala.inc
index b22faad780..f680640ca6 100644
--- a/meta/recipes-devtools/vala/vala.inc
+++ b/meta/recipes-devtools/vala/vala.inc
@@ -24,12 +24,15 @@ inherit autotools pkgconfig upstream-version-is-even
 FILES_${PN} += "${datadir}/${BPN}-${SHRT_VER}/vapi ${libdir}/${BPN}-${SHRT_VER}/"
 FILES_${PN}-doc += "${datadir}/devhelp"
 
+# .gir files from gobject-introspection are installed to ${libdir} when multilib is enabled
+GIRDIR_OPT = "${@'--girdir=${STAGING_LIBDIR}/gir-1.0' if d.getVar('MULTILIBS') else ''}"
+
 do_configure_prepend_class-target() {
         # Write out a vapigen wrapper that will be provided by pkg-config file installed in target sysroot
         # The wrapper will call a native vapigen
         cat > ${B}/vapigen-wrapper << EOF
 #!/bin/sh
-vapigen-${SHRT_VER} "\$@"
+vapigen-${SHRT_VER} ${GIRDIR_OPT} "\$@"
 EOF
         chmod +x ${B}/vapigen-wrapper
 }
@@ -55,3 +58,5 @@ vapigen_sysroot_preprocess() {
            -e "s|vapigen=.*|vapigen=${bindir}/vapigen-wrapper|" \
            ${SYSROOT_DESTDIR}${libdir}/pkgconfig/vapigen-${SHRT_VER}.pc
 }
+
+SSTATE_SCAN_FILES += "vapigen-wrapper"
-- 
2.18.0



^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-10-12  6:29 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-10 15:02 [PATCH V2 0/3] Fix multilib install file conflict of gobject-introspection kai.kang
2018-10-10 15:02 ` [PATCH 1/3] gobject-introspection: add required python modules to rdepends kai.kang
2018-10-11 21:54   ` Burton, Ross
2018-10-10 15:03 ` [PATCH 2/3] gobject-introspection: fix multilib install file conflicts kai.kang
2018-10-10 15:03 ` [PATCH 3/3] vala: update vapigen-wrapper kai.kang
2018-10-12  5:47 [PATCH v3 0/3] Fix multilib install file conflict of gobject-introspection kai.kang
2018-10-12  5:47 ` [PATCH 3/3] vala: update vapigen-wrapper kai.kang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.