Gentoo Archives: gentoo-commits

From: Patrick McLean <chutzpah@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/cherrypy/, dev-python/cherrypy/files/
Date: Thu, 26 Mar 2020 22:39:21
Message-Id: 1585262343.532a77df4942cb0dc5eac6acaa1e97922354103f.chutzpah@gentoo
commit:     532a77df4942cb0dc5eac6acaa1e97922354103f
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu Mar 26 22:36:45 2020 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Mar 26 22:39:03 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=532a77df

dev-python/cherrypy-18.5.0: Version bump, drop pypy3 since it fails tests

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.96, Repoman-2.3.21
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 dev-python/cherrypy/Manifest                       |  1 +
 dev-python/cherrypy/cherrypy-18.5.0.ebuild         | 72 ++++++++++++++++++++++
 .../cherrypy/files/cherrypy-18.5.0-tests.patch     | 21 +++++++
 3 files changed, 94 insertions(+)

diff --git a/dev-python/cherrypy/Manifest b/dev-python/cherrypy/Manifest
index 28d35a738e5..ddc21103d2e 100644
--- a/dev-python/cherrypy/Manifest
+++ b/dev-python/cherrypy/Manifest
@@ -1,4 +1,5 @@
 DIST CherryPy-13.1.0.tar.gz 687221 BLAKE2B ab9c8f50026e26d171877e4e68f1c5a53fa8519190bcc577e12999cdf8a7f52be37f4ba9ed83a276a9f33676839ec63bff68aa8f9f51ddf15557e09123bf2530 SHA512 c32cf009d6a5b557560a00cde0f47a01ae481c7f60b7f340e5c99bf2d7c757e7c7cbf3ef2f4f71c172057aa09ca332f2d211cc97623ea29ba9f17287c7bc42dd
 DIST CherryPy-17.4.1.tar.gz 684113 BLAKE2B 8922c1f6c3e7ac654f84dbc56c7ae17e9ba83e01132dc6a34413064879a5fe22b1dcaa0eac7415b23cf9dc4fe54fd3e5d078121b354599b30c89f69f107208f6 SHA512 588aef80b12bdd27d83fabd466add12753d62760cd0c6beca8ecb78a0cd1e04a507327409bd4cd3c6e6e6133922e06c2f8c6ee2877b42ca635f8001812a4bd8e
 DIST CherryPy-18.1.0.tar.gz 682792 BLAKE2B 0e072bf21656778ff8d64e87a6b19c8c5e9a3057312ebd3155b3b876432709f6f205f267cd9a105727153d458daab3e7113ffe9b3c49f911bd956bf72a19086c SHA512 58ae40ef62efeda051bf5dd35768a599094792d06a0e7c6e34c21cc5b003b700f43a02460d38a00067d255939e341fc438d248e3499fad76ccc8100f8eac94d3
+DIST CherryPy-18.5.0.tar.gz 685362 BLAKE2B 36178ff6e374a89aa4fba9ba34947f1558a7bb3676f014528bb081efa9608ed70648bf2c46b8c4f95b8b14586a93c513ce342955677564f9202733104ba07102 SHA512 6ead115ac2a067cc9f2cb83117b8c53aac8a2a1580159993b7687b5810a41b64d1d1c603ef75a12660fe7aee9c6f403c8cb7bd5e78564f71dc813ae7f28b65fe
 DIST CherryPy-3.8.0.tar.gz 433711 BLAKE2B e1b4a554138a61e8c6313c3055723583d812e573a352d67bd5448f799e4f2f22694b800810b53cd041c665e46d9555b471d1da91c252ade96459778d7a5c07fa SHA512 25f84093e30d814c0980f7d77b98492113470c3297c66ee8652e40650757f8e2b7db01bb8de6d7a1ea9b4bed8b764502b1f563ac6f0d082970bc2d46739d19c2

