Remix.run Logo
▲ swiftcoder a day ago

> The build backend is an explicit part of the specification of a Python project

Nothing in the Python spec forces Gentoo to invalidate the downstream package every time build-system dependencies update - that's a behaviour they've decided is correct on their own.

> C/C++ libraries don't have an explicit specification of the build tool to be used in their project

They don't have a standard way to specify such, but they have an implicit dependency on the installed compiler toolchain, and it would be just as valid to interpret "no way to specify a build-system dependency" as "always rebuild" when the build tool updates

▲pdonis 7 hours ago | parent [-]

> Nothing in the Python spec forces Gentoo to invalidate the downstream package every time build-system dependencies update

Nothing in the Python spec guarantees that the resulting build artifact will be identical if the build system dependencies update but nothing else in the project does. So what's a "build everything from source" distro to do? If it's possible that updating the build dependency will change the build artifact, doesn't it have to rebuild?