2012-05-26 19:09:34 +00:00
|
|
|
require 'formula'
|
|
|
|
|
2013-09-05 15:04:14 +00:00
|
|
|
class ErlangInstalled < Requirement
|
|
|
|
fatal true
|
|
|
|
env :userpaths
|
2014-06-16 15:06:55 +00:00
|
|
|
default_formula "erlang"
|
2013-09-05 15:04:14 +00:00
|
|
|
|
|
|
|
satisfy {
|
|
|
|
erl = which('erl') and begin
|
2014-04-21 17:08:52 +00:00
|
|
|
`#{erl} -noshell -eval 'io:fwrite("~s~n", [erlang:system_info(otp_release)]).' -s erlang halt | grep -q '^1[789]'`
|
2013-09-05 15:04:14 +00:00
|
|
|
$?.exitstatus == 0
|
|
|
|
end
|
|
|
|
}
|
|
|
|
|
|
|
|
def message; <<-EOS.undent
|
2014-04-21 17:08:52 +00:00
|
|
|
Erlang 17 is required to install.
|
2013-09-05 15:04:14 +00:00
|
|
|
|
|
|
|
You can install this with:
|
2014-06-16 15:06:55 +00:00
|
|
|
brew install erlang
|
2013-09-05 15:04:14 +00:00
|
|
|
|
|
|
|
Or you can use an official installer from:
|
|
|
|
http://www.erlang.org/
|
|
|
|
EOS
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2012-05-26 19:09:34 +00:00
|
|
|
class Elixir < Formula
|
|
|
|
homepage 'http://elixir-lang.org/'
|
2015-04-07 21:45:13 +00:00
|
|
|
url 'https://github.com/elixir-lang/elixir/archive/v1.0.4.tar.gz'
|
|
|
|
sha1 '6a2513aeb45f3e79782ec2900cfdc3a1d48fdb3d'
|
2014-08-30 20:42:30 +00:00
|
|
|
|
2013-01-28 17:23:25 +00:00
|
|
|
head 'https://github.com/elixir-lang/elixir.git'
|
2012-05-26 19:09:34 +00:00
|
|
|
|
2014-06-29 10:06:37 +00:00
|
|
|
bottle do
|
2015-04-07 22:02:24 +00:00
|
|
|
sha256 "537d5760fbd780fef37a27872f1ee4d93b073a9a466a03c1f5834a804ece0275" => :yosemite
|
|
|
|
sha256 "5aa31b974c75e1d97db4be2e88ee2a34f0518ef183471f18b0225604b362b39a" => :mavericks
|
|
|
|
sha256 "3021ac2b3fe0aae5dfb7bb03d057ccd7df5bb9b733de35399ff7a431cae622ee" => :mountain_lion
|
2014-06-29 10:06:37 +00:00
|
|
|
end
|
|
|
|
|
2013-09-05 15:04:14 +00:00
|
|
|
depends_on ErlangInstalled
|
2012-10-03 13:55:31 +00:00
|
|
|
|
2012-05-26 19:09:34 +00:00
|
|
|
def install
|
|
|
|
system "make"
|
2014-06-18 14:21:22 +00:00
|
|
|
bin.install Dir['bin/*'] - Dir['bin/*.{bat,ps1}']
|
2012-08-01 06:58:27 +00:00
|
|
|
|
2014-05-31 15:00:24 +00:00
|
|
|
Dir.glob("lib/*/ebin") do |path|
|
2013-09-05 20:25:42 +00:00
|
|
|
app = File.basename(File.dirname(path))
|
|
|
|
(lib/app).install path
|
2012-08-01 06:58:27 +00:00
|
|
|
end
|
2012-05-26 19:09:34 +00:00
|
|
|
end
|
|
|
|
|
2013-03-25 18:34:48 +00:00
|
|
|
test do
|
|
|
|
system "#{bin}/elixir", "-v"
|
2012-05-26 19:09:34 +00:00
|
|
|
end
|
|
|
|
end
|