extensions-0.1.0.3: extensions.cabal
cabal-version: 2.4
name: extensions
version: 0.1.0.3
synopsis: Parse Haskell Language Extensions
description: Parse Haskell Language Extensions.
See [README.md](https://github.com/kowainik/extensions#extensions) for more details.
homepage: https://github.com/kowainik/extensions
bug-reports: https://github.com/kowainik/extensions/issues
license: MPL-2.0
license-file: LICENSE
author: Veronika Romashkina, Dmitrii Kovanikov
maintainer: Kowainik <xrom.xkov@gmail.com>
copyright: 2020-2022 Kowainik
category: GHC, Parsing, Haskell
build-type: Simple
extra-doc-files: README.md
CHANGELOG.md
tested-with: GHC == 8.8.4
GHC == 8.10.7
GHC == 9.0.2
GHC == 9.2.4
GHC == 9.4.2
GHC == 9.6.3
GHC == 9.8.1
GHC == 9.10.1
flag executable
description: Build the extensions executable
default: True
manual: True
source-repository head
type: git
location: https://github.com/kowainik/extensions.git
common common-options
build-depends: base >= 4.13.0.0 && < 4.21
ghc-options: -Wall
-Wcompat
-Widentities
-Wincomplete-uni-patterns
-Wincomplete-record-updates
-Werror=incomplete-patterns
if impl(ghc >= 8.0)
ghc-options: -Wredundant-constraints
if impl(ghc >= 8.2)
ghc-options: -fhide-source-paths
if impl(ghc >= 8.4)
ghc-options: -Wmissing-export-lists
-Wpartial-fields
if impl(ghc >= 8.8)
ghc-options: -Wmissing-deriving-strategies
if impl(ghc >= 8.10.1)
ghc-options: -Wunused-packages
if impl(ghc >= 9.0)
ghc-options: -Winvalid-haddock
if impl(ghc >= 9.2)
ghc-options: -Woperator-whitespace
-Wredundant-bang-patterns
default-language: Haskell2010
default-extensions: ConstraintKinds
DeriveGeneric
DerivingStrategies
GeneralizedNewtypeDeriving
InstanceSigs
KindSignatures
LambdaCase
OverloadedStrings
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
TupleSections
TypeApplications
ViewPatterns
library
import: common-options
hs-source-dirs: src
exposed-modules: Extensions
Extensions.Cabal
Extensions.Module
Extensions.Package
Extensions.Types
build-depends: bytestring >= 0.10 && < 0.13
-- We need to pin a single major version of
-- Cabal here because the main reason we use
-- Cabal is for its list of extensions. Later
-- versions have strictly more extensions, and
-- we'll have missing patterns if we try to
-- support more than one major version. If
-- this causes problems in practice let's
-- revisit this decision and come up with
-- another approach.
, Cabal ^>= 3.14
, containers >= 0.6 && < 0.8
, directory ^>= 1.3
, filepath >= 1.4 && < 1.6
, ghc-boot-th >= 8.8.1 && < 9.11
, parsec ^>= 3.1
, text >= 1.2.3 && < 2.2
executable extensions
import: common-options
if !flag(executable)
buildable: False
hs-source-dirs: app
main-is: Main.hs
other-modules: Cli
build-depends: extensions
, base
, colourista >= 0.1 && < 0.3
, containers
, directory
, filepath
, optparse-applicative >= 0.15 && < 0.19
, text
test-suite extensions-test
import: common-options
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Spec.hs
other-modules: Test.Extensions
Test.Extensions.Cabal
Test.Extensions.Module
Test.Extensions.Types
build-depends: extensions
, bytestring
, containers
, ghc-boot-th
, hedgehog >= 1.0 && < 1.5
, hspec
, hspec-hedgehog >= 0.0.1 && < 0.2
, text
ghc-options: -threaded
-rtsopts
-with-rtsopts=-N