[arch-commits] Commit in (5 files)

Felix Yan felixonmars at archlinux.org
Sat Jun 27 06:39:52 UTC 2020


    Date: Saturday, June 27, 2020 @ 06:39:52
  Author: felixonmars
Revision: 654578

addpkg: python-threadloop 1.0.2-1

Added:
  python-threadloop/
  python-threadloop/repos/
  python-threadloop/trunk/
  python-threadloop/trunk/PKGBUILD
  python-threadloop/trunk/tornado-5.patch

-----------------+
 PKGBUILD        |   40 +++++++++++++++++++++++++++++++++++
 tornado-5.patch |   61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 101 insertions(+)

Added: python-threadloop/trunk/PKGBUILD
===================================================================
--- python-threadloop/trunk/PKGBUILD	                        (rev 0)
+++ python-threadloop/trunk/PKGBUILD	2020-06-27 06:39:52 UTC (rev 654578)
@@ -0,0 +1,40 @@
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+
+pkgname=python-threadloop
+pkgver=1.0.2
+pkgrel=1
+pkgdesc="Tornado IOLoop Backed Concurrent Futures"
+url="https://github.com/unhashable/threadloop"
+license=('MIT')
+arch=('any')
+depends=('python-tornado')
+makedepends=('python-setuptools')
+checkdepends=('python-pytest')
+source=("https://github.com/unhashable/threadloop/archive/$pkgver/$pkgname-$pkgver.tar.gz"
+        tornado-5.patch)
+sha512sums=('f6a95d01174cf3dacafda4ebc7f4f8efa1217675004949ce0565441a40aa9867be33f23cd78ce8de83de992b8bb654db34ff49568804790bcf27efa7c0b3643d'
+            '4b9c0f77e4cc004854588d1fcfcd46dabdd57055dd866c18ce9d29b9f746a0abcaa790f727e92e13b4e422f8c0fd82856db6cf4b7a2dca9ed33ad7403bd44998')
+
+prepare() {
+  cd threadloop-$pkgver
+  patch -p1 -i ../tornado-5.patch
+}
+
+build() {
+  cd threadloop-$pkgver
+  python setup.py build
+}
+
+check() {
+  cd threadloop-$pkgver
+  # Deselected tests: deadlocks
+  pytest -v --deselect tests/threadloop/test_threadloop.py::test_plain_function_exception_propagates \
+            --deselect tests/threadloop/test_threadloop.py::test_plain_function_exception_contains_exc_info
+}
+
+package() {
+  cd threadloop-$pkgver
+  python setup.py install --root="$pkgdir" --optimize=1
+
+  install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
+}

Added: python-threadloop/trunk/tornado-5.patch
===================================================================
--- python-threadloop/trunk/tornado-5.patch	                        (rev 0)
+++ python-threadloop/trunk/tornado-5.patch	2020-06-27 06:39:52 UTC (rev 654578)
@@ -0,0 +1,61 @@
+From 236c342dc8594c8d73849c670cd57946f2549451 Mon Sep 17 00:00:00 2001
+From: condorcet <novikov.vz at gmail.com>
+Date: Tue, 3 Sep 2019 20:09:04 +0300
+Subject: [PATCH 1/2] Support asyncio in _start_io_loop method
+
+---
+ threadloop/threadloop.py | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/threadloop/threadloop.py b/threadloop/threadloop.py
+index 8b584b6..1916baa 100644
+--- a/threadloop/threadloop.py
++++ b/threadloop/threadloop.py
+@@ -72,6 +72,12 @@ def mark_as_ready():
+             self._ready.set()
+ 
+         if not self._io_loop:
++            _io_loop = ioloop.IOLoop.current(instance=False)
++            if _io_loop:
++                self._io_loop = _io_loop
++                if self._io_loop.is_running():
++                    mark_as_ready()
++                    return
+             self._io_loop = ioloop.IOLoop()
+ 
+         self._io_loop.add_callback(mark_as_ready)
+@@ -92,7 +98,7 @@ def is_ready(self):
+ 
+     def stop(self):
+         """Stop IOLoop & close daemonized thread."""
+-        self._io_loop.stop()
++        self._io_loop.add_callback(self._io_loop.stop)
+         self._thread.join()
+ 
+     def submit(self, fn, *args, **kwargs):
+
+From c15556dd79cdf5a5f7c8dc04015fa4a0ef3f2c56 Mon Sep 17 00:00:00 2001
+From: condorcet <novikov.vz at gmail.com>
+Date: Wed, 4 Sep 2019 11:03:26 +0300
+Subject: [PATCH 2/2] Fix mistake
+
+---
+ threadloop/threadloop.py | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/threadloop/threadloop.py b/threadloop/threadloop.py
+index 1916baa..d6847fb 100644
+--- a/threadloop/threadloop.py
++++ b/threadloop/threadloop.py
+@@ -75,9 +75,8 @@ def mark_as_ready():
+             _io_loop = ioloop.IOLoop.current(instance=False)
+             if _io_loop:
+                 self._io_loop = _io_loop
+-                if self._io_loop.is_running():
+-                    mark_as_ready()
+-                    return
++                mark_as_ready()
++                return
+             self._io_loop = ioloop.IOLoop()
+ 
+         self._io_loop.add_callback(mark_as_ready)


More information about the arch-commits mailing list