packages feed

text-show-instances-3.7: text-show-instances.cabal

name:                text-show-instances
version:             3.7
synopsis:            Additional instances for text-show
description:         @text-show-instances@ is a supplemental library to @text-show@
                     that provides additional @Show@ instances for data types in
                     common Haskell libraries and GHC dependencies that are not
                     encompassed by @text-show@. Currently, @text-show-instances@
                     covers these libraries:
                     .
                     * @<http://hackage.haskell.org/package/bifunctors           bifunctors>@
                     .
                     * @<http://hackage.haskell.org/package/binary               binary>@
                     .
                     * @<http://hackage.haskell.org/package/containers           containers>@
                     .
                     * @<http://hackage.haskell.org/package/directory            directory>@
                     .
                     * @<http://hackage.haskell.org/package/ghc-boot-th          ghc-boot-th>@
                     .
                     * @<http://hackage.haskell.org/package/haskeline            haskeline>@
                     .
                     * @<http://hackage.haskell.org/package/hpc                  hpc>@
                     .
                     * @<http://hackage.haskell.org/package/old-locale           old-locale>@
                     .
                     * @<http://hackage.haskell.org/package/old-time             old-time>@
                     .
                     * @<http://hackage.haskell.org/package/pretty               pretty>@
                     .
                     * @<http://hackage.haskell.org/package/random               random>@
                     .
                     * @<http://hackage.haskell.org/package/tagged               tagged>@
                     .
                     * @<http://hackage.haskell.org/package/template-haskell     template-haskell>@
                     .
                     * @<http://hackage.haskell.org/package/terminfo             terminfo>@
                     .
                     * @<http://hackage.haskell.org/package/time                 time>@
                     .
                     * @<http://hackage.haskell.org/package/transformers         transformers>@
                     .
                     * @<http://hackage.haskell.org/package/unix                 unix>@
                     .
                     * @<http://hackage.haskell.org/package/unordered-containers unordered-containers>@
                     .
                     * @<http://hackage.haskell.org/package/vector               vector>@
                     .
                     * @<http://hackage.haskell.org/package/Win32                Win32>@
                     .
                     * @<http://hackage.haskell.org/package/xhtml                xhtml>@
                     .
                     One can use these instances by importing
                     "TextShow.Instances". Alternatively, there are monomorphic
                     versions of the @showb@ function available in the other submodules
                     of "TextShow".
homepage:            https://github.com/RyanGlScott/text-show-instances
bug-reports:         https://github.com/RyanGlScott/text-show-instances/issues
license:             BSD3
license-file:        LICENSE
author:              Ryan Scott
maintainer:          Ryan Scott <ryan.gl.scott@gmail.com>
stability:           Experimental
copyright:           (C) 2014-2017 Ryan Scott
category:            Text
build-type:          Simple
tested-with:         GHC == 7.4.2
                   , GHC == 7.6.3
                   , GHC == 7.8.4
                   , GHC == 7.10.3
                   , GHC == 8.0.2
                   , GHC == 8.2.2
                   , GHC == 8.4.3
                   , GHC == 8.6.1
extra-source-files:  CHANGELOG.md, README.md
cabal-version:       >=1.10

source-repository head
  type:                git
  location:            https://github.com/RyanGlScott/text-show-instances

flag base-4-9
  description:         Use base-4.9 or later.
  default:             True

flag template-haskell-2-11
  description:         Use template-haskell-2.11.0.0 or later.
  default:             True

flag new-functor-classes
  description:         Use a version of transformers or transformers-compat with a
                       modern-style Data.Functor.Classes module. This flag cannot be
                       used when building with transformers-0.4, since it comes with
                       a different version of Data.Functor.Classes.
  default: True

