4 copyright: 2003-2024, 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.13,
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.15
50 build-depends: Win32 >= 2.3.0.0 && < 2.15
52 build-depends: unix >= 2.6.0.0 && < 2.9
58 -fwarn-incomplete-uni-patterns
59 -fwarn-incomplete-record-updates
60 -fno-warn-unticked-promoted-constructors
63 ghc-options: -Wcompat -Wnoncanonical-monad-instances
65 if impl(ghc >= 8.0) && impl(ghc < 8.8)
66 ghc-options: -Wnoncanonical-monadfail-instances
69 Distribution.Backpack.Configure
70 Distribution.Backpack.ComponentsGraph
71 Distribution.Backpack.ConfiguredComponent
72 Distribution.Backpack.DescribeUnitId
73 Distribution.Backpack.FullUnitId
74 Distribution.Backpack.LinkedComponent
75 Distribution.Backpack.ModSubst
76 Distribution.Backpack.ModuleShape
77 Distribution.Backpack.PreModuleShape
78 Distribution.Utils.IOData
79 Distribution.Utils.LogProgress
80 Distribution.Utils.MapAccum
81 Distribution.Compat.CreatePipe
82 Distribution.Compat.Directory
83 Distribution.Compat.Environment
84 Distribution.Compat.FilePath
85 Distribution.Compat.Internal.TempFile
86 Distribution.Compat.ResponseFile
87 Distribution.Compat.Prelude.Internal
88 Distribution.Compat.Process
89 Distribution.Compat.Stack
90 Distribution.Compat.Time
92 Distribution.PackageDescription.Check
95 Distribution.Simple.Bench
96 Distribution.Simple.Build
97 Distribution.Simple.Build.Inputs
98 Distribution.Simple.Build.Macros
99 Distribution.Simple.Build.PackageInfoModule
100 Distribution.Simple.Build.PathsModule
101 Distribution.Simple.BuildPaths
102 Distribution.Simple.BuildTarget
103 Distribution.Simple.BuildToolDepends
104 Distribution.Simple.CCompiler
105 Distribution.Simple.Command
106 Distribution.Simple.Compiler
107 Distribution.Simple.Configure
108 Distribution.Simple.Errors
109 Distribution.Simple.FileMonitor.Types
110 Distribution.Simple.Flag
111 Distribution.Simple.GHC
112 Distribution.Simple.GHCJS
113 Distribution.Simple.Haddock
114 Distribution.Simple.Glob
115 Distribution.Simple.Glob.Internal
116 Distribution.Simple.HaskellSuite
117 Distribution.Simple.Hpc
118 Distribution.Simple.Install
119 Distribution.Simple.InstallDirs
120 Distribution.Simple.InstallDirs.Internal
121 Distribution.Simple.LocalBuildInfo
122 Distribution.Simple.PackageDescription
123 Distribution.Simple.PackageIndex
124 Distribution.Simple.PreProcess
125 Distribution.Simple.PreProcess.Types
126 Distribution.Simple.PreProcess.Unlit
127 Distribution.Simple.Program
128 Distribution.Simple.Program.Ar
129 Distribution.Simple.Program.Builtin
130 Distribution.Simple.Program.Db
131 Distribution.Simple.Program.Find
132 Distribution.Simple.Program.GHC
133 Distribution.Simple.Program.HcPkg
134 Distribution.Simple.Program.Hpc
135 Distribution.Simple.Program.Internal
136 Distribution.Simple.Program.Ld
137 Distribution.Simple.Program.ResponseFile
138 Distribution.Simple.Program.Run
139 Distribution.Simple.Program.Script
140 Distribution.Simple.Program.Strip
141 Distribution.Simple.Program.Types
142 Distribution.Simple.Register
143 Distribution.Simple.Setup
144 Distribution.Simple.ShowBuildInfo
145 Distribution.Simple.SrcDist
146 Distribution.Simple.Test
147 Distribution.Simple.Test.ExeV10
148 Distribution.Simple.Test.LibV09
149 Distribution.Simple.Test.Log
150 Distribution.Simple.UHC
151 Distribution.Simple.UserHooks
152 Distribution.Simple.SetupHooks.Errors
153 Distribution.Simple.SetupHooks.Internal
154 Distribution.Simple.SetupHooks.Rule
155 Distribution.Simple.Utils
156 Distribution.TestSuite
157 Distribution.Types.AnnotatedId
158 Distribution.Types.ComponentInclude
159 Distribution.Types.DumpBuildInfo
160 Distribution.Types.PackageName.Magic
161 Distribution.Types.ComponentLocalBuildInfo
162 Distribution.Types.LocalBuildConfig
163 Distribution.Types.LocalBuildInfo
164 Distribution.Types.TargetInfo
165 Distribution.Types.GivenComponent
166 Distribution.Types.ParStrat
167 Distribution.Utils.Json
168 Distribution.Utils.NubList
169 Distribution.Utils.Progress
170 Distribution.Verbosity
171 Distribution.Verbosity.Internal
173 -- We reexport all of Cabal-syntax to aid in compatibility for downstream
174 -- users. In the future we may opt to deprecate some or all of these exports.
175 -- See haskell/Cabal#7974.
177 Distribution.Backpack,
178 Distribution.CabalSpecVersion,
179 Distribution.Compat.Binary,
180 Distribution.Compat.CharParsing,
181 Distribution.Compat.DList,
182 Distribution.Compat.Exception,
183 Distribution.Compat.Graph,
184 Distribution.Compat.Lens,
185 Distribution.Compat.MonadFail,
186 Distribution.Compat.Newtype,
187 Distribution.Compat.NonEmptySet,
188 Distribution.Compat.Parsing,
189 Distribution.Compat.Prelude,
190 Distribution.Compat.Semigroup,
191 Distribution.Compat.Typeable,
192 Distribution.Compiler,
193 Distribution.FieldGrammar,
194 Distribution.FieldGrammar.Class,
195 Distribution.FieldGrammar.FieldDescrs,
196 Distribution.FieldGrammar.Newtypes,
197 Distribution.FieldGrammar.Parsec,
198 Distribution.FieldGrammar.Pretty,
200 Distribution.Fields.ConfVar,
201 Distribution.Fields.Field,
202 Distribution.Fields.Lexer,
203 Distribution.Fields.LexerMonad,
204 Distribution.Fields.ParseResult,
205 Distribution.Fields.Parser,
206 Distribution.Fields.Pretty,
207 Distribution.InstalledPackageInfo,
208 Distribution.License,
209 Distribution.ModuleName,
210 Distribution.Package,
211 Distribution.PackageDescription,
212 Distribution.PackageDescription.Configuration,
213 Distribution.PackageDescription.FieldGrammar,
214 Distribution.PackageDescription.Parsec,
215 Distribution.PackageDescription.PrettyPrint,
216 Distribution.PackageDescription.Quirks,
217 Distribution.PackageDescription.Utils,
219 Distribution.Parsec.Error,
220 Distribution.Parsec.FieldLineStream,
221 Distribution.Parsec.Position,
222 Distribution.Parsec.Warning,
225 Distribution.SPDX.License,
226 Distribution.SPDX.LicenseExceptionId,
227 Distribution.SPDX.LicenseExpression,
228 Distribution.SPDX.LicenseId,
229 Distribution.SPDX.LicenseListVersion,
230 Distribution.SPDX.LicenseReference,
233 Distribution.Types.AbiDependency,
234 Distribution.Types.AbiHash,
235 Distribution.Types.Benchmark,
236 Distribution.Types.Benchmark.Lens,
237 Distribution.Types.BenchmarkInterface,
238 Distribution.Types.BenchmarkType,
239 Distribution.Types.BuildInfo,
240 Distribution.Types.BuildInfo.Lens,
241 Distribution.Types.BuildType,
242 Distribution.Types.Component,
243 Distribution.Types.ComponentId,
244 Distribution.Types.ComponentName,
245 Distribution.Types.ComponentRequestedSpec,
246 Distribution.Types.CondTree,
247 Distribution.Types.Condition,
248 Distribution.Types.ConfVar,
249 Distribution.Types.Dependency,
250 Distribution.Types.DependencyMap,
251 Distribution.Types.ExeDependency,
252 Distribution.Types.Executable,
253 Distribution.Types.Executable.Lens,
254 Distribution.Types.ExecutableScope,
255 Distribution.Types.ExposedModule,
256 Distribution.Types.Flag,
257 Distribution.Types.ForeignLib,
258 Distribution.Types.ForeignLib.Lens,
259 Distribution.Types.ForeignLibOption,
260 Distribution.Types.ForeignLibType,
261 Distribution.Types.GenericPackageDescription,
262 Distribution.Types.GenericPackageDescription.Lens,
263 Distribution.Types.HookedBuildInfo,
264 Distribution.Types.IncludeRenaming,
265 Distribution.Types.InstalledPackageInfo,
266 Distribution.Types.InstalledPackageInfo.Lens,
267 Distribution.Types.InstalledPackageInfo.FieldGrammar,
268 Distribution.Types.LegacyExeDependency,
269 Distribution.Types.Lens,
270 Distribution.Types.Library,
271 Distribution.Types.Library.Lens,
272 Distribution.Types.LibraryName,
273 Distribution.Types.LibraryVisibility,
274 Distribution.Types.Mixin,
275 Distribution.Types.Module,
276 Distribution.Types.ModuleReexport,
277 Distribution.Types.ModuleRenaming,
278 Distribution.Types.MungedPackageId,
279 Distribution.Types.MungedPackageName,
280 Distribution.Types.PackageDescription,
281 Distribution.Types.PackageDescription.Lens,
282 Distribution.Types.PackageId,
283 Distribution.Types.PackageId.Lens,
284 Distribution.Types.PackageName,
285 Distribution.Types.PackageVersionConstraint,
286 Distribution.Types.PkgconfigDependency,
287 Distribution.Types.PkgconfigName,
288 Distribution.Types.PkgconfigVersion,
289 Distribution.Types.PkgconfigVersionRange,
290 Distribution.Types.SetupBuildInfo,
291 Distribution.Types.SetupBuildInfo.Lens,
292 Distribution.Types.SourceRepo,
293 Distribution.Types.SourceRepo.Lens,
294 Distribution.Types.TestSuite,
295 Distribution.Types.TestSuite.Lens,
296 Distribution.Types.TestSuiteInterface,
297 Distribution.Types.TestType,
298 Distribution.Types.UnitId,
299 Distribution.Types.UnqualComponentName,
300 Distribution.Types.Version,
301 Distribution.Types.VersionInterval,
302 Distribution.Types.VersionInterval.Legacy,
303 Distribution.Types.VersionRange,
304 Distribution.Types.VersionRange.Internal,
305 Distribution.Utils.Base62,
306 Distribution.Utils.Generic,
307 Distribution.Utils.MD5,
308 Distribution.Utils.Path,
309 Distribution.Utils.ShortText,
310 Distribution.Utils.String,
311 Distribution.Utils.Structured,
312 Distribution.Version,
313 Language.Haskell.Extension
315 -- Parsec parser-related modules
317 -- transformers-0.4.0.0 doesn't have record syntax e.g. for Identity
318 -- See also https://github.com/ekmett/transformers-compat/issues/35
319 transformers (>= 0.3 && < 0.4) || (>=0.4.1.0 && <0.7),
321 parsec >= 3.1.13.0 && < 3.2
324 Distribution.Backpack.PreExistingComponent
325 Distribution.Backpack.ReadyComponent
326 Distribution.Backpack.MixLink
327 Distribution.Backpack.ModuleScope
328 Distribution.Backpack.UnifyM
329 Distribution.Backpack.Id
330 Distribution.Utils.UnionFind
331 Distribution.Compat.Async
332 Distribution.Compat.CopyFile
333 Distribution.Compat.GetShortPathName
334 Distribution.Compat.SnocList
337 Distribution.PackageDescription.Check.Common
338 Distribution.PackageDescription.Check.Conditional
339 Distribution.PackageDescription.Check.Monad
340 Distribution.PackageDescription.Check.Paths
341 Distribution.PackageDescription.Check.Target
342 Distribution.PackageDescription.Check.Warning
343 Distribution.Simple.Build.Macros.Z
344 Distribution.Simple.Build.PackageInfoModule.Z
345 Distribution.Simple.Build.PathsModule.Z
346 Distribution.Simple.GHC.Build
347 Distribution.Simple.GHC.Build.ExtraSources
348 Distribution.Simple.GHC.Build.Link
349 Distribution.Simple.GHC.Build.Modules
350 Distribution.Simple.GHC.Build.Utils
351 Distribution.Simple.GHC.EnvironmentParser
352 Distribution.Simple.GHC.Internal
353 Distribution.Simple.GHC.ImplInfo
354 Distribution.Simple.ConfigureScript
355 Distribution.Simple.Setup.Benchmark
356 Distribution.Simple.Setup.Build
357 Distribution.Simple.Setup.Clean
358 Distribution.Simple.Setup.Common
359 Distribution.Simple.Setup.Config
360 Distribution.Simple.Setup.Copy
361 Distribution.Simple.Setup.Global
362 Distribution.Simple.Setup.Haddock
363 Distribution.Simple.Setup.Hscolour
364 Distribution.Simple.Setup.Install
365 Distribution.Simple.Setup.Register
366 Distribution.Simple.Setup.Repl
367 Distribution.Simple.Setup.SDist
368 Distribution.Simple.Setup.Test
369 Distribution.ZinzaPrelude
384 ExistentialQuantification
387 GeneralizedNewtypeDeriving
391 NondecreasingIndentation