summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Pipping <sping@gentoo.org>2018-03-10 00:38:25 +0100
committerSebastian Pipping <sping@gentoo.org>2018-03-10 00:42:56 +0100
commit8c65658fe72ebed4fadd184d74f554f4405b0d7e (patch)
tree2e077c1f1edc3473bfcf268a16d4161e69c40961 /dev-python/ws4py
parentdev-python/yapsy: Python 3.6 (diff)
downloadgentoo-8c65658fe72ebed4fadd184d74f554f4405b0d7e.tar.gz
gentoo-8c65658fe72ebed4fadd184d74f554f4405b0d7e.tar.bz2
gentoo-8c65658fe72ebed4fadd184d74f554f4405b0d7e.zip
dev-python/ws4py: Python 3.6 (for 0.3.4)
Bug: https://bugs.gentoo.org/643732 Package-Manager: Portage-2.3.24, Repoman-2.3.6
Diffstat (limited to 'dev-python/ws4py')
-rw-r--r--dev-python/ws4py/files/ws4py-0.3.4-tests.patch67
-rw-r--r--dev-python/ws4py/ws4py-0.3.4-r1.ebuild55
2 files changed, 122 insertions, 0 deletions
diff --git a/dev-python/ws4py/files/ws4py-0.3.4-tests.patch b/dev-python/ws4py/files/ws4py-0.3.4-tests.patch
new file mode 100644
index 000000000000..dde60f2ed04d
--- /dev/null
+++ b/dev-python/ws4py/files/ws4py-0.3.4-tests.patch
@@ -0,0 +1,67 @@
+From 185c88cb6779b3b15a5c14047bb62b8fcb8d2e57 Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Sat, 10 Mar 2018 00:33:37 +0100
+Subject: [PATCH] Fix AttributeErrors from mistaken Mock.assert_call_once_with
+
+This commit is a backport/subset of:
+https://github.com/Lawouach/WebSocket-for-Python/commit/b5d47f7b3497f1b713a20fe6306b7d9afdd8c408
+---
+ test/test_manager.py | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/test/test_manager.py b/test/test_manager.py
+index 8c229b0..aacc162 100644
+--- a/test/test_manager.py
++++ b/test/test_manager.py
+@@ -16,10 +16,10 @@ class WSManagerTest(unittest.TestCase):
+ ws.sock.fileno.return_value = 1
+
+ m.add(ws)
+- m.poller.register.assert_call_once_with(ws)
++ m.poller.register.assert_called_once_with(1)
+
+ m.remove(ws)
+- m.poller.unregister.assert_call_once_with(ws)
++ m.poller.unregister.assert_called_once_with(1)
+
+ @patch('ws4py.manager.SelectPoller')
+ def test_cannot_add_websocket_more_than_once(self, MockSelectPoller):
+@@ -49,7 +49,7 @@ class WSManagerTest(unittest.TestCase):
+ self.assertEqual(len(m), 1)
+ m.remove(ws)
+ self.assertEqual(len(m), 0)
+- m.poller.unregister.assert_call_once_with(ws)
++ m.poller.unregister.assert_called_once_with(1)
+ m.poller.reset_mock()
+
+ m.remove(ws)
+@@ -98,7 +98,7 @@ class WSManagerTest(unittest.TestCase):
+ m.add(ws)
+ m.start()
+
+- ws.terminate.assert_call_once_with()
++ ws.terminate.assert_called_once_with()
+
+ m.stop()
+
+@@ -109,7 +109,7 @@ class WSManagerTest(unittest.TestCase):
+ ws = MagicMock()
+ m.add(ws)
+ m.close_all()
+- ws.terminate.assert_call_once_with(1001, 'Server is shutting down')
++ ws.close.assert_called_once_with(code=1001, reason='Server is shutting down')
+
+ @patch('ws4py.manager.SelectPoller')
+ def test_broadcast(self, MockSelectPoller):
+@@ -120,7 +120,7 @@ class WSManagerTest(unittest.TestCase):
+ m.add(ws)
+
+ m.broadcast(b'hello there')
+- ws.send.assert_call_once_with(b'hello there')
++ ws.send.assert_called_once_with(b'hello there', False)
+
+ @patch('ws4py.manager.SelectPoller')
+ def test_broadcast_failure_must_not_break_caller(self, MockSelectPoller):
+--
+2.16.2
+
diff --git a/dev-python/ws4py/ws4py-0.3.4-r1.ebuild b/dev-python/ws4py/ws4py-0.3.4-r1.ebuild
new file mode 100644
index 000000000000..6ab67dfda7d9
--- /dev/null
+++ b/dev-python/ws4py/ws4py-0.3.4-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# We could depend on dev-python/cherrypy when USE=server, but
+# that is an optional component ...
+# Same for www-servers/tornado and USE=client ... so why not???
+# pypy is viable but better with a cutdown set of deps
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE="threads?"
+
+inherit distutils-r1
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/Lawouach/WebSocket-for-Python.git"
+ inherit git-2
+else
+ inherit vcs-snapshot
+ SRC_URI="https://github.com/Lawouach/WebSocket-for-Python/tarball/v${PV} -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86"
+fi
+
+DESCRIPTION="WebSocket client and server library for Python 2 and 3 as well as PyPy"
+HOMEPAGE="https://github.com/Lawouach/WebSocket-for-Python"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="+client +server test +threads"
+# doc build requires sphinxcontrib ext packages absent from portage
+
+RDEPEND=">=dev-python/greenlet-0.4.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/gevent[${PYTHON_USEDEP}]' python2_7)
+ >=dev-python/cython-0.19.1[${PYTHON_USEDEP}]
+ client? ( >=www-servers/tornado-3.1[${PYTHON_USEDEP}] )
+ server? ( <dev-python/cherrypy-9[${PYTHON_USEDEP}] )"
+DEPEND="test? (
+ <dev-python/cherrypy-9[${PYTHON_USEDEP}]
+ dev-python/unittest2[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-tests.patch
+)
+
+python_test() {
+ # testsuite displays an issue with mock under py3 but is non fatal
+ "${PYTHON}" -m unittest discover || die "Tests failed under ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+ use client || rm -rf "${D}$(python_get_sitedir)"/ws4py/client
+ use server || rm -rf "${D}$(python_get_sitedir)"/ws4py/server
+}