summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2020-02-12 18:12:28 -0800
committerKhem Raj <raj.khem@gmail.com>2020-02-13 14:07:47 -0800
commit115144fce9d97143bcb77ee4bdab5b19e61f6f82 (patch)
tree38c854368c417f720a33f65fa11d6927992a971c
parent0b7e50f7be5d639250f05a694272977216e7f7dd (diff)
downloadmeta-openembedded-115144fce9d97143bcb77ee4bdab5b19e61f6f82.tar.gz
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>
-rw-r--r--meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch40
-rw-r--r--meta-python/recipes-devtools/python/python-grpcio/gettid.patch26
-rw-r--r--meta-python/recipes-devtools/python/python3-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch64
-rw-r--r--meta-python/recipes-devtools/python/python3-grpcio/ppc-boringssl-support.patch (renamed from meta-python/recipes-devtools/python/python-grpcio/ppc-boringssl-support.patch)2
-rw-r--r--meta-python/recipes-devtools/python/python3-grpcio/riscv64_support.patch (renamed from meta-python/recipes-devtools/python/python-grpcio/riscv64_support.patch)2
-rw-r--r--meta-python/recipes-devtools/python/python3-grpcio_1.19.0.bb2
-rw-r--r--meta-python/recipes-devtools/python/python3-grpcio_1.27.1.bb (renamed from meta-python/recipes-devtools/python/python-grpcio.inc)16
7 files changed, 73 insertions, 79 deletions
diff --git a/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch b/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
deleted file mode 100644
index f17f048de8..0000000000
--- a/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
+++ /dev/null
@@ -1,40 +0,0 @@
1From b02be74a2eff8abc612ef84f30e0fbce6a7f65f5 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 4 Aug 2017 09:04:07 -0700
4Subject: [PATCH] setup.py: Do not mix C and C++ compiler options
5
6EXTRA_ENV_COMPILE_ARGS is used both with CC and CXX
7so using -std=c++11 or -std=gnu99 together will cause
8build time errors espcially with clang
9
10error: invalid argument '-std=gnu99' not allowed with 'C++'
11
12gcc7 ( defaults are -std=gnu11 and -std=gnu++14 )
13 as well clang default to these standards mode or newer
14anyway
15
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17---
18 setup.py | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21--- a/setup.py
22+++ b/setup.py
23@@ -145,7 +145,7 @@ ENABLE_DOCUMENTATION_BUILD = os.environ.
24 EXTRA_ENV_COMPILE_ARGS = os.environ.get('GRPC_PYTHON_CFLAGS', None)
25 EXTRA_ENV_LINK_ARGS = os.environ.get('GRPC_PYTHON_LDFLAGS', None)
26 if EXTRA_ENV_COMPILE_ARGS is None:
27- EXTRA_ENV_COMPILE_ARGS = ' -std=c++11'
28+ EXTRA_ENV_COMPILE_ARGS = ""
29 if 'win32' in sys.platform and sys.version_info < (3, 5):
30 EXTRA_ENV_COMPILE_ARGS += ' -D_hypot=hypot'
31 # We use define flags here and don't directly add to DEFINE_MACROS below to
32@@ -157,7 +157,7 @@ if EXTRA_ENV_COMPILE_ARGS is None:
33 else:
34 EXTRA_ENV_COMPILE_ARGS += ' -D_ftime=_ftime64 -D_timeb=__timeb64'
35 elif "linux" in sys.platform:
36- EXTRA_ENV_COMPILE_ARGS += ' -std=gnu99 -fvisibility=hidden -fno-wrapv -fno-exceptions'
37+ EXTRA_ENV_COMPILE_ARGS += ' -fvisibility=hidden -fno-wrapv -fno-exceptions'
38 elif "darwin" in sys.platform:
39 EXTRA_ENV_COMPILE_ARGS += ' -fvisibility=hidden -fno-wrapv -fno-exceptions'
40 EXTRA_ENV_COMPILE_ARGS += ' -DPB_FIELD_32BIT'
diff --git a/meta-python/recipes-devtools/python/python-grpcio/gettid.patch b/meta-python/recipes-devtools/python/python-grpcio/gettid.patch
deleted file mode 100644
index fb15cf7f96..0000000000
--- a/meta-python/recipes-devtools/python/python-grpcio/gettid.patch
+++ /dev/null
@@ -1,26 +0,0 @@
1use glibc provided gettid API for glibc 2.30+
2
3glibc 2.30 introduced this function see [1]
4so it's best to detect it
5and provide fallback only if it's not present
6
7[1] https://sourceware.org/bugzilla/show_bug.cgi?id=6399
8
9Upstream-Status: Pending
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11--- a/src/core/lib/gpr/log_linux.cc
12+++ b/src/core/lib/gpr/log_linux.cc
13@@ -40,7 +40,13 @@
14 #include <time.h>
15 #include <unistd.h>
16
17+#if defined(__GLIBC__)
18+#if !__GLIBC_PREREQ(2,29)
19 static long gettid(void) { return syscall(__NR_gettid); }
20+#endif
21+#else
22+static long gettid(void) { return syscall(__NR_gettid); }
23+#endif
24
25 void gpr_log(const char* file, int line, gpr_log_severity severity,
26 const char* format, ...) {
diff --git a/meta-python/recipes-devtools/python/python3-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch b/meta-python/recipes-devtools/python/python3-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
new file mode 100644
index 0000000000..131daace06
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
@@ -0,0 +1,64 @@
1From b02be74a2eff8abc612ef84f30e0fbce6a7f65f5 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 4 Aug 2017 09:04:07 -0700
4Subject: [PATCH] setup.py: Do not mix C and C++ compiler options
5
6EXTRA_ENV_COMPILE_ARGS is used both with CC and CXX
7so using -std=c++11 or -std=gnu99 together will cause
8build time errors espcially with clang
9
10error: invalid argument '-std=gnu99' not allowed with 'C++'
11
12gcc7 ( defaults are -std=gnu11 and -std=gnu++14 )
13 as well clang default to these standards mode or newer
14anyway
15
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17---
18 setup.py | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21--- a/setup.py
22+++ b/setup.py
23@@ -144,9 +144,10 @@ ENABLE_DOCUMENTATION_BUILD = os.environ.
24
25 def check_linker_need_libatomic():
26 """Test if linker on system needs libatomic."""
27+ compiler, cc_args = os.environ.get('CC').split(' ', 1) or 'cc'
28 code_test = (b'#include <atomic>\n' +
29 b'int main() { return std::atomic<int64_t>{}; }')
30- cc_test = subprocess.Popen(['cc', '-x', 'c++', '-std=c++11', '-'],
31+ cc_test = subprocess.Popen([compiler, cc_args, '-x', 'c++', '-std=c++11', '-'],
32 stdin=PIPE,
33 stdout=PIPE,
34 stderr=PIPE)
35@@ -163,7 +164,7 @@ def check_linker_need_libatomic():
36 EXTRA_ENV_COMPILE_ARGS = os.environ.get('GRPC_PYTHON_CFLAGS', None)
37 EXTRA_ENV_LINK_ARGS = os.environ.get('GRPC_PYTHON_LDFLAGS', None)
38 if EXTRA_ENV_COMPILE_ARGS is None:
39- EXTRA_ENV_COMPILE_ARGS = ' -std=c++11'
40+ EXTRA_ENV_COMPILE_ARGS = ' '
41 if 'win32' in sys.platform:
42 if sys.version_info < (3, 5):
43 EXTRA_ENV_COMPILE_ARGS += ' -D_hypot=hypot'
44@@ -180,7 +181,7 @@ if EXTRA_ENV_COMPILE_ARGS is None:
45 # available dynamically
46 EXTRA_ENV_COMPILE_ARGS += ' /MT'
47 elif "linux" in sys.platform:
48- EXTRA_ENV_COMPILE_ARGS += ' -std=gnu99 -fvisibility=hidden -fno-wrapv -fno-exceptions'
49+ EXTRA_ENV_COMPILE_ARGS += ' -fvisibility=hidden -fno-wrapv -fno-exceptions'
50 elif "darwin" in sys.platform:
51 EXTRA_ENV_COMPILE_ARGS += ' -stdlib=libc++ -fvisibility=hidden -fno-wrapv -fno-exceptions'
52
53--- a/src/python/grpcio/commands.py
54+++ b/src/python/grpcio/commands.py
55@@ -216,7 +216,8 @@ class BuildExt(build_ext.build_ext):
56 when invoked in C mode. GCC is okay with this, while clang is not.
57 """
58 # TODO(lidiz) Remove the generated a.out for success tests.
59- cc_test = subprocess.Popen(['cc', '-x', 'c', '-std=c++11', '-'],
60+ compiler, cc_args = os.environ.get('CC').split(' ', 1) or 'cc'
61+ cc_test = subprocess.Popen([compiler, cc_args, '-x', 'c', '-std=c++11', '-'],
62 stdin=subprocess.PIPE,
63 stdout=subprocess.PIPE,
64 stderr=subprocess.PIPE)
diff --git a/meta-python/recipes-devtools/python/python-grpcio/ppc-boringssl-support.patch b/meta-python/recipes-devtools/python/python3-grpcio/ppc-boringssl-support.patch
index 6435abbe6d..8ac2aef8c4 100644
--- a/meta-python/recipes-devtools/python/python-grpcio/ppc-boringssl-support.patch
+++ b/meta-python/recipes-devtools/python/python3-grpcio/ppc-boringssl-support.patch
@@ -5,7 +5,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
5 5
6--- a/third_party/boringssl/include/openssl/base.h 6--- a/third_party/boringssl/include/openssl/base.h
7+++ b/third_party/boringssl/include/openssl/base.h 7+++ b/third_party/boringssl/include/openssl/base.h
8@@ -95,6 +95,9 @@ extern "C" { 8@@ -99,6 +99,9 @@ extern "C" {
9 #elif (defined(__PPC64__) || defined(__powerpc64__)) && defined(_LITTLE_ENDIAN) 9 #elif (defined(__PPC64__) || defined(__powerpc64__)) && defined(_LITTLE_ENDIAN)
10 #define OPENSSL_64_BIT 10 #define OPENSSL_64_BIT
11 #define OPENSSL_PPC64LE 11 #define OPENSSL_PPC64LE
diff --git a/meta-python/recipes-devtools/python/python-grpcio/riscv64_support.patch b/meta-python/recipes-devtools/python/python3-grpcio/riscv64_support.patch
index fef7d9e757..b55d50bde5 100644
--- a/meta-python/recipes-devtools/python/python-grpcio/riscv64_support.patch
+++ b/meta-python/recipes-devtools/python/python3-grpcio/riscv64_support.patch
@@ -4,7 +4,7 @@ Upstream-Status: Pending
4Signed-off-by: Khem Raj <raj.khem@gmail.com> 4Signed-off-by: Khem Raj <raj.khem@gmail.com>
5--- a/third_party/boringssl/include/openssl/base.h 5--- a/third_party/boringssl/include/openssl/base.h
6+++ b/third_party/boringssl/include/openssl/base.h 6+++ b/third_party/boringssl/include/openssl/base.h
7@@ -104,6 +104,9 @@ extern "C" { 7@@ -108,6 +108,9 @@ extern "C" {
8 #elif defined(__mips__) && defined(__LP64__) 8 #elif defined(__mips__) && defined(__LP64__)
9 #define OPENSSL_64_BIT 9 #define OPENSSL_64_BIT
10 #define OPENSSL_MIPS64 10 #define OPENSSL_MIPS64
diff --git a/meta-python/recipes-devtools/python/python3-grpcio_1.19.0.bb b/meta-python/recipes-devtools/python/python3-grpcio_1.19.0.bb
deleted file mode 100644
index d4720b4b80..0000000000
--- a/meta-python/recipes-devtools/python/python3-grpcio_1.19.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
1inherit setuptools3
2require python-grpcio.inc
diff --git a/meta-python/recipes-devtools/python/python-grpcio.inc b/meta-python/recipes-devtools/python/python3-grpcio_1.27.1.bb
index c5762b26b2..bc2b70cf87 100644
--- a/meta-python/recipes-devtools/python/python-grpcio.inc
+++ b/meta-python/recipes-devtools/python/python3-grpcio_1.27.1.bb
@@ -1,29 +1,27 @@
1DESCRIPTION = "Google gRPC" 1DESCRIPTION = "Google gRPC"
2HOMEPAGE = "http://www.grpc.io/" 2HOMEPAGE = "http://www.grpc.io/"
3SECTION = "devel/python" 3SECTION = "devel/python"
4LICENSE = "Apache-2.0"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
4 6
5DEPENDS_append = "${PYTHON_PN}-protobuf" 7DEPENDS += "${PYTHON_PN}-protobuf"
6
7FILESEXTRAPATHS_prepend := "${THISDIR}/python-grpcio:"
8 8
9SRC_URI_append_class-target = " file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch \ 9SRC_URI_append_class-target = " file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch \
10 file://ppc-boringssl-support.patch \ 10 file://ppc-boringssl-support.patch \
11 file://riscv64_support.patch \ 11 file://riscv64_support.patch \
12 file://gettid.patch \
13" 12"
13SRC_URI[md5sum] = "ccaf4e7eb4f031d926fb80035d193b98"
14SRC_URI[sha256sum] = "a899725d34769a498ecd3be154021c4368dd22bdc69473f6ec46779696f626c4"
14 15
15RDEPENDS_${PN} = "${PYTHON_PN}-protobuf \ 16RDEPENDS_${PN} = "${PYTHON_PN}-protobuf \
16 ${PYTHON_PN}-setuptools \ 17 ${PYTHON_PN}-setuptools \
17 ${PYTHON_PN}-six \ 18 ${PYTHON_PN}-six \
18" 19"
19 20
20LICENSE = "Apache-2.0" 21inherit setuptools3
21LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
22
23inherit pypi 22inherit pypi
24 23
25SRC_URI[md5sum] = "188565f150f34d1927b87e014f0f4b73" 24export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY = "1"
26SRC_URI[sha256sum] = "2ddbca16c2e7b3f2ffc6e34c7cfa6886fb01de9f156ad3f77b72ad652d632097"
27 25
28CLEANBROKEN = "1" 26CLEANBROKEN = "1"
29 27