Cabal.cabal 14.4 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
  tests/PackageTests/DeterministicAr/Lib.hs
  tests/PackageTests/DeterministicAr/my.cabal
91
92
93
94
  tests/PackageTests/DuplicateModuleName/DuplicateModuleName.cabal
  tests/PackageTests/DuplicateModuleName/src/Foo.hs
  tests/PackageTests/DuplicateModuleName/tests/Foo.hs
  tests/PackageTests/DuplicateModuleName/tests2/Foo.hs
95
  tests/PackageTests/EmptyLib/empty/empty.cabal
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
  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
114
115
  tests/PackageTests/Haddock/CPP.hs
  tests/PackageTests/Haddock/Literate.lhs
116
  tests/PackageTests/Haddock/NoCPP.hs
117
  tests/PackageTests/Haddock/Simple.hs
118
  tests/PackageTests/Haddock/my.cabal
Edward Z. Yang's avatar
Edward Z. Yang committed
119
120
121
  tests/PackageTests/HaddockNewline/A.hs
  tests/PackageTests/HaddockNewline/HaddockNewline.cabal
  tests/PackageTests/HaddockNewline/Setup.hs
122
123
124
125
126
127
128
129
  tests/PackageTests/MultipleLibraries/p.cabal
  tests/PackageTests/MultipleLibraries/p/P.hs
  tests/PackageTests/MultipleLibraries/p/Foo.hs
  tests/PackageTests/MultipleLibraries/p/p.cabal
  tests/PackageTests/MultipleLibraries/p/p/P.hs
  tests/PackageTests/MultipleLibraries/p/q/Q.hs
  tests/PackageTests/MultipleLibraries/q/Q.hs
  tests/PackageTests/MultipleLibraries/q/q.cabal
130
  tests/PackageTests/Options.hs
131
132
  tests/PackageTests/OrderFlags/Foo.hs
  tests/PackageTests/OrderFlags/my.cabal
133
134
135
  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
136
  tests/PackageTests/PreProcess/Foo.hsc
137
  tests/PackageTests/PreProcess/Main.hs
138
  tests/PackageTests/PreProcess/my.cabal
139
140
141
  tests/PackageTests/PreProcessExtraSources/Foo.hsc
  tests/PackageTests/PreProcessExtraSources/Main.hs
  tests/PackageTests/PreProcessExtraSources/my.cabal
142
  tests/PackageTests/ReexportedModules/ReexportedModules.cabal
143
144
145
146
147
148
149
150
  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
151
152
153
154
  tests/PackageTests/TemplateHaskell/vanilla/Exe.hs
  tests/PackageTests/TemplateHaskell/vanilla/Lib.hs
  tests/PackageTests/TemplateHaskell/vanilla/TH.hs
  tests/PackageTests/TemplateHaskell/vanilla/my.cabal
155
156
157
158
159
  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
160
161
  tests/PackageTests/TestOptions/TestOptions.cabal
  tests/PackageTests/TestOptions/test-TestOptions.hs
162
  tests/PackageTests/TestStanza/my.cabal
ttuegel's avatar
ttuegel committed
163
164
  tests/PackageTests/TestSuiteTests/ExeV10/Foo.hs
  tests/PackageTests/TestSuiteTests/ExeV10/my.cabal
165
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Foo.hs
166
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Short.hs
167
  tests/PackageTests/TestSuiteTests/LibV09/Lib.hs
168
  tests/PackageTests/TestSuiteTests/LibV09/LibV09.cabal
169
  tests/PackageTests/TestSuiteTests/LibV09/tests/Deadlock.hs
170
  tests/PackageTests/Tests.hs
171
172
173
174
  tests/PackageTests/UniqueIPID/P1/M.hs
  tests/PackageTests/UniqueIPID/P1/my.cabal
  tests/PackageTests/UniqueIPID/P2/M.hs
  tests/PackageTests/UniqueIPID/P2/my.cabal
175
  tests/PackageTests/multInst/my.cabal
176
177
178
  tests/Setup.hs
  tests/hackage/check.sh
  tests/hackage/download.sh
179
180
  tests/hackage/unpack.sh
  tests/misc/ghc-supported-languages.hs
181
  -- END gen-extra-source-files
182

183
source-repository head
184
185
  type:     git
  location: https://github.com/haskell/cabal/
186
  subdir:   Cabal
187

188
189
190
flag bundled-binary-generic
  default: False

191
library
192
  build-depends:
193
194
195
196
    array      >= 0.1 && < 0.6,
    base       >= 4.5 && < 5,
    bytestring >= 0.9 && < 1,
    containers >= 0.4 && < 0.6,
197
    deepseq    >= 1.3 && < 1.5,
198
199
200
    directory  >= 1.1 && < 1.3,
    filepath   >= 1.3 && < 1.5,
    pretty     >= 1.1 && < 1.2,
201
    process    >= 1.1.0.1 && < 1.5,
202
    time       >= 1.4 && < 1.7
203

204
205
206
  if flag(bundled-binary-generic)
    build-depends: binary >= 0.5 && < 0.7
  else
207
    build-depends: binary >= 0.7 && < 0.9
208

