Blame QuickCheck.cabal

Packit 1d8052
Name: QuickCheck
Packit 1d8052
Version: 2.10.1
Packit 1d8052
Cabal-Version: >= 1.8
Packit 1d8052
Build-type: Simple
Packit 1d8052
License: BSD3
Packit 1d8052
License-file: LICENSE
Packit 1d8052
Copyright: 2000-2017 Koen Claessen, 2006-2008 Björn Bringert, 2009-2017 Nick Smallbone
Packit 1d8052
Author: Koen Claessen <koen@chalmers.se>
Packit 1d8052
Maintainer: Nick Smallbone <nick@smallbone.se>; see also QuickCheck mailing list (https://groups.google.com/forum/#!forum/haskell-quickcheck)
Packit 1d8052
Bug-reports: https://github.com/nick8325/quickcheck/issues
Packit 1d8052
Tested-with: GHC == 7.0.4, GHC == 7.2.2, GHC >= 7.4
Packit 1d8052
Homepage: https://github.com/nick8325/quickcheck
Packit 1d8052
Category:       Testing
Packit 1d8052
Synopsis:       Automatic testing of Haskell programs
Packit 1d8052
Description:
Packit 1d8052
  QuickCheck is a library for random testing of program properties.
Packit 1d8052
  .
Packit 1d8052
  The programmer provides a specification of the program, in the form of
Packit 1d8052
  properties which functions should satisfy, and QuickCheck then tests that the
Packit 1d8052
  properties hold in a large number of randomly generated cases.
Packit 1d8052
  .
Packit 1d8052
  Specifications are expressed in Haskell, using combinators defined in the
Packit 1d8052
  QuickCheck library. QuickCheck provides combinators to define properties,
Packit 1d8052
  observe the distribution of test data, and define test data generators.
Packit 1d8052
  .
Packit 1d8052
  The <http://www.cse.chalmers.se/~rjmh/QuickCheck/manual.html official QuickCheck manual>
Packit 1d8052
  explains how to write generators and properties;
Packit 1d8052
  it is out-of-date in some details but still full of useful advice.
Packit 1d8052
  .
Packit 1d8052
  A user of QuickCheck has written an unofficial, but detailed, tutorial which
Packit 1d8052
  you can find at
Packit 1d8052
  <https://begriffs.com/posts/2017-01-14-design-use-quickcheck.html>.
Packit 1d8052
Packit 1d8052
extra-source-files:
Packit 1d8052
  README
Packit 1d8052
  changelog
Packit 1d8052
  examples/Heap.hs
Packit 1d8052
  examples/Heap_Program.hs
Packit 1d8052
  examples/Heap_ProgramAlgebraic.hs
Packit 1d8052
  examples/Lambda.hs
Packit 1d8052
  examples/Merge.hs
Packit 1d8052
  examples/Set.hs
Packit 1d8052
  examples/Simple.hs
Packit 1d8052
Packit 1d8052
source-repository head
Packit 1d8052
  type:     git
Packit 1d8052
  location: https://github.com/nick8325/quickcheck
Packit 1d8052
Packit 1d8052
source-repository this
Packit 1d8052
  type:     git
Packit 1d8052
  location: https://github.com/nick8325/quickcheck
Packit 1d8052
  tag:      2.10.1
Packit 1d8052
Packit 1d8052
flag templateHaskell
Packit 1d8052
  Description: Build Test.QuickCheck.All, which uses Template Haskell.
Packit 1d8052
  Default: True
Packit 1d8052
Packit 1d8052
library
Packit 1d8052
  Build-depends: base >=4.3 && <5, random, containers
Packit 1d8052
Packit 1d8052
  -- Modules that are always built.
Packit 1d8052
  Exposed-Modules:
Packit 1d8052
    Test.QuickCheck,
Packit 1d8052
    Test.QuickCheck.Arbitrary,
Packit 1d8052
    Test.QuickCheck.Gen,
Packit 1d8052
    Test.QuickCheck.Gen.Unsafe,
Packit 1d8052
    Test.QuickCheck.Monadic,
Packit 1d8052
    Test.QuickCheck.Modifiers,
Packit 1d8052
    Test.QuickCheck.Property,
Packit 1d8052
    Test.QuickCheck.Test,
Packit 1d8052
    Test.QuickCheck.Text,
Packit 1d8052
    Test.QuickCheck.Poly,
Packit 1d8052
    Test.QuickCheck.State,
Packit 1d8052
    Test.QuickCheck.Random,
Packit 1d8052
    Test.QuickCheck.Exception
Packit 1d8052
Packit 1d8052
  -- GHC-specific modules.
Packit 1d8052
  if impl(ghc)
Packit 1d8052
    Exposed-Modules: Test.QuickCheck.Function
Packit 1d8052
    Build-depends: transformers >= 0.3, deepseq
Packit 1d8052
  else
Packit 1d8052
    cpp-options: -DNO_TRANSFORMERS -DNO_DEEPSEQ
Packit 1d8052
Packit 1d8052
  if impl(ghc) && flag(templateHaskell)
Packit 1d8052
    Build-depends: template-haskell >= 2.4
Packit 1d8052
    Other-Extensions: TemplateHaskell
Packit 1d8052
    Exposed-Modules: Test.QuickCheck.All
Packit 1d8052
  else
Packit 1d8052
    cpp-options: -DNO_TEMPLATE_HASKELL
Packit 1d8052
Packit 1d8052
  if !impl(ghc >= 7.2)
Packit 1d8052
    cpp-options: -DNO_FOREIGN_C_USECONDS
Packit 1d8052
Packit 1d8052
  -- The new generics appeared in GHC 7.2...
Packit 1d8052
  if impl(ghc < 7.2)
Packit 1d8052
    cpp-options: -DNO_GENERICS
Packit 1d8052
  -- ...but in 7.2-7.4 it lives in the ghc-prim package.
Packit 1d8052
  if impl(ghc >= 7.2) && impl(ghc < 7.6)
Packit 1d8052
    Build-depends: ghc-prim
Packit 1d8052
Packit 1d8052
  -- Safe Haskell appeared in GHC 7.2, but GHC.Generics isn't safe until 7.4.
Packit 1d8052
  if impl (ghc < 7.4)
Packit 1d8052
    cpp-options: -DNO_SAFE_HASKELL
Packit 1d8052
Packit 1d8052
  -- Use tf-random on newer GHCs.
Packit 1d8052
  if impl(ghc)
Packit 1d8052
    Build-depends: tf-random >= 0.4
Packit 1d8052
  else
Packit 1d8052
    cpp-options: -DNO_TF_RANDOM
Packit 1d8052
Packit 1d8052
  if !impl(ghc >= 7.6)
Packit 1d8052
      cpp-options: -DNO_POLYKINDS
Packit 1d8052
Packit 1d8052
  if !impl(ghc >= 8.0)
Packit 1d8052
    cpp-options: -DNO_MONADFAIL
Packit 1d8052
Packit 1d8052
  -- Switch off most optional features on non-GHC systems.
Packit 1d8052
  if !impl(ghc)
Packit 1d8052
    -- If your Haskell compiler can cope without some of these, please
Packit 1d8052
    -- send a message to the QuickCheck mailing list!
Packit 1d8052
    cpp-options: -DNO_TIMEOUT -DNO_NEWTYPE_DERIVING -DNO_GENERICS -DNO_TEMPLATE_HASKELL -DNO_SAFE_HASKELL
Packit 1d8052
    if !impl(hugs) && !impl(uhc)
Packit 1d8052
      cpp-options: -DNO_ST_MONAD -DNO_MULTI_PARAM_TYPE_CLASSES
Packit 1d8052
Packit 1d8052
  -- LANGUAGE pragmas don't have any effect in Hugs.
Packit 1d8052
  if impl(hugs)
Packit 1d8052
    Extensions: CPP
Packit 1d8052
Packit 1d8052
  if impl(uhc)
Packit 1d8052
    -- Cabal under UHC needs pointing out all the dependencies of the
Packit 1d8052
    -- random package.
Packit 1d8052
    Build-depends: old-time, old-locale
Packit 1d8052
    -- Plus some bits of the standard library are missing.
Packit 1d8052
    cpp-options: -DNO_FIXED -DNO_EXCEPTIONS
Packit 1d8052
Packit 1d8052
Test-Suite test-quickcheck
Packit 1d8052
    type: exitcode-stdio-1.0
Packit 1d8052
    hs-source-dirs:
Packit 1d8052
        examples
Packit 1d8052
    main-is: Heap.hs
Packit 1d8052
    build-depends: base, QuickCheck
Packit 1d8052
    if !flag(templateHaskell)
Packit 1d8052
        Buildable: False
Packit 1d8052
Packit 1d8052
Test-Suite test-quickcheck-gcoarbitrary
Packit 1d8052
    type: exitcode-stdio-1.0
Packit 1d8052
    hs-source-dirs: tests
Packit 1d8052
    main-is: GCoArbitraryExample.hs
Packit 1d8052
    build-depends: base, QuickCheck
Packit 1d8052
    if !impl(ghc >= 7.2)
Packit 1d8052
        buildable: False
Packit 1d8052
    if impl(ghc >= 7.2) && impl(ghc < 7.6)
Packit 1d8052
        build-depends: ghc-prim
Packit 1d8052
Packit 1d8052
Test-Suite test-quickcheck-generators
Packit 1d8052
    type: exitcode-stdio-1.0
Packit 1d8052
    hs-source-dirs: tests
Packit 1d8052
    main-is: Generators.hs
Packit 1d8052
    build-depends: base, QuickCheck
Packit 1d8052
    if !flag(templateHaskell)
Packit 1d8052
        Buildable: False
Packit 1d8052
Packit 1d8052
Test-Suite test-quickcheck-gshrink
Packit 1d8052
    type: exitcode-stdio-1.0
Packit 1d8052
    hs-source-dirs: tests
Packit 1d8052
    main-is: GShrinkExample.hs
Packit 1d8052
    build-depends: base, QuickCheck
Packit 1d8052
    if !impl(ghc >= 7.2)
Packit 1d8052
        buildable: False
Packit 1d8052
    if impl(ghc >= 7.2) && impl(ghc < 7.6)
Packit 1d8052
        build-depends: ghc-prim