grpc/grpc-1.37.0-python-grpcio-use-system-abseil.patch
Benjamin A. Beasley ce88e01640 New version 1.37.1
- General:
  * New version 1.37.1
  * Drop patches that were upstreamed since the last packaged release, were
    backported from upstream in the first place, or have otherwise been
    obsoleted by upstream changes.
  * Rebase/update remaining patches as needed
  * Drop Fedora 32 compatibility
- C (core) and C++ (cpp):
  * Switch to CMake build system and add CMake files to -devel package
  * Build with C++17 for compatibility with the abseil-cpp package in Fedora
  * Run the port server during core tests
2021-05-11 08:57:48 -04:00

46 lines
1.9 KiB
Diff

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 = []