Accepting request 839650 from home:frispete:python
This is a requirement for the python-greenlet update to 0.4.17 with Python >= 3.7 https://github.com/python-greenlet/greenlet/issues/178 - Update to version 20.9.0 (2020-09-22) + Features * The embedded libev is now asked to detect the availability of clock_gettime and use the realtime and/or monotonic clocks, if they are available. * On Linux, this can reduce the number of system calls libev makes. Originally provided by Josh Snyder. See :issue:`issue1648`. + Bugfixes * On CPython, depend on greenlet >= 0.4.17. This version is binary incompatible with earlier releases on CPython 3.7 and later. * On Python 3.7 and above, the module gevent.contextvars is no longer monkey-patched into the standard library. contextvars are now both greenlet and asyncio task local. See :issue:`1656`. See :issue:`issue1674`. * The DummyThread objects created automatically by certain operations when the standard library threading module is monkey-patched now match the naming convention the standard library uses ("Dummy-12345"). Previously (since gevent 1.2a2) they used "DummyThread-12345". See :issue:`1659`. * Fix compatibility with dnspython 2. * Caution! * This currently means that it can be imported. But it cannot yet be used. gevent has a pinned dependency on dnspython < 2 for now. * See :issue:`1661`. - Update to version 20.6.2 (2020-06-16) + Features * It is now possible to build and use the embedded libuv on a OBS-URL: https://build.opensuse.org/request/show/839650 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=67
This commit is contained in:
parent
a05a0b6957
commit
56007310d9
23
fix-no-return-in-nonvoid-function.patch
Normal file
23
fix-no-return-in-nonvoid-function.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
Index: b/deps/libev/ev_iouring.c
|
||||||
|
===================================================================
|
||||||
|
--- a/deps/libev/ev_iouring.c
|
||||||
|
+++ b/deps/libev/ev_iouring.c
|
||||||
|
@@ -213,6 +213,9 @@ iouring_sqe_get (EV_P)
|
||||||
|
return EV_SQES + (tail & EV_SQ_VAR (ring_mask));
|
||||||
|
}
|
||||||
|
|
||||||
|
+#pragma GCC diagnostic push
|
||||||
|
+#pragma GCC diagnostic ignored "-Wreturn-type"
|
||||||
|
+
|
||||||
|
inline_size
|
||||||
|
struct io_uring_sqe *
|
||||||
|
iouring_sqe_submit (EV_P_ struct io_uring_sqe *sqe)
|
||||||
|
@@ -260,6 +263,8 @@ iouring_internal_destroy (EV_P)
|
||||||
|
if (ev_is_active (&iouring_tfd_w )) ev_ref (EV_A); ev_io_stop (EV_A_ &iouring_tfd_w );
|
||||||
|
}
|
||||||
|
|
||||||
|
+#pragma GCC diagnostic pop
|
||||||
|
+
|
||||||
|
ecb_cold
|
||||||
|
static int
|
||||||
|
iouring_internal_init (EV_P)
|
@ -1,32 +0,0 @@
|
|||||||
From: Antonio Larrosa <alarrosa@suse.com>
|
|
||||||
Subject: Fix failing tests
|
|
||||||
|
|
||||||
- ssl.OP_NO_COMPRESSION is set by default by ssl.
|
|
||||||
- thread_ident can be represented as a negative hex number now,
|
|
||||||
so replace the negative sign with the regex too, and not just the number.
|
|
||||||
--- a/src/greentest/2.7/test_ssl.py
|
|
||||||
+++ b/src/greentest/2.7/test_ssl.py
|
|
||||||
@@ -835,9 +835,10 @@ class ContextTests(unittest.TestCase):
|
|
||||||
def test_options(self):
|
|
||||||
ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
|
|
||||||
# OP_ALL | OP_NO_SSLv2 | OP_NO_SSLv3 is the default value
|
|
||||||
- default = (ssl.OP_ALL | ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3)
|
|
||||||
+ default = (ssl.OP_ALL | ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3 |
|
|
||||||
+ OP_NO_COMPRESSION)
|
|
||||||
# SSLContext also enables these by default
|
|
||||||
- default |= (OP_NO_COMPRESSION | OP_CIPHER_SERVER_PREFERENCE |
|
|
||||||
+ default |= (OP_CIPHER_SERVER_PREFERENCE |
|
|
||||||
OP_SINGLE_DH_USE | OP_SINGLE_ECDH_USE |
|
|
||||||
OP_ENABLE_MIDDLEBOX_COMPAT)
|
|
||||||
self.assertEqual(default, ctx.options)
|
|
||||||
--- a/src/gevent/tests/test__util.py
|
|
||||||
+++ b/src/gevent/tests/test__util.py
|
|
||||||
@@ -134,7 +134,7 @@ class TestTree(greentest.TestCase):
|
|
||||||
|
|
||||||
def _normalize_tree_format(self, value):
|
|
||||||
import re
|
|
||||||
- hexobj = re.compile('0x[0123456789abcdef]+L?', re.I)
|
|
||||||
+ hexobj = re.compile('-?0x[0123456789abcdef]+L?', re.I)
|
|
||||||
value = hexobj.sub('X', value)
|
|
||||||
value = value.replace('epoll', 'select')
|
|
||||||
value = value.replace('select', 'default')
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:f1a90da498d05fecc20fb13d4d8383704043fe1d386ebca97ebfc89747dad426
|
|
||||||
size 3878216
|
|
3
gevent-20.9.0.tar.gz
Normal file
3
gevent-20.9.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:5f6d48051d336561ec08995431ee4d265ac723a64bba99cc58c3eb1a4d4f5c8d
|
||||||
|
size 5806581
|
@ -1,3 +1,251 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Oct 3 16:09:59 UTC 2020 - Hans-Peter Jansen <hpj@urpla.net>
|
||||||
|
|
||||||
|
- Update to version 20.9.0 (2020-09-22)
|
||||||
|
+ Features
|
||||||
|
* The embedded libev is now asked to detect the availability of
|
||||||
|
clock_gettime and use the realtime and/or monotonic clocks,
|
||||||
|
if they are available.
|
||||||
|
* On Linux, this can reduce the number of system calls libev
|
||||||
|
makes. Originally provided by Josh Snyder. See
|
||||||
|
:issue:`issue1648`.
|
||||||
|
+ Bugfixes
|
||||||
|
* On CPython, depend on greenlet >= 0.4.17. This version is
|
||||||
|
binary incompatible with earlier releases on CPython 3.7 and
|
||||||
|
later.
|
||||||
|
* On Python 3.7 and above, the module gevent.contextvars is no
|
||||||
|
longer monkey-patched into the standard library. contextvars
|
||||||
|
are now both greenlet and asyncio task local. See
|
||||||
|
:issue:`1656`. See :issue:`issue1674`.
|
||||||
|
* The DummyThread objects created automatically by certain
|
||||||
|
operations when the standard library threading module is
|
||||||
|
monkey-patched now match the naming convention the standard
|
||||||
|
library uses ("Dummy-12345"). Previously (since gevent 1.2a2)
|
||||||
|
they used "DummyThread-12345". See :issue:`1659`.
|
||||||
|
* Fix compatibility with dnspython 2.
|
||||||
|
* Caution!
|
||||||
|
* This currently means that it can be imported. But it cannot
|
||||||
|
yet be used. gevent has a pinned dependency on dnspython < 2
|
||||||
|
for now.
|
||||||
|
* See :issue:`1661`.
|
||||||
|
|
||||||
|
- Update to version 20.6.2 (2020-06-16)
|
||||||
|
+ Features
|
||||||
|
* It is now possible to build and use the embedded libuv on a
|
||||||
|
Cygwin platform.
|
||||||
|
* Note that Cygwin is not an officially supported platform of
|
||||||
|
upstream libuv and is not tested by gevent, so the actual
|
||||||
|
working status is unknown, and this may bitrot in future
|
||||||
|
releases.
|
||||||
|
* Thanks to berkakinci for the patch. See :issue:`issue1645`.
|
||||||
|
+ Bugfixes
|
||||||
|
* Relax the version constraint for psutil on PyPy.
|
||||||
|
* Previously it was pinned to 5.6.3 for PyPy2, except for on
|
||||||
|
Windows, where it was excluded. It is now treated the same as
|
||||||
|
CPython again. See :issue:`issue1643`.
|
||||||
|
|
||||||
|
- Update to version 20.6.1 (2020-06-10)
|
||||||
|
+ Features
|
||||||
|
* gevent's CI is now tested on Ubuntu 18.04 (Bionic), an
|
||||||
|
upgrade from 16.04 (Xenial). See :issue:`1623`.
|
||||||
|
+ Bugfixes
|
||||||
|
* On Python 2, the dnspython resolver can be used without
|
||||||
|
having selectors2 installed. Previously, an ImportError would
|
||||||
|
be raised. See :issue:`issue1641`.
|
||||||
|
* Python 3 gevent.ssl.SSLSocket objects no longer attempt to
|
||||||
|
catch ConnectionResetError and treat it the same as an
|
||||||
|
SSLError with SSL_ERROR_EOF (typically by suppressing it).
|
||||||
|
* This was a difference from the way the standard library
|
||||||
|
behaved (which is to raise the exception). It was added to
|
||||||
|
gevent during early testing of OpenSSL 1.1 and TLS 1.3. See
|
||||||
|
:issue:`1637`.
|
||||||
|
|
||||||
|
- Update to version 20.6.0 (2020-06-06)
|
||||||
|
+ Features
|
||||||
|
* Add gevent.selectors containing GeventSelector. This selector
|
||||||
|
implementation uses gevent details to attempt to reduce
|
||||||
|
overhead when polling many file descriptors, only some of
|
||||||
|
which become ready at any given time.
|
||||||
|
* This is monkey-patched as selectors.DefaultSelector by
|
||||||
|
default.
|
||||||
|
* This is available on Python 2 if the selectors2 backport is
|
||||||
|
installed. (This backport is installed automatically using
|
||||||
|
the recommended extra.) When monkey-patching, selectors is
|
||||||
|
made available as an alias to this module. See :issue:`1532`.
|
||||||
|
* Depend on greenlet >= 0.4.16. This is required for CPython
|
||||||
|
3.9 and 3.10a0. See :issue:`1627`.
|
||||||
|
* Add support for Python 3.9.
|
||||||
|
* No binary wheels are available yet, however. See
|
||||||
|
:issue:`1628`.
|
||||||
|
+ Bugfixes
|
||||||
|
* gevent.socket.create_connection and
|
||||||
|
gevent.socket.socket.connect no longer ignore IPv6 scope IDs.
|
||||||
|
* Any IP address (IPv4 or IPv6) is no longer subject to an
|
||||||
|
extra call to getaddrinfo. Depending on the resolver in use,
|
||||||
|
this is likely to change the number and order of greenlet
|
||||||
|
switches. (On Windows, in particular test cases when there
|
||||||
|
are no other greenlets running, it has been observed to lead
|
||||||
|
to LoopExit in scenarios that didn't produce that before.)
|
||||||
|
See :issue:`1634`.
|
||||||
|
|
||||||
|
- Update to version 20.5.2 (2020-05-28)
|
||||||
|
+ Bugfixes
|
||||||
|
* Forking a process that had use the threadpool to run tasks
|
||||||
|
that created their own hub would fail to clean up the
|
||||||
|
threadpool by raising greenlet.error. See :issue:`1631`.
|
||||||
|
|
||||||
|
- Update to version 20.5.1 (2020-05-26)
|
||||||
|
+ Features
|
||||||
|
* Waiters on Event and Semaphore objects that call wait() or
|
||||||
|
acquire(), respectively, that find the Event already set, or
|
||||||
|
the Semaphore available, no longer "cut in line" and run
|
||||||
|
before any previously scheduled greenlets. They now run in
|
||||||
|
the order in which they arrived, just as waiters that had to
|
||||||
|
block in those methods do. See :issue:`1520`.
|
||||||
|
* Update tested PyPy version from 7.3.0 to 7.3.1 on Linux. See
|
||||||
|
:issue:`1569`.
|
||||||
|
* Make zope.interface, zope.event and (by extension) setuptools
|
||||||
|
required dependencies. The events install extra now does
|
||||||
|
nothing and will be removed in 2021. See :issue:`1619`.
|
||||||
|
* Update bundled libuv from 1.36.0 to 1.38.0. See
|
||||||
|
:issue:`1621`.
|
||||||
|
* Update bundled c-ares from 1.16.0 to 1.16.1.
|
||||||
|
* On macOS, stop trying to adjust c-ares headers to make them
|
||||||
|
universal. See :issue:`1624`.
|
||||||
|
+ Bugfixes
|
||||||
|
* Make gevent locks that are monkey-patched usually work across
|
||||||
|
native threads as well as across greenlets within a single
|
||||||
|
thread. Locks that are only used in a single thread do not
|
||||||
|
take a performance hit. While cross-thread locking is
|
||||||
|
relatively expensive, and not a recommended programming
|
||||||
|
pattern, it can happen unwittingly, for example when using
|
||||||
|
the threadpool and logging.
|
||||||
|
* Before, cross-thread lock uses might succeed, or, if the lock
|
||||||
|
was contended, raise greenlet.error. Now, in the contended
|
||||||
|
case, if the lock has been acquired by the main thread at
|
||||||
|
least once, it should correctly block in any thread,
|
||||||
|
cooperating with the event loop of both threads. In certain
|
||||||
|
(hopefully rare) cases, it might be possible for contended
|
||||||
|
case to raise LoopExit when previously it would have raised
|
||||||
|
greenlet.error; if these cases are a practical concern,
|
||||||
|
please open an issue.
|
||||||
|
* Also, the underlying Semaphore always behaves in an atomic
|
||||||
|
fashion (as if the GIL was not released) when PURE_PYTHON is
|
||||||
|
set. Previously, it only correctly did so on PyPy. See
|
||||||
|
:issue:`issue1437`.
|
||||||
|
* Rename gevent's C accelerator extension modules using a
|
||||||
|
prefix to avoid clashing with other C extensions. See
|
||||||
|
:issue:`1480`.
|
||||||
|
* Using gevent.wait on an Event more than once, when that Event
|
||||||
|
is already set, could previously raise an AssertionError.
|
||||||
|
* As part of this, exceptions raised in the main greenlet will
|
||||||
|
now include a more complete traceback from the failing
|
||||||
|
greenlet. See :issue:`1540`.
|
||||||
|
* Avoid closing the same Python libuv watcher IO object twice.
|
||||||
|
Under some circumstances (only seen on Windows), that could
|
||||||
|
lead to program crashes. See :issue:`1587`.
|
||||||
|
* gevent can now be built using Cython 3.0a5 and newer. The
|
||||||
|
PyPI distribution uses this version.
|
||||||
|
* The libev extension was incompatible with this. As part of
|
||||||
|
this, certain internal, undocumented names have been changed.
|
||||||
|
* (Technically, gevent can be built with Cython 3.0a2 and
|
||||||
|
above. However, up through 3.0a4 compiling with Cython 3
|
||||||
|
results in gevent's test for memory leaks failing. See this
|
||||||
|
Cython issue.) See :issue:`1599`.
|
||||||
|
* Destroying a hub after joining it didn't necessarily clean up
|
||||||
|
all resources associated with the hub, especially if the hub
|
||||||
|
had been created in a secondary thread that was exiting. The
|
||||||
|
hub and its parent greenlet could be kept alive.
|
||||||
|
* Now, destroying a hub drops the reference to the hub and
|
||||||
|
ensures it cannot be switched to again. (Though using a new
|
||||||
|
blocking API call may still create a new hub.)
|
||||||
|
* Joining a hub also cleans up some (small) memory resources
|
||||||
|
that might have stuck around for longer before as well. See
|
||||||
|
:issue:`1601`.
|
||||||
|
* Fix some potential crashes under libuv when using
|
||||||
|
gevent.signal_handler. The crashes were seen running the test
|
||||||
|
suite and were non-deterministic. See :issue:`1606`.
|
||||||
|
|
||||||
|
- Update to version 20.5.0 (2020-05-01)
|
||||||
|
+ Features
|
||||||
|
* Update bundled c-ares to version 1.16.0. Changes. See
|
||||||
|
:issue:`1588`.
|
||||||
|
* Update all the bundled config.guess and config.sub scripts.
|
||||||
|
See :issue:`1589`.
|
||||||
|
* Update bundled libuv from 1.34.0 to 1.36.0. See
|
||||||
|
:issue:`1597`.
|
||||||
|
+ Bugfixes
|
||||||
|
* Use ares_getaddrinfo instead of a manual lookup.
|
||||||
|
* This requires c-ares 1.16.0.
|
||||||
|
* Note that this may change the results, in particular their
|
||||||
|
order.
|
||||||
|
* As part of this, certain parts of the c-ares extension were
|
||||||
|
adapted to use modern Cython idioms.
|
||||||
|
* A few minor errors and discrepancies were fixed as well, such
|
||||||
|
as gethostbyaddr('localhost') working on Python 3 and failing
|
||||||
|
on Python 2. The DNSpython resolver now raises the expected
|
||||||
|
TypeError in more cases instead of an AttributeError. See
|
||||||
|
:issue:`1012`.
|
||||||
|
* The c-ares and DNSPython resolvers now raise exceptions much
|
||||||
|
more consistently with the standard resolver. Types and
|
||||||
|
errnos are substantially more likely to match what the
|
||||||
|
standard library produces.
|
||||||
|
* Depending on the system and configuration, results may not
|
||||||
|
match exactly, at least with DNSPython. There are still some
|
||||||
|
rare cases where the system resolver can raise herror but
|
||||||
|
DNSPython will raise gaierror or vice versa. There doesn't
|
||||||
|
seem to be a deterministic way to account for this. On PyPy,
|
||||||
|
getnameinfo can produce results when CPython raises
|
||||||
|
socket.error, and gevent's DNSPython resolver also raises
|
||||||
|
socket.error.
|
||||||
|
* In addition, several other small discrepancies were
|
||||||
|
addressed, including handling of localhost and broadcast host
|
||||||
|
names.
|
||||||
|
* Note
|
||||||
|
* This has been tested on Linux (CentOS and Ubuntu), macOS, and
|
||||||
|
Windows. It hasn't been tested on other platforms, so results
|
||||||
|
are unknown for them. The c-ares support, in particular, is
|
||||||
|
using some additional socket functions and defines. Please
|
||||||
|
let the maintainers know if this introduces issues.
|
||||||
|
* See :issue:`1459`.
|
||||||
|
|
||||||
|
- Update to version 20.04.0 (2020-04-22)
|
||||||
|
+ Features
|
||||||
|
* Let CI (Travis and Appveyor) build and upload release wheels
|
||||||
|
for Windows, macOS and manylinux. As part of this, (a subset
|
||||||
|
of) gevent's tests can run if the standard library's
|
||||||
|
test.support module has been stripped. See :issue:`1555`.
|
||||||
|
* Update tested PyPy version from 7.2.0 on Windows to 7.3.1.
|
||||||
|
See :issue:`1569`.
|
||||||
|
+ Bugfixes
|
||||||
|
* Fix a spurious warning about watchers and resource leaks on
|
||||||
|
libuv on Windows. Reported by Stéphane Rainville. See
|
||||||
|
:issue:`1564`.
|
||||||
|
* Make monkey-patching properly remove select.epoll and
|
||||||
|
select.kqueue. Reported by Kirill Smelkov. See :issue:`1570`.
|
||||||
|
* Make it possible to monkey-patch :mod:`contextvars` before
|
||||||
|
Python 3.7 if a non-standard backport that uses the same name
|
||||||
|
as the standard library does is installed. Previously this
|
||||||
|
would raise an error. Reported by Simon Davy. See
|
||||||
|
:issue:`1572`.
|
||||||
|
* Fix destroying the libuv default loop and then using the
|
||||||
|
default loop again. See :issue:`1580`.
|
||||||
|
* libuv loops that have watched children can now exit.
|
||||||
|
Previously, the SIGCHLD watcher kept the loop alive even if
|
||||||
|
there were no longer any watched children. See :issue:`1581`.
|
||||||
|
+ Deprecations and Removals
|
||||||
|
* PyPy no longer uses the Python allocation functions for libuv
|
||||||
|
and libev allocations. See :issue:`1569`.
|
||||||
|
|
||||||
|
- Use the system libev by default
|
||||||
|
- Remove fix-tests.patch
|
||||||
|
- Remove use-libev-cffi.patch
|
||||||
|
- Greatly reduce the list of non functional tests
|
||||||
|
- Add fix-no-return-in-nonvoid-function.patch, applied for 15.1 and
|
||||||
|
below in order to not fail the build
|
||||||
|
- Add missing runtime dependencies:
|
||||||
|
python-zope.event and python-zope.interface
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Jan 3 11:51:00 CET 2020 - Matej Cepl <mcepl@suse.com>
|
Fri Jan 3 11:51:00 CET 2020 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
@ -16,14 +16,18 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# DON'T USE FOR SLE, USES BUNDLED VERSION OF LIBEV!!!
|
# on TW, gevent is able to use system libev, Leaps et.al. need the bundled version
|
||||||
|
%if 0%{?suse_version} <= 1500
|
||||||
%define use_bundled_libev 1
|
%define use_bundled_libev 1
|
||||||
|
%else
|
||||||
|
%define use_bundled_libev 0
|
||||||
|
%endif
|
||||||
|
|
||||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||||
%define modversion 1.5a3
|
%define modversion 20.9.0
|
||||||
%define modname gevent
|
%define modname gevent
|
||||||
Name: python-gevent
|
Name: python-gevent
|
||||||
Version: 1.5.0~a3
|
Version: 20.9.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Python network library that uses greenlet and libevent
|
Summary: Python network library that uses greenlet and libevent
|
||||||
License: MIT
|
License: MIT
|
||||||
@ -32,13 +36,15 @@ URL: http://www.gevent.org/
|
|||||||
# Source: https://files.pythonhosted.org/packages/source/g/gevent/gevent-%%{version}.tar.gz
|
# Source: https://files.pythonhosted.org/packages/source/g/gevent/gevent-%%{version}.tar.gz
|
||||||
Source0: https://github.com/gevent/%{modname}/archive/%{modversion}.tar.gz#/%{modname}-%{modversion}.tar.gz
|
Source0: https://github.com/gevent/%{modname}/archive/%{modversion}.tar.gz#/%{modname}-%{modversion}.tar.gz
|
||||||
Source100: %{name}-rpmlintrc
|
Source100: %{name}-rpmlintrc
|
||||||
Patch1: fix-tests.patch
|
# gcc7 for 15.1 produces no-return-in-nonvoid-function, but the same compiler for 15.2 not
|
||||||
Patch2: use-libev-cffi.patch
|
# usually, as long as no return value is used, this shouldn't be treated as an error
|
||||||
|
# let's selectively disable the warning around the offending code
|
||||||
|
Patch0: fix-no-return-in-nonvoid-function.patch
|
||||||
BuildRequires: %{python_module Cython}
|
BuildRequires: %{python_module Cython}
|
||||||
BuildRequires: %{python_module cffi}
|
BuildRequires: %{python_module cffi}
|
||||||
BuildRequires: %{python_module devel}
|
BuildRequires: %{python_module devel}
|
||||||
BuildRequires: %{python_module dnspython}
|
BuildRequires: %{python_module dnspython}
|
||||||
BuildRequires: %{python_module greenlet >= 0.4.14}
|
BuildRequires: %{python_module greenlet >= 0.4.17}
|
||||||
BuildRequires: %{python_module mock}
|
BuildRequires: %{python_module mock}
|
||||||
BuildRequires: %{python_module objgraph}
|
BuildRequires: %{python_module objgraph}
|
||||||
BuildRequires: %{python_module psutil}
|
BuildRequires: %{python_module psutil}
|
||||||
@ -53,7 +59,7 @@ BuildRequires: pkgconfig
|
|||||||
BuildRequires: python-rpm-macros
|
BuildRequires: python-rpm-macros
|
||||||
BuildRequires: python3-testsuite
|
BuildRequires: python3-testsuite
|
||||||
BuildRequires: pkgconfig(libcares)
|
BuildRequires: pkgconfig(libcares)
|
||||||
%if 0%{?use_bundled_libev}
|
%if ! 0%{use_bundled_libev}
|
||||||
BuildRequires: pkgconfig(libev)
|
BuildRequires: pkgconfig(libev)
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: pkgconfig(libuv)
|
BuildRequires: pkgconfig(libuv)
|
||||||
@ -61,12 +67,12 @@ Requires: python-cffi
|
|||||||
Requires: python-dnspython
|
Requires: python-dnspython
|
||||||
Requires: python-greenlet
|
Requires: python-greenlet
|
||||||
Requires: python-requests
|
Requires: python-requests
|
||||||
|
Requires: python-zope.event
|
||||||
|
Requires: python-zope.interface
|
||||||
%if 0%{?suse_version} || 0%{?fedora_version} || 0%{?rhel} >= 8
|
%if 0%{?suse_version} || 0%{?fedora_version} || 0%{?rhel} >= 8
|
||||||
Recommends: python-psutil
|
Recommends: python-psutil
|
||||||
Recommends: python-zope.event
|
|
||||||
%else
|
%else
|
||||||
Requires: python-psutil
|
Requires: python-psutil
|
||||||
Requires: python-zope.event
|
|
||||||
%endif
|
%endif
|
||||||
%python_subpackages
|
%python_subpackages
|
||||||
|
|
||||||
@ -98,8 +104,9 @@ Documentation and examples for %{name}.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n gevent-%{modversion}
|
%setup -q -n gevent-%{modversion}
|
||||||
%patch1 -p1
|
%if 0%{?sle_version} <= 150100 && 0%{?is_opensuse}
|
||||||
%patch2 -p1
|
%patch0 -p1
|
||||||
|
%endif
|
||||||
sed -i -e '1s!bin/env python!bin/python!' examples/*.py
|
sed -i -e '1s!bin/env python!bin/python!' examples/*.py
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -116,29 +123,17 @@ export CARES_EMBED=0
|
|||||||
|
|
||||||
%check
|
%check
|
||||||
# create ignore list of tests that reach out to the net
|
# create ignore list of tests that reach out to the net
|
||||||
# test_ssl.py is fragile as it expect specific responses from ssl and
|
|
||||||
# does not account to our local changes
|
|
||||||
# Also, gh#gevent/gevent#1390
|
|
||||||
# Also, gh#gevent/gevent#1501
|
|
||||||
# Test threading problems may be problem of bpo#36402, which has been
|
|
||||||
# fixed in 3.7.5.
|
|
||||||
cat <<'EOF' >> network_tests.txt
|
cat <<'EOF' >> network_tests.txt
|
||||||
test__all__.py
|
test__core_stat.py
|
||||||
test___config.py
|
%if 0%{?sle_version} <= 150200 && 0%{?is_opensuse}
|
||||||
test__doctests.py
|
test__destroy_default_loop.py
|
||||||
|
%endif
|
||||||
test__examples.py
|
test__examples.py
|
||||||
test__execmodules.py
|
# this one fails occasionally with: Address already in use: ('127.0.0.1', 16000)
|
||||||
|
test__example_portforwarder.py
|
||||||
test__getaddrinfo_import.py
|
test__getaddrinfo_import.py
|
||||||
test_httplib.py
|
test__resolver_dnspython.py
|
||||||
test__socket_dns.py
|
test__socket_dns.py
|
||||||
test_socket.py
|
|
||||||
test__socket_ssl.py
|
|
||||||
test__ssl.py
|
|
||||||
test_ssl.py
|
|
||||||
test_threading.py
|
|
||||||
test_urllib2_localnet.py
|
|
||||||
test_urllib2net.py
|
|
||||||
test_wsgiref.py
|
|
||||||
EOF
|
EOF
|
||||||
export GEVENT_RESOLVER=thread
|
export GEVENT_RESOLVER=thread
|
||||||
# Setting the TRAVIS environment variable makes some different configuration
|
# Setting the TRAVIS environment variable makes some different configuration
|
||||||
@ -148,6 +143,7 @@ export TRAVIS=1
|
|||||||
# for Appveyor that we also need in obs for "wait_threads() failed to cleanup 1 threads"
|
# for Appveyor that we also need in obs for "wait_threads() failed to cleanup 1 threads"
|
||||||
export APPVEYOR=1
|
export APPVEYOR=1
|
||||||
export LANG=en_US.UTF-8
|
export LANG=en_US.UTF-8
|
||||||
|
|
||||||
%python_expand PYTHONPATH=%{buildroot}%{$python_sitearch} $python -m gevent.tests --ignore network_tests.txt
|
%python_expand PYTHONPATH=%{buildroot}%{$python_sitearch} $python -m gevent.tests --ignore network_tests.txt
|
||||||
|
|
||||||
%files %{python_files}
|
%files %{python_files}
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
From: Antonio Larrosa <alarrosa@suse.com>
|
|
||||||
Subject: Fix failing tests
|
|
||||||
|
|
||||||
libev-cext seems to be broken on i586, so use libev-cffi by default
|
|
||||||
(also, the gevent documentation mentions that upstream will make
|
|
||||||
libev-cffi the default soon [1]).
|
|
||||||
|
|
||||||
[1] http://www.gevent.org/loop_impls.html#libev
|
|
||||||
|
|
||||||
Index: gevent-1.4.0/src/gevent/_config.py
|
|
||||||
===================================================================
|
|
||||||
--- gevent-1.4.0.orig/src/gevent/_config.py
|
|
||||||
+++ gevent-1.4.0/src/gevent/_config.py
|
|
||||||
@@ -352,8 +352,8 @@ class Loop(ImportableSetting, Setting):
|
|
||||||
"""
|
|
||||||
|
|
||||||
default = [
|
|
||||||
- 'libev-cext',
|
|
||||||
'libev-cffi',
|
|
||||||
+ 'libev-cext',
|
|
||||||
'libuv-cffi',
|
|
||||||
] if not WIN else [
|
|
||||||
'libuv-cffi',
|
|
Loading…
x
Reference in New Issue
Block a user