homebrew-core/Formula/arangodb.rb
2014-11-20 14:02:40 +00:00

82 lines
2.3 KiB
Ruby

require 'formula'
class Arangodb < Formula
homepage 'http://www.arangodb.org/'
url 'https://www.arangodb.com/repositories/Source/ArangoDB-2.3.0.tar.gz'
sha1 '610135105ccc8672715bea37b9b2405f32e57f8c'
head "https://github.com/triAGENS/ArangoDB.git", :branch => 'unstable'
bottle do
sha1 "b71193d1af10ea161baefcc055935b7697cb0b7e" => :yosemite
sha1 "3d7f94564e2dab164e25eb1660d8b14a21dbb7cb" => :mavericks
sha1 "7f691ca2e09f83845a07ebe490dd6c31944b7e97" => :mountain_lion
end
depends_on 'go' => :build
depends_on 'openssl'
needs :cxx11
def install
# clang on 10.8 will still try to build against libstdc++,
# which fails because it doesn't have the C++0x features
# arangodb requires.
ENV.libcxx
# Bundled V8 tries to build with a 10.5 deployment target,
# which causes clang to error out b/c a 10.5 deployment target
# and -stdlib=libc++ are not valid together.
inreplace "3rdParty/V8/build/standalone.gypi",
"'mac_deployment_target%': '10.5',",
"'mac_deployment_target%': '#{MacOS.version}',"
args = %W[
--disable-dependency-tracking
--prefix=#{prefix}
--disable-relative
--enable-all-in-one-icu
--enable-all-in-one-libev
--enable-all-in-one-v8
--enable-mruby
--datadir=#{share}
--localstatedir=#{var}
]
args << "--program-suffix=unstable" if build.head?
system "./configure", *args
system "make install"
(var/'arangodb').mkpath
(var/'log/arangodb').mkpath
end
def post_install
system "#{sbin}/arangod", "--upgrade", "--log.file", "-"
end
plist_options :manual => "#{HOMEBREW_PREFIX}/opt/arangodb/sbin/arangod --log.file -"
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_sbin}/arangod</string>
<string>-c</string>
<string>#{etc}/arangodb/arangod.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
EOS
end
end