[OE-core] [PATCH 3/9] json-glib: convert to meson build

ChenQi Qi.Chen at windriver.com
Thu Jan 4 08:40:13 UTC 2018


I got the following do_compile failure when I was building json-glib for 
qemux86-64.


| FileNotFoundError: [Errno 2] No such file or directory: 
'/buildarea2/chenqi/poky/build-systemd/tmp/work/core2-64-poky-linux/json-glib/1.2.8-r0/build/tmp-introspect27wkly7i/Json-1.0'

Best Regards,
Chen Qi


On 12/21/2017 09:04 PM, Alexander Kanavin wrote:
> Note that meson flags for gobject introspection and gtk-doc
> appear to be non-standardized; going forward we should devise
> a common way to deal with it.
>
> gettext inherit is removed, as there is no equivalent functionality
> in meson; NLS bits are always built and installed.
>
> Signed-off-by: Alexander Kanavin <alexander.kanavin at linux.intel.com>
> ---
>   ...ble-gobject-introspection-when-cross-comp.patch | 32 ++++++++++++++++++++++
>   meta/recipes-gnome/json-glib/json-glib_1.2.8.bb    | 23 ++++++++++++++--
>   2 files changed, 53 insertions(+), 2 deletions(-)
>   create mode 100644 meta/recipes-gnome/json-glib/json-glib/0001-Do-not-disable-gobject-introspection-when-cross-comp.patch
>
> diff --git a/meta/recipes-gnome/json-glib/json-glib/0001-Do-not-disable-gobject-introspection-when-cross-comp.patch b/meta/recipes-gnome/json-glib/json-glib/0001-Do-not-disable-gobject-introspection-when-cross-comp.patch
> new file mode 100644
> index 00000000000..849bb9d3165
> --- /dev/null
> +++ b/meta/recipes-gnome/json-glib/json-glib/0001-Do-not-disable-gobject-introspection-when-cross-comp.patch
> @@ -0,0 +1,32 @@
> +From 293452c963188666dae99521294f09a0cf9582e2 Mon Sep 17 00:00:00 2001
> +From: Alexander Kanavin <alex.kanavin at gmail.com>
> +Date: Fri, 4 Aug 2017 16:01:11 +0300
> +Subject: [PATCH] Do not disable gobject introspection when cross-compiling.
> +
> +Introspection does work fine for instance in Open Embedded,
> +one of the most prominent cross-compilation frameworks
> +(through qemu emulating target hardware), so let the user
> +decide if he wants the feature or not.
> +
> +Upstream-Status: Pending
> +Signed-off-by: Alexander Kanavin <alex.kanavin at gmail.com>
> +---
> + meson.build | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/meson.build b/meson.build
> +index 43cbfd9..8a32f26 100644
> +--- a/meson.build
> ++++ b/meson.build
> +@@ -147,7 +147,7 @@ root_dir = include_directories('.')
> +
> + gnome = import('gnome')
> + gir = find_program('g-ir-scanner', required: false)
> +-build_gir = gir.found() and not meson.is_cross_build() and not get_option('disable_introspection')
> ++build_gir = gir.found() and not get_option('disable_introspection')
> +
> + subdir('json-glib')
> +
> +--
> +2.13.2
> +
> diff --git a/meta/recipes-gnome/json-glib/json-glib_1.2.8.bb b/meta/recipes-gnome/json-glib/json-glib_1.2.8.bb
> index 2c5d3817ba7..c53611b0257 100644
> --- a/meta/recipes-gnome/json-glib/json-glib_1.2.8.bb
> +++ b/meta/recipes-gnome/json-glib/json-glib_1.2.8.bb
> @@ -10,11 +10,30 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
>   
>   DEPENDS = "glib-2.0"
>   
> +SRC_URI_append = " \
> +           file://0001-Do-not-disable-gobject-introspection-when-cross-comp.patch \
> +           "
>   SRC_URI[archive.md5sum] = "ff31e7d0594df44318e12facda3d086e"
>   SRC_URI[archive.sha256sum] = "fd55a9037d39e7a10f0db64309f5f0265fa32ec962bf85066087b83a2807f40a"
>   
> -inherit gnomebase gettext lib_package gobject-introspection gtk-doc manpages
> +inherit gnomebase-meson lib_package gobject-introspection gtk-doc manpages
>   
> -PACKAGECONFIG[manpages] = "--enable-man --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog.xml, --disable-man, libxslt-native xmlto-native"
> +GTKDOC_ENABLE_FLAG = "-Denable-gtk-doc=true"
> +GTKDOC_DISABLE_FLAG = "-Denable-gtk-doc=false"
> +
> +GI_ENABLE_FLAG = "-Ddisable_introspection=false"
> +GI_DISABLE_FLAG = "-Ddisable_introspection=true"
> +
> +EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
> +                                                                                    '${GTKDOC_DISABLE_FLAG}', d)} "
> +EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
> +                                                                                    '${GI_DISABLE_FLAG}', d)} "
> +
> +PACKAGECONFIG[manpages] = "-Denable-man=true, -Denable-man=false, libxslt-native xmlto-native"
> +
> +do_install_append() {
> +    # FIXME: these need to be provided via ptest
> +    rm -rf ${D}${datadir}/installed-tests ${D}${libexecdir}
> +}
>   
>   BBCLASSEXTEND = "native nativesdk"





More information about the Openembedded-core mailing list