From 9845166beac8a03a2ad89cd22ed3c5356cba3f49 Mon Sep 17 00:00:00 2001 From: Justin Lecher Date: Thu, 21 Jan 2016 11:22:40 +0100 Subject: dev-python/urllib3: Unbundle system libs Package-Manager: portage-2.2.27 Signed-off-by: Justin Lecher --- .../urllib3/files/urllib3-1.13.1-unbundle.patch | 16 +++ dev-python/urllib3/urllib3-1.13.1-r1.ebuild | 116 +++++++++++++++++++++ dev-python/urllib3/urllib3-1.13.1.ebuild | 89 ---------------- 3 files changed, 132 insertions(+), 89 deletions(-) create mode 100644 dev-python/urllib3/files/urllib3-1.13.1-unbundle.patch create mode 100644 dev-python/urllib3/urllib3-1.13.1-r1.ebuild delete mode 100644 dev-python/urllib3/urllib3-1.13.1.ebuild (limited to 'dev-python') diff --git a/dev-python/urllib3/files/urllib3-1.13.1-unbundle.patch b/dev-python/urllib3/files/urllib3-1.13.1-unbundle.patch new file mode 100644 index 000000000000..76ea5b7b69d1 --- /dev/null +++ b/dev-python/urllib3/files/urllib3-1.13.1-unbundle.patch @@ -0,0 +1,16 @@ + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 0a2dac3..b7ad412 100644 +--- a/setup.py ++++ b/setup.py +@@ -42,7 +42,7 @@ setup(name='urllib3', + url='http://urllib3.readthedocs.org/', + license='MIT', + packages=['urllib3', +- 'urllib3.packages', 'urllib3.packages.ssl_match_hostname', ++ 'urllib3.packages', + 'urllib3.contrib', 'urllib3.util', + ], + requires=[], diff --git a/dev-python/urllib3/urllib3-1.13.1-r1.ebuild b/dev-python/urllib3/urllib3-1.13.1-r1.ebuild new file mode 100644 index 000000000000..bc38d98e2ef0 --- /dev/null +++ b/dev-python/urllib3/urllib3-1.13.1-r1.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{3,4,5} pypy ) +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 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="doc test" + +RDEPEND=" + dev-python/certifi[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] + >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}] + $(python_gen_cond_dep 'dev-python/backports-ssl-match-hostname[${PYTHON_USEDEP}]' python2_7 pypy) + $(python_gen_cond_dep 'dev-python/ndg-httpsclient[${PYTHON_USEDEP}]' python2_7 pypy) + $(python_gen_cond_dep 'dev-python/pyasn1[${PYTHON_USEDEP}]' python2_7 pypy) + " +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + test? ( + ${RDEPEND} + >=www-servers/tornado-4.2.1[$(python_gen_usedep 'python*')] + >=dev-python/mock-1.3.0[${PYTHON_USEDEP}] + >=dev-python/nose-1.3.7[${PYTHON_USEDEP}] + >=dev-python/nose-exclude-0.4.1[${PYTHON_USEDEP}] + ) + doc? ( dev-python/sphinx[${PYTHON_USEDEP}] ) + " + +# Testsuite written requiring mock to be installed under all Cpythons + +PATCHES=( "${FILESDIR}"/${P}-unbundle.patch ) + +python_prepare_all() { + # Replace bundled copy of dev-python/six + cat > urllib3/packages/six.py <<-EOF + from __future__ import absolute_import + from six import * + EOF + + cat > urllib3/contrib/pyopenssl.py <<- EOF + from __future__ import absolute_import + from pyopenssl import * + EOF + + rm -r urllib3/packages/ssl_match_hostname || die + cat > urllib3/packages/ssl_match_hostname.py <<- EOF + from __future__ import absolute_import + try: + from backports.ssl_match_hostname import CertificateError, match_hostname + except ImportError: + from ssl import CertificateError, match_hostname + EOF + + cat > urllib3/packages/ordered_dict.py <<- EOF + from __future__ import absolute_import + from collections import OrderedDict + EOF + + sed \ + -e 's:\.packages\.six:six:g' \ + -e 's:\.six:six:g' \ + -i urllib3/util/response.py urllib3/response.py || die + + sed -i '/cover-min-percentage/d' setup.cfg || die + # Fix tests + sed -i 's/urllib3.packages.six/six/' test/test_retry.py || die + + # Reset source of objects.inv + if use doc; then + local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7) + local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}" + local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html" + local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv" + sed \ + -e "s|'python': ('http://docs.python.org/2.7', None|'${PYTHON_DOC}': ('${PYTHON_DOC_INVENTORY}'|" \ + -i docs/conf.py || die + fi + + distutils-r1_python_prepare_all +} + +python_compile_all() { + use doc && emake -C docs html +} + +python_test() { + # Failures still occur under py2.7. + # https://github.com/shazow/urllib3/issues/621 + + [[ "${EPYTHON}" == pypy ]] && return + + nosetests -v \ + --exclude test_headerdict \ + --exclude test_headers \ + --exclude test_source_address_error \ + --exclude test_no_ssl \ + test || die "Tests fail with ${EPYTHON}" +} + +python_install_all() { + use doc && local HTML_DOCS=( docs/_build/html/. ) + + distutils-r1_python_install_all +} diff --git a/dev-python/urllib3/urllib3-1.13.1.ebuild b/dev-python/urllib3/urllib3-1.13.1.ebuild deleted file mode 100644 index ba3e4231fd27..000000000000 --- a/dev-python/urllib3/urllib3-1.13.1.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -PYTHON_COMPAT=( python2_7 python3_{3,4,5} pypy ) - -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 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" -IUSE="doc test" - -RDEPEND=" - dev-python/certifi[${PYTHON_USEDEP}] - dev-python/six[${PYTHON_USEDEP}] - >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}] - $(python_gen_cond_dep 'dev-python/backports-ssl-match-hostname[${PYTHON_USEDEP}]' python2_7 pypy) - $(python_gen_cond_dep 'dev-python/ndg-httpsclient[${PYTHON_USEDEP}]' python2_7 pypy) - $(python_gen_cond_dep 'dev-python/pyasn1[${PYTHON_USEDEP}]' python2_7 pypy) - " -DEPEND=" - dev-python/setuptools[${PYTHON_USEDEP}] - test? ( - ${RDEPEND} - >=www-servers/tornado-4.2.1[$(python_gen_usedep 'python*')] - >=dev-python/mock-1.3.0[${PYTHON_USEDEP}] - >=dev-python/nose-1.3.7[${PYTHON_USEDEP}] - >=dev-python/nose-exclude-0.4.1[${PYTHON_USEDEP}] - ) - doc? ( dev-python/sphinx[${PYTHON_USEDEP}] ) - " - -# Testsuite written requiring mock to be installed under all Cpythons - -python_prepare_all() { - # Replace bundled copy of dev-python/six - cat > urllib3/packages/six.py <<-EOF - from __future__ import absolute_import - from six import * - EOF - - sed \ - -e 's:\.packages\.six:six:g' \ - -e 's:\.six:six:g' \ - -i urllib3/util/response.py urllib3/response.py || die - - sed -i '/cover-min-percentage/d' setup.cfg || die - # Fix tests - sed -i 's/urllib3.packages.six/six/' test/test_retry.py || die - - # Reset source of objects.inv - if use doc; then - local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7) - local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}" - local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html" - local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv" - sed \ - -e "s|'python': ('http://docs.python.org/2.7', None|'${PYTHON_DOC}': ('${PYTHON_DOC_INVENTORY}'|" \ - -i docs/conf.py || die - fi - - distutils-r1_python_prepare_all -} - -python_compile_all() { - use doc && emake -C docs html -} - -python_test() { - # Failures still occur under py2.7. - # https://github.com/shazow/urllib3/issues/621 - - [[ "${EPYTHON}" == pypy ]] && return - - nosetests -v test || die "Tests fail with ${EPYTHON}" -} - -python_install_all() { - use doc && local HTML_DOCS=( docs/_build/html/. ) - - distutils-r1_python_install_all -} -- cgit v1.2.3-65-gdbad