diff --git a/.gitignore b/.gitignore index 5b331cc..df8d51a 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,32 @@ gevent-0.13.0.tar.gz /gevent-1.0.tar.gz /gevent-1.0.1.tar.gz /gevent-1.0.2.tar.gz +/gevent-1.1b5.tar.gz +/gevent-1.1b6.tar.gz +/gevent-1.1rc3.tar.gz +/gevent-1.1rc4.tar.gz +/gevent-1.1.0.tar.gz +/gevent-1.1.1.tar.gz +/gevent-1.1.2.tar.gz +/gevent-1.2.2.tar.gz +/gevent-1.3.1.tar.gz +/gevent-1.3.2.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/0002-remove-version-requirement-for-greenlet.patch b/0002-remove-version-requirement-for-greenlet.patch deleted file mode 100644 index 01664be..0000000 --- a/0002-remove-version-requirement-for-greenlet.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 8805203cabef9919b5e2173dab85bde762f1d842 Mon Sep 17 00:00:00 2001 -From: Dan Callaghan -Date: Fri, 26 Jun 2015 13:29:04 +1000 -Subject: [PATCH 2/2] remove version requirement for greenlet - -We currently have 0.4.5 in Fedora which is also fine (Python 2.5 support -is not relevant for us). ---- - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index 1e7fbfa..5793eb9 100755 ---- a/setup.py -+++ b/setup.py -@@ -307,7 +307,7 @@ def run_setup(ext_modules): - packages=['gevent'], - ext_modules=ext_modules, - cmdclass=dict(build_ext=my_build_ext, sdist=sdist), -- install_requires=['greenlet>=0.4.7'], -+ install_requires=['greenlet'], - classifiers=[ - "License :: OSI Approved :: MIT License", - "Programming Language :: Python :: 2.5", --- -1.9.3 - diff --git a/python-gevent.spec b/python-gevent.spec index 6fb814a..f6252ac 100644 --- a/python-gevent.spec +++ b/python-gevent.spec @@ -1,33 +1,39 @@ -%{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} +%global __provides_exclude_from ^%{python3_sitearch}/.*\\.so$ +%global modname gevent +%global optflags %(echo %{optflags} -I%{_includedir}/libev) -%global __provides_exclude_from ^%{python2_sitearch}/.*\\.so$ - -%global upstream_name gevent - -Name: python-%{upstream_name} -Version: 1.0.2 -Release: 2%{?dist} -Summary: A coroutine-based Python networking library - -Group: Development/Languages -License: MIT -URL: http://www.gevent.org/ -Source0: http://pypi.python.org/packages/source/g/gevent/gevent-%{version}.tar.gz - -# gevent requires greenlet >= 0.4.7 but we have 0.4.5 in Fedora. -# The version requirement is only related to Python 2.5 support -# so we are fine with any version. -Patch2: 0002-remove-version-requirement-for-greenlet.patch - -BuildRequires: python2-devel -BuildRequires: c-ares-devel -BuildRequires: libev-devel -Requires: python-greenlet +Name: python-%{modname} +Version: 26.7.0 +Release: %autorelease +Summary: A coroutine-based Python networking library +License: MIT +URL: http://www.gevent.org/ +Source0: %{pypi_source %{modname} %{version} tar.gz} +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 + * 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 + +%package -n python3-%{modname} +Summary: %{summary} +BuildRequires: python3-devel +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 @@ -38,82 +44,47 @@ Features include: * monkey patching utility to get pure Python modules to cooperate %prep -%setup -q -n %{upstream_name}-%{version} +%autosetup -n %{modname}-%{version} # Remove bundled libraries -rm -r c-ares libev -%patch2 -p1 +rm -r deps +# Upstream intentionally includes C extension sources in the built package, +# 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 -CFLAGS="%{optflags} -I%{_includedir}/libev" %{__python2} setup.py build +export GEVENTSETUP_EMBED=0 +%pyproject_wheel %install -%{__python2} setup.py install -O1 --skip-build --root %{buildroot} -# Fix non-standard-executable-perm error -%{__chmod} 0755 %{buildroot}%{python2_sitearch}/%{upstream_name}/core.so +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 -%doc LICENSE README.rst -%{python2_sitearch}/%{upstream_name} -%{python2_sitearch}/%{upstream_name}-%{version}-*.egg-info +%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} -f %{pyproject_files} +%doc README.rst %changelog -* 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 88ea819..8506c38 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -117f135d57ca7416203fba3720bf71c1 gevent-1.0.2.tar.gz +SHA512 (gevent-26.7.0.tar.gz) = 70e7a21874c77990884e46a5e849ee4e065c4b918544bf8a11f665412d101a94c81bae713c7202ebbe81fd5439e57248b23f098aec7b16b6f05d99ce1a6ec4a8