-
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
showGenericPackageDescription leaves out many fields of executable stanza #4863
Comments
showGenericPackageDescription
leaves out many fields of executable
stanza, possibly others
Gotcha, thanks. I was searching for Would you mind if we shipped master version of Cabal with stack-1.6? Is there anything WIP there that would affect package parsing? ( Would still use release version of Cabal for building) |
Well, then you cannot really release that version of But if you are willing to support both released Any way of pick, you have to make sure to reject |
True, this will be broken in stack built from Hackage. Building stack from hackage is not a supported / reocmmended approach, though people still do it on occasion. We much prefer the binary distributions or built via stack, because then we can be sure behavior variation isn't because they happened to pick different dependencies. And yep, stack uses full PVP bounds https://hackage.haskell.org/package/stack-1.5.1/stack.cabal |
By
I meant you should reject |
Ah that makes sense, thanks for the clarification. Didn't read that bit very carefully. I've opened an issue to discuss whether this should be done before the release. |
I would add a big disclaimer here; if you rely on HEAD you're totally on your own; there are no support guarantees whatsoever. We're in the midst of migrating to a totally new parsec parser, and there's a good chance some stuff may not work properly yet; so in the interest of forward/backward compat you seem to value so much, I'd rather discourage relying on HEAD for a mission critical product.
If that's really the case, I'd politely ask you to refrain from uploading to Hackage at all, as Hackage is primarily intended for packages which you expect and support users to install from there via |
Thanks for the heads up. Yes, preserving forwards and backwards compatibility when possible is certainly something that I prefer to preserve.... Perhaps it will be sufficient to backport the fix, or perhaps the fix occurred before any major changes?
I suppose equality constraints could enable the correct versions to be used by cabal-install. However, it is sometimes useful to use stack as a library, particularly in scripts - commercialhaskell/stack#3522 . To allow this use-case, the version constraints need to be intervals, not equalities. There is an alternative option, though, which would be to have the executable use equality constraints for all of the dependencies (including those of the library). Supporting this would likely mean adding a manual flag which disables building the executable.. |
There's an even better way by using automatic flags like I did e.g. in http://hackage.haskell.org/package/cabal-plan-0.2.0.0/cabal-plan.cabal |
Is there a release date for The broken Thanks for any hints! |
Cabal 2.2 will be out ~at the end of January. See https://mail.haskell.org/pipermail/cabal-devel/2017-December/010410.html. |
See commercialhaskell/stack#3549 , user reports everything but
main-is
is vanishing from the executable stanza.Here is
cabal-roundrip-bug.hs
, it can be run withstack runghc --resolver nightly-2017-11-04 cabal-roundtrip-bug.hs
, and that uses Cabal-2.0.0.2.Result is
The text was updated successfully, but these errors were encountered: