Cabal.cabal 12.6 KB
Newer Older
1
name: Cabal
2
version: 1.23.1.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
23
24
build-type: Simple
-- If we use a new Cabal feature, this needs to be changed to Custom so
-- we can bootstrap.
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
33
34
  -- Generated with 'misc/gen-extra-source-files.sh'
  -- Do NOT edit this section manually; instead, run the script.
  -- BEGIN gen-extra-source-files
35
36
37
  tests/PackageTests/BenchmarkExeV10/Foo.hs
  tests/PackageTests/BenchmarkExeV10/benchmarks/bench-Foo.hs
  tests/PackageTests/BenchmarkExeV10/my.cabal
38
  tests/PackageTests/BenchmarkOptions/BenchmarkOptions.cabal
39
40
  tests/PackageTests/BenchmarkOptions/test-BenchmarkOptions.hs
  tests/PackageTests/BenchmarkStanza/my.cabal
41
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive1/GlobalBuildDepsNotAdditive1.cabal
42
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive1/MyLibrary.hs
43
44
45
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive2/GlobalBuildDepsNotAdditive2.cabal
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive2/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary0/MyLibrary.hs
46
  tests/PackageTests/BuildDeps/InternalLibrary0/my.cabal
47
48
  tests/PackageTests/BuildDeps/InternalLibrary0/programs/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary1/MyLibrary.hs
49
  tests/PackageTests/BuildDeps/InternalLibrary1/my.cabal
50
51
  tests/PackageTests/BuildDeps/InternalLibrary1/programs/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary2/MyLibrary.hs
52
  tests/PackageTests/BuildDeps/InternalLibrary2/my.cabal
53
  tests/PackageTests/BuildDeps/InternalLibrary2/programs/lemon.hs
54
55
  tests/PackageTests/BuildDeps/InternalLibrary2/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary2/to-install/my.cabal
56
  tests/PackageTests/BuildDeps/InternalLibrary3/MyLibrary.hs
57
  tests/PackageTests/BuildDeps/InternalLibrary3/my.cabal
58
  tests/PackageTests/BuildDeps/InternalLibrary3/programs/lemon.hs
59
60
  tests/PackageTests/BuildDeps/InternalLibrary3/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary3/to-install/my.cabal
61
  tests/PackageTests/BuildDeps/InternalLibrary4/MyLibrary.hs
62
  tests/PackageTests/BuildDeps/InternalLibrary4/my.cabal
63
  tests/PackageTests/BuildDeps/InternalLibrary4/programs/lemon.hs
64
65
66
  tests/PackageTests/BuildDeps/InternalLibrary4/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary4/to-install/my.cabal
  tests/PackageTests/BuildDeps/SameDepsAllRound/MyLibrary.hs
67
68
69
  tests/PackageTests/BuildDeps/SameDepsAllRound/SameDepsAllRound.cabal
  tests/PackageTests/BuildDeps/SameDepsAllRound/lemon.hs
  tests/PackageTests/BuildDeps/SameDepsAllRound/pineapple.hs
70
71
72
73
74
75
76
77
78
  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
79
  tests/PackageTests/BuildTestSuiteDetailedV09/Dummy2.hs
80
81
  tests/PackageTests/BuildableField/BuildableField.cabal
  tests/PackageTests/BuildableField/Main.hs
82
83
84
  tests/PackageTests/CMain/Bar.hs
  tests/PackageTests/CMain/foo.c
  tests/PackageTests/CMain/my.cabal
85
86
  tests/PackageTests/DeterministicAr/Lib.hs
  tests/PackageTests/DeterministicAr/my.cabal
87
88
89
90
  tests/PackageTests/DuplicateModuleName/DuplicateModuleName.cabal
  tests/PackageTests/DuplicateModuleName/src/Foo.hs
  tests/PackageTests/DuplicateModuleName/tests/Foo.hs
  tests/PackageTests/DuplicateModuleName/tests2/Foo.hs
91
  tests/PackageTests/EmptyLib/empty/empty.cabal
92
93
  tests/PackageTests/Haddock/CPP.hs
  tests/PackageTests/Haddock/Literate.lhs
94
  tests/PackageTests/Haddock/NoCPP.hs
95
  tests/PackageTests/Haddock/Simple.hs
96
  tests/PackageTests/Haddock/my.cabal
Edward Z. Yang's avatar
Edward Z. Yang committed
97
98
99
  tests/PackageTests/HaddockNewline/A.hs
  tests/PackageTests/HaddockNewline/HaddockNewline.cabal
  tests/PackageTests/HaddockNewline/Setup.hs
