Skip to content

Commit

Permalink
Specify the GHC version in one place.
Browse files Browse the repository at this point in the history
There's no reason to duplicate this, and it's easy to let them get out of sync.

PR-URL: hasura/graphql-engine-mono#10502
GitOrigin-RevId: ab52a8ee636bc2abce817985971e43be0e37a874
  • Loading branch information
SamirTalwar authored and hasura-bot committed Nov 22, 2023
1 parent 0373bea commit 73e413e
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 5 deletions.
2 changes: 1 addition & 1 deletion nix/overlays/ghc.nix
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ in
{
haskell = super.haskell // {
compiler = super.haskell.compiler // {
${ghcName} = (versions.ensureVersion super.haskell.compiler.${ghcName}).overrideAttrs (oldAttrs: {
${ghcName} = super.haskell.compiler.${ghcName}.overrideAttrs (oldAttrs: {
patches = (if oldAttrs ? patches then oldAttrs.patches else [ ]) ++ ghcPatches;
});
};
Expand Down
13 changes: 9 additions & 4 deletions server/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,17 @@

This guide explains how to set up the graphql-engine server for development on your own machine and how to contribute.

## Pre-requisites
## Prerequisites

- [GHC](https://www.haskell.org/ghc/) 9.4.5 and [cabal-install](https://cabal.readthedocs.io/en/latest/)
- There are various ways these can be installed, but [ghcup](https://www.haskell.org/ghcup/) is a good choice if you’re not sure.
The following tools are required. Versions are typically specified in _VERSIONS.json_.

- [GHC](https://www.haskell.org/ghc/)
- There are various ways this can be installed, but [ghcup](https://www.haskell.org/ghcup/) is a good choice if you’re not sure.
- If you are not using `ghcup`, make sure you install the GHC version specified in _.ghcversion_.
- [Cabal](https://cabal.readthedocs.io/en/latest/)
- if you use `ghcup`, you can get Cabal from there too.
- There are few system packages required like `libpq-dev`, `libssl-dev`, etc. The best place to get the entire list is from the [Dockerfile](../packaging/graphql-engine-base/ubuntu.dockerfile)
- Additional Haskell tools (expected versions can be found in _VERSIONS.json_):
- Additional Haskell tools:
- [HLint](https://github.com/ndmitchell/hlint), for linting Haskell code
- [Ormolu](https://github.com/tweag/ormolu), for formatting Haskell code
- [Docker](https://www.docker.com/get-started/)
Expand Down

0 comments on commit 73e413e

Please sign in to comment.