- cross-posted to:
- python@programming.dev
- cross-posted to:
- python@programming.dev
@mgorny@treehouse.systems:
After seeing yet another dozen packages lose keywords on Gentoo because of a single key dependency switching to uv-build, I would like to plea on behalf of Gentoo users: please don’t use uv-build as a build backend.
Just to be clear, this is not about uv itself or any other Astral tools; these are good tools with a nice and responsive upstream. The uv-build backend is one thing we have to disagree on. I’m not saying it’s bad; I’m saying that its benefits don’t outweigh the drawbacks.


I don’t use Gentoo or uv-build, but I don’t get the problem.
Gentoo builds packages from source for each user. Okay.
But I assume that it can’t be building the entire toolchain from scratch for each package. It can’t be rebuilding, say, GNU autotools for each package that uses it during its build. It’s presumably either packaging the toolchain dependencies and not updating them between packages or caching the build.
Why can’t Gentoo just do whatever it does there for this uv-build thing?
EDIT: Here’s a Hacker News thread on this same article, which I turned up in trying to get some context:
https://news.ycombinator.com/item?id=50076048
I discovered partway through that I don’t care as much about Python or Gentoo build expectations as some of the people involved, enough to fully understand it, but it sounds like, from a quick skim, that some people feel that there are unspecified expectations from the Python build environment. Some people feel that an unspecified dependency version means that one must use the latest verson as of time of build, and since Gentoo typically builds packages for a given user at different times, this entails using different versions of the build tool. Others do not feel that way.
Some snippets:
UV maintainer asking why Gentoo doesn’t just pick a version and freeze there and then some responses
It does seem hypocritical for Gentoo to complain about wasted time building things from source over and over because of another project’s policies when the whole point of Gentoo is building things from source over and over.
Also, assuming any project that doesn’t pin a specific version of a dependency requires the latest possible version seems backwards, as that’s typically how things indicate that they’re independent of any particular version.