It looks like maybe the "smart" USE suggestion prevents application of the || preference adjustment from bug 382421 (which would solve it with dev-python/pypy-exe-bin): > # emerge -pv --autounmask dev-python/pypy > > These are the packages that would be merged, in order: > > Calculating dependencies... done! > > > [nomerge ] dev-python/pypy-7.3.0:0/73::gentoo USE="bzip2 gdbm jit ncurses sqlite -libressl -tk" > [ebuild N ~] dev-python/pypy-exe-7.3.0:7.3.0::gentoo USE="bzip2 jit ncurses -low-memory" CPU_FLAGS_X86="(-sse2)" 19,853 KiB > [ebuild N ~] dev-python/pypy-7.3.0:0/73::gentoo USE="bzip2 gdbm jit ncurses sqlite -libressl -tk" 15 KiB > > Total: 2 packages (2 new), Size of downloads: 19,867 KiB > > * Error: circular dependencies: > > (dev-python/pypy-exe-7.3.0:7.3.0/7.3.0::gentoo, ebuild scheduled for merge) depends on > (dev-python/pypy-7.3.0:0/73::gentoo, ebuild scheduled for merge) (buildtime) > (dev-python/pypy-exe-7.3.0:7.3.0/7.3.0::gentoo, ebuild scheduled for merge) (buildtime) > > It might be possible to break this cycle > by applying the following change: > - dev-python/pypy-exe-7.3.0 (Change USE: +low-memory)
originated here https://bugs.gentoo.org/705690
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=e5878170638a091db1331df7e7922c8a14e29e86 commit e5878170638a091db1331df7e7922c8a14e29e86 Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2020-01-21 01:59:30 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2020-01-21 02:35:43 +0000 Add unit test which demonstrates bug 705986 This USE suggestion appears to prevent application of || preference adjustment to solve the cycle (pypy-exe-bin would solve it): * Error: circular dependencies: (dev-python/pypy-exe-7.3.0:7.3.0/7.3.0::test_repo, ebuild scheduled for merge) depends on (dev-python/pypy-7.3.0:0/73::test_repo, ebuild scheduled for merge) (buildtime) (dev-python/pypy-exe-7.3.0:7.3.0/7.3.0::test_repo, ebuild scheduled for merge) (buildtime) It might be possible to break this cycle by applying the following change: - dev-python/pypy-exe-7.3.0 (Change USE: +low-memory) Meanwhile, an explicit pypy-exe-bin argument adjusts the || preference and breaks the cycle: $ emerge -pq pypy pypy-exe-bin [ebuild N ] dev-python/pypy-exe-bin-7.3.0 [ebuild N ] dev-python/pypy-7.3.0 Bug: https://bugs.gentoo.org/705986 Signed-off-by: Zac Medico <zmedico@gentoo.org> .../tests/resolver/test_circular_choices.py | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+)
Patch posted for review: https://archives.gentoo.org/gentoo-portage-dev/messages/2020-01/ https://github.com/gentoo/portage/pull/500
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=ef66aab178180288132177011ad0e910fb2cd55e commit ef66aab178180288132177011ad0e910fb2cd55e Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2020-01-21 03:19:01 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2020-01-23 05:52:43 +0000 dep_zapdeps: break more buildtime cycles (bug 705986) Buildtime cycle breaking was not enabled in cases where the all_in_graph variable was False, and this prevented the pypy / pypy-exe dependency cycle from being broken as shown in the test case for bug 705986. In order to break more buildtime cycles, enable cycle breaking regardless of the state of the all_in_graph variable. Bug: https://bugs.gentoo.org/705986 Signed-off-by: Zac Medico <zmedico@gentoo.org> lib/portage/dep/dep_check.py | 5 ++--- lib/portage/tests/resolver/test_circular_choices.py | 14 ++++---------- 2 files changed, 6 insertions(+), 13 deletions(-)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=926daa64ce2932685e50c5b87ebe6e1f2578feb2 commit 926daa64ce2932685e50c5b87ebe6e1f2578feb2 Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2020-01-23 06:54:10 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2020-01-23 07:04:32 +0000 sys-apps/portage: Bump to version 2.3.85 #615594 dosym: revert deprecated prefix compat #704256 emerge-webrsync: chmod 755 temp dir #704320 Add QA check for unresolved soname dependencies #704848 doebuild: export SANDBOX_LOG=${T}/sandbox.log #705986 solve pypy / pypy-exe dependency cycle Bug: https://bugs.gentoo.org/706142 Bug: https://bugs.gentoo.org/615594 Bug: https://bugs.gentoo.org/704256 Bug: https://bugs.gentoo.org/704320 Bug: https://bugs.gentoo.org/704848 Bug: https://bugs.gentoo.org/705986 Package-Manager: Portage-2.3.85, Repoman-2.3.20 Signed-off-by: Zac Medico <zmedico@gentoo.org> sys-apps/portage/Manifest | 1 + sys-apps/portage/portage-2.3.85.ebuild | 276 +++++++++++++++++++++++++++++++++ 2 files changed, 277 insertions(+)
tested on fresh stage, confirm it works fine now, thanks Zac!