100
101
  tests/PackageTests/OrderFlags/Foo.hs
  tests/PackageTests/OrderFlags/my.cabal
102
103
104
  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
105
  tests/PackageTests/PreProcess/Foo.hsc
106
  tests/PackageTests/PreProcess/Main.hs
107
  tests/PackageTests/PreProcess/my.cabal
108
109
110
  tests/PackageTests/PreProcessExtraSources/Foo.hsc
  tests/PackageTests/PreProcessExtraSources/Main.hs
  tests/PackageTests/PreProcessExtraSources/my.cabal
111
  tests/PackageTests/ReexportedModules/ReexportedModules.cabal
112
113
114
115
116
117
118
119
  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
120
121
122
123
  tests/PackageTests/TemplateHaskell/vanilla/Exe.hs
  tests/PackageTests/TemplateHaskell/vanilla/Lib.hs
  tests/PackageTests/TemplateHaskell/vanilla/TH.hs
  tests/PackageTests/TemplateHaskell/vanilla/my.cabal
124
125
126
127
128
  tests/PackageTests/TestNameCollision/child/Child.hs
  tests/PackageTests/TestNameCollision/child/child.cabal
  tests/PackageTests/TestNameCollision/child/tests/Test.hs
  tests/PackageTests/TestNameCollision/parent/Parent.hs
  tests/PackageTests/TestNameCollision/parent/parent.cabal
129
130
  tests/PackageTests/TestOptions/TestOptions.cabal
  tests/PackageTests/TestOptions/test-TestOptions.hs
131
  tests/PackageTests/TestStanza/my.cabal
ttuegel's avatar
ttuegel committed
132
133
  tests/PackageTests/TestSuiteTests/ExeV10/Foo.hs
  tests/PackageTests/TestSuiteTests/ExeV10/my.cabal
134
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Foo.hs
135
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Short.hs
136
  tests/PackageTests/TestSuiteTests/LibV09/Lib.hs
137
  tests/PackageTests/TestSuiteTests/LibV09/LibV09.cabal
138
  tests/PackageTests/TestSuiteTests/LibV09/tests/Deadlock.hs
139
  tests/PackageTests/Tests.hs
140
141
142
143
  tests/PackageTests/UniqueIPID/P1/M.hs
  tests/PackageTests/UniqueIPID/P1/my.cabal
  tests/PackageTests/UniqueIPID/P2/M.hs
  tests/PackageTests/UniqueIPID/P2/my.cabal
144
  tests/PackageTests/multInst/my.cabal
145
  tests/Setup.hs
146
147
148
  tests/Test/Distribution/Version.hs
  tests/Test/Laws.hs
  tests/Test/QuickCheck/Utils.hs
149
150
  tests/hackage/check.sh
  tests/hackage/download.sh
151
152
  tests/hackage/unpack.sh
  tests/misc/ghc-supported-languages.hs
153
  -- END gen-extra-source-files
154

155
source-repository head
156
157
  type:     git
  location: https://github.com/haskell/cabal/
158
  subdir:   Cabal
159

160
161
162
flag bundled-binary-generic
  default: False

163
library
164
  build-depends:
165
166
167
168
    array      >= 0.1 && < 0.6,
    base       >= 4.5 && < 5,
    bytestring >= 0.9 && < 1,
    containers >= 0.4 && < 0.6,
169
    deepseq    >= 1.3 && < 1.5,
170
171
172
    directory  >= 1.1 && < 1.3,
    filepath   >= 1.3 && < 1.5,
    pretty     >= 1.1 && < 1.2,
173
    process    >= 1.1.0.1 && < 1.5,
174
    time       >= 1.4 && < 1.7
175

176
177
178
  if flag(bundled-binary-generic)
    build-depends: binary >= 0.5 && < 0.7
  else
179
    build-depends: binary >= 0.7 && < 0.9
180

ttuegel's avatar
ttuegel committed
181
182
183
184
  -- Needed for GHC.Generics before GHC 7.6
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

185
  if !os(windows)
186
    build-depends:
187
      unix >= 2.5 && < 2.8
188

Ben Gamari's avatar
Ben Gamari committed
189
190
191
192
  if os(windows)
    build-depends:
      Win32 >= 2.2 && < 2.4

193
  ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs
194

195
  hs-source-dirs: src
196
  exposed-modules:
