Cabal.cabal 15.9 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
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
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/BuildDeps/GlobalBuildDepsNotAdditive1/GlobalBuildDepsNotAdditive1.cabal
46
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive1/MyLibrary.hs
47
48
49
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive2/GlobalBuildDepsNotAdditive2.cabal
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive2/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary0/MyLibrary.hs
50
  tests/PackageTests/BuildDeps/InternalLibrary0/my.cabal
51
52
  tests/PackageTests/BuildDeps/InternalLibrary0/programs/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary1/MyLibrary.hs
53
  tests/PackageTests/BuildDeps/InternalLibrary1/my.cabal
54
55
  tests/PackageTests/BuildDeps/InternalLibrary1/programs/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary2/MyLibrary.hs
56
  tests/PackageTests/BuildDeps/InternalLibrary2/my.cabal
57
  tests/PackageTests/BuildDeps/InternalLibrary2/programs/lemon.hs
58
59
  tests/PackageTests/BuildDeps/InternalLibrary2/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary2/to-install/my.cabal
60
  tests/PackageTests/BuildDeps/InternalLibrary3/MyLibrary.hs
61
  tests/PackageTests/BuildDeps/InternalLibrary3/my.cabal
62
  tests/PackageTests/BuildDeps/InternalLibrary3/programs/lemon.hs
63
64
  tests/PackageTests/BuildDeps/InternalLibrary3/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary3/to-install/my.cabal
65
  tests/PackageTests/BuildDeps/InternalLibrary4/MyLibrary.hs
66
  tests/PackageTests/BuildDeps/InternalLibrary4/my.cabal
67
  tests/PackageTests/BuildDeps/InternalLibrary4/programs/lemon.hs
68
69
70
  tests/PackageTests/BuildDeps/InternalLibrary4/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary4/to-install/my.cabal
  tests/PackageTests/BuildDeps/SameDepsAllRound/MyLibrary.hs
71
72
73
  tests/PackageTests/BuildDeps/SameDepsAllRound/SameDepsAllRound.cabal
  tests/PackageTests/BuildDeps/SameDepsAllRound/lemon.hs
  tests/PackageTests/BuildDeps/SameDepsAllRound/pineapple.hs
74
75
76
77
78
79
80
81
82
  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
83
  tests/PackageTests/BuildTestSuiteDetailedV09/Dummy2.hs
84
85
  tests/PackageTests/BuildableField/BuildableField.cabal
  tests/PackageTests/BuildableField/Main.hs
86
87
88
  tests/PackageTests/CMain/Bar.hs
  tests/PackageTests/CMain/foo.c
  tests/PackageTests/CMain/my.cabal
89
90
91
92
93
94
95
96
97
  tests/PackageTests/Configure/A.hs
  tests/PackageTests/Configure/Setup.hs
  tests/PackageTests/Configure/X11.cabal
  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
98
99
100
101
  tests/PackageTests/CustomPreProcess/Hello.hs
  tests/PackageTests/CustomPreProcess/MyCustomPreprocessor.hs
  tests/PackageTests/CustomPreProcess/Setup.hs
  tests/PackageTests/CustomPreProcess/internal-preprocessor-test.cabal
102
103
  tests/PackageTests/DeterministicAr/Lib.hs
  tests/PackageTests/DeterministicAr/my.cabal
104
105
106
107
  tests/PackageTests/DuplicateModuleName/DuplicateModuleName.cabal
  tests/PackageTests/DuplicateModuleName/src/Foo.hs
  tests/PackageTests/DuplicateModuleName/tests/Foo.hs
  tests/PackageTests/DuplicateModuleName/tests2/Foo.hs
108
  tests/PackageTests/EmptyLib/empty/empty.cabal
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
  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
127
128
  tests/PackageTests/Haddock/CPP.hs
  tests/PackageTests/Haddock/Literate.lhs
129
  tests/PackageTests/Haddock/NoCPP.hs
130
  tests/PackageTests/Haddock/Simple.hs
131
  tests/PackageTests/Haddock/my.cabal
Edward Z. Yang's avatar
Edward Z. Yang committed
132
133
134
  tests/PackageTests/HaddockNewline/A.hs
  tests/PackageTests/HaddockNewline/HaddockNewline.cabal
  tests/PackageTests/HaddockNewline/Setup.hs
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
  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
  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
154
  tests/PackageTests/Options.hs
155
156
  tests/PackageTests/OrderFlags/Foo.hs
  tests/PackageTests/OrderFlags/my.cabal
157
158
159
  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
160
  tests/PackageTests/PreProcess/Foo.hsc
