packages feed

memorable-bits-0.1.0.1: memorable-bits.cabal

-- Initial memorable-bits.cabal generated by cabal init.  For further 
-- documentation, see http://haskell.org/cabal/users-guide/

name:                memorable-bits
version:             0.1.0.1
synopsis:            Generate human memorable strings from binary data.
description:         I library for creating human readable strings from
                     various types of data. Also a DSL for comming up
                     with patterns.
license:             BSD2
license-file:        LICENSE
author:              Luke Clifton
maintainer:          lukec@themk.net
category:            Data
build-type:          Simple
cabal-version:       >=1.10
extra-source-files:  README.rst

source-repository head
  type: git
  location: https://github.com/luke-clifton/memorable-bits

flag data-dword-inst
  description: Include data-dword and provide instances for its types.
  default: True

flag network-ip-inst
  description: Include network-ip and provide instances for its types.
  default: True

flag cryptonite-inst
  description: Include cryptonite and provide instances for its types.
  default: True

flag exes
  description: Build a set of executables for printing memorable hashes of files.
  default: True

library
  exposed-modules:     Data.Memorable
                     , Data.Memorable.Internal
                     , Data.Memorable.Theme.Food
                     , Data.Memorable.Theme.Fantasy
                     , Data.Memorable.Theme.Metric
                     , Data.Memorable.Theme.Science
                     , Data.Memorable.Theme.Words
  build-depends:       base >=4.8 && <5
                     , bits >=0.5
                     , bytes >=0.15
                     , binary >=0.8
                     , bytestring >=0.10
                     , hashable >=1.2
                     , split >=0.2
                     , random >=1.1
                     , mtl >=2.2.1
  hs-source-dirs:      src
  default-language:    Haskell2010
  if flag(network-ip-inst) {
    cpp-options: -DNETWORK_IP -DDATA_DWORD
    build-depends: network-ip, data-dword
  }
  if flag(data-dword-inst) {
    cpp-options: -DDATA_DWORD
    build-depends: data-dword
  }
  if flag(cryptonite-inst) {
    cpp-options: -DCRYPTONITE
    build-depends: cryptonite, memory
  }

test-suite test-memorable-bits
  type:                exitcode-stdio-1.0
  main-is:             test/Main.hs
  default-language:    Haskell2010
  build-depends:       base >=4.8 && <5
                     , memorable-bits
                     , tasty
                     , tasty-hunit
                     , tasty-quickcheck
                     , tasty-smallcheck
                     , doctest
                     , HUnit

benchmark bench-memorable-bits
  type:                exitcode-stdio-1.0
  main-is:             bench/Main.hs
  default-language:    Haskell2010
  build-depends:       base >=4.8 && <5
                     , criterion
                     , memorable-bits
                     , random
                     , bytestring

executable membits
  main-is: app/Membits.hs
  default-language: Haskell2010
  build-depends: base >=4.8 && <5
               , memorable-bits
               , bytestring
               , cryptonite
               , optparse-applicative

  if !flag(exes) {
    buildable: False
  }