Moving Stackage Nightly to GHC 8.0

26 May 2016 Michael Snoyman

As Dan Burton recently announced, the Stackage Curators team has decided to cut an LTS 6 release based on GHC 7.10.3, and to switch Stackage Nightly over to GHC 8.0. I've pushed the relevant changes into the necessary repos, and now the most recent Stackage Nightly release is based on GHC 8.0.

A GHC upgrade process is always a bit of a game of cat-and-mouse for Stackage, where we wait for enough packages in the ecosystem to update their version bounds (and code) to be compatible with the newest GHC before making the transition. After some discussion, we've come up with some new guidelines on this upgrade process.

In sum: we've temporarily disabled all packages that are incompatible with GHC 8 or depend on packages which are incompatible with GHC 8. Also, we've removed almost all temporary upper bounds.

In order to make this transition as painless as possible, I'd like to recruit help from the community with the following:

  • Test out your projects with the latest Stackage Nightly snapshot (e.g., stack init --resolver nightly --force). Make sure you back up your current stack.yaml file first!
  • If everything works, great!
  • If there are missing packages that were previously in Stackage, please work with relevant maintainers to get them building with GHC 8.
  • Send pull requests to the build-constraints.yaml file to add back packages that are now GHC 8-compatible. You can search through that file for the phrases GHC 8 and BLOCKED.

On a side note, I've been really impressed with how many of my projects already build with GHC 8, even those with significant dependencies. The ecosystem has done a great job of upgrading to the newest GHC quickly. Thanks to all package authors and Stackage maintainers for their efforts on this!

And of course, thank you to the GHC team for yet another great release.

comments powered by Disqus

Copyright © 2013-2017 FP Complete Corp. All rights reserved