Cabal.cabal 12.2 KB
Newer Older
1
name: Cabal
tibbe's avatar
tibbe committed
2
version: 1.23.0.0
3
copyright: 2003-2006, Isaac Jones
Duncan Coutts's avatar
Duncan Coutts committed
4
           2005-2011, Duncan Coutts
5
6
7
license: BSD3
license-file: LICENSE
author: Isaac Jones <ijones@syntaxpolice.org>
Duncan Coutts's avatar
Duncan Coutts committed
8
        Duncan Coutts <duncan@community.haskell.org>
9
10
maintainer: cabal-devel@haskell.org
homepage: http://www.haskell.org/cabal/
11
bug-reports: https://github.com/haskell/cabal/issues
12
13
synopsis: A framework for packaging Haskell software
description:
14
15
16
17
18
19
  The Haskell Common Architecture for Building Applications and
  Libraries: a framework defining a common interface for authors to more
  easily build their Haskell applications in a portable way.
  .
  The Haskell Cabal is part of a larger infrastructure for distributing,
  organizing, and cataloging Haskell libraries and tools.
20
category: Distribution
21
cabal-version: >=1.10
22
build-type: Custom
Ross Paterson's avatar
Ross Paterson committed
23
-- Even though we do use the default Setup.lhs it's vital to bootstrapping
24
-- that we build Setup.lhs using our own local Cabal source code.
25

26
extra-source-files:
27
  README.md tests/README.md changelog
tibbe's avatar
tibbe committed
28
29
30
  doc/developing-packages.markdown doc/index.markdown
  doc/installing-packages.markdown
  doc/misc.markdown
31

32
  -- Generated with 'misc/gen-extra-source-files.sh' & 'M-x sort-lines':
33
34
35
  tests/PackageTests/BenchmarkExeV10/Foo.hs
  tests/PackageTests/BenchmarkExeV10/benchmarks/bench-Foo.hs
  tests/PackageTests/BenchmarkExeV10/my.cabal
36
  tests/PackageTests/BenchmarkOptions/BenchmarkOptions.cabal
37
38
  tests/PackageTests/BenchmarkOptions/test-BenchmarkOptions.hs
  tests/PackageTests/BenchmarkStanza/my.cabal
39
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive1/GlobalBuildDepsNotAdditive1.cabal
40
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive1/MyLibrary.hs
41
42
43
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive2/GlobalBuildDepsNotAdditive2.cabal
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive2/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary0/MyLibrary.hs
44
  tests/PackageTests/BuildDeps/InternalLibrary0/my.cabal
45
46
  tests/PackageTests/BuildDeps/InternalLibrary0/programs/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary1/MyLibrary.hs
47
  tests/PackageTests/BuildDeps/InternalLibrary1/my.cabal
48
49
  tests/PackageTests/BuildDeps/InternalLibrary1/programs/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary2/MyLibrary.hs
50
  tests/PackageTests/BuildDeps/InternalLibrary2/my.cabal
51
  tests/PackageTests/BuildDeps/InternalLibrary2/programs/lemon.hs
52
53
  tests/PackageTests/BuildDeps/InternalLibrary2/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary2/to-install/my.cabal
54
  tests/PackageTests/BuildDeps/InternalLibrary3/MyLibrary.hs
55
  tests/PackageTests/BuildDeps/InternalLibrary3/my.cabal
56
  tests/PackageTests/BuildDeps/InternalLibrary3/programs/lemon.hs
57
58
  tests/PackageTests/BuildDeps/InternalLibrary3/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary3/to-install/my.cabal
59
  tests/PackageTests/BuildDeps/InternalLibrary4/MyLibrary.hs
60
  tests/PackageTests/BuildDeps/InternalLibrary4/my.cabal
61
  tests/PackageTests/BuildDeps/InternalLibrary4/programs/lemon.hs
62
63
64
  tests/PackageTests/BuildDeps/InternalLibrary4/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary4/to-install/my.cabal
  tests/PackageTests/BuildDeps/SameDepsAllRound/MyLibrary.hs
65
66
67
  tests/PackageTests/BuildDeps/SameDepsAllRound/SameDepsAllRound.cabal
  tests/PackageTests/BuildDeps/SameDepsAllRound/lemon.hs
  tests/PackageTests/BuildDeps/SameDepsAllRound/pineapple.hs
