cabal-version: 2.2
name:          Cabal-syntax
version:       3.10.3.0
copyright:     2003-2023, Cabal Development Team (see AUTHORS file)
license:       BSD-3-Clause
license-file:  LICENSE
author:        Cabal Development Team <cabal-devel@haskell.org>
maintainer:    cabal-devel@haskell.org
homepage:      http://www.haskell.org/cabal/
bug-reports:   https://github.com/haskell/cabal/issues
synopsis:      A library for working with .cabal files
description:
    This library provides tools for reading and manipulating the .cabal file
    format.
category:       Distribution
build-type:     Simple

extra-doc-files:
  README.md ChangeLog.md

source-repository head
  type:     git
  location: https://github.com/haskell/cabal/
  subdir:   Cabal-syntax

library
  default-language: Haskell2010
  hs-source-dirs: src

  build-depends:
    array      >= 0.4.0.1  && < 0.6,
    base       >= 4.9      && < 5,
    binary     >= 0.7      && < 0.9,
    bytestring >= 0.10.0.0 && < 0.13,
    containers >= 0.5.0.0  && < 0.8,
    deepseq    >= 1.3.0.1  && < 1.6,
    directory  >= 1.2      && < 1.4,
    filepath   >= 1.3.0.1  && < 1.6,
    mtl        >= 2.1      && < 2.4,
    parsec     >= 3.1.13.0 && < 3.2,
    pretty     >= 1.1.1    && < 1.2,
    text       (>= 1.2.3.0 && < 1.3) || (>= 2.0 && < 2.2),
    time       >= 1.4.0.1  && < 1.13,
    -- transformers-0.4.0.0 doesn't have record syntax e.g. for Identity
    -- See also https://github.com/ekmett/transformers-compat/issues/35
    transformers (>= 0.3      && < 0.4) || (>=0.4.1.0 && <0.7)

  if os(windows)
    build-depends: Win32 >= 2.3.0.0 && < 2.14
  else
    build-depends: unix  >= 2.6.0.0 && < 2.9

  ghc-options: -Wall -fno-ignore-asserts -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates

  if impl(ghc >= 8.0)
    ghc-options: -Wcompat -Wnoncanonical-monad-instances

  if impl(ghc >= 8.0) && impl(ghc < 8.8)
    ghc-options: -Wnoncanonical-monadfail-instances

  exposed-modules:
    Distribution.Backpack
    Distribution.CabalSpecVersion
    Distribution.Compat.Binary
    Distribution.Compat.CharParsing
    Distribution.Compat.DList
    Distribution.Compat.Exception
    Distribution.Compat.Graph
    Distribution.Compat.Lens
    Distribution.Compat.MonadFail
    Distribution.Compat.Newtype
    Distribution.Compat.NonEmptySet
    Distribution.Compat.Parsing
    Distribution.Compat.Prelude
    Distribution.Compat.Semigroup
    Distribution.Compat.Typeable
    Distribution.Compiler
    Distribution.FieldGrammar
    Distribution.FieldGrammar.Class
    Distribution.FieldGrammar.FieldDescrs
    Distribution.FieldGrammar.Newtypes
    Distribution.FieldGrammar.Parsec
    Distribution.FieldGrammar.Pretty
    Distribution.Fields
    Distribution.Fields.ConfVar
    Distribution.Fields.Field
    Distribution.Fields.Lexer
    Distribution.Fields.LexerMonad
    Distribution.Fields.ParseResult
    Distribution.Fields.Parser
    Distribution.Fields.Pretty
    Distribution.InstalledPackageInfo
    Distribution.License
    Distribution.ModuleName
    Distribution.Package
    Distribution.PackageDescription
    Distribution.PackageDescription.Configuration
    Distribution.PackageDescription.FieldGrammar
    Distribution.PackageDescription.Parsec
    Distribution.PackageDescription.PrettyPrint
    Distribution.PackageDescription.Quirks
    Distribution.PackageDescription.Utils
    Distribution.Parsec
    Distribution.Parsec.Error
    Distribution.Parsec.FieldLineStream
    Distribution.Parsec.Position
    Distribution.Parsec.Warning
    Distribution.Pretty
    Distribution.SPDX
    Distribution.SPDX.License
    Distribution.SPDX.LicenseExceptionId
    Distribution.SPDX.LicenseExpression
    Distribution.SPDX.LicenseId
    Distribution.SPDX.LicenseListVersion
    Distribution.SPDX.LicenseReference
    Distribution.System
    Distribution.Text
    Distribution.Types.AbiDependency
    Distribution.Types.AbiHash
    Distribution.Types.Benchmark
    Distribution.Types.Benchmark.Lens
    Distribution.Types.BenchmarkInterface
    Distribution.Types.BenchmarkType
    Distribution.Types.BuildInfo
    Distribution.Types.BuildInfo.Lens
    Distribution.Types.BuildType
    Distribution.Types.Component
    Distribution.Types.ComponentId
    Distribution.Types.ComponentName
    Distribution.Types.ComponentRequestedSpec
    Distribution.Types.CondTree
    Distribution.Types.Condition
    Distribution.Types.ConfVar
    Distribution.Types.Dependency
    Distribution.Types.DependencyMap
    Distribution.Types.ExeDependency
    Distribution.Types.Executable
    Distribution.Types.Executable.Lens
    Distribution.Types.ExecutableScope
    Distribution.Types.ExposedModule
    Distribution.Types.Flag
    Distribution.Types.ForeignLib
    Distribution.Types.ForeignLib.Lens
    Distribution.Types.ForeignLibOption
    Distribution.Types.ForeignLibType
    Distribution.Types.GenericPackageDescription
    Distribution.Types.GenericPackageDescription.Lens
    Distribution.Types.HookedBuildInfo
    Distribution.Types.IncludeRenaming
    Distribution.Types.InstalledPackageInfo
    Distribution.Types.InstalledPackageInfo.Lens
    Distribution.Types.InstalledPackageInfo.FieldGrammar
    Distribution.Types.LegacyExeDependency
    Distribution.Types.Lens
    Distribution.Types.Library
    Distribution.Types.Library.Lens
    Distribution.Types.LibraryName
    Distribution.Types.LibraryVisibility
    Distribution.Types.Mixin
    Distribution.Types.Module
    Distribution.Types.ModuleReexport
    Distribution.Types.ModuleRenaming
    Distribution.Types.MungedPackageId
    Distribution.Types.MungedPackageName
    Distribution.Types.PackageDescription
    Distribution.Types.PackageDescription.Lens
    Distribution.Types.PackageId
    Distribution.Types.PackageId.Lens
    Distribution.Types.PackageName
    Distribution.Types.PackageVersionConstraint
    Distribution.Types.PkgconfigDependency
    Distribution.Types.PkgconfigName
    Distribution.Types.PkgconfigVersion
    Distribution.Types.PkgconfigVersionRange
    Distribution.Types.SetupBuildInfo
    Distribution.Types.SetupBuildInfo.Lens
    Distribution.Types.SourceRepo
    Distribution.Types.SourceRepo.Lens
    Distribution.Types.TestSuite
    Distribution.Types.TestSuite.Lens
    Distribution.Types.TestSuiteInterface
    Distribution.Types.TestType
    Distribution.Types.UnitId
    Distribution.Types.UnqualComponentName
    Distribution.Types.Version
    Distribution.Types.VersionInterval
    Distribution.Types.VersionInterval.Legacy
    Distribution.Types.VersionRange
    Distribution.Types.VersionRange.Internal
    Distribution.Utils.Base62
    Distribution.Utils.Generic
    Distribution.Utils.MD5
    Distribution.Utils.Path
    Distribution.Utils.ShortText
    Distribution.Utils.String
    Distribution.Utils.Structured
    Distribution.Version
    Language.Haskell.Extension

  other-extensions:
    BangPatterns
    CPP
    DefaultSignatures
    DeriveDataTypeable
    DeriveFoldable
    DeriveFunctor
    DeriveGeneric
    DeriveTraversable
    ExistentialQuantification
    FlexibleContexts
    FlexibleInstances
    GeneralizedNewtypeDeriving
    ImplicitParams
    KindSignatures
    NondecreasingIndentation
    OverloadedStrings
    PatternSynonyms
    RankNTypes
    RecordWildCards
    ScopedTypeVariables
    StandaloneDeriving
    Trustworthy
    TypeFamilies
    TypeOperators
    TypeSynonymInstances
    UndecidableInstances