Blame SPECS/python-uvloop.spec

8e5576
Name:           python-uvloop
8e5576
Version:        0.19.0
8e5576
Release:        7%{?dist}
8e5576
Summary:        Ultra fast implementation of asyncio event loop on top of libuv
8e5576
8e5576
License:        MIT OR Apache-2.0
8e5576
URL:            https://github.com/MagicStack/uvloop
8e5576
Source:         %{url}/archive/v%{version}/uvloop-%{version}.tar.gz
8e5576
8e5576
# Fix compatibility with Cython 3.
8e5576
Patch:          https://github.com/MagicStack/uvloop/pull/587.patch
8e5576
8e5576
# Fix build with Python 3.13: _Py_RestoreSignals() has been moved to internals
8e5576
Patch:          https://github.com/MagicStack/uvloop/pull/604.patch
8e5576
8e5576
BuildRequires:  gcc
8e5576
BuildRequires:  libuv-devel
8e5576
8e5576
BuildRequires:  python3-devel
8e5576
8e5576
# We avoid generating this via the “dev” dependency, because that would bring
8e5576
# in unwanted documentation dependencies too.
8e5576
BuildRequires:  %{py3_dist pytest}
8e5576
8e5576
%global _description \
8e5576
uvloop is a fast, drop-in replacement of the built-in asyncio event loop.\
8e5576
uvloop is implemented in Cython and uses libuv under the hood.
8e5576
8e5576
%description %{_description}
8e5576
8e5576
%package -n python3-uvloop
8e5576
Summary:        %{summary}
8e5576
8e5576
%description -n python3-uvloop %{_description}
8e5576
8e5576
%prep
8e5576
%autosetup -p1 -n uvloop-%{version}
8e5576
8e5576
# There currently doesn’t appear to be a way to pass through these “build_ext
8e5576
# options,” so we resort to patching the defaults. Some related discussion
8e5576
# appears in https://github.com/pypa/setuptools/issues/3896.
8e5576
#
8e5576
# always use cython to generate code (and generate a build dependency on it)
8e5576
sed -i -e "/self.cython_always/s/False/True/" setup.py
8e5576
# use system libuv
8e5576
sed -i -e "/self.use_system_libuv/s/False/True/" setup.py
8e5576
8e5576
# To be sure, no 3rd-party stuff
8e5576
rm -vrf vendor/
8e5576
8e5576
# - https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters
8e5576
# - Loosen SemVer pins; we must work with what we have available, especially
8e5576
#   for test dependencies!
8e5576
sed -r -i \
8e5576
    -e "s/^([[:blank:]]*)([\"'](flake8|pycodestyle|mypy)\b)/\\1# \\2/" \
8e5576
    -e 's/~=/>=/' \
8e5576
    pyproject.toml
