packages feed

generic-data-0.9.2.0: generic-data.cabal

name:                generic-data
version:             0.9.2.0
synopsis:            Deriving instances with GHC.Generics and related utilities
description:
  Generic implementations of standard type classes.
  Operations on generic representations to help using "GHC.Generics".
  See README.
homepage:            https://github.com/Lysxia/generic-data#readme
license:             MIT
license-file:        LICENSE
author:              Li-yao Xia
maintainer:          lysxia@gmail.com
copyright:           2018-2020 Li-yao Xia
category:            Generics
build-type:          Custom
extra-source-files:  README.md, CHANGELOG.md
cabal-version:       >=1.10
tested-with:         GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.3, GHC == 8.6.1,
                     GHC == 8.6.3, GHC == 8.6.5, GHC == 8.8.2

custom-setup
  setup-depends:
    base, Cabal, cabal-doctest >= 1.0.6 && < 1.1

library
  hs-source-dirs:      src
  exposed-modules:
    Generic.Data
    Generic.Data.Types
    Generic.Data.Microsurgery
    Generic.Data.Internal.Compat
    Generic.Data.Internal.Data
    Generic.Data.Internal.Enum
    Generic.Data.Internal.Error
    Generic.Data.Internal.Functions
    Generic.Data.Internal.Generically
    Generic.Data.Internal.Meta
    Generic.Data.Internal.Microsurgery
    Generic.Data.Internal.Newtype
    Generic.Data.Internal.Prelude
    Generic.Data.Internal.Read
    Generic.Data.Internal.Resolvers
    Generic.Data.Internal.Show
    Generic.Data.Internal.Traversable
    Generic.Data.Internal.Utils
  build-depends:
    ap-normalize >= 0.1 && < 0.2,
    base-orphans >= 0.8,
    contravariant,
    ghc-boot-th,
    show-combinators,
    base >= 4.9 && < 5
  hs-source-dirs:      orphans
  exposed-modules:
    Generic.Data.Orphans
  ghc-options:         -Wall
  default-language:    Haskell2010

test-suite unit-test
  hs-source-dirs: test
  main-is: unit.hs
  build-depends:
    tasty,
    tasty-hunit,
    generic-data,
    show-combinators >= 0.2,
    base
  ghc-options: -Wall
  default-language: Haskell2010
  type: exitcode-stdio-1.0

test-suite record-test
  hs-source-dirs: test
  main-is: record.hs
  build-depends:
    generic-data,
    base
  ghc-options: -Wall
  default-language: Haskell2010
  type: exitcode-stdio-1.0

test-suite example-test
  hs-source-dirs: test
  main-is: example.hs
  build-depends:
    generic-data,
    base
  ghc-options: -Wall
  default-language: Haskell2010
  type: exitcode-stdio-1.0

test-suite microsurgery-test
  hs-source-dirs: test
  main-is: microsurgery.hs
  build-depends:
    tasty,
    tasty-hunit,
    generic-data,
    base
  ghc-options: -Wall
  default-language: Haskell2010
  type: exitcode-stdio-1.0

test-suite lens-surgery-test
  hs-source-dirs: test
  main-is: lens-surgery.hs
  build-depends:
    tasty,
    tasty-hunit,
    generic-data,
    generic-lens >= 1.1.0.0,
    base
  ghc-options: -Wall
  default-language: Haskell2010
  type: exitcode-stdio-1.0

test-suite one-liner-surgery-test
  hs-source-dirs: test
  main-is: one-liner-surgery.hs
  build-depends:
    tasty,
    tasty-hunit,
    generic-data,
    generic-lens >= 1.1.0.0,
    one-liner >= 1.0,
    base
  ghc-options: -Wall -threaded
  default-language: Haskell2010
  type: exitcode-stdio-1.0

test-suite generic-data-inspection-test
  hs-source-dirs: test
  main-is: inspection.hs
  other-modules:
    Inspection.Boilerplate
  build-depends:
    generic-data,
    inspection-testing,
    template-haskell,
    unordered-containers,
    base
  ghc-options: -Wall -threaded
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  if impl(ghc < 8.2) || os(windows)
    buildable: False

test-suite generic-data-doctest
  hs-source-dirs: test
  main-is: doctest.hs
  build-depends:
    doctest,
    QuickCheck,
    generic-data,
    base
  ghc-options: -Wall
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  if !impl(ghc >= 8.6)
    buildable: False

benchmark bench
  hs-source-dirs: test
  main-is: bench.hs
  build-depends:
    criterion,
    deepseq,
    generic-data,
    base
  ghc-options: -Wall
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  if !impl(ghc >= 8.6)
    buildable: False

source-repository head
  type:     git
  location: https://github.com/Lysxia/generic-data