diff --git a/.gitignore b/.gitignore index 1549526..df8d51a 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,35 @@ gevent-0.13.0.tar.gz /gevent-0.13.3.tar.gz /gevent-0.13.6.tar.gz /gevent-0.13.8.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/python-gevent.spec b/python-gevent.spec index 452a9a2..f6252ac 100644 --- a/python-gevent.spec +++ b/python-gevent.spec @@ -1,30 +1,39 @@ -%{!?python_sitearch: %global python_sitearch %(%{__python} -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 _use_internal_dependency_generator 0 -%global __find_provides %{_rpmconfigdir}/find-provides | grep -v core.so -%global __find_requires %{_rpmconfigdir}/find-requires | grep -v core.so - -%global upstream_name gevent - -Name: python-%{upstream_name} -Version: 0.13.8 -Release: 3%{?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 -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - -BuildRequires: python-devel -BuildRequires: libevent-devel >= 1.4.0 -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 @@ -35,62 +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 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}" %{__python} setup.py build +export GEVENTSETUP_EMBED=0 +%pyproject_wheel %install -rm -rf %{buildroot} -%{__python} setup.py install -O1 --skip-build --root %{buildroot} -# Fix non-standard-executable-perm error -%{__chmod} 0755 %{buildroot}%{python_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} -%clean -rm -rf %{buildroot} +%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 -%defattr(-,root,root,-) -%doc LICENSE README.rst -%{python_sitearch}/%{upstream_name} -%{python_sitearch}/%{upstream_name}-%{version}-*.egg-info +%files -n python3-%{modname} -f %{pyproject_files} +%doc README.rst %changelog -* 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 f14793d..8506c38 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ca9dcaa7880762d8ebbc266b11252960 gevent-0.13.8.tar.gz +SHA512 (gevent-26.7.0.tar.gz) = 70e7a21874c77990884e46a5e849ee4e065c4b918544bf8a11f665412d101a94c81bae713c7202ebbe81fd5439e57248b23f098aec7b16b6f05d99ce1a6ec4a8