summaryrefslogtreecommitdiffstats
path: root/meta-gnome
diff options
context:
space:
mode:
authorPiotr Tworek <tworaz@tworaz.net>2019-08-22 19:17:16 +0200
committerKhem Raj <raj.khem@gmail.com>2019-08-24 05:20:42 -0700
commit940d47185e136c2fb2575c11134fddb42ec5f9cf (patch)
tree70a5f39f57255095c498c1161646787cecea27df /meta-gnome
parent35ce30890416c1013becc95f4355e5e54870ea4e (diff)
downloadmeta-openembedded-940d47185e136c2fb2575c11134fddb42ec5f9cf.tar.gz
evolution-data-server: Fix package gobject-introspection support.
It has been broken since the pacakge was migrated from autotools to cmake. Make it usable once again. Signed-off-by: Piotr Tworek <tworaz@tworaz.net> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-gnome')
-rw-r--r--meta-gnome/recipes-gnome/eds/evolution-data-server/0007-Modify-gobject-intrispection-support-to-work-with-OE.patch75
-rw-r--r--meta-gnome/recipes-gnome/eds/evolution-data-server_3.32.4.bb21
2 files changed, 90 insertions, 6 deletions
diff --git a/meta-gnome/recipes-gnome/eds/evolution-data-server/0007-Modify-gobject-intrispection-support-to-work-with-OE.patch b/meta-gnome/recipes-gnome/eds/evolution-data-server/0007-Modify-gobject-intrispection-support-to-work-with-OE.patch
new file mode 100644
index 000000000..c00082a2c
--- /dev/null
+++ b/meta-gnome/recipes-gnome/eds/evolution-data-server/0007-Modify-gobject-intrispection-support-to-work-with-OE.patch
@@ -0,0 +1,75 @@
1From d84f4fd68441e934b37be2a6917abad52c5d1bda Mon Sep 17 00:00:00 2001
2From: Piotr Tworek <tworaz@tworaz.net>
3Date: Fri, 16 Aug 2019 21:22:16 +0200
4Subject: [PATCH 7/7] Modify gobject-intrispection support to work with OE.
5
61. Use tools provided by the recipe sysroot instread of host ones.
72. Make sure all the required dirs make it into g-ir-scanner via
8 LDFLAGS.
9
10Upstream-Status: Inappropriate [configuration]
11
12Signed-off-by: Piotr Tworek <tworaz@tworaz.net>
13---
14 cmake/modules/GObjectIntrospection.cmake | 12 ++++++++++--
15 1 file changed, 10 insertions(+), 2 deletions(-)
16
17diff --git a/cmake/modules/GObjectIntrospection.cmake b/cmake/modules/GObjectIntrospection.cmake
18index 5be5042..67c035a 100644
19--- a/cmake/modules/GObjectIntrospection.cmake
20+++ b/cmake/modules/GObjectIntrospection.cmake
21@@ -20,6 +20,9 @@ if(ENABLE_INTROSPECTION)
22 pkg_check_variable(G_IR_SCANNER gobject-introspection-1.0 g_ir_scanner)
23 pkg_check_variable(G_IR_COMPILER gobject-introspection-1.0 g_ir_compiler)
24
25+ string(CONCAT G_IR_SCANNER $ENV{PKG_CONFIG_SYSROOT_DIR} "${G_IR_SCANNER}")
26+ string(CONCAT G_IR_COMPILER $ENV{PKG_CONFIG_SYSROOT_DIR} "${G_IR_COMPILER}")
27+
28 if(NOT G_IR_SCANNER)
29 message(FATAL_ERROR "g-ir-scanner not provided by gobject-introspection-1.0, you can disable GObject introspection by -DENABLE_INTROSPECTION=OFF")
30 endif(NOT G_IR_SCANNER)
31@@ -116,7 +119,7 @@ macro(gir_add_introspection gir)
32 file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${_gir_name}_files "${_gir_files}")
33
34 add_custom_command(
35- COMMAND ${CMAKE_COMMAND} -E env "CC='${CMAKE_C_COMPILER}'" LDFLAGS=
36+ COMMAND ${CMAKE_COMMAND} -E env "CC='${CMAKE_C_COMPILER}'" LDFLAGS=${INTROSPECTION_SCANNER_LDFLAGS}
37 ${INTROSPECTION_SCANNER_ENV}
38 ${G_IR_SCANNER}
39 ${INTROSPECTION_SCANNER_ARGS}
40@@ -186,6 +189,7 @@ macro(gir_add_introspection_simple gir_library pkg_export_prefix gir_library_ver
41 unset(INTROSPECTION_SCANNER_ARGS)
42 unset(INTROSPECTION_SCANNER_ENV)
43 unset(INTROSPECTION_COMPILER_ARGS)
44+ unset(INTROSPECTION_SCANNER_LDFLAGS)
45
46 set(${gir_vars_prefix} ${gir_library})
47 set(${gir_vars_prefix}_SCANNERFLAGS "--warn-all")
48@@ -223,12 +227,12 @@ macro(gir_add_introspection_simple gir_library pkg_export_prefix gir_library_ver
49 --add-include-path=${CMAKE_CURRENT_SOURCE_DIR}
50 --library-path=${CMAKE_BINARY_DIR}
51 --library-path=${CMAKE_BINARY_DIR}/src
52+ --library-path=${CMAKE_BINARY_DIR}/src/private
53 --library-path=${CMAKE_CURRENT_BINARY_DIR}
54 ${_gir_extra_libdirs}
55 ${_gir_identifies_prefixes}
56 ${_gir_deps}
57 --add-include-path=${SHARE_INSTALL_PREFIX}/gir-1.0
58- --library-path=${LIB_INSTALL_DIR}
59 ${_extra_library_path}
60 --pkg-export ${pkg_export_prefix}-${gir_library_version}
61 --c-include=${c_include}
62@@ -279,6 +283,10 @@ macro(gir_add_introspection_simple gir_library pkg_export_prefix gir_library_ver
63 )
64 endif(UNIX)
65
66+ _gir_list_prefix(_gir_scanner_ldflags ${gir_extra_libdirs_var} "-Wl,-rpath-link=")
67+ string(REPLACE ";" " " _gir_scanner_ldflags "${_gir_scanner_ldflags}")
68+ set(INTROSPECTION_SCANNER_LDFLAGS "${_gir_scanner_ldflags}")
69+
70 set(INTROSPECTION_SCANNER_ENV
71 ${_loader_library_path_var}="${_extra_loader_library_path_native}"
72 )
73--
742.21.0
75
diff --git a/meta-gnome/recipes-gnome/eds/evolution-data-server_3.32.4.bb b/meta-gnome/recipes-gnome/eds/evolution-data-server_3.32.4.bb
index 97e4dd5b2..b1e177ff9 100644
--- a/meta-gnome/recipes-gnome/eds/evolution-data-server_3.32.4.bb
+++ b/meta-gnome/recipes-gnome/eds/evolution-data-server_3.32.4.bb
@@ -21,6 +21,7 @@ SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}
21 file://0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch \ 21 file://0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch \
22 file://0003-contact-Replace-the-Novell-sample-contact-with-somet.patch \ 22 file://0003-contact-Replace-the-Novell-sample-contact-with-somet.patch \
23 file://0004-Add-native-suffix-to-exacutables-produced-and-run-du.patch \ 23 file://0004-Add-native-suffix-to-exacutables-produced-and-run-du.patch \
24 file://0007-Modify-gobject-intrispection-support-to-work-with-OE.patch \
24 file://iconv-detect.h \ 25 file://iconv-detect.h \
25 " 26 "
26SRC_URI[archive.md5sum] = "57820f3f88fc554e1a58665a52e12c05" 27SRC_URI[archive.md5sum] = "57820f3f88fc554e1a58665a52e12c05"
@@ -37,10 +38,11 @@ EXTRA_OECMAKE = " \
37 -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ 38 -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
38" 39"
39 40
40PACKAGECONFIG ??= "" 41PACKAGECONFIG ??= "${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'introspection', '', d)}"
41PACKAGECONFIG[openldap] = "-DWITH_OPENLDAP=ON,-DWITH_OPENLDAP=OFF,openldap" 42PACKAGECONFIG[openldap] = "-DWITH_OPENLDAP=ON,-DWITH_OPENLDAP=OFF,openldap"
42PACKAGECONFIG[oauth2] = "-DENABLE_OAUTH2=ON,-DENABLE_OAUTH2=OFF,json-glib webkitgtk" 43PACKAGECONFIG[oauth2] = "-DENABLE_OAUTH2=ON,-DENABLE_OAUTH2=OFF,json-glib webkitgtk"
43PACKAGECONFIG[mitkrb5] = "-DWITH_KRB5=ON,-DWITH_KRB5=OFF,krb5" 44PACKAGECONFIG[mitkrb5] = "-DWITH_KRB5=ON,-DWITH_KRB5=OFF,krb5"
45PACKAGECONFIG[introspection] = "-DENABLE_INTROSPECTION=ON,-DENABLE_INTROSPECTION=OFF"
44 46
45# -ldb needs this on some platforms 47# -ldb needs this on some platforms
46LDFLAGS += "-lpthread -lgmodule-2.0 -lgthread-2.0" 48LDFLAGS += "-lpthread -lgmodule-2.0 -lgthread-2.0"
@@ -53,7 +55,6 @@ do_configure_append () {
53} 55}
54 56
55do_compile_prepend() { 57do_compile_prepend() {
56 export GIR_EXTRA_LIBS_PATH="${B}/camel/.libs:${B}/libedataserver/.libs"
57 # CMake does not support building native binaries when cross compiling. As result 58 # CMake does not support building native binaries when cross compiling. As result
58 # it always cross compiles them for the target and then aborts when they fail to run. 59 # it always cross compiles them for the target and then aborts when they fail to run.
59 # To work around this manually build required tools and patch cmake targets to use 60 # To work around this manually build required tools and patch cmake targets to use
@@ -88,21 +89,27 @@ RRECOMMENDS_${PN}-dev += "libecal-dev libebook-dev"
88 89
89FILES_libcamel = "${libdir}/libcamel-*.so.* \ 90FILES_libcamel = "${libdir}/libcamel-*.so.* \
90 ${libdir}/libcamel-provider-*.so.* \ 91 ${libdir}/libcamel-provider-*.so.* \
92 ${libdir}/girepository-*/Camel-*.typelib \
91 ${libdir}/evolution-data-server*/camel-providers/*.so \ 93 ${libdir}/evolution-data-server*/camel-providers/*.so \
92 ${libdir}/evolution-data-server*/camel-providers/*.urls" 94 ${libdir}/evolution-data-server*/camel-providers/*.urls"
93FILES_libcamel-dev = "${libdir}/libcamel-*.so ${libdir}/libcamel-provider-*.so \ 95FILES_libcamel-dev = "${libdir}/libcamel-*.so ${libdir}/libcamel-provider-*.so \
94 ${libdir}/pkgconfig/camel*pc \ 96 ${libdir}/pkgconfig/camel*pc \
95 ${includedir}/evolution-data-server*/camel" 97 ${includedir}/evolution-data-server*/camel \
98 ${datadir}/gir-*/Camel-*.gir"
96 99
97FILES_libebook = "${libdir}/libebook-*.so.*" 100FILES_libebook = "${libdir}/libebook-*.so.* \
101 ${libdir}/girepository-*/EBook-*.typelib"
98FILES_libebook-dev = "${libdir}/libebook-1.2.so \ 102FILES_libebook-dev = "${libdir}/libebook-1.2.so \
99 ${libdir}/pkgconfig/libebook-*.pc \ 103 ${libdir}/pkgconfig/libebook-*.pc \
104 ${datadir}/gir-*/EBook-*.gir \
100 ${includedir}/evolution-data-server*/libebook/*.h" 105 ${includedir}/evolution-data-server*/libebook/*.h"
101RRECOMMENDS_libebook = "libedata-book" 106RRECOMMENDS_libebook = "libedata-book"
102 107
103FILES_libebook-contacts = "${libdir}/libebook-contacts-*.so.*" 108FILES_libebook-contacts = "${libdir}/libebook-contacts-*.so.* \
109 ${libdir}/girepository-*/EBookContacts-*.typelib"
104FILES_libebook-contacts-dev = "${libdir}/libebook-contacts-*.so \ 110FILES_libebook-contacts-dev = "${libdir}/libebook-contacts-*.so \
105 ${libdir}/pkgconfig/libebook-contacts-*.pc \ 111 ${libdir}/pkgconfig/libebook-contacts-*.pc \
112 ${datadir}/gir-*/EBookContacts-*.gir \
106 ${includedir}/evolution-data-server*/libebook-contacts/*.h" 113 ${includedir}/evolution-data-server*/libebook-contacts/*.h"
107 114
108FILES_libecal = "${libdir}/libecal-*.so.* \ 115FILES_libecal = "${libdir}/libecal-*.so.* \
@@ -129,7 +136,8 @@ FILES_libedata-cal-dev = "${libdir}/libedata-cal-*.so \
129 ${libdir}/pkgconfig/libedata-cal-*.pc \ 136 ${libdir}/pkgconfig/libedata-cal-*.pc \
130 ${includedir}/evolution-data-server-*/libedata-cal" 137 ${includedir}/evolution-data-server-*/libedata-cal"
131 138
132FILES_libedataserver = "${libdir}/libedataserver-*.so.*" 139FILES_libedataserver = "${libdir}/libedataserver-*.so.* \
140 ${libdir}/girepository-*/EDataServer-*.typelib"
133FILES_libedataserver-dev = "${libdir}/libedataserver-*.so \ 141FILES_libedataserver-dev = "${libdir}/libedataserver-*.so \
134 ${libdir}/pkgconfig/libedataserver-*.pc \ 142 ${libdir}/pkgconfig/libedataserver-*.pc \
135 ${includedir}/evolution-data-server-*/libedataserver/*.h" 143 ${includedir}/evolution-data-server-*/libedataserver/*.h"
@@ -137,4 +145,5 @@ FILES_libedataserver-dev = "${libdir}/libedataserver-*.so \
137FILES_libedataserverui = "${libdir}/libedataserverui-*.so.*" 145FILES_libedataserverui = "${libdir}/libedataserverui-*.so.*"
138FILES_libedataserverui-dev = "${libdir}/libedataserverui-*.so \ 146FILES_libedataserverui-dev = "${libdir}/libedataserverui-*.so \
139 ${libdir}/pkgconfig/libedataserverui-*.pc \ 147 ${libdir}/pkgconfig/libedataserverui-*.pc \
148 ${datadir}/gir-*/EDataServerUI-*.gir \
140 ${includedir}/evolution-data-server-*/libedataserverui/*.h" 149 ${includedir}/evolution-data-server-*/libedataserverui/*.h"