161
  tests/PackageTests/PreProcess/Main.hs
162
  tests/PackageTests/PreProcess/my.cabal
163
164
165
  tests/PackageTests/PreProcessExtraSources/Foo.hsc
  tests/PackageTests/PreProcessExtraSources/Main.hs
  tests/PackageTests/PreProcessExtraSources/my.cabal
166
  tests/PackageTests/ReexportedModules/ReexportedModules.cabal
167
168
169
170
171
172
173
174
  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
175
176
177
178
  tests/PackageTests/TemplateHaskell/vanilla/Exe.hs
  tests/PackageTests/TemplateHaskell/vanilla/Lib.hs
  tests/PackageTests/TemplateHaskell/vanilla/TH.hs
  tests/PackageTests/TemplateHaskell/vanilla/my.cabal
179
180
181
182
183
  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
184
185
  tests/PackageTests/TestOptions/TestOptions.cabal
  tests/PackageTests/TestOptions/test-TestOptions.hs
186
  tests/PackageTests/TestStanza/my.cabal
ttuegel's avatar
ttuegel committed
187
188
  tests/PackageTests/TestSuiteTests/ExeV10/Foo.hs
  tests/PackageTests/TestSuiteTests/ExeV10/my.cabal
189
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Foo.hs
190
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Short.hs
191
  tests/PackageTests/TestSuiteTests/LibV09/Lib.hs
192
  tests/PackageTests/TestSuiteTests/LibV09/LibV09.cabal
193
  tests/PackageTests/TestSuiteTests/LibV09/tests/Deadlock.hs
194
  tests/PackageTests/Tests.hs
195
196
197
198
  tests/PackageTests/UniqueIPID/P1/M.hs
  tests/PackageTests/UniqueIPID/P1/my.cabal
  tests/PackageTests/UniqueIPID/P2/M.hs
  tests/PackageTests/UniqueIPID/P2/my.cabal
199
  tests/PackageTests/multInst/my.cabal
200
201
202
  tests/Setup.hs
  tests/hackage/check.sh
  tests/hackage/download.sh
203
204
  tests/hackage/unpack.sh
  tests/misc/ghc-supported-languages.hs
205
  -- END gen-extra-source-files
206

207
source-repository head
208
209
  type:     git
  location: https://github.com/haskell/cabal/
210
  subdir:   Cabal
211

212
213
214
flag bundled-binary-generic
  default: False

215
216
217
218
flag old-directory
  description:  Use directory < 1.2 and old-time
  default:      False

219
library
220
  build-depends:
221
222
223
224
    array      >= 0.1 && < 0.6,
    base       >= 4.5 && < 5,
    bytestring >= 0.9 && < 1,
    containers >= 0.4 && < 0.6,
225
    deepseq    >= 1.3 && < 1.5,
226
227
    filepath   >= 1.3 && < 1.5,
    pretty     >= 1.1 && < 1.2,
228
    process    >= 1.1.0.1 && < 1.5,
229
    time       >= 1.4 && < 1.7
230

231
232
233
234
235
236
237
  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

238
239
240
  if flag(bundled-binary-generic)
    build-depends: binary >= 0.5 && < 0.7
  else
241
    build-depends: binary >= 0.7 && < 0.9
242

ttuegel's avatar
ttuegel committed
243
244
245
246
  -- Needed for GHC.Generics before GHC 7.6
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

247
  if !os(windows)
248
    build-depends:
249
      unix >= 2.5 && < 2.8
250

Ben Gamari's avatar
Ben Gamari committed
251
252
253
254
  if os(windows)
    build-depends:
      Win32 >= 2.2 && < 2.4

255
  ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs
256
  if impl(ghc >= 8.0)
257
258
    ghc-options: -Wcompat -Wnoncanonical-monad-instances
                 -Wnoncanonical-monadfail-instances
259

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

339
  other-modules:
340
    Distribution.Compat.CopyFile
341
    Distribution.Compat.MonadFail
342
    Distribution.GetOpt
343
    Distribution.Lex
344
    Distribution.Simple.GHC.Internal
345
    Distribution.Simple.GHC.IPI642
346
    Distribution.Simple.GHC.IPIConvert
347
    Distribution.Simple.GHC.ImplInfo
348
    Paths_Cabal
349

350
351
352
353
354
  if flag(bundled-binary-generic)
    other-modules:
      Distribution.Compat.Binary.Class
      Distribution.Compat.Binary.Generic

355
  default-language: Haskell98
356
357
358
  -- starting with GHC 7.0, rely on {-# LANGUAGE CPP #-} instead
  if !impl(ghc >= 7.0)
    default-extensions: CPP
359

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

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