On 7/29/24 2:05 PM, Grant Edwards wrote: > On 2024-07-29, Eli Schwartz <eschwa...@gentoo.org> wrote: >> >>> It turns out dev-python/poetry has nothing to do with poetry, so my AI >>> paranoia was unjustified (this time), but one wonders what devs are >>> thinking when the decide they add dozens of new dependencies like >>> that. Why does pip suddenly need to format (or produce?) both markdown >>> and RTF when it's been able to get along fine without them for so many >>> years? >> >> For many years, pip has contained bundled libraries. These libraries >> recently got unbundled, and now you're installing a system copy. > > Yep, I figured that was probably the answer. I (for one) would > appreciate some sort of notice when such an unbundling happens so that > I don't waste time trying to track down why emerge suddenly wants to > install a bunch of new packages. I can't really come up with a good > mechanism for that other than news items.
Well, it is there in the `git log` of the package. And at https://packages.gentoo.org/packages/dev-python/pip/changelog Commits on 2024-06-23 dev-python/pip: Unbundle dependencies >> pip has always "needed to format (or produce?) both markdown and RTF", > > OK, now I'm genuinely curious: what does pip need to do with markdown > and RTF? My first guess was that its man pages aren't written in nroff > any more and somehow markdown was being used. [I already had at least > one markdown implementation installed, but pip apparently demands a > different one.] But there is no man page for pip. There are a bunch of > documents in /usr/share/doc/pip-<ver>, but they're all reStructured Text. > > Oh well, I guess I should be thankful it didn't force LaTeX and pandoc > installs. Python software loves to depend on python software and hates to depend on anything that isn't written in python, so I think you're pretty safe there. :) As for why it needs to format markdown -- build dependencies of python software often do, since they want to render the darned stuff into the https://pypi.org display page for that software and the one and only way to do so is to render it into the metadata files which get installed at runtime -- and which are also directly displayed on https://pypi.org I don't understand it myself, either. In this case it's actually a bit worse because pip internally uses, and usually bundles a code copy, of https://pypi.org/project/rich/ "rich" can do a lot of things, including take markdown and print it with fancy formatting and colors to your terminal emulator. pip isn't using most of the features of rich, but it is *using* rich at all, and therefore markdown ends up as a recursive dependency. ... aside: there are pip manpages, funny you should mention that. I could totally add another bdepend on sphinx for this! But I would have to package some things first. :( -- Eli Schwartz
OpenPGP_signature.asc
Description: OpenPGP digital signature