Disallow GHC <8.0 for Cabal{,-syntax} & cabal-install-solver (#8794)
[cabal.git] / Cabal-syntax / Cabal-syntax.cabal
blob644d77c8eef356cf7d29f2cd3cbc522ed2f12809
1 cabal-version: 2.2
2 name:          Cabal-syntax
3 version:       3.9.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 library for working with .cabal files
12 description:
13     This library provides tools for reading and manipulating the .cabal file
14     format.
15 category:       Distribution
16 build-type:     Simple
18 extra-source-files:
19   README.md ChangeLog.md
21 source-repository head
22   type:     git
23   location: https://github.com/haskell/cabal/
24   subdir:   Cabal-syntax
26 library
27   default-language: Haskell2010
28   hs-source-dirs: src
30   build-depends:
31     array      >= 0.4.0.1  && < 0.6,
32     base       >= 4.9      && < 5,
33     binary     >= 0.7      && < 0.9,
34     bytestring >= 0.10.0.0 && < 0.12,
35     containers >= 0.5.0.0  && < 0.7,
36     deepseq    >= 1.3.0.1  && < 1.5,
37     directory  >= 1.2      && < 1.4,
38     filepath   >= 1.3.0.1  && < 1.5,
39     mtl        >= 2.1      && < 2.4,
40     parsec     >= 3.1.13.0 && < 3.2,
41     pretty     >= 1.1.1    && < 1.2,
42     text       (>= 1.2.3.0 && < 1.3) || (>= 2.0 && < 2.1),
43     time       >= 1.4.0.1  && < 1.13,
44     -- transformers-0.4.0.0 doesn't have record syntax e.g. for Identity
45     -- See also https://github.com/ekmett/transformers-compat/issues/35
46     transformers (>= 0.3      && < 0.4) || (>=0.4.1.0 && <0.7)
48   if os(windows)
49     build-depends: Win32 >= 2.3.0.0 && < 2.14
50   else
51     build-depends: unix  >= 2.6.0.0 && < 2.9
53   ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates
55   if impl(ghc >= 8.0)
56     ghc-options: -Wcompat -Wnoncanonical-monad-instances
58   if impl(ghc >= 8.0) && impl(ghc < 8.8)
59     ghc-options: -Wnoncanonical-monadfail-instances
61   exposed-modules:
62     Distribution.Backpack
63     Distribution.CabalSpecVersion
64     Distribution.Compat.Binary
65     Distribution.Compat.CharParsing
66     Distribution.Compat.DList
67     Distribution.Compat.Exception
68     Distribution.Compat.Graph
69     Distribution.Compat.Lens
70     Distribution.Compat.MonadFail
71     Distribution.Compat.Newtype
72     Distribution.Compat.NonEmptySet
73     Distribution.Compat.Parsing
74     Distribution.Compat.Prelude
75     Distribution.Compat.Semigroup
76     Distribution.Compat.Typeable
77     Distribution.Compiler
78     Distribution.FieldGrammar
79     Distribution.FieldGrammar.Class
80     Distribution.FieldGrammar.FieldDescrs
81     Distribution.FieldGrammar.Newtypes
82     Distribution.FieldGrammar.Parsec
83     Distribution.FieldGrammar.Pretty
84     Distribution.Fields
85     Distribution.Fields.ConfVar
86     Distribution.Fields.Field
87     Distribution.Fields.Lexer
88     Distribution.Fields.LexerMonad
89     Distribution.Fields.ParseResult
90     Distribution.Fields.Parser
91     Distribution.Fields.Pretty
92     Distribution.InstalledPackageInfo
93     Distribution.License
94     Distribution.ModuleName
95     Distribution.Package
96     Distribution.PackageDescription
97     Distribution.PackageDescription.Configuration
98     Distribution.PackageDescription.FieldGrammar
99     Distribution.PackageDescription.Parsec
100     Distribution.PackageDescription.PrettyPrint
101     Distribution.PackageDescription.Quirks
102     Distribution.PackageDescription.Utils
103     Distribution.Parsec
104     Distribution.Parsec.Error
105     Distribution.Parsec.FieldLineStream
106     Distribution.Parsec.Position
107     Distribution.Parsec.Warning
108     Distribution.Pretty
109     Distribution.SPDX
110     Distribution.SPDX.License
111     Distribution.SPDX.LicenseExceptionId
112     Distribution.SPDX.LicenseExpression
113     Distribution.SPDX.LicenseId
114     Distribution.SPDX.LicenseListVersion
115     Distribution.SPDX.LicenseReference
116     Distribution.System
117     Distribution.Text
118     Distribution.Types.AbiDependency
119     Distribution.Types.AbiHash
120     Distribution.Types.Benchmark
121     Distribution.Types.Benchmark.Lens
122     Distribution.Types.BenchmarkInterface
123     Distribution.Types.BenchmarkType
124     Distribution.Types.BuildInfo
125     Distribution.Types.BuildInfo.Lens
126     Distribution.Types.BuildType
127     Distribution.Types.Component
128     Distribution.Types.ComponentId
129     Distribution.Types.ComponentName
130     Distribution.Types.ComponentRequestedSpec
131     Distribution.Types.CondTree
132     Distribution.Types.Condition
133     Distribution.Types.ConfVar
134     Distribution.Types.Dependency
135     Distribution.Types.DependencyMap
136     Distribution.Types.ExeDependency
137     Distribution.Types.Executable
138     Distribution.Types.Executable.Lens
139     Distribution.Types.ExecutableScope
140     Distribution.Types.ExposedModule
141     Distribution.Types.Flag
142     Distribution.Types.ForeignLib
143     Distribution.Types.ForeignLib.Lens
144     Distribution.Types.ForeignLibOption
145     Distribution.Types.ForeignLibType
146     Distribution.Types.GenericPackageDescription
147     Distribution.Types.GenericPackageDescription.Lens
148     Distribution.Types.HookedBuildInfo
149     Distribution.Types.IncludeRenaming
150     Distribution.Types.InstalledPackageInfo
151     Distribution.Types.InstalledPackageInfo.Lens
152     Distribution.Types.InstalledPackageInfo.FieldGrammar
153     Distribution.Types.LegacyExeDependency
154     Distribution.Types.Lens
155     Distribution.Types.Library
156     Distribution.Types.Library.Lens
157     Distribution.Types.LibraryName
158     Distribution.Types.LibraryVisibility
159     Distribution.Types.Mixin
160     Distribution.Types.Module
161     Distribution.Types.ModuleReexport
162     Distribution.Types.ModuleRenaming
163     Distribution.Types.MungedPackageId
164     Distribution.Types.MungedPackageName
165     Distribution.Types.PackageDescription
166     Distribution.Types.PackageDescription.Lens
167     Distribution.Types.PackageId
168     Distribution.Types.PackageId.Lens
169     Distribution.Types.PackageName
170     Distribution.Types.PackageVersionConstraint
171     Distribution.Types.PkgconfigDependency
172     Distribution.Types.PkgconfigName
173     Distribution.Types.PkgconfigVersion
174     Distribution.Types.PkgconfigVersionRange
175     Distribution.Types.SetupBuildInfo
176     Distribution.Types.SetupBuildInfo.Lens
177     Distribution.Types.SourceRepo
178     Distribution.Types.SourceRepo.Lens
179     Distribution.Types.TestSuite
180     Distribution.Types.TestSuite.Lens
181     Distribution.Types.TestSuiteInterface
182     Distribution.Types.TestType
183     Distribution.Types.UnitId
184     Distribution.Types.UnqualComponentName
185     Distribution.Types.Version
186     Distribution.Types.VersionInterval
187     Distribution.Types.VersionInterval.Legacy
188     Distribution.Types.VersionRange
189     Distribution.Types.VersionRange.Internal
190     Distribution.Utils.Base62
191     Distribution.Utils.Generic
192     Distribution.Utils.MD5
193     Distribution.Utils.Path
194     Distribution.Utils.ShortText
195     Distribution.Utils.String
196     Distribution.Utils.Structured
197     Distribution.Version
198     Language.Haskell.Extension
200   other-extensions:
201     BangPatterns
202     CPP
203     DefaultSignatures
204     DeriveDataTypeable
205     DeriveFoldable
206     DeriveFunctor
207     DeriveGeneric
208     DeriveTraversable
209     ExistentialQuantification
210     FlexibleContexts
211     FlexibleInstances
212     GeneralizedNewtypeDeriving
213     ImplicitParams
214     KindSignatures
215     NondecreasingIndentation
216     OverloadedStrings
217     PatternSynonyms
218     RankNTypes
219     RecordWildCards
220     ScopedTypeVariables
221     StandaloneDeriving
222     Trustworthy
223     TypeFamilies
224     TypeOperators
225     TypeSynonymInstances
226     UndecidableInstances