diff --git a/www/py-aiohttp/Makefile b/www/py-aiohttp/Makefile index 51b85a75fe2d..9b6a44d4d1d1 100644 --- a/www/py-aiohttp/Makefile +++ b/www/py-aiohttp/Makefile @@ -1,53 +1,69 @@ PORTNAME= aiohttp -PORTVERSION= 3.11.18 +PORTVERSION= 3.13.3 CATEGORIES= www python MASTER_SITES= PYPI \ https://github.com/aio-libs/aiohttp/releases/download/v${PORTVERSION}/ PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Async http client/server framework (asyncio) WWW= https://docs.aiohttp.org/en/stable/ \ https://github.com/aio-libs/aiohttp LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE.txt -BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=46.4.0:devel/py-setuptools@${PY_FLAVOR} \ +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pkgconfig>=0,1:devel/py-pkgconfig@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}setuptools>=61.0:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiohappyeyeballs>=2.3.0:net/py-aiohappyeyeballs@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}aiosignal>=1.1.2:devel/py-aiosignal@${PY_FLAVOR} \ +LIB_DEPENDS= libllhttp.so:www/llhttp +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiohappyeyeballs>=2.5.0:net/py-aiohappyeyeballs@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}aiosignal>=1.4.0:devel/py-aiosignal@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}attrs>=17.3.0:devel/py-attrs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}frozenlist>=1.1.1:devel/py-frozenlist@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}multidict>=4.5<7.0:www/py-multidict@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}propcache>=0.2.0:devel/py-propcache@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}yarl>=1.17.0<2.0:www/py-yarl@${PY_FLAVOR} TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiodns>=3.2.0:dns/py-aiodns@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}brotli>=0:archivers/py-brotli@${PY_FLAVOR} \ + ${PY_BACKPORTS.ZSTD} \ + ${PYTHON_PKGNAMEPREFIX}brotli>=1.2:archivers/py-brotli@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}freezegun>=0:devel/py-freezegun@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}gunicorn>=0:www/py-gunicorn@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}re-assert>=0:devel/py-re-assert@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}isal>=0:devel/py-isal@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}proxy.py>=2.4.4:www/py-proxy.py@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytest-codspeed>=0:devel/py-pytest-codspeed@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytest-cov>=0:devel/py-pytest-cov@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-mock>=0:devel/py-pytest-mock@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pytest-codspeed>=0:devel/py-pytest-codspeed@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}pytest-xdist>=0,1:devel/py-pytest-xdist@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}re-assert>=0:devel/py-re-assert@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}uvloop>=0:devel/py-uvloop@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}zlib-ng>=0:archivers/py-zlib-ng@${PY_FLAVOR} USES= cpe python USE_PYTHON= autoplist concurrent cython pep517 pytest +MAKE_ENV= USE_SYSTEM_DEPS=1 + CPE_VENDOR= aiohttp_project OPTIONS_DEFINE= SPEEDUPS SPEEDUPS_DESC= Performance speedups SPEEDUPS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiodns>=3.2.0:dns/py-aiodns@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}brotli>=0:archivers/py-brotli@${PY_FLAVOR} + ${PY_BACKPORTS.ZSTD} \ + ${PYTHON_PKGNAMEPREFIX}brotli>=1.2:archivers/py-brotli@${PY_FLAVOR} .include .if ${PYTHON_REL} < 31100 RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}async_timeout>=4.0<6.0:devel/py-async_timeout@${PY_FLAVOR} .endif +post-patch: +# Clean up bundled libraries + @${RM} -r ${WRKSRC}/vendor/ + post-install: ${FIND} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} + .include diff --git a/www/py-aiohttp/distinfo b/www/py-aiohttp/distinfo index 65cd2cfaae71..689aeee416ad 100644 --- a/www/py-aiohttp/distinfo +++ b/www/py-aiohttp/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1745936222 -SHA256 (aiohttp-3.11.18.tar.gz) = ae856e1138612b7e412db63b7708735cff4d38d0399f6a5435d3dac2669f558a -SIZE (aiohttp-3.11.18.tar.gz) = 7678653 +TIMESTAMP = 1768625759 +SHA256 (aiohttp-3.13.3.tar.gz) = a949eee43d3782f2daae4f4a2819b2cb9b0c5d3b7f7a927067cc84dafdbb9f88 +SIZE (aiohttp-3.13.3.tar.gz) = 7844556 diff --git a/www/py-aiohttp/files/patch-pyproject.toml b/www/py-aiohttp/files/patch-pyproject.toml new file mode 100644 index 000000000000..fb17201026f0 --- /dev/null +++ b/www/py-aiohttp/files/patch-pyproject.toml @@ -0,0 +1,20 @@ +--- pyproject.toml.orig 2026-01-03 16:40:12 UTC ++++ pyproject.toml +@@ -5,7 +5,7 @@ requires = [ + # Next step should be >= 77.0 for PEP 639 support + # Don't bump too early to give distributors time to update + # their setuptools version. +- "setuptools >= 67.0", ++ "setuptools >= 61.0", + ] + build-backend = "setuptools.build_meta" + +@@ -49,7 +49,7 @@ speedups = [ + + [project.optional-dependencies] + speedups = [ +- "aiodns >= 3.3.0", ++ "aiodns >= 3.2.0", + "Brotli >= 1.2; platform_python_implementation == 'CPython'", + "brotlicffi >= 1.2; platform_python_implementation != 'CPython'", + "backports.zstd; platform_python_implementation == 'CPython' and python_version < '3.14'", diff --git a/www/py-aiohttp/files/patch-tests-test_proxy_functional.py b/www/py-aiohttp/files/patch-tests-test_proxy_functional.py deleted file mode 100644 index b303741596b6..000000000000 --- a/www/py-aiohttp/files/patch-tests-test_proxy_functional.py +++ /dev/null @@ -1,11 +0,0 @@ ---- tests/test_proxy_functional.py.orig 2022-09-21 13:09:27 UTC -+++ tests/test_proxy_functional.py -@@ -7,7 +7,7 @@ from re import match as match_regex - from unittest import mock - from uuid import uuid4 - --import proxy -+#import proxy - import pytest - from yarl import URL - diff --git a/www/py-aiohttp/files/patch-tests_autobahn_test__autobahn.py b/www/py-aiohttp/files/patch-tests_autobahn_test__autobahn.py deleted file mode 100644 index 971150f1ccfe..000000000000 --- a/www/py-aiohttp/files/patch-tests_autobahn_test__autobahn.py +++ /dev/null @@ -1,11 +0,0 @@ ---- tests/autobahn/test_autobahn.py.orig 2025-02-24 15:18:07 UTC -+++ tests/autobahn/test_autobahn.py -@@ -5,7 +5,7 @@ import pytest - from typing import Any, Dict, Generator, List - - import pytest --import python_on_whales -+python_on_whales = pytest.importorskip("python_on_whales") - from pytest import TempPathFactory - -