https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285930
Charlie Li <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] Flags|maintainer-feedback?(python |maintainer-feedback+ |@FreeBSD.org) | Resolution|--- |Works As Intended Status|New |Closed --- Comment #12 from Charlie Li <[email protected]> --- (In reply to Jan Martin Mikkelsen from comment #11) > In our build system, making devel/py-wheel explicitly depend on > devel/py-setuptools resolved the build issues. This is a circular dependency, even with the "temporary" declaration/use of devel/py-wheel044 in setuptools 63. Everything aside, there are multiple points that need to be made clear, as to why this all "works as intended": Comment 3 is correct, you must remove devel/py-wheel before building devel/py-setuptools 63 (the current version in the ports tree). To allow devel/py-wheel and devel/py-wheel044 to not conflict with each other, the latter is only installed into setuptools's source vendor directory, not site-packages, with a path file so the setuptools build process can find it. However, the build process only uses vendored dependencies when they are not already present/installed in the environment, ie site-packages. Thus, when devel/py-wheel is present/installed, ie in site-packages, the setuptools build process will use that instead of devel/py-wheel044. This is the correct behaviour. All this demonstrates that Python package building effectively requires (temporal) environment isolation/separation. In pure Python, this is achieved via virtual environments. poudriere is effectively the closest FreeBSD non-Python analogue primarily through automating jail creation and destruction. You don't have to use poudriere, but you must isolate your environments somehow. -- You are receiving this mail because: You are the assignee for the bug.
