homebrew-core/Formula/memcached.rb
Rob Hunter e364567b83 memcached listens on 'localhost' (ipv4 and ipv6)
Some client libraries (at least Ruby's 'dalli')
tried to connect to localhost, which resolved
to IPv6 first, which wasn't listening.

Listening to 'localhost' seems to cover anything
listed in /etc/hosts.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2011-03-01 08:09:25 -08:00

62 lines
1.5 KiB
Ruby

require 'formula'
class Memcached <Formula
url "http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz"
homepage 'http://www.danga.com/memcached/'
sha1 'c7d6517764b82d23ae2de76b56c2494343c53f02'
depends_on 'libevent'
def options
[
["--enable-sasl", "Enable SASL support -- disables ASCII protocol!"],
]
end
def install
args = ["--prefix=#{prefix}"]
args << "--enable-sasl" if ARGV.include? "--enable-sasl"
system "./configure", *args
system "make install"
(prefix+'com.danga.memcached.plist').write startup_plist
end
def caveats; <<-EOS
You can enabled memcached to automatically load on login with:
cp #{prefix}/com.danga.memcached.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/com.danga.memcached.plist
Or start it manually:
#{HOMEBREW_PREFIX}/bin/memcached
Add "-d" to start it as a daemon.
EOS
end
def startup_plist
return <<-EOPLIST
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.danga.memcached</string>
<key>KeepAlive</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>#{HOMEBREW_PREFIX}/bin/memcached</string>
<string>-l</string>
<string>localhost</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>#{HOMEBREW_PREFIX}</string>
</dict>
</plist>
EOPLIST
end
end