summaryrefslogtreecommitdiff
path: root/dev-python/urllib3
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/urllib3')
-rw-r--r--dev-python/urllib3/Manifest3
-rw-r--r--dev-python/urllib3/files/urllib3-1.26.2-fix-test_proxy_rejection-test-hang.patch87
-rw-r--r--dev-python/urllib3/urllib3-1.24.2-r1.ebuild64
-rw-r--r--dev-python/urllib3/urllib3-1.26.0.ebuild69
-rw-r--r--dev-python/urllib3/urllib3-1.26.1.ebuild69
-rw-r--r--dev-python/urllib3/urllib3-1.26.2-r1.ebuild8
-rw-r--r--dev-python/urllib3/urllib3-1.26.2.ebuild6
7 files changed, 98 insertions, 208 deletions
diff --git a/dev-python/urllib3/Manifest b/dev-python/urllib3/Manifest
index a02f16c957c0..2875f144904d 100644
--- a/dev-python/urllib3/Manifest
+++ b/dev-python/urllib3/Manifest
@@ -1,5 +1,2 @@
-DIST urllib3-1.24.2.tar.gz 230699 BLAKE2B 9c2f2be8fa743f542493d75072c02423d1bd40189561fa0ea393a8a2515b24da9a2a383aeec35b55bdd2a9954d3d585450d759548358ed91ecfdb9ec03d391b6 SHA512 9939e9e7c4da30b5effb334969cd835c9d0404a136761098203c699570aab02e63fb3f1b4ab680def0bc0906fabe5f0782ab94cf3095ff10ccf9b3c371653cf2
DIST urllib3-1.25.11.tar.gz 260300 BLAKE2B 06bd2107bad479e36c6474f95567c3ecb119d18b193b358df9e345e4d09392366255b21597b26fbf2374220b921cc2117a1972f88021c3a6ebac3844a319acbe SHA512 58f77edb9ced62cbac7b0baf2651c07f9f413267f103730ee25f08c5d4d0bf52a2ace02f58841bcd55652db677c7a1dc9a756681e7e32d590bc69d8b93e8f173
-DIST urllib3-1.26.0.tar.gz 291709 BLAKE2B e750bcd28c6205cb8e7f12c2a1c6123d48979877b206914fc122f67ff6cdf3e16e5d7ee0ffae1f4af40f028075f9592cdebf8856ca7e29b541283a8023afbf0d SHA512 5e5a78486cded9a378532a094818cfcaf6ec621d3aefbffac4c78f130798ee06f08e47d14f3d154274a502c8c1e3963a12d65030ba6109108ed786202637bd42
-DIST urllib3-1.26.1.tar.gz 286708 BLAKE2B 19f210a56850e9754faa7a7a309292ba69450ba3ca232bc42f10e1f163eb72e7430eb233d8a0ee1cf97acbdfa132b2e515561e67fade3806347e04e6c7869db2 SHA512 5fbb28e190ecf58aae0932994bc1adb1542041bf96f176a9ece22bd6ee8d4ae8dc8f40dea77359601b704025e65c65ca27137f65d3d47fac3fc796b7bbd112f3
DIST urllib3-1.26.2.tar.gz 286877 BLAKE2B dc5884e2561fae476ba8695cf9e50abb63d8dfc45ad6219d07ba30ecae48e5f27fbdd9a324c0e71f739555c90a3653f18eda513f2ea45b76abcd8c6c714ec0f7 SHA512 4de7cf844ed0deb83c4129e1b1742eafefe95035dd7ffbeaeaaccabca8bd361de9fa240882ea4dec16a7f0b5c5684416656f0d58bea15e7aefd4132024a25c9e
diff --git a/dev-python/urllib3/files/urllib3-1.26.2-fix-test_proxy_rejection-test-hang.patch b/dev-python/urllib3/files/urllib3-1.26.2-fix-test_proxy_rejection-test-hang.patch
new file mode 100644
index 000000000000..2af65e84f016
--- /dev/null
+++ b/dev-python/urllib3/files/urllib3-1.26.2-fix-test_proxy_rejection-test-hang.patch
@@ -0,0 +1,87 @@
+Fixes a hang on test_proxy_rejection.
+https://github.com/urllib3/urllib3/commit/087d4de8487379033970898866625c00e0d51c85.patch
+
+From 087d4de8487379033970898866625c00e0d51c85 Mon Sep 17 00:00:00 2001
+From: Quentin Pradet <quentin.pradet@gmail.com>
+Date: Tue, 3 Nov 2020 17:15:50 +0400
+Subject: [PATCH] Fix test_proxy_rejection even with two localhost entries
+
+---
+ test/contrib/test_socks.py | 34 +++++++++++++++++++++++++++++++---
+ 1 file changed, 31 insertions(+), 3 deletions(-)
+
+diff --git a/test/contrib/test_socks.py b/test/contrib/test_socks.py
+index 1966513c1..ed716f188 100644
+--- a/test/contrib/test_socks.py
++++ b/test/contrib/test_socks.py
+@@ -1,8 +1,12 @@
++from __future__ import absolute_import
++
+ import socket
+ import threading
++from socket import getaddrinfo as real_getaddrinfo
+ from test import SHORT_TIMEOUT
+
+ import pytest
++import socks as py_socks
+
+ from dummyserver.server import DEFAULT_CA, DEFAULT_CERTS
+ from dummyserver.testcase import IPV4SocketDummyServerTestCase
+@@ -87,6 +91,26 @@ def _address_from_socket(sock):
+ raise RuntimeError("Unexpected addr type: %r" % addr_type)
+
+
++def _set_up_fake_getaddrinfo(monkeypatch):
++ # Work around https://github.com/urllib3/urllib3/pull/2034
++ # Nothing prevents localhost to point to two different IPs. For example, in the
++ # Ubuntu set up by GitHub Actions, localhost points both to 127.0.0.1 and ::1.
++ #
++ # In case of failure, PySocks will try the same request on both IPs, but our
++ # handle_socks[45]_negotiation functions don't handle retries, which leads either to
++ # a deadlock or a timeout in case of a failure on the first address.
++ #
++ # However, some tests need to exercise failure. We don't want retries there, but
++ # can't affect PySocks retries via its API. Instead, we monkeypatch PySocks so that
++ # it only sees a single address, which effectively disables retries.
++ def fake_getaddrinfo(addr, port, family, socket_type):
++ gai_list = real_getaddrinfo(addr, port, family, socket_type)
++ gai_list = [gai for gai in gai_list if gai[0] == socket.AF_INET]
++ return gai_list[:1]
++
++ monkeypatch.setattr(py_socks.socket, "getaddrinfo", fake_getaddrinfo)
++
++
+ def handle_socks5_negotiation(sock, negotiate, username=None, password=None):
+ """
+ Handle the SOCKS5 handshake.
+@@ -334,7 +358,8 @@ def request_handler(listener):
+ with pytest.raises(NewConnectionError):
+ pm.request("GET", "http://example.com", retries=False)
+
+- def test_proxy_rejection(self):
++ def test_proxy_rejection(self, monkeypatch):
++ _set_up_fake_getaddrinfo(monkeypatch)
+ evt = threading.Event()
+
+ def request_handler(listener):
+@@ -429,7 +454,9 @@ def request_handler(listener):
+ assert response.data == b""
+ assert response.headers["Server"] == "SocksTestServer"
+
+- def test_socks_with_invalid_password(self):
++ def test_socks_with_invalid_password(self, monkeypatch):
++ _set_up_fake_getaddrinfo(monkeypatch)
++
+ def request_handler(listener):
+ sock = listener.accept()[0]
+
+@@ -592,7 +619,8 @@ def request_handler(listener):
+ response = pm.request("GET", "http://example.com")
+ assert response.status == 200
+
+- def test_proxy_rejection(self):
++ def test_proxy_rejection(self, monkeypatch):
++ _set_up_fake_getaddrinfo(monkeypatch)
+ evt = threading.Event()
+
+ def request_handler(listener):
diff --git a/dev-python/urllib3/urllib3-1.24.2-r1.ebuild b/dev-python/urllib3/urllib3-1.24.2-r1.ebuild
deleted file mode 100644
index 77804c7832db..000000000000
--- a/dev-python/urllib3/urllib3-1.24.2-r1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{6,7,8,9,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/shazow/urllib3"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}]
- <dev-python/PySocks-2.0[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/cryptography-1.3.4[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]
- >=dev-python/idna-2.0.0[${PYTHON_USEDEP}]
-"
-DEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- $(python_gen_cond_dep "
- ${RDEPEND}
- dev-python/mock[\${PYTHON_USEDEP}]
- dev-python/pytest[\${PYTHON_USEDEP}]
- >=www-servers/tornado-4.2.1[\${PYTHON_USEDEP}]
- " 'python3*')
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/alabaster \
- dev-python/mock
-
-python_prepare_all() {
- # skip appengine tests
- rm -r test/appengine || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- # FIXME: get tornado ported
- case ${EPYTHON} in
- python2*)
- ewarn "Tests are being skipped for Python 2 in order to reduce the number"
- ewarn "of circular dependencies for Python 2 removal. Please test"
- ewarn "manually in a virtualenv."
- ;;
- python3*)
- pytest -vv || die "Tests fail with ${EPYTHON}"
- ;;
- esac
-}
diff --git a/dev-python/urllib3/urllib3-1.26.0.ebuild b/dev-python/urllib3/urllib3-1.26.0.ebuild
deleted file mode 100644
index acfa441040ae..000000000000
--- a/dev-python/urllib3/urllib3-1.26.0.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8,9,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"
-IUSE="brotli test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}]
- <dev-python/PySocks-2.0[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/cryptography-1.3.4[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]
- >=dev-python/idna-2.0.0[${PYTHON_USEDEP}]
- brotli? ( dev-python/brotlipy[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- $(python_gen_cond_dep "
- ${RDEPEND}
- dev-python/brotlipy[\${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,7,8,9})
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/alabaster \
- dev-python/mock
-
-python_prepare_all() {
- # https://github.com/urllib3/urllib3/issues/1756
- sed -e 's:10.255.255.1:240.0.0.0:' \
- -i test/__init__.py || die
- # 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
- case ${EPYTHON} in
- python3*)
- pytest -vv || die "Tests fail with ${EPYTHON}"
- ;;
- esac
-}
diff --git a/dev-python/urllib3/urllib3-1.26.1.ebuild b/dev-python/urllib3/urllib3-1.26.1.ebuild
deleted file mode 100644
index acfa441040ae..000000000000
--- a/dev-python/urllib3/urllib3-1.26.1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8,9,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"
-IUSE="brotli test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}]
- <dev-python/PySocks-2.0[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/cryptography-1.3.4[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]
- >=dev-python/idna-2.0.0[${PYTHON_USEDEP}]
- brotli? ( dev-python/brotlipy[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- $(python_gen_cond_dep "
- ${RDEPEND}
- dev-python/brotlipy[\${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,7,8,9})
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/alabaster \
- dev-python/mock
-
-python_prepare_all() {
- # https://github.com/urllib3/urllib3/issues/1756
- sed -e 's:10.255.255.1:240.0.0.0:' \
- -i test/__init__.py || die
- # 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
- case ${EPYTHON} in
- python3*)
- pytest -vv || die "Tests fail with ${EPYTHON}"
- ;;
- esac
-}
diff --git a/dev-python/urllib3/urllib3-1.26.2-r1.ebuild b/dev-python/urllib3/urllib3-1.26.2-r1.ebuild
index 3e35d3af8d0a..5c6f31bf986d 100644
--- a/dev-python/urllib3/urllib3-1.26.2-r1.ebuild
+++ b/dev-python/urllib3/urllib3-1.26.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,7 @@ 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 ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~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 )"
@@ -41,6 +41,10 @@ BDEPEND="
)
"
+PATCHES=(
+ "${FILESDIR}/${P}-fix-test_proxy_rejection-test-hang.patch"
+)
+
python_prepare_all() {
# https://github.com/urllib3/urllib3/issues/1756
sed -e 's:10.255.255.1:240.0.0.0:' \
diff --git a/dev-python/urllib3/urllib3-1.26.2.ebuild b/dev-python/urllib3/urllib3-1.26.2.ebuild
index 3c897f46e8d9..6c1d6369e39c 100644
--- a/dev-python/urllib3/urllib3-1.26.2.ebuild
+++ b/dev-python/urllib3/urllib3-1.26.2.ebuild
@@ -14,7 +14,7 @@ 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-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-macos"
IUSE="brotli test"
RESTRICT="!test? ( test )"
@@ -41,6 +41,10 @@ BDEPEND="
)
"
+PATCHES=(
+ "${FILESDIR}/${P}-fix-test_proxy_rejection-test-hang.patch"
+)
+
python_prepare_all() {
# https://github.com/urllib3/urllib3/issues/1756
sed -e 's:10.255.255.1:240.0.0.0:' \