53 lines
2 KiB
Ruby
53 lines
2 KiB
Ruby
require 'formula'
|
|
|
|
class Disco < Formula
|
|
homepage 'http://discoproject.com/'
|
|
url 'git://github.com/tuulos/disco.git', :tag => '0.3.1'
|
|
# Periods in the install path cause disco-worker to complain so change to underscores.
|
|
version '0_3_1'
|
|
head 'git://github.com/tuulos/disco.git'
|
|
|
|
depends_on 'erlang'
|
|
depends_on 'simplejson' => :python if MACOS_VERSION < 10.6
|
|
depends_on 'libcmph'
|
|
|
|
def install
|
|
inreplace "Makefile", "DESTDIR=/", "DESTDIR=#{prefix}"
|
|
inreplace "Makefile", "PREFIX=/usr/local", "PREFIX="
|
|
inreplace "Makefile", "DISCO_ROOT = $(DESTDIR)/srv/disco/", "DISCO_ROOT = #{var}/disco/"
|
|
|
|
# add some helpful config for local development
|
|
inreplace "conf/gen.settings.sys-Darwin", "${DESTDIR}", HOMEBREW_PREFIX
|
|
inreplace "conf/gen.settings.sys-Darwin", "DDFS_TAG_MIN_REPLICAS = 3", "DDFS_TAG_MIN_REPLICAS = 1"
|
|
inreplace "conf/gen.settings.sys-Darwin", "DDFS_TAG_REPLICAS = 3", "DDFS_TAG_REPLICAS = 1"
|
|
inreplace "conf/gen.settings.sys-Darwin", "DDFS_BLOB_REPLICAS = 3", "DDFS_BLOB_REPLICAS = 1\n" +
|
|
"DISCO_MASTER_HOST = 'localhost'\n" +
|
|
"DISCODEX_HOME = os.path.join(os.path.dirname(DISCO_HOME), 'discodex')"
|
|
|
|
system "make"
|
|
system "make install"
|
|
ENV.delete('CC')
|
|
system "make install-discodb install-discodex"
|
|
bin.install('contrib/discodex/bin/discodex')
|
|
bin.install('contrib/discodex/bin/discodexcli.py')
|
|
prefix.install Dir['node']
|
|
prefix.install Dir['examples']
|
|
prefix.install Dir['contrib']
|
|
prefix.install Dir['doc']
|
|
end
|
|
|
|
def caveats
|
|
s = <<-EOS.undent
|
|
Please symlink #{etc}/disco/settings.py to ~/.disco and edit accordingly:
|
|
$ ln -s #{etc}/disco/settings.py ~/.disco
|
|
|
|
To run the discodex server for development:
|
|
$ cd #{prefix}/contrib/discodex/www
|
|
$ ./manage.py runserver 8080
|
|
|
|
DDFS_*_REPLICA settings have been set to 1 assuming a single-machine install.
|
|
Please see http://discoproject.org/doc/start/install.html for further instructions.
|
|
EOS
|
|
return s
|
|
end
|
|
end
|