packages feed

entropy-0.3: entropy.cabal

name:           entropy
version:        0.3
description:    A platform independent method to obtain cryptographically strong entropy 
                (urandom on Linux, CryptAPI on Windows, patches welcome). 
                Users looking for cryptographically strong (number-theoretically
                sound) PRNGs should see the 'DRBG' package too!
synopsis:       A platform independent entropy source
license:        BSD3
license-file:   LICENSE
copyright:      Thomas DuBuisson <thomas.dubuisson@gmail.com>
author:         Thomas DuBuisson <thomas.dubuisson@gmail.com>
maintainer:     Thomas DuBuisson <thomas.dubuisson@gmail.com>
category:       Data, Cryptography
homepage:       https://github.com/TomMD/entropy
bug-reports:    https://github.com/TomMD/entropy/issues
stability:      stable
-- build-type:  Simple
-- ^^ Used for HaLVM
build-type:        Custom
-- ^^ Test for RDRAND support using 'ghc'
cabal-version:  >=1.10
tested-with:    GHC == 7.6.3
-- data-files:
extra-source-files:   ./cbits/rdrand.c, ./cbits/rdrand.h, README.md

-- Notice to compile  with HaLVM the above 'build-type' must be changed
-- to 'Simple' instead of 'Custom'.  The current build system naively
-- runs GHC to determine if the compiler supports RDRAND before proceeding.
flag halvm
    description:        Build for the HaLVM
    default:            False
library
  ghc-options:  -O2
  exposed-modules: System.Entropy
  if os(windows)
    other-modules: System.EntropyWindows
  else
    other-modules: System.EntropyNix
  other-extensions:    CPP, ForeignFunctionInterface, BangPatterns, ScopedTypeVariables
  build-depends: base == 4.*, bytestring
  default-language:    Haskell2010
  if(flag(halvm))
    cpp-options: -DXEN -DHAVE_RDRAND
  if arch(x86_64)
    cpp-options: -Darch_x86_64
    c-sources:    cbits/rdrand.c
    include-dirs: cbits
  if os(windows)
    cpp-options: -DisWindows
    extra-libraries: advapi32
  else
    if !flag(halvm)
       Build-Depends: unix

source-repository head
    type:       git
    location:   https://github.com/TomMD/entropy