3 copyright: 2003-2018, Cabal Development Team (see AUTHORS file)
6 author: Cabal Development Team <cabal-devel@haskell.org>
7 maintainer: cabal-devel@haskell.org
8 homepage: http://www.haskell.org/cabal/
9 bug-reports: https://github.com/haskell/cabal/issues
10 synopsis: A framework for packaging Haskell software
12 The Haskell Common Architecture for Building Applications and
13 Libraries: a framework defining a common interface for authors to more
14 easily build their Haskell applications in a portable way.
16 The Haskell Cabal is part of a larger infrastructure for distributing,
17 organizing, and cataloging Haskell libraries and tools.
18 category: Distribution
21 -- If we use a new Cabal feature, this needs to be changed to Custom so
25 README.md tests/README.md ChangeLog.md
26 doc/bugs-and-stability.rst doc/concepts-and-development.rst
27 doc/conf.py doc/config-and-install.rst doc/developing-packages.rst
28 doc/images/Cabal-dark.png doc/index.rst doc/installing-packages.rst
29 doc/intro.rst doc/misc.rst doc/nix-local-build-overview.rst
30 doc/nix-local-build.rst doc/README.md doc/references.inc
32 -- Generated with 'make gen-extra-source-files'
33 -- Do NOT edit this section manually; instead, run the script.
34 -- BEGIN gen-extra-source-files
35 tests/ParserTests/errors/common1.cabal
36 tests/ParserTests/errors/common1.errors
37 tests/ParserTests/errors/common2.cabal
38 tests/ParserTests/errors/common2.errors
39 tests/ParserTests/errors/common3.cabal
40 tests/ParserTests/errors/common3.errors
41 tests/ParserTests/errors/forward-compat.cabal
42 tests/ParserTests/errors/forward-compat.errors
43 tests/ParserTests/errors/forward-compat2.cabal
44 tests/ParserTests/errors/forward-compat2.errors
45 tests/ParserTests/errors/forward-compat3.cabal
46 tests/ParserTests/errors/forward-compat3.errors
47 tests/ParserTests/errors/issue-5055-2.cabal
48 tests/ParserTests/errors/issue-5055-2.errors
49 tests/ParserTests/errors/issue-5055.cabal
50 tests/ParserTests/errors/issue-5055.errors
51 tests/ParserTests/errors/leading-comma.cabal
52 tests/ParserTests/errors/leading-comma.errors
53 tests/ParserTests/errors/noVersion.cabal
54 tests/ParserTests/errors/noVersion.errors
55 tests/ParserTests/errors/noVersion2.cabal
56 tests/ParserTests/errors/noVersion2.errors
57 tests/ParserTests/errors/range-ge-wild.cabal
58 tests/ParserTests/errors/range-ge-wild.errors
59 tests/ParserTests/ipi/Includes2.cabal
60 tests/ParserTests/ipi/Includes2.expr
61 tests/ParserTests/ipi/Includes2.format
62 tests/ParserTests/ipi/internal-preprocessor-test.cabal
63 tests/ParserTests/ipi/internal-preprocessor-test.expr
64 tests/ParserTests/ipi/internal-preprocessor-test.format
65 tests/ParserTests/ipi/issue-2276-ghc-9885.cabal
66 tests/ParserTests/ipi/issue-2276-ghc-9885.expr
67 tests/ParserTests/ipi/issue-2276-ghc-9885.format
68 tests/ParserTests/ipi/transformers.cabal
69 tests/ParserTests/ipi/transformers.expr
70 tests/ParserTests/ipi/transformers.format
71 tests/ParserTests/regressions/MiniAgda.cabal
72 tests/ParserTests/regressions/MiniAgda.check
73 tests/ParserTests/regressions/Octree-0.5.cabal
74 tests/ParserTests/regressions/Octree-0.5.expr
75 tests/ParserTests/regressions/Octree-0.5.format
76 tests/ParserTests/regressions/bad-glob-syntax.cabal
77 tests/ParserTests/regressions/bad-glob-syntax.check
78 tests/ParserTests/regressions/cc-options-with-optimization.cabal
79 tests/ParserTests/regressions/cc-options-with-optimization.check
80 tests/ParserTests/regressions/common.cabal
81 tests/ParserTests/regressions/common.expr
82 tests/ParserTests/regressions/common.format
83 tests/ParserTests/regressions/common2.cabal
84 tests/ParserTests/regressions/common2.expr
85 tests/ParserTests/regressions/common2.format
86 tests/ParserTests/regressions/cxx-options-with-optimization.cabal
87 tests/ParserTests/regressions/cxx-options-with-optimization.check
88 tests/ParserTests/regressions/elif.cabal
89 tests/ParserTests/regressions/elif.expr
90 tests/ParserTests/regressions/elif.format
91 tests/ParserTests/regressions/elif2.cabal
92 tests/ParserTests/regressions/elif2.expr
93 tests/ParserTests/regressions/elif2.format
94 tests/ParserTests/regressions/encoding-0.8.cabal
95 tests/ParserTests/regressions/encoding-0.8.expr
96 tests/ParserTests/regressions/encoding-0.8.format
97 tests/ParserTests/regressions/extensions-paths-5054.cabal
98 tests/ParserTests/regressions/extensions-paths-5054.check
99 tests/ParserTests/regressions/generics-sop.cabal
100 tests/ParserTests/regressions/generics-sop.expr
101 tests/ParserTests/regressions/generics-sop.format
102 tests/ParserTests/regressions/ghc-option-j.cabal
103 tests/ParserTests/regressions/ghc-option-j.check
104 tests/ParserTests/regressions/haddock-api-2.18.1-check.cabal
105 tests/ParserTests/regressions/haddock-api-2.18.1-check.check
106 tests/ParserTests/regressions/issue-5055.cabal
107 tests/ParserTests/regressions/issue-5055.expr
108 tests/ParserTests/regressions/issue-5055.format
109 tests/ParserTests/regressions/issue-774.cabal
110 tests/ParserTests/regressions/issue-774.check
111 tests/ParserTests/regressions/issue-774.expr
112 tests/ParserTests/regressions/issue-774.format
113 tests/ParserTests/regressions/leading-comma.cabal
114 tests/ParserTests/regressions/leading-comma.expr
115 tests/ParserTests/regressions/leading-comma.format
116 tests/ParserTests/regressions/noVersion.cabal
117 tests/ParserTests/regressions/noVersion.expr
118 tests/ParserTests/regressions/noVersion.format
119 tests/ParserTests/regressions/nothing-unicode.cabal
120 tests/ParserTests/regressions/nothing-unicode.check
121 tests/ParserTests/regressions/nothing-unicode.expr
122 tests/ParserTests/regressions/nothing-unicode.format
123 tests/ParserTests/regressions/pre-1.6-glob.cabal
124 tests/ParserTests/regressions/pre-1.6-glob.check
125 tests/ParserTests/regressions/pre-3.0-globstar.cabal
126 tests/ParserTests/regressions/pre-3.0-globstar.check
127 tests/ParserTests/regressions/shake.cabal
128 tests/ParserTests/regressions/shake.expr
129 tests/ParserTests/regressions/shake.format
130 tests/ParserTests/regressions/th-lift-instances.cabal
131 tests/ParserTests/regressions/th-lift-instances.expr
132 tests/ParserTests/regressions/th-lift-instances.format
133 tests/ParserTests/regressions/wl-pprint-indef.cabal
134 tests/ParserTests/regressions/wl-pprint-indef.expr
135 tests/ParserTests/regressions/wl-pprint-indef.format
136 tests/ParserTests/warnings/bom.cabal
137 tests/ParserTests/warnings/bool.cabal
138 tests/ParserTests/warnings/deprecatedfield.cabal
139 tests/ParserTests/warnings/doubledash.cabal
140 tests/ParserTests/warnings/extratestmodule.cabal
141 tests/ParserTests/warnings/gluedop.cabal
142 tests/ParserTests/warnings/multiplesingular.cabal
143 tests/ParserTests/warnings/nbsp.cabal
144 tests/ParserTests/warnings/newsyntax.cabal
145 tests/ParserTests/warnings/oldsyntax.cabal
146 tests/ParserTests/warnings/subsection.cabal
147 tests/ParserTests/warnings/tab.cabal
148 tests/ParserTests/warnings/trailingfield.cabal
149 tests/ParserTests/warnings/unknownfield.cabal
150 tests/ParserTests/warnings/unknownsection.cabal
151 tests/ParserTests/warnings/utf8.cabal
152 tests/ParserTests/warnings/versiontag.cabal
153 tests/hackage/check.sh
154 tests/hackage/download.sh
155 tests/hackage/unpack.sh
156 tests/misc/ghc-supported-languages.hs
157 -- END gen-extra-source-files
159 source-repository head
161 location: https://github.com/haskell/cabal/
164 flag bundled-binary-generic
168 description: Use directory < 1.2 and old-time
173 array >= 0.4 && < 0.6,
175 bytestring >= 0.9.2.1 && < 0.11,
176 containers >= 0.4.2.1 && < 0.6,
177 deepseq >= 1.3 && < 1.5,
178 filepath >= 1.3 && < 1.5,
179 pretty >= 1.1.1 && < 1.2,
180 process >= 1.1.0.1 && < 1.7,
181 time >= 1.4 && < 1.10
183 if flag(old-directory)
184 build-depends: directory >= 1.1.0.2 && < 1.2,
185 process >= 1.0.1.1 && < 1.1.0.2,
186 old-time >= 1.1 && < 1.2
188 build-depends: directory >= 1.2 && < 1.4,
189 process >= 1.1.0.2 && < 1.7
191 if flag(bundled-binary-generic)
192 build-depends: binary >= 0.5.1 && < 0.7
194 build-depends: binary >= 0.7 && < 0.9
196 -- Needed for GHC.Generics before GHC 7.6
198 build-depends: ghc-prim >= 0.2 && < 0.3
201 build-depends: Win32 >= 2.2.2 && < 2.7
203 build-depends: unix >= 2.5.1 && < 2.9
205 ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs
207 ghc-options: -Wcompat -Wnoncanonical-monad-instances
208 -Wnoncanonical-monadfail-instances
211 Distribution.Backpack
212 Distribution.Backpack.Configure
213 Distribution.Backpack.ComponentsGraph
214 Distribution.Backpack.ConfiguredComponent
215 Distribution.Backpack.DescribeUnitId
216 Distribution.Backpack.FullUnitId
217 Distribution.Backpack.LinkedComponent
218 Distribution.Backpack.ModSubst
219 Distribution.Backpack.ModuleShape
220 Distribution.Backpack.PreModuleShape
221 Distribution.CabalSpecVersion
222 Distribution.Utils.IOData
223 Distribution.Utils.LogProgress
224 Distribution.Utils.MapAccum
225 Distribution.Compat.CreatePipe
226 Distribution.Compat.Directory
227 Distribution.Compat.Environment
228 Distribution.Compat.Exception
229 Distribution.Compat.Graph
230 Distribution.Compat.Internal.TempFile
231 Distribution.Compat.Map.Strict
232 Distribution.Compat.Newtype
233 Distribution.Compat.Prelude.Internal
234 Distribution.Compat.ReadP
235 Distribution.Compat.Semigroup
236 Distribution.Compat.Stack
237 Distribution.Compat.Time
238 Distribution.Compat.DList
239 Distribution.Compiler
240 Distribution.InstalledPackageInfo
241 Distribution.Types.AbiDependency
242 Distribution.Types.ExposedModule
243 Distribution.Types.InstalledPackageInfo
244 Distribution.Types.InstalledPackageInfo.FieldGrammar
247 Distribution.ModuleName
249 Distribution.PackageDescription
250 Distribution.PackageDescription.Check
251 Distribution.PackageDescription.Configuration
252 Distribution.PackageDescription.PrettyPrint
253 Distribution.PackageDescription.Utils
254 Distribution.ParseUtils
255 Distribution.PrettyUtils
258 Distribution.Simple.Bench
259 Distribution.Simple.Build
260 Distribution.Simple.Build.Macros
261 Distribution.Simple.Build.PathsModule
262 Distribution.Simple.BuildPaths
263 Distribution.Simple.BuildTarget
264 Distribution.Simple.BuildToolDepends
265 Distribution.Simple.CCompiler
266 Distribution.Simple.Command
267 Distribution.Simple.Compiler
268 Distribution.Simple.Configure
269 Distribution.Simple.Flag
270 Distribution.Simple.GHC
271 Distribution.Simple.GHCJS
272 Distribution.Simple.Haddock
273 Distribution.Simple.Doctest
274 Distribution.Simple.Glob
275 Distribution.Simple.HaskellSuite
276 Distribution.Simple.Hpc
277 Distribution.Simple.Install
278 Distribution.Simple.InstallDirs
279 Distribution.Simple.LocalBuildInfo
280 Distribution.Simple.PackageIndex
281 Distribution.Simple.PreProcess
282 Distribution.Simple.PreProcess.Unlit
283 Distribution.Simple.Program
284 Distribution.Simple.Program.Ar
285 Distribution.Simple.Program.Builtin
286 Distribution.Simple.Program.Db
287 Distribution.Simple.Program.Find
288 Distribution.Simple.Program.GHC
289 Distribution.Simple.Program.HcPkg
290 Distribution.Simple.Program.Hpc
291 Distribution.Simple.Program.Internal
292 Distribution.Simple.Program.Ld
293 Distribution.Simple.Program.ResponseFile
294 Distribution.Simple.Program.Run
295 Distribution.Simple.Program.Script
296 Distribution.Simple.Program.Strip
297 Distribution.Simple.Program.Types
298 Distribution.Simple.Register
299 Distribution.Simple.Setup
300 Distribution.Simple.SrcDist
301 Distribution.Simple.Test
302 Distribution.Simple.Test.ExeV10
303 Distribution.Simple.Test.LibV09
304 Distribution.Simple.Test.Log
305 Distribution.Simple.UHC
306 Distribution.Simple.UserHooks
307 Distribution.Simple.Utils
309 Distribution.SPDX.License
310 Distribution.SPDX.LicenseId
311 Distribution.SPDX.LicenseExceptionId
312 Distribution.SPDX.LicenseExpression
313 Distribution.SPDX.LicenseReference
315 Distribution.TestSuite
318 Distribution.Types.AbiHash
319 Distribution.Types.AnnotatedId
320 Distribution.Types.Benchmark
321 Distribution.Types.BenchmarkInterface
322 Distribution.Types.BenchmarkType
323 Distribution.Types.BuildInfo
324 Distribution.Types.BuildType
325 Distribution.Types.ComponentInclude
326 Distribution.Types.Dependency
327 Distribution.Types.ExeDependency
328 Distribution.Types.LegacyExeDependency
329 Distribution.Types.PkgconfigDependency
330 Distribution.Types.DependencyMap
331 Distribution.Types.ComponentId
332 Distribution.Types.MungedPackageId
333 Distribution.Types.PackageId
334 Distribution.Types.UnitId
335 Distribution.Types.Executable
336 Distribution.Types.ExecutableScope
337 Distribution.Types.Library
338 Distribution.Types.ForeignLib
339 Distribution.Types.ForeignLibType
340 Distribution.Types.ForeignLibOption
341 Distribution.Types.Module
342 Distribution.Types.ModuleReexport
343 Distribution.Types.ModuleRenaming
344 Distribution.Types.ComponentName
345 Distribution.Types.MungedPackageName
346 Distribution.Types.PackageName
347 Distribution.Types.PkgconfigName
348 Distribution.Types.UnqualComponentName
349 Distribution.Types.IncludeRenaming
350 Distribution.Types.Mixin
351 Distribution.Types.SetupBuildInfo
352 Distribution.Types.TestSuite
353 Distribution.Types.TestSuiteInterface
354 Distribution.Types.TestType
355 Distribution.Types.GenericPackageDescription
356 Distribution.Types.Condition
357 Distribution.Types.CondTree
358 Distribution.Types.HookedBuildInfo
359 Distribution.Types.PackageDescription
360 Distribution.Types.SourceRepo
361 Distribution.Types.Component
362 Distribution.Types.ComponentLocalBuildInfo
363 Distribution.Types.LocalBuildInfo
364 Distribution.Types.ComponentRequestedSpec
365 Distribution.Types.TargetInfo
366 Distribution.Types.Version
367 Distribution.Types.VersionRange
368 Distribution.Types.VersionInterval
369 Distribution.Utils.Generic
370 Distribution.Utils.NubList
371 Distribution.Utils.ShortText
372 Distribution.Utils.Progress
373 Distribution.Verbosity
375 Language.Haskell.Extension
376 Distribution.Compat.Binary
378 -- Parsec parser-related modules
380 -- transformers-0.4.0.0 doesn't have record syntax e.g. for Identity
381 -- See also https://github.com/ekmett/transformers-compat/issues/35
382 transformers (>= 0.3 && < 0.4) || (>=0.4.1.0 && <0.6),
384 text >= 1.2.3.0 && < 1.3,
385 parsec >= 3.1.13.0 && < 3.2
387 Distribution.Compat.Parsing
388 Distribution.Compat.CharParsing
389 Distribution.FieldGrammar
390 Distribution.FieldGrammar.Class
391 Distribution.FieldGrammar.FieldDescrs
392 Distribution.FieldGrammar.Parsec
393 Distribution.FieldGrammar.Pretty
394 Distribution.PackageDescription.FieldGrammar
395 Distribution.PackageDescription.Parsec
396 Distribution.PackageDescription.Quirks
397 Distribution.Parsec.Class
398 Distribution.Parsec.Common
399 Distribution.Parsec.ConfVar
400 Distribution.Parsec.Field
401 Distribution.Parsec.FieldLineStream
402 Distribution.Parsec.Lexer
403 Distribution.Parsec.LexerMonad
404 Distribution.Parsec.Newtypes
405 Distribution.Parsec.ParseResult
406 Distribution.Parsec.Parser
408 -- Lens functionality
410 Distribution.Compat.Lens
411 Distribution.Types.Lens
412 Distribution.Types.Benchmark.Lens
413 Distribution.Types.BuildInfo.Lens
414 Distribution.Types.Executable.Lens
415 Distribution.Types.ForeignLib.Lens
416 Distribution.Types.GenericPackageDescription.Lens
417 Distribution.Types.InstalledPackageInfo.Lens
418 Distribution.Types.Library.Lens
419 Distribution.Types.PackageDescription.Lens
420 Distribution.Types.PackageId.Lens
421 Distribution.Types.SetupBuildInfo.Lens
422 Distribution.Types.SourceRepo.Lens
423 Distribution.Types.TestSuite.Lens
426 Distribution.Backpack.PreExistingComponent
427 Distribution.Backpack.ReadyComponent
428 Distribution.Backpack.MixLink
429 Distribution.Backpack.ModuleScope
430 Distribution.Backpack.UnifyM
431 Distribution.Backpack.Id
432 Distribution.Utils.UnionFind
433 Distribution.Utils.Base62
434 Distribution.Compat.CopyFile
435 Distribution.Compat.GetShortPathName
436 Distribution.Compat.MonadFail
437 Distribution.Compat.Prelude
438 Distribution.Compat.SnocList
441 Distribution.Utils.String
442 Distribution.Simple.GHC.Internal
443 Distribution.Simple.GHC.IPI642
444 Distribution.Simple.GHC.IPIConvert
445 Distribution.Simple.GHC.ImplInfo
448 if flag(bundled-binary-generic)
450 Distribution.Compat.Binary.Class
451 Distribution.Compat.Binary.Generic
453 default-language: Haskell2010
463 ExistentialQuantification
466 GeneralizedNewtypeDeriving
469 NondecreasingIndentation
482 other-extensions: PatternSynonyms
484 -- Small, fast running tests.
485 test-suite unit-tests
486 type: exitcode-stdio-1.0
487 hs-source-dirs: tests
490 Test.QuickCheck.Utils
491 UnitTests.Distribution.Compat.CreatePipe
492 UnitTests.Distribution.Compat.ReadP
493 UnitTests.Distribution.Compat.Time
494 UnitTests.Distribution.Compat.Graph
495 UnitTests.Distribution.Simple.Glob
496 UnitTests.Distribution.Simple.Program.Internal
497 UnitTests.Distribution.Simple.Utils
498 UnitTests.Distribution.SPDX
499 UnitTests.Distribution.System
500 UnitTests.Distribution.Types.GenericPackageDescription
501 UnitTests.Distribution.Utils.Generic
502 UnitTests.Distribution.Utils.NubList
503 UnitTests.Distribution.Utils.ShortText
504 UnitTests.Distribution.Version
505 main-is: UnitTests.hs
513 integer-logarithms >= 1.0.2 && <1.1,
514 tasty >= 1.0 && < 1.1,
521 QuickCheck >= 2.11.3 && < 2.12,
524 default-language: Haskell2010
526 test-suite parser-tests
527 type: exitcode-stdio-1.0
528 hs-source-dirs: tests
529 main-is: ParserTests.hs
532 base-compat >=0.9.3 && <0.10,
535 tasty >= 1.0 && < 1.1,
538 tasty-golden >=2.3.1.1 && <2.4,
539 Diff >=0.3.4 && <0.4,
542 default-language: Haskell2010
546 tree-diff >= 0.0.1 && <0.1
549 Instances.TreeDiff.Language
550 Instances.TreeDiff.SPDX
551 Instances.TreeDiff.Version
553 test-suite check-tests
554 type: exitcode-stdio-1.0
555 hs-source-dirs: tests
556 main-is: CheckTests.hs
561 tasty >= 1.0 && < 1.1,
562 tasty-golden >=2.3.1.1 && <2.4,
563 Diff >=0.3.4 && <0.4,
566 default-language: Haskell2010
568 test-suite custom-setup-tests
569 type: exitcode-stdio-1.0
570 hs-source-dirs: tests/custom-setup
571 main-is: CustomSetupTests.hs
581 default-language: Haskell2010
583 test-suite hackage-tests
584 type: exitcode-stdio-1.0
585 main-is: HackageTests.hs
587 -- TODO: need to get 01-index.tar on appveyor
591 hs-source-dirs: tests
603 base-compat >=0.9.3 && <0.10,
604 base-orphans >=0.6 && <0.7,
605 optparse-applicative >=0.13.2.0 && <0.15,
606 tar >=0.5.0.3 && <0.6
610 tree-diff >= 0.0.1 && <0.1
613 Instances.TreeDiff.Language
614 Instances.TreeDiff.SPDX
615 Instances.TreeDiff.Version
617 ghc-options: -Wall -rtsopts -threaded
618 default-extensions: CPP
619 default-language: Haskell2010