/
transformers-compat.cabal
191 lines (164 loc) · 5.47 KB
/
transformers-compat.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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
name: transformers-compat
category: Compatibility
version: 0.7.1
license: BSD3
cabal-version: >= 1.10
license-file: LICENSE
author: Edward A. Kmett
maintainer: Edward A. Kmett <ekmett@gmail.com>
stability: provisional
homepage: http://github.com/ekmett/transformers-compat/
bug-reports: http://github.com/ekmett/transformers-compat/issues
copyright: Copyright (C) 2012-2015 Edward A. Kmett
synopsis: A small compatibility shim for the transformers library
description:
This package includes backported versions of types that were added
to transformers in transformers 0.3, 0.4, and 0.5 for users who need strict
transformers 0.2 or 0.3 compatibility to run on old versions of the
platform, but also need those types.
.
Those users should be able to just depend on @transformers >= 0.2@
and @transformers-compat >= 0.3@.
.
Note: missing methods are not supplied, but this at least permits the types to be used.
build-type: Simple
tested-with: GHC == 7.0.4
, GHC == 7.2.2
, GHC == 7.4.2
, GHC == 7.6.3
, GHC == 7.8.4
, GHC == 7.10.3
, GHC == 8.0.2
, GHC == 8.2.2
, GHC == 8.4.4
, GHC == 8.6.5
, GHC == 8.8.4
, GHC == 8.10.7
, GHC == 9.0.1
, GHC == 9.2.1
extra-source-files:
.ghci
.gitignore
.hlint.yaml
.vim.custom
config
tests/*.hs
tests/LICENSE
tests/transformers-compat-tests.cabal
README.markdown
CHANGELOG.markdown
source-repository head
type: git
location: git://github.com/ekmett/transformers-compat.git
flag two
default: False
description: Use transformers 0.2. This will be selected by cabal picking the appropriate version.
manual: False
flag three
default: False
manual: False
description: Use transformers 0.3. This will be selected by cabal picking the appropriate version.
flag four
default: False
manual: False
description: Use transformers 0.4. This will be selected by cabal picking the appropriate version.
flag five
default: False
manual: False
description: Use transformers 0.5 up until (but not including) 0.5.3. This will be selected by cabal picking the appropriate version.
flag five-three
default: False
manual: False
description: Use transformers 0.5.3. This will be selected by cabal picking the appropriate version.
flag mtl
default: True
manual: True
description: -f-mtl Disables support for mtl for transformers 0.2 and 0.3. That is an unsupported configuration, and results in missing instances for `ExceptT`.
flag generic-deriving
default: True
manual: True
description: -f-generic-deriving prevents generic-deriving from being built as a dependency.
This disables certain aspects of generics for older versions of GHC. In particular,
Generic(1) instances will not be backported prior to GHC 7.2, and generic operations
over unlifted types will not be backported prior to GHC 8.0. This is an unsupported
configuration.
library
build-depends:
base >= 4.3 && < 5,
-- These are all transformers versions we support.
-- each flag below splits this interval into two parts.
-- flag-true parts are mutually exclusive, so at least one have to be on.
transformers >= 0.2 && <0.7
if !impl(ghc >= 8.0)
build-depends: fail == 4.9.*
hs-source-dirs:
src
exposed-modules:
Control.Monad.Trans.Instances
other-modules:
Paths_transformers_compat
default-language:
Haskell2010
-- automatic flags
if flag(five-three)
build-depends: transformers >= 0.5.3
else
build-depends: transformers < 0.5.3
if flag(five)
hs-source-dirs: 0.5
build-depends: transformers >= 0.5 && < 0.5.3
else
build-depends: transformers < 0.5 || >= 0.5.3
if flag(four)
cpp-options: -DTRANSFORMERS_FOUR
hs-source-dirs: 0.5
-- Don't allow transformers-0.4.0.0
-- See https://github.com/ekmett/transformers-compat/issues/35
build-depends: transformers >= 0.4.1 && < 0.5
else
build-depends: transformers < 0.4 || >= 0.5
if flag(three)
hs-source-dirs: 0.3 0.5
build-depends: transformers >= 0.3 && < 0.4
if flag(mtl)
build-depends: mtl >= 2.1 && < 2.2
else
build-depends: transformers < 0.3 || >= 0.4
if flag(two)
hs-source-dirs: 0.2 0.3 0.5
build-depends: transformers >= 0.2 && < 0.3
if flag(mtl)
build-depends: mtl >= 2.0 && < 2.1
else
build-depends: transformers >= 0.3
-- other flags
if impl(ghc >= 7.2) || flag(generic-deriving)
hs-source-dirs: generics
build-depends: ghc-prim
if flag(mtl)
cpp-options: -DMTL
if flag(generic-deriving)
if impl(ghc < 8.0) && flag(generic-deriving)
cpp-options: -DGENERIC_DERIVING
build-depends: generic-deriving >= 1.10 && < 2
if !flag(mtl) && !flag(generic-deriving)
cpp-options: -DHASKELL98
if flag(two)
exposed-modules:
Control.Applicative.Backwards
Control.Applicative.Lift
Data.Functor.Reverse
if flag(two) || flag(three)
exposed-modules:
Control.Monad.Trans.Except
Control.Monad.Signatures
Data.Functor.Classes
Data.Functor.Sum
if flag(two) || flag(three) || flag(four) || flag(five)
exposed-modules:
Control.Monad.Trans.Accum
Control.Monad.Trans.Select
if impl(ghc >= 7.2) || flag(generic-deriving)
exposed-modules:
Data.Functor.Classes.Generic
Data.Functor.Classes.Generic.Internal