name:                passman-core
version:             0.2.0.1
synopsis:            Deterministic password generator core
description:
    Generates unique passwords deterministically from a single master password.
    A hash of the master password is stored on disk to prevent accidentally
    generating a password from a mistyped master password.
    .
    This is the core of passman.
homepage:            https://github.com/PasswordManager/passman-core#readme
bug-reports:         https://github.com/PasswordManager/passman-core/issues
license:             GPL-3
license-file:        LICENSE
author:              Matthew Harm Bekkema
maintainer:          mbekkema97@gmail.com
copyright:           2017 Matthew Harm Bekkema
category:            Password
build-type:          Simple
extra-source-files:  README.md
                   , ChangeLog.md
cabal-version:       2.0
tested-with:         GHC == 8.0.2
                   , GHC == 8.2.2
                   , GHC == 8.4.3
                   , GHC == 8.6.1

library
  hs-source-dirs:      src
  exposed-modules:     Passman.Core.Hash
                       Passman.Core.Mode
                       Passman.Core.Config
                       Passman.Core.Config.Lens
                       Passman.Core.Info
                       Passman.Core.Entry
                       Passman.Core.Entry.Lens
                       Passman.Core.Version
  other-modules:       Paths_passman_core
  autogen-modules:     Paths_passman_core
  ghc-options:         -Wall
  build-depends:       passman-core-internal
                     , base            >= 4.9      && < 4.13
                     , aeson           >= 0.7      && < 1.5
                     , bcrypt         ^>= 0.0.10
                     , bytestring     ^>= 0.10.8.1
                     , conduit        ^>= 1.3.0
                     , containers      >= 0.5.7.1  && < 0.7
                     , cryptohash-md5 ^>= 0.11.100.1
                     , csv-conduit     >= 0.6.7    && < 0.8
                     , data-ordlist   ^>= 0.4.7.0
                     , directory       >= 1.2.3    && < 1.4
                     , filepath       ^>= 1.4.1.0
                     , int-cast        >= 0.1.2.0  && < 0.3
                     , memory         ^>= 0.14.6
                     , text           ^>= 1.2.2.2
                     , unix-compat     >= 0.4.3.1  && < 0.6
                     , yaml            >= 0.8.23.3 && < 0.11
  default-language:    Haskell2010
  other-extensions:    GeneralizedNewtypeDeriving
                       OverloadedStrings
                       TemplateHaskell
                       PatternSynonyms

library passman-core-internal
  hs-source-dirs:      internal
  exposed-modules:     Passman.Core.Internal.Util
  ghc-options:         -Wall
  build-depends:       base
                     , bytestring
                     , int-cast
  default-language:    Haskell2010

test-suite precomputed
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             precomputed.hs
  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N
  build-depends:       base
                     , passman-core
                     , conduit
                     , text
                     , yaml
  default-language:    Haskell2010
  other-extensions:    OverloadedStrings

test-suite properties
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             properties.hs
  other-modules:       PropertiesTH
  ghc-options:         -Wall -Wno-orphans -threaded -rtsopts -with-rtsopts=-N
  build-depends:       base
                     , passman-core
                     , passman-core-internal
                     , conduit
                     , filepath
                     , text

                     , async                 >= 2.1.0   && < 2.3
                     , QuickCheck            >= 2.9.2   && < 2.13
                     , quickcheck-instances ^>= 0.3.13
                     , quickcheck-unicode   ^>= 1.0.1.0
                     , template-haskell      >= 2.11    && < 2.15
                     , temporary             >= 1.2.0.3 && < 1.4
  default-language:    Haskell2010
  other-extensions:    TemplateHaskell
                       TemplateHaskellQuotes
                       TupleSections

source-repository head
  type:     git
  location: https://github.com/PasswordManager/passman-core