name: sandi
version: 0.3.0.1
license: BSD3
license-file: LICENSE
cabal-version: >= 1.8
build-type: Simple
author: Magnus Therning
maintainer: magnus@therning.org
homepage: http://hackage.haskell.org/package/sandi
copyright: Magnus Therning, 2012
category: Codec Conduit
synopsis: Data encoding library
description: Reasonably fast data encoding library.
extra-source-files: csrc/*.h

source-repository head
    type: git
    location: https://github.com/magthe/sandi

library
    hs-source-dirs: src
    c-sources: csrc/codec.c
    include-dirs: csrc
    ghc-options: -Wall
    cc-options: -Wall -Wextra
    build-depends:
        base ==4.6.* || ==4.7.*,
        bytestring ==0.10.*,
        conduit ==1.1.*,
        exceptions ==0.6.*
    exposed-modules:
            Codec.Binary.Base16
            Codec.Binary.Base32
            Codec.Binary.Base32Hex
            Codec.Binary.Base64
            Codec.Binary.Base64Url
            Codec.Binary.Base85
            Codec.Binary.QuotedPrintable
            Codec.Binary.Uu
            Codec.Binary.Xx
            Codec.Binary.Yenc
            Data.Conduit.Codec.Base16
            Data.Conduit.Codec.Base32
            Data.Conduit.Codec.Base32Hex
            Data.Conduit.Codec.Base64
            Data.Conduit.Codec.Base64Url
            Data.Conduit.Codec.Base85
            Data.Conduit.Codec.QuotedPrintable
            Data.Conduit.Codec.Uu
            Data.Conduit.Codec.Xx
            Data.Conduit.Codec.Yenc
    other-modules:
        Data.Conduit.Codec.Util

test-suite sandi-tests
    type: exitcode-stdio-1.0
    hs-source-dirs: src, test-src
    build-depends:
        sandi,
        base,
        bytestring,
        HUnit,
        tasty,
        tasty-hunit,
        tasty-quickcheck,
        tasty-th
    main-is: Main.hs
    other-modules:
        Codec.Binary.Base16Test
        Codec.Binary.Base32HexTest
        Codec.Binary.Base32Test
        Codec.Binary.Base64Test
        Codec.Binary.Base64UrlTest
        Codec.Binary.Base85Test
        Codec.Binary.QuotedPrintableTest
        Codec.Binary.UuTest
        Codec.Binary.XxTest
        Codec.Binary.YencTest
        Codec.TestUtils

benchmark sandi-bench
    type: exitcode-stdio-1.0
    hs-source-dirs:   src, bench-src
    build-depends:
        sandi,
        base,
        bytestring,
        criterion
    main-is: Main.hs
    other-modules:
        Codec.Binary.Base16Bench
        Codec.Binary.Base32Bench
        Codec.Binary.Base32HexBench
        Codec.Binary.Base64Bench
        Codec.Binary.Base64UrlBench
        Codec.Binary.Base85Bench
        Codec.Binary.QuotedPrintableBench
        Codec.Binary.UuBench
        Codec.Binary.XxBench
        Codec.Binary.YencBench