68
69
70
71
72
73
74
75
76
  tests/PackageTests/BuildDeps/TargetSpecificDeps1/MyLibrary.hs
  tests/PackageTests/BuildDeps/TargetSpecificDeps1/lemon.hs
  tests/PackageTests/BuildDeps/TargetSpecificDeps1/my.cabal
  tests/PackageTests/BuildDeps/TargetSpecificDeps2/MyLibrary.hs
  tests/PackageTests/BuildDeps/TargetSpecificDeps2/lemon.hs
  tests/PackageTests/BuildDeps/TargetSpecificDeps2/my.cabal
  tests/PackageTests/BuildDeps/TargetSpecificDeps3/MyLibrary.hs
  tests/PackageTests/BuildDeps/TargetSpecificDeps3/lemon.hs
  tests/PackageTests/BuildDeps/TargetSpecificDeps3/my.cabal
77
  tests/PackageTests/BuildTestSuiteDetailedV09/Dummy.hs
78
79
80
81
82
  tests/PackageTests/BuildTestSuiteDetailedV09/my.cabal
  tests/PackageTests/CMain/Bar.hs
  tests/PackageTests/CMain/Setup.hs
  tests/PackageTests/CMain/foo.c
  tests/PackageTests/CMain/my.cabal
83
84
  tests/PackageTests/DeterministicAr/Lib.hs
  tests/PackageTests/DeterministicAr/my.cabal
85
  tests/PackageTests/EmptyLib/empty/empty.cabal
86
87
  tests/PackageTests/Haddock/CPP.hs
  tests/PackageTests/Haddock/Literate.lhs
88
  tests/PackageTests/Haddock/NoCPP.hs
89
  tests/PackageTests/Haddock/Simple.hs
90
  tests/PackageTests/Haddock/my.cabal
91
92
  tests/PackageTests/OrderFlags/Foo.hs
  tests/PackageTests/OrderFlags/my.cabal
93
94
95
  tests/PackageTests/PathsModule/Executable/Main.hs
  tests/PackageTests/PathsModule/Executable/my.cabal
  tests/PackageTests/PathsModule/Library/my.cabal
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
96
  tests/PackageTests/PreProcess/Foo.hsc
97
  tests/PackageTests/PreProcess/Main.hs
98
  tests/PackageTests/PreProcess/my.cabal
99
  tests/PackageTests/ReexportedModules/ReexportedModules.cabal
100
101
102
103
104
105
106
107
  tests/PackageTests/TemplateHaskell/dynamic/Exe.hs
  tests/PackageTests/TemplateHaskell/dynamic/Lib.hs
  tests/PackageTests/TemplateHaskell/dynamic/TH.hs
  tests/PackageTests/TemplateHaskell/dynamic/my.cabal
  tests/PackageTests/TemplateHaskell/profiling/Exe.hs
  tests/PackageTests/TemplateHaskell/profiling/Lib.hs
  tests/PackageTests/TemplateHaskell/profiling/TH.hs
  tests/PackageTests/TemplateHaskell/profiling/my.cabal
108
109
110
111
  tests/PackageTests/TemplateHaskell/vanilla/Exe.hs
  tests/PackageTests/TemplateHaskell/vanilla/Lib.hs
  tests/PackageTests/TemplateHaskell/vanilla/TH.hs
  tests/PackageTests/TemplateHaskell/vanilla/my.cabal
112
113
  tests/PackageTests/TestOptions/TestOptions.cabal
  tests/PackageTests/TestOptions/test-TestOptions.hs
114
  tests/PackageTests/TestStanza/my.cabal
ttuegel's avatar
ttuegel committed
115
116
  tests/PackageTests/TestSuiteTests/ExeV10/Foo.hs
  tests/PackageTests/TestSuiteTests/ExeV10/my.cabal
117
118
119
120
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Foo.hs
  tests/PackageTests/TestSuiteTests/LibV09/LibV09.cabal
  tests/PackageTests/TestSuiteTests/LibV09/Lib.hs
  tests/PackageTests/TestSuiteTests/LibV09/Deadlock.hs
121
122
123
  tests/Setup.hs
  tests/hackage/check.sh
  tests/hackage/download.sh
124
125
  tests/hackage/unpack.sh
  tests/misc/ghc-supported-languages.hs
126

