4 copyright: 2003-2023, Cabal Development Team (see AUTHORS file)
7 author: Cabal Development Team <cabal-devel@haskell.org>
8 maintainer: cabal-devel@haskell.org
9 homepage: http://www.haskell.org/cabal/
10 bug-reports: https://github.com/haskell/cabal/issues
11 synopsis: A framework for packaging Haskell software
13 The Haskell Common Architecture for Building Applications and
14 Libraries: a framework defining a common interface for authors to more
15 easily build their Haskell applications in a portable way.
17 The Haskell Cabal is part of a larger infrastructure for distributing,
18 organizing, and cataloging Haskell libraries and tools.
19 category: Distribution
21 -- If we use a new Cabal feature, this needs to be changed to Custom so
25 README.md ChangeLog.md
27 source-repository head
29 location: https://github.com/haskell/cabal/
33 default-language: Haskell2010
37 Cabal-syntax ^>= 3.11,
38 array >= 0.4.0.1 && < 0.6,
40 bytestring >= 0.10.0.0 && < 0.13,
41 containers >= 0.5.0.0 && < 0.8,
42 deepseq >= 1.3.0.1 && < 1.6,
43 directory >= 1.2 && < 1.4,
44 filepath >= 1.3.0.1 && < 1.6,
45 pretty >= 1.1.1 && < 1.2,
46 process >= 1.2.1.0 && < 1.7,
47 time >= 1.4.0.1 && < 1.13
50 build-depends: Win32 >= 2.3.0.0 && < 2.14
52 build-depends: unix >= 2.6.0.0 && < 2.9
54 ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates
57 ghc-options: -Wcompat -Wnoncanonical-monad-instances
59 if impl(ghc >= 8.0) && impl(ghc < 8.8)
60 ghc-options: -Wnoncanonical-monadfail-instances
63 Distribution.Backpack.Configure
64 Distribution.Backpack.ComponentsGraph
65 Distribution.Backpack.ConfiguredComponent
66 Distribution.Backpack.DescribeUnitId
67 Distribution.Backpack.FullUnitId
68 Distribution.Backpack.LinkedComponent
69 Distribution.Backpack.ModSubst
70 Distribution.Backpack.ModuleShape
71 Distribution.Backpack.PreModuleShape
72 Distribution.Utils.IOData
73 Distribution.Utils.LogProgress
74 Distribution.Utils.MapAccum
75 Distribution.Compat.CreatePipe
76 Distribution.Compat.Directory
77 Distribution.Compat.Environment
78 Distribution.Compat.FilePath
79 Distribution.Compat.Internal.TempFile
80 Distribution.Compat.ResponseFile
81 Distribution.Compat.Prelude.Internal
82 Distribution.Compat.Process
83 Distribution.Compat.Stack
84 Distribution.Compat.Time
86 Distribution.PackageDescription.Check
89 Distribution.Simple.Bench
90 Distribution.Simple.Build
91 Distribution.Simple.Build.Macros
92 Distribution.Simple.Build.PackageInfoModule
93 Distribution.Simple.Build.PathsModule
94 Distribution.Simple.BuildPaths
95 Distribution.Simple.BuildTarget
96 Distribution.Simple.BuildToolDepends
97 Distribution.Simple.CCompiler
98 Distribution.Simple.Command
99 Distribution.Simple.Compiler
100 Distribution.Simple.Configure
101 Distribution.Simple.Errors
102 Distribution.Simple.Flag
103 Distribution.Simple.GHC
104 Distribution.Simple.GHCJS
105 Distribution.Simple.Haddock
106 Distribution.Simple.Glob
107 Distribution.Simple.HaskellSuite
108 Distribution.Simple.Hpc
109 Distribution.Simple.Install
110 Distribution.Simple.InstallDirs
111 Distribution.Simple.InstallDirs.Internal
112 Distribution.Simple.LocalBuildInfo
113 Distribution.Simple.PackageDescription
114 Distribution.Simple.PackageIndex
115 Distribution.Simple.PreProcess
116 Distribution.Simple.PreProcess.Unlit
117 Distribution.Simple.Program
118 Distribution.Simple.Program.Ar
119 Distribution.Simple.Program.Builtin
120 Distribution.Simple.Program.Db
121 Distribution.Simple.Program.Find
122 Distribution.Simple.Program.GHC
123 Distribution.Simple.Program.HcPkg
124 Distribution.Simple.Program.Hpc
125 Distribution.Simple.Program.Internal
126 Distribution.Simple.Program.Ld
127 Distribution.Simple.Program.ResponseFile
128 Distribution.Simple.Program.Run
129 Distribution.Simple.Program.Script
130 Distribution.Simple.Program.Strip
131 Distribution.Simple.Program.Types
132 Distribution.Simple.Register
133 Distribution.Simple.Setup
134 Distribution.Simple.ShowBuildInfo
135 Distribution.Simple.SrcDist
136 Distribution.Simple.Test
137 Distribution.Simple.Test.ExeV10
138 Distribution.Simple.Test.LibV09
139 Distribution.Simple.Test.Log
140 Distribution.Simple.UHC
141 Distribution.Simple.UserHooks
142 Distribution.Simple.Utils
143 Distribution.TestSuite
144 Distribution.Types.AnnotatedId
145 Distribution.Types.ComponentInclude
146 Distribution.Types.DumpBuildInfo
147 Distribution.Types.PackageName.Magic
148 Distribution.Types.ComponentLocalBuildInfo
149 Distribution.Types.LocalBuildConfig
150 Distribution.Types.LocalBuildInfo
151 Distribution.Types.TargetInfo
152 Distribution.Types.GivenComponent
153 Distribution.Types.ParStrat
154 Distribution.Utils.Json
155 Distribution.Utils.NubList
156 Distribution.Utils.Progress
157 Distribution.Verbosity
158 Distribution.Verbosity.Internal
160 -- We reexport all of Cabal-syntax to aid in compatibility for downstream
161 -- users. In the future we may opt to deprecate some or all of these exports.
162 -- See haskell/Cabal#7974.
164 Distribution.Backpack,
165 Distribution.CabalSpecVersion,
166 Distribution.Compat.Binary,
167 Distribution.Compat.CharParsing,
168 Distribution.Compat.DList,
169 Distribution.Compat.Exception,
170 Distribution.Compat.Graph,
171 Distribution.Compat.Lens,
172 Distribution.Compat.MonadFail,
173 Distribution.Compat.Newtype,
174 Distribution.Compat.NonEmptySet,
175 Distribution.Compat.Parsing,
176 Distribution.Compat.Prelude,
177 Distribution.Compat.Semigroup,
178 Distribution.Compat.Typeable,
179 Distribution.Compiler,
180 Distribution.FieldGrammar,
181 Distribution.FieldGrammar.Class,
182 Distribution.FieldGrammar.FieldDescrs,
183 Distribution.FieldGrammar.Newtypes,
184 Distribution.FieldGrammar.Parsec,
185 Distribution.FieldGrammar.Pretty,
187 Distribution.Fields.ConfVar,
188 Distribution.Fields.Field,
189 Distribution.Fields.Lexer,
190 Distribution.Fields.LexerMonad,
191 Distribution.Fields.ParseResult,
192 Distribution.Fields.Parser,
193 Distribution.Fields.Pretty,
194 Distribution.InstalledPackageInfo,
195 Distribution.License,
196 Distribution.ModuleName,
197 Distribution.Package,
198 Distribution.PackageDescription,
199 Distribution.PackageDescription.Configuration,
200 Distribution.PackageDescription.FieldGrammar,
201 Distribution.PackageDescription.Parsec,
202 Distribution.PackageDescription.PrettyPrint,
203 Distribution.PackageDescription.Quirks,
204 Distribution.PackageDescription.Utils,
206 Distribution.Parsec.Error,
207 Distribution.Parsec.FieldLineStream,
208 Distribution.Parsec.Position,
209 Distribution.Parsec.Warning,
212 Distribution.SPDX.License,
213 Distribution.SPDX.LicenseExceptionId,
214 Distribution.SPDX.LicenseExpression,
215 Distribution.SPDX.LicenseId,
216 Distribution.SPDX.LicenseListVersion,
217 Distribution.SPDX.LicenseReference,
220 Distribution.Types.AbiDependency,
221 Distribution.Types.AbiHash,
222 Distribution.Types.Benchmark,
223 Distribution.Types.Benchmark.Lens,
224 Distribution.Types.BenchmarkInterface,
225 Distribution.Types.BenchmarkType,
226 Distribution.Types.BuildInfo,
227 Distribution.Types.BuildInfo.Lens,
228 Distribution.Types.BuildType,
229 Distribution.Types.Component,
230 Distribution.Types.ComponentId,
231 Distribution.Types.ComponentName,
232 Distribution.Types.ComponentRequestedSpec,
233 Distribution.Types.CondTree,
234 Distribution.Types.Condition,
235 Distribution.Types.ConfVar,
236 Distribution.Types.Dependency,
237 Distribution.Types.DependencyMap,
238 Distribution.Types.ExeDependency,
239 Distribution.Types.Executable,
240 Distribution.Types.Executable.Lens,
241 Distribution.Types.ExecutableScope,
242 Distribution.Types.ExposedModule,
243 Distribution.Types.Flag,
244 Distribution.Types.ForeignLib,
245 Distribution.Types.ForeignLib.Lens,
246 Distribution.Types.ForeignLibOption,
247 Distribution.Types.ForeignLibType,
248 Distribution.Types.GenericPackageDescription,
249 Distribution.Types.GenericPackageDescription.Lens,
250 Distribution.Types.HookedBuildInfo,
251 Distribution.Types.IncludeRenaming,
252 Distribution.Types.InstalledPackageInfo,
253 Distribution.Types.InstalledPackageInfo.Lens,
254 Distribution.Types.InstalledPackageInfo.FieldGrammar,
255 Distribution.Types.LegacyExeDependency,
256 Distribution.Types.Lens,
257 Distribution.Types.Library,
258 Distribution.Types.Library.Lens,
259 Distribution.Types.LibraryName,
260 Distribution.Types.LibraryVisibility,
261 Distribution.Types.Mixin,
262 Distribution.Types.Module,
263 Distribution.Types.ModuleReexport,
264 Distribution.Types.ModuleRenaming,
265 Distribution.Types.MungedPackageId,
266 Distribution.Types.MungedPackageName,
267 Distribution.Types.PackageDescription,
268 Distribution.Types.PackageDescription.Lens,
269 Distribution.Types.PackageId,
270 Distribution.Types.PackageId.Lens,
271 Distribution.Types.PackageName,
272 Distribution.Types.PackageVersionConstraint,
273 Distribution.Types.PkgconfigDependency,
274 Distribution.Types.PkgconfigName,
275 Distribution.Types.PkgconfigVersion,
276 Distribution.Types.PkgconfigVersionRange,
277 Distribution.Types.SetupBuildInfo,
278 Distribution.Types.SetupBuildInfo.Lens,
279 Distribution.Types.SourceRepo,
280 Distribution.Types.SourceRepo.Lens,
281 Distribution.Types.TestSuite,
282 Distribution.Types.TestSuite.Lens,
283 Distribution.Types.TestSuiteInterface,
284 Distribution.Types.TestType,
285 Distribution.Types.UnitId,
286 Distribution.Types.UnqualComponentName,
287 Distribution.Types.Version,
288 Distribution.Types.VersionInterval,
289 Distribution.Types.VersionInterval.Legacy,
290 Distribution.Types.VersionRange,
291 Distribution.Types.VersionRange.Internal,
292 Distribution.Utils.Base62,
293 Distribution.Utils.Generic,
294 Distribution.Utils.MD5,
295 Distribution.Utils.Path,
296 Distribution.Utils.ShortText,
297 Distribution.Utils.String,
298 Distribution.Utils.Structured,
299 Distribution.Version,
300 Language.Haskell.Extension
302 -- Parsec parser-related modules
304 -- transformers-0.4.0.0 doesn't have record syntax e.g. for Identity
305 -- See also https://github.com/ekmett/transformers-compat/issues/35
306 transformers (>= 0.3 && < 0.4) || (>=0.4.1.0 && <0.7),
308 text (>= 1.2.3.0 && < 1.3) || (>= 2.0 && < 2.2),
309 parsec >= 3.1.13.0 && < 3.2
312 Distribution.Backpack.PreExistingComponent
313 Distribution.Backpack.ReadyComponent
314 Distribution.Backpack.MixLink
315 Distribution.Backpack.ModuleScope
316 Distribution.Backpack.UnifyM
317 Distribution.Backpack.Id
318 Distribution.Utils.UnionFind
319 Distribution.Compat.Async
320 Distribution.Compat.CopyFile
321 Distribution.Compat.GetShortPathName
322 Distribution.Compat.SnocList
325 Distribution.PackageDescription.Check.Common
326 Distribution.PackageDescription.Check.Conditional
327 Distribution.PackageDescription.Check.Monad
328 Distribution.PackageDescription.Check.Paths
329 Distribution.PackageDescription.Check.Target
330 Distribution.PackageDescription.Check.Warning
331 Distribution.Simple.Build.Macros.Z
332 Distribution.Simple.Build.PackageInfoModule.Z
333 Distribution.Simple.Build.PathsModule.Z
334 Distribution.Simple.GHC.Build
335 Distribution.Simple.GHC.BuildOrRepl
336 Distribution.Simple.GHC.BuildGeneric
337 Distribution.Simple.GHC.EnvironmentParser
338 Distribution.Simple.GHC.Internal
339 Distribution.Simple.GHC.ImplInfo
340 Distribution.Simple.ConfigureScript
341 Distribution.Simple.Setup.Benchmark
342 Distribution.Simple.Setup.Build
343 Distribution.Simple.Setup.Clean
344 Distribution.Simple.Setup.Common
345 Distribution.Simple.Setup.Config
346 Distribution.Simple.Setup.Copy
347 Distribution.Simple.Setup.Global
348 Distribution.Simple.Setup.Haddock
349 Distribution.Simple.Setup.Hscolour
350 Distribution.Simple.Setup.Install
351 Distribution.Simple.Setup.Register
352 Distribution.Simple.Setup.Repl
353 Distribution.Simple.Setup.SDist
354 Distribution.Simple.Setup.Test
355 Distribution.ZinzaPrelude
370 ExistentialQuantification
373 GeneralizedNewtypeDeriving
377 NondecreasingIndentation