summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/libical
diff options
context:
space:
mode:
authorAndreas Müller <schnitzeltony@gmail.com>2019-10-19 15:06:33 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-11-04 13:31:27 +0000
commit0dabbf6307bfef5927d7a92b31f3eac1d698972a (patch)
treed651f095e0009e64900d9bb582146603fc91b293 /meta/recipes-support/libical
parent1b577bcc44cbf7a9e94f8770f21841a16ad50c64 (diff)
downloadopenembedded-core-0dabbf6307bfef5927d7a92b31f3eac1d698972a.tar.gz
openembedded-core-0dabbf6307bfef5927d7a92b31f3eac1d698972a.tar.bz2
openembedded-core-0dabbf6307bfef5927d7a92b31f3eac1d698972a.zip
libical: add PACKAGECONFIG glib and enable it by default
* 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 <schnitzeltony@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta/recipes-support/libical')
-rw-r--r--meta/recipes-support/libical/libical/0001-Use-our-hand-build-native-src-generator.patch33
-rw-r--r--meta/recipes-support/libical/libical_3.0.6.bb24
2 files changed, 49 insertions, 8 deletions
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?= <schnitzeltony@gmail.com>
+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 <schnitzeltony@gmail.com>
+---
+ 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' \