127
source-repository head
128
129
  type:     git
  location: https://github.com/haskell/cabal/
130
  subdir:   Cabal
131

132
133
134
flag bundled-binary-generic
  default: False

135
library
136
  build-depends:
137
    base       >= 4.4 && < 5,
138
    deepseq    >= 1.3 && < 1.5,
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
139
    filepath   >= 1   && < 1.5,
140
    directory  >= 1   && < 1.3,
Edward Z. Yang's avatar
Edward Z. Yang committed
141
    process    >= 1.1.0.1 && < 1.3,
142
    time       >= 1.1 && < 1.6,
143
144
145
    containers >= 0.1 && < 0.6,
    array      >= 0.1 && < 0.6,
    pretty     >= 1   && < 1.2,
146
    bytestring >= 0.9
147

148
149
150
151
152
  if flag(bundled-binary-generic)
    build-depends: binary >= 0.5 && < 0.7
  else
    build-depends: binary >= 0.7 && < 0.8

ttuegel's avatar
ttuegel committed
153
154
155
156
  -- Needed for GHC.Generics before GHC 7.6
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

157
  if !os(windows)
158
    build-depends:
ian@well-typed.com's avatar
ian@well-typed.com committed
159
      unix >= 2.0 && < 2.8
160

161
  ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs
162

163
  exposed-modules:
ttuegel's avatar
ttuegel committed
164
    Distribution.Compat.CreatePipe
165
    Distribution.Compat.Environment
166
    Distribution.Compat.Exception
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
192
193
    Distribution.Compat.ReadP
    Distribution.Compiler
    Distribution.InstalledPackageInfo
    Distribution.License
    Distribution.Make
    Distribution.ModuleName
    Distribution.Package
    Distribution.PackageDescription
    Distribution.PackageDescription.Check
    Distribution.PackageDescription.Configuration
    Distribution.PackageDescription.Parse
    Distribution.PackageDescription.PrettyPrint
    Distribution.PackageDescription.Utils
    Distribution.ParseUtils
    Distribution.ReadE
    Distribution.Simple
    Distribution.Simple.Bench
    Distribution.Simple.Build
    Distribution.Simple.Build.Macros
    Distribution.Simple.Build.PathsModule
    Distribution.Simple.BuildPaths
    Distribution.Simple.BuildTarget
    Distribution.Simple.CCompiler
    Distribution.Simple.Command
    Distribution.Simple.Compiler
    Distribution.Simple.Configure
    Distribution.Simple.GHC
194
    Distribution.Simple.GHCJS
195
    Distribution.Simple.Haddock
196
    Distribution.Simple.HaskellSuite
197
198
199
200
201
202
203
204
205
206
207
208
209
    Distribution.Simple.Hpc
    Distribution.Simple.Install
    Distribution.Simple.InstallDirs
    Distribution.Simple.JHC
    Distribution.Simple.LHC
    Distribution.Simple.LocalBuildInfo
    Distribution.Simple.PackageIndex
    Distribution.Simple.PreProcess
    Distribution.Simple.PreProcess.Unlit
    Distribution.Simple.Program
    Distribution.Simple.Program.Ar
    Distribution.Simple.Program.Builtin
    Distribution.Simple.Program.Db
210
    Distribution.Simple.Program.Find
211
212
213
    Distribution.Simple.Program.GHC
    Distribution.Simple.Program.HcPkg
    Distribution.Simple.Program.Hpc
214
    Distribution.Simple.Program.Internal
215
216
217
    Distribution.Simple.Program.Ld
    Distribution.Simple.Program.Run
    Distribution.Simple.Program.Script
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
218
    Distribution.Simple.Program.Strip
219
220
221
222
223
    Distribution.Simple.Program.Types
    Distribution.Simple.Register
    Distribution.Simple.Setup
    Distribution.Simple.SrcDist
    Distribution.Simple.Test
ttuegel's avatar
ttuegel committed
224
225
226
    Distribution.Simple.Test.ExeV10
    Distribution.Simple.Test.LibV09
    Distribution.Simple.Test.Log
227
228
229
230
231
232
    Distribution.Simple.UHC
    Distribution.Simple.UserHooks
    Distribution.Simple.Utils
    Distribution.System
    Distribution.TestSuite
    Distribution.Text
233
    Distribution.Utils.NubList
234
235
    Distribution.Verbosity
    Distribution.Version
