-- 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