|Summary:||www/py-aiohttp: Update to 3.5.4|
|Product:||Ports & Packages||Reporter:||Waitman Gobble <uzimac>|
|Component:||Individual Port(s)||Assignee:||Kubilay Kocak <koobs>|
|Severity:||Affects Some People||CC:||kestel, olivier, romain, sergey|
|Bug Depends on:||235339|
Description Waitman Gobble 2018-05-28 21:21:08 UTC
Created attachment 193797 [details] svn diff changed Makefile, distinfo
Comment 1 Romain Tartière 2019-02-15 22:44:45 UTC
Created attachment 202057 [details] Update to 3.5.4 3.5.4 has been released. Some port I am working on required a more recent version of www/py-aiohttp
Comment 2 Olivier Cochard 2019-03-25 23:51:54 UTC
I need a recent version of this too.
Comment 3 Kubilay Kocak 2019-03-26 03:23:44 UTC
Comment on attachment 202057 [details] Update to 3.5.4 Initial review identifies at least the following updates are needed: - Dependency list review/updates, including python_version conditional ones - USES=python:<version-spec> update (now 3.5+) - LICENSE change and other metadata changes (comment, pkg descr, www URL) - Evaluate cython removal (only required from git checkout) If anyone finds/identifies anything else, please let me know so I can include it in the local changes I'm working on now
Comment 4 Kubilay Kocak 2019-03-26 04:15:34 UTC
tests/conftest.py:9: in <module> import trustme E ModuleNotFoundError: No module named 'trustme' - trustme is missing from setup.py:tests_require - trustme hasn't been ported We can consider just adding it to setup.py:tests_require so the test command grabs it from PyPI, and adding it to Makefile as a commented TEST_DEPENDS "to be ported"
Comment 5 Kubilay Kocak 2019-03-26 04:26:12 UTC
setup.py: error: unrecognized arguments: --cov=aiohttp inifile: /usr/home/koobs/repos/freebsd/ports/www/py-aiohttp/work-py37/aiohttp-3.5.4/pytest.ini pytest-cov - is missing from setup.py:tests_require (and thus TEST_DEPENDS) - is ported Can either: - Remove --cov argument from pytest.ini (likely), as we don't care about code coverage and it should be really be a 'compulsory' test requirement, OR - Add pytest-cov to TEST_DEPENDS
Comment 6 Kubilay Kocak 2019-03-26 04:48:58 UTC
test TestDeflateBuffer.test_feed_eof_no_err_brotli fails with: aiohttp.http_exceptions.ContentEncodingError: 400, message='Can not decode content-encoding: brotli (br). Please install `brotlipy`' brotlipy - is not listed in setup.py:tests_require - is not ported - should be skipped in tests (not fail) if not found, like aiodns: SKIPPED  tests/test_resolver.py:59: aiodns required We can consider just adding it to setup.py:tests_require so the test command grabs it from PyPI, and adding it to Makefile as a commented TEST_DEPENDS "to be ported"
Comment 7 Kubilay Kocak 2019-03-26 05:16:42 UTC
Many test failures of type: E fixture 'mocker' not found pytest-mock - is not listed in setup.py:tests_require - is ported: devel/py-pytest-mock
Comment 8 Kubilay Kocak 2019-03-26 05:40:54 UTC
So far: 2364 passed, 31 skipped, 3 xfailed, 11 error A number of ssl-related test failures remain, due to: cryptography/hazmat/bindings/_openssl.abi3.so: Undefined symbol "SSLv3_client_method" This may be caused by cryptography being installed by setuptools, as a dependency of trustme (which isn't ported, see comment 4), rather than being installed by ports, and ending up build/linked against different (base/ports) OpenSSL versions Adding cryptography to TEST_DEPENDS (even though its in an indirect dependency) should be a good test of that theory.
Comment 9 Kubilay Kocak 2019-03-26 05:42:18 UTC
SKIPPED  tests/test_resolver.py:48: aiodns 1.1 required SKIPPED  tests/test_resolver.py:59: aiodns required SKIPPED  tests/test_resolver.py:70: aiodns 1.1 required SKIPPED  tests/test_resolver.py:81: aiodns required SKIPPED  tests/test_resolver.py:92: aiodns 1.1 required SKIPPED  tests/test_resolver.py:101: aiodns required SKIPPED  tests/test_resolver.py:111: aiodns required SKIPPED  tests/test_resolver.py:121: aiodns 1.1 required SKIPPED  tests/test_resolver.py:162: aiodns required SKIPPED  tests/test_resolver.py:174: aiodns required SKIPPED  tests/test_resolver.py:181: aiodns 1.1 required SKIPPED  tests/test_resolver.py:193: aiodns required aiodns - is not listed in setup.py:tests_require - is ported: dns/py-aiodns
Comment 10 Kubilay Kocak 2019-03-26 06:47:10 UTC
Tests pass after adding cryptography to TEST_DEPENDS as a test to validate theory from comment 8 2375 passed, 31 skipped, 3 xfailed in 418.18 seconds
Comment 11 commit-hook 2019-03-26 13:39:34 UTC
A commit references this bug: Author: koobs Date: Tue Mar 26 13:39:00 UTC 2019 New revision: 496897 URL: https://svnweb.freebsd.org/changeset/ports/496897 Log: 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 Changes: head/www/py-aiohttp/Makefile head/www/py-aiohttp/distinfo head/www/py-aiohttp/files/ head/www/py-aiohttp/files/patch-pytest.ini head/www/py-aiohttp/files/patch-setup.py head/www/py-aiohttp/pkg-descr
Comment 12 Kubilay Kocak 2019-03-26 13:42:54 UTC
Committed with changes, apologies for the delay.