Hello, Recently I have committed a new dev-python/argparse revision. I have migrated it to distutils-r1 and enabled building only for those Python versions which don't have argparse built-in. Sadly, I had to package.mask it since it suffers a REQUIRED_USE issue on modern systems.
For those who are not in the topic, argparse is included in Python distribution since versions 2.7 and 3.2 (including both pypy versions in Gentoo). Although the 'external' argparse can still be built and installed, it serves no purpose since the built-in takes precedence. The problem is that after disabling argparse build for modern Python versions, the ebuild is left with no Python implementation enabled on modern systems. And this causes the REQUIRED_USE check to fail because of an attempt to build a package for no Python implementation. The main issue here is that REQUIRED_USE errors are not really helpful to users. I don't think there's a way to deliver a custom message there, so user (assuming he is able to understand the dependency syntax) is basically told to enable one of the old Python versions -- which is definitely not the right thing to do. In order to fix that, I have committed a virtual/python-argparse as well and worked on getting both the tree and overlays to depend on it. Still, it will take some time for everything to migrate (yes, I failed to revbump those packages...) and even then, I'm still worried that some users will be left with argparse being pulled in one way or another (e.g. due to @world). Do you have any ideas how to solve that kind of stalemate? One solution I have in mind (which is semi-ugly) is to re-enable all the implementations on argparse and print an explanatory message when it is merged with only 'new enough' implementations enabled. This will basically tell the users to investigate why dev-python/argparse is still pulled in on their systems. -- Best regards, Michał Górny
signature.asc
Description: PGP signature
