%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 = %{version}-%{release} %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 don’t 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. cp -p tox.ini tox.ini.bak # 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. cp -rvp requirements requirements.bak 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 %{?!with_tests:-R}%{?with_tests:-t -x speedups -r requirements/test.txt} %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 %if %{with tests} %check export PYTHONSAFEPATH=1 # test_proxy_functional.py requires python3dist(proxy-py) # test_client_session_timeout_zero requires DNS %pytest --ignore=tests/test_proxy_functional.py \ -k 'not test_client_session_timeout_zero' %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 - 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 - 3.8.3-1 - Update to 3.8.3 * Thu Aug 18 2022 Stephen Gallagher - 3.8.1-8 - Rebuilt for llhttp soname bump * Fri Jul 22 2022 Fedora Release Engineering - 3.8.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Thu Jun 16 2022 Miro Hrončok - 3.8.1-6 - Skip less tests, set the global event loop in _setupAsyncioRunner * Tue Jun 14 2022 Python Maint - 3.8.1-5 - Rebuilt for Python 3.11 * Thu Apr 28 2022 Carl George - 3.8.1-4 - Add upstream patch for pytest 7 compatibility - Resolves: rhbz#2059944 * Fri Jan 21 2022 Fedora Release Engineering - 3.8.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Fri Dec 24 2021 Benjamin A. Beasley - 3.8.1-2 - Stop disabling debug packages - Unbundle llhttp - Run the tests * Wed Dec 01 2021 Fabian Affolter - 3.8.1-1 - Update to latest upstream release 3.8.1 * Thu Nov 25 2021 Fabian Affolter - 3.8.0-1 - Update to latest upstream release 3.8.0 * Fri Jul 23 2021 Fedora Release Engineering - 3.7.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Fri Jun 04 2021 Python Maint - 3.7.4-2 - Rebuilt for Python 3.10 * Sat Feb 27 2021 Fabian Affolter - 3.7.4-1 - Update to latest upstream release 3.7.4 * Thu Feb 04 2021 Miro Hrončok - 3.7.3-3 - Allow installation with chardet 4 * Wed Jan 27 2021 Fedora Release Engineering - 3.7.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Fri Dec 11 2020 Fabian Affolter - 3.7.3-1 - Update to latest upstream release 3.7.3 * Wed Dec 09 2020 Fabian Affolter - 3.7.2-1 - Update to latest upstream release 3.7.2 * Mon Oct 26 2020 Fabian Affolter - 3.7.1-1 - Update to new upstream version 3.7.1 * Wed Oct 14 2020 Fabian Affolter - 3.6.3-1 - Update to new upstream version 3.6.3 * Tue Jul 28 2020 Fedora Release Engineering - 3.6.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Sun May 24 2020 Miro Hrončok - 3.6.2-4 - Rebuilt for Python 3.9 * Wed Apr 08 2020 Carl George - 3.6.2-3 - Don't build for s390x on EL8 * Thu Jan 30 2020 Fedora Release Engineering - 3.6.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Fri Oct 25 2019 Fabian Affolter - 3.6.2-1 - Update to new upstream version 3.6.2 * Sat Sep 21 2019 Fabian Affolter - 3.6.1-1 - Update to new upstream version 3.6.1 * Wed Sep 18 2019 Fabian Affolter - 3.6.0-1 - Update to new upstream version 3.6.0 * Mon Aug 19 2019 Miro Hrončok - 3.5.4-5 - Rebuilt for Python 3.8 * Fri Jul 26 2019 Fedora Release Engineering - 3.5.4-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Sat Jun 01 2019 Fabian Affolter - 3.5.4-3 - Remove dep generator * Sat Feb 02 2019 Fedora Release Engineering - 3.5.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Sat Jan 12 2019 Fabian Affolter - 3.5.4-1 - Update to new upstream version 3.5.4 * Fri Jan 11 2019 Fabian Affolter - 3.5.3-1 - Update to new upstream version 3.5.3 * Thu Jan 10 2019 Fabian Affolter - 3.5.2-1 - Update to new upstream version 3.5.2 * Wed Dec 26 2018 Fabian Affolter - 3.5.1-1 - Update to new upstream version 3.5.1 * Thu Sep 06 2018 Fabian Affolter - 3.4.4-1 - Update to new upstream version 3.4.4 (rhbz#1625634) * Wed Sep 05 2018 Igor Gnatenko - 3.4.3-1 - Update to 3.4.3 * Sun Sep 02 2018 Igor Gnatenko - 3.4.2-1 - Update to 3.4.2 * Mon Aug 27 2018 Igor Gnatenko - 3.4.0-4 - Unbundle http-parser (rhbz#1622508) * Mon Aug 27 2018 Fabian Affolter - 3.4.0-3 - Fix rhbz#1622310 * Sat Aug 25 2018 Igor Gnatenko - 3.4.0-2 - Recommend aiodns * Sat Aug 25 2018 Fabian Affolter - 3.4.0-1 - Update to new upstream version 3.4.0 (rhbz#1622288) * Fri Jul 13 2018 Fedora Release Engineering - 3.3.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Tue Jun 19 2018 Miro Hrončok - 3.3.2-2 - Rebuilt for Python 3.7 * Tue Jun 12 2018 Fabian Affolter - 3.3.2-1 - Update to new upstream version 3.3.2 * Wed Jun 06 2018 Fabian Affolter - 3.3.1-1 - Update to new upstream version 3.3.1 * Fri Jun 01 2018 Fabian Affolter - 3.3.0-1 - Update to new upstream version 3.3.0 (rhbz#1585170) * Thu May 10 2018 Fabian Affolter - 3.2.1-1 - Update to new upstream version 3.2.1 (rhbz#1576796) * Mon May 07 2018 Fabian Affolter - 3.2.0-1 - Update to new upstream version 3.2.0 (rhbz#1575435) * Sat Apr 14 2018 Fabian Affolter - 3.1.3-1 - Update to new upstream version 3.1.3 (rhbz#1567093) * Fri Apr 06 2018 Fabian Affolter - 3.1.2-1 - Update to new upstream version 3.1.2 * Tue Mar 27 2018 Fabian Affolter - 3.1.1-1 - Update to new upstream version 3.1.1 * Fri Mar 23 2018 Fabian Affolter - 3.1.0-1 - Update to new upstream version 3.1.0 * Thu Mar 15 2018 Fabian Affolter - 3.0.9-1 - Update to new upstream version 3.0.9 (rhbz#1556612) * Tue Mar 13 2018 Fabian Affolter - 3.0.8-1 - Update to new upstream version 3.0.8 * Fri Mar 09 2018 Fabian Affolter - 3.0.7-1 - Update to new upstream version 3.0.7 (rhbz#1548601) * Tue Mar 06 2018 Fabian Affolter - 3.0.6-1 - Update to new upstream version 3.0.6 (rhbz#1548601) * Wed Feb 28 2018 Fabian Affolter - 3.0.5-1 - Update to new upstream version 3.0.5 (rhbz#1548601) * Mon Feb 12 2018 Fabian Affolter - 3.0.1-1 - Update to new upstream version 3.0.1 * Mon Feb 12 2018 Fabian Affolter - 3.0.0-1 - Update to new upstream version 3.0.0 (rhbz#1544413) * Fri Feb 09 2018 Fedora Release Engineering - 2.3.10-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Fri Feb 02 2018 Fabian Affolter - 2.3.10-1 - Update to new upstream version 2.3.10 (rhbz#1541369) * Fri Jan 19 2018 Igor Gnatenko - 2.3.9-2 - Enable usage of dependency generator * Wed Jan 17 2018 Igor Gnatenko - 2.3.9-1 - Update to 2.3.9 * Mon Jan 15 2018 Fabian Affolter - 2.3.8-1 - Update to new upstream version 2.3.8 * Wed Dec 27 2017 Fabian Affolter - 2.3.7-1 - Update to new upstream version 2.3.7 (rhbz#1529275) * Mon Dec 04 2017 Fabian Affolter - 2.3.6-1 - Update to new upstream version 2.3.6 * Fri Dec 01 2017 Fabian Affolter - 2.3.5-1 - Update to new upstream version 2.3.5 * Fri Nov 17 2017 Fabian Affolter - 2.3.3-1 - Update to new upstream version 2.3.3 (rhbz#1514434) * Thu Nov 02 2017 Igor Gnatenko - 2.3.2-1 - Update to 2.3.2 * Fri Oct 20 2017 Fabian Affolter - 2.3.1-1 - Update to new upstream version 2.3.1 (rhbz#1504339) * Wed Oct 18 2017 Fabian Affolter - 2.3.0-1 - Update to new upstream version 2.3.0 * Fri Aug 04 2017 Fabian Affolter - 2.2.5-1 - Update to new upstream version 2.2.5 * Thu Aug 03 2017 Fabian Affolter - 2.2.4-1 - Update to new upstream version 2.2.4 * Thu Aug 03 2017 Fedora Release Engineering - 2.2.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Thu Jul 27 2017 Fedora Release Engineering - 2.2.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Thu Jul 06 2017 Fabian Affolter - 2.2.3-1 - Update to new upstream version 2.2.3 (rhbz#1467742) * Mon Jul 03 2017 Fabian Affolter - 2.2.2-1 - Update to new upstream version 2.2.2 * Mon Jul 03 2017 Fabian Affolter - 2.2.1-1 - Update to new upstream version 2.2.1 (rhbz#1467114) * Tue Jun 20 2017 Fabian Affolter - 2.2.0-1 - Update to new upstream version 2.2.0 (rhbz#1463234) * Sat May 27 2017 Fabian Affolter - 2.1.0-1 - Update URL - Update to new upstream version 2.1.0 (rhbz#1456063) * Fri Apr 14 2017 Igor Gnatenko - 2.0.7-1 - Update to 2.0.7 * Fri Apr 07 2017 Igor Gnatenko - 2.0.6-1 - Update to 2.0.6 * Thu Mar 30 2017 Igor Gnatenko - 2.0.5-1 - Update to 2.0.5 * Tue Mar 28 2017 Igor Gnatenko - 2.0.4-1 - Update to 2.0.4 * Sat Mar 25 2017 Fabian Affolter - 2.0.3-1 - Update to new upstream version 2.0.3 (rhbz#1435844) * Thu Mar 23 2017 Igor Gnatenko - 2.0.2-3 - Specify proper yarl version * Thu Mar 23 2017 Igor Gnatenko - 2.0.2-2 - Fix requires * Thu Mar 23 2017 Fabian Affolter - 2.0.2-1 - Update to new upstream version 2.0.2 (rhbz#1432690) * Wed Mar 15 2017 Igor Gnatenko - 1.3.4-1 - Update to 1.3.4 * Mon Feb 20 2017 Fabian Affolter - 1.3.3-1 - Update to new upstream version 1.3.3 (rhbz#1423053) * Thu Feb 09 2017 Igor Gnatenko - 1.3-1 - Update to 1.3 * Sun Jan 22 2017 Fabian Affolter - 1.2-1 - Update to new upstream version 1.2 - Add new requirement - Add real description * Sun Jan 01 2017 Igor Gnatenko - 1.0.5-3 - Add missing dependency on async-timeout (RHBZ #1391287) * Mon Dec 19 2016 Miro Hrončok - 1.0.5-2 - Rebuild for Python 3.6 * Mon Oct 31 2016 Fabian Affolter - 1.0.5-1 - Update to new upstream version 1.0.5 * Tue Aug 30 2016 Fabian Affolter - 0.22.5-1 - Update to new upstream version 0.22.5 * Wed Aug 10 2016 Igor Gnatenko - 0.21.6-4 - Move requires under real subpackage * Tue Jul 19 2016 Fedora Release Engineering - 0.21.6-3 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages * Thu Jun 23 2016 Igor Gnatenko - 0.21.6-2 - Add missing Requires: python3-multidict (RHBZ #1349576) * Thu May 12 2016 Igor Gnatenko - 0.21.6-1 - Update to 0.21.6 * Tue Mar 22 2016 Fabian Affolter - 0.21.5-1 - Update to new upstream version 0.21.5 * Sat Mar 05 2016 Fabian Affolter - 0.21.2-1 - Update to new upstream version 0.21.2 * Sun Feb 14 2016 Fabian Affolter - 0.21.1-1 - Add requirements (rhbz#1300186) - Update to new upstream version 0.21.1 * Thu Feb 04 2016 Fabian Affolter - 0.21.0-1 - Update to new upstream version 0.21.0 * Thu Feb 04 2016 Fedora Release Engineering - 0.19.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Fri Nov 27 2015 Fabian Affolter - 0.19.0-1 - Update py3 - Update to new upstream version 0.19.0 * Tue Nov 10 2015 Fedora Release Engineering - 0.17.4-2 - Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 * Fri Oct 16 2015 Fabian Affolter - 0.17.4-1 - Update to new upstream version 0.17.4 * Sat Aug 01 2015 Fabian Affolter - 0.16.6-2 - Fix license * Sat Aug 01 2015 Fabian Affolter - 0.16.6-1 - Update to lastest upstream release 0.16.6 (rhbz#1231670) * Thu Jun 18 2015 Fedora Release Engineering - 0.16.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Mon Jun 15 2015 Fabian Affolter - 0.16.5-1 - Update to lastest upstream release 0.16.5 (rhbz#1231670) * Wed Nov 26 2014 Fabian Affolter - 0.10.2-1 - Update to lastest upstream release 0.10.2 * Wed Oct 08 2014 Fabian Affolter - 0.9.1-2 - Build only a py3 package * Wed Feb 26 2014 Fabian Affolter - 0.9.1-1 - Initial package for Fedora