mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-05 02:50:46 +00:00
python3-grpcio: Upgrade to 1.27.1
Merge inc file into bb, there are no other users of it 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>
This commit is contained in:
-40
@@ -1,40 +0,0 @@
|
||||
From b02be74a2eff8abc612ef84f30e0fbce6a7f65f5 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 4 Aug 2017 09:04:07 -0700
|
||||
Subject: [PATCH] setup.py: Do not mix C and C++ compiler options
|
||||
|
||||
EXTRA_ENV_COMPILE_ARGS is used both with CC and CXX
|
||||
so using -std=c++11 or -std=gnu99 together will cause
|
||||
build time errors espcially with clang
|
||||
|
||||
error: invalid argument '-std=gnu99' not allowed with 'C++'
|
||||
|
||||
gcc7 ( defaults are -std=gnu11 and -std=gnu++14 )
|
||||
as well clang default to these standards mode or newer
|
||||
anyway
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
setup.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -145,7 +145,7 @@ ENABLE_DOCUMENTATION_BUILD = os.environ.
|
||||
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'
|
||||
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'
|
||||
@@ -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, ...) {
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
From b02be74a2eff8abc612ef84f30e0fbce6a7f65f5 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 4 Aug 2017 09:04:07 -0700
|
||||
Subject: [PATCH] setup.py: Do not mix C and C++ compiler options
|
||||
|
||||
EXTRA_ENV_COMPILE_ARGS is used both with CC and CXX
|
||||
so using -std=c++11 or -std=gnu99 together will cause
|
||||
build time errors espcially with clang
|
||||
|
||||
error: invalid argument '-std=gnu99' not allowed with 'C++'
|
||||
|
||||
gcc7 ( defaults are -std=gnu11 and -std=gnu++14 )
|
||||
as well clang default to these standards mode or newer
|
||||
anyway
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
setup.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -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:
|
||||
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 += ' -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)
|
||||
+1
-1
@@ -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
|
||||
+1
-1
@@ -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
|
||||
@@ -1,2 +0,0 @@
|
||||
inherit setuptools3
|
||||
require python-grpcio.inc
|
||||
+7
-9
@@ -1,29 +1,27 @@
|
||||
DESCRIPTION = "Google gRPC"
|
||||
HOMEPAGE = "http://www.grpc.io/"
|
||||
SECTION = "devel/python"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
|
||||
|
||||
DEPENDS_append = "${PYTHON_PN}-protobuf"
|
||||
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/python-grpcio:"
|
||||
DEPENDS += "${PYTHON_PN}-protobuf"
|
||||
|
||||
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"
|
||||
|
||||
RDEPENDS_${PN} = "${PYTHON_PN}-protobuf \
|
||||
${PYTHON_PN}-setuptools \
|
||||
${PYTHON_PN}-six \
|
||||
"
|
||||
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
|
||||
|
||||
inherit setuptools3
|
||||
inherit pypi
|
||||
|
||||
SRC_URI[md5sum] = "188565f150f34d1927b87e014f0f4b73"
|
||||
SRC_URI[sha256sum] = "2ddbca16c2e7b3f2ffc6e34c7cfa6886fb01de9f156ad3f77b72ad652d632097"
|
||||
export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY = "1"
|
||||
|
||||
CLEANBROKEN = "1"
|
||||
|
||||
Reference in New Issue
Block a user