8e5576
8e5576
# We don’t have aiohttp==3.9.0b0; see if we can make do with the packaged
8e5576
# version.
8e5576
sed -r -i 's/aiohttp==3.9.0b0;/aiohttp>=3.9.0b0;/' pyproject.toml
8e5576
8e5576
# Require Cython 3.x
8e5576
sed -i 's/\(Cython\)(>=0.29.36,<0.30.0)/\1>=3/' pyproject.toml
8e5576
8e5576
%generate_buildrequires
8e5576
%pyproject_buildrequires -x test
8e5576
8e5576
%build
8e5576
%pyproject_wheel
8e5576
8e5576
%install
8e5576
%pyproject_install
8e5576
%pyproject_save_files uvloop
8e5576
8e5576
# Don’t ship C sources and headers.
8e5576
find '%{buildroot}%{python3_sitearch}' -type f -name '*.[ch]' -print -delete
8e5576
sed -r -i '/\.[ch]$/d' %{pyproject_files}
8e5576
8e5576
%check
8e5576
%ifarch ppc64le
8e5576
# ignore tests that fail on ppc64le
8e5576
ignore="${ignore-} --ignore=tests/test_pipes.py"
8e5576
%endif
8e5576
8e5576
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters
8e5576
ignore="${ignore-} --ignore=tests/test_sourcecode.py"
8e5576
8e5576
# Don’t import the “un-built” uvloop from the build directory.
8e5576
mkdir -p _empty
8e5576
cd _empty
8e5576
ln -s ../tests/ .
8e5576
8e5576
# test_getaddrinfo_8 and _9 run getaddrinfo with zero-length inputs
8e5576
# libuv 1.48.0+ rejects that
8e5576
# reported as https://github.com/MagicStack/uvloop/issues/596
8e5576
# test_create_unix_server_1 fails with Python 3.13
8e5576
# https://github.com/MagicStack/uvloop/pull/604
8e5576
%pytest -v ${ignore-} -k "not test_getaddrinfo_8 and not test_getaddrinfo_9 and not test_create_unix_server_1 and not test_create_server_4"
8e5576
8e5576
%files -n python3-uvloop -f %{pyproject_files}
8e5576
#license LICENSE-APACHE LICENSE-MIT
8e5576
%doc README.rst
8e5576
8e5576
%changelog
8e5576
* Tue Feb 04 2025 Joel Capitao <jcapitao@redhat.com> - 0.19.0-7
8e5576
- Disable flaky test
8e5576
8e5576
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.19.0-6
8e5576
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
8e5576
8e5576
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.19.0-5
8e5576
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
8e5576
8e5576
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 0.19.0-4
8e5576
- Rebuilt for Python 3.13
8e5576
8e5576
* Tue Apr 30 2024 Karolina Surma <ksurma@redhat.com> - 0.19.0-3
8e5576
- Fix build with Python 3.13
8e5576
8e5576
* Tue Feb 27 2024 Miro Hrončok <miro@hroncok.cz> - 0.19.0-2
8e5576
- Skip tests with zero-length idna inputs, failing on libuv 1.48.0+
8e5576
8e5576
* Thu Feb 01 2024 Jerry James <loganjerry@gmail.com> - 0.19.0-1
8e5576
- Version 0.19.0 (rhbz#2245745)
8e5576
- Replace cython3 patch with upstream PR (fixes rhbz#2259751)
8e5576
8e5576
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.18.0-4
8e5576
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
8e5576
8e5576
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.18.0-3
8e5576
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
8e5576
8e5576
* Tue Dec 19 2023 Miro Hrončok <miro@hroncok.cz> - 0.18.0-2
8e5576
- Use Cython 3 for building
8e5576
- Fixes: rhbz#2254040
8e5576
8e5576
* Mon Oct 16 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.18.0-1
8e5576
- Update to 0.18.0 (close RHBZ#2244190)
8e5576
8e5576
* Mon Oct 16 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.17.0-11
8e5576
- Don’t ship C sources and headers
8e5576
8e5576
* Mon Oct 16 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.17.0-10
8e5576
- Update to pyproject-rpm-macros
8e5576
- Stop trying to omit uvloop._testbase; it is harmless, and we really do
8e5576
  need it to run the tests against the installed-to-buildroot package.
8e5576
8e5576
* Sun Oct 15 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.17.0-9
8e5576
- Update License to SPDX
8e5576
8e5576
* Fri Sep 22 2023 Carl George <carlwgeorge@fedoraproject.org> - 0.17.0-7
8e5576
- Fix building against Python 3.12
8e5576
- Switch to building against python3-cython0.29 compat package
8e5576
- Delete tests that fail on Python 3.12
8e5576
- Resolves: rhbz#2226364 rhbz#2220551 rhbz#2203920
8e5576
8e5576
* Sun Jul 23 2023 Python Maint <python-maint@redhat.com> - 0.17.0-6
8e5576
- Rebuilt for Python 3.12
8e5576
8e5576
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.17.0-5
8e5576
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
8e5576
8e5576
* Thu Jun 29 2023 Python Maint <python-maint@redhat.com> - 0.17.0-4
8e5576
- Rebuilt for Python 3.12
8e5576
8e5576
* Wed Feb 22 2023 Paul Wouters <paul.wouters@aiven.io> - 0.17.0-3
8e5576
- skip tests for now on ppc64le
8e5576
8e5576
* Tue Feb 21 2023 Paul Wouters <paul.wouters@aiven.io> - 0.17.0-2
8e5576
- new sources for 0.17.0
8e5576
8e5576
* Tue Feb 21 2023 Paul Wouters <paul.wouters@aiven.io> - 0.17.0-1
8e5576
- Update to 0.17.0 and fix test_libuv_api.py
8e5576
8e5576
* Tue Feb 21 2023 Paul Wouters <paul.wouters@aiven.io> - 0.15.3-7
8e5576
- Revert "Disable tests for now"
8e5576
8e5576
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.3-6
8e5576
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
8e5576
8e5576
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.3-5
8e5576
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
8e5576
8e5576
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 0.15.3-4
8e5576
- Rebuilt for Python 3.11
8e5576
8e5576
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.3-3
8e5576
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
8e5576
8e5576
* Thu Aug 26 2021 Igor Raits <ignatenkobrain@fedoraproject.org> - 0.15.3-2
8e5576
- Switch to %%autorelease/%%autochangelog
8e5576
8e5576
* Tue Aug 10 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 0.15.3-1
8e5576
- Update to 0.15.3
8e5576
8e5576
* Tue Aug 10 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 0.15.2-3
8e5576
- Drop obsolete python_provide macro
8e5576
8e5576
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.2-2
8e5576
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
8e5576
8e5576
* Wed Jun 09 2021 Carl George <carl@george.computer> - 0.15.2-1
8e5576
- Latest upstream 0.15.2
8e5576
8e5576
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.14.0-5
8e5576
- Rebuilt for Python 3.10
8e5576
8e5576
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.0-4
8e5576
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
8e5576
8e5576
* Thu Jan 07 2021 Miro Hrončok <miro@hroncok.cz> - 0.14.0-3
8e5576
- Backport Python 3.10+ compatibility
8e5576
8e5576
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.0-2
8e5576
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
8e5576
8e5576
* Mon Jun 22 2020 Itamar Reis Peixoto <itamar@ispbrasil.com.br> - 0.14.0-1
8e5576
- python-uvloop 0.14.0
8e5576
8e5576
* Tue May 26 2020 Miro Hrončok <miro@hroncok.cz> - 0.12.2-9
8e5576
- Rebuilt for Python 3.9
8e5576
8e5576
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.2-8
8e5576
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
8e5576
8e5576
* Thu Oct 03 2019 Miro Hrončok <miro@hroncok.cz> - 0.12.2-7
8e5576
- Rebuilt for Python 3.8.0rc1 (#1748018)
8e5576
8e5576
* Mon Aug 19 2019 Miro Hrončok <miro@hroncok.cz> - 0.12.2-6
8e5576
- Rebuilt for Python 3.8
8e5576
8e5576
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.2-5
8e5576
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
8e5576
8e5576
* Mon Jun 10 2019 Miro Hrončok <miro@hroncok.cz> - 0.12.2-4
8e5576
- Add patch for Python 3.8 support
8e5576
8e5576
* Thu May 02 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.12.2-3
8e5576
- Disable tests for now
8e5576
8e5576
* Thu May 02 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.12.2-2
8e5576
- BR: PyOpenSSL
8e5576
8e5576
* Thu May 02 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.12.2-1
8e5576
- Update to 0.12.2
8e5576
8e5576
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.2-4
8e5576
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
8e5576
8e5576
* Mon Oct 15 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.11.2-3
8e5576
- include files which were excluded
8e5576
8e5576
* Wed Aug 08 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.11.2-2
8e5576
- BR: python3-psutil
8e5576
8e5576
* Wed Aug 08 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.11.2-1
8e5576
- Update to 0.11.2
8e5576
8e5576
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.0-2
8e5576
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
8e5576
8e5576
* Sat Jul 07 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.11.0-1
8e5576
- Update to 0.11.0
8e5576
8e5576
* Fri Jun 22 2018 Jerry James <loganjerry@gmail.com> - 0.10.1-3
8e5576
- Try again to fix thread ID type on 32-bit systems.
8e5576
8e5576
* Fri Jun 22 2018 Jerry James <loganjerry@gmail.com> - 0.10.1-2
8e5576
- Fix thread ID type on 32-bit systems.
8e5576
8e5576
* Fri Jun 22 2018 Jerry James <loganjerry@gmail.com> - 0.10.1-1
8e5576
- Update to 0.10.1 for python 3.7 support (bz 1556279 and 1584458).
8e5576
8e5576
* Tue Jun 19 2018 Miro Hrončok <miro@hroncok.cz> - 0.8.1-3
8e5576
- Rebuilt for Python 3.7
8e5576
8e5576
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.1-2
8e5576
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
8e5576
8e5576
* Wed Sep 13 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.8.1-1
8e5576
- Update to 0.8.1
8e5576
8e5576
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-3
8e5576
- Rebuilt for
8e5576
  https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
8e5576
8e5576
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-2
8e5576
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
8e5576
8e5576
* Sat Feb 11 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.8.0-1
8e5576
- Update to 0.8.0
8e5576
8e5576
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.2-2
8e5576
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
8e5576
8e5576
* Sat Jan 07 2017 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.7.2-1
8e5576
- Update to 0.7.2
8e5576
8e5576
* Tue Jan 03 2017 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.7.1-1
8e5576
- initial import