forked from pool/python-aioeventlet
Accepting request 827910 from home:jayvdb:py-submit
- Add pr_1.patch for Python 3.7+ support - Activate test suite on Python 3.7+ OBS-URL: https://build.opensuse.org/request/show/827910 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-aioeventlet?expand=0&rev=11
This commit is contained in:
committed by
Git OBS Bridge
parent
52be56b574
commit
a2465bbcde
57
pr_1.patch
Normal file
57
pr_1.patch
Normal file
@@ -0,0 +1,57 @@
|
||||
commit fb25301bd9dc5dbf77a66349b2434ee672868fd2
|
||||
Author: John Vandenberg <jayvdb@gmail.com>
|
||||
Date: Wed Aug 19 17:21:53 2020 +0700
|
||||
|
||||
aioeventlet: Fix breakage in Python 3.7+ asyncio
|
||||
|
||||
Index: aioeventlet-0.5.1/aioeventlet.py
|
||||
===================================================================
|
||||
--- aioeventlet-0.5.1.orig/aioeventlet.py
|
||||
+++ aioeventlet-0.5.1/aioeventlet.py
|
||||
@@ -10,6 +10,12 @@ logger = logging.getLogger('aioeventlet'
|
||||
|
||||
try:
|
||||
import asyncio
|
||||
+ try:
|
||||
+ import selectors
|
||||
+ except ImportError:
|
||||
+ pass
|
||||
+ else:
|
||||
+ asyncio.selectors = selectors
|
||||
|
||||
if sys.platform == 'win32':
|
||||
from asyncio.windows_utils import socketpair
|
||||
@@ -212,16 +218,16 @@ class EventLoop(asyncio.SelectorEventLoo
|
||||
# the selector
|
||||
self._write_to_self()
|
||||
|
||||
- def call_soon(self, callback, *args):
|
||||
- handle = super(EventLoop, self).call_soon(callback, *args)
|
||||
+ def call_soon(self, callback, *args, **kwargs):
|
||||
+ handle = super(EventLoop, self).call_soon(callback, *args, **kwargs)
|
||||
if self._selector is not None and self._selector._event:
|
||||
# selector.select() is running: write into the self-pipe to wake up
|
||||
# the selector
|
||||
self._write_to_self()
|
||||
return handle
|
||||
|
||||
- def call_at(self, when, callback, *args):
|
||||
- handle = super(EventLoop, self).call_at(when, callback, *args)
|
||||
+ def call_at(self, when, callback, *args, **kwargs):
|
||||
+ handle = super(EventLoop, self).call_at(when, callback, *args, **kwargs)
|
||||
if self._selector is not None and self._selector._event:
|
||||
# selector.select() is running: write into the self-pipe to wake up
|
||||
# the selector
|
||||
@@ -329,7 +335,11 @@ def yield_future(future, loop=None):
|
||||
The function must not be called from the greenthread
|
||||
running the aioeventlet event loop.
|
||||
"""
|
||||
- future = asyncio.async(future, loop=loop)
|
||||
+ if hasattr(asyncio, "ensure_future"):
|
||||
+ ensure_future = asyncio.ensure_future
|
||||
+ else: # use of async keyword has been Deprecated since Python 3.4.4
|
||||
+ ensure_future = getattr(asyncio, "async")
|
||||
+ future = ensure_future(future, loop=loop)
|
||||
if future._loop._greenthread == eventlet.getcurrent():
|
||||
raise RuntimeError("yield_future() must not be called from "
|
||||
"the greenthread of the aioeventlet event loop")
|
||||
@@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 19 10:34:12 UTC 2020 - John Vandenberg <jayvdb@gmail.com>
|
||||
|
||||
- Add pr_1.patch for Python 3.7+ support
|
||||
- Activate test suite on Python 3.7+
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 5 09:20:03 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package python-aioeventlet
|
||||
#
|
||||
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2020 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -26,6 +26,10 @@ Summary: Asyncio event loop scheduling callbacks in eventlet
|
||||
License: Apache-2.0
|
||||
URL: https://pypi.org/project/aioeventlet/
|
||||
Source: https://files.pythonhosted.org/packages/source/a/aioeventlet/aioeventlet-%{version}.tar.gz
|
||||
# pr_1.patch is Python 3.7+ support
|
||||
Patch0: pr_1.patch
|
||||
BuildRequires: %{python_module eventlet}
|
||||
BuildRequires: %{python_module pytest}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: python-rpm-macros
|
||||
Requires: python-eventlet
|
||||
@@ -51,6 +55,7 @@ parallel.
|
||||
|
||||
%prep
|
||||
%setup -q -n aioeventlet-%{intver}
|
||||
%patch0 -p1
|
||||
|
||||
%build
|
||||
%python_build
|
||||
@@ -58,6 +63,15 @@ parallel.
|
||||
%install
|
||||
%python_install
|
||||
|
||||
%check
|
||||
# Python 2 requires trollius which is not in devel project,
|
||||
# and test setup fails on Python 3.6 as it tries to reach live DNS server
|
||||
%{python_expand PYTHON_VERSION=%{$python_version_nodots}
|
||||
if [[ ${PYTHON_VERSION:0:1} -eq 3 && ${PYTHON_VERSION:1:2} -gt 6 ]]; then
|
||||
# Some tests in test_eventlet.py halt
|
||||
$python -m pytest -k 'EventletTests or test_wrap_invalid_type or test_wrap_greenlet_dead or test_wrap_greenlet_running or test_greenlet'
|
||||
fi}
|
||||
|
||||
%files %{python_files}
|
||||
%license COPYING
|
||||
%doc README
|
||||
|
||||
Reference in New Issue
Block a user