user/grpc: drop due to not needed

This commit is contained in:
Antoine Martin 2024-06-13 18:11:32 -04:00
parent 81ac0611da
commit 08ee79d032
Signed by: forge
GPG key ID: D62A472A4AA7D541
8 changed files with 0 additions and 611 deletions

View file

@ -1,10 +0,0 @@
--- a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc
+++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc
@@ -978,6 +978,7 @@
} else {
r = grpc_chttp2_begin_write(t);
}
+ #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
if (r.writing) {
if (r.partial) {
GRPC_STATS_INC_HTTP2_PARTIAL_WRITES();

View file

@ -1,273 +0,0 @@
# Contributor: Keith Maxwell <keith.maxwell@gmail.com>
# Contributor: wener <wenermail@gmail.com>
# Maintainer: wener <wenermail@gmail.com>
pkgname=grpc
pkgver=1.58.0
pkgrel=2
pkgdesc="The C based gRPC"
url="https://grpc.io/"
arch="all"
# BSD-3-Clause: third_party/upb, third_party/address_sorting
# MIT: third_party/upb/third_party/utf8_range
license="Apache-2.0 AND BSD-3-Clause AND MIT"
depends="ca-certificates"
depends_dev="
$pkgname-cpp=$pkgver-r$pkgrel
$pkgname-plugins=$pkgver-r$pkgrel
"
_pythondepends="
cython
python3-dev
py3-setuptools
"
_rubydepends="
$pkgname=$pkgver-r$pkgrel
ruby3.2-google-protobuf>=3.19
"
makedepends="
abseil-cpp-dev
autoconf
automake
benchmark-dev
c-ares-dev
chrpath
cmake
libstdc++
libtool
linux-headers
openssl-dev>3
protobuf-dev
re2-dev
ruby3.2-dev
samurai
yaml-dev
xxhash-dev
zlib-dev
$_pythondepends
$_rubydepends
"
checkdepends="coreutils python3 py3-six"
subpackages="
$pkgname-dev
$pkgname-cpp
$pkgname-plugins
$pkgname-doc
py3-grpcio-pyc
py3-grpcio:grpcio
ruby3.2-grpc:_ruby
libaddress_sorting:lib
libgpr:lib
libgrpc:lib
libgrpc_authorization_provider:lib
libgrpc_unsecure:lib
libupb:lib
"
_googletest_rev=0e402173c97aea7a00749e825b194bfede4f2e45
# ruby-dont-strip-library.patch: abuild will dot the strip
source="https://github.com/grpc/grpc/archive/v$pkgver/grpc-v$pkgver.tar.gz
googletest-$_googletest_rev.tar.gz::https://github.com/google/googletest/archive/$_googletest_rev.tar.gz
01-chttp2-maybe-uninitialized.patch
find-dependency.patch
ruby-fix-protoc-path.patch
ruby-use-shared-libs.patch
ruby-use-system-certs.patch
makefile-use-system-abseil.patch
cython3.patch
"
options="net !check" # sometimes hang indefinitely on builders
prepare() {
rm -r third_party/googletest
mv "$srcdir"/googletest-$_googletest_rev third_party/googletest
# Remove bundled xxhash.
# Since grpc sets XXH_INCLUDE_ALL wherever it uses xxhash, it is using xxhash
# as a header-only library. This means we can replace it with the system copy
# by doing nothing further; xxhash.h is in the system include path and will be
# found instead, and there are no linker flags to add. See also
# https://github.com/grpc/grpc/issues/25945.
rm -rvf third_party/xxhash/*
# This will be replaced with a symlink to system certs.
echo '' > etc/roots.pem
default_prepare
# Remove some bundled dependencies from the gem's files list.
sed -i \
-e '/etc\/roots.pem/d' \
-e '/third_party\/abseil/d' \
-e '/third_party\/boringssl/d' \
-e '/third_party\/cares/d' \
-e '/third_party\/re2/d' \
-e '/third_party\/xxhash/d' \
-e '/third_party\/zlib/d' \
grpc.gemspec
# Remove unused dependency from gemspec - it's not required anyhwere,
# it's just Google pushing their crap everywhere...
sed -i '/add_dependency.*googleapis-common-protos-types/d' \
grpc.gemspec
}
build() {
export CFLAGS="$CFLAGS -flto=auto -DNDEBUG -O2"
export CXXFLAGS="$CXXFLAGS -flto=auto -DNDEBUG -O2"
cmake -B _build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_CXX_STANDARD=17 \
-DBUILD_SHARED_LIBS=True \
-DgRPC_INSTALL=ON \
-DgRPC_CARES_PROVIDER=package \
-DgRPC_PROTOBUF_PROVIDER=package \
-DgRPC_SSL_PROVIDER=package \
-DgRPC_ZLIB_PROVIDER=package \
-DgRPC_ABSL_PROVIDER=package \
-DgRPC_BENCHMARK_PROVIDER=package \
-DgRPC_RE2_PROVIDER=package \
-DgRPC_BACKWARDS_COMPATIBILITY_MODE=OFF \
-DgRPC_BUILD_TESTS="$(want_check && echo ON || echo OFF)"
cmake --build _build
GRPC_PYTHON_CFLAGS="-std=c++17" \
GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY=1 \
GRPC_PYTHON_BUILD_SYSTEM_CARES=1 \
GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 \
GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 \
GRPC_PYTHON_BUILD_SYSTEM_RE2=1 \
GRPC_PYTHON_BUILD_SYSTEM_ABSL=1 \
python3 setup.py build
# grpcio-tools
cd tools/distrib/python
python3 make_grpcio_tools.py
cd "$builddir"
gem build grpc.gemspec
TOPDIR="$PWD/_build" gem install \
--local \
--install-dir _build/ruby \
--ignore-dependencies \
--no-document \
--verbose \
grpc-$pkgver.gem
}
check() {
# delete times out in ci or broken for ci tests
rm -f _build/spinlock_test _build/resolve_address_using_ares_resolver_posix_test build/resolve_address_using_native_resolver_posix_test
rm -f _build/flaky_network_test _build/unknown_frame_bad_client_test _build/ssl_transport_security_test _build/httpscli_test
rm -f _build/headers_bad_client_test _build/httpcli_test
case $CARCH in
aarch64|ppc64le) rm -f _build/server_test _build/grpc_tool_test ;;
s390x) rm -f _build/client_lb_end2end_test _build/alts_frame_protector_test _build/alts_iovec_record_protocol_test ;;
armv7) rm -f _build/initial_settings_frame_bad_client_test ;;
x86) rm -f _build/time_jump_test _build/connection_prefix_bad_client_test ;;
esac
# start helper
./tools/run_tests/start_port_server.py &
find build/ -maxdepth 1 -type f -executable -name "*_test" -exec {} \;
# kill helper
pkill -9 python3
}
package() {
DESTDIR="$pkgdir" cmake --install _build
python3 setup.py install --skip-build --root="$pkgdir"
cd doc
find ./ -type f -print -exec install -Dm644 {} "$pkgdir"/usr/share/doc/grpc/{} \;
rm "$pkgdir"/usr/share/doc/grpc/.gitignore
find "$pkgdir" -type f -name roots.pem -exec \
sh -c 'rm $0 && ln -s /etc/ssl/certs/ca-certificates.crt $0' "{}" \;
}
cpp() {
pkgdesc="C++ language bindings for gRPC"
depends="$pkgname=$pkgver-r$pkgrel"
amove usr/lib/libgrpc++*.so.*
amove usr/lib/libgrpc_plugin_support.so.*
amove usr/lib/libgrpcpp*.so.*
}
plugins() {
pkgdesc="Protocol buffers compiler plugins for gRPC"
depends="$pkgname-cpp=$pkgver-r$pkgrel protobuf"
amove usr/bin/grpc_*_plugin
}
cli() {
pkgdesc="gRPC command line tool"
install -Dm644 -t "$subpkgdir"/usr/lib "$builddir"/_build/libgrpc++_test_config.so.$pkgver
install -Dm755 -t "$subpkgdir"/usr/bin "$builddir"/_build/grpc_cli
# Fix "Has /home/... in rpath"
chrpath -d "$subpkgdir"/usr/lib/libgrpc++_test_config.so.$pkgver
chrpath -d "$subpkgdir"/usr/bin/grpc_cli
}
grpcio() {
pkgdesc="gRPC Python HTTP/2-based RPC framework"
depends="py3-six"
amove usr/lib/python3*
}
_ruby() {
pkgdesc="Send RPCs from Ruby using GRPC"
depends="$_rubydepends"
local gemdir="$subpkgdir/$(ruby -e 'puts Gem.default_dir')"
cd "$builddir"/_build/ruby
mkdir -p "$gemdir"
cp -r extensions gems specifications "$gemdir"/
# Remove unnecessary files and rubbish...
cd "$gemdir"/extensions/*/*/grpc-$pkgver
rm gem_make.out mkmf.log || true
cd "$gemdir"/gems/grpc-$pkgver
rm -rf .yardopts \
Makefile \
include/ \
src/core/ \
third_party/
cd src/ruby
rm -rf bin/ \
ext/ \
lib/grpc/*.so \
pb/generate_proto_ruby.sh \
pb/README.md \
pb/src/ \
pb/test/ \
spec/
}
lib() {
pkgdesc="$pkgdesc ($subpkgname library)"
depends="$pkgname=$pkgver-r$pkgrel"
amove usr/lib/$subpkgname.so.*
}
sha512sums="
fb2fd211a22dd777cf4df39a9dd72e5c8014f1546a89d3910b006503aac80a74d5797705e02911e9c07316ed973f71110b94cc0e86225f648d4ff91773748a43 grpc-v1.58.0.tar.gz
5c5eaf6ff9f3c1bca025b7ef0234ba97232ba85b43e6354a92f49b7208f5c47581ebaf18bf58618498e5d264f2620c2b6676e81bb0f7df77112b96ba271ececf googletest-0e402173c97aea7a00749e825b194bfede4f2e45.tar.gz
7fa146ce86ddd4f160bb1ca9ff01cb7aca6b2b8c9aa50e4fa6b84504b9117b104be0d1e31ccb452d846549dfe1e9012ceccfcdc1f2357ed567621d71fb8b08c5 01-chttp2-maybe-uninitialized.patch
6702e39c6a3c065fe4ff5ae48898057135c09bf6851e35fc958cf95ee5d77e9dd34e8c34d978efe60682384e46c4c4b2e51156d546b06a0eb1feed89adcc024b find-dependency.patch
4ea72d2acd8bee9c9022a4412aa0af0477faca7b0810d14decb3ad5d4da044247f51189512323bfee855b9b260a7f82b812310391451e5d8ee718297800d7a73 ruby-fix-protoc-path.patch
7123bf1bbc48ceb303ce1e9820ea45a06dabd25e20e3c1c116ef68e629e80f229cf20314c415d74f0c5c1725f23a00b446656e0cffba3dcd3cc766ae29d8fb2f ruby-use-shared-libs.patch
631af4b9ac29c1ebabb2c88394ea2993e36cec1beda38195e1587dbd9d3c8c9eef75a17d2326d3cd2e682de551401216075ba08fdc501c098b8092d718ded381 ruby-use-system-certs.patch
89e260934da83eb45fa6b73884cba1b1c30f99c0eb883a726e2d36ee4788246f4c6fa1b201077038af956bcb58e625f83bedba4f186c711785ec240373ce4fc5 makefile-use-system-abseil.patch
896d2771fbb726db97efc7a76687a8fddfae18b0492977fc1f7cec4002803f7aed29e8276c94c6b60a06ecfe3ee7795d4ec3f8f90031dd3eda32d3e23dc9c98c cython3.patch
"

View file

@ -1,172 +0,0 @@
From b3277bac1585ddee88a170b0a95c260d909cce9c Mon Sep 17 00:00:00 2001
From: Atri Bhattacharya <A.Bhattacharya@uliege.be>
Date: Sat, 24 Feb 2024 04:06:08 +0530
Subject: [PATCH] [python] Cython 3 compatibility: declare functions noexcept.
In Cython 3, cdef functions that really will not raise exceptions must
be declared as `noexcept`. Fixed by this commit.
Update requirements to `cython >= 3.0` in requirements*.txt and
setup.py.
Fixes issue #33918.
---
requirements.bazel.txt | 2 +-
requirements.txt | 2 +-
setup.py | 2 +-
.../grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi | 2 +-
.../grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi | 2 +-
src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi | 2 +-
src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi | 6 +++---
src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi | 6 +++---
src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi | 6 +++---
9 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/requirements.bazel.txt b/requirements.bazel.txt
index f46432cc88891..905c092ce4c33 100644
--- a/requirements.bazel.txt
+++ b/requirements.bazel.txt
@@ -1,6 +1,6 @@
# GRPC Python setup requirements
coverage==4.5.4
-cython==0.29.21
+cython==3.0.0
protobuf>=3.5.0.post1, < 4.0dev
wheel==0.38.1
oauth2client==4.1.0
diff --git a/requirements.txt b/requirements.txt
index 05390850559f1..56169434b1b78 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,5 +1,5 @@
# GRPC Python setup requirements
coverage>=4.0
-cython>=0.29.8,<3.0.0rc1
+cython>=3.0.0
protobuf>=4.21.3,<5.0dev
wheel>=0.29
diff --git a/setup.py b/setup.py
index 2ce5fef422316..8b4ce5c16736a 100644
--- a/setup.py
+++ b/setup.py
@@ -539,7 +539,7 @@ def cython_extensions_and_necessity():
sys.stderr.write(
"We could not find Cython. Setup may take 10-20 minutes.\n"
)
- SETUP_REQUIRES += ("cython>=0.23,<3.0.0rc1",)
+ SETUP_REQUIRES += ("cython>=3.0.0",)
COMMAND_CLASS = {
"doc": commands.SphinxDocumentation,
diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi
index e54e5107547c1..26edbdb917b10 100644
--- a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi
+++ b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi
@@ -48,7 +48,7 @@ cdef class CallbackWrapper:
@staticmethod
cdef void functor_run(
grpc_completion_queue_functor* functor,
- int succeed)
+ int succeed) noexcept
cdef grpc_completion_queue_functor *c_functor(self)
diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi
index 14a0098fc2041..2b0df0e5ce7f7 100644
--- a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi
+++ b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi
@@ -50,7 +50,7 @@ cdef class CallbackWrapper:
@staticmethod
cdef void functor_run(
grpc_completion_queue_functor* functor,
- int success):
+ int success) noexcept:
cdef CallbackContext *context = <CallbackContext *>functor
cdef object waiter = <object>context.waiter
if not waiter.cancelled():
diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi
index 74a3f16d72dbb..600c0f304e067 100644
--- a/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi
+++ b/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi
@@ -316,7 +316,7 @@ def server_credentials_ssl_dynamic_cert_config(initial_cert_config,
return credentials
cdef grpc_ssl_certificate_config_reload_status _server_cert_config_fetcher_wrapper(
- void* user_data, grpc_ssl_server_certificate_config **config) with gil:
+ void* user_data, grpc_ssl_server_certificate_config **config) noexcept with gil:
# This is a credentials.ServerCertificateConfig
cdef ServerCertificateConfig cert_config = None
if not user_data:
diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi
index 13a02434787ba..b300883abae81 100644
--- a/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi
+++ b/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi
@@ -12,10 +12,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-cdef void __prefork() nogil
+cdef void __prefork() noexcept nogil
-cdef void __postfork_parent() nogil
+cdef void __postfork_parent() noexcept nogil
-cdef void __postfork_child() nogil
\ No newline at end of file
+cdef void __postfork_child() noexcept nogil
diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi
index 565f483b2ae00..d901cfddf4321 100644
--- a/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi
+++ b/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi
@@ -35,7 +35,7 @@ _GRPC_ENABLE_FORK_SUPPORT = (
_fork_handler_failed = False
-cdef void __prefork() nogil:
+cdef void __prefork() noexcept nogil:
with gil:
global _fork_handler_failed
_fork_handler_failed = False
@@ -49,14 +49,14 @@ cdef void __prefork() nogil:
_fork_handler_failed = True
-cdef void __postfork_parent() nogil:
+cdef void __postfork_parent() noexcept nogil:
with gil:
with _fork_state.fork_in_progress_condition:
_fork_state.fork_in_progress = False
_fork_state.fork_in_progress_condition.notify_all()
-cdef void __postfork_child() nogil:
+cdef void __postfork_child() noexcept nogil:
with gil:
try:
if _fork_handler_failed:
diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi
index da4b81bd97e65..f59410073b736 100644
--- a/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi
+++ b/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi
@@ -13,16 +13,16 @@
# limitations under the License.
# TODO(https://github.com/grpc/grpc/issues/15662): Reform this.
-cdef void* _copy_pointer(void* pointer):
+cdef void* _copy_pointer(void* pointer) noexcept:
return pointer
# TODO(https://github.com/grpc/grpc/issues/15662): Reform this.
-cdef void _destroy_pointer(void* pointer):
+cdef void _destroy_pointer(void* pointer) noexcept:
pass
-cdef int _compare_pointer(void* first_pointer, void* second_pointer):
+cdef int _compare_pointer(void* first_pointer, void* second_pointer) noexcept:
if first_pointer < second_pointer:
return -1
elif first_pointer > second_pointer:

View file

@ -1,13 +0,0 @@
without this find_dependency() doesn't exist
--
diff --git a/cmake/gRPCConfig.cmake.in b/cmake/gRPCConfig.cmake.in
index 98d8c6d..5500ca2 100644
--- a/cmake/gRPCConfig.cmake.in
+++ b/cmake/gRPCConfig.cmake.in
@@ -1,5 +1,6 @@
# Module path
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules)
+include(CMakeFindDependencyMacro)
# Depend packages
@_gRPC_FIND_ZLIB@

View file

@ -1,22 +0,0 @@
--- a/Makefile
+++ b/Makefile
@@ -575,8 +575,8 @@
# Setup abseil dependency
-GRPC_ABSEIL_DEP = $(LIBDIR)/$(CONFIG)/libgrpc_abseil.a
-GRPC_ABSEIL_MERGE_LIBS = $(LIBDIR)/$(CONFIG)/libgrpc_abseil.a
+GRPC_ABSEIL_DEP = -labsl_base -labsl_int128 -labsl_strings -labsl_time -labsl_bad_optional_access -labsl_throw_delegate -labsl_str_format_internal
+GRPC_ABSEIL_MERGE_LIBS = -labsl_base -labsl_int128 -labsl_strings -labsl_time -labsl_bad_optional_access -labsl_throw_delegate -labsl_str_format_internal
# Setup re2 dependency
@@ -2809,7 +2809,7 @@
third_party/abseil-cpp/absl/types/bad_variant_access.cc \
-LIBGRPC_ABSEIL_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_ABSEIL_SRC))))
+LIBGRPC_ABSEIL_OBJS =
$(LIBGRPC_ABSEIL_OBJS): CPPFLAGS += -g -Ithird_party/abseil-cpp

View file

@ -1,25 +0,0 @@
Patch-Source: https://sources.debian.org/src/grpc/1.44.0-3/debian/patches/fix-protoc-path.patch (modified)
--- a/src/ruby/end2end/package_with_underscore_test.rb
+++ b/src/ruby/end2end/package_with_underscore_test.rb
@@ -20,8 +20,8 @@ def main
pb_dir = File.join(root_dir, 'src', 'ruby', 'end2end', 'protos')
- bins_dir = File.join(root_dir, 'cmake', 'build')
+ bins_dir = '/usr/bin'
plugin = File.join(bins_dir, 'grpc_ruby_plugin')
- protoc = File.join(bins_dir, 'third_party', 'protobuf', 'protoc')
+ protoc = File.join(bins_dir, 'protoc')
got = nil
--- a/src/ruby/tools/bin/grpc_tools_ruby_protoc
+++ b/src/ruby/tools/bin/grpc_tools_ruby_protoc
@@ -25,6 +25,5 @@ plugin_name = 'grpc_ruby_plugin' + ext
-protoc_dir = File.join(File.dirname(__FILE__),
- PLATFORM.architecture + '-' + PLATFORM.os_name)
+protoc_dir = '/usr/bin'
protoc_path = File.join(protoc_dir, protoc_name)

View file

@ -1,81 +0,0 @@
From: Jakub Jirutka <jakub@jirutka.cz>
Date: Wed, 24 Aug 2022 21:20:22 +0200
Subject: [PATCH] Link with shared libraries, don't embed anything
- Don't statically link openssl, zlib and cares.
- Don't build and statically link libgrpc, link shared libgrpc.
- Don't statically link libgcc and libstdc++.
diff --git a/src/ruby/ext/grpc/extconf.rb b/src/ruby/ext/grpc/extconf.rb
index 98a8876..808ecfe 100644
--- a/src/ruby/ext/grpc/extconf.rb
+++ b/src/ruby/ext/grpc/extconf.rb
@@ -69,11 +69,11 @@ if apple_toolchain && !cross_compiling
end
# Don't embed on TruffleRuby (constant-time crypto is unsafe with Sulong, slow build times)
-ENV['EMBED_OPENSSL'] = (RUBY_ENGINE != 'truffleruby').to_s
+ENV['EMBED_OPENSSL'] = 'false'
# Don't embed on TruffleRuby (the system zlib is already linked for the zlib C extension, slow build times)
-ENV['EMBED_ZLIB'] = (RUBY_ENGINE != 'truffleruby').to_s
+ENV['EMBED_ZLIB'] = 'false'
-ENV['EMBED_CARES'] = 'true'
+ENV['EMBED_CARES'] = 'false'
ENV['ARCH_FLAGS'] = RbConfig::CONFIG['ARCH_FLAG']
if apple_toolchain && !cross_compiling
@@ -97,32 +97,7 @@
strip_tool = RbConfig::CONFIG['STRIP']
strip_tool += ' -x' if apple_toolchain
-unless windows
- puts 'Building internal gRPC into ' + grpc_lib_dir
- nproc = 4
- nproc = Etc.nprocessors if Etc.respond_to? :nprocessors
- nproc_override = ENV['GRPC_RUBY_BUILD_PROCS']
- unless nproc_override.nil? or nproc_override.size == 0
- nproc = nproc_override
- puts "Overriding make parallelism to #{nproc}"
- end
- make = bsd ? 'gmake' : 'make'
- cmd = "#{make} -j#{nproc} -C #{grpc_root} #{grpc_lib_dir}/libgrpc.a CONFIG=#{grpc_config} Q="
- puts "Building grpc native library: #{cmd}"
- system(cmd)
- exit 1 unless $? == 0
-
- if grpc_config == 'opt'
- rm_obj_cmd = "rm -rf #{File.join(output_dir, 'objs')}"
- puts "Removing grpc object files: #{rm_obj_cmd}"
- system(rm_obj_cmd)
- exit 1 unless $? == 0
- strip_cmd = "#{strip_tool} #{grpc_lib_dir}/*.a"
- puts "Stripping grpc native library: #{strip_cmd}"
- system(strip_cmd)
- exit 1 unless $? == 0
- end
-end
+$LDFLAGS << ' -L' + ENV.fetch('TOPDIR', '.')
$CFLAGS << ' -DGRPC_RUBY_WINDOWS_UCRT' if windows_ucrt
$CFLAGS << ' -I' + File.join(grpc_root, 'include')
@@ -118,7 +103,7 @@ ext_export_file += '-truffleruby' if RUBY_ENGINE == 'truffleruby'
$LDFLAGS << ' -Wl,--version-script="' + ext_export_file + '.gcc"' if linux
$LDFLAGS << ' -Wl,-exported_symbols_list,"' + ext_export_file + '.clang"' if apple_toolchain
-$LDFLAGS << ' ' + File.join(grpc_lib_dir, 'libgrpc.a') unless windows
+$LDFLAGS << ' -Wl,-wrap,memcpy -lgrpc' unless windows
if grpc_config == 'gcov'
$CFLAGS << ' -O0 -fprofile-arcs -ftest-coverage'
$LDFLAGS << ' -fprofile-arcs -ftest-coverage -rdynamic'
@@ -129,10 +114,6 @@ if grpc_config == 'dbg'
end
$LDFLAGS << ' -Wl,-wrap,memcpy' if linux
-# Do not statically link standard libraries on TruffleRuby as this does not work when compiling to bitcode
-if linux && RUBY_ENGINE != 'truffleruby'
- $LDFLAGS << ' -static-libgcc -static-libstdc++'
-end
$LDFLAGS << ' -static' if windows
$CFLAGS << ' -std=c11 '

View file

@ -1,15 +0,0 @@
From: Jakub Jirutka <jakub@jirutka.cz>
Date: Fri, 20 May 2017 01:35:00 +0200
Subject: [PATCH] Use system CA certificates
--- a/src/ruby/lib/grpc.rb
+++ b/src/ruby/lib/grpc.rb
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-ssl_roots_path = File.expand_path('../../../../etc/roots.pem', __FILE__)
+ssl_roots_path = '/etc/ssl/certs/ca-certificates.crt'
require_relative 'grpc/errors'
require_relative 'grpc/structs'