From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1706604-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 5569F15812D
	for <garchives@archives.gentoo.org>; Mon, 06 Jan 2025 14:25:51 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 87F1DE081B;
	Mon, 06 Jan 2025 14:25:50 +0000 (UTC)
Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 70333E081B
	for <gentoo-commits@lists.gentoo.org>; Mon, 06 Jan 2025 14:25:50 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 92D47335D72
	for <gentoo-commits@lists.gentoo.org>; Mon, 06 Jan 2025 14:25:49 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id ED82AAED
	for <gentoo-commits@lists.gentoo.org>; Mon, 06 Jan 2025 14:25:47 +0000 (UTC)
From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Michał Górny" <mgorny@gentoo.org>
Message-ID: <1736173544.fe25c00dd1c43566084eb0fed4c3b85e766d9f34.mgorny@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/grpcio/
X-VCS-Repository: repo/gentoo
X-VCS-Files: dev-python/grpcio/Manifest dev-python/grpcio/grpcio-1.69.0.ebuild
X-VCS-Directories: dev-python/grpcio/
X-VCS-Committer: mgorny
X-VCS-Committer-Name: Michał Górny
X-VCS-Revision: fe25c00dd1c43566084eb0fed4c3b85e766d9f34
X-VCS-Branch: master
Date: Mon, 06 Jan 2025 14:25:47 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: 7d2f6b12-b63a-49b1-9153-445afed8f945
X-Archives-Hash: bcd31f17d324484cb1f51b92cbceaff6

commit:     fe25c00dd1c43566084eb0fed4c3b85e766d9f34
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  6 05:41:07 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jan  6 14:25:44 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fe25c00d

dev-python/grpcio: Bump to 1.69.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/grpcio/Manifest             |   3 +
 dev-python/grpcio/grpcio-1.69.0.ebuild | 119 +++++++++++++++++++++++++++++++++
 2 files changed, 122 insertions(+)

diff --git a/dev-python/grpcio/Manifest b/dev-python/grpcio/Manifest
index 65ecb79d1272..d1f957a777b9 100644
--- a/dev-python/grpcio/Manifest
+++ b/dev-python/grpcio/Manifest
@@ -1,6 +1,9 @@
 DIST grpc-1.67.0.gh.tar.gz 17317493 BLAKE2B 81aaf9a4d293dd41d9d068e81eb8a9898b610498722dd6f9c5ff88118fc5a31a936ac83c7cdb4f56c288d131c7721beed8e307dd91bf3de5cc25951cdb06de5a SHA512 5e76a3147ca051e5304d5d64eefe124cd446dd5d7bd9a65667bae5474b59f70b32368d225e8345c9414bddb968c1390b8bcd08ed97abb62b543528289b29ec35
 DIST grpc-1.68.1.gh.tar.gz 17320674 BLAKE2B 46f4ae35c6a3a6ddfd47918a68a42d10e115ef81052715e8d8a73abf973063c730ddda06373278f3a4a6280dd4938e530a5e7377ab76aa653bb208583deab7f3 SHA512 cfb88a1290e2ee46fbd5f2b50b9c066ac174b1077170088c3b1a30bd37e66c6ca5254d2b951329a3991ac2b4320d12a50b1464babffbfc3bcf4eab670a449fd1
+DIST grpc-1.69.0.gh.tar.gz 17425484 BLAKE2B ad0f6c12312d5ef96748bc4e7b6b1b9453e00bbbe4f1233016bab132d177bf7f17325788fdec64072c339baa002816d805b3db930e0f1a767d62e4667a54afad SHA512 227c5256a8ff94d923d1c7123aa452db3853351589812a1ab325c8e1203bf9eb3066c1838eb306652a32ac2ab5d2cbffa34ae0b2bc2afddbf9281c503b4863c4
 DIST grpcio-1.67.0.tar.gz 12569330 BLAKE2B 597efd14625898daf8c7aeff65e1d5aac4e08f7152263784c41f6b9bf0b83b8774b01ada85bfd461191d34c547296be82b994694585a57ee306d6aceebf4a9dd SHA512 201ca2548b68561135a06de971dc5a2a87bebbb6e48b4aeca23389fdd3046a11677a440af75730a0ce7cc2b7c9c7e3ab4a43d0e040c803768d04a27be645bc4e
 DIST grpcio-1.68.1.tar.gz 12694654 BLAKE2B 73dc8ef4371f43d232e452b4aba4a7a3c32f83a93631179123a020660484ecb54ce6da14ef262442ab537a60859c624876e9b6285882f998a17c3a1a144c5416 SHA512 98f517687a9e46f316a08943122e2d002eac03637049e319b070832121ec8b4f140a0e0e1c530d6f3e83973e3503b5a50cdf1532b59e23a2b2e3d8514cd4132d
+DIST grpcio-1.69.0.tar.gz 12738244 BLAKE2B b7849f57591407c6882da4596b31c974c6bd493eaea2e629e32cc757799dbdca618959db7140c0b985e9ee107a377c3fa82f6b71f705feba4a6ecbd344666daa SHA512 c2cc418c01d5c9550c6b5468f3ff6cc0417cf6dae7ab3d0cab62804ca1ce86b5c305b2fda3af2b66c9ae1e05ead41962b02c171b121ca8e75a434ecc47b16761
 DIST grpcio_tools-1.67.0.tar.gz 5159163 BLAKE2B 54a7db77514033c4747d20a13fded114828fed23f649587c649f5ad2716d4bb31b80eeda560d55ae087a564cb9d34563a612cc91df581ae6b9a761f307828397 SHA512 f9644b4424aa68f1ae4d679c7b635db9bbfc0b493c76caf7d2e9fe0a49e5e81b6f146666c8dba3fc1d1c0db141f8fb362dd0ede0842c34cb178009412a672ec5
 DIST grpcio_tools-1.68.1.tar.gz 5275384 BLAKE2B 29f504ccb3335c8f183c78c286b36c8e220dd30bd3ffb07770d330b232e40f87977bfe10e0099b05ca2a1d86c5743b056a5a4ae54f5343d9de0a9036a9b5cde4 SHA512 a967137875a50a28293d90a2b4ba6ceb35ce7532b73ea727cca0a40e734227a70e2b1f4ce201477b8418c4b29766e21d40fe33c92522d7d94c92c3a55cf265c4
+DIST grpcio_tools-1.69.0.tar.gz 5323319 BLAKE2B 70e2bc1f2a661c8f8a8eb21becd8b6b39b25c93821490b57c6c36b98de6d0f9a1abf59596ede81c38b11b597ee41b92dd857a3db5fe3b66ed301878bd3c691ab SHA512 04aa5282cf3837f21c78ee60f2980f3ed9bb0d895b3909076d9a0779c722e5ebace58e9f60c37d04f3433bbf770142238070c77b96f14e495811dfe79a208982

diff --git a/dev-python/grpcio/grpcio-1.69.0.ebuild b/dev-python/grpcio/grpcio-1.69.0.ebuild
new file mode 100644
index 000000000000..558eb786ec35
--- /dev/null
+++ b/dev-python/grpcio/grpcio-1.69.0.ebuild
@@ -0,0 +1,119 @@
+# 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_{10..13} )
+
+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}
+"
+# TODO: try to remove coverage dep
+BDEPEND="
+	dev-python/cython[${PYTHON_USEDEP}]
+	test? (
+		dev-python/coverage[${PYTHON_USEDEP}]
+		>=dev-python/protobuf-5.29.0[${PYTHON_USEDEP}]
+	)
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+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++14
+	# 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_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
+	)
+	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
+	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
+}