summaryrefslogtreecommitdiff
path: root/dev-python/txaio
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-python/txaio
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-python/txaio')
-rw-r--r--dev-python/txaio/Manifest16
-rw-r--r--dev-python/txaio/files/txaio-2.7.1.chained-callback.patch48
-rw-r--r--dev-python/txaio/files/txaio-2.7.1.f._result.patch36
-rw-r--r--dev-python/txaio/files/util.py40
-rw-r--r--dev-python/txaio/metadata.xml20
-rw-r--r--dev-python/txaio/txaio-2.3.1.ebuild48
-rw-r--r--dev-python/txaio/txaio-2.5.1-r1.ebuild67
-rw-r--r--dev-python/txaio/txaio-2.7.1.ebuild71
-rw-r--r--dev-python/txaio/txaio-2.8.1.ebuild65
-rw-r--r--dev-python/txaio/txaio-2.8.2.ebuild65
10 files changed, 476 insertions, 0 deletions
diff --git a/dev-python/txaio/Manifest b/dev-python/txaio/Manifest
new file mode 100644
index 000000000000..bb6d6481a4d9
--- /dev/null
+++ b/dev-python/txaio/Manifest
@@ -0,0 +1,16 @@
+AUX txaio-2.7.1.chained-callback.patch 1297 SHA256 01897b344609d4ceaa710027969fb0d001e5e0e622bf45ead378377e450f1558 SHA512 69132c9cbda71da30ecce6385552e1d3ecdf0ca57562d7c0ef2dd8917ef1d1bfd03c55008690f34a31d31418bb7cdb9f690c75a0b996a4f8de0b0642a824e40e WHIRLPOOL 3ac168112f43f2cd6ac887e0b13b4ebe294b2aa8bb627bcf6542b36b7339cdfae4bbdca90ef7fa820d18264ce7d1411ecfcb6c7620a5c00d167cc1ed336e07a9
+AUX txaio-2.7.1.f._result.patch 1140 SHA256 c9c2145f8464c9a077bf9653f2fdda1e916f76264b5e673e936301bc1530fec4 SHA512 bcf4681ca1501dc9b21514dca68fb36d6b50550fe1760b4af00786a698b26c3fb64afebcf29c2404dd0923867da010bfa41afa9501f59f43306b55871d951a29 WHIRLPOOL f80751cfdc5922c3442ed51af82bb977deb5531572ad8135531362e98a861816d096f154fec9e6ac5dc4334962a409c88e50e37ff74b246b65f1ac8325b92838
+AUX util.py 977 SHA256 50c5d06848ba4ad77a5a81248607ade9b9f56c08dc76aa545f88abaf320c044d SHA512 a82754ff4b81cdacd7010cb30065ae1a3408b2ed6e8a47021a2c7066adb614a87cc3d70b7980f10b9a6b063f4087ee44c5df2adab0d23ce90c1beb1368b4a498 WHIRLPOOL 6f9813bf1fe2a29ef127d13df7e7b4b5065a7a6d33cfea46ffcb92c479ca738844f32c61767e69ee9d840e952abac7bbb523b8a55e6bc16d4a70660cb1dd85bd
+DIST txaio-2.3.1.tar.gz 36755 SHA256 1111c87bff73e22c2067318cbb267781e2f651c485d21783b25e1e768eabab67 SHA512 019d686102c862ec308e8ffdfbca25cda1b495adef73ee8b817a465a8054a24590ab0f1e3322df92d0a528152fc5b987b98b039dcd87308e81854d3c6a9fb146 WHIRLPOOL c5f550788f669237d24c5194348a84f5e6e8ca5206bd647ff8e5dee80705809601b798c4eecca260defa69d3276c77adbee6599529b48a325ec7865902c77d89
+DIST txaio-2.5.1.tar.gz 41577 SHA256 625076477182e2dde78b79d0b2b0d6b3cecb0e24fe0ea7eaf2abd26a4c0dd1de SHA512 921b4f6738a91923cffe00eed30237e0a2a12dbd42476587b4902675d3d7d8ecbf3b6fbf47afa5648836f779f1c22f7edf9bd94d44dcacee86d03a1dd16450a5 WHIRLPOOL 24286b510c7f1911dd2a315362c76aff77bc2246164a4a1ba50573d87408db9e0e384e5063cfdbee96501b3d03decc9f4198aae9f8cd375d8c49de817d0eda63
+DIST txaio-2.7.1.tar.gz 43591 SHA256 9eea85c27ff8ac28049a29b55383f5c162351f855860e5081ff4632d65a5b4d2 SHA512 d77a8b5e8fc21be0bef43f2a6795229456a351abc1a5eb6d2b7de0da0a58e67a228cb06d1a7962efcc760099ef5df94e9421875ea5628985260911efc7deb85e WHIRLPOOL 2acff5b81fd17afd7b7d986812d742a6e09781f8f6f960ae6c08a52c6535156736492ecaca0c8026192289ab28e3cceb40e03aa4512922bc64ece7c900abd25c
+DIST txaio-2.8.1.tar.gz 43558 SHA256 fe2e0e4d3a06705f86bbd351fdd1f39dae61755e44162375e024acbf32eafddb SHA512 5ea41dbc8fef6dcd04a95c85bd57c4f2fd57f7091667da8a822a0e8bad465f76c2ace574e4ae54f941ad6e169dce6fb28d752831d7a06eb240ef72cc3817a056 WHIRLPOOL 5fec7bba468b52bf3ba13328d7e5f00a28eb487e238880d5afbf79bd6d8a017f39e2aa907c095a8c0fe28c41b2c917f4f72f8ad0f59ad241f329ca91a1f6961f
+DIST txaio-2.8.2.tar.gz 43670 SHA256 484cd6c4cdd3f6081b87188f3b2b9a36e02fba6816e8256917c4f6571b567571 SHA512 8b60a64ebfa1208995bc42e6ccbc87c4c3cd4687cb431435c6450cff31e5d0dba468c3f3494902e666cb2ee6dea84ded458fd8f1b3b9c25421b440dcd3fc5884 WHIRLPOOL f42015d189b7b5c0a6bd50f7bcb482515f12743e04cf751c523620fb3bb4684cb9c42edace1ca9035ebfe980418b45cefd8b308f2dfbd93bcc5eae2623c95bb2
+EBUILD txaio-2.3.1.ebuild 1152 SHA256 ac7b1156756ba26d6795b518bc76733308136a58b9cbc4e5120c08cc02b4c283 SHA512 6084bed599f08d4c4112c0bab6f854865b55299bd4473fb0d954703869e41e4e843021d467c06f90000ebd1253b008f140f58b9ffb04df1a0d55ca9598a9110e WHIRLPOOL 221bd32f539eaa85bc5235f206b4582c1cc55494b9e7b2f6c4a19a69e869b77df8733c316d69a4cd468dfaa1d41172e553f5f0389ec4184eaff7a1bf469ca2b5
+EBUILD txaio-2.5.1-r1.ebuild 1843 SHA256 4e82dbe89e042943fcc9d96f045b9909e75a499bb61957425df7cc37113cd108 SHA512 85c1a455f809067568d12fecc7c8fb4643407c7ff914df49e2daa62292385a13f5b9c8255d0bef6f0b8bd22d76f90fbcb9fac725e1ffd23e54939763795b9c2b WHIRLPOOL 070731d922cd176fd20693497b996aa2e7657345300e91778d467c63ef751693b0261601503401f30f5a41387b6a3325f2bdee037a2cdddfae68285c6b1a8998
+EBUILD txaio-2.7.1.ebuild 1954 SHA256 67eef72a72fa4bba7c60b13264dc932902437a16ddc1b7124dfed1a4a812b652 SHA512 a0c2d05b763db122d3bed0fc89f60e5eaa12f0116e54f04a21d1b63bd0ff5c495f0ee87a64b809e4165073e06fb8bbc679809da82af2dcd5c132341b45a0b568 WHIRLPOOL 08ed45c586eb99b4bf12d4a2f6599b249fbab76be92a1350ee4920724903b5a0d38d6f7071f2019a011e2f4ca2cfee86f27acd4383ab6eae5e8ee70dd1dce404
+EBUILD txaio-2.8.1.ebuild 1793 SHA256 82aa7c620cacfc8682c1593c93a7dd273d75d8b21f0d2a70e387e1a4681654a8 SHA512 25ad5257bca293daae685fc7fef972e41734b77474334b1dcac9aebeba4144012c598b58a48ef259e77ad199cf29fd54c77dbd9ef9542c3588da31f1f0505330 WHIRLPOOL 12f012f2fdab73e873ad4de63a7b955b03d69b381c128125d30080e2ab0bc18ec556c89c1f524d3dd1d7d3604de0906e95efc3233b591022bfa92e92df3161e9
+EBUILD txaio-2.8.2.ebuild 1793 SHA256 82aa7c620cacfc8682c1593c93a7dd273d75d8b21f0d2a70e387e1a4681654a8 SHA512 25ad5257bca293daae685fc7fef972e41734b77474334b1dcac9aebeba4144012c598b58a48ef259e77ad199cf29fd54c77dbd9ef9542c3588da31f1f0505330 WHIRLPOOL 12f012f2fdab73e873ad4de63a7b955b03d69b381c128125d30080e2ab0bc18ec556c89c1f524d3dd1d7d3604de0906e95efc3233b591022bfa92e92df3161e9
+MISC ChangeLog 3643 SHA256 f38ea151db0422f27c7bea5fca6cb4a87d1a3ef85e755fcf95fe1f3f6948b684 SHA512 b308ab9de5ea1dced2471dd3d8ed521a7c5ce40bf848d31122df8b2afe35c5671337cb51022b3d5ed8eb50ebc9524d8e8a4bed38c039e396aafe5c33b40ae772 WHIRLPOOL f237c663ea99b2d8eec222111986da66a0ac66f3f996aa56e87a48979547443231d7679c10885a77689ea32d0f1aacd01055c67ec4661b918085f4897e533bea
+MISC ChangeLog-2015 487 SHA256 c7e099eb32a33292f191a69744ab9b8be296c75dffd0f29fa4e28b35849d95aa SHA512 db64ff4cd7a36ace385866dff14894c324469aa665eb52b0ab694b1ae9f24bd94d8e34d3741183e843fded4acb4115eb5477d98538373a077b2e06f354a35319 WHIRLPOOL 6343245654e58ab38e2e1f99a8fb826f7fde87481f03fac117b131c0f218ec92f658326da4aa664a33cbae455f994a61311c10729bbc70221bd3c4b43dc7d2a3
+MISC metadata.xml 605 SHA256 f0c140e905a36e7b711864d012a2aea8e4088e888078393e0f8b3235a143c103 SHA512 d85369383279a352eed9d08aea9cb375515ce094efe3eadea1abe06fdabcb97e179edd2c411206da33f25d53da6efad5c670e0072521ca763c76863c2ce99cf2 WHIRLPOOL 7b0e9db8b4db8f812b2a33689a1f81bcb0f6bad007f94cd8ce42a89a9f26e67f80c5a884476351c6d9a040ba1b878828c22c186f6fad2d1bacfe1dafe5126f2d
diff --git a/dev-python/txaio/files/txaio-2.7.1.chained-callback.patch b/dev-python/txaio/files/txaio-2.7.1.chained-callback.patch
new file mode 100644
index 000000000000..f72ccb03918b
--- /dev/null
+++ b/dev-python/txaio/files/txaio-2.7.1.chained-callback.patch
@@ -0,0 +1,48 @@
+From f27f2945c8ca06e2eb0c2b95366a7a4c1363d857 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= <alex.gronholm@nextday.fi>
+Date: Mon, 8 May 2017 21:20:01 +0300
+Subject: [PATCH] Removed the test for the chained callback feature
+
+---
+ test/test_callback.py | 25 -------------------------
+ 1 file changed, 25 deletions(-)
+
+diff --git a/test/test_callback.py b/test/test_callback.py
+index 08d31e3..9c8ab99 100644
+--- a/test/test_callback.py
++++ b/test/test_callback.py
+@@ -59,31 +59,6 @@ def test_callback(framework):
+ assert results[0] == "it worked"
+
+
+-def test_chained_callback(framework):
+- """
+- Chain two callbacks where the first one alters the value.
+- """
+- calls = []
+-
+- def callback0(arg):
+- calls.append(arg)
+- return arg + " pray I do not alter it futher"
+-
+- def callback1(arg):
+- calls.append(arg)
+-
+- f = txaio.create_future()
+- txaio.add_callbacks(f, callback0, None)
+- txaio.add_callbacks(f, callback1, None)
+- txaio.resolve(f, "the deal")
+-
+- run_once()
+-
+- assert len(calls) == 2
+- assert calls[0] == "the deal"
+- assert calls[1] == "the deal pray I do not alter it futher"
+-
+-
+ def test_immediate_result(framework):
+ f = txaio.create_future_success("it worked")
+ results = []
+--
+2.13.0
+
diff --git a/dev-python/txaio/files/txaio-2.7.1.f._result.patch b/dev-python/txaio/files/txaio-2.7.1.f._result.patch
new file mode 100644
index 000000000000..8c72b45e48de
--- /dev/null
+++ b/dev-python/txaio/files/txaio-2.7.1.f._result.patch
@@ -0,0 +1,36 @@
+From 7ecd9cbb4e7202f7c583f9080ac13db94672bc4b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= <alex.gronholm@nextday.fi>
+Date: Thu, 4 May 2017 21:47:02 +0300
+Subject: [PATCH] Removed code that sets f._result
+
+This stopped working from Python 3.6 onwards, as the Future implementation is now written in C.
+---
+ txaio/aio.py | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/txaio/aio.py b/txaio/aio.py
+index 55d3ca5..becfba5 100644
+--- a/txaio/aio.py
++++ b/txaio/aio.py
+@@ -437,17 +437,12 @@ class _AsyncioApi(object):
+ """
+ callback or errback may be None, but at least one must be
+ non-None.
+-
+- XXX beware the "f._result" hack to get "chainable-callback" type
+- behavior.
+ """
+ def done(f):
+ try:
+ res = f.result()
+ if callback:
+- x = callback(res)
+- if x is not None:
+- f._result = x
++ callback(res)
+ except Exception:
+ if errback:
+ errback(create_failure())
+--
+2.13.0
+
diff --git a/dev-python/txaio/files/util.py b/dev-python/txaio/files/util.py
new file mode 100644
index 000000000000..254df70a5aac
--- /dev/null
+++ b/dev-python/txaio/files/util.py
@@ -0,0 +1,40 @@
+try:
+ import asyncio
+ from asyncio.test_utils import run_once as _run_once
+
+ def run_once():
+ return _run_once(asyncio.get_event_loop())
+
+except ImportError as e:
+ try:
+ import trollius as asyncio
+ except ImportError:
+ asyncio = None
+
+ def run_once():
+ '''
+ copied from asyncio.testutils because trollius has no
+ "testutils"
+ '''
+ # in Twisted, this method is a no-op
+ if asyncio is None:
+ return
+
+ # just like modern asyncio.testutils.run_once does it...
+ loop = asyncio.get_event_loop()
+ loop.stop()
+ loop.run_forever()
+ asyncio.gather(*asyncio.Task.all_tasks())
+
+
+try:
+ # XXX fixme hack better way to detect twisted
+ # (has to work on py3 where asyncio exists always, though)
+ import twisted # noqa
+
+ def await(_):
+ return
+
+except ImportError:
+ def await(future):
+ asyncio.get_event_loop().run_until_complete(future)
diff --git a/dev-python/txaio/metadata.xml b/dev-python/txaio/metadata.xml
new file mode 100644
index 000000000000..ef48c740e2ee
--- /dev/null
+++ b/dev-python/txaio/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>dolsen@gentoo.org</email>
+ <description>maintainer</description>
+ </maintainer>
+ <upstream>
+ <maintainer>
+ <email>autobahnws@googlegroups.com</email>
+ <name>Crossbar.io Technologies GmbH</name>
+ </maintainer>
+ <remote-id type="pypi">txaio</remote-id>
+ <remote-id type="github">crossbario/txaio</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/txaio/txaio-2.3.1.ebuild b/dev-python/txaio/txaio-2.3.1.ebuild
new file mode 100644
index 000000000000..053c2fc4dfb0
--- /dev/null
+++ b/dev-python/txaio/txaio-2.3.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_4} )
+
+RESTRICT="test"
+
+inherit distutils-r1
+
+DESCRIPTION="a helper library for writing code unmodified on both Twisted and asyncio"
+HOMEPAGE="https://github.com/crossbario/txaio"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]
+ >=dev-python/pep8-1.6.2[${PYTHON_USEDEP}]"
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/alabaster[${PYTHON_USEDEP}] )
+ test? ( >=dev-python/pytest-2.6.4[${PYTHON_USEDEP}]
+ >=dev-python/pytest-cov-1.8.1[${PYTHON_USEDEP}] )"
+
+python_prepare() {
+ # https://github.com/tavendo/txaio/issues/3
+ cp -r "${FILESDIR}"/util.py test || die
+
+ distutils-r1_python_prepare
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/txaio/txaio-2.5.1-r1.ebuild b/dev-python/txaio/txaio-2.5.1-r1.ebuild
new file mode 100644
index 000000000000..c59dea17c9ac
--- /dev/null
+++ b/dev-python/txaio/txaio-2.5.1-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# test failure with py3.6 upstream bug:
+# https://github.com/crossbario/txaio/issues/83
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+
+inherit distutils-r1
+
+DESCRIPTION="Compatibility API between asyncio/Twisted/Trollius"
+HOMEPAGE="https://github.com/crossbario/txaio https://pypi.python.org/pypi/txaio"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND="
+ $(python_gen_cond_dep '>=dev-python/trollius-2.0[${PYTHON_USEDEP}]' python2_7)
+ $(python_gen_cond_dep '>=dev-python/futures-3.0.3[${PYTHON_USEDEP}]' python2_7)
+"
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ >=dev-python/sphinx-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-spelling-2.1.2[${PYTHON_USEDEP}]
+ >=dev-python/sphinx_rtd_theme-0.1.9[${PYTHON_USEDEP}]
+ dev-python/alabaster[${PYTHON_USEDEP}]
+ )
+ test? ( >=dev-python/pytest-2.6.4[${PYTHON_USEDEP}]
+ >=dev-python/pytest-cov-1.8.1[${PYTHON_USEDEP}]
+ ~dev-python/mock-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/tox-2.1.1[${PYTHON_USEDEP}]
+ >=dev-python/pep8-1.6.2[${PYTHON_USEDEP}]
+ >=dev-python/pyenchant-1.6.6[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ default_src_prepare
+ # Take out failing tests known to pass when run manually
+ # we certainly don't need to test "python setup.py sdist" here
+ rm "${S}/test/test_packaging.py" || die
+}
+
+python_prepare() {
+ # https://github.com/tavendo/txaio/issues/3
+ cp -r "${FILESDIR}"/util.py test || die
+
+ distutils-r1_python_prepare
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/txaio/txaio-2.7.1.ebuild b/dev-python/txaio/txaio-2.7.1.ebuild
new file mode 100644
index 000000000000..f4632ac61ce1
--- /dev/null
+++ b/dev-python/txaio/txaio-2.7.1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+
+inherit distutils-r1
+
+DESCRIPTION="Compatibility API between asyncio/Twisted/Trollius"
+HOMEPAGE="https://github.com/crossbario/txaio https://pypi.python.org/pypi/txaio"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE="doc test"
+
+RDEPEND="
+ $(python_gen_cond_dep '>=dev-python/trollius-2.0[${PYTHON_USEDEP}]' python2_7)
+ $(python_gen_cond_dep '>=dev-python/futures-3.0.3[${PYTHON_USEDEP}]' python2_7)
+"
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ doc? (
+ >=dev-python/sphinx-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-spelling-2.1.2[${PYTHON_USEDEP}]
+ >=dev-python/sphinx_rtd_theme-0.1.9[${PYTHON_USEDEP}]
+ dev-python/alabaster[${PYTHON_USEDEP}]
+ )
+ test? ( >=dev-python/pytest-2.6.4[${PYTHON_USEDEP}]
+ >=dev-python/pytest-cov-1.8.1[${PYTHON_USEDEP}]
+ ~dev-python/mock-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/tox-2.1.1[${PYTHON_USEDEP}]
+ >=dev-python/pep8-1.6.2[${PYTHON_USEDEP}]
+ >=dev-python/pyenchant-1.6.6[${PYTHON_USEDEP}]
+ )
+"
+
+# py 3.6 upstream bug fixes applied just after the release
+PATCHES=(
+ "${FILESDIR}/txaio-2.7.1.f._result.patch"
+ "${FILESDIR}/txaio-2.7.1.chained-callback.patch"
+)
+
+src_prepare() {
+ default_src_prepare
+ # Take out failing tests known to pass when run manually
+ # we certainly don't need to test "python setup.py sdist" here
+ rm "${S}/test/test_packaging.py" || die
+}
+
+python_prepare() {
+ # https://github.com/tavendo/txaio/issues/3
+ cp -r "${FILESDIR}"/util.py test || die
+
+ distutils-r1_python_prepare
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/txaio/txaio-2.8.1.ebuild b/dev-python/txaio/txaio-2.8.1.ebuild
new file mode 100644
index 000000000000..660e89d3ae14
--- /dev/null
+++ b/dev-python/txaio/txaio-2.8.1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+
+inherit distutils-r1
+
+DESCRIPTION="Compatibility API between asyncio/Twisted/Trollius"
+HOMEPAGE="https://github.com/crossbario/txaio https://pypi.python.org/pypi/txaio"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="doc test"
+
+RDEPEND="
+ $(python_gen_cond_dep '>=dev-python/trollius-2.0[${PYTHON_USEDEP}]' python2_7)
+ $(python_gen_cond_dep '>=dev-python/futures-3.0.3[${PYTHON_USEDEP}]' python2_7)
+"
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ doc? (
+ >=dev-python/sphinx-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-spelling-2.1.2[${PYTHON_USEDEP}]
+ >=dev-python/sphinx_rtd_theme-0.1.9[${PYTHON_USEDEP}]
+ dev-python/alabaster[${PYTHON_USEDEP}]
+ )
+ test? ( >=dev-python/pytest-2.6.4[${PYTHON_USEDEP}]
+ >=dev-python/pytest-cov-1.8.1[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/tox-2.1.1[${PYTHON_USEDEP}]
+ >=dev-python/pep8-1.6.2[${PYTHON_USEDEP}]
+ >=dev-python/pyenchant-1.6.6[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ default_src_prepare
+ # Take out failing tests known to pass when run manually
+ # we certainly don't need to test "python setup.py sdist" here
+ rm "${S}/test/test_packaging.py" || die
+}
+
+python_prepare() {
+ # https://github.com/tavendo/txaio/issues/3
+ cp -r "${FILESDIR}"/util.py test || die
+
+ distutils-r1_python_prepare
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/txaio/txaio-2.8.2.ebuild b/dev-python/txaio/txaio-2.8.2.ebuild
new file mode 100644
index 000000000000..660e89d3ae14
--- /dev/null
+++ b/dev-python/txaio/txaio-2.8.2.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+
+inherit distutils-r1
+
+DESCRIPTION="Compatibility API between asyncio/Twisted/Trollius"
+HOMEPAGE="https://github.com/crossbario/txaio https://pypi.python.org/pypi/txaio"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="doc test"
+
+RDEPEND="
+ $(python_gen_cond_dep '>=dev-python/trollius-2.0[${PYTHON_USEDEP}]' python2_7)
+ $(python_gen_cond_dep '>=dev-python/futures-3.0.3[${PYTHON_USEDEP}]' python2_7)
+"
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ doc? (
+ >=dev-python/sphinx-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-spelling-2.1.2[${PYTHON_USEDEP}]
+ >=dev-python/sphinx_rtd_theme-0.1.9[${PYTHON_USEDEP}]
+ dev-python/alabaster[${PYTHON_USEDEP}]
+ )
+ test? ( >=dev-python/pytest-2.6.4[${PYTHON_USEDEP}]
+ >=dev-python/pytest-cov-1.8.1[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/tox-2.1.1[${PYTHON_USEDEP}]
+ >=dev-python/pep8-1.6.2[${PYTHON_USEDEP}]
+ >=dev-python/pyenchant-1.6.6[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ default_src_prepare
+ # Take out failing tests known to pass when run manually
+ # we certainly don't need to test "python setup.py sdist" here
+ rm "${S}/test/test_packaging.py" || die
+}
+
+python_prepare() {
+ # https://github.com/tavendo/txaio/issues/3
+ cp -r "${FILESDIR}"/util.py test || die
+
+ distutils-r1_python_prepare
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}