Cabal.cabal 15.6 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
library
216
  build-depends:
217
218
219
220
    array      >= 0.1 && < 0.6,
    base       >= 4.5 && < 5,
    bytestring >= 0.9 && < 1,
    containers >= 0.4 && < 0.6,
221
    deepseq    >= 1.3 && < 1.5,
222
223
224
    directory  >= 1.1 && < 1.3,
    filepath   >= 1.3 && < 1.5,
    pretty     >= 1.1 && < 1.2,
225
    process    >= 1.1.0.1 && < 1.5,
226
    time       >= 1.4 && < 1.7
227

228
229
230
  if flag(bundled-binary-generic)
    build-depends: binary >= 0.5 && < 0.7
  else
231
    build-depends: binary >= 0.7 && < 0.9
232

ttuegel's avatar
ttuegel committed
233
234
235
236
  -- Needed for GHC.Generics before GHC 7.6
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

237
  if !os(windows)
238
    build-depends:
239
      unix >= 2.5 && < 2.8
240

Ben Gamari's avatar
Ben Gamari committed
241
242
243
244
  if os(windows)
    build-depends:
      Win32 >= 2.2 && < 2.4

245
  ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs
246
  if impl(ghc >= 8.0)
247
248
    ghc-options: -Wcompat -Wnoncanonical-monad-instances
                 -Wnoncanonical-monadfail-instances
249

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

328
  other-modules:
329
    Distribution.Compat.CopyFile
330
    Distribution.Compat.MonadFail
331
    Distribution.GetOpt
332
    Distribution.Lex
333
    Distribution.Simple.GHC.Internal
334
    Distribution.Simple.GHC.IPI642
335
    Distribution.Simple.GHC.IPIConvert
336
    Distribution.Simple.GHC.ImplInfo
337
    Paths_Cabal
338

339
340
341
342
343
  if flag(bundled-binary-generic)
    other-modules:
      Distribution.Compat.Binary.Class
      Distribution.Compat.Binary.Generic

344
  default-language: Haskell98
345
346
347
  -- starting with GHC 7.0, rely on {-# LANGUAGE CPP #-} instead
  if !impl(ghc >= 7.0)
    default-extensions: CPP
348

349
-- Small, fast running tests.
350
351
test-suite unit-tests
  type: exitcode-stdio-1.0
352
  hs-source-dirs: tests
353
  other-modules:
354
355
    Test.Laws
    Test.QuickCheck.Utils
356
357
    UnitTests.Distribution.Compat.CreatePipe
    UnitTests.Distribution.Compat.ReadP
358
    UnitTests.Distribution.Simple.Program.Internal
359
    UnitTests.Distribution.Simple.Utils
360
    UnitTests.Distribution.System
361
    UnitTests.Distribution.Utils.NubList
362
    UnitTests.Distribution.Version
363
  main-is: UnitTests.hs
364
  build-depends:
365
    base,
366
    directory,
367
368
369
    tasty,
    tasty-hunit,
    tasty-quickcheck,
370
    pretty,
kristenk's avatar
kristenk committed
371
    QuickCheck >= 2.7 && < 2.9,
372
    Cabal
tibbe's avatar
tibbe committed
373
  ghc-options: -Wall
374
  default-language: Haskell98
375
376
377
378
379

-- Large, system tests that build packages.
test-suite package-tests
  type: exitcode-stdio-1.0
  main-is: PackageTests.hs
380
  other-modules:
381
382
    PackageTests.BenchmarkStanza.Check
    PackageTests.TestStanza.Check
383
    PackageTests.DeterministicAr.Check
ttuegel's avatar
ttuegel committed
384
    PackageTests.TestSuiteTests.ExeV10.Check
385
    PackageTests.PackageTester
386
387
  hs-source-dirs: tests
  build-depends:
388
    base,
389
    containers,
390
    tagged,
391
392
    tasty,
    tasty-hunit,
393
    transformers,
394
395
396
397
    Cabal,
    process,
    directory,
    filepath,
398
    bytestring,
399
400
    regex-posix,
    old-time
tibbe's avatar
tibbe committed
401
402
  if !os(windows)
    build-depends: unix
403
  ghc-options: -Wall -rtsopts
404
  default-extensions: CPP
405
  default-language: Haskell98