packages feed

haskus-binary-1.0: haskus-binary.cabal

name: haskus-binary
version: 1.0
cabal-version: >=1.20
build-type: Simple
license: BSD3
license-file: LICENSE
copyright: Sylvain Henry 2017
maintainer: sylvain@haskus.fr
homepage: http://www.haskus.org/system
synopsis: Haskus binary format manipulation
description:
    A set of types and tools to manipulate binary data, memory, etc. In
    particular to interface Haskell data types with foreign data types (C
    structs, unions, enums, etc.).
category: System
author: Sylvain Henry

source-repository head
    type: git
    location: git://github.com/haskus/haskus-binary.git

library
    exposed-modules:
        Haskus.Format.Binary.Bits
        Haskus.Format.Binary.Bits.Finite
        Haskus.Format.Binary.Bits.Index
        Haskus.Format.Binary.Bits.Bitwise
        Haskus.Format.Binary.Bits.Reverse
        Haskus.Format.Binary.Bits.Rotate
        Haskus.Format.Binary.Bits.Shift
        Haskus.Format.Binary.Bits.Order
        Haskus.Format.Binary.Bits.Get
        Haskus.Format.Binary.Bits.Put
        Haskus.Format.Binary.BitSet
        Haskus.Format.Binary.BitField
        Haskus.Format.Binary.Buffer
        Haskus.Format.Binary.BufferList
        Haskus.Format.Binary.BufferBuilder
        Haskus.Format.Binary.Char
        Haskus.Format.Binary.Enum
        Haskus.Format.Binary.Endianness
        Haskus.Format.Binary.FixedPoint
        Haskus.Format.Binary.Get
        Haskus.Format.Binary.Put
        Haskus.Format.Binary.VariableLength
        Haskus.Format.Binary.Vector
        Haskus.Format.Binary.Union
        Haskus.Format.Binary.Unum
        Haskus.Format.Binary.Posit
        Haskus.Format.Binary.Record
        Haskus.Format.Binary.Storable
        Haskus.Format.Binary.Word
        Haskus.Format.Binary.Ptr
        Haskus.Format.Binary.Layout
        Haskus.Utils.Memory
    build-depends:
        base >=4.9 && <4.12,
        haskus-utils >=0.6 && <1.1,
        cereal ==0.5.*,
        bytestring ==0.10.*,
        mtl ==2.2.*
    default-language: Haskell2010
    hs-source-dirs: src/lib
    ghc-options: -Wall

test-suite  tests
    type: exitcode-stdio-1.0
    main-is: Main.hs
    build-depends:
        base >=4.11.1.0 && <4.12,
        haskus-binary -any,
        haskus-utils ==1.0.*,
        tasty >=0.11 && <1.2,
        tasty-quickcheck >=0.8 && <0.11,
        QuickCheck >=2.8 && <2.12,
        bytestring >=0.10.8.2 && <0.11
    default-language: Haskell2010
    hs-source-dirs: src/tests/
    other-modules:
        Haskus.Tests.Format.Binary
        Haskus.Tests.Common
        Haskus.Tests.Format.Binary.Bits
        Haskus.Tests.Format.Binary.GetPut
        Haskus.Tests.Format.Binary.Vector
    ghc-options: -O2 -Wall -threaded

benchmark  bench-BitReverse
    type: exitcode-stdio-1.0
    main-is: BitReverse.hs
    build-depends:
        base >=4.11.1.0 && <4.12,
        haskus-binary -any,
        criterion >=1.4.1.0 && <1.5
    default-language: Haskell2010
    hs-source-dirs: src/bench
    ghc-options: -Wall -threaded -O3