X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=email-validator.cabal;h=451a09bd11436986a03a83492749bae04a030d91;hb=26d9ffe7a637c826da3b1b330843173205d79964;hp=c5f7ea27060c3bed94c636717822a5844b8a4894;hpb=b749bc258eef9309049fb9c46f1d7143f795abe2;p=email-validator.git diff --git a/email-validator.cabal b/email-validator.cabal index c5f7ea2..451a09b 100644 --- a/email-validator.cabal +++ b/email-validator.cabal @@ -1,28 +1,65 @@ name: email-validator -version: 0.0.1 +version: 0.0.4 cabal-version: >= 1.8 author: Michael Orlitzky maintainer: Michael Orlitzky +homepage: http://michael.orlitzky.com/code/email-validator.xhtml +category: Utils +license: AGPL-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.*, - bytestring == 0.10.*, - cmdargs == 0.10.*, - directory == 1.2.*, - dns == 0.3.*, - HUnit == 1.2.*, - parallel-io == 0.3.*, - QuickCheck == 2.6.*, + base < 5, + bytestring >= 0.10, + cmdargs >= 0.10, + directory >= 1.2, + dns >= 2, + email-validate >= 2, + HUnit >= 1.2, + parallel-io >= 0.3, pcre-light >= 0.4, - test-framework == 0.8.*, - test-framework-hunit == 0.3.*, - test-framework-quickcheck2 == 0.3.*, - utf8-string == 0.3.* + tasty >= 0.8, + tasty-hunit >= 0.8 main-is: Main.hs @@ -30,47 +67,68 @@ executable email_validator hs-source-dirs: src/ + other-modules: + CommandLine + EmailAddress + ExitCodes + Paths_email_validator + 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 + -Weverything + -Wno-implicit-prelude + -Wno-safe + -Wno-unsafe + -Wno-all-missed-specialisations -rtsopts -threaded -optc-O3 -optc-march=native -O2 - ghc-prof-options: - -prof - -auto-all - -caf-all - test-suite testsuite type: exitcode-stdio-1.0 hs-source-dirs: src test main-is: TestSuite.hs + build-depends: - base == 4.*, - bytestring == 0.10.*, - cmdargs == 0.10.*, - directory == 1.2.*, - dns == 0.3.*, - HUnit == 1.2.*, - parallel-io == 0.3.*, - QuickCheck == 2.6.*, + base < 5, + bytestring >= 0.10, + cmdargs >= 0.10, + directory >= 1.2, + dns >= 2, + email-validate >= 2, + HUnit >= 1.2, + parallel-io >= 0.3, pcre-light >= 0.4, - test-framework == 0.8.*, - test-framework-hunit == 0.3.*, - test-framework-quickcheck2 == 0.3.*, - utf8-string == 0.3.* + tasty >= 0.8, + tasty-hunit >= 0.8 + + other-modules: + EmailAddress + + -- It's not entirely clear to me why I have to reproduce all of this. + ghc-options: + -Weverything + -Wno-implicit-prelude + -Wno-safe + -Wno-unsafe + -Wno-all-missed-specialisations + -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 < 5, + -- Additional test dependencies. + doctest >= 0.9 -- It's not entirely clear to me why I have to reproduce all of this. ghc-options: @@ -90,7 +148,9 @@ test-suite testsuite -optc-march=native -O2 + + source-repository head type: git - location: http://michael.orlitzky.com/git/email-validator.git + location: http://gitweb.michael.orlitzky.com/email-validator.git branch: master