4 copyright: 2003-2022, 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
38 array >= 0.4.0.1 && < 0.6,
40 bytestring >= 0.10.0.0 && < 0.12,
41 containers >= 0.5.0.0 && < 0.7,
42 deepseq >= 1.3.0.1 && < 1.5,
43 directory >= 1.2 && < 1.4,
44 filepath >= 1.3.0.1 && < 1.5,
45 pretty >= 1.1.1 && < 1.2,
46 process >= 1.2.1.0 && < 1.7,
47 time >= 1.4.0.1 && < 1.13
49 -- pull in process version with fixed waitForProcess error
51 build-depends: process >= 1.6.14.0
54 build-depends: Win32 >= 2.3.0.0 && < 2.14
56 build-depends: unix >= 2.6.0.0 && < 2.8
58 ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates
61 ghc-options: -Wcompat -Wnoncanonical-monad-instances
63 if impl(ghc >= 8.2) && impl(ghc < 8.8)
64 ghc-options: -Wnoncanonical-monadfail-instances
67 Distribution.Backpack.Configure
68 Distribution.Backpack.ComponentsGraph
69 Distribution.Backpack.ConfiguredComponent
70 Distribution.Backpack.DescribeUnitId
71 Distribution.Backpack.FullUnitId
72 Distribution.Backpack.LinkedComponent
73 Distribution.Backpack.ModSubst
74 Distribution.Backpack.ModuleShape
75 Distribution.Backpack.PreModuleShape
76 Distribution.Utils.IOData
77 Distribution.Utils.LogProgress
78 Distribution.Utils.MapAccum
79 Distribution.Compat.CreatePipe
80 Distribution.Compat.Directory
81 Distribution.Compat.Environment
82 Distribution.Compat.FilePath
83 Distribution.Compat.Internal.TempFile
84 Distribution.Compat.ResponseFile
85 Distribution.Compat.Prelude.Internal
86 Distribution.Compat.Process
87 Distribution.Compat.Stack
88 Distribution.Compat.Time
90 Distribution.PackageDescription.Check
93 Distribution.Simple.Bench
94 Distribution.Simple.Build
95 Distribution.Simple.Build.Macros
96 Distribution.Simple.Build.PathsModule
97 Distribution.Simple.BuildPaths
98 Distribution.Simple.BuildTarget
99 Distribution.Simple.BuildToolDepends
100 Distribution.Simple.CCompiler
101 Distribution.Simple.Command
102 Distribution.Simple.Compiler
103 Distribution.Simple.Configure
104 Distribution.Simple.Flag
105 Distribution.Simple.GHC
106 Distribution.Simple.GHCJS
107 Distribution.Simple.Haddock
108 Distribution.Simple.Glob
109 Distribution.Simple.HaskellSuite
110 Distribution.Simple.Hpc
111 Distribution.Simple.Install
112 Distribution.Simple.InstallDirs
113 Distribution.Simple.InstallDirs.Internal
114 Distribution.Simple.LocalBuildInfo
115 Distribution.Simple.PackageDescription
116 Distribution.Simple.PackageIndex
117 Distribution.Simple.PreProcess
118 Distribution.Simple.PreProcess.Unlit
119 Distribution.Simple.Program
120 Distribution.Simple.Program.Ar
121 Distribution.Simple.Program.Builtin
122 Distribution.Simple.Program.Db
123 Distribution.Simple.Program.Find
124 Distribution.Simple.Program.GHC
125 Distribution.Simple.Program.HcPkg
126 Distribution.Simple.Program.Hpc
127 Distribution.Simple.Program.Internal
128 Distribution.Simple.Program.Ld
129 Distribution.Simple.Program.ResponseFile
130 Distribution.Simple.Program.Run
131 Distribution.Simple.Program.Script
132 Distribution.Simple.Program.Strip
133 Distribution.Simple.Program.Types
134 Distribution.Simple.Register
135 Distribution.Simple.Setup
136 Distribution.Simple.ShowBuildInfo
137 Distribution.Simple.SrcDist
138 Distribution.Simple.Test
139 Distribution.Simple.Test.ExeV10
140 Distribution.Simple.Test.LibV09
141 Distribution.Simple.Test.Log
142 Distribution.Simple.UHC
143 Distribution.Simple.UserHooks
144 Distribution.Simple.Utils
145 Distribution.TestSuite
146 Distribution.Types.AnnotatedId
147 Distribution.Types.ComponentInclude
148 Distribution.Types.DumpBuildInfo
149 Distribution.Types.PackageName.Magic
150 Distribution.Types.ComponentLocalBuildInfo
151 Distribution.Types.LocalBuildInfo
152 Distribution.Types.TargetInfo
153 Distribution.Types.GivenComponent
154 Distribution.Utils.Json
155 Distribution.Utils.NubList
156 Distribution.Utils.Progress
157 Distribution.Verbosity
158 Distribution.Verbosity.Internal
160 -- We reexport all of Cabal-syntax to aid in compatibility for downstream
161 -- users. In the future we may opt to deprecate some or all of these exports.
162 -- See haskell/Cabal#7974.
164 Distribution.Backpack,
165 Distribution.CabalSpecVersion,
166 Distribution.Compat.Binary,
167 Distribution.Compat.CharParsing,
168 Distribution.Compat.DList,
169 Distribution.Compat.Exception,
170 Distribution.Compat.Graph,
171 Distribution.Compat.Lens,
172 Distribution.Compat.MonadFail,
173 Distribution.Compat.Newtype,
174 Distribution.Compat.NonEmptySet,
175 Distribution.Compat.Parsing,
176 Distribution.Compat.Prelude,
177 Distribution.Compat.Semigroup,
178 Distribution.Compat.Typeable,
179 Distribution.Compiler,
180 Distribution.FieldGrammar,
181 Distribution.FieldGrammar.Class,
182 Distribution.FieldGrammar.FieldDescrs,
183 Distribution.FieldGrammar.Newtypes,
184 Distribution.FieldGrammar.Parsec,
185 Distribution.FieldGrammar.Pretty,
187 Distribution.Fields.ConfVar,
188 Distribution.Fields.Field,
189 Distribution.Fields.Lexer,
190 Distribution.Fields.LexerMonad,
191 Distribution.Fields.ParseResult,
192 Distribution.Fields.Parser,
193 Distribution.Fields.Pretty,
194 Distribution.InstalledPackageInfo,
195 Distribution.License,
196 Distribution.ModuleName,
197 Distribution.Package,
198 Distribution.PackageDescription,
199 Distribution.PackageDescription.Configuration,
200 Distribution.PackageDescription.FieldGrammar,
201 Distribution.PackageDescription.Parsec,
202 Distribution.PackageDescription.PrettyPrint,
203 Distribution.PackageDescription.Quirks,
204 Distribution.PackageDescription.Utils,
206 Distribution.Parsec.Error,
207 Distribution.Parsec.FieldLineStream,
208 Distribution.Parsec.Position,
209 Distribution.Parsec.Warning,
212 Distribution.SPDX.License,
213 Distribution.SPDX.LicenseExceptionId,
214 Distribution.SPDX.LicenseExpression,
215 Distribution.SPDX.LicenseId,
216 Distribution.SPDX.LicenseListVersion,
217 Distribution.SPDX.LicenseReference,
220 Distribution.Types.AbiDependency,
221 Distribution.Types.AbiHash,
222 Distribution.Types.Benchmark,
223 Distribution.Types.Benchmark.Lens,
224 Distribution.Types.BenchmarkInterface,
225 Distribution.Types.BenchmarkType,
226 Distribution.Types.BuildInfo,
227 Distribution.Types.BuildInfo.Lens,
228 Distribution.Types.BuildType,
229 Distribution.Types.Component,
230 Distribution.Types.ComponentId,
231 Distribution.Types.ComponentName,
232 Distribution.Types.ComponentRequestedSpec,
233 Distribution.Types.CondTree,
234 Distribution.Types.Condition,
235 Distribution.Types.ConfVar,
236 Distribution.Types.Dependency,
237 Distribution.Types.DependencyMap,
238 Distribution.Types.ExeDependency,
239 Distribution.Types.Executable,
240 Distribution.Types.Executable.Lens,
241 Distribution.Types.ExecutableScope,
242 Distribution.Types.ExposedModule,
243 Distribution.Types.Flag,
244 Distribution.Types.ForeignLib,
245 Distribution.Types.ForeignLib.Lens,
246 Distribution.Types.ForeignLibOption,
247 Distribution.Types.ForeignLibType,
248 Distribution.Types.GenericPackageDescription,
249 Distribution.Types.GenericPackageDescription.Lens,
250 Distribution.Types.HookedBuildInfo,
251 Distribution.Types.IncludeRenaming,
252 Distribution.Types.InstalledPackageInfo,
253 Distribution.Types.InstalledPackageInfo.Lens,
254 Distribution.Types.InstalledPackageInfo.FieldGrammar,
255 Distribution.Types.LegacyExeDependency,
256 Distribution.Types.Lens,
257 Distribution.Types.Library,
258 Distribution.Types.Library.Lens,
259 Distribution.Types.LibraryName,
260 Distribution.Types.LibraryVisibility,
261 Distribution.Types.Mixin,
262 Distribution.Types.Module,
263 Distribution.Types.ModuleReexport,
264 Distribution.Types.ModuleRenaming,
265 Distribution.Types.MungedPackageId,
266 Distribution.Types.MungedPackageName,
267 Distribution.Types.PackageDescription,
268 Distribution.Types.PackageDescription.Lens,
269 Distribution.Types.PackageId,
270 Distribution.Types.PackageId.Lens,
271 Distribution.Types.PackageName,
272 Distribution.Types.PackageVersionConstraint,
273 Distribution.Types.PkgconfigDependency,
274 Distribution.Types.PkgconfigName,
275 Distribution.Types.PkgconfigVersion,
276 Distribution.Types.PkgconfigVersionRange,
277 Distribution.Types.SetupBuildInfo,
278 Distribution.Types.SetupBuildInfo.Lens,
279 Distribution.Types.SourceRepo,
280 Distribution.Types.SourceRepo.Lens,
281 Distribution.Types.TestSuite,
282 Distribution.Types.TestSuite.Lens,
283 Distribution.Types.TestSuiteInterface,
284 Distribution.Types.TestType,
285 Distribution.Types.UnitId,
286 Distribution.Types.UnqualComponentName,
287 Distribution.Types.Version,
288 Distribution.Types.VersionInterval,
289 Distribution.Types.VersionInterval.Legacy,
290 Distribution.Types.VersionRange,
291 Distribution.Types.VersionRange.Internal,
292 Distribution.Utils.Base62,
293 Distribution.Utils.Generic,
294 Distribution.Utils.MD5,
295 Distribution.Utils.Path,
296 Distribution.Utils.ShortText,
297 Distribution.Utils.String,
298 Distribution.Utils.Structured,
299 Distribution.Version,
300 Language.Haskell.Extension
302 -- Parsec parser-related modules
304 -- transformers-0.4.0.0 doesn't have record syntax e.g. for Identity
305 -- See also https://github.com/ekmett/transformers-compat/issues/35
306 transformers (>= 0.3 && < 0.4) || (>=0.4.1.0 && <0.6),
308 text (>= 1.2.3.0 && < 1.3) || (>= 2.0 && < 2.1),
309 parsec >= 3.1.13.0 && < 3.2
312 Distribution.Backpack.PreExistingComponent
313 Distribution.Backpack.ReadyComponent
314 Distribution.Backpack.MixLink
315 Distribution.Backpack.ModuleScope
316 Distribution.Backpack.UnifyM
317 Distribution.Backpack.Id
318 Distribution.Utils.UnionFind
319 Distribution.Compat.Async
320 Distribution.Compat.CopyFile
321 Distribution.Compat.GetShortPathName
322 Distribution.Compat.SnocList
325 Distribution.Simple.Build.Macros.Z
326 Distribution.Simple.Build.PathsModule.Z
327 Distribution.Simple.GHC.EnvironmentParser
328 Distribution.Simple.GHC.Internal
329 Distribution.Simple.GHC.ImplInfo
330 Distribution.ZinzaPrelude
345 ExistentialQuantification
348 GeneralizedNewtypeDeriving
352 NondecreasingIndentation