ttuegel's avatar
ttuegel committed
197
    Distribution.Compat.CreatePipe
198
    Distribution.Compat.Environment
199
    Distribution.Compat.Exception
200
    Distribution.Compat.Internal.TempFile
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
    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
228
    Distribution.Simple.GHCJS
229
    Distribution.Simple.Haddock
230
    Distribution.Simple.HaskellSuite
231
232
233
234
235
236
237
238
239
240
241
242
243
    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
244
    Distribution.Simple.Program.Find
245
246
247
    Distribution.Simple.Program.GHC
    Distribution.Simple.Program.HcPkg
    Distribution.Simple.Program.Hpc
248
    Distribution.Simple.Program.Internal
249
250
251
    Distribution.Simple.Program.Ld
    Distribution.Simple.Program.Run
    Distribution.Simple.Program.Script
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
252
    Distribution.Simple.Program.Strip
253
254
255
256
257
    Distribution.Simple.Program.Types
    Distribution.Simple.Register
    Distribution.Simple.Setup
    Distribution.Simple.SrcDist
    Distribution.Simple.Test
ttuegel's avatar
ttuegel committed
258
259
260
    Distribution.Simple.Test.ExeV10
    Distribution.Simple.Test.LibV09
    Distribution.Simple.Test.Log
261
262
263
264
265
266
    Distribution.Simple.UHC
    Distribution.Simple.UserHooks
    Distribution.Simple.Utils
    Distribution.System
    Distribution.TestSuite
    Distribution.Text
267
    Distribution.Utils.NubList
268
269
    Distribution.Verbosity
    Distribution.Version
270
    Language.Haskell.Extension
271

272
  other-modules:
273
    Distribution.Compat.Binary
274
    Distribution.Compat.CopyFile
275
    Distribution.Compat.Semigroup
276
    Distribution.GetOpt
277
    Distribution.Lex
278
    Distribution.Simple.GHC.Internal
279
    Distribution.Simple.GHC.IPI642
280
    Distribution.Simple.GHC.IPIConvert
281
    Distribution.Simple.GHC.ImplInfo
282
    Paths_Cabal
283

284
285
286
287
288
  if flag(bundled-binary-generic)
    other-modules:
      Distribution.Compat.Binary.Class
      Distribution.Compat.Binary.Generic

289
  default-language: Haskell98
290
291
292
  -- starting with GHC 7.0, rely on {-# LANGUAGE CPP #-} instead
  if !impl(ghc >= 7.0)
    default-extensions: CPP
293

294
-- Small, fast running tests.
295
296
test-suite unit-tests
  type: exitcode-stdio-1.0
297
  hs-source-dirs: tests
298
299
300
  other-modules:
    UnitTests.Distribution.Compat.CreatePipe
    UnitTests.Distribution.Compat.ReadP
301
    UnitTests.Distribution.Simple.Program.Internal
302
    UnitTests.Distribution.Utils.NubList
303
    UnitTests.Distribution.System
304
  main-is: UnitTests.hs
305
  build-depends:
306
    base,
307
308
309
    tasty,
    tasty-hunit,
    tasty-quickcheck,
310
    pretty,
311
    QuickCheck < 2.9,
312
    Cabal
tibbe's avatar
tibbe committed
313
  ghc-options: -Wall
314
  default-language: Haskell98
315
316
317
318
319

-- Large, system tests that build packages.
test-suite package-tests
  type: exitcode-stdio-1.0
  main-is: PackageTests.hs
320
  other-modules:
321
322
    PackageTests.BenchmarkStanza.Check
    PackageTests.TestStanza.Check
323
    PackageTests.DeterministicAr.Check
ttuegel's avatar
ttuegel committed
324
    PackageTests.TestSuiteTests.ExeV10.Check
325
    PackageTests.PackageTester
326
327
328
    Test.Distribution.Version
    Test.Laws
    Test.QuickCheck.Utils
329
330
  hs-source-dirs: tests
  build-depends:
331
    base,
332
    containers,
333
334
335
336
    tasty,
    tasty-quickcheck,
    tasty-hunit,
    QuickCheck >= 2.1.0.1 && < 2.9,
337
    transformers,
338
339
340
341
    Cabal,
    process,
    directory,
    filepath,
342
    bytestring,
343
344
    regex-posix,
    old-time
tibbe's avatar
tibbe committed
345
346
  if !os(windows)
    build-depends: unix
347
  ghc-options: -Wall -rtsopts
348
  default-extensions: CPP
349
  default-language: Haskell98