packages feed

haskus-binary-1.1: haskus-binary.cabal

name:                haskus-binary
version:             1.1
synopsis:            Haskus binary format manipulation
license:             BSD3
license-file:        LICENSE
author:              Sylvain Henry
maintainer:          sylvain@haskus.fr
homepage:            http://www.haskus.org/system
copyright:           Sylvain Henry 2017
category:            System
build-type:          Simple
cabal-version:       1.20

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.).

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

  other-modules:

  build-depends:       
         base                      >= 4.9 && <5.0
      ,  haskus-utils-types        >= 1.3
      ,  haskus-utils-data         >= 1.1
      ,  haskus-utils              >= 1.3
      ,  cereal                    >= 0.5
      ,  bytestring                >= 0.10
      ,  mtl                       >= 2.2

  build-tools: 
  ghc-options:          -Wall
  default-language:     Haskell2010
  hs-source-dirs:       src/lib

test-suite tests
   type:                exitcode-stdio-1.0
   main-is:             Main.hs
   hs-source-dirs:      src/tests/
   ghc-options:         -Wall -threaded
   default-language:    Haskell2010
   other-modules:
         Haskus.Tests.Format.Binary
      ,  Haskus.Tests.Common
      ,  Haskus.Tests.Format.Binary.Bits
      ,  Haskus.Tests.Format.Binary.GetPut
      ,  Haskus.Tests.Format.Binary.Vector

   build-depends:    
         base
      ,  haskus-binary
      ,  haskus-utils
      ,  tasty                   >= 0.11
      ,  tasty-quickcheck        >= 0.8
      ,  QuickCheck              >= 2.8
      ,  bytestring

Benchmark bench-BitReverse
   type:               exitcode-stdio-1.0
   main-is:            BitReverse.hs
   hs-source-dirs:     src/bench
   ghc-options:         -Wall -threaded
   default-language:     Haskell2010
   build-depends:
         base
      ,  haskus-binary
      ,  criterion