From 0dabbf6307bfef5927d7a92b31f3eac1d698972a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andreas=20M=C3=BCller?= Date: Sat, 19 Oct 2019 15:06:33 +0200 Subject: [PATCH] libical: add PACKAGECONFIG glib and enable it by default MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * As long as there is no solution upstream [1] build src-generator native and adjust cmake file to find it * libical-glib is a mandatory dependency for evolution-data-server >= 3.34 [1] https://github.com/libical/libical/issues/394 Signed-off-by: Andreas Müller Signed-off-by: Ross Burton --- ...-our-hand-build-native-src-generator.patch | 33 +++++++++++++++++++ meta/recipes-support/libical/libical_3.0.6.bb | 24 +++++++++----- 2 files changed, 49 insertions(+), 8 deletions(-) create mode 100644 meta/recipes-support/libical/libical/0001-Use-our-hand-build-native-src-generator.patch diff --git a/meta/recipes-support/libical/libical/0001-Use-our-hand-build-native-src-generator.patch b/meta/recipes-support/libical/libical/0001-Use-our-hand-build-native-src-generator.patch new file mode 100644 index 0000000000..b7b757d74b --- /dev/null +++ b/meta/recipes-support/libical/libical/0001-Use-our-hand-build-native-src-generator.patch @@ -0,0 +1,33 @@ +From e33bc310238bba1690f2c71ad333e10b9e422ea9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Sat, 19 Oct 2019 14:23:06 +0200 +Subject: [PATCH] Use our hand-build native src-generator +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate [oe-core specific] + +Signed-off-by: Andreas Müller +--- + src/libical-glib/CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/libical-glib/CMakeLists.txt b/src/libical-glib/CMakeLists.txt +index f3704e6..ce9db16 100644 +--- a/src/libical-glib/CMakeLists.txt ++++ b/src/libical-glib/CMakeLists.txt +@@ -63,8 +63,8 @@ endforeach() + + add_custom_command ( + OUTPUT ${LIBICAL_GLIB_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/libical-glib-private.h ${CMAKE_CURRENT_BINARY_DIR}/i-cal-forward-declarations.h +- COMMAND ${EXECUTABLE_OUTPUT_PATH}/src-generator "${CMAKE_CURRENT_SOURCE_DIR}/tools" "${CMAKE_CURRENT_SOURCE_DIR}/api" +- DEPENDS ${EXECUTABLE_OUTPUT_PATH}/src-generator ${xml_files} ++ COMMAND ${CMAKE_BINARY_DIR}/src-generator "${CMAKE_CURRENT_SOURCE_DIR}/tools" "${CMAKE_CURRENT_SOURCE_DIR}/api" ++ DEPENDS ${CMAKE_BINARY_DIR}/src-generator ${xml_files} + ) + + configure_file( +-- +2.21.0 + diff --git a/meta/recipes-support/libical/libical_3.0.6.bb b/meta/recipes-support/libical/libical_3.0.6.bb index 032f3655e9..f9be898a12 100644 --- a/meta/recipes-support/libical/libical_3.0.6.bb +++ b/meta/recipes-support/libical/libical_3.0.6.bb @@ -7,27 +7,35 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=1910a2a76ddf6a9ba369182494170d87 \ file://LICENSE.MPL2.txt;md5=9741c346eef56131163e13b9db1241b3" SECTION = "libs" -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz" - +SRC_URI = " \ + https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \ + file://0001-Use-our-hand-build-native-src-generator.patch \ +" SRC_URI[md5sum] = "463a59244c6767b8e67b29379405e297" SRC_URI[sha256sum] = "5c8a21c2b732ece4a33e5c862970b4f35a8548bbcda50de5695f6fc211ac4d97" UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases" inherit cmake pkgconfig -PACKAGECONFIG ??= "icu" +do_compile_prepend() { + # As long as https://github.com/libical/libical/issues/394 is open build native src-generator manually + NATIVE_CFLAGS="${BUILD_CFLAGS} `pkg-config-native --cflags glib-2.0` `pkg-config-native --cflags libxml-2.0`" + NATIVE_LDFLAGS="${BUILD_LDFLAGS} `pkg-config-native --libs glib-2.0` `pkg-config-native --libs libxml-2.0`" + ${BUILD_CC} $NATIVE_CFLAGS ${S}/src/libical-glib/tools/generator.c ${S}/src/libical-glib/tools/xml-parser.c -o ${B}/src-generator $NATIVE_LDFLAGS +} + +PACKAGECONFIG ??= "icu glib" PACKAGECONFIG[bdb] = ",-DCMAKE_DISABLE_FIND_PACKAGE_BDB=True,db" +PACKAGECONFIG[glib] = "-DICAL_GLIB=True,-DICAL_GLIB=False,glib-2.0-native libxml2-native glib-2.0 libxml2" # ICU is used for RSCALE (RFC7529) support PACKAGECONFIG[icu] = ",-DCMAKE_DISABLE_FIND_PACKAGE_ICU=True,icu" # No need to use perl-native, the host perl is sufficient. EXTRA_OECMAKE += "-DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl" +# doc build fails with linker error (??) for libical-glib so disable it +EXTRA_OECMAKE += "-DICAL_BUILD_DOCS=false" -# The glib library can't be cross-compiled, disable for now. -# https://github.com/libical/libical/issues/394 -EXTRA_OECMAKE += "-DICAL_GLIB=false" - -do_install_append_class-target () { +do_install_append () { # Remove build host references sed -i \ -e 's,${STAGING_LIBDIR},${libdir},g' \ -- 2.40.1