Cabal.cabal 12.6 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
  tests/PackageTests/Haddock/CPP.hs
  tests/PackageTests/Haddock/Literate.lhs
94
  tests/PackageTests/Haddock/NoCPP.hs
95
  tests/PackageTests/Haddock/Simple.hs
96
  tests/PackageTests/Haddock/my.cabal
Edward Z. Yang's avatar
Edward Z. Yang committed
97
98
99
  tests/PackageTests/HaddockNewline/A.hs
  tests/PackageTests/HaddockNewline/HaddockNewline.cabal
  tests/PackageTests/HaddockNewline/Setup.hs
100
101
  tests/PackageTests/OrderFlags/Foo.hs
  tests/PackageTests/OrderFlags/my.cabal
102
103
104
  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
105
  tests/PackageTests/PreProcess/Foo.hsc
106
  tests/PackageTests/PreProcess/Main.hs
107
  tests/PackageTests/PreProcess/my.cabal
108
109
110
  tests/PackageTests/PreProcessExtraSources/Foo.hsc
  tests/PackageTests/PreProcessExtraSources/Main.hs
  tests/PackageTests/PreProcessExtraSources/my.cabal
111
  tests/PackageTests/ReexportedModules/ReexportedModules.cabal
112
113
114
115
116
117
118
119
  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
120
121
122
123
  tests/PackageTests/TemplateHaskell/vanilla/Exe.hs
  tests/PackageTests/TemplateHaskell/vanilla/Lib.hs
  tests/PackageTests/TemplateHaskell/vanilla/TH.hs
  tests/PackageTests/TemplateHaskell/vanilla/my.cabal
124
125
126
127
128
  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
129
130
  tests/PackageTests/TestOptions/TestOptions.cabal
  tests/PackageTests/TestOptions/test-TestOptions.hs
131
  tests/PackageTests/TestStanza/my.cabal
ttuegel's avatar
ttuegel committed
132
133
  tests/PackageTests/TestSuiteTests/ExeV10/Foo.hs
  tests/PackageTests/TestSuiteTests/ExeV10/my.cabal
134
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Foo.hs
135
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Short.hs
136
  tests/PackageTests/TestSuiteTests/LibV09/Lib.hs
137
  tests/PackageTests/TestSuiteTests/LibV09/LibV09.cabal
138
  tests/PackageTests/TestSuiteTests/LibV09/tests/Deadlock.hs
139
  tests/PackageTests/Tests.hs
140
141
142
143
  tests/PackageTests/UniqueIPID/P1/M.hs
  tests/PackageTests/UniqueIPID/P1/my.cabal
  tests/PackageTests/UniqueIPID/P2/M.hs
  tests/PackageTests/UniqueIPID/P2/my.cabal
144
  tests/PackageTests/multInst/my.cabal
145
146
147
  tests/Setup.hs
  tests/hackage/check.sh
  tests/hackage/download.sh
148
149
  tests/hackage/unpack.sh
  tests/misc/ghc-supported-languages.hs
150
  -- END gen-extra-source-files
151

152
source-repository head
153
154
  type:     git
  location: https://github.com/haskell/cabal/
155
  subdir:   Cabal
156

157
158
159
flag bundled-binary-generic
  default: False

160
library
161
  build-depends:
162
163
164
165
    array      >= 0.1 && < 0.6,
    base       >= 4.5 && < 5,
    bytestring >= 0.9 && < 1,
    containers >= 0.4 && < 0.6,
166
    deepseq    >= 1.3 && < 1.5,
167
168
169
    directory  >= 1.1 && < 1.3,
    filepath   >= 1.3 && < 1.5,
    pretty     >= 1.1 && < 1.2,
170
    process    >= 1.1.0.1 && < 1.5,
171
    time       >= 1.4 && < 1.7
172

173
174
175
  if flag(bundled-binary-generic)
    build-depends: binary >= 0.5 && < 0.7
  else
176
    build-depends: binary >= 0.7 && < 0.9
177

ttuegel's avatar
ttuegel committed
178
179
180
181
  -- Needed for GHC.Generics before GHC 7.6
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

182
  if !os(windows)
183
    build-depends:
184
      unix >= 2.5 && < 2.8
185

Ben Gamari's avatar
Ben Gamari committed
186
187
188
189
  if os(windows)
    build-depends:
      Win32 >= 2.2 && < 2.4

190
  ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs
191
  if impl(ghc >= 8.0)
192
193
    ghc-options: -Wcompat -Wnoncanonical-monad-instances
                 -Wnoncanonical-monadfail-instances
194

195
  exposed-modules:
