www/py-aiohttp: Update to 3.5.4

- Drop use of cython, only needed for 'from git' builds
  - Document necessary but not-yet-ported TEST_DEPENDS for our future selves
    and potential contributors to see.
  - Update port metadata to match upstream: pkg-desc, WWW URL, LICENSE, COMMENT
  - Patch setup.py: Add necessary but missing entries to tests_require. For the
    ones not yet ported, they're fetched from PyPI via setuptools when correctly
    declared. Move pytest min version requirement from pytest.ini to
    tests_require where it belongs, so it can be parsed and the right version
    can be fetched, instead of just failing if its not the required version.
  - Patch pytest.ini: Strip --cov from pytest args. We don't care about coverage
    downstream, and it shouldnt be a compulsory (tests_require) dependency, but
    instead an extras_require, so dont add it to TEST_DEPENDS even though it is
    a port.

Changelog:

  https://github.com/aio-libs/aiohttp/blob/v3.5.4/CHANGES.rst

PR:	228575
This commit is contained in:
Kubilay Kocak 2019-03-26 13:38:59 +00:00
parent 05e464c84d
commit fd863091ec
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=496897
5 changed files with 67 additions and 29 deletions

View File

@ -2,31 +2,45 @@
# $FreeBSD$
PORTNAME= aiohttp
PORTVERSION= 3.1.3
PORTVERSION= 3.5.4
CATEGORIES= www python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= koobs@FreeBSD.org
COMMENT= HTTP client/server for asyncio
COMMENT= Async http client/server framework (asyncio)
LICENSE= BSD2CLAUSE
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}chardet>0:textproc/py-chardet@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}multidict>0:www/py-multidict@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}yarl>0:www/py-yarl@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}async_timeout>0:devel/py-async_timeout@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}attrs>0:devel/py-attrs@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}idna_ssl>0:dns/py-idna_ssl@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-mock>0:devel/py-pytest-mock@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-timeout>0:devel/py-pytest-timeout@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}async_generator>0:devel/py-async_generator@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}gunicorn>0:www/py-gunicorn@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}attrs>=17.3.0:devel/py-attrs@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}chardet>=2.0:textproc/py-chardet@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}multidict>=4.0:www/py-multidict@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}async_timeout>=3.0:devel/py-async_timeout@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}yarl>=1.0:www/py-yarl@${PY_FLAVOR}
USES= python:3.4+
USE_PYTHON= autoplist distutils cython
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=3.8.2:devel/py-pytest@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-timeout>0:devel/py-pytest-timeout@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-xdist>0:devel/py-pytest-xdist@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-mock>0:devel/py-pytest-mock@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}async_generator>0:devel/py-async_generator@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}gunicorn>0:www/py-gunicorn@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}aiodns>0:dns/py-aiodns@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}cryptography>0:security/py-cryptography@${PY_FLAVOR}
# cryptography is only needed here until trustme is ported (which depends on it)
# to be ported ${PYTHON_PKGNAMEPREFIX}brotlypy>0:archivers/py-brotlipy@${PY_FLAVOR}
# to be ported ${PYTHON_PKGNAMEPREFIX}trustme>0:security/py-trustme@${PY_FLAVOR}
# Actually 3.5.3+
USES= python:3.5+
USE_PYTHON= autoplist distutils
.include <bsd.port.pre.mk>
.if ${PYTHON_VER} < 3.7
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}idna_ssl>=1.0:dns/py-idna_ssl@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=3.6.5:devel/py-typing-extensions@${PY_FLAVOR}
.endif
post-install:
${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/aiohttp/*.so
@ -34,4 +48,4 @@ post-install:
do-test:
@cd ${WRKSRC} && ${PYTHON_CMD} ${PYDISTUTILS_SETUP} test
.include <bsd.port.mk>
.include <bsd.port.post.mk>

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1524240686
SHA256 (aiohttp-3.1.3.tar.gz) = 9fcef0489e3335b200d31a9c1fb6ba80fdafe14cd82b971168c2f9fa1e4508ad
SIZE (aiohttp-3.1.3.tar.gz) = 756886
TIMESTAMP = 1553568963
SHA256 (aiohttp-3.5.4.tar.gz) = 9c4c83f4fa1938377da32bc2d59379025ceeee8e24b89f72fcbccd8ca22dc9bf
SIZE (aiohttp-3.5.4.tar.gz) = 1097647

View File

@ -0,0 +1,11 @@
--- pytest.ini.orig 2019-01-12 10:13:41 UTC
+++ pytest.ini
@@ -1,7 +1,6 @@
[pytest]
-addopts = --cov=aiohttp -v -rxXs
+addopts = -v -rxXs
filterwarnings = error
junit_suite_name = aiohttp_test_suite
norecursedirs = dist docs build .tox .eggs
-minversion = 3.8.2
testpaths = tests/

View File

@ -0,0 +1,16 @@
--- setup.py.orig 2019-01-12 10:13:41 UTC
+++ setup.py
@@ -104,9 +104,12 @@ NEEDS_PYTEST = {'pytest', 'test'}.intersection(sys.arg
pytest_runner = ['pytest-runner'] if NEEDS_PYTEST else []
tests_require = [
- 'pytest', 'gunicorn',
+ 'pytest>=3.8.2', 'gunicorn',
'pytest-timeout', 'async-generator',
'pytest-xdist',
+ 'pytest-mock',
+ 'trustme',
+ 'brotlipy',
]

View File

@ -1,12 +1,9 @@
HTTP client/server for Python asyncio (PEP-3156)
Async http client/server framework
Features:
Key Features
* Compression (deflate)
* HTTP Basic Authenntication
* Chunked Transfer Encoding
* Connection Pooling
* Session Cookies
* Custom Request/Response classes
* Supports both client and server side of HTTP protocol.
* Supports both client and server Web-Sockets out-of-the-box.
* Provides Web-server with middlewares and pluggable routing.
WWW: https://github.com/KeepSafe/aiohttp
WWW: https://github.com/aio-libs/aiohttp