Cabal.cabal 12.6 KB
Newer Older
1
name: Cabal
2
version: 1.23.1.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
192
  if impl(ghc >= 8.0)
    ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
193

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

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

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

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

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

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