aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2020-02-12 21:55:19 -0800
committerTim Orling <ticotimo@gmail.com>2020-02-14 07:25:51 -0800
commit2c4413b62b7283def2edcda2e1bd0be36bbd5096 (patch)
treecfba4a64db9dc5725048d551a1c00371b8342ded
parentac385337b357ace532bbdf24fc4ff09e7b29f4b6 (diff)
downloadmeta-python2-2c4413b62b7283def2edcda2e1bd0be36bbd5096.tar.gz
python-grpcio: Upgrade to 1.27.1
Delete gettid patch, fixed differenty upstream Add code to use cross compiler in setup.py Define GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY so it does not use SYS_clock_gettime syscalls since it does not work when 64bit time_t is used on 32bit arches Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Tim Orling <ticotimo@gmail.com>
-rw-r--r--recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch44
-rw-r--r--recipes-devtools/python/python-grpcio/gettid.patch26
-rw-r--r--recipes-devtools/python/python-grpcio/ppc-boringssl-support.patch2
-rw-r--r--recipes-devtools/python/python-grpcio/riscv64_support.patch2
-rw-r--r--recipes-devtools/python/python-grpcio_1.27.1.bb (renamed from recipes-devtools/python/python-grpcio_1.19.0.bb)11
5 files changed, 40 insertions, 45 deletions
diff --git a/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch b/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
index f17f048..131daac 100644
--- a/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
+++ b/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
@@ -20,21 +20,45 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/setup.py
+++ b/setup.py
-@@ -145,7 +145,7 @@ ENABLE_DOCUMENTATION_BUILD = os.environ.
+@@ -144,9 +144,10 @@ ENABLE_DOCUMENTATION_BUILD = os.environ.
+
+ def check_linker_need_libatomic():
+ """Test if linker on system needs libatomic."""
++ compiler, cc_args = os.environ.get('CC').split(' ', 1) or 'cc'
+ code_test = (b'#include <atomic>\n' +
+ b'int main() { return std::atomic<int64_t>{}; }')
+- cc_test = subprocess.Popen(['cc', '-x', 'c++', '-std=c++11', '-'],
++ cc_test = subprocess.Popen([compiler, cc_args, '-x', 'c++', '-std=c++11', '-'],
+ stdin=PIPE,
+ stdout=PIPE,
+ stderr=PIPE)
+@@ -163,7 +164,7 @@ def check_linker_need_libatomic():
EXTRA_ENV_COMPILE_ARGS = os.environ.get('GRPC_PYTHON_CFLAGS', None)
EXTRA_ENV_LINK_ARGS = os.environ.get('GRPC_PYTHON_LDFLAGS', None)
if EXTRA_ENV_COMPILE_ARGS is None:
- EXTRA_ENV_COMPILE_ARGS = ' -std=c++11'
-+ EXTRA_ENV_COMPILE_ARGS = ""
- if 'win32' in sys.platform and sys.version_info < (3, 5):
- EXTRA_ENV_COMPILE_ARGS += ' -D_hypot=hypot'
- # We use define flags here and don't directly add to DEFINE_MACROS below to
-@@ -157,7 +157,7 @@ if EXTRA_ENV_COMPILE_ARGS is None:
- else:
- EXTRA_ENV_COMPILE_ARGS += ' -D_ftime=_ftime64 -D_timeb=__timeb64'
++ EXTRA_ENV_COMPILE_ARGS = ' '
+ if 'win32' in sys.platform:
+ if sys.version_info < (3, 5):
+ EXTRA_ENV_COMPILE_ARGS += ' -D_hypot=hypot'
+@@ -180,7 +181,7 @@ if EXTRA_ENV_COMPILE_ARGS is None:
+ # available dynamically
+ EXTRA_ENV_COMPILE_ARGS += ' /MT'
elif "linux" in sys.platform:
- EXTRA_ENV_COMPILE_ARGS += ' -std=gnu99 -fvisibility=hidden -fno-wrapv -fno-exceptions'
+ EXTRA_ENV_COMPILE_ARGS += ' -fvisibility=hidden -fno-wrapv -fno-exceptions'
elif "darwin" in sys.platform:
- EXTRA_ENV_COMPILE_ARGS += ' -fvisibility=hidden -fno-wrapv -fno-exceptions'
- EXTRA_ENV_COMPILE_ARGS += ' -DPB_FIELD_32BIT'
+ EXTRA_ENV_COMPILE_ARGS += ' -stdlib=libc++ -fvisibility=hidden -fno-wrapv -fno-exceptions'
+
+--- a/src/python/grpcio/commands.py
++++ b/src/python/grpcio/commands.py
+@@ -216,7 +216,8 @@ class BuildExt(build_ext.build_ext):
+ when invoked in C mode. GCC is okay with this, while clang is not.
+ """
+ # TODO(lidiz) Remove the generated a.out for success tests.
+- cc_test = subprocess.Popen(['cc', '-x', 'c', '-std=c++11', '-'],
++ compiler, cc_args = os.environ.get('CC').split(' ', 1) or 'cc'
++ cc_test = subprocess.Popen([compiler, cc_args, '-x', 'c', '-std=c++11', '-'],
+ stdin=subprocess.PIPE,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
diff --git a/recipes-devtools/python/python-grpcio/gettid.patch b/recipes-devtools/python/python-grpcio/gettid.patch
deleted file mode 100644
index fb15cf7..0000000
--- a/recipes-devtools/python/python-grpcio/gettid.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-use glibc provided gettid API for glibc 2.30+
-
-glibc 2.30 introduced this function see [1]
-so it's best to detect it
-and provide fallback only if it's not present
-
-[1] https://sourceware.org/bugzilla/show_bug.cgi?id=6399
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/src/core/lib/gpr/log_linux.cc
-+++ b/src/core/lib/gpr/log_linux.cc
-@@ -40,7 +40,13 @@
- #include <time.h>
- #include <unistd.h>
-
-+#if defined(__GLIBC__)
-+#if !__GLIBC_PREREQ(2,29)
- static long gettid(void) { return syscall(__NR_gettid); }
-+#endif
-+#else
-+static long gettid(void) { return syscall(__NR_gettid); }
-+#endif
-
- void gpr_log(const char* file, int line, gpr_log_severity severity,
- const char* format, ...) {
diff --git a/recipes-devtools/python/python-grpcio/ppc-boringssl-support.patch b/recipes-devtools/python/python-grpcio/ppc-boringssl-support.patch
index 6435abb..8ac2aef 100644
--- a/recipes-devtools/python/python-grpcio/ppc-boringssl-support.patch
+++ b/recipes-devtools/python/python-grpcio/ppc-boringssl-support.patch
@@ -5,7 +5,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/third_party/boringssl/include/openssl/base.h
+++ b/third_party/boringssl/include/openssl/base.h
-@@ -95,6 +95,9 @@ extern "C" {
+@@ -99,6 +99,9 @@ extern "C" {
#elif (defined(__PPC64__) || defined(__powerpc64__)) && defined(_LITTLE_ENDIAN)
#define OPENSSL_64_BIT
#define OPENSSL_PPC64LE
diff --git a/recipes-devtools/python/python-grpcio/riscv64_support.patch b/recipes-devtools/python/python-grpcio/riscv64_support.patch
index fef7d9e..b55d50b 100644
--- a/recipes-devtools/python/python-grpcio/riscv64_support.patch
+++ b/recipes-devtools/python/python-grpcio/riscv64_support.patch
@@ -4,7 +4,7 @@ Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/third_party/boringssl/include/openssl/base.h
+++ b/third_party/boringssl/include/openssl/base.h
-@@ -104,6 +104,9 @@ extern "C" {
+@@ -108,6 +108,9 @@ extern "C" {
#elif defined(__mips__) && defined(__LP64__)
#define OPENSSL_64_BIT
#define OPENSSL_MIPS64
diff --git a/recipes-devtools/python/python-grpcio_1.19.0.bb b/recipes-devtools/python/python-grpcio_1.27.1.bb
index 8a5f71a..6768e7e 100644
--- a/recipes-devtools/python/python-grpcio_1.19.0.bb
+++ b/recipes-devtools/python/python-grpcio_1.27.1.bb
@@ -5,16 +5,12 @@ SECTION = "devel/python"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-SRC_URI[md5sum] = "188565f150f34d1927b87e014f0f4b73"
-SRC_URI[sha256sum] = "2ddbca16c2e7b3f2ffc6e34c7cfa6886fb01de9f156ad3f77b72ad652d632097"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/python-grpcio:"
-
SRC_URI_append_class-target = " file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch \
file://ppc-boringssl-support.patch \
file://riscv64_support.patch \
- file://gettid.patch \
"
+SRC_URI[md5sum] = "ccaf4e7eb4f031d926fb80035d193b98"
+SRC_URI[sha256sum] = "a899725d34769a498ecd3be154021c4368dd22bdc69473f6ec46779696f626c4"
DEPENDS_append = " ${PYTHON_PN}-protobuf"
@@ -28,7 +24,8 @@ RDEPENDS_${PN} = "\
python-futures \
"
+export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY = "1"
+
CLEANBROKEN = "1"
BBCLASSEXTEND = "native nativesdk"
-