New comment by ahesford on void-packages repository https://github.com/void-linux/void-packages/pull/33712#issuecomment-995397285 Comment: Self-referential cycles are not an option because it will break the dependency resolver and, even if it didn't, our policy requires that all packages in the repo be buildable without requiring specific pre-existing repo state. (This is an ideal, and some package changes can sometimes lead to violations of this policy, but we don't knowingly permit it.) I can be persuaded that building a temporary cpython 2.7 in pre_build to bootstrap native pypy is reasonable option. That's not much different than how we (were, before py3.10) bootstrapping `python3` on cross builds. Practically, because the python 2.7 package isn't going anywhere for awhile, maybe it suffices to know that we *can* build a cpython bootstrap in the template if we ever need to; just pulling the python package in hostmakedepends might be OK for now after all. I'm not sure if using native pypy to bootstrap cross pypy is better than *always* using (and, in the future, potentially building) native cpython. Arguments on either side would be appreciated. Of course, we can always hope that pypy solves the bootstrap problem before we have to...