homebrew-core/Formula/arangodb.rb
2014-10-22 15:57:15 +01:00

82 lines
2.3 KiB
Ruby

require 'formula'
class Arangodb < Formula
homepage 'http://www.arangodb.org/'
url 'https://www.arangodb.org/repositories/Source/ArangoDB-2.2.6.tar.gz'
sha1 '5e777db1dca878e9aaa518889b989126e368492d'
head "https://github.com/triAGENS/ArangoDB.git", :branch => 'unstable'
bottle do
sha1 "5581f21092850e71478a67d7724ae0666e28208a" => :yosemite
sha1 "3638cdf2e0c695eb75ad2a5f2ed6893eff2771f4" => :mavericks
sha1 "0d3e14d0d0457f096ce307780c27577a9581e01d" => :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