1cabal-version:   >= 1.10
2name:            zlib
3version:         0.6.2.1
4x-revision: 1
5
6copyright:       (c) 2006-2016 Duncan Coutts
7license:         BSD3
8license-file:    LICENSE
9author:          Duncan Coutts <duncan@community.haskell.org>
10maintainer:      Duncan Coutts <duncan@community.haskell.org>
11bug-reports:     https://github.com/haskell/zlib/issues
12category:        Codec
13synopsis:        Compression and decompression in the gzip and zlib formats
14description:     This package provides a pure interface for compressing and
15                 decompressing streams of data represented as lazy
16                 'ByteString's. It uses the
17                 <https://en.wikipedia.org/wiki/Zlib zlib C library>
18                 so it has high performance. It supports the \"zlib\",
19                 \"gzip\" and \"raw\" compression formats.
20                 .
21                 It provides a convenient high level API suitable for most
22                 tasks and for the few cases where more control is needed it
23                 provides access to the full zlib feature set.
24build-type:      Simple
25tested-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.1, GHC==8.0.2, GHC ==8.2.2, GHC ==8.4.4, GHC==8.6.5, GHC==8.8.3, GHC==8.10.1
26
27extra-source-files: changelog
28                    -- zlib C sources (for Windows)
29                    cbits/crc32.h cbits/inffast.h cbits/inflate.h
30                    cbits/trees.h cbits/deflate.h cbits/inffixed.h
31                    cbits/inftrees.h cbits/zutil.h cbits/gzguts.h
32                    -- test data files
33                    test/data/bad-crc.gz test/data/custom-dict.zlib
34                    test/data/custom-dict.zlib-dict test/data/hello.gz
35                    test/data/not-gzip test/data/two-files.gz
36                    -- demo programs:
37                    examples/gzip.hs examples/gunzip.hs
38
39source-repository head
40  type: git
41  location: https://github.com/haskell/zlib.git
42
43flag non-blocking-ffi
44  default:     False
45  manual:      True
46  description: The (de)compression calls can sometimes take a long time, which
47               prevents other Haskell threads running. Enabling this flag
48               avoids this unfairness, but with greater overall cost.
49
50flag pkg-config
51  default:     False
52  manual:      True
53  description: Use @pkg-config(1)@ to locate foreign @zlib@ library.
54
55library
56  exposed-modules: Codec.Compression.GZip,
57                   Codec.Compression.Zlib,
58                   Codec.Compression.Zlib.Raw,
59                   Codec.Compression.Zlib.Internal
60  other-modules:   Codec.Compression.Zlib.Stream
61  if impl(ghc < 7)
62    default-language: Haskell98
63    default-extensions: PatternGuards
64  else
65    default-language: Haskell2010
66  other-extensions: CPP, ForeignFunctionInterface, RankNTypes, BangPatterns,
67                    DeriveDataTypeable
68  if impl(ghc >= 7.2)
69    other-extensions: DeriveGeneric
70  if impl(ghc >= 7.6)
71    other-extensions: CApiFFI
72  build-depends:   base >= 4 && < 4.15,
73                   bytestring >= 0.9 && < 0.11
74  if impl(ghc >= 7.2 && < 7.6)
75    build-depends: ghc-prim
76  includes:        zlib.h
77  ghc-options:     -Wall -fwarn-tabs
78  if flag(non-blocking-ffi)
79    cpp-options:   -DNON_BLOCKING_FFI
80  if flag(pkg-config)
81    -- NB: pkg-config is available on windows as well when using msys2
82    pkgconfig-depends: zlib
83  else
84    -- don't use pkg-config
85    if !os(windows)
86      -- Normally we use the the standard system zlib.
87      extra-libraries: z
88    else
89      -- However for the benefit of users of Windows (which does not have zlib
90      -- by default) we bundle a complete copy of the C sources of zlib-1.2.8
91      c-sources:   cbits/adler32.c cbits/compress.c cbits/crc32.c
92                   cbits/deflate.c cbits/infback.c
93                   cbits/inffast.c cbits/inflate.c cbits/inftrees.c
94                   cbits/trees.c cbits/uncompr.c cbits/zutil.c
95      include-dirs:  cbits
96      install-includes: zlib.h zconf.h
97
98test-suite tests
99  type: exitcode-stdio-1.0
100  main-is:         Test.hs
101  other-modules:   Utils,
102                   Test.Codec.Compression.Zlib.Internal,
103                   Test.Codec.Compression.Zlib.Stream
104  hs-source-dirs:  test
105  default-language: Haskell2010
106  build-depends:   base, bytestring, zlib,
107                   QuickCheck       == 2.*,
108                   tasty            >= 0.8 && < 1.3,
109                   tasty-quickcheck >= 0.8 && < 0.11,
110                   tasty-hunit      >= 0.8 && < 0.11
111  ghc-options:     -Wall
112