Cabal.cabal 11.7 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
  -- Generated with 'misc/gen-extra-source-files.sh' & 'M-x sort-lines':
33
34
35
  tests/PackageTests/BenchmarkExeV10/Foo.hs
  tests/PackageTests/BenchmarkExeV10/benchmarks/bench-Foo.hs
  tests/PackageTests/BenchmarkExeV10/my.cabal
36
  tests/PackageTests/BenchmarkOptions/BenchmarkOptions.cabal
37
38
  tests/PackageTests/BenchmarkOptions/test-BenchmarkOptions.hs
  tests/PackageTests/BenchmarkStanza/my.cabal
39
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive1/GlobalBuildDepsNotAdditive1.cabal
40
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive1/MyLibrary.hs
41
42
43
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive2/GlobalBuildDepsNotAdditive2.cabal
  tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive2/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary0/MyLibrary.hs
44
  tests/PackageTests/BuildDeps/InternalLibrary0/my.cabal
45
46
  tests/PackageTests/BuildDeps/InternalLibrary0/programs/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary1/MyLibrary.hs
47
  tests/PackageTests/BuildDeps/InternalLibrary1/my.cabal
48
49
  tests/PackageTests/BuildDeps/InternalLibrary1/programs/lemon.hs
  tests/PackageTests/BuildDeps/InternalLibrary2/MyLibrary.hs
50
  tests/PackageTests/BuildDeps/InternalLibrary2/my.cabal
51
  tests/PackageTests/BuildDeps/InternalLibrary2/programs/lemon.hs
52
53
  tests/PackageTests/BuildDeps/InternalLibrary2/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary2/to-install/my.cabal
54
  tests/PackageTests/BuildDeps/InternalLibrary3/MyLibrary.hs
55
  tests/PackageTests/BuildDeps/InternalLibrary3/my.cabal
56
  tests/PackageTests/BuildDeps/InternalLibrary3/programs/lemon.hs
57
58
  tests/PackageTests/BuildDeps/InternalLibrary3/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary3/to-install/my.cabal
59
  tests/PackageTests/BuildDeps/InternalLibrary4/MyLibrary.hs
60
  tests/PackageTests/BuildDeps/InternalLibrary4/my.cabal
61
  tests/PackageTests/BuildDeps/InternalLibrary4/programs/lemon.hs
62
63
64
  tests/PackageTests/BuildDeps/InternalLibrary4/to-install/MyLibrary.hs
  tests/PackageTests/BuildDeps/InternalLibrary4/to-install/my.cabal
  tests/PackageTests/BuildDeps/SameDepsAllRound/MyLibrary.hs
65
66
67
  tests/PackageTests/BuildDeps/SameDepsAllRound/SameDepsAllRound.cabal
  tests/PackageTests/BuildDeps/SameDepsAllRound/lemon.hs
  tests/PackageTests/BuildDeps/SameDepsAllRound/pineapple.hs
68
69
70
71
72
73
74
75
76
  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
77
  tests/PackageTests/BuildTestSuiteDetailedV09/Dummy2.hs
78
79
80
  tests/PackageTests/CMain/Bar.hs
  tests/PackageTests/CMain/foo.c
  tests/PackageTests/CMain/my.cabal
81
82
  tests/PackageTests/DeterministicAr/Lib.hs
  tests/PackageTests/DeterministicAr/my.cabal
83
  tests/PackageTests/EmptyLib/empty/empty.cabal
84
85
  tests/PackageTests/Haddock/CPP.hs
  tests/PackageTests/Haddock/Literate.lhs
86
  tests/PackageTests/Haddock/NoCPP.hs
87
  tests/PackageTests/Haddock/Simple.hs
88
  tests/PackageTests/Haddock/my.cabal
89
90
  tests/PackageTests/OrderFlags/Foo.hs
  tests/PackageTests/OrderFlags/my.cabal
91
92
93
  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
94
  tests/PackageTests/PreProcess/Foo.hsc
95
  tests/PackageTests/PreProcess/Main.hs
