This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |
| python:setuptools [2023/10/12 01:36] – further clarify RUN_DEPENDS removal and ${PY_SETUPTOOLS} validity CharlieLi | python:setuptools [2023/10/12 07:30] (current) – further clarify RUN_DEPENDS CharlieLi |
|---|
| |
| ===== Removal from RUN_DEPENDS ===== | ===== Removal from RUN_DEPENDS ===== |
| setuptools will be removed from ''%%RUN_DEPENDS%%''. This should clean up runtime environments and reduce the dependency tree. Ports shall never specify ''%%${PY_SETUPTOOLS}%%'' to ''%%RUN_DEPENDS%%'', unless a leaf port (no further consumers), to prevent downstream environment pollution. Any ports downstream of those that would otherwise call for a ''%%${PY_SETUPTOOLS}%%'' ''%%RUN_DEPENDS%%'' should add it to ''%%BUILD_DEPENDS%%'', or preferably, work to remove the run dependency entirely. | setuptools will be removed from ''%%RUN_DEPENDS%%'' to clean up runtime environments and reduce the dependency tree. Ports shall never specify ''%%RUN_DEPENDS=${PY_SETUPTOOLS}%%'' except in the following cases: |
| | * Leaf ports (no further consumers) |
| | * Helper ports of PEP-517 build backends that use ''%%devel/py-setuptools-scm%%'' to derive versions from source code management systems (git, mercurial, etc). Other ports shall not specify these as ''%%RUN_DEPENDS%%''. |
| | Any consumers not covered by the above exceptions should add ''%%BUILD_DEPENDS=${PY_SETUPTOOLS}%%'' directly if not ''%%USE_PYTHON=distutils%%'', or preferably, work to remove the run dependency entirely. |
| |
| Different versions of setuptools cannot exist in the same environment. | Different versions of setuptools cannot exist in the same environment. |