python-gevent/python-gevent.spec
2022-10-31 09:51:35 +08:00

102 lines
3.3 KiB
RPMSpec

%global __provides_exclude_from ^%{python3_sitearch}/.*\\.so$
%global optflags %(echo %{optflags} -I%{_includedir}/libev)
Name: python-gevent
Version: 21.1.2
Release: 1
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 libuv-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 python3-gevent
Summary: %{summary}
%{?python_provide:%python_provide python3-gevent}
BuildRequires: python3-devel python3-greenlet-devel
BuildRequires: python3-setuptools python3-Cython
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} -p1
# 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
%py3_build
%install
export LIBEV_EMBED=0
export CARES_EMBED=0
export GEVENT_NO_CFFI_BUILD=1
%py3_install
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 python3-gevent
%defattr(-,root,root)
%license LICENSE
%{python3_sitearch}/gevent*
%changelog
* Mon Oct 24 2022 Ge Wang <wangge20@h-partners.com> - 21.1.2-1
- Update to 21.1.2
* Fri Jan 07 2022 yaoxin <yaoxin30@huawei.com> - 20.6.1-1
- Fix compile failed of python-gevent
* Wed Oct 21 2020 leiju <leiju4@huawei.com> - 1.3.6-3
- remove python2 subpackage
* 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