xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-support/libical/libical_3.0.16.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSUMMARY = "iCal and scheduling (RFC 2445, 2446, 2447) library"
2*4882a593SmuzhiyunDESCRIPTION = "An Open Source implementation of the iCalendar protocols \
3*4882a593Smuzhiyunand protocol data units. The iCalendar specification describes how \
4*4882a593Smuzhiyuncalendar clients can communicate with calendar servers so users can store \
5*4882a593Smuzhiyuntheir calendar data and arrange meetings with other users. "
6*4882a593SmuzhiyunHOMEPAGE = "https://github.com/libical/libical"
7*4882a593SmuzhiyunBUGTRACKER = "https://github.com/libical/libical/issues"
8*4882a593SmuzhiyunLICENSE = "LGPL-2.1-only | MPL-2.0"
9*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://LICENSE;md5=1910a2a76ddf6a9ba369182494170d87 \
10*4882a593Smuzhiyun                    file://LICENSE.LGPL21.txt;md5=933adb561f159e7c3da079536f0ed871 \
11*4882a593Smuzhiyun                    file://LICENSE.MPL2.txt;md5=f75d2927d3c1ed2414ef72048f5ad640 \
12*4882a593Smuzhiyun                    "
13*4882a593SmuzhiyunSECTION = "libs"
14*4882a593Smuzhiyun
15*4882a593SmuzhiyunSRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
16*4882a593Smuzhiyun           file://0001-cmake-Do-not-export-CC-into-gir-compiler.patch \
17*4882a593Smuzhiyun          "
18*4882a593SmuzhiyunSRC_URI[sha256sum] = "b44705dd71ca4538c86fb16248483ab4b48978524fb1da5097bd76aa2e0f0c33"
19*4882a593SmuzhiyunUPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases"
20*4882a593Smuzhiyun
21*4882a593Smuzhiyuninherit cmake pkgconfig gobject-introspection vala
22*4882a593Smuzhiyun
23*4882a593SmuzhiyunDEPENDS += "libical-native"
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunPACKAGECONFIG ??= "icu glib"
26*4882a593SmuzhiyunPACKAGECONFIG[bdb] = ",-DCMAKE_DISABLE_FIND_PACKAGE_BDB=True,db"
27*4882a593SmuzhiyunPACKAGECONFIG[glib] = "-DICAL_GLIB=True,-DICAL_GLIB=False,glib-2.0-native libxml2-native glib-2.0 libxml2"
28*4882a593Smuzhiyun# ICU is used for RSCALE (RFC7529) support
29*4882a593SmuzhiyunPACKAGECONFIG[icu] = ",-DCMAKE_DISABLE_FIND_PACKAGE_ICU=True,icu"
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun# No need to use perl-native, the host perl is sufficient.
32*4882a593SmuzhiyunEXTRA_OECMAKE += "-DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl"
33*4882a593Smuzhiyun# Disable the test suite as we can't install it
34*4882a593SmuzhiyunEXTRA_OECMAKE += "-DLIBICAL_BUILD_TESTING=false"
35*4882a593Smuzhiyun# doc build fails with linker error (??) for libical-glib so disable it
36*4882a593SmuzhiyunEXTRA_OECMAKE += "-DICAL_BUILD_DOCS=false"
37*4882a593Smuzhiyun# gobject-introspection
38*4882a593SmuzhiyunEXTRA_OECMAKE:append:class-target = " -DGObjectIntrospection_COMPILER=${STAGING_BINDIR}/g-ir-compiler-wrapper"
39*4882a593SmuzhiyunEXTRA_OECMAKE:append:class-target = " -DGObjectIntrospection_SCANNER=${STAGING_BINDIR}/g-ir-scanner-wrapper"
40*4882a593SmuzhiyunEXTRA_OECMAKE += "-DVAPIGEN=${STAGING_BINDIR_NATIVE}/vapigen"
41*4882a593SmuzhiyunEXTRA_OECMAKE += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DGOBJECT_INTROSPECTION=ON -DICAL_GLIB_VAPI=ON', '-DGOBJECT_INTROSPECTION=OFF', d)}"
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun# Tell the cross-libical where the tool it needs to build is
44*4882a593SmuzhiyunEXTRA_OECMAKE:append:class-target = " -DIMPORT_ICAL_GLIB_SRC_GENERATOR=${STAGING_LIBDIR_NATIVE}/cmake/LibIcal/IcalGlibSrcGenerator.cmake"
45*4882a593Smuzhiyun
46*4882a593Smuzhiyundo_install:append () {
47*4882a593Smuzhiyun    # Remove build host references (https://github.com/libical/libical/issues/532)
48*4882a593Smuzhiyun    sed -i \
49*4882a593Smuzhiyun       -e 's,${STAGING_LIBDIR},${libdir},g' \
50*4882a593Smuzhiyun       -e 's,${STAGING_INCDIR},${includedir},g' \
51*4882a593Smuzhiyun       ${D}${libdir}/cmake/LibIcal/LibIcal*.cmake \
52*4882a593Smuzhiyun       ${D}${libdir}/cmake/LibIcal/Ical*.cmake
53*4882a593Smuzhiyun}
54*4882a593Smuzhiyun
55*4882a593SmuzhiyunBBCLASSEXTEND = "native"
56