Cabal.cabal 11.9 KB
Newer Older
1
name: Cabal
tibbe's avatar
tibbe committed
2
version: 1.23.0.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
82
  tests/PackageTests/CMain/Bar.hs
  tests/PackageTests/CMain/foo.c
  tests/PackageTests/CMain/my.cabal
83
84
  tests/PackageTests/DeterministicAr/Lib.hs
  tests/PackageTests/DeterministicAr/my.cabal
85
  tests/PackageTests/EmptyLib/empty/empty.cabal
86
87
  tests/PackageTests/Haddock/CPP.hs
  tests/PackageTests/Haddock/Literate.lhs
88
  tests/PackageTests/Haddock/NoCPP.hs
89
  tests/PackageTests/Haddock/Simple.hs
90
  tests/PackageTests/Haddock/my.cabal
Edward Z. Yang's avatar
Edward Z. Yang committed
91
92
93
  tests/PackageTests/HaddockNewline/A.hs
  tests/PackageTests/HaddockNewline/HaddockNewline.cabal
  tests/PackageTests/HaddockNewline/Setup.hs
94
95
  tests/PackageTests/OrderFlags/Foo.hs
  tests/PackageTests/OrderFlags/my.cabal
96
97
98
  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
99
  tests/PackageTests/PreProcess/Foo.hsc
100
  tests/PackageTests/PreProcess/Main.hs
101
  tests/PackageTests/PreProcess/my.cabal
102
103
104
  tests/PackageTests/PreProcessExtraSources/Foo.hsc
  tests/PackageTests/PreProcessExtraSources/Main.hs
  tests/PackageTests/PreProcessExtraSources/my.cabal
105
  tests/PackageTests/ReexportedModules/ReexportedModules.cabal
106
107
108
109
110
111
112
113
  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
114
115
116
117
  tests/PackageTests/TemplateHaskell/vanilla/Exe.hs
  tests/PackageTests/TemplateHaskell/vanilla/Lib.hs
  tests/PackageTests/TemplateHaskell/vanilla/TH.hs
  tests/PackageTests/TemplateHaskell/vanilla/my.cabal
118
119
  tests/PackageTests/TestOptions/TestOptions.cabal
  tests/PackageTests/TestOptions/test-TestOptions.hs
120
  tests/PackageTests/TestStanza/my.cabal
ttuegel's avatar
ttuegel committed
121
122
  tests/PackageTests/TestSuiteTests/ExeV10/Foo.hs
  tests/PackageTests/TestSuiteTests/ExeV10/my.cabal
123
124
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Foo.hs
  tests/PackageTests/TestSuiteTests/LibV09/Lib.hs
125
  tests/PackageTests/TestSuiteTests/LibV09/LibV09.cabal
126
  tests/PackageTests/TestSuiteTests/LibV09/tests/Deadlock.hs
127
  tests/PackageTests/Tests.hs
128
129
130
131
  tests/PackageTests/UniqueIPID/P1/M.hs
  tests/PackageTests/UniqueIPID/P1/my.cabal
  tests/PackageTests/UniqueIPID/P2/M.hs
  tests/PackageTests/UniqueIPID/P2/my.cabal
132
  tests/PackageTests/multInst/my.cabal
133
  tests/Setup.hs
134
135
136
  tests/Test/Distribution/Version.hs
  tests/Test/Laws.hs
  tests/Test/QuickCheck/Utils.hs
137
138
  tests/hackage/check.sh
  tests/hackage/download.sh
139
140
  tests/hackage/unpack.sh
  tests/misc/ghc-supported-languages.hs
141
  -- END gen-extra-source-files
142

143
source-repository head
144
145
  type:     git
  location: https://github.com/haskell/cabal/
146
  subdir:   Cabal
147

148
149
150
flag bundled-binary-generic
  default: False

151
library
152
  build-depends:
153
154
155
156
    array      >= 0.1 && < 0.6,
    base       >= 4.5 && < 5,
    bytestring >= 0.9 && < 1,
    containers >= 0.4 && < 0.6,
157
    deepseq    >= 1.3 && < 1.5,
158
159
160
    directory  >= 1.1 && < 1.3,
    filepath   >= 1.3 && < 1.5,
    pretty     >= 1.1 && < 1.2,
161
    process    >= 1.1.0.1 && < 1.5,
162
    time       >= 1.4 && < 1.7
163

164
165
166
  if flag(bundled-binary-generic)
    build-depends: binary >= 0.5 && < 0.7
  else
167
    build-depends: binary >= 0.7 && < 0.9
168

ttuegel's avatar
ttuegel committed
169
170
171
172
  -- Needed for GHC.Generics before GHC 7.6
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

173
  if !os(windows)
174
    build-depends:
175
      unix >= 2.5 && < 2.8
176

Ben Gamari's avatar
Ben Gamari committed
177
178
179
180
  if os(windows)
    build-depends:
      Win32 >= 2.2 && < 2.4

181
  ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs
182

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

259
  other-modules:
260
    Distribution.Compat.Binary
261
    Distribution.Compat.CopyFile
262
    Distribution.Compat.Semigroup
263
    Distribution.GetOpt
264
    Distribution.Lex
265
    Distribution.Simple.GHC.Internal
266
267
    Distribution.Simple.GHC.IPI641
    Distribution.Simple.GHC.IPI642
268
    Distribution.Simple.GHC.IPIConvert
269
    Distribution.Simple.GHC.ImplInfo
270
    Paths_Cabal
271

272
273
274
275
276
  if flag(bundled-binary-generic)
    other-modules:
      Distribution.Compat.Binary.Class
      Distribution.Compat.Binary.Generic

277
  default-language: Haskell98
278
279
280
  -- starting with GHC 7.0, rely on {-# LANGUAGE CPP #-} instead
  if !impl(ghc >= 7.0)
    default-extensions: CPP
281

282
-- Small, fast running tests.
283
284
test-suite unit-tests
  type: exitcode-stdio-1.0
285
  hs-source-dirs: tests
286
287
288
  other-modules:
    UnitTests.Distribution.Compat.CreatePipe
    UnitTests.Distribution.Compat.ReadP
289
    UnitTests.Distribution.Simple.Program.Internal
290
    UnitTests.Distribution.Utils.NubList
291
    UnitTests.Distribution.System
292
  main-is: UnitTests.hs
293
  build-depends:
294
    base,
295
296
297
    tasty,
    tasty-hunit,
    tasty-quickcheck,
298
    pretty,
299
    QuickCheck < 2.9,
300
    Cabal
tibbe's avatar
tibbe committed
301
  ghc-options: -Wall
302
  default-language: Haskell98
303
304
305
306
307

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