packages feed

exinst-0.3: exinst.cabal

name:                exinst
version:             0.3
author:              Renzo Carbonara
maintainer:          renzoλcarbonara.com.ar
copyright:           Renzo Carbonara 2015-2017
license:             BSD3
license-file:        LICENSE.txt
extra-source-files:  README.md CHANGELOG.md
category:            Data
build-type:          Simple
cabal-version:       >=1.18
synopsis:            Derive instances for your existential types.
homepage:            https://github.com/k0001/exinst
bug-reports:         https://github.com/k0001/exinst/issues


library
  hs-source-dirs: src/lib
  default-language: Haskell2010
  exposed-modules:
      Exinst
  other-modules:
      Exinst.Internal
      Exinst.Instances.Base
  build-depends:
      base >=4.9 && <5.0
    , constraints >=0.4
    , profunctors >=5.0
    , singletons >=2.2
  ghcjs-options: -Wall -O3
  ghc-options: -Wall -O2

  if flag(aeson)
    build-depends: aeson
    other-modules: Exinst.Instances.Aeson
  if flag(bytes)
    build-depends: bytes >=0.15 && <0.16
    other-modules: Exinst.Instances.Bytes
  if flag(deepseq)
    build-depends: deepseq
    other-modules: Exinst.Instances.DeepSeq
  if flag(hashable)
    build-depends: hashable
    other-modules: Exinst.Instances.Hashable
  if flag(quickcheck)
    build-depends: QuickCheck
    other-modules: Exinst.Instances.QuickCheck


test-suite tests
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  hs-source-dirs: tests
  main-is: Main.hs
  build-depends:
     aeson
   , base
   , bytes
   , constraints
   , deepseq
   , exinst
   , generic-random >=0.4
   , hashable
   , profunctors
   , QuickCheck
   , singletons
   , tasty
   , tasty-hunit
   , tasty-quickcheck


flag aeson
  description: Provide instances for @aeson@
  default: True
  manual: True
flag bytes
  description: Provide instances for @bytes@
  default: True
  manual: True
flag deepseq
  description: Provide instances for @deepseq@
  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