forked from hasura/graphql-engine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cabal.project
134 lines (114 loc) · 4.49 KB
/
cabal.project
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
-- Global project configuration.
--
-- This file can be overridden with cabal.project.local (see e.g. cabal/dev.project)
--
-- If you need to switch between several local configurations you can also create a
-- symbolic link to this file in the project root directory; e.g.:
-- $ ln -s cabal.project myconfig.project
-- $ ln -s cabal.project.freeze myconfig.project.freeze
--
-- ...and then create a new set of overrides in:
-- myconfig.project.local
--
-- ...and then invoke cabal with
-- $ cabal new-build --project-file=myconfig.project
--
-- See: https://www.haskell.org/cabal/users-guide/nix-local-build.html#configuring-builds-with-cabal-project
with-compiler: ghc-9.4.5
-- Work around bugs not yet fixed in 9.4.5. These are only enabled with O2
-- which we don't currently use, but disable these defensively
-- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/10282
package *
ghc-options:
-fno-dicts-strict
-fno-spec-constr
-- package-level parallelism:
jobs: $ncpus
packages: server
packages: server/lib/*/*.cabal
packages: server/forks/*/*.cabal
-- TODO remove these when we are able:
allow-newer: ekg-core:base
allow-newer: ekg-core:ghc-prim
allow-newer: ekg-core:inspection-testing
allow-newer: ekg-core:text
allow-newer: ekg-json:base
allow-newer: ekg-json:text
allow-newer: ekg-prometheus:base
allow-newer: ekg-prometheus:text
allow-newer: ekg-prometheus:bytestring
-- Migrating to 0.25+ looks like it will be a real pain... :(
-- https://github.com/morpheusgraphql/morpheus-graphql/pull/766
allow-newer: morpheus-graphql:text
allow-newer: morpheus-graphql-app:text
allow-newer: morpheus-graphql-code-gen:text
allow-newer: morpheus-graphql-code-gen-utils:text
allow-newer: morpheus-graphql-core:text
allow-newer: morpheus-graphql-server:text
allow-newer: morpheus-graphql-client:text
allow-newer: morpheus-graphql-subscriptions:text
-- https://gitlab.haskell.org/ghc/ghc-debug/-/merge_requests/27
allow-newer: ghc-debug-stub:ghc-prim
-- https://github.com/mokus0/th-extras/pull/20
allow-newer: th-extras:template-haskell
package *
-- NOTE: this gets applied to both local (hasura) packages and dependencies,
-- but optimizations for local hasura packages are overridden/controlled
-- via the 'optimize-hasura' flag.
optimization: 2
-- For tooling support, e.g. HLS:
ghc-options: -fwrite-ide-info
-- we statically link malloc from mimalloc. Out of an abundance of caution,
-- disable special treatment of these in all the foreign code we build. The
-- only risk is potential for some missed optimizations.
-- See: https://github.com/microsoft/mimalloc/issues/785
-- NOTE: cc-options is not recognized here for some reason, so we use ghc-options+optc:
ghc-options: -optc-fno-builtin-malloc -optc-fno-builtin-calloc -optc-fno-builtin-realloc -optc-fno-builtin-free
haddock-html: true
haddock-hoogle: true
haddock-hyperlink-source: true
haddock-quickjump: true
haddock-internal: true
-- Allow for dead-code elimination at link-time, to reduce binary size
if(os(linux))
package *
-- ld on M1 OSX does not recognise this:
ld-options: -Wl,--gc-sections
ghc-options: -split-sections
-- -----------------------------------------------------------
package graphql-engine
ghc-options: -j
haddock-options: "--show-all"
allow-newer: hedgehog-generic:base
allow-newer: hedgehog-generic:hedgehog
source-repository-package
type: git
location: https://github.com/hasura/kriti-lang.git
tag: c8fd863d359876af3a0fce47db8a5393dc556667
-- This is an unrelesaed version of "odbc"
-- For text v2 support
-- WIP/FIXME: review change, maybe upstream PR
source-repository-package
type: git
location: https://github.com/hasura/odbc.git
tag: 43b07813d635215b3466824d07890de452920fc2
package odbc
ghc-options: -Wwarn
-- Our CI compiles with -Werror, which is also applied to those packages
-- while it's fine for packages we maintain, we can't actually enforce
-- that third-party packages are warning-free, hence this -Wno-error.
-- When the changes in odbc are released, we can instead depend on
-- the hackage version, and remove it from this list of packages.
source-repository-package
type: git
location: https://github.com/hasura/ekg-core.git
tag: df610859603b504494ad770bdbb7053a7f0b9a6c
source-repository-package
type: git
location: https://github.com/snoyberg/yaml.git
tag: c1aa7b3991e669e4c6a977712b495d40a54cf819
subdir: yaml
source-repository-package
type: git
location: https://github.com/hasura/libdeflate-hs.git
tag: e6f020a1a24d07516d753fbb6f30758774f76372