homebrew-core/Formula/arangodb.rb
2014-11-30 21:28:13 +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.1.tar.gz'
sha1 '5c87d9b60bf2758829d75336b42e590214dbe9be'
head "https://github.com/triAGENS/ArangoDB.git", :branch => 'unstable'
bottle do
sha1 "c0e375b4c9468ba36c6780b394ceb9968834d02c" => :yosemite
sha1 "0803e2ae467d15172e095b8f726cd98c32c9a6b9" => :mavericks
sha1 "c0e58d4037b833b0aaa6341ad1bf1e1d3eea1134" => :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