ttuegel's avatar
ttuegel committed
209
210
211
212
  -- Needed for GHC.Generics before GHC 7.6
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

213
  if !os(windows)
214
    build-depends:
215
      unix >= 2.5 && < 2.8
216

Ben Gamari's avatar
Ben Gamari committed
217
218
219
220
  if os(windows)
    build-depends:
      Win32 >= 2.2 && < 2.4

221
  ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs
222
  if impl(ghc >= 8.0)
223
224
    ghc-options: -Wcompat -Wnoncanonical-monad-instances
                 -Wnoncanonical-monadfail-instances
225

226
  exposed-modules:
ttuegel's avatar
ttuegel committed
227
    Distribution.Compat.CreatePipe
228
    Distribution.Compat.Environment
229
    Distribution.Compat.Exception
230
    Distribution.Compat.Internal.TempFile
231
    Distribution.Compat.ReadP
232
    Distribution.Compat.Semigroup
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
    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
259
    Distribution.Simple.GHCJS
260
    Distribution.Simple.Haddock
261
    Distribution.Simple.HaskellSuite
262
263
264
265
266
267
268
269
270
271
272
273
274
    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
275
    Distribution.Simple.Program.Find
276
277
278
    Distribution.Simple.Program.GHC
    Distribution.Simple.Program.HcPkg
    Distribution.Simple.Program.Hpc
279
    Distribution.Simple.Program.Internal
280
281
282
    Distribution.Simple.Program.Ld
    Distribution.Simple.Program.Run
    Distribution.Simple.Program.Script
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
283
    Distribution.Simple.Program.Strip
284
285
286
287
288
    Distribution.Simple.Program.Types
    Distribution.Simple.Register
    Distribution.Simple.Setup
    Distribution.Simple.SrcDist
    Distribution.Simple.Test
ttuegel's avatar
ttuegel committed
289
290
291
    Distribution.Simple.Test.ExeV10
    Distribution.Simple.Test.LibV09
    Distribution.Simple.Test.Log
292
293
294
295
296
297
    Distribution.Simple.UHC
    Distribution.Simple.UserHooks
    Distribution.Simple.Utils
    Distribution.System
    Distribution.TestSuite
    Distribution.Text
298
    Distribution.Utils.NubList
299
300
    Distribution.Verbosity
    Distribution.Version
301
    Language.Haskell.Extension
302
    Distribution.Compat.Binary
303

304
  other-modules:
305
    Distribution.Compat.CopyFile
306
    Distribution.Compat.MonadFail
307
    Distribution.GetOpt
308
    Distribution.Lex
309
    Distribution.Simple.GHC.Internal
310
    Distribution.Simple.GHC.IPI642
311
    Distribution.Simple.GHC.IPIConvert
312
    Distribution.Simple.GHC.ImplInfo
313
    Paths_Cabal
314

315
316
317
318
319
  if flag(bundled-binary-generic)
    other-modules:
      Distribution.Compat.Binary.Class
      Distribution.Compat.Binary.Generic

320
  default-language: Haskell98
321
322
323
  -- starting with GHC 7.0, rely on {-# LANGUAGE CPP #-} instead
  if !impl(ghc >= 7.0)
    default-extensions: CPP
324

325
-- Small, fast running tests.
326
327
test-suite unit-tests
  type: exitcode-stdio-1.0
328
  hs-source-dirs: tests
329
  other-modules:
330
331
    Test.Laws
    Test.QuickCheck.Utils
332
333
    UnitTests.Distribution.Compat.CreatePipe
    UnitTests.Distribution.Compat.ReadP
334
    UnitTests.Distribution.Simple.Program.Internal
335
    UnitTests.Distribution.Simple.Utils
336
    UnitTests.Distribution.System
337
    UnitTests.Distribution.Utils.NubList
338
    UnitTests.Distribution.Version
339
  main-is: UnitTests.hs
340
  build-depends:
341
    base,
342
    directory,
343
344
345
    tasty,
    tasty-hunit,
    tasty-quickcheck,
346
    pretty,
kristenk's avatar
kristenk committed
347
    QuickCheck >= 2.7 && < 2.9,
348
    Cabal
tibbe's avatar
tibbe committed
349
  ghc-options: -Wall
350
  default-language: Haskell98
351
352
353
354
355

-- Large, system tests that build packages.
test-suite package-tests
  type: exitcode-stdio-1.0
  main-is: PackageTests.hs
356
  other-modules:
357
358
    PackageTests.BenchmarkStanza.Check
    PackageTests.TestStanza.Check
359
    PackageTests.DeterministicAr.Check
ttuegel's avatar
ttuegel committed
360
    PackageTests.TestSuiteTests.ExeV10.Check
361
    PackageTests.PackageTester
362
363
  hs-source-dirs: tests
  build-depends:
364
    base,
365
    containers,
366
    tagged,
367
368
    tasty,
    tasty-hunit,
369
    transformers,
370
371
372
373
    Cabal,
    process,
    directory,
    filepath,
374
    bytestring,
375
376
    regex-posix,
    old-time
tibbe's avatar
tibbe committed
377
378
  if !os(windows)
    build-depends: unix
379
  ghc-options: -Wall -rtsopts
380
  default-extensions: CPP
381
  default-language: Haskell98