summaryrefslogtreecommitdiff
path: root/net-libs/grpc/files/0006-grpc-1.12.1-allow-system-openssl.patch
diff options
context:
space:
mode:
Diffstat (limited to 'net-libs/grpc/files/0006-grpc-1.12.1-allow-system-openssl.patch')
-rw-r--r--net-libs/grpc/files/0006-grpc-1.12.1-allow-system-openssl.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/net-libs/grpc/files/0006-grpc-1.12.1-allow-system-openssl.patch b/net-libs/grpc/files/0006-grpc-1.12.1-allow-system-openssl.patch
new file mode 100644
index 000000000000..61fd830d64d4
--- /dev/null
+++ b/net-libs/grpc/files/0006-grpc-1.12.1-allow-system-openssl.patch
@@ -0,0 +1,65 @@
+From 30ce693621d61efb8596503a0da212077a8c4daa Mon Sep 17 00:00:00 2001
+From: Thomas Bechtold <tbechtold@suse.com>
+Date: Thu, 24 May 2018 17:12:13 +0200
+Subject: [PATCH] Allow building the python module with system openssl
+
+When building the python module and using the new
+GRPC_PYTHON_BUILD_SYSTEM_OPENSSL env variable, the third party
+boringssl code is not compiled. Instead, the openssl shared library
+installed on the system is used during runtime.
+This is useful for distributions who don't want to include code copies
+but use shared libraries instead.
+---
+ setup.py | 17 +++++++++++++++--
+ 1 file changed, 15 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 99d1a1c504e..3a5ed56c641 100644
+--- a/setup.py
++++ b/setup.py
+@@ -35,7 +35,7 @@
+ PY3 = sys.version_info.major == 3
+ PYTHON_STEM = os.path.join('src', 'python', 'grpcio')
+ CORE_INCLUDE = ('include', '.',)
+-BORINGSSL_INCLUDE = (os.path.join('third_party', 'boringssl', 'include'),)
++SSL_INCLUDE = (os.path.join('third_party', 'boringssl', 'include'),)
+ ZLIB_INCLUDE = (os.path.join('third_party', 'zlib'),)
+ CARES_INCLUDE = (
+ os.path.join('third_party', 'cares'),
+@@ -84,6 +84,12 @@
+ # present, then it will still attempt to use Cython.
+ BUILD_WITH_CYTHON = os.environ.get('GRPC_PYTHON_BUILD_WITH_CYTHON', False)
+
++# Export this variable to use the system installation of openssl. You need to
++# have the header files installed (in /usr/include/openssl) and during
++# runtime, the shared libary must be installed
++BUILD_WITH_SYSTEM_OPENSSL = os.environ.get('GRPC_PYTHON_BUILD_SYSTEM_OPENSSL',
++ False)
++
+ # Environment variable to determine whether or not to enable coverage analysis
+ # in Cython modules.
+ ENABLE_CYTHON_TRACING = os.environ.get(
+@@ -148,8 +154,13 @@
+ if "win32" in sys.platform:
+ CORE_C_FILES = filter(lambda x: 'third_party/cares' not in x, CORE_C_FILES)
+
++if BUILD_WITH_SYSTEM_OPENSSL:
++ CORE_C_FILES = filter(lambda x: 'third_party/boringssl' not in x, CORE_C_FILES)
++ CORE_C_FILES = filter(lambda x: 'src/boringssl' not in x, CORE_C_FILES)
++ SSL_INCLUDE = (os.path.join('/usr', 'include', 'openssl'),)
++
+ EXTENSION_INCLUDE_DIRECTORIES = (
+- (PYTHON_STEM,) + CORE_INCLUDE + BORINGSSL_INCLUDE + ZLIB_INCLUDE +
++ (PYTHON_STEM,) + CORE_INCLUDE + SSL_INCLUDE + ZLIB_INCLUDE +
+ CARES_INCLUDE + ADDRESS_SORTING_INCLUDE)
+
+ EXTENSION_LIBRARIES = ()
+@@ -159,6 +170,8 @@
+ EXTENSION_LIBRARIES += ('m',)
+ if "win32" in sys.platform:
+ EXTENSION_LIBRARIES += ('advapi32', 'ws2_32',)
++if BUILD_WITH_SYSTEM_OPENSSL:
++ EXTENSION_LIBRARIES += ('ssl', 'crypto',)
+
+ DEFINE_MACROS = (
+ ('OPENSSL_NO_ASM', 1), ('_WIN32_WINNT', 0x600),