commit:     36ee81ca0600fa60b7d013af68b348ed39a62616
Author:     Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
AuthorDate: Mon Oct  2 23:44:14 2023 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Mon Oct  2 23:54:25 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=36ee81ca

dev-python/grpc-stubs: add 1.53.0.3

Signed-off-by: Lucio Sauer <watermanpaint <AT> posteo.net>

 dev-python/grpc-stubs/Manifest                     |  1 +
 ...grpc-stubs-1.53.0.3-die-on-missing-import.patch | 12 +++++++
 dev-python/grpc-stubs/grpc-stubs-1.53.0.3.ebuild   | 40 ++++++++++++++++++++++
 3 files changed, 53 insertions(+)

diff --git a/dev-python/grpc-stubs/Manifest b/dev-python/grpc-stubs/Manifest
index 1e5e0b65ab..2ff0d2045c 100644
--- a/dev-python/grpc-stubs/Manifest
+++ b/dev-python/grpc-stubs/Manifest
@@ -1 +1,2 @@
 DIST grpc-stubs-1.53.0.2.gh.tar.gz 14607 BLAKE2B 
a18f17d1fe31133f7bafb4728b1748537db11b5d11f7da9364fb595c86afcfb47199d069e7eb3e05b89b92757b1080dfd443d0ee2006e85e49c75e5ad188e41a
 SHA512 
ea8343231d12a34927bab56ddfdad69233c4e09502cd072db9ed21ec79726a600e9dc31a0b3ecbae47ea5f4357ddb0840e022fb385f6e1296665406254c59fba
+DIST grpc-stubs-1.53.0.3.gh.tar.gz 14667 BLAKE2B 
58f1ff46f6e4ad96fafa7583158e8a3be1ac5fc991f50dde34899fad919fbfb46afe5da8846aa7ef98cdc4de34609ee93a06d137630d505460d34ecaa3a47837
 SHA512 
dbcf9882b4ad986bcf17ed613c233cfd889d46340b91534d9ef33a11e1ce25db5e81a747c57b55a1e174012c81da94d29769706a1b3932ca13b020506235ccbd

diff --git 
a/dev-python/grpc-stubs/files/grpc-stubs-1.53.0.3-die-on-missing-import.patch 
b/dev-python/grpc-stubs/files/grpc-stubs-1.53.0.3-die-on-missing-import.patch
new file mode 100644
index 0000000000..7b7a8e9f0b
--- /dev/null
+++ 
b/dev-python/grpc-stubs/files/grpc-stubs-1.53.0.3-die-on-missing-import.patch
@@ -0,0 +1,12 @@
+Tests should fail if mypy fails to find the stubs that are to be tested.
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -1,7 +1,7 @@
+ [mypy]
+ check_untyped_defs = True
+ ignore_errors = False
+-ignore_missing_imports = True
++ignore_missing_imports = False
+ strict_optional = True
+ no_error_summary = True
+ no_color_output = True

diff --git a/dev-python/grpc-stubs/grpc-stubs-1.53.0.3.ebuild 
b/dev-python/grpc-stubs/grpc-stubs-1.53.0.3.ebuild
new file mode 100644
index 0000000000..373d990529
--- /dev/null
+++ b/dev-python/grpc-stubs/grpc-stubs-1.53.0.3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_11 )
+inherit distutils-r1
+
+DESCRIPTION="gRPC typing stubs for Python"
+HOMEPAGE="
+       https://pypi.org/project/grpc-stubs/
+       https://github.com/shabbyrobe/grpc-stubs/
+"
+
+SRC_URI="https://github.com/shabbyrobe/grpc-stubs/archive/refs/tags/${PV}.tar.gz
+       -> ${P}.gh.tar.gz"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+RDEPEND="dev-python/types-protobuf[${PYTHON_USEDEP}]"
+BDEPEND="test? (
+                               dev-python/pytest-mypy-plugins[${PYTHON_USEDEP}]
+                               ${RDEPEND}
+                          )"
+
+distutils_enable_tests pytest
+
+PATCHES="${FILESDIR}/"${P}-die-on-missing-import.patch
+
+python_test() {
+       # Gentoo's PEP 517 mode runs tests in a venv-like environment.
+       # Pytest-mypy-plugins checks the PATH for mypy, we provide a venv-aware
+       # variant.
+       printf "#!/bin/bash\n $(which python) -m mypy \$@" > \
+                "${BUILD_DIR}"/install/usr/bin/mypy || die
+       chmod +x "${BUILD_DIR}"/install/usr/bin/mypy || die
+       epytest --mypy-ini-file=setup.cfg
+       rm "${BUILD_DIR}"/install/usr/bin/mypy || die
+}

Reply via email to