void-packages/srcpkgs/grpc/template
2020-11-01 09:49:41 -05:00

67 lines
2.2 KiB
Bash

# Template file for 'grpc'
pkgname=grpc
version=1.33.2
revision=1
_abseilver=df3ea785d8c30a9503321a3d35ee7d35808f190d
build_style=cmake
configure_args="-DBUILD_SHARED_LIBS=ON
-DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package
-DgRPC_SSL_PROVIDER=package -DgRPC_ZLIB_PROVIDER=package
-D_gRPC_RE2_LIBRARIES=${XBPS_CROSS_BASE}/usr/lib/libre2.so
-D_gRPC_RE2_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include"
hostmakedepends="which protobuf"
makedepends="zlib-devel c-ares-devel libressl-devel
libprotoc-devel protobuf-devel gperftools-devel re2-devel"
short_desc="High performance, open source, general RPC framework"
maintainer="Orphaned <orphan@voidlinux.org>"
license="Apache-2.0"
homepage="https://github.com/grpc/grpc"
distfiles="${homepage}/archive/v${version}/${pkgname}-${version}.tar.gz
https://github.com/abseil/abseil-cpp/archive/${_abseilver}/abseil-cpp-${_abseilver}.tar.gz"
checksum="2060769f2d4b0d3535ba594b2ab614d7f68a492f786ab94b4318788d45e3278a
f368a8476f4e2e0eccf8a7318b98dafbe30b2600f4e3cf52636e5eb145aba06a"
if [ "$CROSS_BUILD" ]; then
# need host grpc_cpp_plugin
hostmakedepends+=" grpc"
fi
if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
makedepends+=" libatomic-devel"
configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic"
fi
post_extract() {
rm -rf third_party/abseil-cpp
mv ../abseil-cpp-${_abseilver} third_party/abseil-cpp
}
post_patch() {
# re2 doesn't install CMake config modules;
# key variables are set in configure_args
vsed -i CMakeLists.txt -e '/include(cmake\/re2\.cmake)/d'
# override building shared abseil libs
vsed -i third_party/abseil-cpp/CMakeLists.txt \
-e "/project(absl CXX)/a set(BUILD_SHARED_LIBS OFF)"
}
post_install() {
# CMake seems to install these no matter what.
# For now, they do not appear to be necessary, so scrub them.
rm ${DESTDIR}/usr/lib/libabsl*.a
# Remove hard-coded absl linker args from pkgconfig files
sed -e 's/-labsl_[^[:space:]]\+[[:space:]]*//g' \
-i ${DESTDIR}/usr/lib/pkgconfig/*.pc
}
grpc-devel_package() {
short_desc+=" - development files"
depends="${sourcepkg}>=${version}_${revision} c-ares-devel re2-devel zlib-devel"
pkg_install() {
vmove usr/include
vmove usr/lib/*.so
vmove usr/lib/cmake
vmove usr/lib/pkgconfig
}
}