1name:          bifunctors
2category:      Data, Functors
3version:       5.5.11
4x-revision: 1
5license:       BSD3
6cabal-version: >= 1.10
7license-file:  LICENSE
8author:        Edward A. Kmett
9maintainer:    Edward A. Kmett <ekmett@gmail.com>
10stability:     provisional
11homepage:      http://github.com/ekmett/bifunctors/
12bug-reports:   http://github.com/ekmett/bifunctors/issues
13copyright:     Copyright (C) 2008-2016 Edward A. Kmett
14synopsis:      Bifunctors
15description:   Bifunctors.
16build-type:    Simple
17tested-with:   GHC == 7.0.4
18             , GHC == 7.2.2
19             , GHC == 7.4.2
20             , GHC == 7.6.3
21             , GHC == 7.8.4
22             , GHC == 7.10.3
23             , GHC == 8.0.2
24             , GHC == 8.2.2
25             , GHC == 8.4.4
26             , GHC == 8.6.5
27             , GHC == 8.8.4
28             , GHC == 8.10.4
29             , GHC == 9.0.1
30extra-source-files:
31  CHANGELOG.markdown
32  README.markdown
33  include/bifunctors-common.h
34
35source-repository head
36  type: git
37  location: https://github.com/ekmett/bifunctors.git
38
39flag semigroups
40  default: True
41  manual: True
42  description:
43    You can disable the use of the `semigroups` package using `-f-semigroups`.
44    .
45    Disabing this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.
46
47flag tagged
48  default: True
49  manual: True
50  description:
51    You can disable the use of the `tagged` package using `-f-tagged`.
52    .
53    Disabing this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.
54
55library
56  hs-source-dirs: src
57  include-dirs: include
58  includes: bifunctors-common.h
59  build-depends:
60    base                >= 4.3   && < 5,
61    base-orphans        >= 0.8.4 && < 1,
62    comonad             >= 5.0.7 && < 6,
63    containers          >= 0.2   && < 0.7,
64    template-haskell    >= 2.4   && < 2.19,
65    th-abstraction      >= 0.4.2.0 && < 0.5,
66    transformers        >= 0.3   && < 0.7
67
68  if !impl(ghc > 8.2)
69    build-depends: transformers-compat >= 0.5 && < 0.8
70
71  if !impl(ghc >= 8.0)
72    build-depends: fail == 4.9.*
73
74  if flag(tagged)
75    build-depends: tagged >= 0.8.6 && < 1
76
77  if flag(semigroups) && !impl(ghc >= 8.0)
78    build-depends: semigroups >= 0.18.5 && < 1
79
80  if impl(ghc<7.9)
81    hs-source-dirs: old-src/ghc709
82    exposed-modules: Data.Bifunctor
83
84  if impl(ghc<8.1)
85    hs-source-dirs: old-src/ghc801
86    exposed-modules:
87      Data.Bifoldable
88      Data.Bitraversable
89
90  if impl(ghc>=7.2) && impl(ghc<7.5)
91    build-depends: ghc-prim == 0.2.0.0
92
93  exposed-modules:
94    Data.Biapplicative
95    Data.Bifunctor.Biap
96    Data.Bifunctor.Biff
97    Data.Bifunctor.Clown
98    Data.Bifunctor.Fix
99    Data.Bifunctor.Flip
100    Data.Bifunctor.Functor
101    Data.Bifunctor.Join
102    Data.Bifunctor.Joker
103    Data.Bifunctor.Product
104    Data.Bifunctor.Sum
105    Data.Bifunctor.Tannen
106    Data.Bifunctor.TH
107    Data.Bifunctor.Wrapped
108
109  other-modules:
110    Data.Bifunctor.TH.Internal
111    Paths_bifunctors
112
113  ghc-options: -Wall
114  default-language: Haskell2010
115
116  if impl(ghc >= 9.0)
117    -- these flags may abort compilation with GHC-8.10
118    -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3295
119    ghc-options: -Winferred-safe-imports -Wmissing-safe-haskell-mode
120
121test-suite bifunctors-spec
122  type: exitcode-stdio-1.0
123  hs-source-dirs: tests
124  main-is: Spec.hs
125  other-modules: BifunctorSpec T89Spec
126  ghc-options: -Wall
127  if impl(ghc >= 8.6)
128    ghc-options: -Wno-star-is-type
129  default-language: Haskell2010
130  build-tool-depends: hspec-discover:hspec-discover >= 1.8
131  build-depends:
132    base                >= 4   && < 5,
133    bifunctors,
134    hspec               >= 1.8,
135    QuickCheck          >= 2   && < 3,
136    template-haskell,
137    transformers,
138    transformers-compat
139
140