summaryrefslogtreecommitdiff
path: root/distributive.cabal
blob: 3255013cb34bafef6a2138196a5f2136b6375284 (plain)
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
name:          distributive
category:      Data Structures
version:       0.6.2.1
x-revision: 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/distributive/
bug-reports:   http://github.com/ekmett/distributive/issues
copyright:     Copyright (C) 2011-2016 Edward A. Kmett
synopsis:      Distributive functors -- Dual to Traversable
description:   Distributive functors -- Dual to @Traversable@
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.3
extra-source-files:
  .hlint.yaml
  .vim.custom
  config
  CHANGELOG.markdown
  README.markdown

source-repository head
  type: git
  location: git://github.com/ekmett/distributive.git

flag semigroups
  manual: True
  default: True
  description:
    You can disable the use of the `semigroups` package using `-f-semigroups`.
    .
    Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.

flag tagged
  manual: True
  default: True
  description:
    You can disable the use of the `tagged` package using `-f-tagged`.
    .
    Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.

library
  build-depends:
    base                >= 4   && < 5,
    base-orphans        >= 0.5.2 && < 1,
    transformers        >= 0.3 && < 0.7

  hs-source-dirs:  src
  exposed-modules:
    Data.Distributive

  if impl(ghc>=7.2)
    exposed-modules: Data.Distributive.Generic

  if flag(tagged)
    build-depends: tagged >= 0.7 && < 1

  if impl(ghc>=7.2 && < 7.6)
    build-depends: ghc-prim

  if impl(ghc < 8.0)
    if flag(semigroups)
      build-depends: semigroups >= 0.13 && < 1

  if impl(ghc < 7.8)
    hs-source-dirs: src-compat
    other-modules: Data.Coerce

  ghc-options: -Wall

  if impl(ghc >= 9.0)
    -- these flags may abort compilation with GHC-8.10
    -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3295
    ghc-options: -Winferred-safe-imports -Wmissing-safe-haskell-mode

  default-language: Haskell2010

test-suite spec
  type:           exitcode-stdio-1.0
  hs-source-dirs: tests
  build-tool-depends:
    hspec-discover:hspec-discover

  build-depends:
    base             >= 4    && < 5,
    distributive,
    generic-deriving >= 1.11 && < 2,
    hspec            >= 2    && < 3

  main-is: Spec.hs
  other-modules: GenericsSpec

  ghc-options: -Wall -threaded -rtsopts
  default-language: Haskell2010