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.LocalBuildInfo
150 Distribution.Types.TargetInfo
151 Distribution.Types.GivenComponent
152 Distribution.Types.ParStrat
153 Distribution.Utils.Json
154 Distribution.Utils.NubList
155 Distribution.Utils.Progress
156 Distribution.Verbosity
157 Distribution.Verbosity.Internal
159 -- We reexport all of Cabal-syntax to aid in compatibility for downstream
160 -- users. In the future we may opt to deprecate some or all of these exports.
161 -- See haskell/Cabal#7974.
163 Distribution.Backpack,
164 Distribution.CabalSpecVersion,
165 Distribution.Compat.Binary,
166 Distribution.Compat.CharParsing,
167 Distribution.Compat.DList,
168 Distribution.Compat.Exception,
169 Distribution.Compat.Graph,
170 Distribution.Compat.Lens,
171 Distribution.Compat.MonadFail,
172 Distribution.Compat.Newtype,
173 Distribution.Compat.NonEmptySet,
174 Distribution.Compat.Parsing,
175 Distribution.Compat.Prelude,
176 Distribution.Compat.Semigroup,
177 Distribution.Compat.Typeable,
178 Distribution.Compiler,
179 Distribution.FieldGrammar,
180 Distribution.FieldGrammar.Class,
181 Distribution.FieldGrammar.FieldDescrs,
182 Distribution.FieldGrammar.Newtypes,
183 Distribution.FieldGrammar.Parsec,
184 Distribution.FieldGrammar.Pretty,
186 Distribution.Fields.ConfVar,
187 Distribution.Fields.Field,
188 Distribution.Fields.Lexer,
189 Distribution.Fields.LexerMonad,
190 Distribution.Fields.ParseResult,
191 Distribution.Fields.Parser,
192 Distribution.Fields.Pretty,
193 Distribution.InstalledPackageInfo,
194 Distribution.License,
195 Distribution.ModuleName,
196 Distribution.Package,
197 Distribution.PackageDescription,
198 Distribution.PackageDescription.Configuration,
199 Distribution.PackageDescription.FieldGrammar,
200 Distribution.PackageDescription.Parsec,
201 Distribution.PackageDescription.PrettyPrint,
202 Distribution.PackageDescription.Quirks,
203 Distribution.PackageDescription.Utils,
205 Distribution.Parsec.Error,
206 Distribution.Parsec.FieldLineStream,
207 Distribution.Parsec.Position,
208 Distribution.Parsec.Warning,
211 Distribution.SPDX.License,
212 Distribution.SPDX.LicenseExceptionId,
213 Distribution.SPDX.LicenseExpression,
214 Distribution.SPDX.LicenseId,
215 Distribution.SPDX.LicenseListVersion,
216 Distribution.SPDX.LicenseReference,
219 Distribution.Types.AbiDependency,
220 Distribution.Types.AbiHash,
221 Distribution.Types.Benchmark,
222 Distribution.Types.Benchmark.Lens,
223 Distribution.Types.BenchmarkInterface,
224 Distribution.Types.BenchmarkType,
225 Distribution.Types.BuildInfo,
226 Distribution.Types.BuildInfo.Lens,
227 Distribution.Types.BuildType,
228 Distribution.Types.Component,
229 Distribution.Types.ComponentId,
230 Distribution.Types.ComponentName,
231 Distribution.Types.ComponentRequestedSpec,
232 Distribution.Types.CondTree,
233 Distribution.Types.Condition,
234 Distribution.Types.ConfVar,
235 Distribution.Types.Dependency,
236 Distribution.Types.DependencyMap,
237 Distribution.Types.ExeDependency,
238 Distribution.Types.Executable,
239 Distribution.Types.Executable.Lens,
240 Distribution.Types.ExecutableScope,
241 Distribution.Types.ExposedModule,
242 Distribution.Types.Flag,
243 Distribution.Types.ForeignLib,
244 Distribution.Types.ForeignLib.Lens,
245 Distribution.Types.ForeignLibOption,
246 Distribution.Types.ForeignLibType,
247 Distribution.Types.GenericPackageDescription,
248 Distribution.Types.GenericPackageDescription.Lens,
249 Distribution.Types.HookedBuildInfo,
250 Distribution.Types.IncludeRenaming,
251 Distribution.Types.InstalledPackageInfo,
252 Distribution.Types.InstalledPackageInfo.Lens,
253 Distribution.Types.InstalledPackageInfo.FieldGrammar,
254 Distribution.Types.LegacyExeDependency,
255 Distribution.Types.Lens,
256 Distribution.Types.Library,
257 Distribution.Types.Library.Lens,
258 Distribution.Types.LibraryName,
259 Distribution.Types.LibraryVisibility,
260 Distribution.Types.Mixin,
261 Distribution.Types.Module,
262 Distribution.Types.ModuleReexport,
263 Distribution.Types.ModuleRenaming,
264 Distribution.Types.MungedPackageId,
265 Distribution.Types.MungedPackageName,
266 Distribution.Types.PackageDescription,
267 Distribution.Types.PackageDescription.Lens,
268 Distribution.Types.PackageId,
269 Distribution.Types.PackageId.Lens,
270 Distribution.Types.PackageName,
271 Distribution.Types.PackageVersionConstraint,
272 Distribution.Types.PkgconfigDependency,
273 Distribution.Types.PkgconfigName,
274 Distribution.Types.PkgconfigVersion,
275 Distribution.Types.PkgconfigVersionRange,
276 Distribution.Types.SetupBuildInfo,
277 Distribution.Types.SetupBuildInfo.Lens,
278 Distribution.Types.SourceRepo,
279 Distribution.Types.SourceRepo.Lens,
280 Distribution.Types.TestSuite,
281 Distribution.Types.TestSuite.Lens,
282 Distribution.Types.TestSuiteInterface,
283 Distribution.Types.TestType,
284 Distribution.Types.UnitId,
285 Distribution.Types.UnqualComponentName,
286 Distribution.Types.Version,
287 Distribution.Types.VersionInterval,
288 Distribution.Types.VersionInterval.Legacy,
289 Distribution.Types.VersionRange,
290 Distribution.Types.VersionRange.Internal,
291 Distribution.Utils.Base62,
292 Distribution.Utils.Generic,
293 Distribution.Utils.MD5,
294 Distribution.Utils.Path,
295 Distribution.Utils.ShortText,
296 Distribution.Utils.String,
297 Distribution.Utils.Structured,
298 Distribution.Version,
299 Language.Haskell.Extension
301 -- Parsec parser-related modules
303 -- transformers-0.4.0.0 doesn't have record syntax e.g. for Identity
304 -- See also https://github.com/ekmett/transformers-compat/issues/35
305 transformers (>= 0.3 && < 0.4) || (>=0.4.1.0 && <0.7),
307 text (>= 1.2.3.0 && < 1.3) || (>= 2.0 && < 2.2),
308 parsec >= 3.1.13.0 && < 3.2
311 Distribution.Backpack.PreExistingComponent
312 Distribution.Backpack.ReadyComponent
313 Distribution.Backpack.MixLink
314 Distribution.Backpack.ModuleScope
315 Distribution.Backpack.UnifyM
316 Distribution.Backpack.Id
317 Distribution.Utils.UnionFind
318 Distribution.Compat.Async
319 Distribution.Compat.CopyFile
320 Distribution.Compat.GetShortPathName
321 Distribution.Compat.SnocList
324 Distribution.PackageDescription.Check.Common
325 Distribution.PackageDescription.Check.Conditional
326 Distribution.PackageDescription.Check.Monad
327 Distribution.PackageDescription.Check.Paths
328 Distribution.PackageDescription.Check.Target
329 Distribution.PackageDescription.Check.Warning
330 Distribution.Simple.Build.Macros.Z
331 Distribution.Simple.Build.PackageInfoModule.Z
332 Distribution.Simple.Build.PathsModule.Z
333 Distribution.Simple.GHC.Build
334 Distribution.Simple.GHC.BuildOrRepl
335 Distribution.Simple.GHC.BuildGeneric
336 Distribution.Simple.GHC.EnvironmentParser
337 Distribution.Simple.GHC.Internal
338 Distribution.Simple.GHC.ImplInfo
339 Distribution.Simple.ConfigureScript
340 Distribution.Simple.Setup.Benchmark
341 Distribution.Simple.Setup.Build
342 Distribution.Simple.Setup.Clean
343 Distribution.Simple.Setup.Common
344 Distribution.Simple.Setup.Config
345 Distribution.Simple.Setup.Copy
346 Distribution.Simple.Setup.Global
347 Distribution.Simple.Setup.Haddock
348 Distribution.Simple.Setup.Hscolour
349 Distribution.Simple.Setup.Install
350 Distribution.Simple.Setup.Register
351 Distribution.Simple.Setup.Repl
352 Distribution.Simple.Setup.SDist
353 Distribution.Simple.Setup.Test
354 Distribution.ZinzaPrelude
369 ExistentialQuantification
372 GeneralizedNewtypeDeriving
376 NondecreasingIndentation