blob: ffc117d4392ee36efee01396a4e2c5bd758c3b13 [file] [log] [blame]
Andrew Geissler82c905d2020-04-13 13:39:40 -05001SUMMARY = "iCal and scheduling (RFC 2445, 2446, 2447) library"
Andrew Geissler90fd73c2021-03-05 15:25:55 -06002DESCRIPTION = "An Open Source implementation of the iCalendar protocols \
3and protocol data units. The iCalendar specification describes how \
4calendar clients can communicate with calendar servers so users can store \
5their calendar data and arrange meetings with other users. "
Andrew Geissler82c905d2020-04-13 13:39:40 -05006HOMEPAGE = "https://github.com/libical/libical"
7BUGTRACKER = "https://github.com/libical/libical/issues"
8LICENSE = "LGPLv2.1 | MPL-2.0"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=1910a2a76ddf6a9ba369182494170d87 \
10 file://LICENSE.LGPL21.txt;md5=933adb561f159e7c3da079536f0ed871 \
11 file://LICENSE.MPL2.txt;md5=f75d2927d3c1ed2414ef72048f5ad640 \
12 "
13SECTION = "libs"
14
15SRC_URI = " \
16 https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
17 file://0001-Use-our-hand-build-native-src-generator.patch \
Andrew Geissler6ce62a22020-11-30 19:58:47 -060018 file://0001-Fix-build-with-icu-68.1.patch \
Andrew Geissler82c905d2020-04-13 13:39:40 -050019"
Andrew Geissler4ed12e12020-06-05 18:00:41 -050020SRC_URI[md5sum] = "41bd1f1fcdcb4779cea478bb55cf07bf"
21SRC_URI[sha256sum] = "09fecacaf75ba5a242159e3a9758a5446b5ce4d0ab684f98a7040864e1d1286f"
Andrew Geissler82c905d2020-04-13 13:39:40 -050022UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases"
23
24inherit cmake pkgconfig
25
26do_compile_prepend() {
27 # As long as https://github.com/libical/libical/issues/394 is open build native src-generator manually
28 NATIVE_CFLAGS="${BUILD_CFLAGS} `pkg-config-native --cflags glib-2.0` `pkg-config-native --cflags libxml-2.0`"
29 NATIVE_LDFLAGS="${BUILD_LDFLAGS} `pkg-config-native --libs glib-2.0` `pkg-config-native --libs libxml-2.0`"
30 ${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
31}
32
33PACKAGECONFIG ??= "icu glib"
34PACKAGECONFIG[bdb] = ",-DCMAKE_DISABLE_FIND_PACKAGE_BDB=True,db"
35PACKAGECONFIG[glib] = "-DICAL_GLIB=True,-DICAL_GLIB=False,glib-2.0-native libxml2-native glib-2.0 libxml2"
36# ICU is used for RSCALE (RFC7529) support
37PACKAGECONFIG[icu] = ",-DCMAKE_DISABLE_FIND_PACKAGE_ICU=True,icu"
38
39# No need to use perl-native, the host perl is sufficient.
40EXTRA_OECMAKE += "-DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl"
41# doc build fails with linker error (??) for libical-glib so disable it
42EXTRA_OECMAKE += "-DICAL_BUILD_DOCS=false"
43
44do_install_append () {
45 # Remove build host references
46 sed -i \
47 -e 's,${STAGING_LIBDIR},${libdir},g' \
48 -e 's,${STAGING_INCDIR},${includedir},g' \
49 ${D}${libdir}/cmake/LibIcal/LibIcal*.cmake
50}