Changeset View
Changeset View
Standalone View
Standalone View
files/python-grpcio-use-system-abseil.patch
- This file was added.
| 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 = [] | |||||
Copyright © 2015-2021 Solus Project. The Solus logo is Copyright © 2016-2021 Solus Project. All Rights Reserved.