Split off file monitoring types into Cabal library
[cabal.git] / Cabal / Cabal.cabal
blob2e9a6b765a60abdc17ba368202a9cb97dcc94d9a
1 cabal-version: 2.2
2 name:          Cabal
3 version:       3.11.0.0
4 copyright:     2003-2024, 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-doc-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.15
49   if os(windows)
50     build-depends: Win32 >= 2.3.0.0 && < 2.15
51   else
52     build-depends: unix  >= 2.6.0.0 && < 2.9
54   ghc-options:
55     -Wall
56     -fno-ignore-asserts
57     -fwarn-tabs
58     -fwarn-incomplete-uni-patterns
59     -fwarn-incomplete-record-updates
60     -fno-warn-unticked-promoted-constructors
62   if impl(ghc >= 8.0)
63     ghc-options: -Wcompat -Wnoncanonical-monad-instances
65   if impl(ghc >= 8.0) && impl(ghc < 8.8)
66     ghc-options: -Wnoncanonical-monadfail-instances
68   exposed-modules:
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
91     Distribution.Make
92     Distribution.PackageDescription.Check
93     Distribution.ReadE
94     Distribution.Simple
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.
173   reexported-modules:
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,
196     Distribution.Fields,
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,
215     Distribution.Parsec,
216     Distribution.Parsec.Error,
217     Distribution.Parsec.FieldLineStream,
218     Distribution.Parsec.Position,
219     Distribution.Parsec.Warning,
220     Distribution.Pretty,
221     Distribution.SPDX,
222     Distribution.SPDX.License,
223     Distribution.SPDX.LicenseExceptionId,
224     Distribution.SPDX.LicenseExpression,
225     Distribution.SPDX.LicenseId,
226     Distribution.SPDX.LicenseListVersion,
227     Distribution.SPDX.LicenseReference,
228     Distribution.System,
229     Distribution.Text,
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
313   build-depends:
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),
317     mtl           >= 2.1      && < 2.4,
318     parsec        >= 3.1.13.0 && < 3.2
320   other-modules:
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
332     Distribution.GetOpt
333     Distribution.Lex
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
367     Paths_Cabal
369   autogen-modules:
370     Paths_Cabal
372   other-extensions:
373     BangPatterns
374     CPP
375     DefaultSignatures
376     DeriveDataTypeable
377     DeriveFoldable
378     DeriveFunctor
379     DeriveGeneric
380     DeriveTraversable
381     ExistentialQuantification
382     FlexibleContexts
383     FlexibleInstances
384     GeneralizedNewtypeDeriving
385     ImplicitParams
386     KindSignatures
387     LambdaCase
388     NondecreasingIndentation
389     OverloadedStrings
390     PatternSynonyms
391     RankNTypes
392     RecordWildCards
393     ScopedTypeVariables
394     StandaloneDeriving
395     Trustworthy
396     TypeFamilies
397     TypeOperators
398     TypeSynonymInstances
399     UndecidableInstances