packages feed

pure-zlib-0.8.0: pure-zlib.cabal

cabal-version:       2.0
name:                pure-zlib
version:             0.8.0
synopsis:            A Haskell-only implementation of zlib / DEFLATE
homepage:            http://github.com/GaloisInc/pure-zlib
license:             BSD3
license-file:        LICENSE
author:              Adam Wick
maintainer:          awick@galois.com
category:            Codec
build-type:          Simple
description:         A Haskell-only implementation of the zlib / DEFLATE
                     protocol. Currently only implements the decompression
                     algorithm.
extra-source-files: test/test-cases/*.z,
                    test/test-cases/*.gold
tested-with:
  GHC==8.0.2,
  GHC==8.2.2,
  GHC==8.4.4,
  GHC==8.6.5,
  GHC==8.8.4,
  GHC==8.10.4

library
  default-language:   Haskell2010
  ghc-options:        -Wall
  hs-source-dirs:     src
  build-depends:
                      array              >= 0.4   && < 0.9,
                      base               >= 4.6   && < 5.0,
                      base-compat        >= 0.9.1 && < 0.12,
                      bytestring         >= 0.10  && < 0.11,
                      bytestring-builder >= 0.10  && < 0.11,
                      containers         >= 0.5   && < 0.7,
                      vector,
                      primitive
  if !impl(ghc >= 8.0)
    build-depends: semigroups == 0.18.*
  exposed-modules:
                      Codec.Compression.Zlib,
                      Codec.Compression.Zlib.Adler32,
                      Codec.Compression.Zlib.Deflate,
                      Codec.Compression.Zlib.HuffmanTree,
                      Codec.Compression.Zlib.Monad,
                      Codec.Compression.Zlib.OutputWindow
  default-extensions:
                      BangPatterns,
                      DeriveDataTypeable,
                      GeneralizedNewtypeDeriving,
                      MultiParamTypeClasses,
                      MultiWayIf

executable deflate
  default-language:   Haskell2010
  main-is:            Deflate.hs
  ghc-options:        -Wall
  build-depends:
                      base        >= 4.6   && < 5.0,
                      base-compat >= 0.9.1 && < 0.12,
                      bytestring  >= 0.10  && < 0.11,
                      ghc-prim,
                      pure-zlib

test-suite test-zlib
  type:               exitcode-stdio-1.0
  main-is:            Test.hs
  ghc-options:        -Wall
  hs-source-dirs:     test
  default-language:   Haskell2010
  ghc-options:        -fno-warn-orphans
  build-depends:
                      base             >= 4.6      && < 5.0,
                      base-compat      >= 0.9.1    && < 0.12,
                      bytestring       >= 0.10     && < 0.11,
                      filepath         >= 1.4.1    && < 1.6,
                      HUnit            >= 1.2      && < 1.7,
                      QuickCheck       >= 2.7      && < 2.14,
                      pure-zlib,
                      tasty            >= 0.11.0.4 && < 1.3,
                      tasty-hunit      >= 0.9.2    && < 0.11,
                      tasty-quickcheck >= 0.8.4    && < 0.11

benchmark bench-zlib
  type:               exitcode-stdio-1.0
  main-is:            Benchmark.hs
  default-language:   Haskell2010
  ghc-options:        -Wall
  build-depends:
                      base        >= 4.6   && < 5.0,
                      base-compat >= 0.9.1 && < 0.12,
                      bytestring  >= 0.10  && < 0.11,
                      criterion   >= 1.5,  
                      pure-zlib,
                      zlib,
                      time        >= 1.4.2 && < 1.11
  mixins:
    pure-zlib (Codec.Compression.Zlib as PureZlib),
    zlib (Codec.Compression.Zlib as CZlib),
    zlib (Codec.Compression.Zlib.Internal as CZlib.Internal)

source-repository head
  type: git
  location: git://github.com/GaloisInc/pure-zlib.git