diff options
author | Khem Raj <raj.khem@gmail.com> | 2020-02-12 18:12:28 -0800 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2020-02-13 14:07:47 -0800 |
commit | 115144fce9d97143bcb77ee4bdab5b19e61f6f82 (patch) | |
tree | 38c854368c417f720a33f65fa11d6927992a971c | |
parent | 0b7e50f7be5d639250f05a694272977216e7f7dd (diff) | |
download | meta-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.patch | 40 | ||||
-rw-r--r-- | meta-python/recipes-devtools/python/python-grpcio/gettid.patch | 26 | ||||
-rw-r--r-- | meta-python/recipes-devtools/python/python3-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch | 64 | ||||
-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.bb | 2 | ||||
-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 @@ | |||
1 | From b02be74a2eff8abc612ef84f30e0fbce6a7f65f5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Fri, 4 Aug 2017 09:04:07 -0700 | ||
4 | Subject: [PATCH] setup.py: Do not mix C and C++ compiler options | ||
5 | |||
6 | EXTRA_ENV_COMPILE_ARGS is used both with CC and CXX | ||
7 | so using -std=c++11 or -std=gnu99 together will cause | ||
8 | build time errors espcially with clang | ||
9 | |||
10 | error: invalid argument '-std=gnu99' not allowed with 'C++' | ||
11 | |||
12 | gcc7 ( defaults are -std=gnu11 and -std=gnu++14 ) | ||
13 | as well clang default to these standards mode or newer | ||
14 | anyway | ||
15 | |||
16 | Signed-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 @@ | |||
1 | use glibc provided gettid API for glibc 2.30+ | ||
2 | |||
3 | glibc 2.30 introduced this function see [1] | ||
4 | so it's best to detect it | ||
5 | and provide fallback only if it's not present | ||
6 | |||
7 | [1] https://sourceware.org/bugzilla/show_bug.cgi?id=6399 | ||
8 | |||
9 | Upstream-Status: Pending | ||
10 | Signed-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 @@ | |||
1 | From b02be74a2eff8abc612ef84f30e0fbce6a7f65f5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Fri, 4 Aug 2017 09:04:07 -0700 | ||
4 | Subject: [PATCH] setup.py: Do not mix C and C++ compiler options | ||
5 | |||
6 | EXTRA_ENV_COMPILE_ARGS is used both with CC and CXX | ||
7 | so using -std=c++11 or -std=gnu99 together will cause | ||
8 | build time errors espcially with clang | ||
9 | |||
10 | error: invalid argument '-std=gnu99' not allowed with 'C++' | ||
11 | |||
12 | gcc7 ( defaults are -std=gnu11 and -std=gnu++14 ) | ||
13 | as well clang default to these standards mode or newer | ||
14 | anyway | ||
15 | |||
16 | Signed-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 | |||
4 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 4 | Signed-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 @@ | |||
1 | inherit setuptools3 | ||
2 | require 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 @@ | |||
1 | DESCRIPTION = "Google gRPC" | 1 | DESCRIPTION = "Google gRPC" |
2 | HOMEPAGE = "http://www.grpc.io/" | 2 | HOMEPAGE = "http://www.grpc.io/" |
3 | SECTION = "devel/python" | 3 | SECTION = "devel/python" |
4 | LICENSE = "Apache-2.0" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" | ||
4 | 6 | ||
5 | DEPENDS_append = "${PYTHON_PN}-protobuf" | 7 | DEPENDS += "${PYTHON_PN}-protobuf" |
6 | |||
7 | FILESEXTRAPATHS_prepend := "${THISDIR}/python-grpcio:" | ||
8 | 8 | ||
9 | SRC_URI_append_class-target = " file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch \ | 9 | SRC_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 | " |
13 | SRC_URI[md5sum] = "ccaf4e7eb4f031d926fb80035d193b98" | ||
14 | SRC_URI[sha256sum] = "a899725d34769a498ecd3be154021c4368dd22bdc69473f6ec46779696f626c4" | ||
14 | 15 | ||
15 | RDEPENDS_${PN} = "${PYTHON_PN}-protobuf \ | 16 | RDEPENDS_${PN} = "${PYTHON_PN}-protobuf \ |
16 | ${PYTHON_PN}-setuptools \ | 17 | ${PYTHON_PN}-setuptools \ |
17 | ${PYTHON_PN}-six \ | 18 | ${PYTHON_PN}-six \ |
18 | " | 19 | " |
19 | 20 | ||
20 | LICENSE = "Apache-2.0" | 21 | inherit setuptools3 |
21 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" | ||
22 | |||
23 | inherit pypi | 22 | inherit pypi |
24 | 23 | ||
25 | SRC_URI[md5sum] = "188565f150f34d1927b87e014f0f4b73" | 24 | export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY = "1" |
26 | SRC_URI[sha256sum] = "2ddbca16c2e7b3f2ffc6e34c7cfa6886fb01de9f156ad3f77b72ad652d632097" | ||
27 | 25 | ||
28 | CLEANBROKEN = "1" | 26 | CLEANBROKEN = "1" |
29 | 27 | ||