Commit 7d571062 authored by Jason Madden's avatar Jason Madden

Update the greenlet header to match 1.1.0 for 3.10

parent 790cab22
...@@ -138,6 +138,7 @@ Features ...@@ -138,6 +138,7 @@ Features
Reported by Suhail Muhammed. Reported by Suhail Muhammed.
See :issue:`1678`. See :issue:`1678`.
- Drop support for Python 3.5.
Bugfixes Bugfixes
-------- --------
......
...@@ -38,6 +38,9 @@ typedef struct _greenlet { ...@@ -38,6 +38,9 @@ typedef struct _greenlet {
#if PY_VERSION_HEX >= 0x030700A3 #if PY_VERSION_HEX >= 0x030700A3
PyObject* context; PyObject* context;
#endif #endif
#if PY_VERSION_HEX >= 0x30A00B1
CFrame* cframe;
#endif
} PyGreenlet; } PyGreenlet;
#define PyGreenlet_Check(op) PyObject_TypeCheck(op, &PyGreenlet_Type) #define PyGreenlet_Check(op) PyObject_TypeCheck(op, &PyGreenlet_Type)
......
Add support for Python 3.10.
As part of this, the minimum required greenlet version was increased
to 1.1.0 (on CPython), and the minimum version of Cython needed to
build gevent from a source checkout is 3.0a9.
...@@ -19,8 +19,9 @@ ...@@ -19,8 +19,9 @@
Supported Platforms Supported Platforms
=================== ===================
This version of gevent runs on Python 2.7.9 and up, and Python 3.5, 3.6, 3.7 and This version of gevent runs on Python 2.7.9 and up, and many versions
3.8. gevent requires the `greenlet <https://greenlet.readthedocs.io>`_ of Python 3 (for exact details, see the classifiers on the PyPI page
or in ``setup.py``). gevent requires the `greenlet <https://greenlet.readthedocs.io>`_
library and will install the `cffi`_ library by default on Windows. library and will install the `cffi`_ library by default on Windows.
The cffi library will become the default on all platforms in a future The cffi library will become the default on all platforms in a future
release of gevent. release of gevent.
......
...@@ -199,8 +199,9 @@ greenlet_requires = [ ...@@ -199,8 +199,9 @@ greenlet_requires = [
# Binary compatibility would break if the greenlet struct changes. # Binary compatibility would break if the greenlet struct changes.
# (Which it did in 0.4.14 for Python 3.7 and again in 0.4.17; with # (Which it did in 0.4.14 for Python 3.7 and again in 0.4.17; with
# the release of 1.0a1 it began promising ABI stability with SemVer # the release of 1.0a1 it began promising ABI stability with SemVer
# so we can add an upper bound) # so we can add an upper bound).
'greenlet >= 0.4.17, < 2.0; platform_python_implementation=="CPython"', # 1.1.0 is required for 3.10; it has a new ABI, but only on 1.1.0.
'greenlet >= 1.1.0, < 2.0; platform_python_implementation=="CPython"',
] ]
# Note that we don't add cffi to install_requires, it's # Note that we don't add cffi to install_requires, it's
...@@ -441,12 +442,11 @@ def run_setup(ext_modules): ...@@ -441,12 +442,11 @@ def run_setup(ext_modules):
classifiers=[ classifiers=[
"License :: OSI Approved :: MIT License", "License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 2.7", "Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy", "Programming Language :: Python :: Implementation :: PyPy",
"Operating System :: MacOS :: MacOS X", "Operating System :: MacOS :: MacOS X",
...@@ -457,7 +457,7 @@ def run_setup(ext_modules): ...@@ -457,7 +457,7 @@ def run_setup(ext_modules):
"Intended Audience :: Developers", "Intended Audience :: Developers",
"Development Status :: 4 - Beta" "Development Status :: 4 - Beta"
], ],
python_requires=">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", python_requires=">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5",
entry_points={ entry_points={
'gevent.plugins.monkey.will_patch_all': [ 'gevent.plugins.monkey.will_patch_all': [
"signal_os_incompat = gevent.monkey:_subscribe_signal_os", "signal_os_incompat = gevent.monkey:_subscribe_signal_os",
......
[tox] [tox]
envlist = envlist =
py27,py35,py36,py37,py27-cffi,pypy,pypy3,py27-libuv,lint py27,py36,py37,py38,py39,py310,py27-cffi,pypy,pypy3,py27-libuv,lint
[testenv] [testenv]
usedevelop = true usedevelop = true
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment