diff options
Diffstat (limited to 'dev-python/urllib3')
-rw-r--r-- | dev-python/urllib3/Manifest | 6 | ||||
-rw-r--r-- | dev-python/urllib3/metadata.xml | 5 | ||||
-rw-r--r-- | dev-python/urllib3/urllib3-1.26.18.ebuild | 78 | ||||
-rw-r--r-- | dev-python/urllib3/urllib3-1.26.5.ebuild | 65 | ||||
-rw-r--r-- | dev-python/urllib3/urllib3-1.26.6.ebuild | 65 | ||||
-rw-r--r-- | dev-python/urllib3/urllib3-2.1.0.ebuild | 87 | ||||
-rw-r--r-- | dev-python/urllib3/urllib3-2.2.1.ebuild | 94 |
7 files changed, 264 insertions, 136 deletions
diff --git a/dev-python/urllib3/Manifest b/dev-python/urllib3/Manifest index db0a91444981..9c5d5de51cb8 100644 --- a/dev-python/urllib3/Manifest +++ b/dev-python/urllib3/Manifest @@ -1,2 +1,4 @@ -DIST urllib3-1.26.5.tar.gz 292865 BLAKE2B 0b22a485635f70f198c022c13d03af2b1a9b6907276e3bc3acaa2242e1c632447762f86e9588e735462e6479ff93a172f458691ea9bf28ceaebd5e1cfbc55501 SHA512 4a1899b223b00894d49f6dff5fc95d410e5b0ab28c11f7e3cd82d03e50438b0c5b0adf693a33fd80f1586312dc0012836713998674da15531bf82d52645881f6 -DIST urllib3-1.26.6.tar.gz 289927 BLAKE2B 197b0df759b27fc4906c565426e9c7b533fad56f10695ab5ae6c6c4d05d5c889dba906be526d8b8f41405f29696046b7db6e2cbb2fa16843af80e072138cc35f SHA512 19eb4b88b7a575db717db420ff79b304769d9a6d2b576a236d69719101c4d52d6b0079bd049c885e630f0dfd60471f8bb33836847e0569652cddece910ec2979 +DIST hypercorn-d1719f8c1570cbd8e6a3719ffdb14a4d72880abb.gh.tar.gz 156216 BLAKE2B fcb5f49653401e6e4079e1c770d3cd407602d4d6764437b735bd4ec04191dec59cdc930822fa2aff726ee25cddd0f71fd457dedf31026bff1da121d93af8b768 SHA512 62d6787d88a2e716f0ac04fc49f6cdc586e473a660ee754ff66961922ae78bcc75d1f78b091e78557dd60f006e8e480114738c7b4ff71beac804e4fc9603240b +DIST urllib3-1.26.18.tar.gz 305687 BLAKE2B f2f673761a8d80eee715a8726ba36ab6b09800fd4a4f03f27438553c36072e2abb5ff26cff71dcf30fd114f4d28c4ad9907533965b83c8a0581d3d4661904b70 SHA512 c89e93a032bf6b11375c06ef7c5abc1868f93e7655cfdca09e9bd939ad415d206ea159fe151ecd2e5f725e0e18a831c7a5382ad01dbc32264154fc8af7aec156 +DIST urllib3-2.1.0.tar.gz 263900 BLAKE2B 9e0438a11b7178c5004c1253179bb6bfcb1fa8711db47084377bb14c5834f7b88b04a5560b99bf6fff5f1f4622d4b1998d19dd517ab6b7453fd53c832ee7fefa SHA512 33d6eafd9b6ecd97ee2dca8a4f1612a6fcc584961bcfd3a0a188f557a73f4c1576f98dc525c3b2feecb2d676f4bf4364aafeef093d6686e4b3ef2043726561a8 +DIST urllib3-2.2.1.tar.gz 291020 BLAKE2B 4bd6e26e1adfba99856db082d0bd3ea136a2367fa53c2d0c7990f6325e8145b2d080a8d59705c43acd97b26be65a309f83d1906d85bd72bfb479b7404972b042 SHA512 dfadba099db678ee1567ee95aa11a72fcea0a76df094d04dd4bd7ed5df4ea2fda6917cc122a1e2bfa4f5303916f93a7e1c881fbbf3cbb9415a25bd7eca1b14b3 diff --git a/dev-python/urllib3/metadata.xml b/dev-python/urllib3/metadata.xml index 7e9d137e62a8..e27c6550e713 100644 --- a/dev-python/urllib3/metadata.xml +++ b/dev-python/urllib3/metadata.xml @@ -1,14 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>python@gentoo.org</email> <name>Python</name> </maintainer> <stabilize-allarches/> - <use> - <flag name="brotli">Enable support for brotli compression</flag> - </use> <upstream> <remote-id type="pypi">urllib3</remote-id> <remote-id type="cpe">cpe:/a:urllib3:urllib3</remote-id> diff --git a/dev-python/urllib3/urllib3-1.26.18.ebuild b/dev-python/urllib3/urllib3-1.26.18.ebuild new file mode 100644 index 000000000000..151ef0e7ae0c --- /dev/null +++ b/dev-python/urllib3/urllib3-1.26.18.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# please keep this ebuild at EAPI 8 -- sys-apps/portage dep +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_TESTED=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) +PYTHON_REQ_USE="ssl(+)" + +inherit distutils-r1 pypi + +DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more" +HOMEPAGE=" + https://github.com/urllib3/urllib3/ + https://pypi.org/project/urllib3/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="brotli test" +RESTRICT="!test? ( test )" + +# dev-python/{pyopenssl,cryptography,idna,certifi} are optional runtime +# dependencies. Do not add them to RDEPEND. They should be unnecessary with +# modern versions of python (>= 3.2). +RDEPEND=" + >=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}] + <dev-python/PySocks-2.0[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] + brotli? ( dev-python/brotlicffi[${PYTHON_USEDEP}] ) +" +BDEPEND=" + test? ( + $(python_gen_cond_dep " + ${RDEPEND} + dev-python/brotlicffi[\${PYTHON_USEDEP}] + dev-python/mock[\${PYTHON_USEDEP}] + dev-python/pytest[\${PYTHON_USEDEP}] + dev-python/pytest-freezegun[\${PYTHON_USEDEP}] + >=dev-python/tornado-4.2.1[\${PYTHON_USEDEP}] + >=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}] + " "${PYTHON_TESTED[@]}") + ) +" + +src_prepare() { + distutils-r1_src_prepare + + # unbundle urllib3 + rm src/urllib3/packages/six.py || die + find -name '*.py' -exec sed -i \ + -e 's:\([.]*\|urllib3\.\)\?packages\.six:six:g' \ + -e 's:from \([.]*\|urllib3\.\)\?packages import six:import six:g' \ + {} + || die +} + +python_test() { + local -x CI=1 + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping tests on ${EPYTHON}" + return + fi + + local EPYTEST_DESELECT=( + # unstable (relies on warning count) + test/with_dummyserver/test_proxy_poolmanager.py::TestHTTPProxyManager::test_proxy_verified_warning + # some random overflow + test/with_dummyserver/test_socketlevel.py::TestSSL::test_requesting_large_resources_via_ssl + ) + has "${EPYTHON}" python3.{8..10} && EPYTEST_DESELECT+=( + test/contrib/test_pyopenssl.py::TestPyOpenSSLHelpers::test_get_subj_alt_name + ) + + epytest +} diff --git a/dev-python/urllib3/urllib3-1.26.5.ebuild b/dev-python/urllib3/urllib3-1.26.5.ebuild deleted file mode 100644 index a718303d1a5e..000000000000 --- a/dev-python/urllib3/urllib3-1.26.5.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7..10} pypy3 ) -PYTHON_REQ_USE="ssl(+)" - -inherit distutils-r1 - -DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more" -HOMEPAGE="https://github.com/urllib3/urllib3" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="brotli test" -RESTRICT="!test? ( test )" - -# dev-python/{pyopenssl,cryptography,idna,certifi} are optional runtime -# dependencies. Do not add them to RDEPEND. They should be unnecessary with -# modern versions of python (>= 3.2). -RDEPEND=" - >=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}] - <dev-python/PySocks-2.0[${PYTHON_USEDEP}] - brotli? ( dev-python/brotlicffi[${PYTHON_USEDEP}] ) -" -BDEPEND=" - test? ( - $(python_gen_cond_dep " - ${RDEPEND} - dev-python/brotlicffi[\${PYTHON_USEDEP}] - dev-python/mock[\${PYTHON_USEDEP}] - dev-python/pytest[\${PYTHON_USEDEP}] - dev-python/pytest-freezegun[\${PYTHON_USEDEP}] - >=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}] - >=www-servers/tornado-4.2.1[\${PYTHON_USEDEP}] - " python3_{6..10}) - ) -" - -python_prepare_all() { - # tests failing if 'localhost.' cannot be resolved - sed -e 's:test_dotted_fqdn:_&:' \ - -i test/with_dummyserver/test_https.py || die - sed -e 's:test_request_host_header_ignores_fqdn_dot:_&:' \ - -i test/with_dummyserver/test_socketlevel.py || die - - distutils-r1_python_prepare_all -} - -python_test() { - local -x CI=1 - # FIXME: get tornado ported - # please keep in sync with BDEPEND! - has "${EPYTHON}" python3.{6..10} || continue - - local deselect=( - # TODO? - test/with_dummyserver/test_socketlevel.py::TestSocketClosing::test_timeout_errors_cause_retries - ) - - epytest ${deselect[@]/#/--deselect } -} diff --git a/dev-python/urllib3/urllib3-1.26.6.ebuild b/dev-python/urllib3/urllib3-1.26.6.ebuild deleted file mode 100644 index b68c311d9396..000000000000 --- a/dev-python/urllib3/urllib3-1.26.6.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8..10} pypy3 ) -PYTHON_REQ_USE="ssl(+)" - -inherit distutils-r1 - -DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more" -HOMEPAGE="https://github.com/urllib3/urllib3" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="brotli test" -RESTRICT="!test? ( test )" - -# dev-python/{pyopenssl,cryptography,idna,certifi} are optional runtime -# dependencies. Do not add them to RDEPEND. They should be unnecessary with -# modern versions of python (>= 3.2). -RDEPEND=" - >=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}] - <dev-python/PySocks-2.0[${PYTHON_USEDEP}] - brotli? ( dev-python/brotlicffi[${PYTHON_USEDEP}] ) -" -BDEPEND=" - test? ( - $(python_gen_cond_dep " - ${RDEPEND} - dev-python/brotlicffi[\${PYTHON_USEDEP}] - dev-python/mock[\${PYTHON_USEDEP}] - dev-python/pytest[\${PYTHON_USEDEP}] - dev-python/pytest-freezegun[\${PYTHON_USEDEP}] - >=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}] - >=www-servers/tornado-4.2.1[\${PYTHON_USEDEP}] - " python3_{6..10}) - ) -" - -python_prepare_all() { - # tests failing if 'localhost.' cannot be resolved - sed -e 's:test_dotted_fqdn:_&:' \ - -i test/with_dummyserver/test_https.py || die - sed -e 's:test_request_host_header_ignores_fqdn_dot:_&:' \ - -i test/with_dummyserver/test_socketlevel.py || die - - distutils-r1_python_prepare_all -} - -python_test() { - local -x CI=1 - # FIXME: get tornado ported - # please keep in sync with BDEPEND! - has "${EPYTHON}" python3.{6..10} || continue - - local deselect=( - # TODO? - test/with_dummyserver/test_socketlevel.py::TestSocketClosing::test_timeout_errors_cause_retries - ) - - epytest ${deselect[@]/#/--deselect } -} diff --git a/dev-python/urllib3/urllib3-2.1.0.ebuild b/dev-python/urllib3/urllib3-2.1.0.ebuild new file mode 100644 index 000000000000..e5dc381b44ca --- /dev/null +++ b/dev-python/urllib3/urllib3-2.1.0.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# please keep this ebuild at EAPI 8 -- sys-apps/portage dep +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_TESTED=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) +PYTHON_REQ_USE="ssl(+)" + +inherit distutils-r1 multiprocessing pypi + +DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more" +HOMEPAGE=" + https://github.com/urllib3/urllib3/ + https://pypi.org/project/urllib3/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="brotli test zstd" +RESTRICT="!test? ( test )" + +# [secure] extra is deprecated and slated for removal, we don't need it: +# https://github.com/urllib3/urllib3/issues/2680 +RDEPEND=" + >=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}] + <dev-python/PySocks-2.0[${PYTHON_USEDEP}] + brotli? ( >=dev-python/brotlicffi-0.8.0[${PYTHON_USEDEP}] ) + zstd? ( >=dev-python/zstandard-0.18.0[${PYTHON_USEDEP}] ) +" +BDEPEND=" + test? ( + $(python_gen_cond_dep " + ${RDEPEND} + dev-python/brotlicffi[\${PYTHON_USEDEP}] + dev-python/freezegun[\${PYTHON_USEDEP}] + dev-python/pytest[\${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[\${PYTHON_USEDEP}] + dev-python/pytest-xdist[\${PYTHON_USEDEP}] + >=dev-python/tornado-4.2.1[\${PYTHON_USEDEP}] + >=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}] + >=dev-python/zstandard-0.18.0[\${PYTHON_USEDEP}] + " "${PYTHON_TESTED[@]}") + ) +" + +src_prepare() { + # upstream considers 0.5 s to be "long" for a timeout + # we get tons of test failures on *fast* systems because of that + sed -i -e '/LONG_TIMEOUT/s:0.5:5:' test/__init__.py || die + distutils-r1_src_prepare +} + +python_test() { + local -x CI=1 + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping tests on ${EPYTHON}" + return + fi + + local EPYTEST_DESELECT=( + # take forever + test/contrib/test_pyopenssl.py::TestSocketSSL::test_requesting_large_resources_via_ssl + test/with_dummyserver/test_socketlevel.py::TestSSL::test_requesting_large_resources_via_ssl + # stupid test, next bump please verify if they fixed it + test/test_poolmanager.py::TestPoolManager::test_deprecated_no_scheme + # fails with newer secure SSL configuration, which removes TLS 1.1 + test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1::test_verify_none_and_good_fingerprint + test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_1::test_verify_none_and_good_fingerprint + test/with_dummyserver/test_https.py::TestHTTPS_TLSv1::test_verify_none_and_good_fingerprint + test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_1::test_verify_none_and_good_fingerprint + # TODO: timeouts + test/contrib/test_pyopenssl.py::TestSocketClosing::test_timeout_errors_cause_retries + test/with_dummyserver/test_socketlevel.py::TestSocketClosing::test_timeout_errors_cause_retries + # warnings, sigh + test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_request_chunked_is_deprecated + ) + + # plugins make tests slower, and more fragile + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + # some tests are very fragile to timing + epytest -p rerunfailures --reruns=10 --reruns-delay=2 \ + -p xdist -n "$(makeopts_jobs)" --dist=worksteal +} diff --git a/dev-python/urllib3/urllib3-2.2.1.ebuild b/dev-python/urllib3/urllib3-2.2.1.ebuild new file mode 100644 index 000000000000..4c4f790babe2 --- /dev/null +++ b/dev-python/urllib3/urllib3-2.2.1.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# please keep this ebuild at EAPI 8 -- sys-apps/portage dep +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_TESTED=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13 ) +PYTHON_REQ_USE="ssl(+)" + +inherit distutils-r1 pypi + +# The package has a test dependency on their own hypercorn fork. +HYPERCORN_COMMIT=d1719f8c1570cbd8e6a3719ffdb14a4d72880abb +DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more" +HOMEPAGE=" + https://github.com/urllib3/urllib3/ + https://pypi.org/project/urllib3/ +" +SRC_URI+=" + test? ( + https://github.com/urllib3/hypercorn/archive/${HYPERCORN_COMMIT}.tar.gz + -> hypercorn-${HYPERCORN_COMMIT}.gh.tar.gz + ) +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="brotli http2 test zstd" +RESTRICT="!test? ( test )" + +# [secure] extra is deprecated and slated for removal, we don't need it: +# https://github.com/urllib3/urllib3/issues/2680 +RDEPEND=" + >=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}] + <dev-python/PySocks-2.0[${PYTHON_USEDEP}] + brotli? ( >=dev-python/brotlicffi-0.8.0[${PYTHON_USEDEP}] ) + http2? ( + <dev-python/h2-5[${PYTHON_USEDEP}] + >=dev-python/h2-4[${PYTHON_USEDEP}] + ) + zstd? ( >=dev-python/zstandard-0.18.0[${PYTHON_USEDEP}] ) +" +BDEPEND=" + test? ( + $(python_gen_cond_dep " + ${RDEPEND} + dev-python/brotlicffi[\${PYTHON_USEDEP}] + dev-python/freezegun[\${PYTHON_USEDEP}] + dev-python/h2[\${PYTHON_USEDEP}] + dev-python/httpx[\${PYTHON_USEDEP}] + dev-python/pytest[\${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[\${PYTHON_USEDEP}] + dev-python/pytest-timeout[\${PYTHON_USEDEP}] + dev-python/pytest-xdist[\${PYTHON_USEDEP}] + dev-python/quart[\${PYTHON_USEDEP}] + dev-python/quart-trio[\${PYTHON_USEDEP}] + dev-python/trio[\${PYTHON_USEDEP}] + >=dev-python/tornado-4.2.1[\${PYTHON_USEDEP}] + >=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}] + >=dev-python/zstandard-0.18.0[\${PYTHON_USEDEP}] + " "${PYTHON_TESTED[@]}") + ) +" + +src_prepare() { + # upstream considers 0.5 s to be "long" for a timeout + # we get tons of test failures on *fast* systems because of that + sed -i -e '/LONG_TIMEOUT/s:0.5:5:' test/__init__.py || die + distutils-r1_src_prepare +} + +python_test() { + local -x PYTHONPATH=${WORKDIR}/hypercorn-${HYPERCORN_COMMIT}/src + local -x CI=1 + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping tests on ${EPYTHON}" + return + fi + + local EPYTEST_DESELECT=( + # TODO: timeouts + test/contrib/test_pyopenssl.py::TestSocketClosing::test_timeout_errors_cause_retries + test/with_dummyserver/test_socketlevel.py::TestSocketClosing::test_timeout_errors_cause_retries + # TODO: random regression? + test/contrib/test_socks.py::TestSocks5Proxy::test_socket_timeout + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local EPYTEST_XDIST=1 + epytest -p timeout -p rerunfailures --reruns=10 --reruns-delay=2 +} |