mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-14 17:02:49 +03:00
server: remove ghc libs from freeze file, update guides
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6231 GitOrigin-RevId: d877e46d7130217cd95eb9c507921e76a0009151
This commit is contained in:
parent
4b79dfcb8d
commit
d8452bf11c
@ -123,14 +123,14 @@ constraints: any.Cabal ==3.6.3.0,
|
|||||||
any.formatting ==7.1.3,
|
any.formatting ==7.1.3,
|
||||||
any.free ==5.1.7,
|
any.free ==5.1.7,
|
||||||
any.generics-sop ==0.5.1.2,
|
any.generics-sop ==0.5.1.2,
|
||||||
any.ghc ==9.2.4.20220919,
|
any.ghc ==9.2.*,
|
||||||
any.ghc-bignum ==1.2,
|
any.ghc-bignum ==1.2,
|
||||||
any.ghc-boot ==9.2.4.20220919,
|
any.ghc-boot ==9.2.*,
|
||||||
any.ghc-boot-th ==9.2.4.20220919,
|
any.ghc-boot-th ==9.2.*,
|
||||||
any.ghc-heap ==9.2.4.20220919,
|
any.ghc-heap ==9.2.*,
|
||||||
any.ghc-heap-view ==0.6.3,
|
any.ghc-heap-view ==0.6.3,
|
||||||
any.ghc-prim ==0.8.0,
|
any.ghc-prim ==0.8.0,
|
||||||
any.ghci ==9.2.4.20220919,
|
any.ghci ==9.2.*,
|
||||||
any.graphql-parser ==0.2.0.0,
|
any.graphql-parser ==0.2.0.0,
|
||||||
any.happy ==1.20.0,
|
any.happy ==1.20.0,
|
||||||
any.hashable ==1.3.5.0,
|
any.hashable ==1.3.5.0,
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# Compile a graphql-engine executable using brew and ghc-8.10.7
|
# Compile a graphql-engine executable using brew and ghc-9.2.4
|
||||||
|
|
||||||
*Note: These instructions use the path `/opt/homebrew` in various places, but this path may be different on your machine depending on where you have installed homebrew (for example, many older homebrew installation were installed to `/usr/local`). You can find out the path of your homebrew installation by running the command `brew --prefix`, and if the output is not `/opt/homebrew`, then you should replace any instances of `/opt/homebrew` in these instructions with the path output by `brew --prefix`.*
|
*Note: These instructions use the path `/opt/homebrew` in various places, but this path may be different on your machine depending on where you have installed homebrew (for example, many older homebrew installation were installed to `/usr/local`). You can find out the path of your homebrew installation by running the command `brew --prefix`, and if the output is not `/opt/homebrew`, then you should replace any instances of `/opt/homebrew` in these instructions with the path output by `brew --prefix`.*
|
||||||
|
|
||||||
1. Install ghc-8.10.7 and cabal-install via [ghcup](https://www.haskell.org/ghcup/)
|
1. Install ghc-9.2.4 and cabal-install via [ghcup](https://www.haskell.org/ghcup/).
|
||||||
|
|
||||||
2. Install dependencies:
|
2. Install dependencies:
|
||||||
|
|
||||||
@ -19,6 +19,7 @@
|
|||||||
brew install microsoft/mssql-release/mssql-tools
|
brew install microsoft/mssql-release/mssql-tools
|
||||||
brew install direnv
|
brew install direnv
|
||||||
brew install coreutils
|
brew install coreutils
|
||||||
|
brew install pcre
|
||||||
```
|
```
|
||||||
|
|
||||||
And add them to your environment:
|
And add them to your environment:
|
||||||
@ -103,10 +104,10 @@
|
|||||||
(Copying and pasting allows you to add local projects overrides, which may be needed if you are are planning to make changes to the graphql-engine code, but is not required for simply compiling the code as-is).
|
(Copying and pasting allows you to add local projects overrides, which may be needed if you are are planning to make changes to the graphql-engine code, but is not required for simply compiling the code as-is).
|
||||||
|
|
||||||
6. Write the version number of the graphql-server that you are intending to build to the file `server/CURRENT_VERSION`.
|
6. Write the version number of the graphql-server that you are intending to build to the file `server/CURRENT_VERSION`.
|
||||||
For example if you are building `v2.6.1` then you can run the following command:
|
For example if you are building `v2.13.0` then you can run the following command:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
echo '2.6.1' > server/CURRENT_VERSION
|
echo '2.13.0' > server/CURRENT_VERSION
|
||||||
```
|
```
|
||||||
|
|
||||||
This version number is used for the output of `graphql-engine --version` in your compiled binary, and it also used when fetching the frontend assets for the console from the CDN when running the server (if you do not specify `--console-assets-dir` to make it load from a locally compiled version).
|
This version number is used for the output of `graphql-engine --version` in your compiled binary, and it also used when fetching the frontend assets for the console from the CDN when running the server (if you do not specify `--console-assets-dir` to make it load from a locally compiled version).
|
||||||
@ -114,6 +115,6 @@
|
|||||||
7. Building the server should now work:
|
7. Building the server should now work:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
cabal v2-update
|
cabal update
|
||||||
cabal v2-build exe:graphql-engine -j4
|
cabal build exe:graphql-engine -j4
|
||||||
```
|
```
|
||||||
|
@ -5,7 +5,7 @@ own machine and how to contribute.
|
|||||||
|
|
||||||
## Pre-requisites
|
## Pre-requisites
|
||||||
|
|
||||||
- [GHC](https://www.haskell.org/ghc/) 8.10.7 and [cabal-install](https://cabal.readthedocs.io/en/latest/)
|
- [GHC](https://www.haskell.org/ghc/) 9.2.4 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.
|
- There are various ways these can be installed, but [ghcup](https://www.haskell.org/ghcup/) is a good choice if you’re not sure.
|
||||||
- There are few system packages required like `libpq-dev`, `libssl-dev`, etc. The best place to get the entire list is from the packager [Dockerfile](../.buildkite/dockerfiles/ci-builders/server-builder.dockerfile)
|
- There are few system packages required like `libpq-dev`, `libssl-dev`, etc. The best place to get the entire list is from the packager [Dockerfile](../.buildkite/dockerfiles/ci-builders/server-builder.dockerfile)
|
||||||
- Additional Haskell tools (expected versions can be found in _VERSIONS.json_):
|
- Additional Haskell tools (expected versions can be found in _VERSIONS.json_):
|
||||||
|
@ -176,7 +176,7 @@ An example session:
|
|||||||
|
|
||||||
```
|
```
|
||||||
$ cabal repl api-tests
|
$ cabal repl api-tests
|
||||||
GHCi, version 8.10.7: https://www.haskell.org/ghc/ :? for help
|
GHCi, version 9.2.4: https://www.haskell.org/ghc/ :? for help
|
||||||
[ 1 of 59] Compiling Harness.Constants ( lib/api-tests/Harness/Constants.hs, interpreted )
|
[ 1 of 59] Compiling Harness.Constants ( lib/api-tests/Harness/Constants.hs, interpreted )
|
||||||
...
|
...
|
||||||
[59 of 59] Compiling Main ( lib/api-tests/Spec.hs, interpreted )
|
[59 of 59] Compiling Main ( lib/api-tests/Spec.hs, interpreted )
|
||||||
@ -289,19 +289,7 @@ or M2.
|
|||||||
|
|
||||||
We have a few problems with Microsoft SQL Server on Apple aarch64:
|
We have a few problems with Microsoft SQL Server on Apple aarch64:
|
||||||
|
|
||||||
1. Due to compiler bugs in GHC 8.10.7, we need to use patched Haskell ODBC
|
1. Microsoft has not yet released SQL Server for aarch64. We need to use Azure
|
||||||
bindings as a workaround for aarch64 systems.
|
|
||||||
|
|
||||||
Add the following to `cabal.project.local`:
|
|
||||||
|
|
||||||
```
|
|
||||||
source-repository-package
|
|
||||||
type: git
|
|
||||||
location: https://github.com/soupi/odbc.git
|
|
||||||
tag: a6acf6b4eca31022babbf8045f31a0f7f26c5923
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Microsoft has not yet released SQL Server for aarch64. We need to use Azure
|
|
||||||
SQL Edge instead.
|
SQL Edge instead.
|
||||||
|
|
||||||
You don't need to do anything if you're using the `make` commands; they
|
You don't need to do anything if you're using the `make` commands; they
|
||||||
@ -316,7 +304,7 @@ We have a few problems with Microsoft SQL Server on Apple aarch64:
|
|||||||
|
|
||||||
You can add this to your _.envrc.local_ file if you like.
|
You can add this to your _.envrc.local_ file if you like.
|
||||||
|
|
||||||
3. Azure SQL Edge for aarch64 does not ship with the `sqlcmd` utility with
|
2. Azure SQL Edge for aarch64 does not ship with the `sqlcmd` utility with
|
||||||
which we use to setup the SQL Server schema.
|
which we use to setup the SQL Server schema.
|
||||||
|
|
||||||
If you need it, you can instead use the `mssql-tools` Docker image, for
|
If you need it, you can instead use the `mssql-tools` Docker image, for
|
||||||
|
Loading…
Reference in New Issue
Block a user