96
  tests/PackageTests/PreProcess/my.cabal
97
98
99
  tests/PackageTests/PreProcessExtraSources/Foo.hsc
  tests/PackageTests/PreProcessExtraSources/Main.hs
  tests/PackageTests/PreProcessExtraSources/my.cabal
100
  tests/PackageTests/ReexportedModules/ReexportedModules.cabal
101
102
103
104
105
106
107
108
  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
109
110
111
112
  tests/PackageTests/TemplateHaskell/vanilla/Exe.hs
  tests/PackageTests/TemplateHaskell/vanilla/Lib.hs
  tests/PackageTests/TemplateHaskell/vanilla/TH.hs
  tests/PackageTests/TemplateHaskell/vanilla/my.cabal
113
  tests/PackageTests/Tests.hs
114
115
  tests/PackageTests/TestOptions/TestOptions.cabal
  tests/PackageTests/TestOptions/test-TestOptions.hs
116
  tests/PackageTests/TestStanza/my.cabal
ttuegel's avatar
ttuegel committed
117
118
  tests/PackageTests/TestSuiteTests/ExeV10/Foo.hs
  tests/PackageTests/TestSuiteTests/ExeV10/my.cabal
119
120
  tests/PackageTests/TestSuiteTests/ExeV10/tests/test-Foo.hs
  tests/PackageTests/TestSuiteTests/LibV09/Lib.hs
121
  tests/PackageTests/TestSuiteTests/LibV09/LibV09.cabal
122
  tests/PackageTests/TestSuiteTests/LibV09/tests/Deadlock.hs
123
124
125
126
  tests/PackageTests/UniqueIPID/P1/M.hs
  tests/PackageTests/UniqueIPID/P1/my.cabal
  tests/PackageTests/UniqueIPID/P2/M.hs
  tests/PackageTests/UniqueIPID/P2/my.cabal
127
  tests/PackageTests/multInst/my.cabal
128
  tests/Setup.hs
129
130
131
  tests/Test/Distribution/Version.hs
  tests/Test/Laws.hs
  tests/Test/QuickCheck/Utils.hs
132
133
  tests/hackage/check.sh
  tests/hackage/download.sh
134
135
  tests/hackage/unpack.sh
  tests/misc/ghc-supported-languages.hs
136

137
source-repository head
138
139
  type:     git
  location: https://github.com/haskell/cabal/
140
  subdir:   Cabal
141

142
143
144
flag bundled-binary-generic
  default: False

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

158
159
160
  if flag(bundled-binary-generic)
    build-depends: binary >= 0.5 && < 0.7
  else
161
    build-depends: binary >= 0.7 && < 0.9
162

ttuegel's avatar
ttuegel committed
163
164
165
166
  -- Needed for GHC.Generics before GHC 7.6
  if impl(ghc < 7.6)
    build-depends: ghc-prim >= 0.2 && < 0.3

167
  if !os(windows)
168
    build-depends:
169
      unix >= 2.5 && < 2.8
170

Ben Gamari's avatar
Ben Gamari committed
171
172
173
174
  if os(windows)
    build-depends:
      Win32 >= 2.2 && < 2.4

175
  ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs
176

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

253
  other-modules:
254
    Distribution.Compat.Binary
255
    Distribution.Compat.CopyFile
256
    Distribution.Compat.Semigroup
257
    Distribution.GetOpt
258
    Distribution.Lex
259
    Distribution.Simple.GHC.Internal
260
261
    Distribution.Simple.GHC.IPI641
    Distribution.Simple.GHC.IPI642
262
    Distribution.Simple.GHC.ImplInfo
263
    Paths_Cabal
264

265
266
267
268
269
  if flag(bundled-binary-generic)
    other-modules:
      Distribution.Compat.Binary.Class
      Distribution.Compat.Binary.Generic

270
  default-language: Haskell98
271
272
273
  -- starting with GHC 7.0, rely on {-# LANGUAGE CPP #-} instead
  if !impl(ghc >= 7.0)
    default-extensions: CPP
274

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

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