diff options
author | Kai Kang <kai.kang@windriver.com> | 2020-05-22 15:00:22 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-05-24 23:56:03 +0100 |
commit | 99da3b238f2db1c5de86946ed54aa473670bedbb (patch) | |
tree | 12a3bca05a1547f55c46c95374312c552508ef13 | |
parent | 8f123a53013a52a1935b50156955b1aae6776268 (diff) | |
download | poky-99da3b238f2db1c5de86946ed54aa473670bedbb.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.
(From OE-Core rev: 019dd3afb8b49dc268bd7fb122a236b730ed67db)
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-gnome/libsecret/files/0001-meson-add-option-introspection.patch | 137 | ||||
-rw-r--r-- | meta/recipes-gnome/libsecret/libsecret_0.20.3.bb | 8 |
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 @@ | |||
1 | meson: add option introspection | ||
2 | |||
3 | Add an option 'introspection' for meson which could control whether | ||
4 | build GIR files or not. | ||
5 | |||
6 | Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libsecret/-/merge_requests/53] | ||
7 | |||
8 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
9 | --- | ||
10 | libsecret/meson.build | 86 ++++++++++++++++++++++--------------------- | ||
11 | meson.build | 1 + | ||
12 | meson_options.txt | 1 + | ||
13 | 3 files changed, 46 insertions(+), 42 deletions(-) | ||
14 | |||
15 | diff --git a/libsecret/meson.build b/libsecret/meson.build | ||
16 | index 759b5ef..2ee8850 100644 | ||
17 | --- a/libsecret/meson.build | ||
18 | +++ b/libsecret/meson.build | ||
19 | @@ -104,50 +104,52 @@ libsecret_dep = declare_dependency( | ||
20 | ) | ||
21 | |||
22 | # GObject Introspection | ||
23 | -libsecret_gir_sources = [ | ||
24 | - 'secret-attributes.c', | ||
25 | - 'secret-attributes.h', | ||
26 | - 'secret-backend.c', | ||
27 | - 'secret-backend.h', | ||
28 | - 'secret-collection.c', | ||
29 | - 'secret-collection.h', | ||
30 | - 'secret-item.c', | ||
31 | - 'secret-item.h', | ||
32 | - 'secret-methods.c', | ||
33 | - 'secret-password.c', | ||
34 | - 'secret-password.h', | ||
35 | - 'secret-paths.c', | ||
36 | - 'secret-paths.h', | ||
37 | - 'secret-prompt.c', | ||
38 | - 'secret-prompt.h', | ||
39 | - 'secret-retrievable.c', | ||
40 | - 'secret-retrievable.h', | ||
41 | - 'secret-schema.c', | ||
42 | - 'secret-schema.h', | ||
43 | - 'secret-schemas.c', | ||
44 | - 'secret-schemas.h', | ||
45 | - 'secret-service.c', | ||
46 | - 'secret-service.h', | ||
47 | - 'secret-types.h', | ||
48 | - 'secret-value.c', | ||
49 | - 'secret-value.h', | ||
50 | -] | ||
51 | -libsecret_gir_sources += version_h | ||
52 | -libsecret_gir_sources += _enums_generated | ||
53 | - | ||
54 | -libsecret_gir = gnome.generate_gir(libsecret, | ||
55 | - sources: libsecret_gir_sources, | ||
56 | - namespace: 'Secret', | ||
57 | - nsversion: api_version_major, | ||
58 | - export_packages: 'libsecret-@0@'.format(api_version_major), | ||
59 | - includes: [ 'GObject-2.0', 'Gio-2.0' ], | ||
60 | - header: 'libsecret/secret.h', | ||
61 | - extra_args: [ '-D SECRET_COMPILATION'], | ||
62 | - install: true, | ||
63 | -) | ||
64 | +if with_gir | ||
65 | + libsecret_gir_sources = [ | ||
66 | + 'secret-attributes.c', | ||
67 | + 'secret-attributes.h', | ||
68 | + 'secret-backend.c', | ||
69 | + 'secret-backend.h', | ||
70 | + 'secret-collection.c', | ||
71 | + 'secret-collection.h', | ||
72 | + 'secret-item.c', | ||
73 | + 'secret-item.h', | ||
74 | + 'secret-methods.c', | ||
75 | + 'secret-password.c', | ||
76 | + 'secret-password.h', | ||
77 | + 'secret-paths.c', | ||
78 | + 'secret-paths.h', | ||
79 | + 'secret-prompt.c', | ||
80 | + 'secret-prompt.h', | ||
81 | + 'secret-retrievable.c', | ||
82 | + 'secret-retrievable.h', | ||
83 | + 'secret-schema.c', | ||
84 | + 'secret-schema.h', | ||
85 | + 'secret-schemas.c', | ||
86 | + 'secret-schemas.h', | ||
87 | + 'secret-service.c', | ||
88 | + 'secret-service.h', | ||
89 | + 'secret-types.h', | ||
90 | + 'secret-value.c', | ||
91 | + 'secret-value.h', | ||
92 | + ] | ||
93 | + libsecret_gir_sources += version_h | ||
94 | + libsecret_gir_sources += _enums_generated | ||
95 | + | ||
96 | + libsecret_gir = gnome.generate_gir(libsecret, | ||
97 | + sources: libsecret_gir_sources, | ||
98 | + namespace: 'Secret', | ||
99 | + nsversion: api_version_major, | ||
100 | + export_packages: 'libsecret-@0@'.format(api_version_major), | ||
101 | + includes: [ 'GObject-2.0', 'Gio-2.0' ], | ||
102 | + header: 'libsecret/secret.h', | ||
103 | + extra_args: [ '-D SECRET_COMPILATION'], | ||
104 | + install: true, | ||
105 | + ) | ||
106 | +endif | ||
107 | |||
108 | # Vapi | ||
109 | -if with_vapi | ||
110 | +if with_vapi and with_gir | ||
111 | libsecret_vapi = gnome.generate_vapi('libsecret-@0@'.format(api_version_major), | ||
112 | sources: libsecret_gir[0], | ||
113 | metadata_dirs: meson.source_root() / 'libsecret', | ||
114 | diff --git a/meson.build b/meson.build | ||
115 | index a26d046..d22e008 100644 | ||
116 | --- a/meson.build | ||
117 | +++ b/meson.build | ||
118 | @@ -22,6 +22,7 @@ with_gcrypt = get_option('gcrypt') | ||
119 | enable_debug = get_option('debugging') | ||
120 | with_vapi = get_option('vapi') | ||
121 | with_gtkdoc = get_option('gtk_doc') | ||
122 | +with_gir = get_option('introspection') | ||
123 | |||
124 | # Some variables | ||
125 | config_h_dir = include_directories('.') | ||
126 | diff --git a/meson_options.txt b/meson_options.txt | ||
127 | index c1fda5d..445aeb0 100644 | ||
128 | --- a/meson_options.txt | ||
129 | +++ b/meson_options.txt | ||
130 | @@ -3,3 +3,4 @@ option('gcrypt', type: 'boolean', value: true, description: 'With gcrypt and tra | ||
131 | option('debugging', type: 'boolean', value: false, description: 'Turn debugging on/off') | ||
132 | option('vapi', type: 'boolean', value: true, description: 'Create VAPI file.') | ||
133 | option('gtk_doc', type: 'boolean', value: true, description: 'Build reference documentation using gtk-doc') | ||
134 | +option('introspection', type: 'boolean', value: true, description: 'Create GIR file.') | ||
135 | -- | ||
136 | 2.17.1 | ||
137 | |||
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" | |||
9 | 9 | ||
10 | GNOMEBASEBUILDCLASS = "meson" | 10 | GNOMEBASEBUILDCLASS = "meson" |
11 | 11 | ||
12 | inherit gnomebase gtk-doc vala gobject-introspection manpages features_check | 12 | inherit gnomebase gtk-doc vala gobject-introspection manpages |
13 | 13 | ||
14 | DEPENDS += "glib-2.0 libgcrypt gettext-native" | 14 | DEPENDS += "glib-2.0 libgcrypt gettext-native" |
15 | 15 | ||
16 | SRC_URI += "file://0001-meson-add-option-introspection.patch" | ||
17 | |||
16 | SRC_URI[archive.md5sum] = "47c3fdfeb111a87b509ad271e4a6f496" | 18 | SRC_URI[archive.md5sum] = "47c3fdfeb111a87b509ad271e4a6f496" |
17 | SRC_URI[archive.sha256sum] = "4fcb3c56f8ac4ab9c75b66901fb0104ec7f22aa9a012315a14c0d6dffa5290e4" | 19 | SRC_URI[archive.sha256sum] = "4fcb3c56f8ac4ab9c75b66901fb0104ec7f22aa9a012315a14c0d6dffa5290e4" |
18 | 20 | ||
19 | GTKDOC_MESON_OPTION = 'gtk_doc' | 21 | GTKDOC_MESON_OPTION = 'gtk_doc' |
20 | 22 | ||
21 | # gobject-introspection is mandatory and cannot be configured | ||
22 | REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" | ||
23 | UNKNOWN_CONFIGURE_WHITELIST_append = " introspection" | ||
24 | |||
25 | PACKAGECONFIG[manpages] = "-Dmanpage=true,-Dmanpage=false,libxslt-native xmlto-native" | 23 | PACKAGECONFIG[manpages] = "-Dmanpage=true,-Dmanpage=false,libxslt-native xmlto-native" |
26 | 24 | ||
27 | # http://errors.yoctoproject.org/Errors/Details/20228/ | 25 | # http://errors.yoctoproject.org/Errors/Details/20228/ |