Date: Tuesday, July 27, 2021 @ 18:52:43 Author: mtorromeo Revision: 988024
archrelease: copy trunk to community-x86_64 Added: grpc/repos/community-x86_64/PKGBUILD (from rev 988023, grpc/trunk/PKGBUILD) grpc/repos/community-x86_64/parse_json-fix-status-error.patch (from rev 988023, grpc/trunk/parse_json-fix-status-error.patch) grpc/repos/community-x86_64/python-grpcio-use-system-abseil.patch (from rev 988023, grpc/trunk/python-grpcio-use-system-abseil.patch) Deleted: grpc/repos/community-x86_64/PKGBUILD grpc/repos/community-x86_64/parse_json-fix-status-error.patch grpc/repos/community-x86_64/python-grpcio-use-system-abseil.patch ---------------------------------------+ PKGBUILD | 354 ++++++++++++++++---------------- parse_json-fix-status-error.patch | 44 +-- python-grpcio-use-system-abseil.patch | 90 ++++---- 3 files changed, 244 insertions(+), 244 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2021-07-27 18:52:27 UTC (rev 988023) +++ PKGBUILD 2021-07-27 18:52:43 UTC (rev 988024) @@ -1,177 +0,0 @@ -# Maintainer: Massimiliano Torromeo <massimiliano.torro...@gmail.com> -# Contributor: Aleksey Filippov <sarum...@gmail.com> -# Contributor: Victor Aurélio Santos <victoraur.san...@gmail.com> - -pkgbase='grpc' -pkgname=('grpc' 'python-grpcio' 'php-grpc' 'php7-grpc' 'grpc-cli') -pkgver=1.38.1 -_gtestver=c9ccac7cb7345901884aabf5d1a786cfa6e2f397 -pkgrel=1 -pkgdesc="High performance, open source, general RPC framework that puts mobile and HTTP/2 first." -arch=('x86_64') -url='https://grpc.io' -license=('BSD') -makedepends=('re2' 're2c' 'protobuf' 'php' 'php7' 'c-ares' 'openssl' 'chrpath' 'cython' - 'cmake' 'benchmark' 'python-setuptools' 'abseil-cpp' 'ninja') -source=("https://github.com/grpc/grpc/archive/v$pkgver/$pkgbase-$pkgver.tar.gz" - "https://github.com/google/googletest/archive/$_gtestver/googletest-$_gtestver.tar.gz" - "python-grpcio-use-system-abseil.patch") -sha256sums=('f60e5b112913bf776a22c16a3053cc02cf55e60bf27a959fd54d7aaf8e2da6e8' - '443d383db648ebb8e391382c0ab63263b7091d03197f304390baac10f178a468' - 'f8b9cf84e16ac66d9cb74c954362b037e69ae98a61d16fc1889ad15831bee588') - -prepare() { - cd "$srcdir/$pkgbase-$pkgver" - - patch -Np1 -i ../python-grpcio-use-system-abseil.patch - - ln -sf "$srcdir/googletest-$_gtestver/"{googlemock,googletest} \ - third_party/googletest - - cp -a src/php{,7} - - cmake -Bbuild \ - -DCMAKE_BUILD_TYPE=None \ - -DCMAKE_CXX_FLAGS="${CXXFLAGS} -DNDEBUG" \ - -DgRPC_INSTALL=ON \ - -DBUILD_SHARED_LIBS=ON \ - -DCMAKE_CXX_STANDARD=17 \ - -DCMAKE_SKIP_INSTALL_RPATH=ON \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DgRPC_BUILD_TESTS=ON \ - -DgRPC_BUILD_CODEGEN=ON \ - -DgRPC_BUILD_CSHARP_EXT=ON \ - -DgRPC_BACKWARDS_COMPATIBILITY_MODE=OFF \ - -DgRPC_ZLIB_PROVIDER='package' \ - -DgRPC_CARES_PROVIDER='package' \ - -DgRPC_RE2_PROVIDER='package' \ - -DgRPC_SSL_PROVIDER='package' \ - -DgRPC_PROTOBUF_PROVIDER='package' \ - -DgRPC_PROTOBUF_PACKAGE_TYPE='MODULE' \ - -DgRPC_BENCHMARK_PROVIDER:STRING='package' \ - -DgRPC_ABSL_PROVIDER:STRING='package' \ - -DgRPC_USE_PROTO_LITE=OFF \ - -DgRPC_BUILD_GRPC_CPP_PLUGIN=ON \ - -DgRPC_BUILD_GRPC_CSHARP_PLUGIN=ON \ - -DgRPC_BUILD_GRPC_NODE_PLUGIN=ON \ - -DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=ON \ - -DgRPC_BUILD_GRPC_PHP_PLUGIN=ON \ - -DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON \ - -DgRPC_BUILD_GRPC_RUBY_PLUGIN=ON \ - -GNinja -} - -build() { - cd "$srcdir/$pkgbase-$pkgver/build" - - cmake --build . - export LDFLAGS="$LDFLAGS -L$PWD" - - # PHP - cd "$srcdir/$pkgbase-$pkgver/src/php/ext/$pkgbase" - phpize - ./configure --enable-grpc="$srcdir/$pkgbase-$pkgver" - make - - # PHP7 - cd "$srcdir/$pkgbase-$pkgver/src/php7/ext/$pkgbase" - phpize7 - ./configure --enable-grpc="$srcdir/$pkgbase-$pkgver" - make - - # Python - cd "$srcdir/$pkgbase-$pkgver" - GRPC_PYTHON_CFLAGS="-fvisibility=hidden -fno-wrapv -fno-exceptions $(pkg-config --cflags protobuf) -std=c++17" \ - GRPC_PYTHON_LDFLAGS="$(pkg-config --libs protobuf)" \ - GRPC_PYTHON_BUILD_WITH_CYTHON=1 \ - GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 \ - GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 \ - GRPC_PYTHON_BUILD_SYSTEM_CARES=1 \ - GRPC_PYTHON_BUILD_SYSTEM_RE2=1 \ - GRPC_PYTHON_BUILD_SYSTEM_ABSL=1 \ - GRPC_BUILD_WITH_BORING_SSL_ASM=0 \ - python setup.py build -} - -check() { - cd "$srcdir/$pkgbase-$pkgver" - local _pyver=$(python -c "import sys; print('{0}.{1}'.format(*sys.version_info[:2]))") - PYTHONPATH="python_build/lib.linux-$CARCH-$_pyver" python -c 'import grpc' -} - -package_grpc() { - depends=('c-ares' 'protobuf' 'openssl' 're2' 'abseil-cpp') - provides=( - 'libupb.so' - 'libgrpcpp_channelz.so' - 'libgrpc_unsecure.so' - 'libgrpc_plugin_support.so' - 'libgrpc.so' - 'libgrpc++_unsecure.so' - 'libgrpc++_reflection.so' - 'libgrpc++_error_details.so' - 'libgrpc++_alts.so' - 'libgrpc++.so' - 'libgpr.so' - 'libaddress_sorting.so' - ) - - cd "$srcdir/$pkgbase-$pkgver/build" - DESTDIR="$pkgdir" cmake --install . - install -Dm644 ../LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE -} - -package_python-grpcio() { - pkgdesc='Python language bindings for grpc, remote procedure call (RPC) framework' - depends=('c-ares' 'python' 're2' 'abseil-cpp') - - cd "$srcdir/$pkgbase-$pkgver" - python setup.py install -O1 --skip-build --root="$pkgdir" - install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE -} - -package_php-grpc() { - pkgdesc='gRPC module for PHP' - depends=('grpc' 'php') - backup=('etc/php/conf.d/grpc.ini') - - # Install PHP extension. - cd "$srcdir/$pkgbase-$pkgver/src/php/ext/$pkgbase" - make install "INSTALL_ROOT=$pkgdir" - install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE - - # Remove RPATH - chrpath -d "$pkgdir/usr/lib/php/modules/grpc.so" - - echo ';extension=grpc.so' >grpc.ini - install -Dm644 grpc.ini "$pkgdir/etc/php/conf.d/grpc.ini" -} - -package_php7-grpc() { - pkgdesc='gRPC module for PHP' - depends=('grpc' 'php7') - backup=('etc/php7/conf.d/grpc.ini') - - # Install PHP extension. - cd "$srcdir/$pkgbase-$pkgver/src/php7/ext/$pkgbase" - make install "INSTALL_ROOT=$pkgdir" - install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE - - # Remove RPATH - chrpath -d "$pkgdir/usr/lib/php7/modules/grpc.so" - - echo ';extension=grpc.so' >grpc.ini - install -Dm644 grpc.ini "$pkgdir/etc/php7/conf.d/grpc.ini" -} - -package_grpc-cli() { - pkgdesc='gRPC protocol buffers cli' - depends=('grpc') - - cd "$srcdir/$pkgbase-$pkgver" - install -dm0755 "$pkgdir/usr/lib" - cp -a build/libgrpc++_test_config.so* "$pkgdir/usr/lib/" - - install -Dm0755 build/grpc_cli "$pkgdir/usr/bin/grpc_cli" - install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE -} Copied: grpc/repos/community-x86_64/PKGBUILD (from rev 988023, grpc/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2021-07-27 18:52:43 UTC (rev 988024) @@ -0,0 +1,177 @@ +# Maintainer: Massimiliano Torromeo <massimiliano.torro...@gmail.com> +# Contributor: Aleksey Filippov <sarum...@gmail.com> +# Contributor: Victor Aurélio Santos <victoraur.san...@gmail.com> + +pkgbase='grpc' +pkgname=('grpc' 'python-grpcio' 'php-grpc' 'php7-grpc' 'grpc-cli') +pkgver=1.39.0 +_gtestver=c9ccac7cb7345901884aabf5d1a786cfa6e2f397 +pkgrel=1 +pkgdesc="High performance, open source, general RPC framework that puts mobile and HTTP/2 first." +arch=('x86_64') +url='https://grpc.io' +license=('BSD') +makedepends=('re2' 're2c' 'protobuf' 'php' 'php7' 'c-ares' 'openssl' 'chrpath' 'cython' + 'cmake' 'benchmark' 'python-setuptools' 'abseil-cpp' 'ninja') +source=("https://github.com/grpc/grpc/archive/v$pkgver/$pkgbase-$pkgver.tar.gz" + "https://github.com/google/googletest/archive/$_gtestver/googletest-$_gtestver.tar.gz" + "python-grpcio-use-system-abseil.patch") +sha256sums=('b16992aa1c949c10d5d5ce2a62f9d99fa7de77da2943e643fb66dcaf075826d6' + '443d383db648ebb8e391382c0ab63263b7091d03197f304390baac10f178a468' + 'f8b9cf84e16ac66d9cb74c954362b037e69ae98a61d16fc1889ad15831bee588') + +prepare() { + cd "$srcdir/$pkgbase-$pkgver" + + patch -Np1 -i ../python-grpcio-use-system-abseil.patch + + ln -sf "$srcdir/googletest-$_gtestver/"{googlemock,googletest} \ + third_party/googletest + + cp -a src/php{,7} + + cmake -Bbuild \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS} -DNDEBUG" \ + -DgRPC_INSTALL=ON \ + -DBUILD_SHARED_LIBS=ON \ + -DCMAKE_CXX_STANDARD=17 \ + -DCMAKE_SKIP_INSTALL_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DgRPC_BUILD_TESTS=ON \ + -DgRPC_BUILD_CODEGEN=ON \ + -DgRPC_BUILD_CSHARP_EXT=ON \ + -DgRPC_BACKWARDS_COMPATIBILITY_MODE=OFF \ + -DgRPC_ZLIB_PROVIDER='package' \ + -DgRPC_CARES_PROVIDER='package' \ + -DgRPC_RE2_PROVIDER='package' \ + -DgRPC_SSL_PROVIDER='package' \ + -DgRPC_PROTOBUF_PROVIDER='package' \ + -DgRPC_PROTOBUF_PACKAGE_TYPE='MODULE' \ + -DgRPC_BENCHMARK_PROVIDER:STRING='package' \ + -DgRPC_ABSL_PROVIDER:STRING='package' \ + -DgRPC_USE_PROTO_LITE=OFF \ + -DgRPC_BUILD_GRPC_CPP_PLUGIN=ON \ + -DgRPC_BUILD_GRPC_CSHARP_PLUGIN=ON \ + -DgRPC_BUILD_GRPC_NODE_PLUGIN=ON \ + -DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=ON \ + -DgRPC_BUILD_GRPC_PHP_PLUGIN=ON \ + -DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON \ + -DgRPC_BUILD_GRPC_RUBY_PLUGIN=ON \ + -GNinja +} + +build() { + cd "$srcdir/$pkgbase-$pkgver/build" + + cmake --build . + export LDFLAGS="$LDFLAGS -L$PWD" + + # PHP + cd "$srcdir/$pkgbase-$pkgver/src/php/ext/$pkgbase" + phpize + ./configure --enable-grpc="$srcdir/$pkgbase-$pkgver" + make + + # PHP7 + cd "$srcdir/$pkgbase-$pkgver/src/php7/ext/$pkgbase" + phpize7 + ./configure --enable-grpc="$srcdir/$pkgbase-$pkgver" + make + + # Python + cd "$srcdir/$pkgbase-$pkgver" + GRPC_PYTHON_CFLAGS="-fvisibility=hidden -fno-wrapv -fno-exceptions $(pkg-config --cflags protobuf) -std=c++17" \ + GRPC_PYTHON_LDFLAGS="$(pkg-config --libs protobuf)" \ + GRPC_PYTHON_BUILD_WITH_CYTHON=1 \ + GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 \ + GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 \ + GRPC_PYTHON_BUILD_SYSTEM_CARES=1 \ + GRPC_PYTHON_BUILD_SYSTEM_RE2=1 \ + GRPC_PYTHON_BUILD_SYSTEM_ABSL=1 \ + GRPC_BUILD_WITH_BORING_SSL_ASM=0 \ + python setup.py build +} + +check() { + cd "$srcdir/$pkgbase-$pkgver" + local _pyver=$(python -c "import sys; print('{0}.{1}'.format(*sys.version_info[:2]))") + PYTHONPATH="python_build/lib.linux-$CARCH-$_pyver" python -c 'import grpc' +} + +package_grpc() { + depends=('c-ares' 'protobuf' 'openssl' 're2' 'abseil-cpp') + provides=( + 'libupb.so' + 'libgrpcpp_channelz.so' + 'libgrpc_unsecure.so' + 'libgrpc_plugin_support.so' + 'libgrpc.so' + 'libgrpc++_unsecure.so' + 'libgrpc++_reflection.so' + 'libgrpc++_error_details.so' + 'libgrpc++_alts.so' + 'libgrpc++.so' + 'libgpr.so' + 'libaddress_sorting.so' + ) + + cd "$srcdir/$pkgbase-$pkgver/build" + DESTDIR="$pkgdir" cmake --install . + install -Dm644 ../LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} + +package_python-grpcio() { + pkgdesc='Python language bindings for grpc, remote procedure call (RPC) framework' + depends=('c-ares' 'python' 're2' 'abseil-cpp') + + cd "$srcdir/$pkgbase-$pkgver" + python setup.py install -O1 --skip-build --root="$pkgdir" + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} + +package_php-grpc() { + pkgdesc='gRPC module for PHP' + depends=('grpc' 'php') + backup=('etc/php/conf.d/grpc.ini') + + # Install PHP extension. + cd "$srcdir/$pkgbase-$pkgver/src/php/ext/$pkgbase" + make install "INSTALL_ROOT=$pkgdir" + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE + + # Remove RPATH + chrpath -d "$pkgdir/usr/lib/php/modules/grpc.so" + + echo ';extension=grpc.so' >grpc.ini + install -Dm644 grpc.ini "$pkgdir/etc/php/conf.d/grpc.ini" +} + +package_php7-grpc() { + pkgdesc='gRPC module for PHP' + depends=('grpc' 'php7') + backup=('etc/php7/conf.d/grpc.ini') + + # Install PHP extension. + cd "$srcdir/$pkgbase-$pkgver/src/php7/ext/$pkgbase" + make install "INSTALL_ROOT=$pkgdir" + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE + + # Remove RPATH + chrpath -d "$pkgdir/usr/lib/php7/modules/grpc.so" + + echo ';extension=grpc.so' >grpc.ini + install -Dm644 grpc.ini "$pkgdir/etc/php7/conf.d/grpc.ini" +} + +package_grpc-cli() { + pkgdesc='gRPC protocol buffers cli' + depends=('grpc') + + cd "$srcdir/$pkgbase-$pkgver" + install -dm0755 "$pkgdir/usr/lib" + cp -a build/libgrpc++_test_config.so* "$pkgdir/usr/lib/" + + install -Dm0755 build/grpc_cli "$pkgdir/usr/bin/grpc_cli" + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} Deleted: parse_json-fix-status-error.patch =================================================================== --- parse_json-fix-status-error.patch 2021-07-27 18:52:27 UTC (rev 988023) +++ parse_json-fix-status-error.patch 2021-07-27 18:52:43 UTC (rev 988024) @@ -1,22 +0,0 @@ -From d30b04ed7b53f36fded3f94c32ebaed88cfa1232 Mon Sep 17 00:00:00 2001 -From: Esun Kim <vebl...@google.com> -Date: Wed, 17 Mar 2021 10:00:44 -0700 -Subject: [PATCH] Fix status error (#25731) - ---- - test/cpp/qps/parse_json.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/test/cpp/qps/parse_json.cc b/test/cpp/qps/parse_json.cc -index 8777f171420d..f3ac1052d4d5 100644 ---- a/test/cpp/qps/parse_json.cc -+++ b/test/cpp/qps/parse_json.cc -@@ -34,7 +34,7 @@ void ParseJson(const std::string& json, const std::string& type, - auto status = JsonToBinaryString( - type_resolver.get(), "type.googleapis.com/" + type, json, &binary); - if (!status.ok()) { -- std::string errmsg(status.error_message()); -+ std::string errmsg(status.message()); - gpr_log(GPR_ERROR, "Failed to convert json to binary: errcode=%d msg=%s", - status.code(), errmsg.c_str()); - gpr_log(GPR_ERROR, "JSON: %s", json.c_str()); Copied: grpc/repos/community-x86_64/parse_json-fix-status-error.patch (from rev 988023, grpc/trunk/parse_json-fix-status-error.patch) =================================================================== --- parse_json-fix-status-error.patch (rev 0) +++ parse_json-fix-status-error.patch 2021-07-27 18:52:43 UTC (rev 988024) @@ -0,0 +1,22 @@ +From d30b04ed7b53f36fded3f94c32ebaed88cfa1232 Mon Sep 17 00:00:00 2001 +From: Esun Kim <vebl...@google.com> +Date: Wed, 17 Mar 2021 10:00:44 -0700 +Subject: [PATCH] Fix status error (#25731) + +--- + test/cpp/qps/parse_json.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/cpp/qps/parse_json.cc b/test/cpp/qps/parse_json.cc +index 8777f171420d..f3ac1052d4d5 100644 +--- a/test/cpp/qps/parse_json.cc ++++ b/test/cpp/qps/parse_json.cc +@@ -34,7 +34,7 @@ void ParseJson(const std::string& json, const std::string& type, + auto status = JsonToBinaryString( + type_resolver.get(), "type.googleapis.com/" + type, json, &binary); + if (!status.ok()) { +- std::string errmsg(status.error_message()); ++ std::string errmsg(status.message()); + gpr_log(GPR_ERROR, "Failed to convert json to binary: errcode=%d msg=%s", + status.code(), errmsg.c_str()); + gpr_log(GPR_ERROR, "JSON: %s", json.c_str()); Deleted: python-grpcio-use-system-abseil.patch =================================================================== --- python-grpcio-use-system-abseil.patch 2021-07-27 18:52:27 UTC (rev 988023) +++ python-grpcio-use-system-abseil.patch 2021-07-27 18:52:43 UTC (rev 988024) @@ -1,45 +0,0 @@ -diff -Naur grpc-1.37.0-original/setup.py grpc-1.37.0/setup.py ---- grpc-1.37.0-original/setup.py 2021-04-06 18:48:56.000000000 -0400 -+++ grpc-1.37.0/setup.py 2021-04-08 15:34:35.182802019 -0400 -@@ -28,6 +28,7 @@ - from distutils import util - import os - import os.path -+import pathlib - import pkg_resources - import platform - import re -@@ -154,6 +155,11 @@ - # runtime, the shared library must be installed - BUILD_WITH_SYSTEM_RE2 = _env_bool_value('GRPC_PYTHON_BUILD_SYSTEM_RE2', 'False') - -+# Export this variable to use the system installation of abseil. You need to -+# have the header files installed (in /usr/include/absl) and during -+# runtime, the shared library must be installed -+BUILD_WITH_SYSTEM_ABSL = os.environ.get('GRPC_PYTHON_BUILD_SYSTEM_ABSL', False) -+ - # Export this variable to force building the python extension with a statically linked libstdc++. - # At least on linux, this is normally not needed as we can build manylinux-compatible wheels on linux just fine - # without statically linking libstdc++ (which leads to a slight increase in the wheel size). -@@ -296,6 +302,10 @@ - CORE_C_FILES = filter(lambda x: 'third_party/re2' not in x, CORE_C_FILES) - RE2_INCLUDE = (os.path.join('/usr', 'include', 're2'),) - -+if BUILD_WITH_SYSTEM_ABSL: -+ CORE_C_FILES = filter(lambda x: 'third_party/abseil-cpp' not in x, CORE_C_FILES) -+ ABSL_INCLUDE = (os.path.join('/usr', 'include'),) -+ - EXTENSION_INCLUDE_DIRECTORIES = ((PYTHON_STEM,) + CORE_INCLUDE + ABSL_INCLUDE + - ADDRESS_SORTING_INCLUDE + CARES_INCLUDE + - RE2_INCLUDE + SSL_INCLUDE + UPB_INCLUDE + -@@ -325,6 +335,10 @@ - EXTENSION_LIBRARIES += ('cares',) - if BUILD_WITH_SYSTEM_RE2: - EXTENSION_LIBRARIES += ('re2',) -+if BUILD_WITH_SYSTEM_ABSL: -+ EXTENSION_LIBRARIES += tuple( -+ lib.stem[3:] for lib in pathlib.Path('/usr').glob('lib*/libabsl_*.so') -+ ) - - DEFINE_MACROS = (('_WIN32_WINNT', 0x600),) - asm_files = [] Copied: grpc/repos/community-x86_64/python-grpcio-use-system-abseil.patch (from rev 988023, grpc/trunk/python-grpcio-use-system-abseil.patch) =================================================================== --- python-grpcio-use-system-abseil.patch (rev 0) +++ python-grpcio-use-system-abseil.patch 2021-07-27 18:52:43 UTC (rev 988024) @@ -0,0 +1,45 @@ +diff -Naur grpc-1.37.0-original/setup.py grpc-1.37.0/setup.py +--- grpc-1.37.0-original/setup.py 2021-04-06 18:48:56.000000000 -0400 ++++ grpc-1.37.0/setup.py 2021-04-08 15:34:35.182802019 -0400 +@@ -28,6 +28,7 @@ + from distutils import util + import os + import os.path ++import pathlib + import pkg_resources + import platform + import re +@@ -154,6 +155,11 @@ + # runtime, the shared library must be installed + BUILD_WITH_SYSTEM_RE2 = _env_bool_value('GRPC_PYTHON_BUILD_SYSTEM_RE2', 'False') + ++# Export this variable to use the system installation of abseil. You need to ++# have the header files installed (in /usr/include/absl) and during ++# runtime, the shared library must be installed ++BUILD_WITH_SYSTEM_ABSL = os.environ.get('GRPC_PYTHON_BUILD_SYSTEM_ABSL', False) ++ + # Export this variable to force building the python extension with a statically linked libstdc++. + # At least on linux, this is normally not needed as we can build manylinux-compatible wheels on linux just fine + # without statically linking libstdc++ (which leads to a slight increase in the wheel size). +@@ -296,6 +302,10 @@ + CORE_C_FILES = filter(lambda x: 'third_party/re2' not in x, CORE_C_FILES) + RE2_INCLUDE = (os.path.join('/usr', 'include', 're2'),) + ++if BUILD_WITH_SYSTEM_ABSL: ++ CORE_C_FILES = filter(lambda x: 'third_party/abseil-cpp' not in x, CORE_C_FILES) ++ ABSL_INCLUDE = (os.path.join('/usr', 'include'),) ++ + EXTENSION_INCLUDE_DIRECTORIES = ((PYTHON_STEM,) + CORE_INCLUDE + ABSL_INCLUDE + + ADDRESS_SORTING_INCLUDE + CARES_INCLUDE + + RE2_INCLUDE + SSL_INCLUDE + UPB_INCLUDE + +@@ -325,6 +335,10 @@ + EXTENSION_LIBRARIES += ('cares',) + if BUILD_WITH_SYSTEM_RE2: + EXTENSION_LIBRARIES += ('re2',) ++if BUILD_WITH_SYSTEM_ABSL: ++ EXTENSION_LIBRARIES += tuple( ++ lib.stem[3:] for lib in pathlib.Path('/usr').glob('lib*/libabsl_*.so') ++ ) + + DEFINE_MACROS = (('_WIN32_WINNT', 0x600),) + asm_files = []