File dlist.cabal of Package ghc-dlist

cabal-version:          >= 1.10

name:                   dlist
version:                1.0
x-revision:             2

synopsis:               Difference lists
description:
  List-like types supporting O(1) append and snoc operations.
category:               Data
license:                BSD3
license-file:           license.md
author:                 Don Stewart
maintainer:             Sean Leather <sean.leather@gmail.com>
copyright:              2006-2009 Don Stewart, 2013-2020 Sean Leather, 2017-2020 Oleg Grenrus, contributors
homepage:               https://github.com/spl/dlist
bug-reports:            https://github.com/spl/dlist/issues
extra-source-files:     readme.md,
                        changelog.md
                        tests/ImportUnsafe.hs
build-type:             Simple

tested-with:            GHC == 9.10.1
                        GHC == 9.8.1
                        GHC == 9.6.6
                        GHC == 9.4.8
                        GHC == 9.2.8
                        GHC == 9.0.2
                        GHC == 8.10.7
                        GHC == 8.8.4
                        GHC == 8.6.5
                        GHC == 8.4.4
                        GHC == 8.2.2
                        GHC == 8.0.2
                        GHC == 7.10.3
                        GHC == 7.8.4
                        GHC == 7.6.3
                        GHC == 7.4.2
                        GHC == 7.2.2
                        GHC == 7.0.4

source-repository head
  type:                 git
  location:             https://github.com/spl/dlist.git

flag Werror
  description:          Enable -Werror
  default:              False
  manual:               True

library
  build-depends:
                        base >= 4 && < 5,
                        deepseq >= 1.1 && < 1.6
  exposed-modules:      Data.DList
                        Data.DList.Unsafe
  other-modules:        Data.DList.Internal
  if impl(ghc >= 8.0)
    exposed-modules:    Data.DList.DNonEmpty
    other-modules:      Data.DList.DNonEmpty.Internal
  default-language:     Haskell2010
  ghc-options:          -Wall
  if impl(ghc >= 8.0)
    ghc-options:        -Wcompat
                        -Wincomplete-record-updates
                        -Wincomplete-uni-patterns
                        -Wnoncanonical-monad-instances
  if impl(ghc >= 8.2)
    ghc-options:        -Wmissing-home-modules
  if impl(ghc >= 8.4)
    ghc-options:        -Wpartial-fields
  if impl(ghc >= 8.10)
    ghc-options:        -Wmissing-safe-haskell-mode
                        -Wtrustworthy-safe
  if flag(Werror)
    ghc-options:        -Werror

test-suite test
  type:                 exitcode-stdio-1.0
  main-is:              Main.hs
  other-modules:        DListProperties
                        OverloadedStrings
                        QuickCheckUtil
  if impl(ghc >= 8.0)
    other-modules:      DNonEmptyProperties
  hs-source-dirs:       tests
  build-depends:        dlist,
                        base,
                        -- QuickCheck-2.10 is the first version supporting
                        -- base-4.9 (ghc-8) without the Arbitrary NonEmpty
                        -- instance, which we include ourselves.
                        QuickCheck >= 2.10 && < 3
  default-language:     Haskell2010
  ghc-options:          -Wall
  if impl(ghc >= 8.0)
    ghc-options:        -Wcompat
                        -Wincomplete-record-updates
                        -Wincomplete-uni-patterns
                        -Wnoncanonical-monad-instances
  if impl(ghc >= 8.2)
    ghc-options:        -Wmissing-home-modules
  if impl(ghc >= 8.4)
    ghc-options:        -Wpartial-fields
  if impl(ghc >= 8.10)
    ghc-options:        -Wmissing-safe-haskell-mode
                        -Wtrustworthy-safe
  if flag(Werror)
    ghc-options:        -Werror
openSUSE Build Service is sponsored by