summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome
diff options
context:
space:
mode:
authorKai Kang <kai.kang@windriver.com>2020-05-22 15:00:22 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-05-24 23:55:31 +0100
commit019dd3afb8b49dc268bd7fb122a236b730ed67db (patch)
treecc491d7795b119c5826a70923e2709dd1feda046 /meta/recipes-gnome
parent8d9b48bdf25363fb115a6311b031a7e5da8e0d4d (diff)
downloadopenembedded-core-contrib-019dd3afb8b49dc268bd7fb122a236b730ed67db.tar.gz
libsecret: add meson option introspection
Add meson option 'introspection' for libsecret. For bsp which doesn't support qemu usermode, it could disable gobject introspection build. Then remove distro feature check for 'gobject-introspection-data' too. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-gnome')
-rw-r--r--meta/recipes-gnome/libsecret/files/0001-meson-add-option-introspection.patch137
-rw-r--r--meta/recipes-gnome/libsecret/libsecret_0.20.3.bb8
2 files changed, 140 insertions, 5 deletions
diff --git a/meta/recipes-gnome/libsecret/files/0001-meson-add-option-introspection.patch b/meta/recipes-gnome/libsecret/files/0001-meson-add-option-introspection.patch
new file mode 100644
index 0000000000..51ee66f42b
--- /dev/null
+++ b/meta/recipes-gnome/libsecret/files/0001-meson-add-option-introspection.patch
@@ -0,0 +1,137 @@
+meson: add option introspection
+
+Add an option 'introspection' for meson which could control whether
+build GIR files or not.
+
+Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libsecret/-/merge_requests/53]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ libsecret/meson.build | 86 ++++++++++++++++++++++---------------------
+ meson.build | 1 +
+ meson_options.txt | 1 +
+ 3 files changed, 46 insertions(+), 42 deletions(-)
+
+diff --git a/libsecret/meson.build b/libsecret/meson.build
+index 759b5ef..2ee8850 100644
+--- a/libsecret/meson.build
++++ b/libsecret/meson.build
+@@ -104,50 +104,52 @@ libsecret_dep = declare_dependency(
+ )
+
+ # GObject Introspection
+-libsecret_gir_sources = [
+- 'secret-attributes.c',
+- 'secret-attributes.h',
+- 'secret-backend.c',
+- 'secret-backend.h',
+- 'secret-collection.c',
+- 'secret-collection.h',
+- 'secret-item.c',
+- 'secret-item.h',
+- 'secret-methods.c',
+- 'secret-password.c',
+- 'secret-password.h',
+- 'secret-paths.c',
+- 'secret-paths.h',
+- 'secret-prompt.c',
+- 'secret-prompt.h',
+- 'secret-retrievable.c',
+- 'secret-retrievable.h',
+- 'secret-schema.c',
+- 'secret-schema.h',
+- 'secret-schemas.c',
+- 'secret-schemas.h',
+- 'secret-service.c',
+- 'secret-service.h',
+- 'secret-types.h',
+- 'secret-value.c',
+- 'secret-value.h',
+-]
+-libsecret_gir_sources += version_h
+-libsecret_gir_sources += _enums_generated
+-
+-libsecret_gir = gnome.generate_gir(libsecret,
+- sources: libsecret_gir_sources,
+- namespace: 'Secret',
+- nsversion: api_version_major,
+- export_packages: 'libsecret-@0@'.format(api_version_major),
+- includes: [ 'GObject-2.0', 'Gio-2.0' ],
+- header: 'libsecret/secret.h',
+- extra_args: [ '-D SECRET_COMPILATION'],
+- install: true,
+-)
++if with_gir
++ libsecret_gir_sources = [
++ 'secret-attributes.c',
++ 'secret-attributes.h',
++ 'secret-backend.c',
++ 'secret-backend.h',
++ 'secret-collection.c',
++ 'secret-collection.h',
++ 'secret-item.c',
++ 'secret-item.h',
++ 'secret-methods.c',
++ 'secret-password.c',
++ 'secret-password.h',
++ 'secret-paths.c',
++ 'secret-paths.h',
++ 'secret-prompt.c',
++ 'secret-prompt.h',
++ 'secret-retrievable.c',
++ 'secret-retrievable.h',
++ 'secret-schema.c',
++ 'secret-schema.h',
++ 'secret-schemas.c',
++ 'secret-schemas.h',
++ 'secret-service.c',
++ 'secret-service.h',
++ 'secret-types.h',
++ 'secret-value.c',
++ 'secret-value.h',
++ ]
++ libsecret_gir_sources += version_h
++ libsecret_gir_sources += _enums_generated
++
++ libsecret_gir = gnome.generate_gir(libsecret,
++ sources: libsecret_gir_sources,
++ namespace: 'Secret',
++ nsversion: api_version_major,
++ export_packages: 'libsecret-@0@'.format(api_version_major),
++ includes: [ 'GObject-2.0', 'Gio-2.0' ],
++ header: 'libsecret/secret.h',
++ extra_args: [ '-D SECRET_COMPILATION'],
++ install: true,
++ )
++endif
+
+ # Vapi
+-if with_vapi
++if with_vapi and with_gir
+ libsecret_vapi = gnome.generate_vapi('libsecret-@0@'.format(api_version_major),
+ sources: libsecret_gir[0],
+ metadata_dirs: meson.source_root() / 'libsecret',
+diff --git a/meson.build b/meson.build
+index a26d046..d22e008 100644
+--- a/meson.build
++++ b/meson.build
+@@ -22,6 +22,7 @@ with_gcrypt = get_option('gcrypt')
+ enable_debug = get_option('debugging')
+ with_vapi = get_option('vapi')
+ with_gtkdoc = get_option('gtk_doc')
++with_gir = get_option('introspection')
+
+ # Some variables
+ config_h_dir = include_directories('.')
+diff --git a/meson_options.txt b/meson_options.txt
+index c1fda5d..445aeb0 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -3,3 +3,4 @@ option('gcrypt', type: 'boolean', value: true, description: 'With gcrypt and tra
+ option('debugging', type: 'boolean', value: false, description: 'Turn debugging on/off')
+ option('vapi', type: 'boolean', value: true, description: 'Create VAPI file.')
+ option('gtk_doc', type: 'boolean', value: true, description: 'Build reference documentation using gtk-doc')
++option('introspection', type: 'boolean', value: true, description: 'Create GIR file.')
+--
+2.17.1
+
diff --git a/meta/recipes-gnome/libsecret/libsecret_0.20.3.bb b/meta/recipes-gnome/libsecret/libsecret_0.20.3.bb
index 8d317c8efc..533015a1e4 100644
--- a/meta/recipes-gnome/libsecret/libsecret_0.20.3.bb
+++ b/meta/recipes-gnome/libsecret/libsecret_0.20.3.bb
@@ -9,19 +9,17 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6"
GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase gtk-doc vala gobject-introspection manpages features_check
+inherit gnomebase gtk-doc vala gobject-introspection manpages
DEPENDS += "glib-2.0 libgcrypt gettext-native"
+SRC_URI += "file://0001-meson-add-option-introspection.patch"
+
SRC_URI[archive.md5sum] = "47c3fdfeb111a87b509ad271e4a6f496"
SRC_URI[archive.sha256sum] = "4fcb3c56f8ac4ab9c75b66901fb0104ec7f22aa9a012315a14c0d6dffa5290e4"
GTKDOC_MESON_OPTION = 'gtk_doc'
-# gobject-introspection is mandatory and cannot be configured
-REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
-
PACKAGECONFIG[manpages] = "-Dmanpage=true,-Dmanpage=false,libxslt-native xmlto-native"
# http://errors.yoctoproject.org/Errors/Details/20228/