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