Hi, I'd like to share my frustration at the state of Python in general, and Python packages in Gentoo. So I'd like to 'bootstrap' python3_8 -- that is, add it to the most common dependency, dev-python/setuptools. Simple thing, right?
1. There's no such thing as trivial dependency graph in Python. If you think that setuptools has a few deps, you're entirely wrong. I actually had to write a tool to even assemble list of deps to start with, and the number is: 174. I mean, in order to enable py3.8 on setuptools, you have to enable it on at least 173 other packages. Sure, some of those packages are just doc-deps or test-deps, and some could be avoided one way or another. However, avoiding them is only temporary and involves more effort than it saves. 2. There are some packages that dropped Python 2.7 but still have 2.7 deps. So we need to also add py3.8 to older versions that still has 2.7. Plus, some packages have explicit <-deps. So we need to add 3.8 to them, and hope that the old version will actually work with 3.8, and then to their extra dependencies. This is all handiwork. The number is now 178 packages, or 187 ebuilds. 3. Of course there are packages with new deps dropping keywords whose maintainers (or bumpers) never bothered filing a keywordreq. Because why bother, somebody else will do that when it blocks everything, right?! Well, guess what. python3_8 flag is going to be masked on non-amd64 because people didn't bother keywording new versions of their packages on other arches. If you choose to realize your mistake now, and are willing to fix it, start keywording new versions. Here's the initial CI run: https://github.com/gentoo/gentoo/pull/13638 The packages haven't been tested yet. If you want to help, feel free to apply it locally, and run tests in all those packages, and try to assemble a reasonably readable report of what fails. Then probably diff the failures against py3.7 because some packages probably fail there as well. Of course many of those packages don't have tests at all. Because it was too much effort, and the four-letter company didn't pay for them. Because it was too hard to use GitHub snapshot over pypi tarball that doesn't bundle tests because obviously nobody wants them. Help with that welcome too. Help with getting rid of py2 revdeps of py3-only packages would be very welcome too. In other words, there's a lot of work to get Python near-sane in Gentoo, and we'd welcome all the help we can get. TIA. -- Best regards, Michał Górny
signature.asc
Description: This is a digitally signed message part