library
  exposed-modules:     TextShow.Instances

                       TextShow.Control.Applicative.Trans
                       TextShow.Control.Monad.Trans
                       TextShow.Data.Bifunctor
                       TextShow.Data.Binary
                       TextShow.Data.Containers
                       TextShow.Data.Functor.Trans
                       TextShow.Data.Tagged
                       TextShow.Data.Time
                       TextShow.Data.UnorderedContainers
                       TextShow.Data.Vector
                       TextShow.Language.Haskell.TH
                       TextShow.System.Console.Haskeline
                       TextShow.System.Directory
                       TextShow.System.Locale
                       TextShow.System.Random
                       TextShow.System.Time
                       TextShow.Text.PrettyPrint
                       TextShow.Text.XHtml
                       TextShow.Trace.Hpc

                       -- Only exports functions if using ghc-boot-th
                       TextShow.GHC.LanguageExtensions.Type

                       -- Only exports functions if using ghc-boot-th-8.2 or later
                       TextShow.GHC.ForeignSrcLang.Type

                       -- Only exports functions if using Windows
                       TextShow.System.Win32

                       -- Only exports functions if not using Windows
                       TextShow.System.Console.Terminfo
                       TextShow.System.Posix
  other-modules:       TextShow.Utils
  build-depends:       base-compat-batteries >= 0.10   && < 1
                     , bifunctors            >= 5.2    && < 6
                     , binary                >= 0.5    && < 0.9
                     , containers            >= 0.1    && < 0.7
                     , directory             >= 1      && < 1.4
                     , haskeline             >= 0.7    && < 0.8
                     , hpc                   >= 0.5    && < 0.7
                     , old-locale            >= 1      && < 1.1
                     , old-time              >= 1      && < 1.2
                     , pretty                >= 1      && < 1.2
                     , random                >= 1.0.1  && < 1.2
                     , semigroups            >= 0.16.2 && < 1
                     , tagged                >= 0.4.4  && < 1
                     , text                  >= 0.11.1 && < 1.3
                     , text-show             >= 3.4    && < 4
                     , time                  >= 0.1    && < 1.10
                     , unordered-containers  >= 0.2    && < 0.3
                     , vector                >= 0.9    && < 0.13
                     , xhtml                 >= 3000.2 && < 3000.3
  hs-source-dirs:      src
  default-language:    Haskell2010
  ghc-options:         -Wall

  if flag(base-4-9)
    build-depends:     base                  >= 4.9 && < 4.13
    cpp-options:       "-DNEW_FUNCTOR_CLASSES"
  else
    build-depends:     base                  >= 4.5 && < 4.9

  if flag(template-haskell-2-11)
    build-depends:     template-haskell      >= 2.11 && < 2.15
                     , ghc-boot-th           >= 8.0  && < 8.7
  else
    build-depends:     template-haskell      >= 2.7  && < 2.11

  if flag(new-functor-classes)
    build-depends:     transformers          (>= 0.2.1 && < 0.4) || (>= 0.5 && < 0.6)
                     , transformers-compat   >= 0.5 && < 1
    cpp-options:       "-DNEW_FUNCTOR_CLASSES"
  else
    build-depends:     transformers          == 0.4.*

  if os(windows)
    build-depends:     Win32                 >= 2.1    && < 2.9
  else
    build-depends:     terminfo              >= 0.3.2  && < 0.5
                     , unix                  >= 2      && < 2.8

