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