packages feed

crypto-rng-effectful-1.0.0.0: crypto-rng-effectful.cabal

cabal-version:      2.4
build-type:         Simple
name:               crypto-rng-effectful
version:            1.0.0.0
license:            MIT
license-file:       LICENSE
category:           Crypto
maintainer:         andrzej@rybczak.net
author:             Andrzej Rybczak, Dominik Peteler, Hécate Moonlight

synopsis:           Adaptation of the crypto-rng library for the effectful ecosystem.

description:        Adaptation of the @<https://hackage.haskell.org/package/crypto-rng crypto-rng>@ library for the @<https://hackage.haskell.org/package/effectful effectful>@ ecosystem.

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

tested-with: GHC ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.3 || ==9.4.1

bug-reports: https://github.com/haskell-effectful/crypto-rng-effectful/issues
source-repository head
  type:     git
  location: https://github.com/haskell-effectful/crypto-rng-effectful

common language
    ghc-options:        -Wall -Wcompat -Wno-unticked-promoted-constructors

    default-language:   Haskell2010

    default-extensions: BangPatterns
                        ConstraintKinds
                        DataKinds
                        DeriveFunctor
                        DeriveGeneric
                        DerivingStrategies
                        FlexibleContexts
                        FlexibleInstances
                        GADTs
                        GeneralizedNewtypeDeriving
                        LambdaCase
                        MultiParamTypeClasses
                        NoStarIsType
                        RankNTypes
                        RoleAnnotations
                        ScopedTypeVariables
                        StandaloneDeriving
                        TupleSections
                        TypeApplications
                        TypeFamilies
                        TypeOperators

library
  import:          language

  build-depends:     base            >= 4.13       && < 5
                   , bytestring      >= 0.10.8
                   , crypto-rng      >= 0.3        && < 0.4
                   , effectful-core  >= 1.0.0.0    && < 1.0.1.0
                   , random          >= 1.1        && < 1.3

  hs-source-dirs:  src

  exposed-modules: Effectful.Crypto.RNG
                   Effectful.Crypto.RNG.Unsafe

  other-modules:   Effectful.Crypto.RNG.Effect


test-suite test
  import:         language

  ghc-options:    -threaded -rtsopts -with-rtsopts=-N4

  build-depends:    base
                  , bytestring
                  , crypto-rng
                  , effectful-core
                  , crypto-rng-effectful
                  , tasty
                  , tasty-hunit

  hs-source-dirs: tests

  type:           exitcode-stdio-1.0
  main-is:        Main.hs

  other-modules:  Utils