135 lines
5.2 KiB
Plaintext
135 lines
5.2 KiB
Plaintext
|
cabal-version: >= 1.10
|
||
|
name: zlib
|
||
|
version: 0.7.1.0
|
||
|
x-revision: 2
|
||
|
|
||
|
copyright: (c) 2006-2016 Duncan Coutts
|
||
|
license: BSD3
|
||
|
license-file: LICENSE
|
||
|
author: Duncan Coutts <duncan@community.haskell.org>
|
||
|
maintainer: Duncan Coutts <duncan@community.haskell.org>, Andrew Lelechenko <andrew.lelechenko@gmail.com>, Emily Pillmore <emilypi@cohomolo.gy>, Herbert Valerio Riedel <hvr@gnu.org>
|
||
|
bug-reports: https://github.com/haskell/zlib/issues
|
||
|
category: Codec
|
||
|
synopsis: Compression and decompression in the gzip and zlib formats
|
||
|
description: This package provides a pure interface for compressing and
|
||
|
decompressing streams of data represented as lazy
|
||
|
'ByteString's. It uses the
|
||
|
<https://en.wikipedia.org/wiki/Zlib zlib C library>
|
||
|
so it has high performance. It supports the \"zlib\",
|
||
|
\"gzip\" and \"raw\" compression formats.
|
||
|
.
|
||
|
It provides a convenient high level API suitable for most
|
||
|
tasks and for the few cases where more control is needed it
|
||
|
provides access to the full zlib feature set.
|
||
|
build-type: Simple
|
||
|
|
||
|
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.7
|
||
|
, GHC == 9.0.2
|
||
|
, GHC == 9.2.8
|
||
|
, GHC == 9.4.8
|
||
|
, GHC == 9.6.5
|
||
|
, GHC == 9.8.2
|
||
|
, GHC == 9.10.1
|
||
|
|
||
|
extra-source-files: changelog.md
|
||
|
README.md
|
||
|
-- extra headers
|
||
|
cbits-extra/hs-zlib.h
|
||
|
-- test data files
|
||
|
test/data/bad-crc.gz test/data/custom-dict.zlib
|
||
|
test/data/custom-dict.zlib-dict test/data/hello.gz
|
||
|
test/data/not-gzip test/data/two-files.gz
|
||
|
-- demo programs:
|
||
|
examples/gzip.hs examples/gunzip.hs
|
||
|
|
||
|
source-repository head
|
||
|
type: git
|
||
|
location: https://github.com/haskell/zlib.git
|
||
|
|
||
|
flag non-blocking-ffi
|
||
|
default: True
|
||
|
manual: True
|
||
|
description: The (de)compression calls can sometimes take a long time, which
|
||
|
prevents other Haskell threads running. Enabling this flag
|
||
|
avoids this unfairness, but with greater overall cost.
|
||
|
|
||
|
flag pkg-config
|
||
|
default: True
|
||
|
manual: False
|
||
|
description: Use @pkg-config@ executable to locate foreign @zlib@ library.
|
||
|
|
||
|
flag bundled-c-zlib
|
||
|
default: False
|
||
|
manual: True
|
||
|
description: Use @zlib-clib@ package with C sources instead of a system library.
|
||
|
C sources are used for GHCJS and WASM unconditionally
|
||
|
and on Windows unless @pkg-config@ flag is on.
|
||
|
|
||
|
library
|
||
|
exposed-modules: Codec.Compression.GZip,
|
||
|
Codec.Compression.Zlib,
|
||
|
Codec.Compression.Zlib.Raw,
|
||
|
Codec.Compression.Zlib.Internal
|
||
|
other-modules: Codec.Compression.Zlib.Stream,
|
||
|
Codec.Compression.Zlib.ByteStringCompat
|
||
|
|
||
|
default-language: Haskell2010
|
||
|
|
||
|
other-extensions: CPP, ForeignFunctionInterface, RankNTypes, BangPatterns,
|
||
|
DeriveDataTypeable
|
||
|
other-extensions: DeriveGeneric
|
||
|
other-extensions: CApiFFI
|
||
|
|
||
|
build-depends: base >= 4.9 && < 4.22,
|
||
|
bytestring >= 0.9 && < 0.13
|
||
|
|
||
|
build-tools: hsc2hs >= 0.67 && < 0.69
|
||
|
if os(windows) && impl(ghc < 8.4)
|
||
|
build-tools: hsc2hs < 0.68.5
|
||
|
-- GHC 7 ships hsc2hs-0.67
|
||
|
|
||
|
-- use `includes:` to include them when compiling
|
||
|
includes: zlib.h hs-zlib.h
|
||
|
include-dirs: cbits-extra
|
||
|
c-sources: cbits-extra/hs-zlib.c
|
||
|
ghc-options: -Wall -fwarn-tabs
|
||
|
if flag(non-blocking-ffi)
|
||
|
cpp-options: -DNON_BLOCKING_FFI
|
||
|
|
||
|
-- Cross-platform builds (such as JS and WASM) must have access
|
||
|
-- to C sources, so using zlib-clib unconditionally.
|
||
|
--
|
||
|
-- On Windows, zlib is shipped as part of GHC's mingw/lib directory,
|
||
|
-- which GHC always includes in its linker search path. However,
|
||
|
-- there is no guarantee that zlib1.dll (the corresponding shared library)
|
||
|
-- will be available on the user's PATH at runtime, making it risky to depend upon
|
||
|
-- (see https://github.com/haskell/zlib/issues/65 for what can go wrong).
|
||
|
-- Thus, we resort to zlib-clib unless pkg-config is available.
|
||
|
if flag(bundled-c-zlib) || impl(ghcjs) || os(ghcjs) || arch(wasm32) || (!flag(pkg-config) && os(windows))
|
||
|
build-depends: zlib-clib < 2
|
||
|
else
|
||
|
if flag(pkg-config)
|
||
|
-- NB: pkg-config is available on windows as well when using msys2
|
||
|
pkgconfig-depends: zlib
|
||
|
else
|
||
|
extra-libraries: z
|
||
|
|
||
|
test-suite tests
|
||
|
type: exitcode-stdio-1.0
|
||
|
main-is: Test.hs
|
||
|
other-modules: Utils,
|
||
|
Test.Codec.Compression.Zlib.Internal,
|
||
|
Test.Codec.Compression.Zlib.Stream
|
||
|
hs-source-dirs: test
|
||
|
default-language: Haskell2010
|
||
|
build-depends: base, bytestring, zlib,
|
||
|
QuickCheck == 2.*,
|
||
|
tasty >= 0.8 && < 1.6,
|
||
|
tasty-quickcheck >= 0.8 && < 1
|
||
|
ghc-options: -Wall
|