Subject: [PATCH] gnu: Add swaks.

From: Arun Isaac <[email-masked]>
Date: Tue, 21 Mar 2017 17:33:39 +0530

* gnu/packages/mail.scm (swaks): New variable.
---
 gnu/packages/mail.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 53 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 3bf0e6647..b31cf0252 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -17,7 +17,7 @@
 ;;; Copyright © 2016 Troy Sankey <[email-masked]>
 ;;; Copyright © 2016, 2017 <[email-masked]>
 ;;; Copyright © 2016 Clément Lassieur <[email-masked]>
-;;; Copyright © 2016 Arun Isaac <[email-masked]>
+;;; Copyright © 2016, 2017 Arun Isaac <[email-masked]>
 ;;; Copyright © 2016 John Darrington <[email-masked]>
 ;;; Copyright © 2016 Marius Bakke <[email-masked]>
 ;;; Copyright © 2017 Thomas Danckaert <[email-masked]>
@@ -2093,3 +2093,55 @@ indexed mbox files.  There are two programs: @code{bindex} and @code{bit}.
 are supported).  @code{bit} is a CGI/SSI program that generates web pages
 on the fly.  Both programs are written in C and are very fast.")
     (license license:expat)))
+
+(define-public swaks
+  (package
+    (name "swaks")
+    (version "20170101.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "http://jetmore.org/john/code/swaks/files/swaks-"
+             version ".tar.gz"))
+       (sha256
+        (base32
+         "0pli4mlhasnqqxmmxalwyg3x7n2vhcbgsnp2xgddamjavv82vrl4"))))
+    (build-system perl-build-system)
+    (inputs
+     `(("perl-net-dns" ,perl-net-dns)
+       ("perl-net-ssleay" ,perl-net-ssleay)))
+    (arguments
+     `(#:tests? #f ; No tests
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'build
+                  (lambda _
+                    (zero? (system* "pod2man" "doc/ref.pod" "swaks.1"))))
+         (replace 'install
+                  (lambda _
+                    (let* ((out (assoc-ref %outputs "out"))
+                           (bin (string-append out "/bin"))
+                           (man (string-append out "/share/man/man1")))
+                      (mkdir-p bin)
+                      (install-file "swaks" bin)
+                      (mkdir-p man)
+                      (install-file "swaks.1" man))))
+         (add-after 'install 'wrap-program
+                    (lambda _
+                      (wrap-program (string-append (assoc-ref %outputs "out")
+                                                   "/bin/swaks")
+                        `("PERL5LIB" ":" = (,(getenv "PERL5LIB")))))))))
+    (home-page "http://jetmore.org/john/code/swaks/")
+    (synopsis "Featureful, flexible, scriptable, transaction-oriented SMTP
+test tool")
+    (description "Swaks is a flexible, scriptable, transaction-oriented SMTP
+test tool.  It handles SMTP features and extensions such as TLS,
+authentication, and pipelining; multiple version of the SMTP protocol
+including SMTP, ESMTP, and LMTP; and multiple transport methods including
+unix-domain sockets, internet-domain sockets, and pipes to spawned processes.
+Options can be specified in environment variables, configuration files, and
+the command line allowing maximum configurability and ease of use for
+operators and scripters.")
+    (license gpl2+)))
-- 
2.11.0