summaryrefslogtreecommitdiff
path: root/dev-python/grpcio
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-11-06 16:19:28 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-11-06 16:19:28 +0000
commit9afce155a599e5f4518f3c7913b6424ac13be12e (patch)
tree60420eafdcf940c0e4555d9aa8e4e9017a646344 /dev-python/grpcio
parenteb7aa327b218d640c8bda63ba0fd1ace2bd2d17b (diff)
gentoo auto-resync : 06:11:2023 - 16:19:27
Diffstat (limited to 'dev-python/grpcio')
-rw-r--r--dev-python/grpcio/Manifest2
-rw-r--r--dev-python/grpcio/files/1.51.0-cython3.patch150
-rw-r--r--dev-python/grpcio/grpcio-1.51.0-r1.ebuild50
3 files changed, 202 insertions, 0 deletions
diff --git a/dev-python/grpcio/Manifest b/dev-python/grpcio/Manifest
index e7d50bf0e87e..8f9bcbe3d7db 100644
--- a/dev-python/grpcio/Manifest
+++ b/dev-python/grpcio/Manifest
@@ -1,4 +1,6 @@
+AUX 1.51.0-cython3.patch 6233 BLAKE2B b58d2a8dbeb1931b65041a5beb28a5ae802fa8b979b3cf961bc0de8de9167b9edf49e70ad3dcc7c90cba81a609d00ca579160aaf9e6b73261d8ef81ba1789f5d SHA512 3f5d5d1477a4e2631604872f2beabc2743ec0f8ca5fb7e2949c6cfc27ddaaa207281caba99f1bb6fc6a9bac1b4fb6d7aa773bf603c3feedd8dfedc9501baadf8
AUX 1.51.0-respect-cc.patch 1156 BLAKE2B a952509c19c3da336f42f06595986e26e75487c6f0ebb75c1493ec98f57c14fe1859141f06f82bcbc6ef0cec762d99cda962ddeca204bf104691d2636a7d51a0 SHA512 c8e0cc7ff325f94c856bd9c22a17ada367f580c9eef9d465fce335ea7b6441ddcd33f36f730e61c02deac3099df65086a3772b8a2fae6a691614d87b72bc472e
DIST grpcio-1.51.0.tar.gz 22142437 BLAKE2B 20acb52c89e41cd6e87ddb5554bcf79acc6fa18f4516c7be7a3fa1408ecb1e5800d6123bd7ac561093ca341344618de9701c3df75251e96cd9da5a3443568303 SHA512 3560e07df79143cb7a8a0a1f0dbaba2d164962ba712adf030a60654102bbd5ce6a08f88c133b81a3e471f1ec3d63de14f1b0567aa45bd641d958d3349ccef542
+EBUILD grpcio-1.51.0-r1.ebuild 1322 BLAKE2B 9dce59a240fadc4f0ba6e3be33e59ceeb049fd308dc655baf5696dce1dc1147b5d7d20fc0e011d98563745408a03e687c747081e8158485af763be9bd051e588 SHA512 776c5d53d96ebca32b39058f3fb3ff2d32123b3f52d296a9e90f01b01c30dc430b2347af081fd9e6fd5054a9c52305ad11e5787e7d044ea15806781ed3f8b9f2
EBUILD grpcio-1.51.0.ebuild 1303 BLAKE2B 594c8a2042504f32e0012e501741d81c0633d92ae6dd3c5dfc565fa468b3728246cdcac0655589db0c1efcb9c43b4fb1898a90a3ed17effe7d98d763685ad215 SHA512 16d3ae9e43636ffc8501d8e90b67a631da7499570328cb113db2709e0271fd34c1eb9e5cb6c543119861c979c0dd474b0d26163c466b0aac949d60d69d1b38b3
MISC metadata.xml 370 BLAKE2B bbd9d12e5aa11226329f88cdbe81b254078778ec32656c0e8e07728ae8e88a631031075111fa172ac7977164f928ab5b4d7a6fccdb05fe382bbbcfc3db0fcb48 SHA512 8452b06521b0d315bb7e2ceb8ded673383a5364e5b46c494083a7f92129d3ac1c607197679111157716dfc3c5d7bbb60459cd4f1d7c23d9fe2bb5b2ef2792383
diff --git a/dev-python/grpcio/files/1.51.0-cython3.patch b/dev-python/grpcio/files/1.51.0-cython3.patch
new file mode 100644
index 000000000000..97e70e150455
--- /dev/null
+++ b/dev-python/grpcio/files/1.51.0-cython3.patch
@@ -0,0 +1,150 @@
+https://bugs.gentoo.org/911370
+https://github.com/grpc/grpc/issues/33918#issuecomment-1703386656
+https://github.com/grpc/grpc/issues/33918#issuecomment-1788823585
+https://github.com/grpc/grpc/pull/34242
+https://src.fedoraproject.org/rpms/grpc/blob/8bf11b8c20d2c54dcf7b88777d7590237b6b0555/f/0001-Specify-noexcept-for-cdef-functions.patch
+
+From 45d31dba83999638808891ee7bf93638106bdb71 Mon Sep 17 00:00:00 2001
+From: Atri Bhattacharya <badshah400@gmail.com>
+Date: Thu, 7 Sep 2023 07:06:56 +0200
+Subject: [PATCH] Specify noexcept for cdef functions.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+To build against cython 3.0, cdef functions that do not raise exceptions
+need to be explicitly declared as noexcept. Fixes issue #33918.
+
+Co-Authored-By: Miro HronĨok <miro@hroncok.cz>
+---
+ .../grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi | 2 +-
+ .../grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi | 2 +-
+ .../grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi | 2 +-
+ .../grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi | 12 ++++++------
+ .../grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi | 6 +++---
+ .../grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi | 6 +++---
+ 6 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi
+index e54e510..26edbdb 100644
+--- a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi
++++ b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi
+@@ -48,7 +48,7 @@ cdef class CallbackWrapper:
+ @staticmethod
+ cdef void functor_run(
+ grpc_completion_queue_functor* functor,
+- int succeed)
++ int succeed) noexcept
+
+ cdef grpc_completion_queue_functor *c_functor(self)
+
+diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi
+index f2d94a9..5dda90a 100644
+--- a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi
++++ b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi
+@@ -50,7 +50,7 @@ cdef class CallbackWrapper:
+ @staticmethod
+ cdef void functor_run(
+ grpc_completion_queue_functor* functor,
+- int success):
++ int success) noexcept:
+ cdef CallbackContext *context = <CallbackContext *>functor
+ cdef object waiter = <object>context.waiter
+ if not waiter.cancelled():
+diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi
+index 23de3a0..52071f5 100644
+--- a/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi
++++ b/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi
+@@ -314,7 +314,7 @@ def server_credentials_ssl_dynamic_cert_config(initial_cert_config,
+ 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 --git a/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi
+index a925bdd..5e97a6d 100644
+--- a/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi
++++ b/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi
+@@ -15,15 +15,15 @@
+
+ cdef extern from "pthread.h" nogil:
+ int pthread_atfork(
+- void (*prepare)() nogil,
+- void (*parent)() nogil,
+- void (*child)() nogil)
++ void (*prepare)() noexcept nogil,
++ void (*parent)() noexcept nogil,
++ void (*child)() noexcept nogil) noexcept
+
+
+-cdef void __prefork() nogil
++cdef void __prefork() noexcept nogil
+
+
+-cdef void __postfork_parent() nogil
++cdef void __postfork_parent() noexcept nogil
+
+
+-cdef void __postfork_child() nogil
+\ No newline at end of file
++cdef void __postfork_child() noexcept nogil
+\ No newline at end of file
+diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi
+index 53657e8..d4d1cff 100644
+--- a/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi
++++ b/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi
+@@ -34,7 +34,7 @@ _GRPC_ENABLE_FORK_SUPPORT = (
+
+ _fork_handler_failed = False
+
+-cdef void __prefork() nogil:
++cdef void __prefork() noexcept nogil:
+ with gil:
+ global _fork_handler_failed
+ _fork_handler_failed = False
+@@ -48,14 +48,14 @@ cdef void __prefork() nogil:
+ _fork_handler_failed = True
+
+
+-cdef void __postfork_parent() nogil:
++cdef void __postfork_parent() noexcept nogil:
+ with gil:
+ with _fork_state.fork_in_progress_condition:
+ _fork_state.fork_in_progress = False
+ _fork_state.fork_in_progress_condition.notify_all()
+
+
+-cdef void __postfork_child() nogil:
++cdef void __postfork_child() noexcept nogil:
+ with gil:
+ try:
+ if _fork_handler_failed:
+diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi
+index da4b81b..f594100 100644
+--- a/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi
++++ b/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi
+@@ -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:
+--
+2.41.0
diff --git a/dev-python/grpcio/grpcio-1.51.0-r1.ebuild b/dev-python/grpcio/grpcio-1.51.0-r1.ebuild
new file mode 100644
index 000000000000..b8b3a0c4317a
--- /dev/null
+++ b/dev-python/grpcio/grpcio-1.51.0-r1.ebuild
@@ -0,0 +1,50 @@
+# 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/protobuf-python-5[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-python-4.21.3[${PYTHON_USEDEP}]
+ net-dns/c-ares:=
+ sys-libs/zlib:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-python/cython[${PYTHON_USEDEP}]"
+
+PATCHES=(
+ "${FILESDIR}/1.51.0-respect-cc.patch"
+ "${FILESDIR}/1.51.0-cython3.patch"
+)
+
+python_prepare_all() {
+ 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)"
+}