commit:     77ab25ab03fa3d51d94cd5a48a6a6f30a1205391
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun May 21 04:32:26 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun May 21 04:55:24 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=77ab25ab

dev-python/requests-unixsocket: Fix urllib3-2.0* compatibility

Pull-Request: https://github.com/msabramo/requests-unixsocket/pull/69
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../requests-unixsocket-0.3.0-urllib3-2.patch      | 45 ++++++++++++++++++++++
 .../requests-unixsocket-0.3.0-r4.ebuild            | 38 ++++++++++++++++++
 2 files changed, 83 insertions(+)

diff --git 
a/dev-python/requests-unixsocket/files/requests-unixsocket-0.3.0-urllib3-2.patch
 
b/dev-python/requests-unixsocket/files/requests-unixsocket-0.3.0-urllib3-2.patch
new file mode 100644
index 000000000000..3cbcd2dd59d3
--- /dev/null
+++ 
b/dev-python/requests-unixsocket/files/requests-unixsocket-0.3.0-urllib3-2.patch
@@ -0,0 +1,45 @@
+From 5a614f60e7b3639758a6b77691b4e0c0d6827e94 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Martin=20Roukala=20=28n=C3=A9=20Peres=29?=
+ <martin.rouk...@mupuf.org>
+Date: Fri, 5 May 2023 09:23:41 +0300
+Subject: [PATCH] Inherit HTTPConnection through urllib3.connection, not
+ httplib
+
+By inheriting from `urllib3.connection.HTTPConnection` (that inherits
+from `httplib.HTTPConnection` itself), we can adapt to the internal
+changes in urllib3 2.0 that added a `request()` method that is
+incompatible with httplib.HTTPConnection.request.
+
+This fixes the incompatibility between urllib3 2.0 and requests 1.26+,
+which was the first version that stopped vendoring urllib3.
+
+Reference: 
https://github.com/docker/docker-py/issues/3113#issuecomment-1531570788
+---
+ requests_unixsocket/adapters.py | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/requests_unixsocket/adapters.py b/requests_unixsocket/adapters.py
+index 83e1400..513c243 100644
+--- a/requests_unixsocket/adapters.py
++++ b/requests_unixsocket/adapters.py
+@@ -3,11 +3,6 @@
+ from requests.adapters import HTTPAdapter
+ from requests.compat import urlparse, unquote
+ 
+-try:
+-    import http.client as httplib
+-except ImportError:
+-    import httplib
+-
+ try:
+     from requests.packages import urllib3
+ except ImportError:
+@@ -16,7 +11,7 @@
+ 
+ # The following was adapted from some code from docker-py
+ # https://github.com/docker/docker-py/blob/master/docker/transport/unixconn.py
+-class UnixHTTPConnection(httplib.HTTPConnection, object):
++class UnixHTTPConnection(urllib3.connection.HTTPConnection, object):
+ 
+     def __init__(self, unix_socket_url, timeout=60):
+         """Create an HTTP connection to a unix domain socket

diff --git a/dev-python/requests-unixsocket/requests-unixsocket-0.3.0-r4.ebuild 
b/dev-python/requests-unixsocket/requests-unixsocket-0.3.0-r4.ebuild
new file mode 100644
index 000000000000..e9644e79aedd
--- /dev/null
+++ b/dev-python/requests-unixsocket/requests-unixsocket-0.3.0-r4.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{9..11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Use requests to talk HTTP via a UNIX domain socket"
+HOMEPAGE="
+       https://github.com/msabramo/requests-unixsocket/
+       https://pypi.org/project/requests-unixsocket/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+       dev-python/requests[${PYTHON_USEDEP}]
+       dev-python/urllib3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+       dev-python/pbr[${PYTHON_USEDEP}]
+       test? (
+               dev-python/waitress[${PYTHON_USEDEP}]
+       )
+"
+
+PATCHES=(
+       # https://github.com/msabramo/requests-unixsocket/pull/69
+       "${FILESDIR}/${P}-urllib3-2.patch"
+)
+
+distutils_enable_tests pytest

Reply via email to