diff --git a/dev-python/cherrypy/cherrypy-18.5.0.ebuild b/dev-python/cherrypy/cherrypy-18.5.0.ebuild
new file mode 100644
index 00000000000..ecdb57b02f8
--- /dev/null
+++ b/dev-python/cherrypy/cherrypy-18.5.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+inherit distutils-r1
+
+MY_P="CherryPy-${PV}"
+
+DESCRIPTION="CherryPy is a pythonic, object-oriented HTTP framework"
+HOMEPAGE="https://www.cherrypy.org https://pypi.org/project/CherryPy/"
+SRC_URI="mirror://pypi/C/CherryPy/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="ssl test"
+# IUSE="ssl test"
+# See below to see what needs to be done before testing can be enabled
+# for this release.
+#RESTRICT="test"
+
+RDEPEND=">=dev-python/cheroot-8.2.1[${PYTHON_USEDEP}]
+	>=dev-python/portend-2.1.1[${PYTHON_USEDEP}]
+	dev-python/more-itertools[${PYTHON_USEDEP}]
+	dev-python/zc-lockfile[${PYTHON_USEDEP}]
+	dev-python/jaraco-collections[${PYTHON_USEDEP}]
+	ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	dev-python/setuptools_scm[${PYTHON_USEDEP}]
+	test? (
+		dev-python/routes[${PYTHON_USEDEP}]
+		dev-python/simplejson[${PYTHON_USEDEP}]
+		dev-python/objgraph[${PYTHON_USEDEP}]
+		dev-python/backports-unittest-mock[${PYTHON_USEDEP}]
+		dev-python/path-py[${PYTHON_USEDEP}]
+		dev-python/requests-toolbelt[${PYTHON_USEDEP}]
+		dev-python/pytest-services[${PYTHON_USEDEP}]
+	)
+"
+
+PATCHES=(
+	"${FILESDIR}/cherrypy-18.5.0-tests.patch"
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+	# UnicodeEncodeError: 'ascii' codec can't encode character u'\u2603' in position 0: ordinal not in range(128)
+	sed -e 's|@pytest.mark.xfail(py27_on_windows|@pytest.mark.xfail(sys.version_info < (3,)|' \
+		-i cherrypy/test/test_static.py || die
+
+	sed -r -e '/(pytest-sugar|pytest-cov)/ d' \
+		-i setup.py || die
+
+	sed -r -e 's:--cov-report[[:space:]]+[[:graph:]]+::' \
+		-e 's:--cov[[:graph:]]+::' \
+		-e 's:--doctest[[:graph:]]+::' \
+		-i pytest.ini || die
+
+	distutils-r1_python_prepare_all
+}
+
+python_test_old() {
+	if [[ ${EPYTHON} != pypy* ]]; then
+		pytest -vv || die "Testing failed with ${EPYTHON}"
+	fi
+}

diff --git a/dev-python/cherrypy/files/cherrypy-18.5.0-tests.patch b/dev-python/cherrypy/files/cherrypy-18.5.0-tests.patch
new file mode 100644
index 00000000000..d556b867820
--- /dev/null
+++ b/dev-python/cherrypy/files/cherrypy-18.5.0-tests.patch
@@ -0,0 +1,21 @@
+diff --git a/cherrypy/test/test_tools.py b/cherrypy/test/test_tools.py
+index 3a0fd389..e357a445 100644
+--- a/cherrypy/test/test_tools.py
++++ b/cherrypy/test/test_tools.py
+@@ -9,6 +9,8 @@ import unittest
+ import operator
+ from http.client import IncompleteRead
+ 
++import pytest
++
+ import cherrypy
+ from cherrypy import tools
+ from cherrypy._cpcompat import ntou
+@@ -343,6 +345,7 @@ class ToolTests(helper.CPWebCase):
+         expected_msg = tmpl.format(attr='items')
+         self.assertInBody(expected_msg)
+ 
++    @pytest.mark.skipif('sys.hexversion >= 0x03080000')
+     def testCombinedTools(self):
+         expectedResult = (ntou('Hello,world') +
+                           europoundUnicode).encode('utf-8')