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