diff options
author | Michał Górny <mgorny@gentoo.org> | 2021-01-26 17:23:24 +0100 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2021-01-26 19:43:08 +0100 |
commit | cef35aa3489a1db4ea56b44cad0beabb5b4c0051 (patch) | |
tree | b7daf198147e3a59e54393127284ee0081a92f99 /dev-python/urllib3 | |
parent | dev-ml/findlib: QA flags warning ignored (diff) | |
download | gentoo-cef35aa3489a1db4ea56b44cad0beabb5b4c0051.tar.gz gentoo-cef35aa3489a1db4ea56b44cad0beabb5b4c0051.tar.bz2 gentoo-cef35aa3489a1db4ea56b44cad0beabb5b4c0051.zip |
dev-python/urllib3: Backport a fix for BytesWarning
Closes: https://bugs.gentoo.org/755083
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/urllib3')
-rw-r--r-- | dev-python/urllib3/files/urllib3-1.26.2-byteswarning.patch | 25 | ||||
-rw-r--r-- | dev-python/urllib3/urllib3-1.26.2-r2.ebuild | 70 | ||||
-rw-r--r-- | dev-python/urllib3/urllib3-1.26.2-r3.ebuild | 70 |
3 files changed, 165 insertions, 0 deletions
diff --git a/dev-python/urllib3/files/urllib3-1.26.2-byteswarning.patch b/dev-python/urllib3/files/urllib3-1.26.2-byteswarning.patch new file mode 100644 index 000000000000..dfa761c5631e --- /dev/null +++ b/dev-python/urllib3/files/urllib3-1.26.2-byteswarning.patch @@ -0,0 +1,25 @@ +From bab9ca9f7148d6a7f15b83cfa1126bf1c8ceb17d Mon Sep 17 00:00:00 2001 +From: Quentin Pradet <quentin@pradet.me> +Date: Tue, 26 Jan 2021 18:04:17 +0400 +Subject: [PATCH] Don't compare bytes and str in putheader() + +--- + src/urllib3/connection.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/urllib3/connection.py b/src/urllib3/connection.py +index 660d679c..387f3770 100644 +--- a/src/urllib3/connection.py ++++ b/src/urllib3/connection.py +@@ -215,7 +215,7 @@ class HTTPConnection(_HTTPConnection, object): + + def putheader(self, header, *values): + """""" +- if SKIP_HEADER not in values: ++ if not any(isinstance(v, str) and v == SKIP_HEADER for v in values): + _HTTPConnection.putheader(self, header, *values) + elif six.ensure_str(header.lower()) not in SKIPPABLE_HEADERS: + raise ValueError( +-- +2.30.0 + diff --git a/dev-python/urllib3/urllib3-1.26.2-r2.ebuild b/dev-python/urllib3/urllib3-1.26.2-r2.ebuild new file mode 100644 index 000000000000..d967a754ffab --- /dev/null +++ b/dev-python/urllib3/urllib3-1.26.2-r2.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8,9} 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-macos" +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}) + ) +" + +PATCHES=( + "${FILESDIR}/${P}-fix-test_proxy_rejection-test-hang.patch" + "${FILESDIR}/${P}-byteswarning.patch" +) + +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-r3.ebuild b/dev-python/urllib3/urllib3-1.26.2-r3.ebuild new file mode 100644 index 000000000000..28e11d23fe94 --- /dev/null +++ b/dev-python/urllib3/urllib3-1.26.2-r3.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8,9} 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 ~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 )" + +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/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,7,8,9}) + ) +" + +PATCHES=( + "${FILESDIR}/${P}-fix-test_proxy_rejection-test-hang.patch" + "${FILESDIR}/${P}-byteswarning.patch" +) + +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 +} |