snappy-c-0.1.3: snappy-c.cabal
cabal-version: 3.0
name: snappy-c
version: 0.1.3
synopsis: Bindings to Google's Snappy: A fast compression library
description: [Snappy](https://github.com/google/snappy) is a fast
(de)compression library. It is written in C++, but a basic
set of C bindings is also provided. Although the C bindings
only support the "raw" Snappy format, this package provides
support for the Snappy "frame" format on top of the raw C
API, enabling extremely fast (de)compression of lazy
(streamed) data.
license: BSD-3-Clause
license-file: LICENSE
author: Finley McIlwaine, Edsko de Vries
maintainer: finley@well-typed.com
category: Codec
build-type: Simple
extra-source-files: README.md
extra-doc-files: CHANGELOG.md
tested-with: GHC==8.10.7
, GHC==9.2.8
, GHC==9.4.8
, GHC==9.6.7
, GHC==9.8.4
, GHC==9.10.3
, GHC==9.12.2
, GHC==9.14.1
source-repository head
type: git
location: https://github.com/well-typed/snappy-c
flag pkg-config
default: False
manual: True
description: Use @pkg-config@ executable to locate foreign @snappy@ library.
common lang
ghc-options:
-Wall
-Wunused-packages
-Wprepositive-qualified-module
-Widentities
build-depends:
base >= 4.14 && < 4.23
default-language:
Haskell2010
default-extensions:
BangPatterns
DataKinds
DeriveAnyClass
DeriveFunctor
DerivingStrategies
DerivingVia
GADTs
GeneralizedNewtypeDeriving
ImportQualifiedPost
InstanceSigs
KindSignatures
LambdaCase
MultiParamTypeClasses
NumericUnderscores
OverloadedStrings
PolyKinds
RankNTypes
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
TupleSections
TypeApplications
TypeFamilies
library
import:
lang
hs-source-dirs:
src
exposed-modules:
Codec.Compression.SnappyC.Raw
Codec.Compression.SnappyC.Framed
other-modules:
Codec.Compression.SnappyC.Internal.Buffer
Codec.Compression.SnappyC.Internal.C
Codec.Compression.SnappyC.Internal.Checksum
Codec.Compression.SnappyC.Internal.FrameFormat
Codec.Compression.SnappyC.Internal.Util
build-depends:
, bytestring >= 0.10 && < 0.13
, data-default >= 0.7 && < 0.9
, crc32c >= 0.2.2 && < 0.3
, mtl >= 2.2.2 && < 2.4
if flag(pkg-config)
pkgconfig-depends: snappy
else
extra-libraries: snappy
executable snappy-cli
import:
lang
hs-source-dirs:
snappy-cli
main-is:
Main.hs
build-depends:
snappy-c
, bytestring >= 0.10 && < 0.13
, conduit >= 1.3.5 && < 1.4
, data-default >= 0.7 && < 0.9
, optparse-applicative >= 0.18 && < 0.20
ghc-options:
-threaded
-rtsopts
test-suite test-snappy-c
import:
lang
type:
exitcode-stdio-1.0
hs-source-dirs:
test
main-is:
Main.hs
other-modules:
, Test.Prop.Orphans
, Test.Prop.RoundTrip
build-depends:
-- Internal dependencies
, snappy-c
build-depends:
-- External dependencies
, bytestring >= 0.10 && < 0.13
, tasty >= 1.5 && < 1.6
, tasty-hunit >= 0.10 && < 0.11
, tasty-quickcheck >= 0.10 && < 0.12
ghc-options:
-threaded
-rtsopts
benchmark bench-snappy-c
import:
lang
type:
exitcode-stdio-1.0
main-is:
bench/Main.hs
build-depends:
-- internal
, snappy-c
-- external
, bytestring >= 0.10 && < 0.13
, criterion >= 1.6.3 && < 1.7
, deepseq >= 1.4 && < 1.6
, random >= 1.2.1 && < 1.4
, snappy-lazy >= 0.1 && < 0.2
, zlib >= 0.6.3 && < 0.8
ghc-options:
-threaded
-rtsopts