packages feed

generic-deriving-1.13: generic-deriving.cabal

name:                   generic-deriving
version:                1.13
synopsis:               Generic programming library for generalised deriving.
description:

  This package provides functionality for generalising the deriving mechanism
  in Haskell to arbitrary classes. It was first described in the paper:
  .
  *  /A generic deriving mechanism for Haskell/.
     Jose Pedro Magalhaes, Atze Dijkstra, Johan Jeuring, and Andres Loeh.
     Haskell'10.
  .
  The current implementation integrates with the new GHC Generics. See
  <http://www.haskell.org/haskellwiki/GHC.Generics> for more information.
  Template Haskell code is provided for supporting older GHCs.

homepage:               https://github.com/dreixel/generic-deriving
bug-reports:            https://github.com/dreixel/generic-deriving/issues
category:               Generics
copyright:              2011-2013 Universiteit Utrecht, University of Oxford
license:                BSD3
license-file:           LICENSE
author:                 José Pedro Magalhães
maintainer:             generics@haskell.org
stability:              experimental
build-type:             Simple
cabal-version:          >= 1.10
tested-with:            GHC == 7.0.4
                      , GHC == 7.2.2
                      , GHC == 7.4.2
                      , GHC == 7.6.3
                      , 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.1
extra-source-files:     CHANGELOG.md
                      , README.md

source-repository head
  type: git
  location: https://github.com/dreixel/generic-deriving

flag base-4-9
  description:          Use base-4.9 or later. This version of base uses a
                        DataKinds-based encoding of GHC generics metadata.
  default:              True

library
  hs-source-dirs:       src
  exposed-modules:      Generics.Deriving
                        Generics.Deriving.Base
                        Generics.Deriving.Instances
                        Generics.Deriving.Copoint
                        Generics.Deriving.ConNames
                        Generics.Deriving.Default
                        Generics.Deriving.Enum
                        Generics.Deriving.Eq
                        Generics.Deriving.Foldable
                        Generics.Deriving.Functor
                        Generics.Deriving.Monoid
                        Generics.Deriving.Semigroup
                        Generics.Deriving.Show
                        Generics.Deriving.Traversable
                        Generics.Deriving.Uniplate

                        Generics.Deriving.TH

  other-modules:        Generics.Deriving.Base.Internal
                        Generics.Deriving.Monoid.Internal
                        Generics.Deriving.Semigroup.Internal
                        Generics.Deriving.TH.Internal
                        Paths_generic_deriving
  if flag(base-4-9)
    build-depends:      base >= 4.9 && < 5
    other-modules:      Generics.Deriving.TH.Post4_9
  else
    build-depends:      base >= 4.3 && < 4.9
    other-modules:      Generics.Deriving.TH.Pre4_9

  build-depends:        containers       >= 0.1   && < 0.7
                      , ghc-prim                     < 1
                      , template-haskell >= 2.4   && < 2.16
                      , th-abstraction   >= 0.3   && < 0.4

  default-language:     Haskell2010
  ghc-options:          -Wall

test-suite spec
  type:                 exitcode-stdio-1.0
  main-is:              Spec.hs
  other-modules:        DefaultSpec
                        EmptyCaseSpec
                        ExampleSpec
                        TypeInTypeSpec
  build-depends:        base             >= 4.3  && < 5
                      , generic-deriving
                      , hspec            >= 2    && < 3
                      , template-haskell >= 2.4  && < 2.16
  build-tool-depends:   hspec-discover:hspec-discover
  hs-source-dirs:       tests
  default-language:     Haskell2010
  ghc-options:          -Wall -threaded -rtsopts