aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula/rabbitmq.rb
blob: 875113b0ceef1c3f0b4c919f3a66e6701f294b4e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
require 'formula'

class Rabbitmq <Formula
  homepage 'http://rabbitmq.com'
  url 'http://www.rabbitmq.com/releases/rabbitmq-server/v1.7.0/rabbitmq-server-1.7.0.tar.gz'
  md5 '4505ca0fd8718439bd6f5e2af2379e56'

  depends_on 'erlang'
  depends_on 'simplejson' => :python if MACOS_VERSION < 10.6

  def install
    erlang_libdir = lib + "rabbitmq" + "erlang" + "lib"
    target_dir = "#{erlang_libdir}/rabbitmq-#{version}"
    system "make"
    ENV['TARGET_DIR'] = target_dir
    ENV['MAN_DIR'] = man
    ENV['SBIN_DIR'] = sbin
    system "make install"

    (etc + "rabbitmq").mkpath
    (var + "lib" + "rabbitmq").mkpath
    (var + "log" + "couchdb").mkpath

    %w{rabbitmq-server rabbitmq-multi rabbitmqctl rabbitmq-env}.each do |script|
      inreplace sbin+script do |contents|
        contents.gsub! '/etc/rabbitmq', "#{etc}/rabbitmq"
        contents.gsub! '/var/((log|lib)/rabbitmq)', "#{var}/\1"
      end
    end

    # RabbitMQ Erlang binaries are installed in lib/rabbitmq/erlang/lib/rabbitmq-x.y.z/ebin
    # therefore need to add this path for erl -pa
    inreplace sbin+'rabbitmq-env', '${SCRIPT_DIR}/..', "#{target_dir}"
  end
end