python/pyproject_installer: update to 0.5.5
[oi-userland.git] / components / python / pyzmq / Makefile
blob3f3a328d1a041f25e8253851643a63452eab83ec
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
5 # 1.0 of the CDDL.
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 pyzmq
17 BUILD_STYLE = pyproject
19 include ../../../make-rules/shared-macros.mk
21 COMPONENT_NAME = pyzmq
22 HUMAN_VERSION = 26.2.0
23 COMPONENT_SUMMARY = Python bindings for 0MQ
24 COMPONENT_PROJECT_URL = https://pyzmq.readthedocs.org
25 COMPONENT_ARCHIVE_HASH = \
26 sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f
27 COMPONENT_LICENSE = BSD-3-Clause
28 COMPONENT_LICENSE_FILE = LICENSE.md
30 TEST_STYLE = pytest
32 include $(WS_MAKE_RULES)/common.mk
34 # This project does not support tox so we need to provide test requirements
35 # manually.
36 TEST_REQUIREMENTS += test-requirements.txt
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
51 # testing.
53 # To workaround this we rename the main module in the build directory during
54 # testing so Python will need to defer to PYTHONPATH. We also need to preserve
55 # the tests subdirectory reachable via the original path because pytest.ini
56 # refers to it.
58 COMPONENT_PRE_TEST_ACTION += $(MV) $(@D)/zmq $(@D)/zmq-RENAMED ;
59 COMPONENT_PRE_TEST_ACTION += $(MKDIR) $(@D)/zmq ;
60 COMPONENT_PRE_TEST_ACTION += $(SYMLINK) ../zmq-RENAMED/tests $(@D)/zmq/tests ;
61 COMPONENT_POST_TEST_ACTION += $(RM) -r $(@D)/zmq ;
62 COMPONENT_POST_TEST_ACTION += $(MV) $(@D)/zmq-RENAMED $(@D)/zmq ;
64 # Auto-generated dependencies
65 PYTHON_REQUIRED_PACKAGES += library/python/cython
66 PYTHON_REQUIRED_PACKAGES += library/python/packaging
67 PYTHON_REQUIRED_PACKAGES += library/python/scikit-build-core
68 PYTHON_REQUIRED_PACKAGES += runtime/python
69 REQUIRED_PACKAGES += library/c++/zeromq
70 REQUIRED_PACKAGES += system/library
71 TEST_REQUIRED_PACKAGES.python += library/python/black
72 TEST_REQUIRED_PACKAGES.python += library/python/codecov
73 TEST_REQUIRED_PACKAGES.python += library/python/coverage
74 TEST_REQUIRED_PACKAGES.python += library/python/cython
75 TEST_REQUIRED_PACKAGES.python += library/python/flake8
76 TEST_REQUIRED_PACKAGES.python += library/python/gevent
77 TEST_REQUIRED_PACKAGES.python += library/python/mypy
78 TEST_REQUIRED_PACKAGES.python += library/python/pymongo
79 TEST_REQUIRED_PACKAGES.python += library/python/pytest
80 TEST_REQUIRED_PACKAGES.python += library/python/pytest-asyncio
81 TEST_REQUIRED_PACKAGES.python += library/python/pytest-cov
82 TEST_REQUIRED_PACKAGES.python += library/python/pytest-rerunfailures
83 TEST_REQUIRED_PACKAGES.python += library/python/setuptools
84 TEST_REQUIRED_PACKAGES.python += library/python/tornado