packages feed

flat-0.3.4: flat.cabal

name: flat
version: 0.3.4
synopsis: Principled and efficient bit-oriented binary serialization.
description: Principled and efficient bit-oriented binary serialization, check the <http://github.com/Quid2/flat online tutorial>.
homepage: http://quid2.org
category: Data,Parsing,Serialization
license:             BSD3
license-file:        LICENSE
author:              Pasqualino `Titto` Assini
maintainer:          tittoassini@gmail.com
copyright:           Copyright: (c) 2016-2018 Pasqualino `Titto` Assini
cabal-version: >=1.10
build-type: Simple
Tested-With: GHC == 7.10.3 GHC == 8.0.2 GHC == 8.2.2 GHC == 8.4.4 GHC == 8.6.1

extra-source-files:
    stack.yaml
    README.md
    CHANGELOG

source-repository head
    type: git
    location: https://github.com/Quid2/flat

library
    exposed-modules:
        Data.ByteString.Convert
        Data.Flat.Bits
        Data.Flat.Class
        Data.Flat.Decoder
        Data.Flat.Decoder.Prim
        Data.Flat.Decoder.Strict
        Data.Flat.Decoder.Types
        Data.Flat.Encoder
        Data.Flat.Encoder.Prim
        Data.Flat.Encoder.Size
        Data.Flat.Encoder.Strict
        Data.Flat.Encoder.Types
        Data.Flat.Filler
        Data.Flat.Memory
        Data.Flat.Run
        Data.Flat.Types
        Data.Flat
        Data.FloatCast
        Data.ZigZag
        Data.Flat.Instances
        Data.Flat.Endian                  

    build-depends:
        base >=4.8 && <5
        , bytestring>=0.10.6
        , deepseq >= 1.4
        , ghc-prim
        , primitive
        , text
        , array >= 0.5.1.0
        , dlist >= 0.6
        , vector
        , pretty >= 1.1.2
        
        -- Required by Data.Flat.Instances
        , containers
        , mono-traversable>=0.10.0.2

    if impl(ghc < 8.0)
      build-depends: semigroups

    default-language: Haskell2010
    other-extensions: DataKinds DefaultSignatures DeriveAnyClass
                      DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable
                      FlexibleContexts FlexibleInstances NoMonomorphismRestriction
                      OverloadedStrings PolyKinds ScopedTypeVariables TupleSections
                      TypeFamilies TypeOperators UndecidableInstances
    hs-source-dirs: src
    ghc-options: -Wall -O2 -funbox-strict-fields -fno-warn-orphans -fno-warn-name-shadowing

-- Full test suite
test-suite spec
    type: exitcode-stdio-1.0
    main-is: Spec.hs
    build-depends:
                  base
                , ghc-prim
                , tasty 
                -- >= 1
                , tasty-hunit 
                -- >= 0.8
                , tasty-quickcheck 
                -- >=0.9
                , containers
                , deepseq == 1.4.*
                , QuickCheck >= 2.10
                , text
                , bytestring
                , array
                , flat

    default-language: Haskell2010
    hs-source-dirs: test
    cpp-options: -DLIST_BIT 
    -- Add large data types test
    -- cpp-options: -DENUM_LARGE
    -- Add low level decoding test  
    -- cpp-options: -DTEST_DECBITS
    other-modules:
        Test.Data
        Test.Data2
        Test.E
        Test.E.Flat
        Test.E.Arbitrary
        Test.Data.Arbitrary
        Test.Data.Flat
        Test.Data2.Flat
        Test.Data.Values

-- Tests embedded in code documentation (won't compile with ghcjs)
-- test-suite docs
--   default-language:   Haskell2010
--   type:               exitcode-stdio-1.0
--   main-is:            DocSpec.hs
--   build-depends:      base, doctest>=0.11.2,filemanip>=0.3.6.3
--   HS-Source-Dirs:     test

-- Simple benchmark (won't compile with ghcjs)
-- benchmark sbench
--     main-is: Mini.hs
--     type: exitcode-stdio-1.0
--     default-language:   Haskell2010
--     build-depends:
--         base
--         , deepseq
--         ,criterion
--         ,bytestring,text,containers,process,filepath,statistics,directory
--         -- ,timeit
--         ,flat
--     hs-source-dirs: benchmarks test
--     ghc-options: -O2 -dumpdir /tmp/dump -ddump-to-file -dsuppress-all -ddump-simpl -fprint-potential-instances
--     -- cpp-options: -DENUM_LARGE
--     other-modules:
--         Test.E,Test.Data,Test.Data.Flat,Test.Data.Values,Test.Data2,Test.Data2.Flat,Test.E.Flat,Report