X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=email-validator.cabal;h=15b3a1b633b84377ba88984629af1fa54006f9e9;hb=a5b95f6b2dc2e2e1f639507e9d7ff8ae4c39cae5;hp=6bd5caf977c1cdbf6630c772acddae44613f6084;hpb=9c30c25bb499e843a40062e2bd1e118c515aa159;p=email-validator.git diff --git a/email-validator.cabal b/email-validator.cabal index 6bd5caf..15b3a1b 100644 --- a/email-validator.cabal +++ b/email-validator.cabal @@ -1,24 +1,64 @@ name: email-validator -version: 0.0.1 +version: 0.0.4 cabal-version: >= 1.8 author: Michael Orlitzky maintainer: Michael Orlitzky +category: Utils +license: GPL-3 +license-file: doc/LICENSE +build-type: Simple +extra-source-files: + doc/man1/email-validator.1 synopsis: Perform basic syntax and deliverability checks on email addresses. -build-type: Simple +description: + Validate an email address using three techniques: + . + * Ensuring that the length of local and domain parts is within the + RFC-specified limits. + . + * A syntax check using a regular expression, or the full RFC 5322 + grammar (see the @--rfc5322@ option). + . + * Confirmation of the existence of an @MX@ record for the domain part of + the address. This is not required; in fact many domains accept mail + via an @A@ record for e.g. example.com which is used in lieu of an @MX@ + record. This behavior can be controlled via the @--accept-a@ flag. + . + These checks are performed in parallel using the number of available + threads. To increase the number of threads, you can pass the + appropriate flag to the GHC runtime. + . + This will set the number of threads to 25: + . + @ + $ email-validator -i addresses.csv +RTS -N25 + @ + . + /Input/ + . + The @input@ file (default: stdin) should be a list of email addresses, + one per line. Empty lines will be ignored. + . + /Output/ + . + Valid email addresses will be written to the output file (default: + stdout), one per line. -executable email_validator +executable email-validator build-depends: base == 4.*, - dns == 0.3.*, + bytestring == 0.10.*, + cmdargs == 0.10.*, + directory == 1.2.*, + dns == 1.*, + email-validate == 2.*, HUnit == 1.2.*, - QuickCheck == 2.6.*, - regex-pcre == 0.94.*, - test-framework == 0.8.*, - test-framework-hunit == 0.3.*, - test-framework-quickcheck2 == 0.3.*, - utf8-string == 0.3.* + parallel-io == 0.3.*, + pcre-light >= 0.4, + tasty == 0.*, + tasty-hunit == 0.8.* main-is: Main.hs @@ -26,6 +66,11 @@ executable email_validator hs-source-dirs: src/ + other-modules: + CommandLine + EmailAddress + ExitCodes + ghc-options: -Wall -fwarn-hi-shadowing @@ -37,9 +82,6 @@ executable email_validator -fwarn-incomplete-record-updates -fwarn-monomorphism-restriction -fwarn-unused-do-bind - -funbox-strict-fields - -fexcess-precision - -fno-spec-constr-count -rtsopts -threaded -optc-O3 @@ -58,14 +100,45 @@ test-suite testsuite main-is: TestSuite.hs build-depends: base == 4.*, - dns == 0.3.*, + bytestring == 0.10.*, + cmdargs == 0.10.*, + directory == 1.2.*, + dns == 1.*, + email-validate == 2.*, HUnit == 1.2.*, - QuickCheck == 2.6.*, - regex-pcre == 0.94.*, - test-framework == 0.8.*, - test-framework-hunit == 0.3.*, - test-framework-quickcheck2 == 0.3.*, - utf8-string == 0.3.* + parallel-io == 0.3.*, + pcre-light >= 0.4, + tasty == 0.*, + tasty-hunit == 0.8.* + + + -- It's not entirely clear to me why I have to reproduce all of this. + ghc-options: + -Wall + -fwarn-hi-shadowing + -fwarn-missing-signatures + -fwarn-name-shadowing + -fwarn-orphans + -fwarn-type-defaults + -fwarn-tabs + -fwarn-incomplete-record-updates + -fwarn-monomorphism-restriction + -fwarn-unused-do-bind + -rtsopts + -threaded + -optc-O3 + -optc-march=native + -O2 + + +test-suite doctests + type: exitcode-stdio-1.0 + hs-source-dirs: test + main-is: Doctests.hs + build-depends: + base == 4.*, + -- Additional test dependencies. + doctest == 0.9.* -- It's not entirely clear to me why I have to reproduce all of this. ghc-options: @@ -79,15 +152,14 @@ test-suite testsuite -fwarn-incomplete-record-updates -fwarn-monomorphism-restriction -fwarn-unused-do-bind - -funbox-strict-fields - -fexcess-precision - -fno-spec-constr-count -rtsopts -threaded -optc-O3 -optc-march=native -O2 + + source-repository head type: git location: http://michael.orlitzky.com/git/email-validator.git