packages feed

age-0.0.1.0: age.cabal

cabal-version:       3.4
name:                age
version:             0.0.1.0
synopsis:            Actually Good Encryption
description:
  Haskell implementation of
  [age (Actually Good Encryption)](https://age-encryption.org/v1).

  age is a modern file encryption format with multiple pluggable recipients,
  and seekable streaming encryption.

  The recommended entry point for this library is "Crypto.Age".

  __⚠️ Warning: This is an experimental pre-release which is still under development. As a result, the API is unstable and subject to breaking changes.__
author:              Luke Nadur
maintainer:          Luke Nadur
license:             MIT
license-file:        LICENSE
category:            Cryptography
homepage:            https://github.com/intricate/age-haskell
bug-reports:         https://github.com/intricate/age-haskell/issues
build-type:          Simple
tested-with:         GHC == 9.8.2, GHC == 9.4.8
extra-source-files:
  README.md
  test/golden/**/*.bin
  test/golden/**/*.txt
  test/test-vectors/*.test
extra-doc-files:     CHANGELOG.md

library
  default-language:    Haskell2010
  hs-source-dirs:      src
  default-extensions:  DerivingStrategies
                       GeneralizedNewtypeDeriving
                       NamedFieldPuns
                       NoImplicitPrelude
                       OverloadedStrings

  ghc-options:         -Wall
                       -Wcompat
                       -Wincomplete-record-updates
                       -Wincomplete-uni-patterns
                       -Wpartial-fields
                       -Wredundant-constraints
                       -Wunused-packages
                       -Wno-unticked-promoted-constructors

  exposed-modules:     Crypto.Age
                       Crypto.Age.Armor
                       Crypto.Age.Buffered
                       Crypto.Age.Conduit
                       Crypto.Age.Header
                       Crypto.Age.Identity
                       Crypto.Age.Identity.Stanza
                       Crypto.Age.Key
                       Crypto.Age.Payload.Ciphertext
                       Crypto.Age.Payload.Counter
                       Crypto.Age.Payload.Plaintext
                       Crypto.Age.Recipient
                       Crypto.Age.Recipient.Stanza
                       Crypto.Age.Scrypt

  other-modules:       Data.Attoparsec.ByteString.Base64
                       Data.Attoparsec.ByteString.Extra
                       Data.Binary.Put.Integer
                       Data.ByteString.Base64.Extra
                       Data.ByteString.Extra
                       Data.Conduit.Base64
                       Data.List.Compat

  build-depends:       base >= 4.17 && < 4.22
                     , attoparsec >= 0.14.1 && < 0.15
                     , base64 >= 0.4 && < 1.1
                     , bech32 >= 1.1.1 && < 1.2
                     , binary >= 0.8.9 && < 0.9
                     , bytestring >= 0.11.1 && < 0.13
                     , conduit >= 1.3.5 && < 1.4
                     , conduit-extra >= 1.3.0 && < 1.4
                     , crypton >= 0.32 && < 1.1
                     , memory >= 0.17.0 && < 0.19
                     , mono-traversable >= 1.0.15.3 && < 1.1
                     , mtl >= 2.2.2 && < 2.4
                     , text >= 2.0 && < 2.2
                     , transformers >= 0.5.6.2 && < 0.7

test-suite age-test
  default-language:    Haskell2010
  type:                exitcode-stdio-1.0
  main-is:             Main.hs
  hs-source-dirs:      test
  default-extensions:  DerivingStrategies
                       GeneralizedNewtypeDeriving
                       NamedFieldPuns
                       NoImplicitPrelude
                       OverloadedStrings

  ghc-options:         -Wall
                       -Wcompat
                       -Wredundant-constraints
                       -Wincomplete-patterns
                       -Wincomplete-record-updates
                       -Wincomplete-uni-patterns
                       -Wunused-imports
                       -Wunused-packages
                       -Wno-unticked-promoted-constructors

  other-modules:       Test.Crypto.Age.Armor
                       Test.Crypto.Age.Conduit
                       Test.Crypto.Age.Header
                       Test.Crypto.Age.Header.Gen
                       Test.Crypto.Age.Identity
                       Test.Crypto.Age.Identity.Gen
                       Test.Crypto.Age.Key
                       Test.Crypto.Age.Key.Gen
                       Test.Crypto.Age.Key.Render
                       Test.Crypto.Age.Payload.Counter.Gen
                       Test.Crypto.Age.Payload.Plaintext.Gen
                       Test.Crypto.Age.Recipient
                       Test.Crypto.Age.Recipient.Gen
                       Test.Crypto.Age.Scrypt
                       Test.Crypto.Age.Scrypt.Gen
                       Test.Crypto.Age.TestVector
                       Test.Crypto.Age.TestVector.Header
                       Test.Crypto.Age.TestVector.Property
                       Test.Gen
                       Test.Golden

  build-depends:       base >= 4.17 && < 4.22
                     , age
                     , attoparsec
                     , base16
                     , bytestring
                     , conduit
                     , conduit-extra
                     , crypton
                     , directory
                     , hedgehog
                     , memory
                     , mmorph
                     , mtl
                     , text

source-repository head
  type:     git
  location: git://github.com/intricate/age-haskell.git