diff options
author | Khem Raj <raj.khem@gmail.com> | 2020-02-12 21:55:19 -0800 |
---|---|---|
committer | Tim Orling <ticotimo@gmail.com> | 2020-02-14 07:25:51 -0800 |
commit | 2c4413b62b7283def2edcda2e1bd0be36bbd5096 (patch) | |
tree | cfba4a64db9dc5725048d551a1c00371b8342ded | |
parent | ac385337b357ace532bbdf24fc4ff09e7b29f4b6 (diff) | |
download | meta-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.patch | 44 | ||||
-rw-r--r-- | recipes-devtools/python/python-grpcio/gettid.patch | 26 | ||||
-rw-r--r-- | recipes-devtools/python/python-grpcio/ppc-boringssl-support.patch | 2 | ||||
-rw-r--r-- | recipes-devtools/python/python-grpcio/riscv64_support.patch | 2 | ||||
-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" - |