test-suite spec
  type:                exitcode-stdio-1.0
  main-is:             Spec.hs
  other-modules:       Instances.Control.Applicative.Trans
                       Instances.Control.Monad.Trans
                       Instances.Data.Bifunctor
                       Instances.Data.Binary
                       Instances.Data.Containers
                       Instances.Data.Functor.Trans
                       Instances.Data.Vector
                       Instances.Language.Haskell.TH
                       Instances.Miscellaneous
                       Instances.System.Console.Haskeline
                       Instances.System.Directory
                       Instances.System.Locale
                       Instances.System.Random
                       Instances.Text.PrettyPrint
                       Instances.Text.XHtml
                       Instances.Trace.Hpc
                       Instances.Utils
                       Instances.Utils.GenericArbitrary

                       -- Only defines instances if using ghc-boot-th
                       Instances.GHC.LanguageExtensions.Type

                       -- Only defines instances if using ghc-boot-th-8.2 or later
                       Instances.GHC.ForeignSrcLang.Type

                       -- Only defines instances if using time-1.8 or later
                       Instances.Data.Time

                       -- Only defines instances if using Windows
                       Instances.System.Win32

                       -- Only defines instances if not using Windows
                       Instances.System.Console.Terminfo
                       Instances.System.Posix

                       Spec.Control.Applicative.TransSpec
                       Spec.Control.Monad.TransSpec
                       Spec.Data.BifunctorSpec
                       Spec.Data.BinarySpec
                       Spec.Data.ContainersSpec
                       Spec.Data.Functor.TransSpec
                       Spec.Data.VectorSpec
                       Spec.Data.TaggedSpec
                       Spec.Data.TimeSpec
                       Spec.Data.UnorderedContainersSpec
                       Spec.Language.Haskell.THSpec
                       Spec.System.Console.HaskelineSpec
                       Spec.System.DirectorySpec
                       Spec.System.LocaleSpec
                       Spec.System.RandomSpec
                       Spec.System.TimeSpec
                       Spec.Text.PrettyPrintSpec
                       Spec.Text.XHtmlSpec
                       Spec.Trace.HpcSpec
                       Spec.Utils

                       -- Only defines tests if using ghc-boot-th
                       Spec.GHC.LanguageExtensions.TypeSpec

                       -- Only exports functions if using ghc-boot-th-8.2 or later
                       Spec.GHC.ForeignSrcLang.TypeSpec

                       -- Only defines tests if using Windows
                       Spec.System.Win32Spec

                       -- Only defines tests if not using Windows
                       Spec.System.Console.TerminfoSpec
                       Spec.System.PosixSpec
  build-depends:       base-compat-batteries >= 0.10   && < 1
                     , bifunctors            >= 5.2    && < 6
                     , binary                >= 0.5    && < 0.9
                     , containers            >= 0.1    && < 0.7
                     , directory             >= 1      && < 1.4
                     , generic-deriving      >= 1.9    && < 2
                     , ghc-prim
                     , haskeline             >= 0.7    && < 0.8
                     , hpc                   >= 0.5    && < 0.7
                     , hspec                 >= 2      && < 3
                     , old-locale            >= 1      && < 1.1
                     , old-time              >= 1      && < 1.2
                     , pretty                >= 1      && < 1.2
                     , QuickCheck            >= 2.12   && < 2.13
                     , quickcheck-instances  >= 0.3.19 && < 0.4
                     , random                >= 1.0.1  && < 1.2
                     , tagged                >= 0.4.4  && < 1
                     , text-show             >= 3.4    && < 4
                     , text-show-instances
                     , th-orphans            >= 0.13.3 && < 1
                     , time                  >= 0.1    && < 1.10
                     , unordered-containers  >= 0.2    && < 0.3
                     , vector                >= 0.9    && < 0.13
                     , xhtml                 >= 3000.2 && < 3000.3
  build-tool-depends:  hspec-discover:hspec-discover

  if flag(base-4-9)
    build-depends:     base                  >= 4.9 && < 4.13
    cpp-options:       "-DNEW_FUNCTOR_CLASSES"
  else
    build-depends:     base                  >= 4.5 && < 4.9

  if flag(template-haskell-2-11)
    build-depends:     template-haskell      >= 2.11 && < 2.15
                     , ghc-boot-th           >= 8.0  && < 8.7
  else
    build-depends:     template-haskell      >= 2.7  && < 2.11

  if flag(new-functor-classes)
    build-depends:     transformers          (>= 0.2.1 && < 0.4) || (>= 0.5 && < 0.6)
                     , transformers-compat   >= 0.5 && < 1
    cpp-options:       "-DNEW_FUNCTOR_CLASSES"
  else
    build-depends:     transformers          == 0.4.*

  hs-source-dirs:      tests
  default-language:    Haskell2010
  ghc-options:         -Wall -threaded -rtsopts

  if os(windows)
    build-depends:     Win32                 >= 2.1    && < 2.9
  else
    build-depends:     terminfo              >= 0.3.2  && < 0.5
                     , unix                  >= 2      && < 2.8