diff options
| -rw-r--r-- | meta-gnome/recipes-gnome/eds/evolution-data-server/0007-Modify-gobject-intrispection-support-to-work-with-OE.patch | 75 | ||||
| -rw-r--r-- | meta-gnome/recipes-gnome/eds/evolution-data-server_3.32.4.bb | 21 |
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 0000000000..c00082a2ce --- /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 @@ | |||
| 1 | From d84f4fd68441e934b37be2a6917abad52c5d1bda Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Piotr Tworek <tworaz@tworaz.net> | ||
| 3 | Date: Fri, 16 Aug 2019 21:22:16 +0200 | ||
| 4 | Subject: [PATCH 7/7] Modify gobject-intrispection support to work with OE. | ||
| 5 | |||
| 6 | 1. Use tools provided by the recipe sysroot instread of host ones. | ||
| 7 | 2. Make sure all the required dirs make it into g-ir-scanner via | ||
| 8 | LDFLAGS. | ||
| 9 | |||
| 10 | Upstream-Status: Inappropriate [configuration] | ||
| 11 | |||
| 12 | Signed-off-by: Piotr Tworek <tworaz@tworaz.net> | ||
| 13 | --- | ||
| 14 | cmake/modules/GObjectIntrospection.cmake | 12 ++++++++++-- | ||
| 15 | 1 file changed, 10 insertions(+), 2 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/cmake/modules/GObjectIntrospection.cmake b/cmake/modules/GObjectIntrospection.cmake | ||
| 18 | index 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 | -- | ||
| 74 | 2.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 97e4dd5b28..b1e177ff93 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 | " |
| 26 | SRC_URI[archive.md5sum] = "57820f3f88fc554e1a58665a52e12c05" | 27 | SRC_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 | ||
| 40 | PACKAGECONFIG ??= "" | 41 | PACKAGECONFIG ??= "${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'introspection', '', d)}" |
| 41 | PACKAGECONFIG[openldap] = "-DWITH_OPENLDAP=ON,-DWITH_OPENLDAP=OFF,openldap" | 42 | PACKAGECONFIG[openldap] = "-DWITH_OPENLDAP=ON,-DWITH_OPENLDAP=OFF,openldap" |
| 42 | PACKAGECONFIG[oauth2] = "-DENABLE_OAUTH2=ON,-DENABLE_OAUTH2=OFF,json-glib webkitgtk" | 43 | PACKAGECONFIG[oauth2] = "-DENABLE_OAUTH2=ON,-DENABLE_OAUTH2=OFF,json-glib webkitgtk" |
| 43 | PACKAGECONFIG[mitkrb5] = "-DWITH_KRB5=ON,-DWITH_KRB5=OFF,krb5" | 44 | PACKAGECONFIG[mitkrb5] = "-DWITH_KRB5=ON,-DWITH_KRB5=OFF,krb5" |
| 45 | PACKAGECONFIG[introspection] = "-DENABLE_INTROSPECTION=ON,-DENABLE_INTROSPECTION=OFF" | ||
| 44 | 46 | ||
| 45 | # -ldb needs this on some platforms | 47 | # -ldb needs this on some platforms |
| 46 | LDFLAGS += "-lpthread -lgmodule-2.0 -lgthread-2.0" | 48 | LDFLAGS += "-lpthread -lgmodule-2.0 -lgthread-2.0" |
| @@ -53,7 +55,6 @@ do_configure_append () { | |||
| 53 | } | 55 | } |
| 54 | 56 | ||
| 55 | do_compile_prepend() { | 57 | do_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 | ||
| 89 | FILES_libcamel = "${libdir}/libcamel-*.so.* \ | 90 | FILES_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" |
| 93 | FILES_libcamel-dev = "${libdir}/libcamel-*.so ${libdir}/libcamel-provider-*.so \ | 95 | FILES_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 | ||
| 97 | FILES_libebook = "${libdir}/libebook-*.so.*" | 100 | FILES_libebook = "${libdir}/libebook-*.so.* \ |
| 101 | ${libdir}/girepository-*/EBook-*.typelib" | ||
| 98 | FILES_libebook-dev = "${libdir}/libebook-1.2.so \ | 102 | FILES_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" |
| 101 | RRECOMMENDS_libebook = "libedata-book" | 106 | RRECOMMENDS_libebook = "libedata-book" |
| 102 | 107 | ||
| 103 | FILES_libebook-contacts = "${libdir}/libebook-contacts-*.so.*" | 108 | FILES_libebook-contacts = "${libdir}/libebook-contacts-*.so.* \ |
| 109 | ${libdir}/girepository-*/EBookContacts-*.typelib" | ||
| 104 | FILES_libebook-contacts-dev = "${libdir}/libebook-contacts-*.so \ | 110 | FILES_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 | ||
| 108 | FILES_libecal = "${libdir}/libecal-*.so.* \ | 115 | FILES_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 | ||
| 132 | FILES_libedataserver = "${libdir}/libedataserver-*.so.*" | 139 | FILES_libedataserver = "${libdir}/libedataserver-*.so.* \ |
| 140 | ${libdir}/girepository-*/EDataServer-*.typelib" | ||
| 133 | FILES_libedataserver-dev = "${libdir}/libedataserver-*.so \ | 141 | FILES_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 \ | |||
| 137 | FILES_libedataserverui = "${libdir}/libedataserverui-*.so.*" | 145 | FILES_libedataserverui = "${libdir}/libedataserverui-*.so.*" |
| 138 | FILES_libedataserverui-dev = "${libdir}/libedataserverui-*.so \ | 146 | FILES_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" |
