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