Cabal.cabal 11.8 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
91
92
  tests/PackageTests/OrderFlags/Foo.hs
  tests/PackageTests/OrderFlags/my.cabal
93
94
95
  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
96
  tests/PackageTests/PreProcess/Foo.hsc
97
  tests/PackageTests/PreProcess/Main.hs
98
  tests/PackageTests/PreProcess/my.cabal
99
100
101
  tests/PackageTests/PreProcessExtraSources/Foo.hsc
  tests/PackageTests/PreProcessExtraSources/Main.hs
  tests/PackageTests/PreProcessExtraSources/my.cabal
102
  tests/PackageTests/ReexportedModules/ReexportedModules.cabal
103
104
105
106
107
108
109
110
  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
111
112
113
114
  tests/PackageTests/TemplateHaskell/vanilla/Exe.hs
  tests/PackageTests/TemplateHaskell/vanilla/Lib.hs
  tests/PackageTests/TemplateHaskell/vanilla/TH.hs
  tests/PackageTests/TemplateHaskell/vanilla/my.cabal
115
  tests/PackageTests/Tests.hs
116
117
  tests/PackageTests/TestOptions/TestOptions.cabal
  tests/PackageTests/TestOptions/test-TestOptions.hs
118
  tests/PackageTests/TestStanza/my.cabal
ttuegel's avatar
ttuegel committed
119
120
  tests/PackageTests/TestSuiteTests/ExeV10/Foo.hs
  tests/PackageTests/TestSuiteTests/ExeV10/my.cabal
121
122
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Foo.hs
  tests/PackageTests/TestSuiteTests/LibV09/Lib.hs
123
  tests/PackageTests/TestSuiteTests/LibV09/LibV09.cabal
124
  tests/PackageTests/TestSuiteTests/LibV09/tests/Deadlock.hs
125
  tests/PackageTests/Tests.hs
126
127
128
129
  tests/PackageTests/UniqueIPID/P1/M.hs
  tests/PackageTests/UniqueIPID/P1/my.cabal
  tests/PackageTests/UniqueIPID/P2/M.hs
  tests/PackageTests/UniqueIPID/P2/my.cabal
130
  tests/PackageTests/multInst/my.cabal
131
  tests/Setup.hs
132
133
134
  tests/Test/Distribution/Version.hs
  tests/Test/Laws.hs
  tests/Test/QuickCheck/Utils.hs
135
136
  tests/hackage/check.sh
  tests/hackage/download.sh
137
138
  tests/hackage/unpack.sh
  tests/misc/ghc-supported-languages.hs
139
  -- END gen-extra-source-files
140

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

146
147
148
flag bundled-binary-generic
  default: False

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

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

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

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

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

179
  ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs
180

181
  exposed-modules:
ttuegel's avatar
ttuegel committed
182
    Distribution.Compat.CreatePipe
183
    Distribution.Compat.Environment
184
    Distribution.Compat.Exception
185
    Distribution.Compat.Internal.TempFile
186
187
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
    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
213
    Distribution.Simple.GHCJS
214
    Distribution.Simple.Haddock
215
    Distribution.Simple.HaskellSuite
216
217
218
219
220
221
222
223
224
225
226
227
228
    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
229
    Distribution.Simple.Program.Find
230
231
232
    Distribution.Simple.Program.GHC
    Distribution.Simple.Program.HcPkg
    Distribution.Simple.Program.Hpc
233
    Distribution.Simple.Program.Internal
234
235
236
    Distribution.Simple.Program.Ld
    Distribution.Simple.Program.Run
    Distribution.Simple.Program.Script
Mikhail Glushenkov's avatar
Mikhail Glushenkov committed
237
    Distribution.Simple.Program.Strip
238
239
240
241
242
    Distribution.Simple.Program.Types
    Distribution.Simple.Register
    Distribution.Simple.Setup
    Distribution.Simple.SrcDist
    Distribution.Simple.Test
ttuegel's avatar
ttuegel committed
243
244
245
    Distribution.Simple.Test.ExeV10
    Distribution.Simple.Test.LibV09
    Distribution.Simple.Test.Log
246
247
248
249
250
251
    Distribution.Simple.UHC
    Distribution.Simple.UserHooks
    Distribution.Simple.Utils
    Distribution.System
    Distribution.TestSuite
    Distribution.Text
252
    Distribution.Utils.NubList
253
254
    Distribution.Verbosity
    Distribution.Version
255
    Language.Haskell.Extension
256

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

269
270
271
272
273
  if flag(bundled-binary-generic)
    other-modules:
      Distribution.Compat.Binary.Class
      Distribution.Compat.Binary.Generic

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

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

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