From: Vishal Biswas Date: Tue, 11 Jul 2017 09:50:43 +0000 (+0530) Subject: libgrpc: add package (#1122) X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/commitdiff_plain/402c0a05270af1308e54435505f64b8db9a9d71b?hp=221ac3bb2fb1071a4bff38723b96e64e6874705f libgrpc: add package (#1122) --- diff --git a/packages/libgrpc/CMakeLists.txt.diff b/packages/libgrpc/CMakeLists.txt.diff new file mode 100644 index 00000000..defb97cf --- /dev/null +++ b/packages/libgrpc/CMakeLists.txt.diff @@ -0,0 +1,11 @@ +--- ./CMakeLists.txt 2017-07-09 09:11:13.314844730 +0530 ++++ ../CMakeLists.txt 2017-07-09 09:14:19.309615851 +0530 +@@ -322,7 +322,7 @@ + COMMAND ${_gRPC_PROTOBUF_PROTOC} + ARGS --grpc_out=generate_mock_code=true:${_gRPC_PROTO_GENS_DIR} + --cpp_out=${_gRPC_PROTO_GENS_DIR} +- --plugin=protoc-gen-grpc=$ ++ --plugin=protoc-gen-grpc=@PATH_TO_PLUGIN@ + ${_protobuf_include_path} + ${REL_FIL} + DEPENDS ${ABS_FIL} ${_gRPC_PROTOBUF_PROTOC} grpc_cpp_plugin diff --git a/packages/libgrpc/CMakeLists.txt.patch b/packages/libgrpc/CMakeLists.txt.patch new file mode 100644 index 00000000..49d9ef03 --- /dev/null +++ b/packages/libgrpc/CMakeLists.txt.patch @@ -0,0 +1,20 @@ +--- ./CMakeLists.txt 2017-06-28 01:16:01.000000000 +0530 ++++ ../CMakeLists.txt 2017-07-08 22:10:35.062570096 +0530 +@@ -272,7 +272,7 @@ + if(_gRPC_PLATFORM_MAC) + set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} m pthread) + elseif(UNIX) +- set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} rt m pthread) ++ set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} m) + endif() + + if(WIN32 AND MSVC) +@@ -305,7 +305,7 @@ + return() + endif() + +- set(_protobuf_include_path -I . -I ${PROTOBUF_WELLKNOWN_IMPORT_DIR}) ++ set(_protobuf_include_path -I . -I @TERMUX_PREFIX@/include) + foreach(FIL ${ARGN}) + get_filename_component(ABS_FIL ${FIL} ABSOLUTE) + get_filename_component(FIL_WE ${FIL} NAME_WE) diff --git a/packages/libgrpc/build.sh b/packages/libgrpc/build.sh new file mode 100644 index 00000000..8909db1a --- /dev/null +++ b/packages/libgrpc/build.sh @@ -0,0 +1,30 @@ +TERMUX_PKG_VERSION=1.4.1 +TERMUX_PKG_DESCRIPTION="High performance, open source, general RPC framework that puts mobile and HTTP/2 first" +TERMUX_PKG_MAINTAINER="Vishal Biswas @vishalbiswas" +TERMUX_PKG_SRCURL=https://github.com/grpc/grpc/archive/v$TERMUX_PKG_VERSION.tar.gz +TERMUX_PKG_DEPENDS="openssl, protobuf, c-ares" +TERMUX_PKG_SHA256=60840ef0e9b71f47cb73d4e220089b3d1e78dbfa011ae128f7688622f287b543 +TERMUX_PKG_FOLDERNAME=grpc-$TERMUX_PKG_VERSION +TERMUX_PKG_HOSTBUILD=true +TERMUX_PKG_KEEP_STATIC_LIBRARIES=true +TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" +-DgRPC_CARES_PROVIDER=package +-DgRPC_PROTOBUF_PROVIDER=package +-DgRPC_SSL_PROVIDER=package +-DgRPC_ZLIB_PROVIDER=package +-D_gRPC_PROTOBUF_PROTOC=$TERMUX_TOPDIR/libprotobuf/host-build/src/protoc +" + +termux_step_host_build () { + cmake $TERMUX_PKG_SRCDIR -G "Unix Makefiles" \ + $TERMUX_PKG_EXTRA_CONFIGURE_ARGS \ + -DCMAKE_CXX_FLAGS="-Wl,-L$TERMUX_TOPDIR/libprotobuf/host-build/src/.libs -Wl,-lprotobuf -Wl,-lprotoc" + make -j $TERMUX_MAKE_PROCESSES grpc_cpp_plugin +} + +termux_step_pre_configure () { + sed "s|@PATH_TO_PLUGIN@|$TERMUX_PKG_HOSTBUILD_DIR/grpc_cpp_plugin|g" $TERMUX_PKG_BUILDER_DIR/CMakeLists.txt.diff | patch -p1 + + export GRPC_CROSS_COMPILE=true + LDFLAGS="$LDFLAGS -lprotobuf -lprotoc -lcares -llog -lz" +} diff --git a/packages/libgrpc/include-grpcpp-impl-codegen-config.h.patch b/packages/libgrpc/include-grpcpp-impl-codegen-config.h.patch new file mode 100644 index 00000000..c0d728ab --- /dev/null +++ b/packages/libgrpc/include-grpcpp-impl-codegen-config.h.patch @@ -0,0 +1,11 @@ +--- ./include/grpc++/impl/codegen/config.h 2017-06-28 01:16:01.000000000 +0530 ++++ ../config.h 2017-07-08 22:48:38.993186926 +0530 +@@ -49,8 +49,6 @@ + + typedef GRPC_CUSTOM_STRING string; + +-using std::to_string; +- + } // namespace grpc + + #endif // GRPCXX_IMPL_CODEGEN_CONFIG_H