From aece5d2a4da7555f3e9bdd6e5973a8f8c79af5bc Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 20 Oct 2023 23:51:22 +0100 Subject: dev-python/grpcio{,-tools} : import from gentoo, version bump, cython3 compat --- dev-python/grpcio/Manifest | 1 + dev-python/grpcio/files/1.59.0-cython3.patch | 59 ++++++++++++++++++++++++++++ dev-python/grpcio/grpcio-1.59.0.ebuild | 49 +++++++++++++++++++++++ 3 files changed, 109 insertions(+) create mode 100644 dev-python/grpcio/Manifest create mode 100644 dev-python/grpcio/files/1.59.0-cython3.patch create mode 100644 dev-python/grpcio/grpcio-1.59.0.ebuild (limited to 'dev-python/grpcio') diff --git a/dev-python/grpcio/Manifest b/dev-python/grpcio/Manifest new file mode 100644 index 00000000..c53eb55d --- /dev/null +++ b/dev-python/grpcio/Manifest @@ -0,0 +1 @@ +DIST grpcio-1.59.0.tar.gz 24842974 BLAKE2B d883d9800f5b2025774c37a6c076500e113121b7e1254368d9c4b95c1170593969af4568492744527f909f828121630dd870210d2e2de718ba907be09f9b826b SHA512 1b345c2b87593934aa15e8019d858c6f7000d3e66ffd20ae538028aa109d8553ccff819ad8796b19c51d647851139d13b9158c9f2639b0b9506347ceff646637 diff --git a/dev-python/grpcio/files/1.59.0-cython3.patch b/dev-python/grpcio/files/1.59.0-cython3.patch new file mode 100644 index 00000000..67834966 --- /dev/null +++ b/dev-python/grpcio/files/1.59.0-cython3.patch @@ -0,0 +1,59 @@ +diff -Nur a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi +--- a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi 2023-09-29 00:27:01.000000000 +0100 ++++ b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi 2023-10-20 23:32:19.961712516 +0100 +@@ -48,7 +48,7 @@ + @staticmethod + cdef void functor_run( + grpc_completion_queue_functor* functor, +- int succeed) ++ int succeed) noexcept + + cdef grpc_completion_queue_functor *c_functor(self) + +diff -Nur a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi +--- a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi 2023-09-29 00:27:01.000000000 +0100 ++++ b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi 2023-10-20 23:32:19.961712516 +0100 +@@ -50,7 +50,7 @@ + @staticmethod + cdef void functor_run( + grpc_completion_queue_functor* functor, +- int success): ++ int success) noexcept: + cdef CallbackContext *context = functor + cdef object waiter = context.waiter + if not waiter.cancelled(): +diff -Nur a/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi +--- a/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi 2023-09-29 00:27:01.000000000 +0100 ++++ b/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi 2023-10-20 23:39:10.583700341 +0100 +@@ -314,7 +314,7 @@ + return credentials + + cdef grpc_ssl_certificate_config_reload_status _server_cert_config_fetcher_wrapper( +- void* user_data, grpc_ssl_server_certificate_config **config) with gil: ++ void* user_data, grpc_ssl_server_certificate_config **config) noexcept with gil: + # This is a credentials.ServerCertificateConfig + cdef ServerCertificateConfig cert_config = None + if not user_data: +diff -Nur a/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi +--- a/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi 2023-09-29 00:27:01.000000000 +0100 ++++ b/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi 2023-10-20 23:32:19.960712516 +0100 +@@ -13,16 +13,16 @@ + # limitations under the License. + + # TODO(https://github.com/grpc/grpc/issues/15662): Reform this. +-cdef void* _copy_pointer(void* pointer): ++cdef void* _copy_pointer(void* pointer) noexcept: + return pointer + + + # TODO(https://github.com/grpc/grpc/issues/15662): Reform this. +-cdef void _destroy_pointer(void* pointer): ++cdef void _destroy_pointer(void* pointer) noexcept: + pass + + +-cdef int _compare_pointer(void* first_pointer, void* second_pointer): ++cdef int _compare_pointer(void* first_pointer, void* second_pointer) noexcept: + if first_pointer < second_pointer: + return -1 + elif first_pointer > second_pointer: diff --git a/dev-python/grpcio/grpcio-1.59.0.ebuild b/dev-python/grpcio/grpcio-1.59.0.ebuild new file mode 100644 index 00000000..74b56c15 --- /dev/null +++ b/dev-python/grpcio/grpcio-1.59.0.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} ) + +inherit distutils-r1 multiprocessing prefix pypi + +DESCRIPTION="High-performance RPC framework (python libraries)" +HOMEPAGE="https://grpc.io" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86" + +RDEPEND=" + >=dev-libs/openssl-1.1.1:0=[-bindist(-)] + >=dev-libs/re2-0.2021.11.01:= + >=dev-python/cython-0.29.36[${PYTHON_USEDEP}] + =dev-python/protobuf-python-4.21.3[${PYTHON_USEDEP}] + net-dns/c-ares:= + sys-libs/zlib:= +" + +DEPEND="${RDEPEND}" + +python_prepare_all() { + if has_version ">=dev-python/cython-3.0.0[${PYTHON_USEDEP}]"; then + PATCHES=( "${FILESDIR}/1.59.0-cython3.patch" ) + fi + distutils-r1_python_prepare_all + hprefixify setup.py +} + +python_configure_all() { + # os.environ.get('GRPC_BUILD_WITH_BORING_SSL_ASM', True) + export GRPC_BUILD_WITH_BORING_SSL_ASM= + export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY=1 + export GRPC_PYTHON_BUILD_SYSTEM_CARES=1 + export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 + export GRPC_PYTHON_BUILD_WITH_SYSTEM_RE2=1 + export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 + export GRPC_PYTHON_BUILD_WITH_CYTHON=1 + export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)" +} -- cgit v1.2.3