ttuegel's avatar
ttuegel committed
196
    Distribution.Compat.CreatePipe
197
    Distribution.Compat.Environment
198
    Distribution.Compat.Exception
199
    Distribution.Compat.Internal.TempFile
200
    Distribution.Compat.ReadP
201
    Distribution.Compat.Semigroup
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
    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
228
    Distribution.Simple.GHCJS
229
    Distribution.Simple.Haddock
230
    Distribution.Simple.HaskellSuite
231
232
233
234
235
236
237
238
239
240
241
242
243
    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
244
    Distribution.Simple.Program.Find
245
246
247
    Distribution.Simple.Program.GHC
    Distribution.Simple.Program.HcPkg
    Distribution.Simple.Program.Hpc
248
    Distribution.Simple.Program.Internal
249
250
251
    Distribution.Simple.Program.Ld
    Distribution.Simple.Program.Run
    Distribution.Simple.Program.Script
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
252
    Distribution.Simple.Program.Strip
253
254
255
256
257
    Distribution.Simple.Program.Types
    Distribution.Simple.Register
    Distribution.Simple.Setup
    Distribution.Simple.SrcDist
    Distribution.Simple.Test
ttuegel's avatar
ttuegel committed
258
259
260
    Distribution.Simple.Test.ExeV10
    Distribution.Simple.Test.LibV09
    Distribution.Simple.Test.Log
261
262
263
264
265
266
    Distribution.Simple.UHC
    Distribution.Simple.UserHooks
    Distribution.Simple.Utils
    Distribution.System
    Distribution.TestSuite
    Distribution.Text
267
    Distribution.Utils.NubList
268
269
    Distribution.Verbosity
    Distribution.Version
270
    Language.Haskell.Extension
271
    Distribution.Compat.Binary
272

273
  other-modules:
274
    Distribution.Compat.CopyFile
275
    Distribution.Compat.MonadFail
276
    Distribution.GetOpt
277
    Distribution.Lex
278
    Distribution.Simple.GHC.Internal
279
    Distribution.Simple.GHC.IPI642
280
    Distribution.Simple.GHC.IPIConvert
281
    Distribution.Simple.GHC.ImplInfo
282
    Paths_Cabal
283

284
285
286
287
288
  if flag(bundled-binary-generic)
    other-modules:
      Distribution.Compat.Binary.Class
      Distribution.Compat.Binary.Generic

289
  default-language: Haskell98
290
291
292
  -- starting with GHC 7.0, rely on {-# LANGUAGE CPP #-} instead
  if !impl(ghc >= 7.0)
    default-extensions: CPP
293

294
-- Small, fast running tests.
295
296
test-suite unit-tests
  type: exitcode-stdio-1.0
297
  hs-source-dirs: tests
298
  other-modules:
299
300
    Test.Laws
    Test.QuickCheck.Utils
301
302
    UnitTests.Distribution.Compat.CreatePipe
    UnitTests.Distribution.Compat.ReadP
303
    UnitTests.Distribution.Simple.Program.Internal
304
    UnitTests.Distribution.Simple.Utils
305
    UnitTests.Distribution.System
306
    UnitTests.Distribution.Utils.NubList
307
    UnitTests.Distribution.Version
308
  main-is: UnitTests.hs
309
  build-depends:
310
    base,
311
    directory,
312
313
314
    tasty,
    tasty-hunit,
    tasty-quickcheck,
315
    pretty,
kristenk's avatar
kristenk committed
316
    QuickCheck >= 2.7 && < 2.9,
317
    Cabal
tibbe's avatar
tibbe committed
318
  ghc-options: -Wall
319
  default-language: Haskell98
320
321
322
323
324

-- Large, system tests that build packages.
test-suite package-tests
  type: exitcode-stdio-1.0
  main-is: PackageTests.hs
325
  other-modules:
326
327
    PackageTests.BenchmarkStanza.Check
    PackageTests.TestStanza.Check
328
    PackageTests.DeterministicAr.Check
ttuegel's avatar
ttuegel committed
329
    PackageTests.TestSuiteTests.ExeV10.Check
330
    PackageTests.PackageTester
331
332
  hs-source-dirs: tests
  build-depends:
333
    base,
334
    containers,
335
336
    tasty,
    tasty-hunit,
337
    transformers,
338
339
340
341
    Cabal,
    process,
    directory,
    filepath,
342
    bytestring,
343
344
    regex-posix,
    old-time
tibbe's avatar
tibbe committed
345
346
  if !os(windows)
    build-depends: unix
347
  ghc-options: -Wall -rtsopts
348
  default-extensions: CPP
349
  default-language: Haskell98