Cabal.cabal 14 KB
Newer Older
1
name: Cabal
2
version: 1.23.2.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
  tests/PackageTests/OrderFlags/Foo.hs
  tests/PackageTests/OrderFlags/my.cabal
124
125
126
  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
127
  tests/PackageTests/PreProcess/Foo.hsc
128
  tests/PackageTests/PreProcess/Main.hs
129
  tests/PackageTests/PreProcess/my.cabal
130
131
132
  tests/PackageTests/PreProcessExtraSources/Foo.hsc
  tests/PackageTests/PreProcessExtraSources/Main.hs
  tests/PackageTests/PreProcessExtraSources/my.cabal
133
  tests/PackageTests/ReexportedModules/ReexportedModules.cabal
134
135
136
137
138
139
140
141
  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
142
143
144
145
  tests/PackageTests/TemplateHaskell/vanilla/Exe.hs
  tests/PackageTests/TemplateHaskell/vanilla/Lib.hs
  tests/PackageTests/TemplateHaskell/vanilla/TH.hs
  tests/PackageTests/TemplateHaskell/vanilla/my.cabal
146
147
148
149
150
  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
151
152
  tests/PackageTests/TestOptions/TestOptions.cabal
  tests/PackageTests/TestOptions/test-TestOptions.hs
153
  tests/PackageTests/TestStanza/my.cabal
ttuegel's avatar
ttuegel committed
154
155
  tests/PackageTests/TestSuiteTests/ExeV10/Foo.hs
  tests/PackageTests/TestSuiteTests/ExeV10/my.cabal
156
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Foo.hs
157
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Short.hs
158
  tests/PackageTests/TestSuiteTests/LibV09/Lib.hs
159
  tests/PackageTests/TestSuiteTests/LibV09/LibV09.cabal
160
  tests/PackageTests/TestSuiteTests/LibV09/tests/Deadlock.hs
161
  tests/PackageTests/Tests.hs
162
163
164
165
  tests/PackageTests/UniqueIPID/P1/M.hs
  tests/PackageTests/UniqueIPID/P1/my.cabal
  tests/PackageTests/UniqueIPID/P2/M.hs
  tests/PackageTests/UniqueIPID/P2/my.cabal
166
  tests/PackageTests/multInst/my.cabal
167
168
169
  tests/Setup.hs
  tests/hackage/check.sh
  tests/hackage/download.sh
170
171
  tests/hackage/unpack.sh
  tests/misc/ghc-supported-languages.hs
172
  -- END gen-extra-source-files
173

174
source-repository head
175
176
  type:     git
  location: https://github.com/haskell/cabal/
177
  subdir:   Cabal
178

179
180
181
flag bundled-binary-generic
  default: False

182
library
183
  build-depends:
184
185
186
187
    array      >= 0.1 && < 0.6,
    base       >= 4.5 && < 5,
    bytestring >= 0.9 && < 1,
    containers >= 0.4 && < 0.6,
188
    deepseq    >= 1.3 && < 1.5,
189
190
191
    directory  >= 1.1 && < 1.3,
    filepath   >= 1.3 && < 1.5,
    pretty     >= 1.1 && < 1.2,
192
    process    >= 1.1.0.1 && < 1.5,
193
    time       >= 1.4 && < 1.7
194

195
196
197
  if flag(bundled-binary-generic)
    build-depends: binary >= 0.5 && < 0.7
  else
198
    build-depends: binary >= 0.7 && < 0.9
199

ttuegel's avatar
ttuegel committed
200
201
202
203
  -- Needed for GHC.Generics before GHC 7.6
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

204
  if !os(windows)
205
    build-depends:
206
      unix >= 2.5 && < 2.8
207

Ben Gamari's avatar
Ben Gamari committed
208
209
210
211
  if os(windows)
    build-depends:
      Win32 >= 2.2 && < 2.4

212
  ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs
213
  if impl(ghc >= 8.0)
214
215
    ghc-options: -Wcompat -Wnoncanonical-monad-instances
                 -Wnoncanonical-monadfail-instances
216

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

295
  other-modules:
296
    Distribution.Compat.CopyFile
297
    Distribution.Compat.MonadFail
298
    Distribution.GetOpt
299
    Distribution.Lex
300
    Distribution.Simple.GHC.Internal
301
    Distribution.Simple.GHC.IPI642
302
    Distribution.Simple.GHC.IPIConvert
303
    Distribution.Simple.GHC.ImplInfo
304
    Paths_Cabal
305

306
307
308
309
310
  if flag(bundled-binary-generic)
    other-modules:
      Distribution.Compat.Binary.Class
      Distribution.Compat.Binary.Generic

311
  default-language: Haskell98
312
313
314
  -- starting with GHC 7.0, rely on {-# LANGUAGE CPP #-} instead
  if !impl(ghc >= 7.0)
    default-extensions: CPP
315

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

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