python-aiohttp/python-aiohttp.spec
2022-10-15 08:16:08 -04:00

481 lines
17 KiB
RPMSpec
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

%bcond_without tests
Name: python-aiohttp
Version: 3.8.3
Release: 2%{?dist}
Summary: Python HTTP client/server for asyncio
License: Apache-2.0
URL: https://github.com/aio-libs/aiohttp
# We use requirements/*.txt to generate test dependencies; these files are not
# present in the PyPI sdist, so we must use the GitHub archive.
Source0: %{url}/archive/v%{version}/aiohttp-%{version}.tar.gz
# downstream only patch
Patch: 0001-Unbundle-llhttp.patch
BuildRequires: gcc
BuildRequires: llhttp-devel
BuildRequires: python3-devel
BuildRequires: python3dist(cython)
%global common_description %{expand:
Python HTTP client/server for asyncio which supports both the client and the
server side of the HTTP protocol, client and server websocket, and webservers
with middlewares and pluggable routing.}
%description %{common_description}
%package -n python3-aiohttp
Summary: %{summary}
Recommends: python3-aiohttp+speedups
%description -n python3-aiohttp %{common_description}
%pyproject_extras_subpkg -n python3-aiohttp speedups
%prep
%autosetup -p 1 -n aiohttp-%{version}
# Remove bundled llhttp
rm -rvf vendor/llhttp
# Disable test coverage reports
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters
sed -r -i '/--cov=/d' setup.cfg
# We dont use %%tox because it just runs pytest with coverage analysis; rather
# than patching out the coverage invocation, we can run pytest directly. Still,
# it is useful to generate test dependencies from tox.ini.
# Upstream supports both brotlipy and Brotli, in theory; we have the latter.
sed -r -i \
-e 's/^[[:blank:]]*coverage$/# &/' \
-e 's/^[[:blank:]]*-e[[:blank:]]+\.$/# &/' \
-e 's/brotlipy/Brotli/' \
tox.ini
# Unpin dependency versions in requirements files, so we can use them to
# generate additional dependencies. Comment out a few optional test
# dependencies that are not yet packaged, as well as coverage dependencies.
sed -r -i \
-e 's/==[^#;]+//' \
-e 's/^(proxy[-\.]py|python-on-whales|wait-for-it)/# &/' \
-e 's/^(coverage|pytest-cov|mypy)/# &/' \
requirements/*.txt
# Remove files generated by Cython to regenerate them
grep -rl '/\* Generated by Cython' | xargs -r rm -v
%generate_buildrequires
%{pyproject_buildrequires -x speedups \
requirements/base.txt %{?with_tests:requirements/test.txt -t}}
%build
# Recreate removed Cython files using commands extracted from the Makefile.
# We don't run make directly, as it pip-installs Cython.
#
# We don't need a real git checkout, but we do need a .git directory to help
# certain scripts find the root of the source tree.
mkdir -p .git
# See the aiohttp/_find_header.c target in the Makefile; this also generates
# _headers.pyi.
%{python3} tools/gen.py
# Now we can invoke Cython.
%{python3} -m cython -3 aiohttp/*.pyx -I aiohttp
# Now we need to remove the .git directory again, because its presence will
# lead the actual build astray, something like:
# Install submodules when building from git clone
# Hint:
# git submodule update --init
rm -rvf .git
# Now we can actually proceed with building the package.
%pyproject_wheel
%install
%pyproject_install
%pyproject_save_files aiohttp
%check
%if %{with tests}
# Fixes problems importing compiled extensions from subprocesses.
export PYTHONSAFEPATH=1
# Setting PYTHONSAFEPATH works only for Python 3.11+, so we must skip any
# affected tests on older Pythons.
if %{python3} -c 'import sys; sys.exit(0 if sys.version_info < (3, 11) else 1)'
then
k="${k-}${k+ and }not test_no_warnings"
fi
# test_proxy_functional.py requires python3dist(proxy-py)
# test_client_session_timeout_zero requires DNS
k="${k-}${k+ and }not test_client_session_timeout_zero"
# Unexplained flaky error during teardown:
# E RuntimeError: Event loop is closed
k="${k-}${k+ and }not test_static_file_if_match"
k="${k-}${k+ and }not test_static_file_if_none_match"
%pytest --ignore=tests/test_proxy_functional.py -k "${k-}"
%else
%pyproject_check_import -e aiohttp.pytest_plugin
%endif
%files -n python3-aiohttp -f %{pyproject_files}
%doc CHANGES.rst
%doc HISTORY.rst
%doc README.rst
%changelog
* Sat Oct 08 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 3.8.3-2
- Port to pyproject-rpm-macros
- Add metapackage for “speedups” extra
- Update License to SPDX
* Mon Sep 26 2022 Tomáš Hrnčiar <thrnciar@redhat.com> - 3.8.3-1
- Update to 3.8.3
* Thu Aug 18 2022 Stephen Gallagher <sgallagh@redhat.com> - 3.8.1-8
- Rebuilt for llhttp soname bump
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jun 16 2022 Miro Hrončok <mhroncok@redhat.com> - 3.8.1-6
- Skip less tests, set the global event loop in _setupAsyncioRunner
* Tue Jun 14 2022 Python Maint <python-maint@redhat.com> - 3.8.1-5
- Rebuilt for Python 3.11
* Thu Apr 28 2022 Carl George <carl@george.computer> - 3.8.1-4
- Add upstream patch for pytest 7 compatibility
- Resolves: rhbz#2059944
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Dec 24 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 3.8.1-2
- Stop disabling debug packages
- Unbundle llhttp
- Run the tests
* Wed Dec 01 2021 Fabian Affolter <mail@fabian-affolter.ch> - 3.8.1-1
- Update to latest upstream release 3.8.1
* Thu Nov 25 2021 Fabian Affolter <mail@fabian-affolter.ch> - 3.8.0-1
- Update to latest upstream release 3.8.0
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 3.7.4-2
- Rebuilt for Python 3.10
* Sat Feb 27 2021 Fabian Affolter <mail@fabian-affolter.ch> - 3.7.4-1
- Update to latest upstream release 3.7.4
* Thu Feb 04 2021 Miro Hrončok <mhroncok@redhat.com> - 3.7.3-3
- Allow installation with chardet 4
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Dec 11 2020 Fabian Affolter <mail@fabian-affolter.ch> - 3.7.3-1
- Update to latest upstream release 3.7.3
* Wed Dec 09 2020 Fabian Affolter <mail@fabian-affolter.ch> - 3.7.2-1
- Update to latest upstream release 3.7.2
* Mon Oct 26 2020 Fabian Affolter <mail@fabian-affolter.ch> - 3.7.1-1
- Update to new upstream version 3.7.1
* Wed Oct 14 2020 Fabian Affolter <mail@fabian-affolter.ch> - 3.6.3-1
- Update to new upstream version 3.6.3
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sun May 24 2020 Miro Hrončok <mhroncok@redhat.com> - 3.6.2-4
- Rebuilt for Python 3.9
* Wed Apr 08 2020 Carl George <carl@george.computer> - 3.6.2-3
- Don't build for s390x on EL8
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Oct 25 2019 Fabian Affolter <mail@fabian-affolter.ch> - 3.6.2-1
- Update to new upstream version 3.6.2
* Sat Sep 21 2019 Fabian Affolter <mail@fabian-affolter.ch> - 3.6.1-1
- Update to new upstream version 3.6.1
* Wed Sep 18 2019 Fabian Affolter <mail@fabian-affolter.ch> - 3.6.0-1
- Update to new upstream version 3.6.0
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 3.5.4-5
- Rebuilt for Python 3.8
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Jun 01 2019 Fabian Affolter <mail@fabian-affolter.ch> - 3.5.4-3
- Remove dep generator
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Jan 12 2019 Fabian Affolter <mail@fabian-affolter.ch> - 3.5.4-1
- Update to new upstream version 3.5.4
* Fri Jan 11 2019 Fabian Affolter <mail@fabian-affolter.ch> - 3.5.3-1
- Update to new upstream version 3.5.3
* Thu Jan 10 2019 Fabian Affolter <mail@fabian-affolter.ch> - 3.5.2-1
- Update to new upstream version 3.5.2
* Wed Dec 26 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.5.1-1
- Update to new upstream version 3.5.1
* Thu Sep 06 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.4.4-1
- Update to new upstream version 3.4.4 (rhbz#1625634)
* Wed Sep 05 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.4.3-1
- Update to 3.4.3
* Sun Sep 02 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.4.2-1
- Update to 3.4.2
* Mon Aug 27 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.4.0-4
- Unbundle http-parser (rhbz#1622508)
* Mon Aug 27 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.4.0-3
- Fix rhbz#1622310
* Sat Aug 25 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.4.0-2
- Recommend aiodns
* Sat Aug 25 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.4.0-1
- Update to new upstream version 3.4.0 (rhbz#1622288)
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.3.2-2
- Rebuilt for Python 3.7
* Tue Jun 12 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.3.2-1
- Update to new upstream version 3.3.2
* Wed Jun 06 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.3.1-1
- Update to new upstream version 3.3.1
* Fri Jun 01 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.3.0-1
- Update to new upstream version 3.3.0 (rhbz#1585170)
* Thu May 10 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.2.1-1
- Update to new upstream version 3.2.1 (rhbz#1576796)
* Mon May 07 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.2.0-1
- Update to new upstream version 3.2.0 (rhbz#1575435)
* Sat Apr 14 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.1.3-1
- Update to new upstream version 3.1.3 (rhbz#1567093)
* Fri Apr 06 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.1.2-1
- Update to new upstream version 3.1.2
* Tue Mar 27 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.1.1-1
- Update to new upstream version 3.1.1
* Fri Mar 23 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.1.0-1
- Update to new upstream version 3.1.0
* Thu Mar 15 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.0.9-1
- Update to new upstream version 3.0.9 (rhbz#1556612)
* Tue Mar 13 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.0.8-1
- Update to new upstream version 3.0.8
* Fri Mar 09 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.0.7-1
- Update to new upstream version 3.0.7 (rhbz#1548601)
* Tue Mar 06 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.0.6-1
- Update to new upstream version 3.0.6 (rhbz#1548601)
* Wed Feb 28 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.0.5-1
- Update to new upstream version 3.0.5 (rhbz#1548601)
* Mon Feb 12 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.0.1-1
- Update to new upstream version 3.0.1
* Mon Feb 12 2018 Fabian Affolter <mail@fabian-affolter.ch> - 3.0.0-1
- Update to new upstream version 3.0.0 (rhbz#1544413)
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.10-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Feb 02 2018 Fabian Affolter <mail@fabian-affolter.ch> - 2.3.10-1
- Update to new upstream version 2.3.10 (rhbz#1541369)
* Fri Jan 19 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.3.9-2
- Enable usage of dependency generator
* Wed Jan 17 2018 Igor Gnatenko <ignatenko@redhat.com> - 2.3.9-1
- Update to 2.3.9
* Mon Jan 15 2018 Fabian Affolter <mail@fabian-affolter.ch> - 2.3.8-1
- Update to new upstream version 2.3.8
* Wed Dec 27 2017 Fabian Affolter <mail@fabian-affolter.ch> - 2.3.7-1
- Update to new upstream version 2.3.7 (rhbz#1529275)
* Mon Dec 04 2017 Fabian Affolter <mail@fabian-affolter.ch> - 2.3.6-1
- Update to new upstream version 2.3.6
* Fri Dec 01 2017 Fabian Affolter <mail@fabian-affolter.ch> - 2.3.5-1
- Update to new upstream version 2.3.5
* Fri Nov 17 2017 Fabian Affolter <mail@fabian-affolter.ch> - 2.3.3-1
- Update to new upstream version 2.3.3 (rhbz#1514434)
* Thu Nov 02 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.3.2-1
- Update to 2.3.2
* Fri Oct 20 2017 Fabian Affolter <mail@fabian-affolter.ch> - 2.3.1-1
- Update to new upstream version 2.3.1 (rhbz#1504339)
* Wed Oct 18 2017 Fabian Affolter <mail@fabian-affolter.ch> - 2.3.0-1
- Update to new upstream version 2.3.0
* Fri Aug 04 2017 Fabian Affolter <mail@fabian-affolter.ch> - 2.2.5-1
- Update to new upstream version 2.2.5
* Thu Aug 03 2017 Fabian Affolter <mail@fabian-affolter.ch> - 2.2.4-1
- Update to new upstream version 2.2.4
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Thu Jul 06 2017 Fabian Affolter <mail@fabian-affolter.ch> - 2.2.3-1
- Update to new upstream version 2.2.3 (rhbz#1467742)
* Mon Jul 03 2017 Fabian Affolter <mail@fabian-affolter.ch> - 2.2.2-1
- Update to new upstream version 2.2.2
* Mon Jul 03 2017 Fabian Affolter <mail@fabian-affolter.ch> - 2.2.1-1
- Update to new upstream version 2.2.1 (rhbz#1467114)
* Tue Jun 20 2017 Fabian Affolter <mail@fabian-affolter.ch> - 2.2.0-1
- Update to new upstream version 2.2.0 (rhbz#1463234)
* Sat May 27 2017 Fabian Affolter <mail@fabian-affolter.ch> - 2.1.0-1
- Update URL
- Update to new upstream version 2.1.0 (rhbz#1456063)
* Fri Apr 14 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.0.7-1
- Update to 2.0.7
* Fri Apr 07 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.0.6-1
- Update to 2.0.6
* Thu Mar 30 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.0.5-1
- Update to 2.0.5
* Tue Mar 28 2017 Igor Gnatenko <ignatenko@redhat.com> - 2.0.4-1
- Update to 2.0.4
* Sat Mar 25 2017 Fabian Affolter <mail@fabian-affolter.ch> - 2.0.3-1
- Update to new upstream version 2.0.3 (rhbz#1435844)
* Thu Mar 23 2017 Igor Gnatenko <ignatenko@redhat.com> - 2.0.2-3
- Specify proper yarl version
* Thu Mar 23 2017 Igor Gnatenko <ignatenko@redhat.com> - 2.0.2-2
- Fix requires
* Thu Mar 23 2017 Fabian Affolter <mail@fabian-affolter.ch> - 2.0.2-1
- Update to new upstream version 2.0.2 (rhbz#1432690)
* Wed Mar 15 2017 Igor Gnatenko <ignatenko@redhat.com> - 1.3.4-1
- Update to 1.3.4
* Mon Feb 20 2017 Fabian Affolter <mail@fabian-affolter.ch> - 1.3.3-1
- Update to new upstream version 1.3.3 (rhbz#1423053)
* Thu Feb 09 2017 Igor Gnatenko <ignatenko@redhat.com> - 1.3-1
- Update to 1.3
* Sun Jan 22 2017 Fabian Affolter <mail@fabian-affolter.ch> - 1.2-1
- Update to new upstream version 1.2
- Add new requirement
- Add real description
* Sun Jan 01 2017 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 1.0.5-3
- Add missing dependency on async-timeout (RHBZ #1391287)
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 1.0.5-2
- Rebuild for Python 3.6
* Mon Oct 31 2016 Fabian Affolter <mail@fabian-affolter.ch> - 1.0.5-1
- Update to new upstream version 1.0.5
* Tue Aug 30 2016 Fabian Affolter <mail@fabian-affolter.ch> - 0.22.5-1
- Update to new upstream version 0.22.5
* Wed Aug 10 2016 Igor Gnatenko <ignatenko@redhat.com> - 0.21.6-4
- Move requires under real subpackage
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.21.6-3
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Thu Jun 23 2016 Igor Gnatenko <ignatenko@redhat.com> - 0.21.6-2
- Add missing Requires: python3-multidict (RHBZ #1349576)
* Thu May 12 2016 Igor Gnatenko <ignatenko@redhat.com> - 0.21.6-1
- Update to 0.21.6
* Tue Mar 22 2016 Fabian Affolter <mail@fabian-affolter.ch> - 0.21.5-1
- Update to new upstream version 0.21.5
* Sat Mar 05 2016 Fabian Affolter <mail@fabian-affolter.ch> - 0.21.2-1
- Update to new upstream version 0.21.2
* Sun Feb 14 2016 Fabian Affolter <mail@fabian-affolter.ch> - 0.21.1-1
- Add requirements (rhbz#1300186)
- Update to new upstream version 0.21.1
* Thu Feb 04 2016 Fabian Affolter <mail@fabian-affolter.ch> - 0.21.0-1
- Update to new upstream version 0.21.0
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.19.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Nov 27 2015 Fabian Affolter <mail@fabian-affolter.ch> - 0.19.0-1
- Update py3
- Update to new upstream version 0.19.0
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.17.4-2
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
* Fri Oct 16 2015 Fabian Affolter <mail@fabian-affolter.ch> - 0.17.4-1
- Update to new upstream version 0.17.4
* Sat Aug 01 2015 Fabian Affolter <mail@fabian-affolter.ch> - 0.16.6-2
- Fix license
* Sat Aug 01 2015 Fabian Affolter <mail@fabian-affolter.ch> - 0.16.6-1
- Update to lastest upstream release 0.16.6 (rhbz#1231670)
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.16.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon Jun 15 2015 Fabian Affolter <mail@fabian-affolter.ch> - 0.16.5-1
- Update to lastest upstream release 0.16.5 (rhbz#1231670)
* Wed Nov 26 2014 Fabian Affolter <mail@fabian-affolter.ch> - 0.10.2-1
- Update to lastest upstream release 0.10.2
* Wed Oct 08 2014 Fabian Affolter <mail@fabian-affolter.ch> - 0.9.1-2
- Build only a py3 package
* Wed Feb 26 2014 Fabian Affolter <mail@fabian-affolter.ch> - 0.9.1-1
- Initial package for Fedora