python-gevent/python-gevent.spec

123 lines
4.0 KiB
RPMSpec
Raw Normal View History

2019-12-17 15:26:13 +08:00
%global __provides_exclude_from ^%{python2_sitearch}/.*\\.so$ ^%{python3_sitearch}/.*\\.so$
%global optflags %(echo %{optflags} -I%{_includedir}/libev)
Name: python-gevent
Version: 1.3.6
Release: 2
Summary: A coroutine-based Python networking library
License: MIT
URL: http://www.gevent.org/
Source0: https://files.pythonhosted.org/packages/source/g/gevent/gevent-%{version}.tar.gz
BuildRequires: gcc c-ares-devel libev-devel
%description
gevent is a coroutine -based Python networking library that uses greenlet to
provide a high-level synchronous API on top of the libev or libuv event loop.
Features include:
* Fast event loop based on libev or libuv.
* Lightweight execution units based on greenlets.
* API that re-uses concepts from the Python standard library (for examples there are events and queues).
* Cooperative sockets with SSL support
* Cooperative DNS queries performed through a threadpool, dnspython, or c-ares.
* Monkey patching utility to get 3rd party modules to become cooperative
* TCP/UDP/HTTP servers
* Subprocess support (through gevent.subprocess)
* Thread pools
%package_help
%package -n python2-gevent
Summary: %{summary}
%{?python_provide:%python_provide python2-gevent}
BuildRequires: python2-devel python2-greenlet-devel
Requires: python2-greenlet
%description -n python2-gevent
gevent is a coroutine -based Python networking library that uses greenlet to
provide a high-level synchronous API on top of the libev or libuv event loop.
Features include:
* Fast event loop based on libev or libuv.
* Lightweight execution units based on greenlets.
* API that re-uses concepts from the Python standard library (for examples there are events and queues).
* Cooperative sockets with SSL support
* Cooperative DNS queries performed through a threadpool, dnspython, or c-ares.
* Monkey patching utility to get 3rd party modules to become cooperative
* TCP/UDP/HTTP servers
* Subprocess support (through gevent.subprocess)
* Thread pools
Python 2 version.
%package -n python3-gevent
Summary: %{summary}
%{?python_provide:%python_provide python3-gevent}
BuildRequires: python3-devel python3-greenlet-devel
Requires: python3-greenlet
%description -n python3-gevent
gevent is a coroutine -based Python networking library that uses greenlet to
provide a high-level synchronous API on top of the libev or libuv event loop.
Features include:
* Fast event loop based on libev or libuv.
* Lightweight execution units based on greenlets.
* API that re-uses concepts from the Python standard library (for examples there are events and queues).
* Cooperative sockets with SSL support
* Cooperative DNS queries performed through a threadpool, dnspython, or c-ares.
* Monkey patching utility to get 3rd party modules to become cooperative
* TCP/UDP/HTTP servers
* Subprocess support (through gevent.subprocess)
* Thread pools
Python 3 version.
%prep
%autosetup -n gevent-%{version}
# Remove bundled libraries
rm -r deps
# C extension sources will go into debuginfo as normal.
sed -i -e 's/include_package_data=True/include_package_data=False/' setup.py
%build
export LIBEV_EMBED=0
export CARES_EMBED=0
export GEVENT_NO_CFFI_BUILD=1
%py2_build
%py3_build
%install
export LIBEV_EMBED=0
export CARES_EMBED=0
export GEVENT_NO_CFFI_BUILD=1
%py2_install
%py3_install
rm %{buildroot}%{python2_sitearch}/gevent/_*3.py*
rm %{buildroot}%{python3_sitearch}/gevent/_*2.py
rm %{buildroot}%{python3_sitearch}/gevent/__pycache__/_*2.*
find %{buildroot} -name '.buildinfo' -delete
# Correct the permissions.
find %{buildroot} -name '*.so' -exec chmod 755 {} ';'
%files help
%doc README.rst
%files -n python2-gevent
%defattr(-,root,root)
%license LICENSE
%{python2_sitearch}/gevent*
%files -n python3-gevent
%defattr(-,root,root)
%license LICENSE
%{python3_sitearch}/gevent*
%changelog
* Tue Dec 10 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.3.6-2
- modify spec format
* Tue Dec 10 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.3.6-1
- Package init