blob: 70c9a7a087bd9727a721f8ff60d05827f5a1744e [file] [log] [blame]
Patrick Williams213cb262021-08-07 19:21:33 -05001SUMMARY = "Apache Thrift"
2DESCRIPTION = "A software framework, for scalable cross-language services development"
3HOMEPAGE = "https://thrift.apache.org/"
4
5LICENSE = "Apache-2.0"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=c40a383cb3f747e0c7abbf1482f194f0 \
7 file://NOTICE;md5=2659b43daca219f99a2f2626ea128f73"
8
9DEPENDS = "thrift-native boost flex-native bison-native openssl zlib"
10
Andrew Geissler028142b2023-05-05 11:29:21 -050011SRC_URI = "https://downloads.apache.org/${BPN}/${PV}/${BP}.tar.gz \
12 file://0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch"
Andrew Geissler5082cc72023-09-11 08:41:39 -040013SRC_URI[sha256sum] = "d49c896c2724a78701e05cfccf6cf70b5db312d82a17efe951b441d300ccf275"
Patrick Williams213cb262021-08-07 19:21:33 -050014
15BBCLASSEXTEND = "native nativesdk"
16
Andrew Geissler615f2f12022-07-15 14:00:58 -050017CVE_PRODUCT = "apache:thrift"
18
Patrick Williams213cb262021-08-07 19:21:33 -050019inherit pkgconfig cmake python3native
20
21export STAGING_INCDIR
22export STAGING_LIBDIR
23export BUILD_SYS
24export HOST_SYS
25
26EXTRA_OECMAKE = " \
27 -DBUILD_LIBRARIES=ON \
28 -DBUILD_SHARED_LIBS=ON \
29 -DBUILD_COMPILER=ON \
30 -DBUILD_TESTING=OFF \
31 -DBUILD_TUTORIALS=OFF \
32 -DWITH_AS3=OFF \
33 -DWITH_CPP=ON \
34 -DWITH_JAVA=OFF \
35 -DWITH_OPENSSL=ON \
36 -DWITH_QT5=OFF \
37 -DWITH_ZLIB=ON \
Andrew Geissler5082cc72023-09-11 08:41:39 -040038 -DFLEX_TARGET_ARG_COMPILE_FLAGS='--noline' \
39 -DBISON_TARGET_ARG_COMPILE_FLAGS='--no-lines' \
Patrick Williams213cb262021-08-07 19:21:33 -050040"
41
42PACKAGECONFIG ??= "glib libevent"
43PACKAGECONFIG[glib] = "-DWITH_C_GLIB=ON,-DWITH_C_GLIB=OFF,glib-2.0"
44PACKAGECONFIG[libevent] = "-DWITH_LIBEVENT=ON,-DWITH_LIBEVENT=OFF,libevent"
45PACKAGECONFIG[javascript] = "-DWITH_JAVASCRIPT=ON,-DWITH_JAVASCRIPT=OFF,nodejs"
46PACKAGECONFIG[nodejs] = "-DWITH_NODEJS=ON,-DWITH_NODEJS=OFF,nodejs"
47PACKAGECONFIG[python] = "-DWITH_PYTHON=ON,-DWITH_PYTHON=OFF,python"
48
49do_install:append () {
50 ln -sf thrift ${D}/${bindir}/thrift-compiler
Andrew Geissler5082cc72023-09-11 08:41:39 -040051 # remove absolute paths
52 sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/thrift/thriftnbTargets.cmake
53 sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/thrift/thrift_c_glibTargets.cmake
54 sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/thrift/thrift_c_glib_zlibTargets.cmake
Patrick Williams213cb262021-08-07 19:21:33 -050055}
56
57LEAD_SONAME = "libthrift.so.${PV}"
58
59# thrift packages
60PACKAGE_BEFORE_PN = "${PN}-compiler lib${BPN} lib${BPN}z lib${BPN}nb lib${BPN}-c-glib"
61FILES:lib${BPN} = "${libdir}/libthrift.so.*"
62FILES:lib${BPN}z = "${libdir}/libthriftz.so.*"
63FILES:lib${BPN}nb = "${libdir}/libthriftnb.so.*"
64FILES:lib${BPN}-c-glib = "${libdir}/libthrift_c_glib.so.*"
65FILES:${PN}-compiler = "${bindir}/*"
66
67# The thrift packages just pulls in some default dependencies but is otherwise empty
68RRECOMMENDS:${PN} = "${PN}-compiler lib${BPN}"
69ALLOW_EMPTY:${PN} = "1"
70RRECOMMENDS:${PN}:class-native = ""
71RRECOMMENDS:${PN}:class-nativesdk = ""