brittany/brittany.cabal

342 lines
8.0 KiB
Plaintext

name: brittany
version: 0.13.1.2
synopsis: Haskell source code formatter
description: {
See <https://github.com/lspitzner/brittany/blob/master/README.md the README>.
.
If you are interested in the implementation, have a look at <https://github.com/lspitzner/brittany/blob/master/doc/implementation/theory.md this document>;
.
The implementation is documented in more detail <https://github.com/lspitzner/brittany/blob/master/doc/implementation/index.md here>.
}
license: AGPL-3
license-file: LICENSE
author: Lennart Spitzner
maintainer: Lennart Spitzner <hexagoxel@hexagoxel.de>
copyright: Copyright (C) 2016-2019 Lennart Spitzner
Copyright (C) 2019 PRODA LTD
category: Language
build-type: Simple
cabal-version: 1.18
homepage: https://github.com/lspitzner/brittany/
bug-reports: https://github.com/lspitzner/brittany/issues
extra-doc-files: {
ChangeLog.md
README.md
doc/implementation/*.md
}
extra-source-files: {
src-literatetests/*.blt
srcinc/prelude.inc
}
source-repository head {
type: git
location: https://github.com/lspitzner/brittany.git
}
flag brittany-dev-lib
description: set buildable false for anything but lib
default: False
manual: True
flag brittany-test-perf
description: determines if performance test suite is enabled
default: False
manual: True
library {
default-language:
Haskell2010
hs-source-dirs:
src
include-dirs:
srcinc
exposed-modules: {
Language.Haskell.Brittany
Language.Haskell.Brittany.Main
Language.Haskell.Brittany.Internal
Language.Haskell.Brittany.Internal.Prelude
Language.Haskell.Brittany.Internal.PreludeUtils
Language.Haskell.Brittany.Internal.Types
Language.Haskell.Brittany.Internal.Utils
Language.Haskell.Brittany.Internal.Config
Language.Haskell.Brittany.Internal.Config.Types
Language.Haskell.Brittany.Internal.Config.Types.Instances
Language.Haskell.Brittany.Internal.Obfuscation
Paths_brittany
}
other-modules: {
Language.Haskell.Brittany.Internal.LayouterBasics
Language.Haskell.Brittany.Internal.Backend
Language.Haskell.Brittany.Internal.BackendUtils
Language.Haskell.Brittany.Internal.ExactPrintUtils
Language.Haskell.Brittany.Internal.Layouters.Type
Language.Haskell.Brittany.Internal.Layouters.Decl
Language.Haskell.Brittany.Internal.Layouters.Expr
Language.Haskell.Brittany.Internal.Layouters.Stmt
Language.Haskell.Brittany.Internal.Layouters.Pattern
Language.Haskell.Brittany.Internal.Layouters.IE
Language.Haskell.Brittany.Internal.Layouters.Import
Language.Haskell.Brittany.Internal.Layouters.Module
Language.Haskell.Brittany.Internal.Layouters.DataDecl
Language.Haskell.Brittany.Internal.Transformations.Alt
Language.Haskell.Brittany.Internal.Transformations.Floating
Language.Haskell.Brittany.Internal.Transformations.Par
Language.Haskell.Brittany.Internal.Transformations.Columns
Language.Haskell.Brittany.Internal.Transformations.Indent
}
ghc-options: {
-Wall
-fno-warn-unused-imports
-fno-warn-redundant-constraints
}
build-depends:
{ base >=4.12 && <4.16
, aeson >=1.0.1.0 && <1.6
, butcher >=1.3.1 && <1.4
, bytestring >=0.10.8.1 && <0.11
, cmdargs >=0.10.14 && <0.11
, containers >=0.5.7.1 && <0.7
, czipwith >=1.0.1.0 && <1.1
, data-tree-print
, deepseq >=1.4.2.0 && <1.5
, directory >=1.2.6.2 && <1.4
, extra >=1.4.10 && <1.8
, filepath >=1.4.1.0 && <1.5
, ghc >=8.6.1 && <8.11 || >=9.0.1 && <9.1
, ghc-boot-th >=8.6.1 && <8.11 || >=9.0.1 && <9.1
, ghc-exactprint >=0.5.8 && <0.6.5
, ghc-paths >=0.1.0.9 && <0.2
, monad-memo >=0.4.1 && <0.6
, mtl >=2.2.1 && <2.3
, multistate >=0.7.1.1 && <0.9
, pretty >=1.1.3.3 && <1.2
, random >= 1.1 && <1.3
, safe >=0.3.9 && <0.4
, semigroups >=0.18.2 && <0.20
, strict >=0.3.2 && <0.5
, syb >=0.6 && <0.8
, text >=1.2 && <1.3
, transformers >=0.5.2.0 && <0.6
, uniplate >=1.6.12 && <1.7
, unsafe >=0.0 && <0.1
, yaml >=0.8.18 && <0.12
}
default-extensions: {
CPP
NoImplicitPrelude
GADTs
FlexibleContexts
FlexibleInstances
ScopedTypeVariables
MonadComprehensions
LambdaCase
MultiWayIf
KindSignatures
}
}
executable brittany
if flag(brittany-dev-lib) {
buildable: False
} else {
buildable: True
}
main-is: Main.hs
hs-source-dirs: src-brittany
build-depends:
{ base
, brittany
}
default-language: Haskell2010
ghc-options: {
-Wall
-fno-spec-constr
-fno-warn-unused-imports
-fno-warn-redundant-constraints
-rtsopts
-with-rtsopts "-M2G"
}
test-suite unittests
if flag(brittany-dev-lib) || !flag(brittany-test-perf) {
buildable: False
} else {
buildable: True
}
type: exitcode-stdio-1.0
default-language: Haskell2010
build-depends:
{ brittany
, base
, ghc
, ghc-paths
, ghc-exactprint
, transformers
, containers
, mtl
, text
, multistate
, syb
, data-tree-print
, pretty
, bytestring
, directory
, butcher
, yaml
, aeson
, extra
, uniplate
, strict
, monad-memo
, unsafe
, safe
, deepseq
, semigroups
, cmdargs
, czipwith
, ghc-boot-th
, hspec >=2.4.1 && <2.9
}
main-is: TestMain.hs
other-modules: TestUtils
AsymptoticPerfTests
hs-source-dirs: src-unittests
include-dirs: srcinc
default-extensions: {
CPP
NoImplicitPrelude
GADTs
FlexibleContexts
FlexibleInstances
ScopedTypeVariables
MonadComprehensions
LambdaCase
MultiWayIf
KindSignatures
}
ghc-options: {
-Wall
-fno-warn-unused-imports
-rtsopts
-with-rtsopts "-M2G"
-threaded
-- ^ threaded is not necessary at all, but our CI trusts on being able
-- to pass -N1, which is not possible without threaded :-/
-- (plus -no-threaded is not a thing, afaict)
}
test-suite littests
if flag(brittany-dev-lib) {
buildable: False
} else {
buildable: True
}
type: exitcode-stdio-1.0
default-language: Haskell2010
build-depends:
{ brittany
, base
, ghc
, ghc-paths
, ghc-exactprint
, transformers
, containers
, mtl
, text
, multistate
, syb
, data-tree-print
, pretty
, bytestring
, directory
, butcher
, yaml
, aeson
, extra
, uniplate
, strict
, monad-memo
, unsafe
, safe
, deepseq
, semigroups
, cmdargs
, czipwith
, ghc-boot-th
, hspec >=2.4.1 && <2.9
, filepath
, parsec >=3.1.11 && <3.2
}
main-is: Main.hs
other-modules:
hs-source-dirs: src-literatetests
include-dirs: srcinc
default-extensions: {
CPP
NoImplicitPrelude
GADTs
FlexibleContexts
FlexibleInstances
ScopedTypeVariables
MonadComprehensions
LambdaCase
MultiWayIf
KindSignatures
}
ghc-options: {
-Wall
-fno-warn-unused-imports
-threaded
-rtsopts
-with-rtsopts "-M2G -N"
}
test-suite libinterfacetests
if flag(brittany-dev-lib) {
buildable: False
} else {
buildable: True
}
type: exitcode-stdio-1.0
default-language: Haskell2010
build-depends:
{ brittany
, base
, text
, transformers
, hspec >=2.4.1 && <2.9
}
main-is: Main.hs
other-modules:
hs-source-dirs: src-libinterfacetests
include-dirs: srcinc
default-extensions: {
FlexibleContexts
FlexibleInstances
ScopedTypeVariables
MonadComprehensions
LambdaCase
MultiWayIf
KindSignatures
}
ghc-options: {
-Wall
-fno-warn-unused-imports
-rtsopts
-with-rtsopts "-M2G"
-threaded
-- ^ threaded is not necessary at all, but our CI trusts on being able
-- to pass -N1, which is not possible without threaded :-/
-- (plus -no-threaded is not a thing, afaict)
}