-
Notifications
You must be signed in to change notification settings - Fork 5
/
purebred-email.cabal
158 lines (150 loc) · 4.37 KB
/
purebred-email.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
cabal-version: 2.2
name: purebred-email
version: 0.6.0.2
synopsis: types and parser for email messages (including MIME)
description:
The purebred email library. RFC 5322, MIME, etc.
See "Data.MIME" for usage, examples and API documentation.
.
This is a general-purpose library for processing and constructing
email messages, originally written to meet the needs of
<https://github.com/purebred-mua/purebred purebred MUA>.
Transmission and delivery of mail are not part of this library,
but /purebred-email/ could be a useful building block for such
systems.
.
Features and implemented specifications include:
.
- <https://tools.ietf.org/html/rfc5322 RFC 5322> message parsing and serialisation
- MIME multipart messages (<https://tools.ietf.org/html/rfc2046 RFC 2046>)
- Convenient APIs for replying and forward/bounce
- Content transfer and charset decoding/encoding
- MIME message header extensions for non-ASCII text (<https://tools.ietf.org/html/rfc2047 RFC 2047>)
- MIME parameter value and encoded word extensions (<https://tools.ietf.org/html/rfc2231 RFC 2231>)
- @Content-Disposition@ header field (<https://tools.ietf.org/html/rfc2183 RFC 2183>)
- Address syntax in @From@ and @Sender@ fields (<https://tools.ietf.org/html/rfc6854 RFC 6854>)
license: AGPL-3.0-or-later
license-file: LICENSE
author: Fraser Tweedale
maintainer: [email protected]
copyright: Copyright 2017-2021 Fraser Tweedale
category: Data, Email
build-type: Simple
extra-source-files:
CHANGELOG.md
README.rst
test-vectors/*.eml
tests/golden/*.golden
tested-with:
GHC ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.6 || ==9.8.2 || ==9.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
common common
default-language: Haskell2010
ghc-options:
-Wall
-Wcompat
-Werror=missing-methods
-Widentities
-Wincomplete-record-updates
-Wincomplete-uni-patterns
-Wmissing-export-lists
-Wnoncanonical-monad-instances
-Wpartial-fields
-Wredundant-constraints
-fhide-source-paths
if impl(ghc >= 8.10)
ghc-options:
-Wunused-packages
if impl(ghc >= 9.0)
ghc-options:
-Winvalid-haddock
-Werror=unicode-bidirectional-format-characters
if impl(ghc >= 9.2)
ghc-options:
-Wimplicit-lift
-Woperator-whitespace
-Wredundant-bang-patterns
if impl(ghc >= 9.4)
ghc-options:
-Wredundant-strictness-flags
build-depends:
base >= 4.11 && < 5
, attoparsec >= 0.13 && < 0.15
, bytestring >= 0.10 && < 0.13
, case-insensitive >= 1.2 && < 1.3
, lens >= 4 && < 6
, text >= 1.2
, time >= 1.9
library
import: common
exposed-modules:
Data.IMF
, Data.IMF.Syntax
, Data.IMF.Text
, 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.Boundary
, Data.MIME.Internal
, Data.IMF.DateTime
build-depends:
, base64-bytestring >= 1 && < 2
, case-insensitive >= 1.2 && < 1.3
, concise >= 0.1.0.1 && < 1
, deepseq >= 1.4.2
, random >= 1.2.0
, semigroupoids >= 5 && < 7
, stringsearch >= 0.3
hs-source-dirs: src
default-language: Haskell2010
test-suite tests
import: common
type: exitcode-stdio-1.0
hs-source-dirs: tests
main-is: Test.hs
other-modules:
ContentTransferEncodings
, EncodedWord
, Headers
, MIME
, Generator
, Parser
, Message
build-depends:
, purebred-email
, random
, tasty
, tasty-hedgehog
, tasty-quickcheck
, tasty-hunit
, tasty-golden
, hedgehog
, quickcheck-instances
executable purebred-email-parse
if !flag(demos)
buildable: False
default-language: Haskell2010
hs-source-dirs: tools
main-is: Parse.hs
build-depends:
base
, bytestring
, purebred-email