commit:     4b92f1d79fc37c655677c6947e188154e9e14463
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 23 14:58:06 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Oct 23 15:01:48 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4b92f1d7

dev-python/google-api-core: Add optional gRPC dependencies

Closes: https://bugs.gentoo.org/940642
Co-authored-by: Roman Popov <roma251078 <AT> mail.ru>
Signed-off-by: Roman Popov <roma251078 <AT> mail.ru>
Closes: https://github.com/gentoo/gentoo/pull/38884
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../google-api-core-2.21.0-r1.ebuild               | 63 ++++++++++++++++++++++
 dev-python/google-api-core/metadata.xml            |  6 +++
 2 files changed, 69 insertions(+)

diff --git a/dev-python/google-api-core/google-api-core-2.21.0-r1.ebuild 
b/dev-python/google-api-core/google-api-core-2.21.0-r1.ebuild
new file mode 100644
index 000000000000..2fc9b24b8070
--- /dev/null
+++ b/dev-python/google-api-core/google-api-core-2.21.0-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=python-api-core-${PV}
+DESCRIPTION="Core Library for Google Client Libraries"
+HOMEPAGE="
+       https://github.com/googleapis/python-api-core/
+       https://pypi.org/project/google-api-core/
+       https://googleapis.dev/python/google-api-core/latest/index.html
+"
+SRC_URI="
+       https://github.com/googleapis/python-api-core/archive/v${PV}.tar.gz
+               -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="grpc"
+
+RDEPEND="
+       >=dev-python/googleapis-common-protos-1.56.2[${PYTHON_USEDEP}]
+       >=dev-python/google-auth-1.25.0[${PYTHON_USEDEP}]
+       >=dev-python/proto-plus-1.22.3[${PYTHON_USEDEP}]
+       >=dev-python/protobuf-python-3.19.5[${PYTHON_USEDEP}]
+       >=dev-python/requests-2.18.0[${PYTHON_USEDEP}]
+       <dev-python/requests-3[${PYTHON_USEDEP}]
+       grpc? (
+               >=dev-python/grpcio-1.49.1[${PYTHON_USEDEP}]
+               >=dev-python/grpcio-status-1.49.1[${PYTHON_USEDEP}]
+       )
+"
+BDEPEND="
+       test? (
+               >=dev-python/grpcio-1.49.1[${PYTHON_USEDEP}]
+               >=dev-python/grpcio-status-1.49.1[${PYTHON_USEDEP}]
+               dev-python/mock[${PYTHON_USEDEP}]
+               dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+               dev-python/rsa[${PYTHON_USEDEP}]
+       )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+       # The grpc_gcp module is missing to perform a stress test
+       tests/unit/test_grpc_helpers.py
+)
+
+python_test() {
+       rm -rf google || die
+
+       local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+       epytest -p asyncio tests
+}

diff --git a/dev-python/google-api-core/metadata.xml 
b/dev-python/google-api-core/metadata.xml
index d5a1c4ae4f13..d9e740f65edf 100644
--- a/dev-python/google-api-core/metadata.xml
+++ b/dev-python/google-api-core/metadata.xml
@@ -14,4 +14,10 @@
                <remote-id type="pypi">google-api-core</remote-id>
                <remote-id type="github">googleapis/python-api-core</remote-id>
        </upstream>
+       <use>
+               <flag name="grpc">
+                       Pull (heavy) gRPC dependencies in, that are optionally
+                       required by part of the API.
+               </flag>
+       </use>
 </pkgmetadata>

Reply via email to