packages feed

generic-data-1.1.0.0: generic-data.cabal

name:                generic-data
version:             1.1.0.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:          Simple
extra-source-files:  README.md, CHANGELOG.md
cabal-version:       >=1.10
tested-with:         GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4,
                     GHC == 8.6.5, GHC == 8.10.7, GHC == 9.0.2,
                     GHC == 9.2.7, GHC == 9.4.4, GHC == 9.6.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.8,
    contravariant,
    ghc-boot-th,
    show-combinators,
    base >= 4.9 && < 4.19
  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 inspect
  hs-source-dirs: test
  main-is: inspection.hs
  other-modules:
    Inspection.Boilerplate
  ghc-options: -Wall -threaded
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  if !flag(enable-inspect)
    buildable: False
  else
    build-depends:
      generic-data,
      inspection-testing,
      template-haskell,
      unordered-containers,
      base

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

flag enable-inspect
  description: Enable inspection tests (broken on ghc < 8.2 or >= 9.2)
  default: False
  manual: True

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