Cabal.cabal 13.8 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
  tests/PackageTests/BenchmarkExeV10/Foo.hs
  tests/PackageTests/BenchmarkExeV10/benchmarks/bench-Foo.hs
  tests/PackageTests/BenchmarkExeV10/my.cabal
38
  tests/PackageTests/BenchmarkOptions/BenchmarkOptions.cabal
39
40
  tests/PackageTests/BenchmarkOptions/test-BenchmarkOptions.hs
  tests/PackageTests/BenchmarkStanza/my.cabal
41
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive1/GlobalBuildDepsNotAdditive1.cabal
42
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive1/MyLibrary.hs
43
44
45
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive2/GlobalBuildDepsNotAdditive2.cabal
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive2/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary0/MyLibrary.hs
46
  tests/PackageTests/BuildDeps/InternalLibrary0/my.cabal
47
48
  tests/PackageTests/BuildDeps/InternalLibrary0/programs/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary1/MyLibrary.hs
49
  tests/PackageTests/BuildDeps/InternalLibrary1/my.cabal
50
51
  tests/PackageTests/BuildDeps/InternalLibrary1/programs/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary2/MyLibrary.hs
52
  tests/PackageTests/BuildDeps/InternalLibrary2/my.cabal
53
  tests/PackageTests/BuildDeps/InternalLibrary2/programs/lemon.hs
54
55
  tests/PackageTests/BuildDeps/InternalLibrary2/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary2/to-install/my.cabal
56
  tests/PackageTests/BuildDeps/InternalLibrary3/MyLibrary.hs
57
  tests/PackageTests/BuildDeps/InternalLibrary3/my.cabal
58
  tests/PackageTests/BuildDeps/InternalLibrary3/programs/lemon.hs
59
60
  tests/PackageTests/BuildDeps/InternalLibrary3/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary3/to-install/my.cabal
61
  tests/PackageTests/BuildDeps/InternalLibrary4/MyLibrary.hs
62
  tests/PackageTests/BuildDeps/InternalLibrary4/my.cabal
63
  tests/PackageTests/BuildDeps/InternalLibrary4/programs/lemon.hs
64
65
66
  tests/PackageTests/BuildDeps/InternalLibrary4/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary4/to-install/my.cabal
  tests/PackageTests/BuildDeps/SameDepsAllRound/MyLibrary.hs
67
68
69
  tests/PackageTests/BuildDeps/SameDepsAllRound/SameDepsAllRound.cabal
  tests/PackageTests/BuildDeps/SameDepsAllRound/lemon.hs
  tests/PackageTests/BuildDeps/SameDepsAllRound/pineapple.hs
70
71
72
73
74
75
76
77
78
  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
79
  tests/PackageTests/BuildTestSuiteDetailedV09/Dummy2.hs
80
81
  tests/PackageTests/BuildableField/BuildableField.cabal
  tests/PackageTests/BuildableField/Main.hs
82
83
84
  tests/PackageTests/CMain/Bar.hs
  tests/PackageTests/CMain/foo.c
  tests/PackageTests/CMain/my.cabal
85
86
  tests/PackageTests/DeterministicAr/Lib.hs
  tests/PackageTests/DeterministicAr/my.cabal
87
88
89
90
  tests/PackageTests/DuplicateModuleName/DuplicateModuleName.cabal
  tests/PackageTests/DuplicateModuleName/src/Foo.hs
  tests/PackageTests/DuplicateModuleName/tests/Foo.hs
  tests/PackageTests/DuplicateModuleName/tests2/Foo.hs
91
  tests/PackageTests/EmptyLib/empty/empty.cabal
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
  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
110
111
  tests/PackageTests/Haddock/CPP.hs
  tests/PackageTests/Haddock/Literate.lhs
112
  tests/PackageTests/Haddock/NoCPP.hs
113
  tests/PackageTests/Haddock/Simple.hs
114
  tests/PackageTests/Haddock/my.cabal
Edward Z. Yang's avatar
Edward Z. Yang committed
115
116
117
  tests/PackageTests/HaddockNewline/A.hs
  tests/PackageTests/HaddockNewline/HaddockNewline.cabal
  tests/PackageTests/HaddockNewline/Setup.hs
