Cabal.cabal 16.1 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/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
  tests/PackageTests/Regression/T3294/T3294.cabal
168
169
170
171
172
173
174
175
  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
176
177
178
179
  tests/PackageTests/TemplateHaskell/vanilla/Exe.hs
  tests/PackageTests/TemplateHaskell/vanilla/Lib.hs
  tests/PackageTests/TemplateHaskell/vanilla/TH.hs
  tests/PackageTests/TemplateHaskell/vanilla/my.cabal
180
181
182
183
184
  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
185
186
  tests/PackageTests/TestOptions/TestOptions.cabal
  tests/PackageTests/TestOptions/test-TestOptions.hs
187
  tests/PackageTests/TestStanza/my.cabal
ttuegel's avatar
ttuegel committed
188
189
  tests/PackageTests/TestSuiteTests/ExeV10/Foo.hs
  tests/PackageTests/TestSuiteTests/ExeV10/my.cabal
190
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Foo.hs
191
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Short.hs
192
  tests/PackageTests/TestSuiteTests/LibV09/Lib.hs
193
  tests/PackageTests/TestSuiteTests/LibV09/LibV09.cabal
194
  tests/PackageTests/TestSuiteTests/LibV09/tests/Deadlock.hs
195
  tests/PackageTests/Tests.hs
196
197
198
199
  tests/PackageTests/UniqueIPID/P1/M.hs
  tests/PackageTests/UniqueIPID/P1/my.cabal
  tests/PackageTests/UniqueIPID/P2/M.hs
  tests/PackageTests/UniqueIPID/P2/my.cabal
200
  tests/PackageTests/multInst/my.cabal
201
202
203
  tests/Setup.hs
  tests/hackage/check.sh
  tests/hackage/download.sh
204
205
  tests/hackage/unpack.sh
  tests/misc/ghc-supported-languages.hs
206
  -- END gen-extra-source-files
207

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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