Cabal.cabal 12.5 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
  exposed-modules:
ttuegel's avatar
ttuegel committed
193
    Distribution.Compat.CreatePipe
194
    Distribution.Compat.Environment
195
    Distribution.Compat.Exception
196
    Distribution.Compat.Internal.TempFile
197
198
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
    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
224
    Distribution.Simple.GHCJS
225
    Distribution.Simple.Haddock
226
    Distribution.Simple.HaskellSuite
227
228
229
230
231
232
233
234
235
236
237
238
239
    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
240
    Distribution.Simple.Program.Find
241
242
243
    Distribution.Simple.Program.GHC
    Distribution.Simple.Program.HcPkg
    Distribution.Simple.Program.Hpc
244
    Distribution.Simple.Program.Internal
245
246
247
    Distribution.Simple.Program.Ld
    Distribution.Simple.Program.Run
    Distribution.Simple.Program.Script
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
248
    Distribution.Simple.Program.Strip
249
250
251
252
253
    Distribution.Simple.Program.Types
    Distribution.Simple.Register
    Distribution.Simple.Setup
    Distribution.Simple.SrcDist
    Distribution.Simple.Test
ttuegel's avatar
ttuegel committed
254
255
256
    Distribution.Simple.Test.ExeV10
    Distribution.Simple.Test.LibV09
    Distribution.Simple.Test.Log
257
258
259
260
261
262
    Distribution.Simple.UHC
    Distribution.Simple.UserHooks
    Distribution.Simple.Utils
    Distribution.System
    Distribution.TestSuite
    Distribution.Text
263
    Distribution.Utils.NubList
264
265
    Distribution.Verbosity
    Distribution.Version
266
    Language.Haskell.Extension
267
    Distribution.Compat.Binary
268

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

280
281
282
283
284
  if flag(bundled-binary-generic)
    other-modules:
      Distribution.Compat.Binary.Class
      Distribution.Compat.Binary.Generic

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

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

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