homebrew-core/Formula/exim.rb
ilovezfs b60e1801b9 Undo erroneous "(Mac) OS X" to "macOS" changes
Partial revert of 1e62c645b2

Some patches and string replacements were mistakenly modified as part of
the mass substitution of "macOS" for "OS X" and "Mac OS X" references.

Closes #6088.

Signed-off-by: ilovezfs <ilovezfs@icloud.com>
2016-10-19 01:38:38 -07:00

93 lines
3 KiB
Ruby

class Exim < Formula
desc "Complete replacement for sendmail"
homepage "https://exim.org"
url "http://ftp.exim.org/pub/exim/exim4/exim-4.86.2.tar.bz2"
mirror "https://www.mirrorservice.org/sites/ftp.exim.org/pub/exim/exim4/exim-4.86.2.tar.bz2"
sha256 "7756deafd0583776e091f2efcba9b36203e668cf420d8876f314980803636eb3"
bottle do
sha256 "9386715ff3734f8efa535cfd0e4766a248cd2cc48b71cde72292001a1fc208a8" => :el_capitan
sha256 "51d1fda02c60d0e7652c79a0fb92b60ee0b81031cc372b05b5874f74e80c13db" => :yosemite
sha256 "466f841e61afbd9ed4143a19fdff554b57a44591edc22ba5151dc01dcbb77f16" => :mavericks
end
deprecated_option "support-maildir" => "with-maildir"
option "with-maildir", "Support delivery in Maildir format"
depends_on "pcre"
depends_on "berkeley-db4"
depends_on "openssl"
def install
cp "src/EDITME", "Local/Makefile"
inreplace "Local/Makefile" do |s|
s.remove_make_var! "EXIM_MONITOR"
s.change_make_var! "EXIM_USER", ENV["USER"]
s.change_make_var! "SYSTEM_ALIASES_FILE", etc/"aliases"
s.gsub! "/usr/exim/configure", etc/"exim.conf"
s.gsub! "/usr/exim", prefix
s.gsub! "/var/spool/exim", var/"spool/exim"
# https://trac.macports.org/ticket/38654
s.gsub! 'TMPDIR="/tmp"', "TMPDIR=/tmp"
s << "SUPPORT_MAILDIR=yes\n" if build.with? "maildir"
s << "AUTH_PLAINTEXT=yes\n"
s << "SUPPORT_TLS=yes\n"
s << "TLS_LIBS=-lssl -lcrypto\n"
s << "TRANSPORT_LMTP=yes\n"
# For non-/usr/local HOMEBREW_PREFIX
s << "LOOKUP_INCLUDE=-I#{HOMEBREW_PREFIX}/include\n"
s << "LOOKUP_LIBS=-L#{HOMEBREW_PREFIX}/lib\n"
end
bdb4 = Formula["berkeley-db4"]
inreplace "OS/Makefile-Darwin" do |s|
s.remove_make_var! %w[CC CFLAGS]
# Add include and lib paths for BDB 4
s.gsub! "# Exim: OS-specific make file for Darwin (Mac OS X).", "INCLUDE=-I#{bdb4.include}"
s.gsub! "DBMLIB =", "DBMLIB=#{bdb4.lib}/libdb-4.dylib"
end
# The compile script ignores CPPFLAGS
ENV.append "CFLAGS", ENV.cppflags
ENV.j1 # See: https://lists.exim.org/lurker/thread/20111109.083524.87c96d9b.en.html
system "make"
system "make", "INSTALL_ARG=-no_chown", "install"
man8.install "doc/exim.8"
(bin/"exim_ctl").write startup_script
end
# Inspired by MacPorts startup script. Fixes restart issue due to missing setuid.
def startup_script; <<-EOS.undent
#!/bin/sh
PID=#{var}/spool/exim/exim-daemon.pid
case "$1" in
start)
echo "starting exim mail transfer agent"
#{bin}/exim -bd -q30m
;;
restart)
echo "restarting exim mail transfer agent"
/bin/kill -15 `/bin/cat $PID` && sleep 1 && #{bin}/exim -bd -q30m
;;
stop)
echo "stopping exim mail transfer agent"
/bin/kill -15 `/bin/cat $PID`
;;
*)
echo "Usage: #{bin}/exim_ctl {start|stop|restart}"
exit 1
;;
esac
EOS
end
def caveats; <<-EOS.undent
Start with:
exim_ctl start
Don't forget to run it as root to be able to bind port 25.
EOS
end
end