X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=email-validator.cabal;h=24287a7377c3283706d4628a714876a570fdab4e;hb=da16d4008b48e054104d0d186f47c6382f280b06;hp=7ccf0f0dd14cc056b636861515eb05e1baa06718;hpb=a5e228280dfbdbd8f2b1f271adb362fee1a43de4;p=email-validator.git diff --git a/email-validator.cabal b/email-validator.cabal index 7ccf0f0..24287a7 100644 --- a/email-validator.cabal +++ b/email-validator.cabal @@ -1,10 +1,12 @@ +cabal-version: 3.0 name: email-validator -version: 0.0.1 -cabal-version: >= 1.8 +version: 1.0.1 author: Michael Orlitzky maintainer: Michael Orlitzky +homepage: http://michael.orlitzky.com/code/email-validator.xhtml +bug-reports: mailto:michael@orlitzky.com category: Utils -license: GPL-3 +license: AGPL-3.0-only license-file: doc/LICENSE build-type: Simple extra-source-files: @@ -12,22 +14,54 @@ extra-source-files: synopsis: Perform basic syntax and deliverability checks on email addresses. description: - Perform basic syntax and deliverability checks on email addresses. + 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 +RTS -N25 < addresses.csv + @ + + /Input/ + + The @input@ (via stdin) should be a list of email addresses, + one per line. Empty lines will be ignored. + + /Output/ + + Valid email addresses will be written to 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.*, + base >= 4.15 && < 5, + bytestring >= 0.10, + cmdargs >= 0.10, + 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.*, - utf8-string == 0.3.* + tasty >= 0.8, + tasty-hunit >= 0.8 + + default-language: + Haskell2010 main-is: Main.hs @@ -38,67 +72,43 @@ executable email_validator other-modules: CommandLine EmailAddress - ExitCodes - - 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 - - ghc-prof-options: - -prof - -auto-all - -caf-all + Paths_email_validator + + autogen-modules: + Paths_email_validator test-suite testsuite type: exitcode-stdio-1.0 hs-source-dirs: src test + default-language: Haskell2010 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.*, + base >= 4.15 && < 5, + bytestring >= 0.10, + email-validate >= 2, + HUnit >= 1.2, pcre-light >= 0.4, - test-framework == 0.8.*, - test-framework-hunit == 0.3.*, - utf8-string == 0.3.* - - -- 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 + tasty >= 0.8, + tasty-hunit >= 0.8 + + other-modules: + EmailAddress + + +test-suite doctests + type: exitcode-stdio-1.0 + hs-source-dirs: test + default-language: Haskell2010 + main-is: Doctests.hs + build-depends: + base >= 4.15 && < 5, + -- Additional test dependencies. + doctest >= 0.9 + 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