236
    Language.Haskell.Extension
237

238
  other-modules:
239
    Distribution.Compat.Binary
240
241
242
    Distribution.Compat.CopyFile
    Distribution.Compat.TempFile
    Distribution.GetOpt
243
    Distribution.Lex
244
    Distribution.Simple.GHC.Internal
245
246
    Distribution.Simple.GHC.IPI641
    Distribution.Simple.GHC.IPI642
247
    Distribution.Simple.GHC.ImplInfo
248
    Paths_Cabal
249

250
251
252
253
254
  if flag(bundled-binary-generic)
    other-modules:
      Distribution.Compat.Binary.Class
      Distribution.Compat.Binary.Generic

255
256
  default-language: Haskell98
  default-extensions: CPP
257

258
-- Small, fast running tests.
259
260
test-suite unit-tests
  type: exitcode-stdio-1.0
261
  hs-source-dirs: tests
262
263
264
  other-modules:
    UnitTests.Distribution.Compat.CreatePipe
    UnitTests.Distribution.Compat.ReadP
265
    UnitTests.Distribution.Simple.Program.Internal
266
    UnitTests.Distribution.Utils.NubList
267
  main-is: UnitTests.hs
268
  build-depends:
269
    base,
270
271
272
    tasty,
    tasty-hunit,
    tasty-quickcheck,
273
    pretty,
274
    QuickCheck < 2.9,
275
    Cabal
tibbe's avatar
tibbe committed
276
  ghc-options: -Wall
277
  default-language: Haskell98
278
279
280
281
282

-- Large, system tests that build packages.
test-suite package-tests
  type: exitcode-stdio-1.0
  main-is: PackageTests.hs
283
  other-modules:
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
    PackageTests.BenchmarkExeV10.Check
    PackageTests.BenchmarkOptions.Check
    PackageTests.BenchmarkStanza.Check
    PackageTests.BuildDeps.GlobalBuildDepsNotAdditive1.Check
    PackageTests.BuildDeps.GlobalBuildDepsNotAdditive2.Check
    PackageTests.BuildDeps.InternalLibrary0.Check
    PackageTests.BuildDeps.InternalLibrary1.Check
    PackageTests.BuildDeps.InternalLibrary2.Check
    PackageTests.BuildDeps.InternalLibrary3.Check
    PackageTests.BuildDeps.InternalLibrary4.Check
    PackageTests.BuildDeps.SameDepsAllRound.Check
    PackageTests.BuildDeps.TargetSpecificDeps1.Check
    PackageTests.BuildDeps.TargetSpecificDeps2.Check
    PackageTests.BuildDeps.TargetSpecificDeps3.Check
    PackageTests.BuildTestSuiteDetailedV09.Check
    PackageTests.CMain.Check
300
    PackageTests.DeterministicAr.Check
301
    PackageTests.EmptyLib.Check
302
    PackageTests.Haddock.Check
303
    PackageTests.OrderFlags.Check
304
305
306
    PackageTests.PackageTester
    PackageTests.PathsModule.Executable.Check
    PackageTests.PathsModule.Library.Check
307
    PackageTests.PreProcess.Check
308
    PackageTests.PreProcessExtraSources.Check
309
    PackageTests.ReexportedModules.Check
310
311
312
    PackageTests.TemplateHaskell.Check
    PackageTests.TestOptions.Check
    PackageTests.TestStanza.Check
ttuegel's avatar
ttuegel committed
313
    PackageTests.TestSuiteTests.ExeV10.Check
314
    PackageTests.TestSuiteTests.LibV09.Check
315
316
317
    Test.Distribution.Version
    Test.Laws
    Test.QuickCheck.Utils
318
319
  hs-source-dirs: tests
  build-depends:
320
    base,
321
    containers,
322
323
324
325
    tasty,
    tasty-quickcheck,
    tasty-hunit,
    QuickCheck >= 2.1.0.1 && < 2.9,
326
327
328
329
330
    Cabal,
    process,
    directory,
    filepath,
    extensible-exceptions,
331
    bytestring,
332
333
    regex-posix,
    old-time
tibbe's avatar
tibbe committed
334
335
  if !os(windows)
    build-depends: unix
tibbe's avatar
tibbe committed
336
  ghc-options: -Wall
337
  default-extensions: CPP
338
  default-language: Haskell98