commit:     138076220fef82b037be14c08ba751a0f7d23036
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 27 15:40:33 2021 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Jun 27 15:52:52 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=13807622

dev-python/trio-asyncio: import from ::guru

Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 dev-python/trio-asyncio/Manifest                   |  1 +
 .../trio-asyncio/files/no-pytest-runner.patch      | 10 +++++++
 dev-python/trio-asyncio/metadata.xml               | 28 ++++++++++++++++++
 dev-python/trio-asyncio/trio-asyncio-0.12.0.ebuild | 34 ++++++++++++++++++++++
 4 files changed, 73 insertions(+)

diff --git a/dev-python/trio-asyncio/Manifest b/dev-python/trio-asyncio/Manifest
new file mode 100644
index 00000000000..a4fd4634294
--- /dev/null
+++ b/dev-python/trio-asyncio/Manifest
@@ -0,0 +1 @@
+DIST trio-asyncio-0.12.0.tar.gz 72508 BLAKE2B 
f2dad48e20dadb81f603f8e7edf5d108f5c1dec332e65599e06495a9e3b919d20a15e3cb0d4f06c46a0e844cd79a88c172043b5cae2bc632661679a9ac854c04
 SHA512 
da630bf95d0736efd419a7b84d3fcb55f4440ef5f3ac584f36b2eca9188145d4581b20d4842b1322b07f176822f7c76e32ae57ac71899ea2445ce1783bcd382c

diff --git a/dev-python/trio-asyncio/files/no-pytest-runner.patch 
b/dev-python/trio-asyncio/files/no-pytest-runner.patch
new file mode 100644
index 00000000000..6eec59da428
--- /dev/null
+++ b/dev-python/trio-asyncio/files/no-pytest-runner.patch
@@ -0,0 +1,10 @@
+--- a/setup.py 2021-03-27 18:54:07.104800689 +0100
++++ b/setup.py 2021-03-27 18:54:23.197091635 +0100
+@@ -77,7 +77,6 @@
+     include_package_data=True,
+     python_requires=">=3.6",  # temporary, for RTD
+     keywords=["async", "io", "trio", "asyncio", "trio-asyncio"],
+-    setup_requires=['pytest-runner'],
+     tests_require=['pytest >= 5.4', 'pytest-trio >= 0.6', 'outcome'],
+     classifiers=[
+         "Development Status :: 4 - Beta",

diff --git a/dev-python/trio-asyncio/metadata.xml 
b/dev-python/trio-asyncio/metadata.xml
new file mode 100644
index 00000000000..e006b6313ac
--- /dev/null
+++ b/dev-python/trio-asyncio/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+
+<pkgmetadata>
+       <maintainer type="person">
+               <email>andrewammerl...@gentoo.org</email>
+               <name>Andrew Ammerlaan</name>
+       </maintainer>
+       <stabilize-allarches/>
+       <longdescription lang="en">
+Rationale
+
+Trio has native concepts of tasks and task cancellation. Asyncio is based on 
callbacks and chaining Futures, albeit with nicer syntax, which make handling 
of failures and timeouts fundamentally less reliable, especially in larger 
programs. Thus, you really want to base your async project on Trio.
+
+On the other hand, there are quite a few asyncio-enhanced libraries. You 
really don't want to re-invent any wheels in your project.
+
+Thus, being able to use asyncio libraries from Trio is useful. trio-asyncio 
enables you to do that, and more.
+Transparent vs. explicit translation
+
+trio_asyncio does not try to magically allow calling await trio_code() from 
asyncio or vice versa. There are multiple reasons for this; the executive 
summary is that cross-domain calls can't be made to work correctly, and any 
such call is likely to result in an irrecoverable error. You need to keep your 
code's asyncio and trio domains rigidly separate.
+
+Fortunately, this is not difficult.
+       </longdescription>
+       <upstream>
+               <remote-id type="github">python-trio/trio-asyncio</remote-id>
+               <remote-id type="pypi">trio-asyncio</remote-id>
+       </upstream>
+</pkgmetadata>

diff --git a/dev-python/trio-asyncio/trio-asyncio-0.12.0.ebuild 
b/dev-python/trio-asyncio/trio-asyncio-0.12.0.ebuild
new file mode 100644
index 00000000000..296d8886411
--- /dev/null
+++ b/dev-python/trio-asyncio/trio-asyncio-0.12.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..9} )
+
+inherit distutils-r1
+
+DESCRIPTION="a re-implementation of the asyncio mainloop on top of Trio"
+HOMEPAGE="
+       https://github.com/python-trio/trio-asyncio
+       https://pypi.org/project/trio-asyncio/
+"
+SRC_URI="https://github.com/python-trio/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+       dev-python/outcome[${PYTHON_USEDEP}]
+       dev-python/sniffio[${PYTHON_USEDEP}]
+       >=dev-python/trio-0.15.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+       test? (
+               >=dev-python/pytest-trio-0.6[${PYTHON_USEDEP}]
+       )
+"
+PATCHES=( "${FILESDIR}/no-pytest-runner.patch" )
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs/source dev-python/sphinxcontrib-trio

Reply via email to