summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Payno <vpayno+gentoo@gmail.com>2020-03-11 14:57:30 -0700
committerPatrick McLean <chutzpah@gentoo.org>2020-03-11 16:17:26 -0700
commitcbbd4be8b12d0791d198344184481a0a5ec989aa (patch)
tree96b45b51245a8afe17e6ed695ef81a074c2216cf /dev-python
parentmedia-libs/mlt: Switch 6.20.0-r0 to ruby25 (diff)
downloadgentoo-cbbd4be8b12d0791d198344184481a0a5ec989aa.tar.gz
gentoo-cbbd4be8b12d0791d198344184481a0a5ec989aa.tar.bz2
gentoo-cbbd4be8b12d0791d198344184481a0a5ec989aa.zip
dev-python/docker-py-4.2.0-r1: add python 3.8 support
Signed-off-by: Victor Payno <vpayno+gentoo@gmail.com> Signed-off-by: Patrick McLean <chutzpah@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/14930 Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/docker-py/docker-py-4.2.0-r1.ebuild44
-rw-r--r--dev-python/docker-py/files/docker-py-4.2.0-fix_splitnport.patch59
2 files changed, 103 insertions, 0 deletions
diff --git a/dev-python/docker-py/docker-py-4.2.0-r1.ebuild b/dev-python/docker-py/docker-py-4.2.0-r1.ebuild
new file mode 100644
index 000000000000..3464896ea91a
--- /dev/null
+++ b/dev-python/docker-py/docker-py-4.2.0-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python client for Docker"
+HOMEPAGE="https://github.com/docker/docker-py"
+SRC_URI="https://github.com/docker/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !~dev-python/requests-2.18.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/websocket-client-0.32.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ test? (
+ ${RDEPEND}
+ >=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.4.2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.9.1[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix_splitnport.patch
+)
+
+distutils_enable_sphinx docs \
+ 'dev-python/recommonmark' \
+ '>=dev-python/sphinx-1.4.6'
+
+python_test() {
+ pytest -vv tests/unit/ || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/docker-py/files/docker-py-4.2.0-fix_splitnport.patch b/dev-python/docker-py/files/docker-py-4.2.0-fix_splitnport.patch
new file mode 100644
index 000000000000..6eda63459dd9
--- /dev/null
+++ b/dev-python/docker-py/files/docker-py-4.2.0-fix_splitnport.patch
@@ -0,0 +1,59 @@
+diff --git a/docker/utils/utils.py b/docker/utils/utils.py
+index 447760b..3996d08 100644
+--- a/docker/utils/utils.py
++++ b/docker/utils/utils.py
+@@ -17,10 +17,9 @@ from ..constants import DEFAULT_NPIPE
+ from ..constants import BYTE_UNITS
+
+ if six.PY2:
+- from urllib import splitnport
+ from urlparse import urlparse
+ else:
+- from urllib.parse import splitnport, urlparse
++ from urllib.parse import urlparse
+
+
+ def create_ipam_pool(*args, **kwargs):
+@@ -278,7 +277,7 @@ def parse_host(addr, is_win32=False, tls=False):
+ if proto != 'ssh':
+ raise errors.DockerException(
+ 'Invalid bind address format: port is required:'
+- ' {}'.format(addr)
++ ' {}://{}'.format(proto, addr)
+ )
+ port = 22
+
+@@ -295,6 +294,33 @@ def parse_host(addr, is_win32=False, tls=False):
+ return "{}://{}".format(proto, path).rstrip('/')
+ return '{0}://{1}:{2}{3}'.format(proto, host, port, path).rstrip('/')
+
++def splitnport(netloc):
++ import re
++
++ host_port_re1 = re.compile(r"^(.*):([0-9]*)$", re.DOTALL)
++ host_port_re2 = re.compile(r"^(.*)$", re.DOTALL)
++
++ host = None
++ port = None
++
++ match = host_port_re1.match(netloc)
++
++ if match:
++ host, port = match.groups()
++ else:
++ match = host_port_re2.match(netloc)
++ if match:
++ host = match.groups()[0]
++ port = None
++
++ if host == '':
++ host = None
++ if port == '':
++ port = None
++
++ port = int(port) if port else 0
++
++ return host, port or None
+
+ def parse_devices(devices):
+ device_list = []