-
Notifications
You must be signed in to change notification settings - Fork 696
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
dependencies are checked even if buildable is False #1725
Comments
Turns out this is an ancient bug, first reported as #224. |
It's unclear if the old bug is really the same. I've done a quick test, and fixing it in the modular solver itself is nearly trivial. However, cabal-install performs a sanity check on the build plan the solver produces, and omitting the dependencies for non-buildable components from the build plan causes the sanity check to fail. I'm somewhat less familiar with that code, but I'll try to look at it. Another potential option is to filter out the non-buildable components from the index before even passing the index to the solver, but that seems like a hack. |
Judging by the age, am I correct in assuming no one is working this bug and no solution has been agreed upon? This bug hinders any cross compilation (ios, android, halvm) project. If someone is willing to give a pointer on solution method then I'll look into making a patch and pull request. |
Work around for haskell/cabal#1725
This had indeed dropped off my radar again. I'm currently travelling, but I'll try to make another attempt next week. Of course, if someone else wants to fix it in the meantime, feel free to do so. |
I'm also suffering from this problem. @kosmikus, are you still interested in working on it? |
This is a workaround for haskell/cabal#1725
I just got bit by this too. (Thanks @23Skidoo for so quickly pointing out that it was a dupe.) However, I think the "solver" label is not correct: using |
Another way to reproduce this bug:
This shouldn’t pull in |
There's a little bit of history to this one. We had a patch (for the Cabal lib) to try to avoid non-buildable packages contributing to deps but doing so broke things in subtle ways and we had to revert it. I can't remember the details off the top of my head. The patch should be there in the git history if you look for "buildable". |
Me too. |
Brings the JSON over ZeroMQ server into the main line of development. It is disabled by default, but there is now a `server` flag in `cryptol.cabal` that in turn gets enabled if the `CRYPTOL_SERVER` environment variable is nonempty during `make`.
am I right, that the current backward compat workaround is to use a manual flag, e.g.
? |
@hvr: I think the important thing in your example is that you guarded the Complete example that actually builds:
assuming a default
|
Only require cryptol-server's build depends when it's being built. Workaround for haskell/cabal#1725
The workaround that @hvr provides should indeed be ok. I've also been working on this. Pull request (not very thoroughly tested) will follow in a few minutes. |
The change (that got reverted) is a0ca303 To state it more clearly, the bug is that when we flatten the package description, the set of package-global dependencies we compute blindly gobbles up all of the |
This was fixed in #3039. |
Workarounds Cabal-1.22 bug haskell/cabal#1725 Package-Manager: portage-2.2.28
…#610422 Workarounds Cabal-1.22 bug haskell/cabal#1725 Reported-by: Peter Bleszynski Bug: https://bugs.gentoo.org/610422 Package-Manager: Portage-2.3.3, Repoman-2.3.1
…#610422 Workarounds Cabal-1.22 bug haskell/cabal#1725 Reported-by: Peter Bleszynski Bug: https://bugs.gentoo.org/610422 Package-Manager: Portage-2.3.3, Repoman-2.3.1
I have a little portion of a
.cabal
file that looks like this:With cabal-install 1.19.2, I get the following error:
This seems weird and non-intuitive and wrong.
The text was updated successfully, but these errors were encountered: