Cabal.cabal 16.5 KB
Newer Older
1
name: Cabal
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
2
version: 1.25.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
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
28
  doc/Cabal.css doc/developing-packages.markdown doc/index.markdown
tibbe's avatar
tibbe committed
29
30
  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
38
  tests/PackageTests/AllowNewer/AllowNewer.cabal
  tests/PackageTests/AllowNewer/benchmarks/Bench.hs
  tests/PackageTests/AllowNewer/src/Foo.hs
  tests/PackageTests/AllowNewer/tests/Test.hs
39
40
41
  tests/PackageTests/BenchmarkExeV10/Foo.hs
  tests/PackageTests/BenchmarkExeV10/benchmarks/bench-Foo.hs
  tests/PackageTests/BenchmarkExeV10/my.cabal
42
  tests/PackageTests/BenchmarkOptions/BenchmarkOptions.cabal
43
44
  tests/PackageTests/BenchmarkOptions/test-BenchmarkOptions.hs
  tests/PackageTests/BenchmarkStanza/my.cabal
45
  tests/PackageTests/BuildAssumeDepsUpToDate/BuildAssumeDepsUpToDate.cabal
46
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive1/GlobalBuildDepsNotAdditive1.cabal
47
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive1/MyLibrary.hs
48
49
50
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive2/GlobalBuildDepsNotAdditive2.cabal
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive2/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary0/MyLibrary.hs
51
  tests/PackageTests/BuildDeps/InternalLibrary0/my.cabal
52
53
  tests/PackageTests/BuildDeps/InternalLibrary0/programs/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary1/MyLibrary.hs
54
  tests/PackageTests/BuildDeps/InternalLibrary1/my.cabal
55
56
  tests/PackageTests/BuildDeps/InternalLibrary1/programs/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary2/MyLibrary.hs
57
  tests/PackageTests/BuildDeps/InternalLibrary2/my.cabal
58
  tests/PackageTests/BuildDeps/InternalLibrary2/programs/lemon.hs
59
60
  tests/PackageTests/BuildDeps/InternalLibrary2/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary2/to-install/my.cabal
61
  tests/PackageTests/BuildDeps/InternalLibrary3/MyLibrary.hs
62
  tests/PackageTests/BuildDeps/InternalLibrary3/my.cabal
63
  tests/PackageTests/BuildDeps/InternalLibrary3/programs/lemon.hs
64
65
  tests/PackageTests/BuildDeps/InternalLibrary3/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary3/to-install/my.cabal
66
  tests/PackageTests/BuildDeps/InternalLibrary4/MyLibrary.hs
67
  tests/PackageTests/BuildDeps/InternalLibrary4/my.cabal
68
  tests/PackageTests/BuildDeps/InternalLibrary4/programs/lemon.hs
69
70
71
  tests/PackageTests/BuildDeps/InternalLibrary4/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary4/to-install/my.cabal
  tests/PackageTests/BuildDeps/SameDepsAllRound/MyLibrary.hs
72
73
74
  tests/PackageTests/BuildDeps/SameDepsAllRound/SameDepsAllRound.cabal
  tests/PackageTests/BuildDeps/SameDepsAllRound/lemon.hs
  tests/PackageTests/BuildDeps/SameDepsAllRound/pineapple.hs
75
76
77
78
79
80
81
82
83
  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
84
  tests/PackageTests/BuildTestSuiteDetailedV09/Dummy2.hs
85
86
  tests/PackageTests/BuildableField/BuildableField.cabal
  tests/PackageTests/BuildableField/Main.hs
87
88
89
  tests/PackageTests/CMain/Bar.hs
  tests/PackageTests/CMain/foo.c
  tests/PackageTests/CMain/my.cabal
90
91
92
  tests/PackageTests/Configure/A.hs
  tests/PackageTests/Configure/Setup.hs
  tests/PackageTests/Configure/X11.cabal
93
94
  tests/PackageTests/CopyAssumeDepsUpToDate/CopyAssumeDepsUpToDate.cabal
  tests/PackageTests/CopyAssumeDepsUpToDate/Main.hs
95
96
97
98
99
100
  tests/PackageTests/CopyComponent/Exe/Main.hs
  tests/PackageTests/CopyComponent/Exe/Main2.hs
  tests/PackageTests/CopyComponent/Exe/myprog.cabal
  tests/PackageTests/CopyComponent/Lib/Main.hs
  tests/PackageTests/CopyComponent/Lib/p.cabal
  tests/PackageTests/CopyComponent/Lib/src/P.hs
101
102
103
104
  tests/PackageTests/CustomPreProcess/Hello.hs
  tests/PackageTests/CustomPreProcess/MyCustomPreprocessor.hs
  tests/PackageTests/CustomPreProcess/Setup.hs
  tests/PackageTests/CustomPreProcess/internal-preprocessor-test.cabal
105
106
  tests/PackageTests/DeterministicAr/Lib.hs
  tests/PackageTests/DeterministicAr/my.cabal
107
108
109
110
  tests/PackageTests/DuplicateModuleName/DuplicateModuleName.cabal
  tests/PackageTests/DuplicateModuleName/src/Foo.hs
  tests/PackageTests/DuplicateModuleName/tests/Foo.hs
  tests/PackageTests/DuplicateModuleName/tests2/Foo.hs
111
  tests/PackageTests/EmptyLib/empty/empty.cabal
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
  tests/PackageTests/GhcPkgGuess/SameDirectory/SameDirectory.cabal
  tests/PackageTests/GhcPkgGuess/SameDirectory/ghc
  tests/PackageTests/GhcPkgGuess/SameDirectory/ghc-pkg
  tests/PackageTests/GhcPkgGuess/SameDirectoryGhcVersion/SameDirectory.cabal
  tests/PackageTests/GhcPkgGuess/SameDirectoryGhcVersion/ghc-7.10
  tests/PackageTests/GhcPkgGuess/SameDirectoryGhcVersion/ghc-pkg-ghc-7.10
  tests/PackageTests/GhcPkgGuess/SameDirectoryVersion/SameDirectory.cabal
  tests/PackageTests/GhcPkgGuess/SameDirectoryVersion/ghc-7.10
  tests/PackageTests/GhcPkgGuess/SameDirectoryVersion/ghc-pkg-7.10
  tests/PackageTests/GhcPkgGuess/Symlink/SameDirectory.cabal
  tests/PackageTests/GhcPkgGuess/Symlink/bin/ghc
  tests/PackageTests/GhcPkgGuess/Symlink/bin/ghc-pkg
  tests/PackageTests/GhcPkgGuess/SymlinkGhcVersion/SameDirectory.cabal
  tests/PackageTests/GhcPkgGuess/SymlinkGhcVersion/bin/ghc-7.10
  tests/PackageTests/GhcPkgGuess/SymlinkGhcVersion/bin/ghc-pkg-7.10
  tests/PackageTests/GhcPkgGuess/SymlinkVersion/SameDirectory.cabal
  tests/PackageTests/GhcPkgGuess/SymlinkVersion/bin/ghc-7.10
  tests/PackageTests/GhcPkgGuess/SymlinkVersion/bin/ghc-pkg-ghc-7.10
130
131
  tests/PackageTests/Haddock/CPP.hs
  tests/PackageTests/Haddock/Literate.lhs
132
  tests/PackageTests/Haddock/NoCPP.hs
133
  tests/PackageTests/Haddock/Simple.hs
134
  tests/PackageTests/Haddock/my.cabal
Edward Z. Yang's avatar
Edward Z. Yang committed
135
136
137
  tests/PackageTests/HaddockNewline/A.hs
  tests/PackageTests/HaddockNewline/HaddockNewline.cabal
  tests/PackageTests/HaddockNewline/Setup.hs
138
139
140
141
142
143
144
145
146
147
148
149
150
151
  tests/PackageTests/InternalLibraries/Executable/exe/Main.hs
  tests/PackageTests/InternalLibraries/Executable/foo.cabal
  tests/PackageTests/InternalLibraries/Executable/src/Foo.hs
  tests/PackageTests/InternalLibraries/Library/fooexe/Main.hs
  tests/PackageTests/InternalLibraries/Library/fooexe/fooexe.cabal
  tests/PackageTests/InternalLibraries/Library/foolib/Foo.hs
  tests/PackageTests/InternalLibraries/Library/foolib/foolib.cabal
  tests/PackageTests/InternalLibraries/Library/foolib/private/Internal.hs
  tests/PackageTests/InternalLibraries/p/Foo.hs
  tests/PackageTests/InternalLibraries/p/p.cabal
  tests/PackageTests/InternalLibraries/p/p/P.hs
  tests/PackageTests/InternalLibraries/p/q/Q.hs
  tests/PackageTests/InternalLibraries/q/Q.hs
  tests/PackageTests/InternalLibraries/q/q.cabal
152
153
  tests/PackageTests/InternalLibraries/r/R.hs
  tests/PackageTests/InternalLibraries/r/r.cabal
154
155
156
157
158
  tests/PackageTests/Macros/A.hs
  tests/PackageTests/Macros/B.hs
  tests/PackageTests/Macros/Main.hs
  tests/PackageTests/Macros/macros.cabal
  tests/PackageTests/Macros/src/C.hs
159
  tests/PackageTests/Options.hs
160
161
  tests/PackageTests/OrderFlags/Foo.hs
  tests/PackageTests/OrderFlags/my.cabal
162
163
164
  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
165
  tests/PackageTests/PreProcess/Foo.hsc
166
  tests/PackageTests/PreProcess/Main.hs
167
  tests/PackageTests/PreProcess/my.cabal
168
169
170
  tests/PackageTests/PreProcessExtraSources/Foo.hsc
  tests/PackageTests/PreProcessExtraSources/Main.hs
  tests/PackageTests/PreProcessExtraSources/my.cabal
171
  tests/PackageTests/ReexportedModules/ReexportedModules.cabal
172
173
174
  tests/PackageTests/RegisterAssumeDepsUpToDate/P.hs
  tests/PackageTests/RegisterAssumeDepsUpToDate/RegisterOneShot.cabal
  tests/PackageTests/RegisterAssumeDepsUpToDate/q/Q.hs
175
  tests/PackageTests/Regression/T3294/T3294.cabal
176
177
178
179
180
181
182
183
  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
184
185
186
187
  tests/PackageTests/TemplateHaskell/vanilla/Exe.hs
  tests/PackageTests/TemplateHaskell/vanilla/Lib.hs
  tests/PackageTests/TemplateHaskell/vanilla/TH.hs
  tests/PackageTests/TemplateHaskell/vanilla/my.cabal
188
189
190
191
192
  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
193
194
  tests/PackageTests/TestOptions/TestOptions.cabal
  tests/PackageTests/TestOptions/test-TestOptions.hs
195
  tests/PackageTests/TestStanza/my.cabal
ttuegel's avatar
ttuegel committed
196
197
  tests/PackageTests/TestSuiteTests/ExeV10/Foo.hs
  tests/PackageTests/TestSuiteTests/ExeV10/my.cabal
198
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Foo.hs
199
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Short.hs
200
  tests/PackageTests/TestSuiteTests/LibV09/Lib.hs
201
  tests/PackageTests/TestSuiteTests/LibV09/LibV09.cabal
202
  tests/PackageTests/TestSuiteTests/LibV09/tests/Deadlock.hs
203
  tests/PackageTests/Tests.hs
204
205
206
207
  tests/PackageTests/UniqueIPID/P1/M.hs
  tests/PackageTests/UniqueIPID/P1/my.cabal
  tests/PackageTests/UniqueIPID/P2/M.hs
  tests/PackageTests/UniqueIPID/P2/my.cabal
208
  tests/PackageTests/multInst/my.cabal
209
210
211
  tests/Setup.hs
  tests/hackage/check.sh
  tests/hackage/download.sh
212
213
  tests/hackage/unpack.sh
  tests/misc/ghc-supported-languages.hs
214
  -- END gen-extra-source-files
215

216
source-repository head
217
218
  type:     git
  location: https://github.com/haskell/cabal/
219
  subdir:   Cabal
220

221
222
223
flag bundled-binary-generic
  default: False

224
225
226
227
flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

228
library
229
  build-depends:
230
231
232
233
    array      >= 0.1 && < 0.6,
    base       >= 4.5 && < 5,
    bytestring >= 0.9 && < 1,
    containers >= 0.4 && < 0.6,
234
    deepseq    >= 1.3 && < 1.5,
235
236
    filepath   >= 1.3 && < 1.5,
    pretty     >= 1.1 && < 1.2,
237
    process    >= 1.1.0.1 && < 1.5,
238
    time       >= 1.4 && < 1.7
239

240
241
242
243
244
245
246
  if flag(old-directory)
    build-depends: directory >= 1.1 && < 1.2, old-time >= 1 && < 1.2,
                   process   >= 1.0.1.1  && < 1.1.0.2
  else
    build-depends: directory >= 1.2 && < 1.3,
                   process   >= 1.1.0.2  && < 1.5

247
248
249
  if flag(bundled-binary-generic)
    build-depends: binary >= 0.5 && < 0.7
  else
250
    build-depends: binary >= 0.7 && < 0.9
251

ttuegel's avatar
ttuegel committed
252
253
254
255
  -- Needed for GHC.Generics before GHC 7.6
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

256
  if !os(windows)
257
    build-depends:
258
      unix >= 2.5 && < 2.8
259

Ben Gamari's avatar
Ben Gamari committed
260
261
262
263
  if os(windows)
    build-depends:
      Win32 >= 2.2 && < 2.4

264
  ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs
265
  if impl(ghc >= 8.0)
266
267
    ghc-options: -Wcompat -Wnoncanonical-monad-instances
                 -Wnoncanonical-monadfail-instances
268

269
  exposed-modules:
ttuegel's avatar
ttuegel committed
270
    Distribution.Compat.CreatePipe
271
    Distribution.Compat.Environment
272
    Distribution.Compat.Exception
273
    Distribution.Compat.Internal.TempFile
274
    Distribution.Compat.ReadP
275
    Distribution.Compat.Semigroup
276
    Distribution.Compat.Time
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
    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
303
    Distribution.Simple.GHCJS
304
    Distribution.Simple.Haddock
305
    Distribution.Simple.HaskellSuite
306
307
308
309
310
311
312
313
314
315
316
317
318
    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
319
    Distribution.Simple.Program.Find
320
321
322
    Distribution.Simple.Program.GHC
    Distribution.Simple.Program.HcPkg
    Distribution.Simple.Program.Hpc
323
    Distribution.Simple.Program.Internal
324
325
326
    Distribution.Simple.Program.Ld
    Distribution.Simple.Program.Run
    Distribution.Simple.Program.Script
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
327
    Distribution.Simple.Program.Strip
328
329
330
331
332
    Distribution.Simple.Program.Types
    Distribution.Simple.Register
    Distribution.Simple.Setup
    Distribution.Simple.SrcDist
    Distribution.Simple.Test
ttuegel's avatar
ttuegel committed
333
334
335
    Distribution.Simple.Test.ExeV10
    Distribution.Simple.Test.LibV09
    Distribution.Simple.Test.Log
336
337
338
339
340
341
    Distribution.Simple.UHC
    Distribution.Simple.UserHooks
    Distribution.Simple.Utils
    Distribution.System
    Distribution.TestSuite
    Distribution.Text
342
    Distribution.Utils.NubList
343
344
    Distribution.Verbosity
    Distribution.Version
345
    Language.Haskell.Extension
346
    Distribution.Compat.Binary
347

348
  other-modules:
349
    Distribution.Compat.CopyFile
350
    Distribution.Compat.GetShortPathName
351
    Distribution.Compat.MonadFail
352
    Distribution.GetOpt
353
    Distribution.Lex
354
    Distribution.Simple.GHC.Internal
355
    Distribution.Simple.GHC.IPI642
356
    Distribution.Simple.GHC.IPIConvert
357
    Distribution.Simple.GHC.ImplInfo
358
    Paths_Cabal
359

360
361
362
363
364
  if flag(bundled-binary-generic)
    other-modules:
      Distribution.Compat.Binary.Class
      Distribution.Compat.Binary.Generic

365
  default-language: Haskell98
366

367
-- Small, fast running tests.
368
369
test-suite unit-tests
  type: exitcode-stdio-1.0
370
  hs-source-dirs: tests
371
  other-modules:
372
373
    Test.Laws
    Test.QuickCheck.Utils
374
375
    UnitTests.Distribution.Compat.CreatePipe
    UnitTests.Distribution.Compat.ReadP
376
    UnitTests.Distribution.Compat.Time
377
    UnitTests.Distribution.Simple.Program.Internal
378
    UnitTests.Distribution.Simple.Utils
379
    UnitTests.Distribution.System
380
    UnitTests.Distribution.Utils.NubList
381
    UnitTests.Distribution.Version
382
  main-is: UnitTests.hs
383
  build-depends:
384
    base,
385
    directory,
386
    filepath,
387
388
389
    tasty,
    tasty-hunit,
    tasty-quickcheck,
390
    tagged,
391
    pretty,
kristenk's avatar
kristenk committed
392
    QuickCheck >= 2.7 && < 2.9,
393
    Cabal
tibbe's avatar
tibbe committed
394
  ghc-options: -Wall
395
  default-language: Haskell98
396
397
398
399
400

-- Large, system tests that build packages.
test-suite package-tests
  type: exitcode-stdio-1.0
  main-is: PackageTests.hs
401
  other-modules:
402
403
    PackageTests.BenchmarkStanza.Check
    PackageTests.TestStanza.Check
404
    PackageTests.DeterministicAr.Check
ttuegel's avatar
ttuegel committed
405
    PackageTests.TestSuiteTests.ExeV10.Check
406
    PackageTests.PackageTester
407
408
  hs-source-dirs: tests
  build-depends:
409
    base,
410
    containers,
411
    tagged,
412
413
    tasty,
    tasty-hunit,
414
    transformers,
415
    time,
416
417
418
419
    Cabal,
    process,
    directory,
    filepath,
420
    bytestring,
421
422
    regex-posix,
    old-time
tibbe's avatar
tibbe committed
423
  if !os(windows)
424
    build-depends: unix, exceptions
425
  ghc-options: -Wall -rtsopts
426
  default-extensions: CPP
427
  default-language: Haskell98