* gcc is kept at -Np0, because of void-cross ```sh git grep -l '^patch_args=-Np0' "srcpkgs/$1*/template" | while read template; do for p in ${template%/template}/patches/*; do sed -i ' \,^[+-][+-][+-] /dev/null,b /^[*-]\+ [0-9]\+\(,[0-9]\+\)\? [*-]\+$/b s,^[*][*][*] ,&a/, /^--- /{ s,\(^--- \)\(./\)*,\1a/, s,[.][Oo][Rr][Ii][Gg]\([ /]\),\1, s/[.][Oo][Rr][Ii][Gg]$// s/[.]patched[.]\([^.]\)/.\1/ h } /^+++ -/{ g s/^--- a/+++ b/ b } s,\(^+++ \)\(./\)*,\1b/, ' "$p" done sed -i '/^patch_args=/d' $template done ```
70 lines
2.2 KiB
Bash
70 lines
2.2 KiB
Bash
# Template file for 'grpc'
|
|
pkgname=grpc
|
|
version=1.38.0
|
|
revision=1
|
|
_abseilver=997aaf3a28308eba1b9156aa35ab7bca9688e9f6
|
|
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"
|
|
_devel_depends="c-ares-devel re2-devel zlib-devel openssl-devel"
|
|
makedepends="libprotoc-devel protobuf-devel gperftools-devel ${_devel_depends}"
|
|
short_desc="High performance, open source, general RPC framework"
|
|
maintainer="Andrew J. Hesford <ajh@sideband.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="abd9e52c69000f2c051761cfa1f12d52d8b7647b6c66828a91d462e796f2aede
|
|
35f22ef5cb286f09954b7cc4c85b5a3f6221c9d4df6b8c4a1e9d399555b366ee"
|
|
|
|
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'
|
|
}
|
|
|
|
post_build() {
|
|
# Clean up unneeded absl linker arguments from pkgconfig files
|
|
sed -e 's/-labsl_[^[:space:]]\+[[:space:]]*//g' \
|
|
-i build/libs/opt/pkgconfig/*.pc
|
|
|
|
# Add custom absl include root to grpcpp cflags
|
|
sed -e 's,^Cflags:.*,& -I${includedir}/grpc_absl,' \
|
|
-i build/libs/opt/pkgconfig/grpc++*.pc
|
|
}
|
|
|
|
post_install() {
|
|
# Remove unnecessary absl static libs and cmake modules
|
|
rm "${DESTDIR}"/usr/lib/libabsl*.a
|
|
rm -rf "${DESTDIR}/usr/lib/cmake/absl"
|
|
}
|
|
|
|
grpc-devel_package() {
|
|
short_desc+=" - development files"
|
|
depends="${sourcepkg}>=${version}_${revision} ${_devel_depends}"
|
|
pkg_install() {
|
|
vmove usr/include
|
|
vmove usr/lib/*.so
|
|
vmove usr/lib/cmake
|
|
vmove usr/lib/pkgconfig
|
|
}
|
|
}
|