-
Notifications
You must be signed in to change notification settings - Fork 842
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
Migrate --nix support to use haskell.compiler.ghcXYZ attributes instead of haskell.packages.lts_X_Y #2259
Comments
Ok, so what would be the cleanest way to get the required GHC version from the LTS? |
I do not see the reason for this change, and it will break existing stack versions and build configurations. This message seems to be frustrated with a variety of non-fundamental, fixable issues. Please consider this more carefully. If changes to nix / nixpkgs become too much of a maintenance burden, we may need to consider whether stack will continue having first class support for nix. I am not sure how the nix support would need to be adapted to support this, it may not even be viable to adapt it.
How about bringing up this issue on stackage, or integrating the nix feedback into the curation of stackage?
Ok, this seems to be more like "I don't want stable package sets". Follow lts non-strictly if you do want security updates.
So we do want stable package sets! :) This seems like an impedence mismatch between how nightlies have been exposed to nix users. If "haskellPackages" is always the latest nightly, then yes, you shouldn't do that if you want reliable builds. If you want something stable, use lts. If you want something unstable, use nightly. It's that simple.
Ok, lets work with you guys to curate stackage via feedback from nix. My summary of the issues covered is:
IMHO, these reasons are not sufficient to justify this. That said, I am not a nix user and I don't experience the maintenance burden. These are indeed tricky problems, their resolution isn't trivial. However, I don't see how dropping stackage makes (1) any easier, and we can collaborate to address (2). Please keep in mind that the stackage process is not set in stone, we are still experimenting with it. Please help us refine the process rather than ditching it. |
The snapshot specifies a compiler version, so stack knows that once it's loaded. Do you need to get the GHC version outside of stack itself? |
@mgsloan, to the best of my knowledge, adapting Stack to use the compiler attributes rather than the (obsolete) LTS package set attributes should be a harmless change that won't pose any serious problems. I realize it's inconvenient having to make that switch, and I am sorry about that. We did not take that decision lightly and there was a discussion with various Stackage team members beforehand. Alas, things turned out such that the level of support Nix used to offer seems clearly unsustainable, hence the change. |
@mgsloan Nope, I meant within stack's code actually. |
Gotcha!
|
Okay, it required a bit of working around as the monad outside the nix-shell wasn't an instance of |
@mgsloan Ok, so it isn't fixed, sorry. |
@mgsloan Okay, I found another (simpler) way. I think it's good now. |
LTS package sets will disappear from Nixpkgs |
This is the first step towards dropping Stackage support. We keep LTS 6.x around because I don't want to downgrade our default compiler to GHC 7.x, but once LTS 7.x comes out we'll switch our main package set to that and drop Nightly. More details are at: http://permalink.gmane.org/gmane.linux.distributions.nixos/20505 Closes NixOS#14897. Also relevant: - NixOS#16130 - commercialhaskell/stack#2259
Stack no longer uses them since a long time: commercialhaskell/stack#2259. (cherry picked from commit 09a593b)
Stack no longer uses them since a long time: commercialhaskell/stack#2259.
Stack no longer uses them since a long time: commercialhaskell/stack#2259. (cherry picked from commit 09a593b)
The
haskell.packages.lts_X_Y
package sets will disappear from Nixpkgs in the foreseeable future andstack
should not rely on them any longer. Instead, please access the appropriate compiler using thehaskell.compiler.ghcXYZ
attributes instead. http://permalink.gmane.org/gmane.linux.distributions.nixos/20505 has more details about the motivation behind that upcoming change.The text was updated successfully, but these errors were encountered: