cabal-version:      >= 1.18
build-type:         Simple
name:               extra
version:            1.6.17
license:            BSD3
license-file:       LICENSE
category:           Development
author:             Neil Mitchell <ndmitchell@gmail.com>
maintainer:         Neil Mitchell <ndmitchell@gmail.com>
copyright:          Neil Mitchell 2014-2019
synopsis:           Extra functions I use.
description:
    A library of extra functions for the standard Haskell libraries. Most functions are simple additions, filling out missing functionality. A few functions are available in later versions of GHC, but this package makes them available back to GHC 7.2.
    .
    The module "Extra" documents all functions provided by this library. Modules such as "Data.List.Extra" provide extra functions over "Data.List" and also reexport "Data.List". Users are recommended to replace "Data.List" imports with "Data.List.Extra" if they need the extra functionality.
homepage:           https://github.com/ndmitchell/extra#readme
bug-reports:        https://github.com/ndmitchell/extra/issues
tested-with:        GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3

extra-doc-files:
    CHANGES.txt
    README.md
extra-source-files:
    Generate.hs

source-repository head
    type:     git
    location: https://github.com/ndmitchell/extra.git

library
    default-language: Haskell2010
    hs-source-dirs: src
    build-depends:
        base >= 4.8 && < 5,
        directory,
        filepath,
        process,
        clock >= 0.7,
        -- For GHC 7.10 since Data.List.NonEmpty wasn't in base then
        semigroups,
        time
    if !os(windows)
        build-depends: unix

    other-modules:
        Partial
    exposed-modules:
        Extra
        Control.Concurrent.Extra
        Control.Exception.Extra
        Control.Monad.Extra
        Data.Either.Extra
        Data.IORef.Extra
        Data.List.Extra
        Data.List.NonEmpty.Extra
        Data.Tuple.Extra
        Data.Typeable.Extra
        Data.Version.Extra
        Numeric.Extra
        System.Directory.Extra
        System.Environment.Extra
        System.Info.Extra
        System.IO.Extra
        System.Process.Extra
        System.Time.Extra
        Text.Read.Extra

test-suite extra-test
    type:            exitcode-stdio-1.0
    default-language: Haskell2010
    build-depends:
        base == 4.*,
        directory,
        filepath,
        extra,
        QuickCheck >= 2.10
    if !os(windows)
        build-depends: unix
    hs-source-dirs: test
    ghc-options: -main-is Test -threaded "-with-rtsopts=-N4 -K1K"
    main-is:        Test.hs
    other-modules:
        TestCustom
        TestGen
        TestUtil
