diff --git a/.gitignore b/.gitignore index b23e289..df8d51a 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,19 @@ gevent-0.13.0.tar.gz /gevent-1.3.3.tar.gz /gevent-1.3.4.tar.gz /gevent-1.3.6.tar.gz +/gevent-1.5a3.zip +/gevent-20.5.0.tar.gz +/gevent-20.6.0.tar.gz +/gevent-20.6.1.tar.gz +/gevent-20.9.0.tar.gz +/gevent-21.1.2.tar.gz +/gevent-21.12.0.tar.gz +/gevent-22.10.2.tar.gz +/gevent-23.7.0.tar.gz +/gevent-23.9.1.tar.gz +/gevent-24.2.1.tar.gz +/gevent-24.10.1.tar.gz +/gevent-24.10.2.tar.gz +/gevent-24.11.1.tar.gz +/gevent-25.9.1.tar.gz +/gevent-26.7.0.tar.gz diff --git a/0001-always-obey-GEVENT_NO_CFFI_BUILD.patch b/0001-always-obey-GEVENT_NO_CFFI_BUILD.patch deleted file mode 100644 index 7f768ec..0000000 --- a/0001-always-obey-GEVENT_NO_CFFI_BUILD.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 05650624fe2524ecb1bdbbd4facc5d988275e542 Mon Sep 17 00:00:00 2001 -From: Dan Callaghan -Date: Wed, 7 Jun 2017 13:55:53 +1000 -Subject: [PATCH] always obey GEVENT_NO_CFFI_BUILD - -If libev is not embedded, we still want to set GEVENT_NO_CFFI_BUILD=1 to -prevent setup.py from trying to configure libev, regardless whether cffi -modules will actually be built or not. ---- - setup.py | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -diff --git a/setup.py b/setup.py -index 9c229ad..ea4dcaf 100755 ---- a/setup.py -+++ b/setup.py -@@ -90,16 +90,17 @@ - except ImportError: - pass - else: -- if IGNORE_CFFI and not PYPY: -- # Allow distributors to turn off CFFI builds -- # even if it's available, because CFFI always embeds -- # our copy of libev and they may not want that. -- del cffi_modules[:] - # Note that we don't add cffi to install_requires, it's - # optional. We tend to build and distribute wheels with the CFFI - # modules built and they can be imported if CFFI is installed. - # install_requires.append('cffi >= 1.3.0') -+ pass - -+if IGNORE_CFFI and not PYPY: -+ # Allow distributors to turn off CFFI builds -+ # even if it's available, because CFFI always embeds -+ # our copy of libev and they may not want that. -+ del cffi_modules[:] - - # If we are running info / help commands, or we're being imported by - # tools like pyroma, we don't need to build anything --- -2.9.4 - diff --git a/python-gevent.spec b/python-gevent.spec index dfc80b0..f6252ac 100644 --- a/python-gevent.spec +++ b/python-gevent.spec @@ -1,24 +1,22 @@ -%global __provides_exclude_from ^%{python2_sitearch}/.*\\.so$ ^%{python3_sitearch}/.*\\.so$ +%global __provides_exclude_from ^%{python3_sitearch}/.*\\.so$ %global modname gevent %global optflags %(echo %{optflags} -I%{_includedir}/libev) Name: python-%{modname} -Version: 1.3.6 -Release: 2%{?dist} +Version: 26.7.0 +Release: %autorelease Summary: A coroutine-based Python networking library - License: MIT URL: http://www.gevent.org/ -Source0: https://files.pythonhosted.org/packages/source/g/%{modname}/%{modname}-%{version}.tar.gz +Source0: %{pypi_source %{modname} %{version} tar.gz} -BuildRequires: gcc +BuildRequires: gcc BuildRequires: c-ares-devel BuildRequires: libev-devel - +BuildRequires: libuv-devel %description gevent is a coroutine-based Python networking library that uses greenlet to provide a high-level synchronous API on top of libevent event loop. - Features include: * convenient API around greenlets @@ -28,39 +26,14 @@ Features include: * DNS requests done through libevent-dns * monkey patching utility to get pure Python modules to cooperate -%package -n python2-%{modname} -Summary: %{summary} -%{?python_provide:%python_provide python2-%{modname}} -BuildRequires: python2-devel -BuildRequires: python2-greenlet-devel -Requires: python2-greenlet - -%description -n python2-%{modname} -gevent is a coroutine-based Python networking library that uses greenlet to -provide a high-level synchronous API on top of libevent event loop. - -Features include: - - * convenient API around greenlets - * familiar synchronization primitives (gevent.event, gevent.queue) - * socket module that cooperates - * WSGI server on top of libevent-http - * DNS requests done through libevent-dns - * monkey patching utility to get pure Python modules to cooperate - -Python 2 version. - %package -n python3-%{modname} Summary: %{summary} -%{?python_provide:%python_provide python3-%{modname}} BuildRequires: python3-devel -BuildRequires: python3-greenlet-devel -Requires: python3-greenlet - +BuildRequires: python3-greenlet-devel >= 3.2.2 +BuildRequires: python3-zope-event %description -n python3-%{modname} gevent is a coroutine-based Python networking library that uses greenlet to provide a high-level synchronous API on top of libevent event loop. - Features include: * convenient API around greenlets @@ -70,8 +43,6 @@ Features include: * DNS requests done through libevent-dns * monkey patching utility to get pure Python modules to cooperate -Python 3 version. - %prep %autosetup -n %{modname}-%{version} # Remove bundled libraries @@ -80,179 +51,40 @@ rm -r deps # because... reasons (PyPy I think?) however we do not want that. Sources will # go into debuginfo as normal. sed -i -e 's/include_package_data=True/include_package_data=False/' setup.py +# No linters +sed -i -e '/coverage/d' -e '/objgraph/d' setup.py + +# Force re-cythonizing the sources - missing with github tarballs +rm -f $(grep -rl '/\* Generated by Cython') +rm -f src/gevent/_generated_include/* + +# Test requires network, fails in mock/koji +mv src/gevent/tests/test__resolver_dnspython.py{,.needsnetwork} + +%generate_buildrequires +%pyproject_buildrequires -t %build -export LIBEV_EMBED=0 -export CARES_EMBED=0 -export GEVENT_NO_CFFI_BUILD=1 -%py2_build -%py3_build +export GEVENTSETUP_EMBED=0 +%pyproject_wheel %install -export LIBEV_EMBED=0 -export CARES_EMBED=0 -export GEVENT_NO_CFFI_BUILD=1 -%py2_install -%py3_install -rm %{buildroot}%{python2_sitearch}/%{modname}/_*3.py* -rm %{buildroot}%{python3_sitearch}/%{modname}/_*2.py -rm %{buildroot}%{python3_sitearch}/%{modname}/__pycache__/_*2.* +export GEVENTSETUP_EMBED=0 +%pyproject_install find %{buildroot} -name '.buildinfo' -delete # Correct the permissions. find %{buildroot} -name '*.so' -exec chmod 755 {} ';' +%pyproject_save_files -l %{modname} -%files -n python2-%{modname} -%license LICENSE -%doc README.rst -%{python2_sitearch}/%{modname}* +%check +%pyproject_check_import -t +export PYTHONPATH=%{buildroot}%{python3_sitearch} +# test_resolution is failing - https://github.com/gevent/gevent/issues/2064 +%{py3_test_envvars} %{python3} -m gevent.tests --verbose || : +cd src/gevent/tests && GEVENT_FILE=thread %{python3} -mgevent.tests test__*subprocess*.py -%files -n python3-%{modname} -%license LICENSE +%files -n python3-%{modname} -f %{pyproject_files} %doc README.rst -%{python3_sitearch}/%{modname}* %changelog -* Sat Feb 02 2019 Fedora Release Engineering - 1.3.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Mon Sep 17 2018 Dan Callaghan - 1.3.6-1 -- Upstream bug fix release 1.3.6: http://www.gevent.org/changelog.html - -* Sat Jul 14 2018 Fedora Release Engineering - 1.3.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Mon Jul 02 2018 Miro Hrončok - 1.3.4-2 -- Rebuilt for Python 3.7 - -* Tue Jun 26 2018 Dan Callaghan - 1.3.4-1 -- Update to 1.3.4 (RHBZ#1593266) - -* Mon Jun 18 2018 Miro Hrončok - 1.3.3-2 -- Rebuilt for Python 3.7 - -* Wed Jun 13 2018 Dan Callaghan - 1.3.3-1 -- Update to 1.3.3 (RHBZ#1589102) - -* Mon Jun 04 2018 Dan Callaghan - 1.3.2-1 -- Update to 1.3.2 (RHBZ#1583647) - -* Tue May 29 2018 Dan Callaghan - 1.3.1-1 -- Update to 1.3.1 (RHBZ#1552352) - http://www.gevent.org/whatsnew_1_3.html - -* Fri Feb 09 2018 Fedora Release Engineering - 1.2.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Wed Aug 09 2017 Dan Callaghan - 1.2.2-1 -- Update to 1.2.2 (RHBZ#1389634) - -* Thu Aug 03 2017 Fedora Release Engineering - 1.1.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 1.1.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Feb 11 2017 Fedora Release Engineering - 1.1.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Mon Dec 19 2016 Miro Hrončok - 1.1.2-2 -- Rebuild for Python 3.6 - -* Sun Jul 24 2016 Igor Gnatenko - 1.1.2-1 -- Update to 1.1.2 (RHBZ #1359455) - -* Tue Jul 19 2016 Fedora Release Engineering - 1.1.1-2 -- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages - -* Tue Apr 05 2016 Igor Gnatenko - 1.1.1-1 -- Update to 1.1.1 (RHBZ #1323855) - -* Tue Mar 15 2016 Dan Callaghan - 1.1.0-1 -- Update to 1.1.0 final release - -* Wed Feb 17 2016 Igor Gnatenko - 1.1-0.8.rc4 -- Update to 1.1rc4 (RHBZ #1309141) - -* Thu Feb 04 2016 Fedora Release Engineering - 1.1-0.7.rc3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Wed Jan 20 2016 Dan Callaghan - 1.1-0.6.rc3 -- Update to 1.1rc3 - -* Tue Nov 10 2015 Fedora Release Engineering - 1.1-0.5.b6 -- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 - -* Sat Oct 24 2015 Igor Gnatenko - 1.1-0.4.b6 -- Fix description in spec - -* Sun Oct 18 2015 Igor Gnatenko - 1.1-0.3.b6 -- Update to 1.1b6 (RHBZ #1272717) - -* Tue Oct 06 2015 Orion Poplawski - 1.1-0.2.b5 -- Drop use of unneeded %%{py3dir} - -* Mon Oct 05 2015 Igor Gnatenko - 1.1-0.1.b5 -- Update to 1.1b5 (RHBZ #1244452) -- Add python3 support -- Follow modern RPM packaging guidelines - -* Fri Jun 26 2015 Dan Callaghan - 1.0.2-2 -- removed version requirement for greenlet - -* Mon Jun 22 2015 Dan Callaghan - 1.0.2-1 -- bug fix release 1.0.2: - https://github.com/gevent/gevent/blob/v1.0.2/changelog.rst#release-102-may-23-2015 - -* Thu Jun 18 2015 Fedora Release Engineering - 1.0.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Sun Aug 17 2014 Fedora Release Engineering - 1.0.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Fri Aug 15 2014 Orion Poplawski - 1.0.1-1 -- Update to 1.0.1 - -* Sat Jun 07 2014 Fedora Release Engineering - 1.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Wed Jan 22 2014 Orion Poplawski - 1.0-1 -- Update to 1.0 - -* Sun Aug 04 2013 Fedora Release Engineering - 0.13.8-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Thu Feb 14 2013 Fedora Release Engineering - 0.13.8-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Thu Dec 27 2012 Silas Sewell - 0.13.8-1 -- Update to 0.13.8 - -* Sat Jul 21 2012 Fedora Release Engineering - 0.13.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Sat Jan 14 2012 Fedora Release Engineering - 0.13.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Sun Jul 24 2011 Silas Sewell - 0.13.6-1 -- Update to 0.13.6 - -* Wed Feb 16 2011 Silas Sewell - 0.13.3-1 -- Update to 0.13.3 - -* Tue Feb 08 2011 Fedora Release Engineering - 0.13.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Sat Oct 09 2010 Silas Sewell - 0.13.1-1 -- Update to 0.13.1 - -* Tue Jul 27 2010 David Malcolm - 0.13.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild - -* Wed Jul 14 2010 Silas Sewell - 0.13.0-1 -- Update to 0.13.0 - -* Fri Apr 23 2010 Silas Sewell - 0.12.2-2 -- Remove setuptools requirement - -* Wed Mar 17 2010 Silas Sewell - 0.12.2-1 -- Initial build +%autochangelog diff --git a/sources b/sources index 55a8ed9..8506c38 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gevent-1.3.6.tar.gz) = 9ad6bf8a939a3cf812fd33c9f55813c0a3ee281ccb38e42ec8c68c3fbb4ba07623d7dfb7104d3e343713ee93b4b4d7e29de06a2992b171166b003985f2b49e2a +SHA512 (gevent-26.7.0.tar.gz) = 70e7a21874c77990884e46a5e849ee4e065c4b918544bf8a11f665412d101a94c81bae713c7202ebbe81fd5439e57248b23f098aec7b16b6f05d99ce1a6ec4a8