packages feed

purebred-email-0.4.2: purebred-email.cabal

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

name:                purebred-email
version:             0.4.2
synopsis:            types and parser for email messages (including MIME)
description:
  The purebred email library.  RFC 5322, MIME, etc.
  .
  Things that are currently implemented:
  .
  - RFC 5322 message parsing and serialisation
  - MIME multipart parsing (RFC 2046) and serialisation
  - MIME message header extensions for non-ASCII text (RFC 2047)
  - MIME parameter value and encoded word extensions (RFC 2231)
  - Content-Disposition header field (RFC 2183)
  - Message encapsulation (forward/bounce)
  .
  Things that are not yet implemented / need improvement:
  .
  - Improve handling of dates
  - Probably lots of other things

license:             AGPL-3
license-file:        LICENSE
author:              Fraser Tweedale
maintainer:          frase@frase.id.au
copyright:           Copyright 2017-2019  Fraser Tweedale
category:            Data, Email
build-type:          Simple
extra-source-files:
  README.rst
  test-vectors/*.eml
  tests/golden/*.golden
cabal-version:       >=1.10
tested-with:
  GHC==8.4.4, GHC==8.6.5, GHC==8.8.3, GHC==8.10.1

homepage:            https://github.com/purebred-mua/purebred-email
bug-reports:         https://github.com/purebred-mua/purebred-email/issues
source-repository head
  type: git
  location: https://github.com/purebred-mua/purebred-email.git

flag demos
  description: Build demonstration programs
  default: False

library
  exposed-modules:
    Data.RFC5322
    , Data.RFC5322.Address.Text
    , Data.RFC5322.Address.Types
    , Data.RFC5322.Internal
    , Data.MIME
    , Data.MIME.Error
    , Data.MIME.Charset
    , Data.MIME.EncodedWord
    , Data.MIME.Types
    , Data.MIME.Parameter
    , Data.MIME.TransferEncoding
    , Data.MIME.Base64
    , Data.MIME.QuotedPrintable
  other-modules:
    Data.MIME.Internal
  -- other-extensions:    
  build-depends:
    base >= 4.11 && < 5
    , attoparsec >= 0.13 && < 0.14
    , base64-bytestring >= 1 && < 2
    , bytestring >= 0.10 && < 0.11
    , case-insensitive >= 1.2 && < 1.3
    , concise >= 0.1.0.1 && < 1
    , deepseq >= 1.4.2
    , lens >= 4 && < 5
    , semigroupoids >= 5 && < 6
    , semigroups >= 0.16
    , stringsearch >= 0.3
    , text >= 1.2
    , time
  hs-source-dirs:      src
  default-language:    Haskell2010
  ghc-options: -Wall -Wredundant-constraints

test-suite tests
  type: exitcode-stdio-1.0
  default-language:    Haskell2010
  ghc-options: -Wall -Wredundant-constraints
  hs-source-dirs: tests
  main-is: Test.hs
  other-modules:
    ContentTransferEncodings
    , EncodedWord
    , Headers
    , MIME
    , Generator
    , Parser
    , Message
  build-depends:
    base
    , attoparsec
    , bytestring
    , lens
    , text
    , purebred-email
    , case-insensitive >= 1.2 && < 1.3
    , semigroups >= 0.16
    , time

    , tasty
    , tasty-hedgehog
    , tasty-quickcheck
    , tasty-hunit
    , tasty-golden
    , hedgehog
    , QuickCheck
    , quickcheck-instances

executable purebred-email-parse
  if !flag(demos)
    buildable: False
  default-language:    Haskell2010
  hs-source-dirs: tools
  ghc-options: -Wall
  main-is: Parse.hs
  build-depends:
    base
    , attoparsec
    , bytestring
    , semigroups >= 0.16
    , purebred-email