File: semigroups.cabal

package info (click to toggle)
haskell-semigroups 0.18.2-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 132 kB
  • sloc: haskell: 1,206; makefile: 2
file content (162 lines) | stat: -rw-r--r-- 5,397 bytes parent folder | download
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
name:          semigroups
category:      Algebra, Data, Data Structures, Math
version:       0.18.2
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/semigroups/
bug-reports:   http://github.com/ekmett/semigroups/issues
copyright:     Copyright (C) 2011-2015 Edward A. Kmett
synopsis:      Anything that associates
description:
    In mathematics, a semigroup is an algebraic structure consisting of a set together with an associative binary operation. A semigroup generalizes a monoid in that there might not exist an identity element. It also (originally) generalized a group (a monoid with all inverses) to a type where every element did not have to have an inverse, thus the name semigroup.
build-type:    Simple
extra-source-files: .travis.yml README.markdown CHANGELOG.markdown

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

flag hashable
  description:
    You can disable the use of the `hashable` package using `-f-hashable`.
    .
    Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.
    .
    If disabled we will not supply instances of `Hashable`
    .
    Note: `-f-hashable` implies `-f-unordered-containers`, as we are necessarily not able to supply those instances as well.
  default: True
  manual: True

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

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

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

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

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

flag tagged
  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.
  default: True
  manual: True

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

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

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

library
  default-language: Haskell98
  hs-source-dirs: src
  ghc-options: -Wall

  build-depends: base >= 2 && < 5

  if impl(ghc >= 7.4)
    exposed-modules:
      Data.Semigroup.Generic

  -- legacy configuration
  if impl(ghc < 7.11.20151002)
    -- starting with GHC 8 these modules are provided by `base`
    hs-source-dirs: src-ghc7
    exposed-modules:
      Data.Semigroup
      Data.List.NonEmpty

    -- Not needed anymore since GHC 7.10
    if impl(ghc < 7.10)
      build-depends: nats >= 0.1 && < 2

    if impl(ghc >= 7.4 && < 7.5)
      build-depends: ghc-prim

    if flag(binary)
      build-depends: binary

    if flag(bytestring)
      if flag(bytestring-builder)
        build-depends: bytestring         >= 0.9    && < 0.10.4,
                       bytestring-builder >= 0.10.4 && < 1
      else
        build-depends: bytestring         >= 0.10.4 && < 1

    if flag(containers)
      build-depends: containers >= 0.3 && < 0.6

    if flag(deepseq)
      build-depends: deepseq >= 1.1 && < 1.5

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

    if flag(text)
      build-depends: text >= 0.10 && < 2

    if flag(hashable)
      build-depends: hashable >= 1.1  && < 1.3

    if flag(hashable) && flag(unordered-containers)
      build-depends: unordered-containers >= 0.2  && < 0.3

    if flag(transformers)
      build-depends: transformers >= 0.2 && < 0.6