diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index c7ffd55..0000000 --- a/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -gevent-0.12.2.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..df8d51a --- /dev/null +++ b/.gitignore @@ -0,0 +1,37 @@ +gevent-0.13.0.tar.gz +/gevent-0.13.1.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/Makefile b/Makefile deleted file mode 100644 index 84c37ac..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: python-gevent -# $Id$ -NAME := python-gevent -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/branch b/branch deleted file mode 100644 index 06de2d2..0000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -F-12 diff --git a/import.log b/import.log deleted file mode 100644 index fda5496..0000000 --- a/import.log +++ /dev/null @@ -1 +0,0 @@ -python-gevent-0_12_2-2_fc13:F-12:python-gevent-0.12.2-2.fc13.src.rpm:1273131871 diff --git a/python-gevent.spec b/python-gevent.spec index 8fa2eb1..f6252ac 100644 --- a/python-gevent.spec +++ b/python-gevent.spec @@ -1,26 +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 upstream_name gevent - -Name: python-%{upstream_name} -Version: 0.12.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 -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 @@ -31,29 +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 -* 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 97c10d6..8506c38 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -97c75039a67593d3f5375fb77f73bbe7 gevent-0.12.2.tar.gz +SHA512 (gevent-26.7.0.tar.gz) = 70e7a21874c77990884e46a5e849ee4e065c4b918544bf8a11f665412d101a94c81bae713c7202ebbe81fd5439e57248b23f098aec7b16b6f05d99ce1a6ec4a8