118
119
  tests/PackageTests/OrderFlags/Foo.hs
  tests/PackageTests/OrderFlags/my.cabal
120
121
122
  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
123
  tests/PackageTests/PreProcess/Foo.hsc
124
  tests/PackageTests/PreProcess/Main.hs
125
  tests/PackageTests/PreProcess/my.cabal
126
127
128
  tests/PackageTests/PreProcessExtraSources/Foo.hsc
  tests/PackageTests/PreProcessExtraSources/Main.hs
  tests/PackageTests/PreProcessExtraSources/my.cabal
129
  tests/PackageTests/ReexportedModules/ReexportedModules.cabal
130
131
132
133
134
135
136
137
  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
138
139
140
141
  tests/PackageTests/TemplateHaskell/vanilla/Exe.hs
  tests/PackageTests/TemplateHaskell/vanilla/Lib.hs
  tests/PackageTests/TemplateHaskell/vanilla/TH.hs
  tests/PackageTests/TemplateHaskell/vanilla/my.cabal
142
143
144
145
146
  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
147
148
  tests/PackageTests/TestOptions/TestOptions.cabal
  tests/PackageTests/TestOptions/test-TestOptions.hs
149
  tests/PackageTests/TestStanza/my.cabal
ttuegel's avatar
ttuegel committed
150
151
  tests/PackageTests/TestSuiteTests/ExeV10/Foo.hs
  tests/PackageTests/TestSuiteTests/ExeV10/my.cabal
152
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Foo.hs
153
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Short.hs
154
  tests/PackageTests/TestSuiteTests/LibV09/Lib.hs
155
  tests/PackageTests/TestSuiteTests/LibV09/LibV09.cabal
156
  tests/PackageTests/TestSuiteTests/LibV09/tests/Deadlock.hs
157
  tests/PackageTests/Tests.hs
158
159
160
161
  tests/PackageTests/UniqueIPID/P1/M.hs
  tests/PackageTests/UniqueIPID/P1/my.cabal
  tests/PackageTests/UniqueIPID/P2/M.hs
  tests/PackageTests/UniqueIPID/P2/my.cabal
162
  tests/PackageTests/multInst/my.cabal
163
164
165
  tests/Setup.hs
  tests/hackage/check.sh
  tests/hackage/download.sh
166
167
  tests/hackage/unpack.sh
  tests/misc/ghc-supported-languages.hs
168
  -- END gen-extra-source-files
169

170
source-repository head
171
172
  type:     git
  location: https://github.com/haskell/cabal/
173
  subdir:   Cabal
174

175
176
177
flag bundled-binary-generic
  default: False

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

191
192
193
  if flag(bundled-binary-generic)
    build-depends: binary >= 0.5 && < 0.7
  else
194
    build-depends: binary >= 0.7 && < 0.9
195

ttuegel's avatar
ttuegel committed
196
197
198
199
  -- Needed for GHC.Generics before GHC 7.6
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

200
  if !os(windows)
201
    build-depends:
202
      unix >= 2.5 && < 2.8
203

Ben Gamari's avatar
Ben Gamari committed
204
205
206
207
  if os(windows)
    build-depends:
      Win32 >= 2.2 && < 2.4

208
  ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs
209
  if impl(ghc >= 8.0)
210
211
    ghc-options: -Wcompat -Wnoncanonical-monad-instances
                 -Wnoncanonical-monadfail-instances
212

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

291
  other-modules:
292
    Distribution.Compat.CopyFile
293
    Distribution.Compat.MonadFail
294
    Distribution.GetOpt
295
    Distribution.Lex
296
    Distribution.Simple.GHC.Internal
297
    Distribution.Simple.GHC.IPI642
298
    Distribution.Simple.GHC.IPIConvert
299
    Distribution.Simple.GHC.ImplInfo
300
    Paths_Cabal
301

302
303
304
305
306
  if flag(bundled-binary-generic)
    other-modules:
      Distribution.Compat.Binary.Class
      Distribution.Compat.Binary.Generic

307
  default-language: Haskell98
308
309
310
  -- starting with GHC 7.0, rely on {-# LANGUAGE CPP #-} instead
  if !impl(ghc >= 7.0)
    default-extensions: CPP
311

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

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