-
Notifications
You must be signed in to change notification settings - Fork 17
Description
A bunch of modules have the traditional chicken-and-egg problem, where modules depend on each other, e.g., libvnd and mesa-lib.
While the general problem cannot be solved without providing binaries for either package, we could handle cycles with optional_depends automatically.
Once such a cycle is detected (this doesn't happen at the moment),
the system could automatically disable a specific optional dependency to break the cycle, compile the packages and in the end compile the first package again, enabling the dependency.
To designate a specific dependency for this process, I'd propose to use a new breakable_optional_depends function.
Still, implementing this is tricky, especially because we have to consider the case where any package-build in between fails.