4 |
4 |
EAPI=8
|
5 |
5 |
|
6 |
6 |
DISTUTILS_USE_PEP517=setuptools
|
7 |
|
PYTHON_COMPAT=( python3_{9..11} )
|
|
7 |
PYTHON_COMPAT=( python3_{10..11} )
|
|
8 |
|
8 |
9 |
inherit distutils-r1
|
9 |
10 |
|
|
11 |
MY_P=elastic-transport-python-${PV}
|
10 |
12 |
DESCRIPTION="Transport classes and utilities shared among Python Elastic client libraries"
|
11 |
13 |
HOMEPAGE="
|
12 |
|
https://github.com/elastic/elastic-transport-python
|
|
14 |
https://github.com/elastic/elastic-transport-python/
|
13 |
15 |
https://pypi.org/project/elastic-transport/
|
14 |
16 |
"
|
15 |
|
SRC_URI="https://github.com/elastic/elastic-transport-python/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
|
16 |
|
S="${WORKDIR}/${PN}-python-${PV}"
|
|
17 |
SRC_URI="
|
|
18 |
https://github.com/elastic/elastic-transport-python/archive/v${PV}.tar.gz
|
|
19 |
-> ${MY_P}.gh.tar.gz
|
|
20 |
"
|
|
21 |
S=${WORKDIR}/${MY_P}
|
17 |
22 |
|
18 |
23 |
LICENSE="Apache-2.0"
|
19 |
24 |
SLOT="0"
|
20 |
|
KEYWORDS="amd64 ~arm64 x86"
|
21 |
|
|
|
25 |
KEYWORDS="~amd64 ~arm64 ~x86"
|
22 |
26 |
PROPERTIES="test_network"
|
23 |
27 |
RESTRICT="test"
|
24 |
28 |
|
25 |
29 |
RDEPEND="
|
26 |
30 |
dev-python/certifi[${PYTHON_USEDEP}]
|
27 |
|
>=dev-python/urllib3-1.26.2[${PYTHON_USEDEP}] <dev-python/urllib3-2[${PYTHON_USEDEP}]
|
|
31 |
>=dev-python/urllib3-1.26.2[${PYTHON_USEDEP}]
|
28 |
32 |
"
|
29 |
33 |
DEPEND="${RDEPEND}"
|
30 |
34 |
BDEPEND="
|
31 |
35 |
test? (
|
32 |
|
${RDEPEND}
|
33 |
|
dev-python/aiohttp[${PYTHON_USEDEP}]
|
34 |
|
dev-python/mock[${PYTHON_USEDEP}]
|
35 |
|
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
|
36 |
|
dev-python/pytest-httpserver[${PYTHON_USEDEP}]
|
37 |
|
dev-python/pytest-mock[${PYTHON_USEDEP}]
|
38 |
|
dev-python/requests[${PYTHON_USEDEP}]
|
39 |
|
dev-python/trustme[${PYTHON_USEDEP}]
|
|
36 |
dev-python/aiohttp[${PYTHON_USEDEP}]
|
|
37 |
dev-python/mock[${PYTHON_USEDEP}]
|
|
38 |
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
|
|
39 |
dev-python/pytest-httpserver[${PYTHON_USEDEP}]
|
|
40 |
dev-python/pytest-mock[${PYTHON_USEDEP}]
|
|
41 |
dev-python/requests[${PYTHON_USEDEP}]
|
|
42 |
dev-python/trustme[${PYTHON_USEDEP}]
|
40 |
43 |
)
|
41 |
44 |
"
|
42 |
45 |
|
43 |
|
distutils_enable_sphinx docs/sphinx dev-python/furo dev-python/sphinx-autodoc-typehints
|
|
46 |
distutils_enable_sphinx docs/sphinx \
|
|
47 |
dev-python/furo \
|
|
48 |
dev-python/sphinx-autodoc-typehints
|
44 |
49 |
distutils_enable_tests pytest
|
45 |
50 |
|
46 |
|
src_prepare() {
|
47 |
|
# Remove extra options from tests. Mainly to avoid dependance on coverage
|
48 |
|
sed -i '/[tool:pytest]/,/^$/ d' setup.cfg || die
|
49 |
|
# Pytest options add more warnings and individually ingoring warnings would be more hassle than worth
|
50 |
|
# So lets just remove the bit counting warnings, as the test checks if there is a specific warning eitherway.
|
51 |
|
sed -i '/test_uses_https_if_verify_certs_is_off/,/def/ { /assert 1 == len(w)/ d }' \
|
52 |
|
tests/node/test_http_aiohttp.py || die
|
|
51 |
python_test() {
|
|
52 |
local EPYTEST_DESELECT=(
|
|
53 |
# fragile to random warnings
|
|
54 |
tests/node/test_http_aiohttp.py::TestAiohttpHttpNode::test_uses_https_if_verify_certs_is_off
|
|
55 |
tests/node/test_urllib3_chain_certs.py::test_assert_fingerprint_in_cert_chain
|
|
56 |
)
|
53 |
57 |
|
54 |
|
default
|
|
58 |
epytest -o addopts=
|
55 |
59 |
}
|