2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"), version 1.0.
4 # You may only use this file in accordance with the terms of version
7 # A full copy of the text of the CDDL should have accompanied this
8 # source. A copy of the CDDL is also available via the Internet at
9 # http://www.illumos.org/license/CDDL.
13 # This file was automatically generated using the following command:
14 # $WS_TOOLS/python-integrate-project aiohttp
17 BUILD_STYLE
= pyproject
19 include ..
/..
/..
/make-rules
/shared-macros.mk
21 COMPONENT_NAME
= aiohttp
22 HUMAN_VERSION
= 3.11.4
23 COMPONENT_SUMMARY
= Async http client
/server framework
(asyncio
)
24 COMPONENT_PROJECT_URL
= https
://github.com
/aio-libs
/aiohttp
25 COMPONENT_ARCHIVE_HASH
= \
26 sha256
:9d95cce8bb010597b3f2217155befe4708e0538d3548aa08d640ebf54e3f57cb
27 COMPONENT_LICENSE
= Apache-2.0
28 COMPONENT_LICENSE_FILE
= LICENSE.txt
32 include $(WS_MAKE_RULES
)/common.mk
34 # This project does not support tox so we need to provide test requirements
36 TEST_REQUIREMENTS
+= requirements
/test.in
39 # Tests are run from build directory that contains cloned copy of sdist. We
40 # try to ask Python to find tested modules in the proto area (the PYTHONPATH is
41 # set accordingly), but Python (< 3.11) always adds the current directory to
42 # sys.path and there is no known (simple) way how to avoid that. Except -I,
43 # but that would cause Python to ignore PYTHONPATH too so we would not have
44 # access to the proto area either. The -P option together with PYTHONSAFEPATH
45 # environment variable were added to Python 3.11 only so we cannot use them yet
46 # for all Python versions we support.
48 # Since sdist for this project contains the main module in the top-level
49 # directory we cannot force Python to skip it. But, unfortunately, this module
50 # does not contain built dynamic libraries, so Python cannot find them while
53 # To workaround this we rename the main module in the build directory during
54 # testing so Python will need to defer to PYTHONPATH.
56 COMPONENT_PRE_TEST_ACTION
+= $(MV
) $(@D
)/aiohttp
$(@D
)/aiohttp-RENAMED
;
57 COMPONENT_POST_TEST_ACTION
+= $(MV
) $(@D
)/aiohttp-RENAMED
$(@D
)/aiohttp
;
59 # We need to ignore tests in test_proxy_functional.py because we do not have
60 # the proxy.py Python project packaged yet.
61 PYTEST_ADDOPTS
+= --ignore tests
/test_proxy_functional.py
62 # We have no python-on-whales packaged yet.
63 PYTEST_ADDOPTS
+= --ignore tests
/autobahn
/test_autobahn.py
64 # We have no pytest_codspeed packaged yet so we cannot run benchmark tests.
65 PYTEST_ADDOPTS
+= --ignore tests
/test_benchmarks_cookiejar.py
66 PYTEST_ADDOPTS
+= --ignore tests
/test_benchmarks_client_request.py
67 PYTEST_ADDOPTS
+= --ignore tests
/test_benchmarks_http_writer.py
68 PYTEST_ADDOPTS
+= --ignore tests
/test_benchmarks_http_websocket.py
69 PYTEST_ADDOPTS
+= --ignore tests
/test_benchmarks_client.py
70 PYTEST_ADDOPTS
+= --ignore tests
/test_benchmarks_client_ws.py
71 PYTEST_ADDOPTS
+= --ignore tests
/test_benchmarks_web_middleware.py
72 PYTEST_ADDOPTS
+= --ignore tests
/test_benchmarks_web_response.py
73 PYTEST_ADDOPTS
+= --ignore tests
/test_benchmarks_web_urldispatcher.py
75 # Random directory name
76 COMPONENT_TEST_TRANSFORMS
+= "-e 's|/tmp/.*/garbage[^/]*|\$$(TMPDIR)|'"
78 # Auto-generated dependencies
79 PYTHON_REQUIRED_PACKAGES
+= library
/python
/aiohappyeyeballs
80 PYTHON_REQUIRED_PACKAGES
+= library
/python
/aiosignal
81 PYTHON_REQUIRED_PACKAGES
+= library
/python
/async-timeout
82 PYTHON_REQUIRED_PACKAGES
+= library
/python
/attrs
83 PYTHON_REQUIRED_PACKAGES
+= library
/python
/frozenlist
84 PYTHON_REQUIRED_PACKAGES
+= library
/python
/multidict
85 PYTHON_REQUIRED_PACKAGES
+= library
/python
/propcache
86 PYTHON_REQUIRED_PACKAGES
+= library
/python
/setuptools
87 PYTHON_REQUIRED_PACKAGES
+= library
/python
/yarl
88 PYTHON_REQUIRED_PACKAGES
+= runtime
/python
89 REQUIRED_PACKAGES
+= system
/library
90 TEST_REQUIRED_PACKAGES.python
+= library
/python
/aiohappyeyeballs
91 TEST_REQUIRED_PACKAGES.python
+= library
/python
/aiosignal
92 TEST_REQUIRED_PACKAGES.python
+= library
/python
/async-timeout
93 TEST_REQUIRED_PACKAGES.python
+= library
/python
/attrs
94 TEST_REQUIRED_PACKAGES.python
+= library
/python
/brotli
95 TEST_REQUIRED_PACKAGES.python
+= library
/python
/coverage
96 TEST_REQUIRED_PACKAGES.python
+= library
/python
/freezegun
97 TEST_REQUIRED_PACKAGES.python
+= library
/python
/frozenlist
98 TEST_REQUIRED_PACKAGES.python
+= library
/python
/gunicorn
99 TEST_REQUIRED_PACKAGES.python
+= library
/python
/multidict
100 TEST_REQUIRED_PACKAGES.python
+= library
/python
/mypy
101 TEST_REQUIRED_PACKAGES.python
+= library
/python
/propcache
102 TEST_REQUIRED_PACKAGES.python
+= library
/python
/pytest
103 TEST_REQUIRED_PACKAGES.python
+= library
/python
/pytest-cov
104 TEST_REQUIRED_PACKAGES.python
+= library
/python
/pytest-mock
105 TEST_REQUIRED_PACKAGES.python
+= library
/python
/pytest-xdist
106 TEST_REQUIRED_PACKAGES.python
+= library
/python
/re-assert
107 TEST_REQUIRED_PACKAGES.python
+= library
/python
/trustme
108 TEST_REQUIRED_PACKAGES.python
+= library
/python
/yarl