packages feed

exinst-0.6: exinst.cabal

name:                exinst
version:             0.6
author:              Renzo Carbonara
maintainer:          renzoλcarbonara.com.ar
copyright:           Renzo Carbonara 2015-2018
license:             BSD3
license-file:        LICENSE.txt
extra-source-files:  README.md CHANGELOG.md
category:            Data
build-type:          Simple
cabal-version:       >=1.18
synopsis:            Dependent pairs and their instances.
homepage:            https://github.com/k0001/exinst
bug-reports:         https://github.com/k0001/exinst/issues


library
  hs-source-dirs: lib
  default-language: Haskell2010
  exposed-modules:
      Exinst
  other-modules:
      Exinst.Internal
      Exinst.Internal.Product
      Exinst.Internal.Sum
      Exinst.Instances.Base
      Exinst.Instances.Binary
      Exinst.Instances.DeepSeq
  build-depends:
      base >=4.9 && <5.0
    , binary
    , constraints >=0.4
    , deepseq
    , profunctors >=5.0
    , singletons >=2.3.1
  ghcjs-options: -Wall -O3
  ghc-options: -Wall -O2

  if flag(aeson)
    build-depends: aeson
    other-modules: Exinst.Instances.Aeson
    cpp-options: -DHAS_aeson
  if flag(bytes)
    build-depends: bytes >=0.15
    other-modules: Exinst.Instances.Bytes
    cpp-options: -DHAS_bytes
  if flag(cereal) || flag(bytes)
    build-depends: cereal
    other-modules: Exinst.Instances.Cereal
    cpp-options: -DHAS_cereal
  if flag(hashable)
    build-depends: hashable
    other-modules: Exinst.Instances.Hashable
    cpp-options: -DHAS_hashable
  if flag(quickcheck)
    build-depends: QuickCheck
    other-modules: Exinst.Instances.QuickCheck
    cpp-options: -DHAS_quickcheck
  if flag(serialise)
    build-depends: cborg, serialise
    other-modules: Exinst.Instances.Serialise
    cpp-options: -DHAS_serialise

test-suite tests
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  hs-source-dirs: tests lib
  main-is: Main.hs
  build-depends:
     base
   , binary
   , bytestring
   , constraints
   , deepseq
   , profunctors
   , QuickCheck
   , singletons
   , tasty
   , tasty-hunit
   , tasty-quickcheck
  ghcjs-options: -Wall -O0
  ghc-options: -Wall -O0
  cpp-options:
    -DHAS_quickcheck
  if flag(aeson)
    build-depends: aeson
    cpp-options: -DHAS_aeson
  if flag(bytes)
    build-depends: bytes
    cpp-options: -DHAS_bytes
  if flag(cereal) || flag(bytes)
    build-depends: cereal
    cpp-options: -DHAS_cereal
  if flag(hashable)
    build-depends: hashable
    cpp-options: -DHAS_hashable
  if flag(serialise)
    build-depends: cborg, serialise
    cpp-options: -DHAS_serialise

flag aeson
  description: Provide instances for @aeson@
  default: True
  manual: True
flag bytes
  description: Provide instances for @bytes@ (implies @ceral@ and @binary@).
  default: True
  manual: True
flag cereal
  description: Provide instances for @cereal@.
  default: True
  manual: True
flag hashable
  description: Provide instances for @hashable@
  default: True
  manual: True
flag quickcheck
  description: Provide instances for @QuickCheck@
  default: True
  manual: True
flag serialise
  description: Provide instances for @serialise@
  default: True
  manual: True