Disable flake index-state related tests, which often fail to `curl`
[cabal.git] / Cabal / Cabal.cabal
blob6cfbf819b25778d0adfcb1b0c3e9489553b9d258
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.LocalBuildInfo
150     Distribution.Types.TargetInfo
151     Distribution.Types.GivenComponent
152     Distribution.Types.ParStrat
153     Distribution.Utils.Json
154     Distribution.Utils.NubList
155     Distribution.Utils.Progress
156     Distribution.Verbosity
157     Distribution.Verbosity.Internal
159   -- We reexport all of Cabal-syntax to aid in compatibility for downstream
160   -- users. In the future we may opt to deprecate some or all of these exports.
161   -- See haskell/Cabal#7974.
162   reexported-modules:
163     Distribution.Backpack,
164     Distribution.CabalSpecVersion,
165     Distribution.Compat.Binary,
166     Distribution.Compat.CharParsing,
167     Distribution.Compat.DList,
168     Distribution.Compat.Exception,
169     Distribution.Compat.Graph,
170     Distribution.Compat.Lens,
171     Distribution.Compat.MonadFail,
172     Distribution.Compat.Newtype,
173     Distribution.Compat.NonEmptySet,
174     Distribution.Compat.Parsing,
175     Distribution.Compat.Prelude,
176     Distribution.Compat.Semigroup,
177     Distribution.Compat.Typeable,
178     Distribution.Compiler,
179     Distribution.FieldGrammar,
180     Distribution.FieldGrammar.Class,
181     Distribution.FieldGrammar.FieldDescrs,
182     Distribution.FieldGrammar.Newtypes,
183     Distribution.FieldGrammar.Parsec,
184     Distribution.FieldGrammar.Pretty,
185     Distribution.Fields,
186     Distribution.Fields.ConfVar,
187     Distribution.Fields.Field,
188     Distribution.Fields.Lexer,
189     Distribution.Fields.LexerMonad,
190     Distribution.Fields.ParseResult,
191     Distribution.Fields.Parser,
192     Distribution.Fields.Pretty,
193     Distribution.InstalledPackageInfo,
194     Distribution.License,
195     Distribution.ModuleName,
196     Distribution.Package,
197     Distribution.PackageDescription,
198     Distribution.PackageDescription.Configuration,
199     Distribution.PackageDescription.FieldGrammar,
200     Distribution.PackageDescription.Parsec,
201     Distribution.PackageDescription.PrettyPrint,
202     Distribution.PackageDescription.Quirks,
203     Distribution.PackageDescription.Utils,
204     Distribution.Parsec,
205     Distribution.Parsec.Error,
206     Distribution.Parsec.FieldLineStream,
207     Distribution.Parsec.Position,
208     Distribution.Parsec.Warning,
209     Distribution.Pretty,
210     Distribution.SPDX,
211     Distribution.SPDX.License,
212     Distribution.SPDX.LicenseExceptionId,
213     Distribution.SPDX.LicenseExpression,
214     Distribution.SPDX.LicenseId,
215     Distribution.SPDX.LicenseListVersion,
216     Distribution.SPDX.LicenseReference,
217     Distribution.System,
218     Distribution.Text,
219     Distribution.Types.AbiDependency,
220     Distribution.Types.AbiHash,
221     Distribution.Types.Benchmark,
222     Distribution.Types.Benchmark.Lens,
223     Distribution.Types.BenchmarkInterface,
224     Distribution.Types.BenchmarkType,
225     Distribution.Types.BuildInfo,
226     Distribution.Types.BuildInfo.Lens,
227     Distribution.Types.BuildType,
228     Distribution.Types.Component,
229     Distribution.Types.ComponentId,
230     Distribution.Types.ComponentName,
231     Distribution.Types.ComponentRequestedSpec,
232     Distribution.Types.CondTree,
233     Distribution.Types.Condition,
234     Distribution.Types.ConfVar,
235     Distribution.Types.Dependency,
236     Distribution.Types.DependencyMap,
237     Distribution.Types.ExeDependency,
238     Distribution.Types.Executable,
239     Distribution.Types.Executable.Lens,
240     Distribution.Types.ExecutableScope,
241     Distribution.Types.ExposedModule,
242     Distribution.Types.Flag,
243     Distribution.Types.ForeignLib,
244     Distribution.Types.ForeignLib.Lens,
245     Distribution.Types.ForeignLibOption,
246     Distribution.Types.ForeignLibType,
247     Distribution.Types.GenericPackageDescription,
248     Distribution.Types.GenericPackageDescription.Lens,
249     Distribution.Types.HookedBuildInfo,
250     Distribution.Types.IncludeRenaming,
251     Distribution.Types.InstalledPackageInfo,
252     Distribution.Types.InstalledPackageInfo.Lens,
253     Distribution.Types.InstalledPackageInfo.FieldGrammar,
254     Distribution.Types.LegacyExeDependency,
255     Distribution.Types.Lens,
256     Distribution.Types.Library,
257     Distribution.Types.Library.Lens,
258     Distribution.Types.LibraryName,
259     Distribution.Types.LibraryVisibility,
260     Distribution.Types.Mixin,
261     Distribution.Types.Module,
262     Distribution.Types.ModuleReexport,
263     Distribution.Types.ModuleRenaming,
264     Distribution.Types.MungedPackageId,
265     Distribution.Types.MungedPackageName,
266     Distribution.Types.PackageDescription,
267     Distribution.Types.PackageDescription.Lens,
268     Distribution.Types.PackageId,
269     Distribution.Types.PackageId.Lens,
270     Distribution.Types.PackageName,
271     Distribution.Types.PackageVersionConstraint,
272     Distribution.Types.PkgconfigDependency,
273     Distribution.Types.PkgconfigName,
274     Distribution.Types.PkgconfigVersion,
275     Distribution.Types.PkgconfigVersionRange,
276     Distribution.Types.SetupBuildInfo,
277     Distribution.Types.SetupBuildInfo.Lens,
278     Distribution.Types.SourceRepo,
279     Distribution.Types.SourceRepo.Lens,
280     Distribution.Types.TestSuite,
281     Distribution.Types.TestSuite.Lens,
282     Distribution.Types.TestSuiteInterface,
283     Distribution.Types.TestType,
284     Distribution.Types.UnitId,
285     Distribution.Types.UnqualComponentName,
286     Distribution.Types.Version,
287     Distribution.Types.VersionInterval,
288     Distribution.Types.VersionInterval.Legacy,
289     Distribution.Types.VersionRange,
290     Distribution.Types.VersionRange.Internal,
291     Distribution.Utils.Base62,
292     Distribution.Utils.Generic,
293     Distribution.Utils.MD5,
294     Distribution.Utils.Path,
295     Distribution.Utils.ShortText,
296     Distribution.Utils.String,
297     Distribution.Utils.Structured,
298     Distribution.Version,
299     Language.Haskell.Extension
301   -- Parsec parser-related modules
302   build-depends:
303     -- transformers-0.4.0.0 doesn't have record syntax e.g. for Identity
304     -- See also https://github.com/ekmett/transformers-compat/issues/35
305     transformers (>= 0.3      && < 0.4) || (>=0.4.1.0 && <0.7),
306     mtl           >= 2.1      && < 2.4,
307     text         (>= 1.2.3.0  && < 1.3) || (>= 2.0 && < 2.2),
308     parsec        >= 3.1.13.0 && < 3.2
310   other-modules:
311     Distribution.Backpack.PreExistingComponent
312     Distribution.Backpack.ReadyComponent
313     Distribution.Backpack.MixLink
314     Distribution.Backpack.ModuleScope
315     Distribution.Backpack.UnifyM
316     Distribution.Backpack.Id
317     Distribution.Utils.UnionFind
318     Distribution.Compat.Async
319     Distribution.Compat.CopyFile
320     Distribution.Compat.GetShortPathName
321     Distribution.Compat.SnocList
322     Distribution.GetOpt
323     Distribution.Lex
324     Distribution.PackageDescription.Check.Common
325     Distribution.PackageDescription.Check.Conditional
326     Distribution.PackageDescription.Check.Monad
327     Distribution.PackageDescription.Check.Paths
328     Distribution.PackageDescription.Check.Target
329     Distribution.PackageDescription.Check.Warning
330     Distribution.Simple.Build.Macros.Z
331     Distribution.Simple.Build.PackageInfoModule.Z
332     Distribution.Simple.Build.PathsModule.Z
333     Distribution.Simple.GHC.Build
334     Distribution.Simple.GHC.BuildOrRepl
335     Distribution.Simple.GHC.BuildGeneric
336     Distribution.Simple.GHC.EnvironmentParser
337     Distribution.Simple.GHC.Internal
338     Distribution.Simple.GHC.ImplInfo
339     Distribution.Simple.ConfigureScript
340     Distribution.Simple.Setup.Benchmark
341     Distribution.Simple.Setup.Build
342     Distribution.Simple.Setup.Clean
343     Distribution.Simple.Setup.Common
344     Distribution.Simple.Setup.Config
345     Distribution.Simple.Setup.Copy
346     Distribution.Simple.Setup.Global
347     Distribution.Simple.Setup.Haddock
348     Distribution.Simple.Setup.Hscolour
349     Distribution.Simple.Setup.Install
350     Distribution.Simple.Setup.Register
351     Distribution.Simple.Setup.Repl
352     Distribution.Simple.Setup.SDist
353     Distribution.Simple.Setup.Test
354     Distribution.ZinzaPrelude
355     Paths_Cabal
357   autogen-modules:
358     Paths_Cabal
360   other-extensions:
361     BangPatterns
362     CPP
363     DefaultSignatures
364     DeriveDataTypeable
365     DeriveFoldable
366     DeriveFunctor
367     DeriveGeneric
368     DeriveTraversable
369     ExistentialQuantification
370     FlexibleContexts
371     FlexibleInstances
372     GeneralizedNewtypeDeriving
373     ImplicitParams
374     KindSignatures
375     LambdaCase
376     NondecreasingIndentation
377     OverloadedStrings
378     PatternSynonyms
379     RankNTypes
380     RecordWildCards
381     ScopedTypeVariables
382     StandaloneDeriving
383     Trustworthy
384     TypeFamilies
385     TypeOperators
386     TypeSynonymInstances
387     UndecidableInstances