mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-python/setuptools: add strong blocker for old versions of setuptools-rust
This version is no longer packaged in the tree. It contains a runtime dependency on typing_extensions, and triggers pathological dependency graph bugs due to its nature as a setuptools plugin. The issue trivially manifests when changing PYTHON_TARGETS. The ONLY way to fix this is to update/uninstall setuptools-rust before recompiling setuptools itself. Uninstalling is reasonably cheap, since the package is only ever used as a bdep for other packages. This also means it may end up not getting upgraded in a timely fashion. Strong blockers are a strong tool to use here, but: - it is an old version so panicking and refusing to do anything until it gets manually removed may be warranted - it does in fact prevent even successfully running src_compile() for setuptools itself, if setuptools-rust is in partially-merged state due to typing_extensions being queued before setuptools and setuptools-rust being queued *after* setuptools This "fixes" world updates by telling people exactly which package to manually remove rather than inscrutably failing at compile time with python tracebacks and leaving them to guess which package to manually remove. It could be wished that users would be aided through the power of automatically resolved dependency graphs, but there's no good options here and at least the error message is clear. No revbump, because existing packages that successfully compiled don't have the issue and it only occurs during certain world updates. Bug: https://bugs.gentoo.org/933553 Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
@@ -26,6 +26,7 @@ IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
!!<dev-python/setuptools-rust-1.8.0
|
||||
>=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
|
||||
>=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
|
||||
>=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
|
||||
|
||||
@@ -27,6 +27,7 @@ RESTRICT="!test? ( test )"
|
||||
|
||||
# check */_vendor/vendored.txt
|
||||
RDEPEND="
|
||||
!!<dev-python/setuptools-rust-1.8.0
|
||||
>=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
|
||||
>=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
|
||||
>=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
|
||||
|
||||
@@ -27,6 +27,7 @@ RESTRICT="!test? ( test )"
|
||||
|
||||
# check */_vendor/vendored.txt
|
||||
RDEPEND="
|
||||
!!<dev-python/setuptools-rust-1.8.0
|
||||
>=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
|
||||
>=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
|
||||
>=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
|
||||
|
||||
Reference in New Issue
Block a user