graphql-engine/server/lib/pool/resource-pool.cabal
Auke Booij a5325d6aea server: fix cabal files; apply ghc warnings more strictly
- In a previous PR we made more use of `common` stanzas, but these require `cabal-version: 2.2` (so some of those stanzas were not functional before this PR). This just bumps the `cabal-version`s straight to 3.6, which is the latest version we support in CI, where we build with cabal 3.6.
- This `cabal-version` upgrade required fixing a few `license` fields, from `BSD3` to `BSD-3-Clause`. I've also added `default-language` fields where appropriate, although this is perhaps optional.
- Using cabal's [syntax for applying options to all _local_ packages](https://cabal.readthedocs.io/en/3.8/cabal-project.html#package-configuration-options), we unify the cabal configuration, and apply `-Werror` to all local packages, which wasn't the case until now.
- Applying `-Werror` to all local packages required a few additional exceptions to the warnings that were switched on in hasura/graphql-engine-mono#7614.
- Deleted SCM links to the original pool library.

Overall, the effect of this PR is:
- more warnings
- stricter compilation
- ~~less cabal configuration~~

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7730
GitOrigin-RevId: 592e9e46d103bcc8726df5b745306bd9f77f7efc
2023-01-31 18:25:42 +00:00

87 lines
2.2 KiB
Plaintext

cabal-version: 3.6
name: resource-pool
version: 0.2.3.2
synopsis: A high-performance striped resource pooling implementation
description:
A high-performance striped pooling abstraction for managing
flexibly-sized collections of resources such as database
connections.
homepage: http://github.com/bos/pool
license: BSD-3-Clause
license-file: LICENSE
author: Bryan O'Sullivan <bos@serpentine.com>
maintainer: Bryan O'Sullivan <bos@serpentine.com>,
Bas van Dijk <v.dijk.bas@gmail.com>
copyright: Copyright 2011 MailRank, Inc.
category: Data, Database, Network
build-type: Simple
extra-source-files:
README.markdown
flag developer
description: operate in developer mode
default: False
manual: True
common common-all
ghc-options:
-- Taken from https://medium.com/mercury-bank/enable-all-the-warnings-a0517bc081c3
-Weverything
-Wno-missing-exported-signatures
-Wno-missing-import-lists
-Wno-missed-specialisations
-Wno-all-missed-specialisations
-Wno-unsafe
-Wno-safe
-Wno-missing-local-signatures
-Wno-monomorphism-restriction
-Wno-missing-kind-signatures
-Wno-missing-safe-haskell-mode
-- We want these warnings, but the code doesn't satisfy them yet:
-Wno-missing-deriving-strategies
-Wno-unused-packages
-Wno-deriving-typeable
-Wno-implicit-prelude
-Wno-prepositive-qualified-module
-Wno-unused-imports
-Wno-unused-do-bind
-Wno-missing-signatures
-Wno-name-shadowing
library
import: common-all
exposed-modules:
Data.Pool
default-language: Haskell2010
build-depends:
base >= 4.4 && < 5,
hashable,
monad-control >= 0.2.0.1,
transformers,
transformers-base >= 0.4,
stm >= 2.3,
time,
vector >= 0.7
if flag(developer)
ghc-options: -Werror
ghc-prof-options: -auto-all
cpp-options: -DASSERTS -DDEBUG
test-suite resource-pool-tests
import: common-all
default-language: Haskell2010
ghc-options: -threaded -rtsopts
type: exitcode-stdio-1.0
build-depends:
base
, hspec
, async
, resource-pool
, time
hs-source-dirs: test
main-is: Main.hs