]> gitweb.michael.orlitzky.com - email-validator.git/blobdiff - email-validator.cabal
email-validator.cabal: enable more compiler warnings.
[email-validator.git] / email-validator.cabal
index 6bd5caf977c1cdbf6630c772acddae44613f6084..451a09bd11436986a03a83492749bae04a030d91 100644 (file)
@@ -1,24 +1,65 @@
 name:           email-validator
-version:        0.0.1
+version:        0.0.4
 cabal-version:  >= 1.8
 author:         Michael Orlitzky
 maintainer:    Michael Orlitzky <michael@orlitzky.com>
+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.*,
-    dns                         == 0.3.*,
-    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.*
+    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,
+    tasty                       >= 0.8,
+    tasty-hunit                 >= 0.8
 
   main-is:
     Main.hs
@@ -26,46 +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
-    -funbox-strict-fields
-    -fexcess-precision
-    -fno-spec-constr-count
+    -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.*,
-    dns                         == 0.3.*,
-    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.*
+    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,
+    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:
@@ -79,16 +142,15 @@ 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
+  location: http://gitweb.michael.orlitzky.com/email-validator.git
   branch: master