2012-05-26 19:09:34 +00:00
|
|
|
require 'formula'
|
|
|
|
|
|
|
|
class ErlangInstalled < Requirement
|
2013-01-19 01:30:43 +00:00
|
|
|
fatal true
|
|
|
|
|
2013-06-13 07:59:13 +00:00
|
|
|
satisfy {
|
|
|
|
which 'erl' and begin
|
|
|
|
`erl -noshell -eval 'io:fwrite("~s~n", [erlang:system_info(otp_release)]).' -s erlang halt | grep -q '^R1[6789]'`
|
|
|
|
$?.exitstatus == 0
|
|
|
|
end
|
|
|
|
}
|
2013-01-20 02:45:59 +00:00
|
|
|
|
2012-05-26 19:09:34 +00:00
|
|
|
def message; <<-EOS.undent
|
2013-05-23 16:35:26 +00:00
|
|
|
Erlang R16 is required to install.
|
2012-05-26 19:09:34 +00:00
|
|
|
|
|
|
|
You can install this with:
|
2013-05-23 16:35:26 +00:00
|
|
|
brew tap homebrew/versions
|
|
|
|
brew unlink erlang
|
|
|
|
brew install erlang-r16
|
2012-05-26 19:09:34 +00:00
|
|
|
|
|
|
|
Or you can use an official installer from:
|
|
|
|
http://www.erlang.org/
|
|
|
|
EOS
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
class Elixir < Formula
|
|
|
|
homepage 'http://elixir-lang.org/'
|
2013-06-23 22:08:49 +00:00
|
|
|
url 'https://github.com/elixir-lang/elixir/archive/v0.9.3.tar.gz'
|
|
|
|
sha1 'd0d848b14b41884efc4a968bb537c98f4b556d17'
|
2012-05-26 19:09:34 +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
|
|
|
|
2013-01-27 22:42:47 +00:00
|
|
|
depends_on ErlangInstalled
|
2012-05-26 19:09:34 +00:00
|
|
|
|
2012-10-03 13:55:31 +00:00
|
|
|
env :userpaths
|
|
|
|
|
2012-05-26 19:09:34 +00:00
|
|
|
def install
|
|
|
|
system "make"
|
|
|
|
bin.install Dir['bin/*'] - Dir['bin/*.bat']
|
2012-08-01 06:58:27 +00:00
|
|
|
|
|
|
|
Dir['lib/*/ebin'].each do |path|
|
|
|
|
app = File.basename(File.dirname(path))
|
2012-09-04 17:57:38 +00:00
|
|
|
(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
|