packages feed

text-show-instances-3.9.2: text-show-instances.cabal

name:                text-show-instances
version:             3.9.2
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/scientific           scientific>@
                     .
                     * @<http://hackage.haskell.org/package/tagged               tagged>@
                     .
                     * @<http://hackage.haskell.org/package/template-haskell     template-haskell>@
                     .
                     * @<http://hackage.haskell.org/package/terminfo             terminfo>@
                     .
                     * @<https://hackage.haskell.org/package/text-short          text-short>@
                     .
                     * @<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>@
                     .
                     * @<https://hackage.haskell.org/package/uuid-types          uuid-types>@
                     .
                     * @<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.8.4
                   , GHC == 7.10.3
                   , GHC == 8.0.2
                   , GHC == 8.2.2
                   , GHC == 8.4.4
                   , GHC == 8.6.5
                   , GHC == 8.8.4
                   , GHC == 8.10.7
                   , GHC == 9.0.2
                   , GHC == 9.2.2
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.Scientific
                       TextShow.Data.ShortText
                       TextShow.Data.Tagged
                       TextShow.Data.Time
                       TextShow.Data.UnorderedContainers
                       TextShow.Data.UUID
                       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.7.1  && < 0.9
                     , containers            >= 0.5.5  && < 0.7
                     , directory             >= 1.2.1  && < 1.4
                     , haskeline             >= 0.7.1  && < 0.9
                     , hpc                   >= 0.6    && < 0.7
                     , old-locale            >= 1      && < 1.1
                     , old-time              >= 1.1    && < 1.2
                     , pretty                >= 1.1.1  && < 1.2
                     , random                >= 1.0.1  && < 1.3
                     , scientific            >= 0.3.7  && < 0.4
                     , semigroups            >= 0.16.2 && < 1
                     , tagged                >= 0.4.4  && < 1
                     , text                  >= 0.11.1 && < 2.1
                     , text-short            >= 0.1    && < 0.2
                     , text-show             >= 3.4    && < 4
                     , time                  >= 0.1    && < 1.13
                     , unordered-containers  >= 0.2    && < 0.3
                     , uuid-types            >= 1      && < 1.1
                     , vector                >= 0.12   && < 0.14
                     , xhtml                 >= 3000.2 && < 3000.3
  hs-source-dirs:      src
  default-language:    Haskell2010
  ghc-options:         -Wall
  if impl(ghc >= 9.0)
    ghc-options:       -fenable-th-splice-warnings

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

  if flag(template-haskell-2-11)
    build-depends:     template-haskell      >= 2.11 && < 2.20
                     , ghc-boot-th           >= 8.0  && < 9.5
  else
    build-depends:     template-haskell      >= 2.9  && < 2.11

  if flag(new-functor-classes)
    build-depends:     transformers          (>= 0.3 && < 0.4) || (>= 0.5 && < 0.7)
                     , 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.13
  else
    build-depends:     terminfo              >= 0.4    && < 0.5
                     , unix                  >= 2.7    && < 2.8

test-suite spec
  type:                exitcode-stdio-1.0
  main-is:             Spec.hs
  other-modules:       Instances.Control.Monad.Trans
                       Instances.Data.Bifunctor
                       Instances.Data.Binary
                       Instances.Data.Containers
                       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.ScientificSpec
                       Spec.Data.ShortTextSpec
                       Spec.Data.VectorSpec
                       Spec.Data.TaggedSpec
                       Spec.Data.TimeSpec
                       Spec.Data.UnorderedContainersSpec
                       Spec.Data.UUIDSpec
                       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.5.5  && < 6
                     , binary                >= 0.7.1  && < 0.9
                     , containers            >= 0.5.5  && < 0.7
                     , directory             >= 1.2.1  && < 1.4
                     , generic-deriving      >= 1.9    && < 2
                     , ghc-prim
                     , haskeline             >= 0.7.1  && < 0.9
                     , hpc                   >= 0.6    && < 0.7
                     , hspec                 >= 2      && < 3
                     , old-locale            >= 1      && < 1.1
                     , old-time              >= 1.1    && < 1.2
                     , pretty                >= 1.1.1  && < 1.2
                     , QuickCheck            >= 2.12   && < 2.15
                     , quickcheck-instances  >= 0.3.27 && < 0.4
                     , random                >= 1.0.1  && < 1.3
                     , tagged                >= 0.4.4  && < 1
                     , scientific            >= 0.3.7  && < 0.4
                     , text-short            >= 0.1    && < 0.2
                     , text-show             >= 3.10   && < 4
                     , text-show-instances
                     , th-orphans            >= 0.13.8 && < 1
                     , time                  >= 0.1    && < 1.13
                     , transformers-compat   >= 0.5    && < 1
                     , unordered-containers  >= 0.2    && < 0.3
                     , uuid-types            >= 1      && < 1.1
                     , vector                >= 0.9    && < 0.14
                     , xhtml                 >= 3000.2 && < 3000.3
  build-tool-depends:  hspec-discover:hspec-discover

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

  if flag(template-haskell-2-11)
    build-depends:     template-haskell      >= 2.11 && < 2.20
                     , ghc-boot-th           >= 8.0  && < 9.5
  else
    build-depends:     template-haskell      >= 2.9  && < 2.11

  if flag(new-functor-classes)
    build-depends:     transformers          (>= 0.3 && < 0.4) || (>= 0.5 && < 0.7)
    cpp-options:       "-DNEW_FUNCTOR_CLASSES"
  else
    build-depends:     transformers          == 0.4.*

  hs-source-dirs:      tests
  default-language:    Haskell2010
  ghc-options:         -Wall -threaded -rtsopts
  if impl(ghc >= 8.6)
    ghc-options:       -Wno-star-is-type
  if impl(ghc >= 9.0)
    ghc-options:       -fenable-th-splice-warnings

  if os(windows)
    build-depends:     Win32                 >= 2.1    && < 2.13
  else
    build-depends:     terminfo              >= 0.4    && < 0.5
                     , unix                  >= 2.7    && < 2.8