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