File optics-th.cabal of Package ghc-optics-th

cabal-version: 2.2
name:          optics-th
version:       0.4.1
x-revision: 6
license:       BSD-3-Clause
license-file:  LICENSE
build-type:    Simple
maintainer:    optics@well-typed.com
author:        Andrzej Rybczak
tested-with:   GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7
                || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.3 || ==9.8.1, GHCJS ==8.4
synopsis:      Optics construction using TemplateHaskell
category:      Data, Optics, Lenses
description:
  This package is part of the @<https://hackage.haskell.org/package/optics optics>@
  package family.  It provides machinery to construct optics using @TemplateHaskell@.
  .
  See the @template-haskell-optics@ package for optics to work with @template-haskell@ types.

extra-doc-files:
  CHANGELOG.md

bug-reports:   https://github.com/well-typed/optics/issues
source-repository head
  type:     git
  location: https://github.com/well-typed/optics.git
  subdir:   optics-th

common language
    ghc-options:        -Wall -Wcompat

    default-language:   Haskell2010

    default-extensions: BangPatterns
                        ConstraintKinds
                        DefaultSignatures
                        DeriveFoldable
                        DeriveFunctor
                        DeriveGeneric
                        DeriveTraversable
                        EmptyCase
                        FlexibleContexts
                        FlexibleInstances
                        FunctionalDependencies
                        GADTs
                        GeneralizedNewtypeDeriving
                        InstanceSigs
                        KindSignatures
                        LambdaCase
                        OverloadedLabels
                        PatternSynonyms
                        RankNTypes
                        ScopedTypeVariables
                        TupleSections
                        TypeApplications
                        TypeFamilies
                        TypeOperators
                        ViewPatterns

library
  import:           language
  hs-source-dirs:   src

  build-depends: base                   >= 4.10      && <5
               , containers             >= 0.5.10.2  && <0.7
               , mtl                    >= 2.2.2     && <2.4
               , optics-core            >= 0.4.1     && <0.5
               , template-haskell       >= 2.12      && <2.22
               , th-abstraction         >= 0.4       && <0.7
               , transformers           >= 0.5       && <0.7

  exposed-modules: Optics.TH

                   -- internal modules
                   Optics.TH.Internal.Utils
                   Optics.TH.Internal.Product
                   Optics.TH.Internal.Sum

  other-modules:   Language.Haskell.TH.Optics.Internal

test-suite optics-th-tests
  import:           language
  hs-source-dirs:   tests

  build-depends: base
               , optics-core
               , optics-th
               , tagged

  type:    exitcode-stdio-1.0
  main-is: Optics/TH/Tests.hs

  other-modules: Optics.TH.Tests.DuplicateRecordFields
                 Optics.TH.Tests.T799
openSUSE Build Service is sponsored by