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.Compat.Typeable,
193 Distribution.Compiler,
194 Distribution.FieldGrammar,
195 Distribution.FieldGrammar.Class,
196 Distribution.FieldGrammar.FieldDescrs,
197 Distribution.FieldGrammar.Newtypes,
198 Distribution.FieldGrammar.Parsec,
199 Distribution.FieldGrammar.Pretty,
201 Distribution.Fields.ConfVar,
202 Distribution.Fields.Field,
203 Distribution.Fields.Lexer,
204 Distribution.Fields.LexerMonad,
205 Distribution.Fields.ParseResult,
206 Distribution.Fields.Parser,
207 Distribution.Fields.Pretty,
208 Distribution.InstalledPackageInfo,
209 Distribution.License,
210 Distribution.ModuleName,
211 Distribution.Package,
212 Distribution.PackageDescription,
213 Distribution.PackageDescription.Configuration,
214 Distribution.PackageDescription.FieldGrammar,
215 Distribution.PackageDescription.Parsec,
216 Distribution.PackageDescription.PrettyPrint,
217 Distribution.PackageDescription.Quirks,
218 Distribution.PackageDescription.Utils,
220 Distribution.Parsec.Error,
221 Distribution.Parsec.FieldLineStream,
222 Distribution.Parsec.Position,
223 Distribution.Parsec.Warning,
226 Distribution.SPDX.License,
227 Distribution.SPDX.LicenseExceptionId,
228 Distribution.SPDX.LicenseExpression,
229 Distribution.SPDX.LicenseId,
230 Distribution.SPDX.LicenseListVersion,
231 Distribution.SPDX.LicenseReference,
234 Distribution.Types.AbiDependency,
235 Distribution.Types.AbiHash,
236 Distribution.Types.Benchmark,
237 Distribution.Types.Benchmark.Lens,
238 Distribution.Types.BenchmarkInterface,
239 Distribution.Types.BenchmarkType,
240 Distribution.Types.BuildInfo,
241 Distribution.Types.BuildInfo.Lens,
242 Distribution.Types.BuildType,
243 Distribution.Types.Component,
244 Distribution.Types.ComponentId,
245 Distribution.Types.ComponentName,
246 Distribution.Types.ComponentRequestedSpec,
247 Distribution.Types.CondTree,
248 Distribution.Types.Condition,
249 Distribution.Types.ConfVar,
250 Distribution.Types.Dependency,
251 Distribution.Types.DependencyMap,
252 Distribution.Types.ExeDependency,
253 Distribution.Types.Executable,
254 Distribution.Types.Executable.Lens,
255 Distribution.Types.ExecutableScope,
256 Distribution.Types.ExposedModule,
257 Distribution.Types.Flag,
258 Distribution.Types.ForeignLib,
259 Distribution.Types.ForeignLib.Lens,
260 Distribution.Types.ForeignLibOption,
261 Distribution.Types.ForeignLibType,
262 Distribution.Types.GenericPackageDescription,
263 Distribution.Types.GenericPackageDescription.Lens,
264 Distribution.Types.HookedBuildInfo,
265 Distribution.Types.IncludeRenaming,
266 Distribution.Types.InstalledPackageInfo,
267 Distribution.Types.InstalledPackageInfo.Lens,
268 Distribution.Types.InstalledPackageInfo.FieldGrammar,
269 Distribution.Types.LegacyExeDependency,
270 Distribution.Types.Lens,
271 Distribution.Types.Library,
272 Distribution.Types.Library.Lens,
273 Distribution.Types.LibraryName,
274 Distribution.Types.LibraryVisibility,
275 Distribution.Types.Mixin,
276 Distribution.Types.Module,
277 Distribution.Types.ModuleReexport,
278 Distribution.Types.ModuleRenaming,
279 Distribution.Types.MungedPackageId,
280 Distribution.Types.MungedPackageName,
281 Distribution.Types.PackageDescription,
282 Distribution.Types.PackageDescription.Lens,
283 Distribution.Types.PackageId,
284 Distribution.Types.PackageId.Lens,
285 Distribution.Types.PackageName,
286 Distribution.Types.PackageVersionConstraint,
287 Distribution.Types.PkgconfigDependency,
288 Distribution.Types.PkgconfigName,
289 Distribution.Types.PkgconfigVersion,
290 Distribution.Types.PkgconfigVersionRange,
291 Distribution.Types.SetupBuildInfo,
292 Distribution.Types.SetupBuildInfo.Lens,
293 Distribution.Types.SourceRepo,
294 Distribution.Types.SourceRepo.Lens,
295 Distribution.Types.TestSuite,
296 Distribution.Types.TestSuite.Lens,
297 Distribution.Types.TestSuiteInterface,
298 Distribution.Types.TestType,
299 Distribution.Types.UnitId,
300 Distribution.Types.UnqualComponentName,
301 Distribution.Types.Version,
302 Distribution.Types.VersionInterval,
303 Distribution.Types.VersionInterval.Legacy,
304 Distribution.Types.VersionRange,
305 Distribution.Types.VersionRange.Internal,
306 Distribution.Utils.Base62,
307 Distribution.Utils.Generic,
308 Distribution.Utils.MD5,
309 Distribution.Utils.Path,
310 Distribution.Utils.ShortText,
311 Distribution.Utils.String,
312 Distribution.Utils.Structured,
313 Distribution.Version,
314 Language.Haskell.Extension
316 -- Parsec parser-related modules
318 -- transformers-0.4.0.0 doesn't have record syntax e.g. for Identity
319 -- See also https://github.com/ekmett/transformers-compat/issues/35
320 transformers (>= 0.3 && < 0.4) || (>=0.4.1.0 && <0.7),
322 parsec >= 3.1.13.0 && < 3.2
325 Distribution.Backpack.PreExistingComponent
326 Distribution.Backpack.ReadyComponent
327 Distribution.Backpack.MixLink
328 Distribution.Backpack.ModuleScope
329 Distribution.Backpack.UnifyM
330 Distribution.Backpack.Id
331 Distribution.Utils.UnionFind
332 Distribution.Compat.Async
333 Distribution.Compat.CopyFile
334 Distribution.Compat.GetShortPathName
335 Distribution.Compat.SnocList
338 Distribution.PackageDescription.Check.Common
339 Distribution.PackageDescription.Check.Conditional
340 Distribution.PackageDescription.Check.Monad
341 Distribution.PackageDescription.Check.Paths
342 Distribution.PackageDescription.Check.Target
343 Distribution.PackageDescription.Check.Warning
344 Distribution.Simple.Build.Macros.Z
345 Distribution.Simple.Build.PackageInfoModule.Z
346 Distribution.Simple.Build.PathsModule.Z
347 Distribution.Simple.GHC.Build
348 Distribution.Simple.GHC.Build.ExtraSources
349 Distribution.Simple.GHC.Build.Link
350 Distribution.Simple.GHC.Build.Modules
351 Distribution.Simple.GHC.Build.Utils
352 Distribution.Simple.GHC.EnvironmentParser
353 Distribution.Simple.GHC.Internal
354 Distribution.Simple.GHC.ImplInfo
355 Distribution.Simple.ConfigureScript
356 Distribution.Simple.Setup.Benchmark
357 Distribution.Simple.Setup.Build
358 Distribution.Simple.Setup.Clean
359 Distribution.Simple.Setup.Common
360 Distribution.Simple.Setup.Config
361 Distribution.Simple.Setup.Copy
362 Distribution.Simple.Setup.Global
363 Distribution.Simple.Setup.Haddock
364 Distribution.Simple.Setup.Hscolour
365 Distribution.Simple.Setup.Install
366 Distribution.Simple.Setup.Register
367 Distribution.Simple.Setup.Repl
368 Distribution.Simple.Setup.SDist
369 Distribution.Simple.Setup.Test
370 Distribution.ZinzaPrelude
385 ExistentialQuantification
388 GeneralizedNewtypeDeriving
392 NondecreasingIndentation