59 lines
1.6 KiB
Ruby
59 lines
1.6 KiB
Ruby
require 'formula'
|
|
|
|
class NoBdb5 < Requirement
|
|
# Not fatal in case Squid starts working with a newer version of BDB.
|
|
fatal false
|
|
|
|
satisfy(:build_env => false) { !Formula.factory("berkeley-db").installed? }
|
|
|
|
def message; <<-EOS.undent
|
|
This software can fail to compile when Berkeley-DB 5.x is installed.
|
|
You may need to try:
|
|
brew unlink berkeley-db
|
|
brew install squid
|
|
brew link berkeley-db
|
|
EOS
|
|
end
|
|
end
|
|
|
|
class Squid < Formula
|
|
homepage 'http://www.squid-cache.org/'
|
|
url 'http://www.squid-cache.org/Versions/v3/3.2/squid-3.2.5.tar.gz'
|
|
sha1 '17c6f03ca90b0918b847e9e34669ba827da7edba'
|
|
|
|
depends_on NoBdb5.new
|
|
|
|
def install
|
|
system "./configure", "--disable-debug", "--disable-dependency-tracking",
|
|
"--prefix=#{prefix}",
|
|
"--localstatedir=#{var}"
|
|
system "make install"
|
|
end
|
|
|
|
def plist; <<-EOS.undent
|
|
<?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>KeepAlive</key>
|
|
<true/>
|
|
<key>Label</key>
|
|
<string>#{plist_name}</string>
|
|
<key>ProgramArguments</key>
|
|
<array>
|
|
<string>#{opt_prefix}/sbin/squid</string>
|
|
<string>-N</string>
|
|
<string>-d 1</string>
|
|
<string>-D</string>
|
|
</array>
|
|
<key>RunAtLoad</key>
|
|
<true/>
|
|
<key>UserName</key>
|
|
<string>#{`whoami`.chomp}</string>
|
|
<key>WorkingDirectory</key>
|
|
<string>#{var}</string>
|
|
</dict>
|
|
</plist>
|
|
EOS
|
|
end
|
|
end
|