Skip to content

Instantly share code, notes, and snippets.

@tfausak
Created October 4, 2017 03:36
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tfausak/640a1b27252bfce33f1f2229d39781f5 to your computer and use it in GitHub Desktop.
Save tfausak/640a1b27252bfce33f1f2229d39781f5 to your computer and use it in GitHub Desktop.
# The GHC team announced the first release candidate for the 8.2.2 release of
# GHC over the weekend: https://mail.haskell.org/pipermail/ghc-devs/2017-October/014777.html
#
# This is an example `stack.yaml` file that you can use to try out the release
# candidate. Save this file in your current directory and run `stack setup`.
# After that you should be able to use Stack as normal, including
# `stack exec ghci` and `stack build`.
#
# If for whatever reason you don't want to use Stack, you can download the
# official release tarballs at: https://downloads.haskell.org/~ghc/8.2.2-rc1/
#
# Read this blog post for a more thorough explanation of how to test GHC
# release candidates with Stack: http://taylor.fausak.me/2017/05/17/testing-ghc-release-candidates-with-stack/
#
# For more information about Stack configuration in general, please consult the
# Stack documentation: https://docs.haskellstack.org/en/stable/yaml_configuration/
# First we have to tell Stack that we want to use this specific version of the
# compiler rather than whatever is set in the resolver. Note that the actual
# version number for GHC 8.2.2 RC1 is 8.2.1.20170929.
compiler: ghc-8.2.1.20170929
# Normally Stack makes sure that the compiler version number matches up to the
# minor (third) component. If we didn't tell Stack to match the compiler
# version exactly, it would use GHC 8.2.1 if you had it installed.
compiler-check: match-exact
# Now that we've told Stack which compiler to use, we have to tell it which
# packages to use via the resolver. You have a couple choices here:
#
# - Use a recent nightly resolver like `nightly-2017-09-13`. This includes a
# wide range of packages that already work with GHC 8.2.1. Most of them will
# probably also work with GHC 8.2.2 RC1. If they don't, you can override them
# on a per-package basis.
#
# - Use the `ghc-8.2.1.20170929` resolver, which only includes "wired in"
# packages that ship with GHC (like `bytestring`). Any other package you want
# to use will have to go in `extra-deps`. This is technically more correct
# but also very tedious to work with.
#
# We're going with the nightly resolver so that common packages like `aeson`
# are readily available.
resolver: nightly-2017-09-13
# This is where the magic happens. Stack doesn't know where to download release
# candidates from, so we have to tell it where they can be found. Fortunately
# this is pretty easy to do.
setup-info:
# This key says that we're telling Stack where to get GHC. You can also tell
# Stack where to get other stuff like MSYS2 (for Windows), but that's not
# important for release candidates.
ghc:
# Each key here is an operating system that GHC and Stack support. They
# support more (like FreeBSD and 32-bit Windows), but these three operating
# systems cover most use-cases.
linux64:
# This key matches the compiler version we supplied at the top of the
# file.
8.2.1.20170929:
# This is the only field that's strictly required. It's the URL that
# Stack can download the release tarball from. You could re-host the
# tarball on your intranet and put that URL here. Or you could even use
# a local file path! But the official source is the best choice for
# most people.
url: https://downloads.haskell.org/~ghc/8.2.2-rc1/ghc-8.2.1.20170929-x86_64-deb8-linux.tar.xz
# These two fields are optional. They make sure that the downloaded
# tarball is the one we're expecting. We give it the expected file size
# in bytes and the SHA1 hash of the file contents. If either of those
# don't match, Stack will refuse to install it.
#
# If you don't care about security and just want a short `stack.yaml`,
# you could remove these lines.
content-length: 128418840
sha1: cd2905fcf3a1f40023ab956351bd2028464b09d1
# If you want to, you can remove the operating systems that you don't use.
# They don't hurt anything being here though.
macosx:
8.2.1.20170929:
url: https://downloads.haskell.org/~ghc/8.2.2-rc1/ghc-8.2.1.20170929-x86_64-apple-darwin.tar.xz
content-length: 115407160
sha1: 9ef2b8aeec92152fbd17dfeda877fc921422d099
windows64:
8.2.1.20170929:
url: https://downloads.haskell.org/~ghc/8.2.2-rc1/ghc-8.2.1.20170929-x86_64-unknown-mingw32.tar.xz
content-length: 176841664
sha1: 795ebec2749787e77f774c073635c5c0d9ec2125
# That's it! Enjoy using the latest release candidate, and be sure to report
# any bugs that you find: https://ghc.haskell.org/trac/ghc/wiki/ReportABug
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment