Switch to using the I and V to match other naming
[cabal.git] / Cabal / Cabal.cabal
blobe6187ce9a1885ac4c8765432b151e4df71094cd0
1 cabal-version: 2.2
2 name:          Cabal
3 version:       3.11.0.0
4 copyright:     2003-2023, Cabal Development Team (see AUTHORS file)
5 license:       BSD-3-Clause
6 license-file:  LICENSE
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
12 description:
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.
16   .
17   The Haskell Cabal is part of a larger infrastructure for distributing,
18   organizing, and cataloging Haskell libraries and tools.
19 category:       Distribution
20 build-type:     Simple
21 -- If we use a new Cabal feature, this needs to be changed to Custom so
22 -- we can bootstrap.
24 extra-source-files:
25   README.md ChangeLog.md
27 source-repository head
28   type:     git
29   location: https://github.com/haskell/cabal/
30   subdir:   Cabal
32 library
33   default-language: Haskell2010
34   hs-source-dirs: src
36   build-depends:
37     Cabal-syntax ^>= 3.11,
38     array      >= 0.4.0.1  && < 0.6,
39     base       >= 4.9      && < 5,
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
49   if os(windows)
50     build-depends: Win32 >= 2.3.0.0 && < 2.14
51   else
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
56   if impl(ghc >= 8.0)
57     ghc-options: -Wcompat -Wnoncanonical-monad-instances
59   if impl(ghc >= 8.0) && impl(ghc < 8.8)
60     ghc-options: -Wnoncanonical-monadfail-instances
62   exposed-modules:
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
85     Distribution.Make
86     Distribution.PackageDescription.Check
87     Distribution.ReadE
88     Distribution.Simple
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.Errors
102     Distribution.Simple.Flag
103     Distribution.Simple.GHC
104     Distribution.Simple.GHCJS
105     Distribution.Simple.Haddock
106     Distribution.Simple.Glob
107     Distribution.Simple.HaskellSuite
108     Distribution.Simple.Hpc
109     Distribution.Simple.Install
110     Distribution.Simple.InstallDirs
111     Distribution.Simple.InstallDirs.Internal
112     Distribution.Simple.LocalBuildInfo
113     Distribution.Simple.PackageDescription
114     Distribution.Simple.PackageIndex
115     Distribution.Simple.PreProcess
116     Distribution.Simple.PreProcess.Unlit
117     Distribution.Simple.Program
118     Distribution.Simple.Program.Ar
119     Distribution.Simple.Program.Builtin
120     Distribution.Simple.Program.Db
121     Distribution.Simple.Program.Find
122     Distribution.Simple.Program.GHC
123     Distribution.Simple.Program.HcPkg
124     Distribution.Simple.Program.Hpc
125     Distribution.Simple.Program.Internal
126     Distribution.Simple.Program.Ld
127     Distribution.Simple.Program.ResponseFile
128     Distribution.Simple.Program.Run
129     Distribution.Simple.Program.Script
130     Distribution.Simple.Program.Strip
131     Distribution.Simple.Program.Types
132     Distribution.Simple.Register
133     Distribution.Simple.Setup
134     Distribution.Simple.ShowBuildInfo
135     Distribution.Simple.SrcDist
136     Distribution.Simple.Test
137     Distribution.Simple.Test.ExeV10
138     Distribution.Simple.Test.LibV09
139     Distribution.Simple.Test.Log
140     Distribution.Simple.UHC
141     Distribution.Simple.UserHooks
142     Distribution.Simple.Utils
143     Distribution.TestSuite
144     Distribution.Types.AnnotatedId
145     Distribution.Types.ComponentInclude
146     Distribution.Types.DumpBuildInfo
147     Distribution.Types.PackageName.Magic
148     Distribution.Types.ComponentLocalBuildInfo
149     Distribution.Types.LocalBuildConfig
150     Distribution.Types.LocalBuildInfo
151     Distribution.Types.TargetInfo
152     Distribution.Types.GivenComponent
153     Distribution.Types.ParStrat
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.
163   reexported-modules:
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,
186     Distribution.Fields,
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,
205     Distribution.Parsec,
206     Distribution.Parsec.Error,
207     Distribution.Parsec.FieldLineStream,
208     Distribution.Parsec.Position,
209     Distribution.Parsec.Warning,
210     Distribution.Pretty,
211     Distribution.SPDX,
212     Distribution.SPDX.License,
213     Distribution.SPDX.LicenseExceptionId,
214     Distribution.SPDX.LicenseExpression,
215     Distribution.SPDX.LicenseId,
216     Distribution.SPDX.LicenseListVersion,
217     Distribution.SPDX.LicenseReference,
218     Distribution.System,
219     Distribution.Text,
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
303   build-depends:
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.7),
307     mtl           >= 2.1      && < 2.4,
308     text         (>= 1.2.3.0  && < 1.3) || (>= 2.0 && < 2.2),
309     parsec        >= 3.1.13.0 && < 3.2
311   other-modules:
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
323     Distribution.GetOpt
324     Distribution.Lex
325     Distribution.PackageDescription.Check.Common
326     Distribution.PackageDescription.Check.Conditional
327     Distribution.PackageDescription.Check.Monad
328     Distribution.PackageDescription.Check.Paths
329     Distribution.PackageDescription.Check.Target
330     Distribution.PackageDescription.Check.Warning
331     Distribution.Simple.Build.Macros.Z
332     Distribution.Simple.Build.PackageInfoModule.Z
333     Distribution.Simple.Build.PathsModule.Z
334     Distribution.Simple.GHC.Build
335     Distribution.Simple.GHC.BuildOrRepl
336     Distribution.Simple.GHC.BuildGeneric
337     Distribution.Simple.GHC.EnvironmentParser
338     Distribution.Simple.GHC.Internal
339     Distribution.Simple.GHC.ImplInfo
340     Distribution.Simple.ConfigureScript
341     Distribution.Simple.Setup.Benchmark
342     Distribution.Simple.Setup.Build
343     Distribution.Simple.Setup.Clean
344     Distribution.Simple.Setup.Common
345     Distribution.Simple.Setup.Config
346     Distribution.Simple.Setup.Copy
347     Distribution.Simple.Setup.Global
348     Distribution.Simple.Setup.Haddock
349     Distribution.Simple.Setup.Hscolour
350     Distribution.Simple.Setup.Install
351     Distribution.Simple.Setup.Register
352     Distribution.Simple.Setup.Repl
353     Distribution.Simple.Setup.SDist
354     Distribution.Simple.Setup.Test
355     Distribution.ZinzaPrelude
356     Paths_Cabal
358   autogen-modules:
359     Paths_Cabal
361   other-extensions:
362     BangPatterns
363     CPP
364     DefaultSignatures
365     DeriveDataTypeable
366     DeriveFoldable
367     DeriveFunctor
368     DeriveGeneric
369     DeriveTraversable
370     ExistentialQuantification
371     FlexibleContexts
372     FlexibleInstances
373     GeneralizedNewtypeDeriving
374     ImplicitParams
375     KindSignatures
376     LambdaCase
377     NondecreasingIndentation
378     OverloadedStrings
379     PatternSynonyms
380     RankNTypes
381     RecordWildCards
382     ScopedTypeVariables
383     StandaloneDeriving
384     Trustworthy
385     TypeFamilies
386     TypeOperators
387     TypeSynonymInstances
388     UndecidableInstances