Skip to content

Instantly share code, notes, and snippets.

@tfausak
Created December 31, 2020 18:56
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save tfausak/a7ef9af57a9f0c0099f187cd3d920a87 to your computer and use it in GitHub Desktop.
Save tfausak/a7ef9af57a9f0c0099f187cd3d920a87 to your computer and use it in GitHub Desktop.
GHC 9.0.1 RC1
# The GHC team announced the first release candidate for the 9.0.1 release of
# GHC: https://discourse.haskell.org/t/glasgow-haskell-compiler-9-0-1-rc1-now-available/1706
#
# 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/9.0.1-rc1/
#
# Read this blog post for a more thorough explanation of how to test GHC
# release candidates with Stack: https://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 9.0.1 RC1 is 9.0.0.20201227.
compiler: ghc-9.0.0.20201227
# 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 9.0.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-2020-12-14`. This includes a
# wide range of packages that already work with GHC 8.10. Most of them will
# probably also work with GHC 9.0.1 RC1. If they don't, you can override them
# on a per-package basis.
#
# - Use the `ghc-9.0.0.20201227` 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-2020-12-14
# 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-tinfo6:
# This key matches the compiler version we supplied at the top of the
# file.
9.0.0.20201227:
# 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/9.0.1-rc1/ghc-9.0.0.20201227-x86_64-deb10-linux-dwarf.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: 215262716
sha1: 76735ddcbf1c6c00f279a2ffeeed6bc2ee9b8eef
# If you want to, you can remove the operating systems that you don't use.
# They don't hurt anything being here though.
macosx:
9.0.0.20201227:
url: https://downloads.haskell.org/ghc/9.0.1-rc1/ghc-9.0.0.20201227-x86_64-apple-darwin.tar.xz
content-length: 195024744
sha1: 109de150a997b0777d10b3f70cb350e81d133586
windows64:
9.0.0.20201227:
url: https://downloads.haskell.org/ghc/9.0.1-rc1/ghc-9.0.0.20201227-x86_64-unknown-mingw32.tar.xz
content-length: 186366904
sha1: f0f5588af30f4ef52e9e78538ec19ed894f3ae69
# 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