[Bug 270510] python.mk: remove setuptools from RUN_DEPENDS

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 18 Jul 2023 23:30:58 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=270510

Charlie Li <vishwin@freebsd.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Depends on|                            |272584
             Blocks|272584                      |

--- Comment #4 from Charlie Li <vishwin@freebsd.org> ---
Quick glean from exp-run and some RUN_DEPENDS snooping reveal that
setuptools_scm, hatch-vcs et al specify setuptools in RUN_DEPENDS. Technically
correct per upstream package metadata, but causes environment pollution with
our build processes. Still need to check for any pkg_resources consumers but I
doubt any exist anymore.

For documentation purposes (will add to wiki later):
RUN_DEPENDS should never contain ${PY_SETUPTOOLS} unless the port in question
is a leaf port (ie no further consumers). Those ports that specify setuptools
as a runtime dependency in the Python package metadata should have their
consumers specify them instead. The ${PY_SETUPTOOLS} dependency line returned
is only correct for the port it is used in. As different setuptools versions
cannot exist concurrently in the same environment (chroot, jail, Python virtual
environment, etc), it is essential to prevent environment pollution via
RUN_DEPENDS, especially when multiple ports in a dependency chain differ
between USE_PYTHON=pep517 and USE_PYTHON=distutils.


Referenced Bugs:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272584
[Bug 272584] devel/py-attrs: Fix build with planned changes to RUN_DEPENDS in
Mk/Uses/python.mk
-- 
You are receiving this mail because:
You are on the CC list for the bug.