forked from hasura/graphql-engine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cabal.project
188 lines (166 loc) · 6.45 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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
-- 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.6.5
-- package-level parallelism:
jobs: $ncpus
packages: server
packages: server/lib/*/*.cabal
packages: server/forks/*/*.cabal
-- TODO remove these when we are able:
allow-newer: req:template-haskell
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: relude:base
allow-newer: relude:ghc-prim
allow-newer: morpheus-graphql:text
allow-newer: morpheus-graphql:relude
allow-newer: morpheus-graphql:vector
allow-newer: morpheus-graphql:transformers
allow-newer: morpheus-graphql-app:text
allow-newer: morpheus-graphql-app:vector
allow-newer: morpheus-graphql-app:transformers
allow-newer: morpheus-graphql-code-gen:text
allow-newer: morpheus-graphql-code-gen:optparse-applicative
allow-newer: morpheus-graphql-code-gen-utils:text
allow-newer: morpheus-graphql-core:text
allow-newer: morpheus-graphql-core:transformers
allow-newer: morpheus-graphql-core:vector
allow-newer: morpheus-graphql-server:text
allow-newer: morpheus-graphql-server:transformers
allow-newer: morpheus-graphql-server:vector
allow-newer: morpheus-graphql-client:text
allow-newer: morpheus-graphql-client:req
allow-newer: morpheus-graphql-client:transformers
allow-newer: morpheus-graphql-client:vector
allow-newer: morpheus-graphql-subscriptions:text
allow-newer: morpheus-graphql-subscriptions:transformers
allow-newer: servant-openapi3:base
allow-newer: openapi3:base
allow-newer: servant-client:base
allow-newer: servant-client:transformers
allow-newer: servant-client:mtl
allow-newer: servant-client-core:base
allow-newer: servant-client-core:free
allow-newer: servant-client-core:template-haskell
allow-newer: servant-client-core:transformers
allow-newer: servant-server:base
allow-newer: servant-server:template-haskell
allow-newer: servant-server:transformers
allow-newer: servant-server:mtl
allow-newer: servant:base
allow-newer: servant:mtl
allow-newer: ghc-heap-view:base
allow-newer: ghc-heap-view:Cabal
allow-newer: servant:transformers
allow-newer: singleton-bool:base
allow-newer: semigroupoids:base
allow-newer: http-api-data:base
allow-newer: validation:assoc
allow-newer: aeson:th-abstraction
allow-newer: optics-th:th-abstraction
allow-newer: generics-sop:th-abstraction
-- 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
-- 9.6 support. Awaiting release I guess...
source-repository-package
type: git
location: https://github.com/agrafix/Spock
tag: 40d028bfea0e94ca7096c719cd024ca47a46e559
subdir: Spock-core
-- 9.6 support: https://github.com/jfischoff/postgres-options/pull/7
source-repository-package
type: git
location: https://github.com/jfischoff/postgres-options.git
tag: 3100f7ca4319748a07a46e2838f4c80f8e3f076a
-- 9.6 support: https://github.com/MichaelXavier/cron/pull/51
source-repository-package
type: git
location: https://github.com/TristanCacqueray/cron.git
tag: 5f5b662a1d7abc3951ea5a2a625bbf3e83f7a11a
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
-- because we need 27d87f01, not yet released
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