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.BuildWay
105 Distribution.Simple.CCompiler
106 Distribution.Simple.Command
107 Distribution.Simple.Compiler
108 Distribution.Simple.Configure
109 Distribution.Simple.Errors
110 Distribution.Simple.FileMonitor.Types
111 Distribution.Simple.Flag
112 Distribution.Simple.GHC
113 Distribution.Simple.GHCJS
114 Distribution.Simple.Haddock
115 Distribution.Simple.Glob
116 Distribution.Simple.Glob.Internal
117 Distribution.Simple.HaskellSuite
118 Distribution.Simple.Hpc
119 Distribution.Simple.Install
120 Distribution.Simple.InstallDirs
121 Distribution.Simple.InstallDirs.Internal
122 Distribution.Simple.LocalBuildInfo
123 Distribution.Simple.PackageDescription
124 Distribution.Simple.PackageIndex
125 Distribution.Simple.PreProcess
126 Distribution.Simple.PreProcess.Types
127 Distribution.Simple.PreProcess.Unlit
128 Distribution.Simple.Program
129 Distribution.Simple.Program.Ar
130 Distribution.Simple.Program.Builtin
131 Distribution.Simple.Program.Db
132 Distribution.Simple.Program.Find
133 Distribution.Simple.Program.GHC
134 Distribution.Simple.Program.HcPkg
135 Distribution.Simple.Program.Hpc
136 Distribution.Simple.Program.Internal
137 Distribution.Simple.Program.Ld
138 Distribution.Simple.Program.ResponseFile
139 Distribution.Simple.Program.Run
140 Distribution.Simple.Program.Script
141 Distribution.Simple.Program.Strip
142 Distribution.Simple.Program.Types
143 Distribution.Simple.Register
144 Distribution.Simple.Setup
145 Distribution.Simple.ShowBuildInfo
146 Distribution.Simple.SrcDist
147 Distribution.Simple.Test
148 Distribution.Simple.Test.ExeV10
149 Distribution.Simple.Test.LibV09
150 Distribution.Simple.Test.Log
151 Distribution.Simple.UHC
152 Distribution.Simple.UserHooks
153 Distribution.Simple.SetupHooks.Errors
154 Distribution.Simple.SetupHooks.Internal
155 Distribution.Simple.SetupHooks.Rule
156 Distribution.Simple.Utils
157 Distribution.TestSuite
158 Distribution.Types.AnnotatedId
159 Distribution.Types.ComponentInclude
160 Distribution.Types.DumpBuildInfo
161 Distribution.Types.PackageName.Magic
162 Distribution.Types.ComponentLocalBuildInfo
163 Distribution.Types.LocalBuildConfig
164 Distribution.Types.LocalBuildInfo
165 Distribution.Types.TargetInfo
166 Distribution.Types.GivenComponent
167 Distribution.Types.ParStrat
168 Distribution.Utils.Json
169 Distribution.Utils.NubList
170 Distribution.Utils.Progress
171 Distribution.Verbosity
172 Distribution.Verbosity.Internal
174 -- We reexport all of Cabal-syntax to aid in compatibility for downstream
175 -- users. In the future we may opt to deprecate some or all of these exports.
176 -- See haskell/Cabal#7974.
178 Distribution.Backpack,
179 Distribution.CabalSpecVersion,
180 Distribution.Compat.Binary,
181 Distribution.Compat.CharParsing,
182 Distribution.Compat.DList,
183 Distribution.Compat.Exception,
184 Distribution.Compat.Graph,
185 Distribution.Compat.Lens,
186 Distribution.Compat.MonadFail,
187 Distribution.Compat.Newtype,
188 Distribution.Compat.NonEmptySet,
189 Distribution.Compat.Parsing,
190 Distribution.Compat.Prelude,
191 Distribution.Compat.Semigroup,
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