aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Darrington <jmd@gnu.org>2016-09-16 16:57:29 +0200
committerJohn Darrington <jmd@gnu.org>2016-09-18 09:40:44 +0200
commit5d87088c3921b7f240eb71223e2e078d39ba1bf5 (patch)
tree7d3935550402f8bbd0735df2789202c9ee20c218
parent4efb9c547870c61ef8971a28e6ccfaef38335ddb (diff)
downloadgnu-guix-5d87088c3921b7f240eb71223e2e078d39ba1bf5.tar
gnu-guix-5d87088c3921b7f240eb71223e2e078d39ba1bf5.tar.gz
gnu: Add sendmail
* gnu/packages/mail.scm (sendmail): New variable.
-rw-r--r--gnu/packages/mail.scm83
1 files changed, 83 insertions, 0 deletions
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index e344683af7..c81dd09212 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -18,6 +18,7 @@
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1410,3 +1411,85 @@ provides HTML mail archiving with index, mail thread linking,
etc; plus other capabilities including support for MIME and
powerful user customization features.")
(license gpl2+)))
+
+
+(define-public sendmail
+ (package
+ (name "sendmail")
+ (version "8.15.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "ftp://ftp.sendmail.org/pub/sendmail/sendmail."
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0fdl9ndmspqspdlmghzxlaqk56j3yajk52d7jxcg21b7sxglpy94"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'replace-/bin/sh
+ (lambda _
+ (substitute*
+ (append
+ (list "smrsh/smrsh.c" "sendmail/conf.c" "contrib/mailprio"
+ "contrib/mmuegel" "devtools/bin/configure.sh")
+ (find-files "." ".*\\.m4")
+ (find-files "." ".*\\.cf"))
+ (("/bin/sh") (which "bash")))
+
+ (substitute* "devtools/bin/Build"
+ (("SHELL=/bin/sh") (string-append "SHELL=" (which "bash"))))
+ #t))
+ (replace 'configure
+ (lambda _
+
+ ;; Render harmless any attempts to chown or chgrp
+ (substitute* "devtools/bin/install.sh"
+ (("owner=\\$2") "owner=''")
+ (("group=\\$2") "group=''"))
+
+ (with-output-to-file "devtools/Site/site.config.m4"
+ (lambda ()
+ (format #t "
+define(`confCC', `gcc')
+define(`confOPTIMIZE', `-g -O2')
+define(`confLIBS', `-lresolv')
+define(`confINSTALL', `~a/devtools/bin/install.sh')
+define(`confDEPEND_TYPE', `CC-M')
+define(`confINST_DEP', `')
+" (getcwd))))))
+ (replace 'build
+ (lambda _
+ (and (zero? (system* "sh" "Build"))
+ (with-directory-excursion "cf/cf"
+ (begin
+ (copy-file "generic-linux.mc" "sendmail.mc")
+ (zero? (system* "sh" "Build" "sendmail.cf")))))))
+ (add-before 'install 'pre-install
+ (lambda _
+ (let ((out (assoc-ref %outputs "out")))
+ (mkdir-p (string-append out "/usr/bin"))
+ (mkdir-p (string-append out "/usr/sbin"))
+ (mkdir-p (string-append out "/etc/mail"))
+ (setenv "DESTDIR" out)
+ (with-directory-excursion "cf/cf"
+ (zero? (system* "sh" "Build" "install-cf")))))))
+ ;; There is no make check. There are some post installation tests, but those
+ ;; require root privileges
+ #:tests? #f))
+ (inputs
+ `(("m4" ,m4)
+ ("perl" ,perl)))
+ (home-page "http://sendmail.org")
+ (synopsis
+ "Highly configurable Mail Transfer Agent (MTA)")
+ (description
+ "Sendmail is a mail transfer agent (MTA) originally developed by Eric
+Allman. It is highly configurable and supports many delivery methods and many
+transfer protocols.")
+ (license (non-copyleft "file://LICENSE"
+ "See LICENSE in the distribution."))))
+