Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

breaking the egg / hatching the chicken #145

Open
v4hn opened this issue Mar 5, 2020 · 0 comments
Open

breaking the egg / hatching the chicken #145

v4hn opened this issue Mar 5, 2020 · 0 comments

Comments

@v4hn
Copy link
Member

v4hn commented Mar 5, 2020

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant