-
-
Notifications
You must be signed in to change notification settings - Fork 9
/
extensions.cabal
140 lines (131 loc) Β· 5.08 KB
/
extensions.cabal
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
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 <[email protected]>
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