commit: 4aa013da8671a73f906665879f0022de071ab144
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 22 01:46:00 2025 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Oct 22 16:25:18 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4aa013da
dev-python/grpcio: Bump to 1.76.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/grpcio/Manifest | 3 +
dev-python/grpcio/grpcio-1.76.0.ebuild | 127 +++++++++++++++++++++++++++++++++
2 files changed, 130 insertions(+)
diff --git a/dev-python/grpcio/Manifest b/dev-python/grpcio/Manifest
index 32bbd13a3417..4933b4561e59 100644
--- a/dev-python/grpcio/Manifest
+++ b/dev-python/grpcio/Manifest
@@ -2,11 +2,14 @@ DIST grpc-1.73.1.gh.tar.gz 14876868 BLAKE2B
6321e16b4ebee97c8482be8756700de6409b
DIST grpc-1.74.0.gh.tar.gz 15014902 BLAKE2B
1c024dd44053cc076d8c3d42b9aa642120222ba36fb816a7be31b9e72b12fe1c14e2d8d81db38c1ea89a57589ebc6153d6089b32c0cbc4100d8b70b579bb42fe
SHA512
2b8e726743336ad33157705761159ae4f096209781d7c05cf0b2699852604dde28878f60f3028e08f19db7d8f7c003dc342594a387a9da55db67d39180fdc010
DIST grpc-1.75.0.gh.tar.gz 15248921 BLAKE2B
4f26e82e2af806545622d45efaac07e1cb271edb6335fc6a1a968f0f2789a82c4c1713ad11ff61a0abf72b5fe9e91ab671c457e5c650d877c8a57d2fd2e11be7
SHA512
8cd7854185e2b8156860ed6f652b81041986fb7aee6cfb4cc35a9b63a218ae849c79a7de4fa003e89b1aa4e0e0a89f01630ab5f259ee34e4e1882d8d9c4cd4b0
DIST grpc-1.75.1.gh.tar.gz 15252613 BLAKE2B
5919ed80a7d723875b586ec9ed46e9f2921223dc459403184c35502a7768d9d7ead978a302b4b9d15fa3645c088a6344c6488d519ea7e9f9a7889465264a0467
SHA512
ffc3fde817f60e151cb2d2c0980485faf15270c12f2ec5f1228ef595d019ddf3c5e977f974cb8d5911010e0083652edddade1e999155a2fa2e72c3fd3a1aefb2
+DIST grpc-1.76.0.gh.tar.gz 15387277 BLAKE2B
529effe73d8a8f0a07b18127c05f3d9752294ffbba9b44470974905ce6a458bd2d7cbb70be59c1c22d32b56151a3f2c891b815b5eb0d8a381bf7744ceb513d0a
SHA512
6338448d7c0fc78c38480f1fafd7605d031b600a702df3771a9d1b1236da7bf97a93dbdbc2d93d12d395411dc2f2ac57587ad1b697c4b2a5ac56fb8af1184501
DIST grpcio-1.73.1.tar.gz 12730355 BLAKE2B
114ec5e67fc07835558d41fbd8b52708f3edebaf353d88c808ea0ea030089db8fd9fa4001d98b370b63684271d98e31c2308165032a4785c9aff0a22afa64b8f
SHA512
fda971f029d8131a021d99ebe1b72f3d5f9bbe2b6ce17cd9be23d02bb3edeba8fa650517c487b687d17b881d2e53460e55b89864b21ff511c5094a4f0caaf3b4
DIST grpcio-1.74.0.tar.gz 12756048 BLAKE2B
943f9b438985193e13d72cd3e270f8b0bb311e548a226803e62619fb30ce50fa9f14bdcccec8aa6cf57704bdc7ef8706509d987c3ed9806a4e26f5360492124b
SHA512
2f8bf61bf28b0b53422041f43fb226a7e4af0cd3c1942b58b84284a5d542e3224c3f54b40dc5346424dd0c260e1416b857732d8ee02fbca28384a15702f07ae0
DIST grpcio-1.75.0.tar.gz 12722485 BLAKE2B
119e0f35b5476aeecf51b0b826e9932c9b36b9ef78eb7e6130d0750e0c2203137e2f5b51d0f8a293622b4d01fbbf11481c13ead8536a17e4ff49448704fd95b9
SHA512
e686d375ba1b8ffb256148459d48a4ea20d89207363fe656826774597f061e0ebed55f72e2cbba082ad05523523e2df7efff24470b28e3ad1489619e303ec3e7
DIST grpcio-1.75.1.tar.gz 12731327 BLAKE2B
1cca575fefd42584fa1ce1d20ae875b2f894a1cc4f3c7eefbd64e51014bd8709f70d8ac8750cd06d9572a7867fb0ac514af098bb7b88c574f006957df4d7c082
SHA512
025554fc885859e0e484ec0c205ba19abe21d4fc7b6632eac7d4aa1fb7513b57235e38444a01b417c2f70549c79696b08fb4f2a673689cbca2810b21363d3fa5
+DIST grpcio-1.76.0.tar.gz 12785182 BLAKE2B
dbd3bf849ac2a721a114087e484d8f759bc4799e2e8a4ea58236a6bcf926ccf1ee183bc61f616f7acbbff59418b9e39de921e50aa6b890e6a642f2969f9513cf
SHA512
f6cd5bb70d839c7f0a17da9635c3363d1073f590fb53518a2c603a1a93f03742e135f86105494852ae343c699a9de8a3286fd150ef9074d8a51727c61c5a55c5
DIST grpcio_tools-1.73.1.tar.gz 5429529 BLAKE2B
c6180d872430833fdc6153a4542865fa252937fc8adea8209bd2aabf942c9e8597199f98478868e494233916e1bec13f727b229325c839ee821c74f112475b84
SHA512
f3d943a1f4dea3351bacbe1a64f4ac6c0f79778706a6fc387661bbc390fbfa556c34c03a59ba6b587a55292a05815d581b19e698ad29b3da380ad992550bf0fd
DIST grpcio_tools-1.74.0.tar.gz 5390007 BLAKE2B
605c6d3021166fd903eb860b3119e5ca6af4c9aff8c9d1368a31756f316826f7acd24daa544228ea49aa73bdb8ef31938ac7f016ebaae0b426628c9b91eee5eb
SHA512
9a54c84dc3a7ecb82c7062b5054b6d137783752758ae28d8bebea430104d903bbe35aaaad139ecd39dc4d06315b28f84291f0434ac9cc81dac2a1e949bf68c1d
DIST grpcio_tools-1.75.0.tar.gz 5390883 BLAKE2B
566738d1d0f96ff3799af5689c42847d448c6bd4094fccea90f53400d258d8f6a7150196bce6814eb0999c6cea6840433bf469567334f0b7d55d0aec8a1c21fe
SHA512
0920e473c73c7d98a7515c1eac173b2bb229117868731ec052c1a7d66914f9b84ed897623226a712f0a40b21c351ddc1c83928457755e7693161018cfeb1d0e6
DIST grpcio_tools-1.75.1.tar.gz 5390470 BLAKE2B
9df52c5c3b8f5b87e0cd5992df1d9c3f40d5ce145a8fa960128434c89eebaa81ec39c7d63b088e778dd9fe85d444b3566419b3110c793543194ecefdb7b8c282
SHA512
99ef13b090099d572e92319b19b2bb1b069ca6529a6998ea8428dbfc5ebb9d7f2294f0d06e8b1dbf7b7b152b1c03bffb98566f6eed752acb7b93621a6b457307
+DIST grpcio_tools-1.76.0.tar.gz 5390807 BLAKE2B
fdbd33aa1be371714d23aa0de0095e2c42d5bccd989cb562b8b2a4babe4288b6443e08bdf00927f437cda8378e3c7ec66f4d03b61b3a67bc244a3b2183d2ce95
SHA512
b1ff224387caf577beb9fdb6805e3e1b7ab7a02bb5dee3b3fce9acb83781a452e2460b6ad81b9c3a14fbe750f0b8c5e7abc4630059a2c22d4cec970a459333a0
diff --git a/dev-python/grpcio/grpcio-1.76.0.ebuild
b/dev-python/grpcio/grpcio-1.76.0.ebuild
new file mode 100644
index 000000000000..af90d2bd84ad
--- /dev/null
+++ b/dev-python/grpcio/grpcio-1.76.0.ebuild
@@ -0,0 +1,127 @@
+# Copyright 2024-2025 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_{11..14} )
+
+inherit distutils-r1 flag-o-matic multiprocessing pypi
+
+MY_P=grpc-${PV}
+DESCRIPTION="HTTP/2-based RPC framework"
+HOMEPAGE="
+ https://grpc.io/
+ https://github.com/grpc/grpc/
+ https://pypi.org/project/grpcio/
+"
+# Tests need other packages from the source tree, so use a GitHub
+# archive. sdist provides bundled library sources (git submodules).
+SRC_URI+="
+ test? (
+ https://github.com/grpc/grpc/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+ $(pypi_sdist_url grpcio_tools)
+ )
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+DEPEND="
+ dev-libs/openssl:=
+ net-dns/c-ares:=
+ sys-libs/zlib:=
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
+"
+# TODO: try to remove coverage dep
+BDEPEND="
+ >=dev-python/cython-3.1.1[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-6.31.1[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -i -e '/INSTALL_REQUIRES/s:~=:>=:' setup.py || die
+}
+
+src_configure() {
+ export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)"
+ # system abseil-cpp crashes with USE=-debug, sigh
+ # https://bugs.gentoo.org/942021
+ #export GRPC_PYTHON_BUILD_SYSTEM_ABSL=1
+ export GRPC_PYTHON_BUILD_SYSTEM_CARES=1
+ export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
+ # re2 needs to be built against the same abseil-cpp version
+ #export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
+ export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1
+ export GRPC_PYTHON_BUILD_WITH_CYTHON=1
+
+ # copied from setup.py, except for removed -std= that does not apply
+ # to C code and causes warnings
+ export GRPC_PYTHON_CFLAGS="-fvisibility=hidden -fno-wrapv
-fno-exceptions"
+ # required by abseil-cpp
+ append-cxxflags -std=c++17
+ # silence a lot of harmless noise from bad quality code
+ append-cxxflags -Wno-attributes
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+
tests/unit/_dns_resolver_test.py::DNSResolverTest::test_connect_loopback
+ # not a test
+ tests/unit/_compression_test.py::test_compression
+
tests_aio/unit/channel_argument_test.py::test_if_reuse_port_enabled
+ # expects grpcio-admin
+
tests/unit/test_all_modules_installed.py::TestAllModulesInstalled::test_import_all_modules
+ # TODO
+
tests_py3_only/unit/_simple_stubs_test.py::SimpleStubsTest::test_default_ssl
+ )
+ local EPYTEST_IGNORE=(
+ # not a test
+ tests/unit/test_common.py
+ # requires oauth2client
+ tests/unit/beta/_implementations_test.py
+ )
+
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ # grpcio proper builds against system libs
+ # grpcio_tools supports bundled libs only, and requires different
+ # flags
+ unset GRPC_PYTHON_CFLAGS
+ cd "${WORKDIR}/grpcio_tools-${PV}" || die
+ distutils_pep517_install "${BUILD_DIR}"/test
+
+ cd "${WORKDIR}/${MY_P}" || die
+ local protodir=src/proto/grpc/testing
+ local testdir=src/python/grpcio_tests
+ "${EPYTHON}" -m grpc_tools.protoc -I. --python_out="${testdir}" \
+ "${protodir}"/{empty,messages}.proto || die
+ "${EPYTHON}" -m grpc_tools.protoc -I. --grpc_python_out="${testdir}" \
+ "${protodir}"/test.proto || die
+
+ cd "${testdir}" || die
+ "${EPYTHON}" -m grpc_tools.protoc -I. --python_out=. \
+ tests/testing/proto/{requests,services}.proto || die
+ "${EPYTHON}" -m grpc_tools.protoc -I. --grpc_python_out=. \
+ tests/testing/proto/services.proto || die
+
+ # TODO: aio tests are failing randomly, so we're skipping them entirely
+ epytest tests{_py3_only,}/unit
+}