You have a test suite in there. PYTHON_DEPEND="2" DISTUTILS_SRC_TEST="py.test" SUPPORT_PYTHON_ABIS="1" inherit distutils eutils I add the SUPPORT_PYTHON_ABIS="1" to let distutils loose on looping through the python versions for the sake of an easy demo. Leave it out at your pleasure. archtester ws4py # USE_PYTHON="2.6 2.7 2.7-pypy-1.8 2.7-pypy-1.9" ebuild ws4py-0.2.2.ebuild clean test -------------------------------------------------------------------- * Testing of dev-python/ws4py-0.2.2 with CPython 2.6... PYTHONPATH=build-2.6/lib py.test ============================= test session starts ============================= platform linux2 -- Python 2.6.8 -- pytest-2.2.4 collected 22 items test/test_cherrypy.py . test/test_frame.py ............ test/test_stream.py ......... ========================== 22 passed in 0.37 seconds ========================== * Testing of dev-python/ws4py-0.2.2 with CPython 2.7... PYTHONPATH=build-2.7/lib py.test ============================= test session starts ============================= platform linux2 -- Python 2.7.3 -- pytest-2.2.4 collected 22 items test/test_cherrypy.py . test/test_frame.py ............ test/test_stream.py ......... ========================== 22 passed in 0.38 seconds ========================== * Testing of dev-python/ws4py-0.2.2 with PyPy 1.8 (Python 2.7)... PYTHONPATH=build-2.7-pypy-1.8/lib py.test ============================= test session starts ============================= platform linux2 -- Python 2.7.2[pypy-1.8.0-final] -- pytest-2.2.4 collected 22 items test/test_cherrypy.py . test/test_frame.py ............ test/test_stream.py ......... ========================== 22 passed in 2.40 seconds ========================== * Testing of dev-python/ws4py-0.2.2 with PyPy 1.9 (Python 2.7)... PYTHONPATH=build-2.7-pypy-1.9/lib py.test ============================= test session starts ============================= platform linux2 -- Python 2.7.2[pypy-1.9.0-final] -- pytest-2.2.4 collected 22 items test/test_cherrypy.py . test/test_frame.py ............ test/test_stream.py ......... ========================== 22 passed in 2.15 seconds ========================== # We don't have a gevent pkg in the tree, so punt. Not any more. rm -rf "${ED}$(python_get_sitedir)"/ws4py/*/gevent*.py Review at your pleasure. archtester ws4py # USE_PYTHON="2.6 2.7 2.7-pypy-1.8 2.7-pypy-1.9" ebuild ws4py-0.2.2.ebuild clean merge >>> /usr/share/doc/ws4py-0.2.2/README.md.bz2 * Compilation and optimization of Python modules for CPython 2.6 [ ok ] * Compilation and optimization of Python modules for CPython 2.7 [ ok ] * Compilation and optimization of Python modules for PyPy 1.8(Python 2.7)[ ok ] * Compilation and optimization of Python modules for PyPy 1.9(Python 2.7)[ ok ] >>> dev-python/ws4py-0.2.2 merged. Note fully pypy capable
Tests explode with py3: ==================================== ERRORS ==================================== ____________________ ERROR collecting test/test_cherrypy.py ____________________ /usr/lib64/python3.2/site-packages/_pytest/python.py:265: in _importtestmodule > mod = self.fspath.pyimport(ensuresyspath=True) /usr/lib64/python3.2/site-packages/py/_path/local.py:532: in pyimport > __import__(modname) /usr/lib64/python3.2/site-packages/_pytest/assertion/rewrite.py:156: in load_module > py.builtin.exec_(co, mod.__dict__) test/test_cherrypy.py:5: in <module> > from ws4py.server.cherrypyserver import WebSocketPlugin, WebSocketTool E File "/var/tmp/portage/dev-python/ws4py-0.2.2-r1/work/ws4py-0.2.2/ws4py/server/cherrypyserver.py", line 197 E addr = (request.remote.ip, request.remote.port) E ^ E TabError: inconsistent use of tabs and spaces in indentation _____________________ ERROR collecting test/test_stream.py _____________________ /usr/lib64/python3.2/site-packages/_pytest/python.py:265: in _importtestmodule > mod = self.fspath.pyimport(ensuresyspath=True) /usr/lib64/python3.2/site-packages/py/_path/local.py:532: in pyimport > __import__(modname) /usr/lib64/python3.2/site-packages/_pytest/assertion/rewrite.py:156: in load_module > py.builtin.exec_(co, mod.__dict__) test/test_stream.py:9: in <module> > from ws4py.streaming import Stream E File "/var/tmp/portage/dev-python/ws4py-0.2.2-r1/work/ws4py-0.2.2/ws4py/streaming.py", line 254 E except struct.error, sr: E ^ E SyntaxError: invalid syntax
A minor update. setup.py implicates pythons2.[67] supposrt. PYTHON_DEPEND="2" which can now become PYTHON_DEPEND="2:2.6"
hmm here's a little more to please consider. IUSE="+client +server +threads test" RDEPEND="client? ( dev-lang/python[threads?] )" DEPEND="${RDEPEND} test? ( dev-python/cherrypy )" seeing IUSE sets +threads, that rather implies PYTHON_USE_WITH="threads"
should be all set now in the tree; thanks for the report! Commit message: Version bump http://sources.gentoo.org/dev-python/ws4py/ws4py-0.2.2.ebuild?rev=1.1 http://sources.gentoo.org/dev-python/ws4py/ws4py-9999.ebuild?r1=1.3&r2=1.4