Merge pull request #10240 from mpickering/wip/flags-hash-initial-unique
[cabal.git] / Cabal-syntax / Cabal-syntax.cabal
blob1bc8bcabeb2281355d27d9df12ab0b38f41d030f
1 cabal-version: 2.2
2 name:          Cabal-syntax
3 version:       3.13.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 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-doc-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.13     && < 5,
33     binary     >= 0.7      && < 0.9,
34     bytestring >= 0.10.0.0 && < 0.13,
35     containers >= 0.5.0.0  && < 0.8,
36     deepseq    >= 1.3.0.1  && < 1.6,
37     directory  >= 1.2      && < 1.4,
38     filepath   >= 1.3.0.1  && < 1.6,
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.2),
43     time       >= 1.4.0.1  && < 1.15,
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   ghc-options:
49     -Wall
50     -fno-ignore-asserts
51     -fwarn-tabs
52     -fwarn-incomplete-uni-patterns
53     -fwarn-incomplete-record-updates
54     -fno-warn-unticked-promoted-constructors
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   build-tool-depends: alex:alex
64   exposed-modules:
65     Distribution.Backpack
66     Distribution.CabalSpecVersion
67     Distribution.Compat.Binary
68     Distribution.Compat.CharParsing
69     Distribution.Compat.DList
70     Distribution.Compat.Exception
71     Distribution.Compat.Graph
72     Distribution.Compat.Lens
73     Distribution.Compat.MonadFail
74     Distribution.Compat.Newtype
75     Distribution.Compat.NonEmptySet
76     Distribution.Compat.Parsing
77     Distribution.Compat.Prelude
78     Distribution.Compat.Semigroup
79     Distribution.Compiler
80     Distribution.FieldGrammar
81     Distribution.FieldGrammar.Class
82     Distribution.FieldGrammar.FieldDescrs
83     Distribution.FieldGrammar.Newtypes
84     Distribution.FieldGrammar.Parsec
85     Distribution.FieldGrammar.Pretty
86     Distribution.Fields
87     Distribution.Fields.ConfVar
88     Distribution.Fields.Field
89     Distribution.Fields.Lexer
90     Distribution.Fields.LexerMonad
91     Distribution.Fields.ParseResult
92     Distribution.Fields.Parser
93     Distribution.Fields.Pretty
94     Distribution.InstalledPackageInfo
95     Distribution.License
96     Distribution.ModuleName
97     Distribution.Package
98     Distribution.PackageDescription
99     Distribution.PackageDescription.Configuration
100     Distribution.PackageDescription.FieldGrammar
101     Distribution.PackageDescription.Parsec
102     Distribution.PackageDescription.PrettyPrint
103     Distribution.PackageDescription.Quirks
104     Distribution.PackageDescription.Utils
105     Distribution.Parsec
106     Distribution.Parsec.Error
107     Distribution.Parsec.FieldLineStream
108     Distribution.Parsec.Position
109     Distribution.Parsec.Warning
110     Distribution.Pretty
111     Distribution.SPDX
112     Distribution.SPDX.License
113     Distribution.SPDX.LicenseExceptionId
114     Distribution.SPDX.LicenseExpression
115     Distribution.SPDX.LicenseId
116     Distribution.SPDX.LicenseListVersion
117     Distribution.SPDX.LicenseReference
118     Distribution.System
119     Distribution.Text
120     Distribution.Types.AbiDependency
121     Distribution.Types.AbiHash
122     Distribution.Types.Benchmark
123     Distribution.Types.Benchmark.Lens
124     Distribution.Types.BenchmarkInterface
125     Distribution.Types.BenchmarkType
126     Distribution.Types.BuildInfo
127     Distribution.Types.BuildInfo.Lens
128     Distribution.Types.BuildType
129     Distribution.Types.Component
130     Distribution.Types.ComponentId
131     Distribution.Types.ComponentName
132     Distribution.Types.ComponentRequestedSpec
133     Distribution.Types.CondTree
134     Distribution.Types.Condition
135     Distribution.Types.ConfVar
136     Distribution.Types.Dependency
137     Distribution.Types.DependencyMap
138     Distribution.Types.ExeDependency
139     Distribution.Types.Executable
140     Distribution.Types.Executable.Lens
141     Distribution.Types.ExecutableScope
142     Distribution.Types.ExposedModule
143     Distribution.Types.Flag
144     Distribution.Types.ForeignLib
145     Distribution.Types.ForeignLib.Lens
146     Distribution.Types.ForeignLibOption
147     Distribution.Types.ForeignLibType
148     Distribution.Types.GenericPackageDescription
149     Distribution.Types.GenericPackageDescription.Lens
150     Distribution.Types.HookedBuildInfo
151     Distribution.Types.IncludeRenaming
152     Distribution.Types.InstalledPackageInfo
153     Distribution.Types.InstalledPackageInfo.Lens
154     Distribution.Types.InstalledPackageInfo.FieldGrammar
155     Distribution.Types.LegacyExeDependency
156     Distribution.Types.Lens
157     Distribution.Types.Library
158     Distribution.Types.Library.Lens
159     Distribution.Types.LibraryName
160     Distribution.Types.LibraryVisibility
161     Distribution.Types.Mixin
162     Distribution.Types.Module
163     Distribution.Types.ModuleReexport
164     Distribution.Types.ModuleRenaming
165     Distribution.Types.MungedPackageId
166     Distribution.Types.MungedPackageName
167     Distribution.Types.PackageDescription
168     Distribution.Types.PackageDescription.Lens
169     Distribution.Types.PackageId
170     Distribution.Types.PackageId.Lens
171     Distribution.Types.PackageName
172     Distribution.Types.PackageVersionConstraint
173     Distribution.Types.PkgconfigDependency
174     Distribution.Types.PkgconfigName
175     Distribution.Types.PkgconfigVersion
176     Distribution.Types.PkgconfigVersionRange
177     Distribution.Types.SetupBuildInfo
178     Distribution.Types.SetupBuildInfo.Lens
179     Distribution.Types.SourceRepo
180     Distribution.Types.SourceRepo.Lens
181     Distribution.Types.TestSuite
182     Distribution.Types.TestSuite.Lens
183     Distribution.Types.TestSuiteInterface
184     Distribution.Types.TestType
185     Distribution.Types.UnitId
186     Distribution.Types.UnqualComponentName
187     Distribution.Types.Version
188     Distribution.Types.VersionInterval
189     Distribution.Types.VersionInterval.Legacy
190     Distribution.Types.VersionRange
191     Distribution.Types.VersionRange.Internal
192     Distribution.Utils.Base62
193     Distribution.Utils.Generic
194     Distribution.Utils.MD5
195     Distribution.Utils.Path
196     Distribution.Utils.ShortText
197     Distribution.Utils.String
198     Distribution.Utils.Structured
199     Distribution.Version
200     Language.Haskell.Extension
202   other-extensions:
203     BangPatterns
204     CPP
205     DefaultSignatures
206     DeriveDataTypeable
207     DeriveFoldable
208     DeriveFunctor
209     DeriveGeneric
210     DeriveTraversable
211     ExistentialQuantification
212     FlexibleContexts
213     FlexibleInstances
214     GeneralizedNewtypeDeriving
215     ImplicitParams
216     KindSignatures
217     NondecreasingIndentation
218     OverloadedStrings
219     PatternSynonyms
220     RankNTypes
221     RecordWildCards
222     ScopedTypeVariables
223     StandaloneDeriving
224     Trustworthy
225     TypeFamilies
226     TypeOperators
227     TypeSynonymInstances
228     UndecidableInstances