diaspora/INSTALL_ON_OSX
2011-05-14 18:42:15 -07:00

80 lines
2.4 KiB
Text

#to make this work, run
#rake install --rakefile INSTALL_ON_OSX
require 'rake'
task :install do
puts "this currently is untested, prepare for tragedy"
BREW_INSTALLED = installed?('brew')
RVM_INSTALLED = installed?('rvm')
MYSQL_INSTALLED = installed?('mysql')
REDIS_INSTALLED = installed?('redis-server')
IMAGEMAGICK_INSTALLED = installed?('mogrify')
unless BREW_INSTALLED
puts "Installing homebrew..."
`ruby -e "$(curl -fsSL https://gist.github.com/raw/323731/install_homebrew.rb)`
`brew update`
end
puts "homebrew is installed. Great job!"
unless RVM_INSTALLED
puts "Installing rvm..."
system("bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)")
system("echo '[[ -s \"$HOME/.rvm/scripts/rvm\" ]] && . \"$HOME/.rvm/scripts/rvm\" # Load RVM function' >> ~/.bash_profile")
system("source ~/.bash_profile")
if `type rvm | head -1` != "rvm is a function"
puts "meh, rvm install failed."
Process.exit
end
end
puts "rvm is installed. Great job!"
puts "Installing ruby enterprise edition (ree)..."
system("rvm install ree")
$stdout.flush
puts "Setting up your gemset and .rvmrc..."
system("rvm use ree")
system("rvm gemset create diaspora")
system("echo 'rvm use ree@diaspora' >> .rvmrc")
system("cd config && cd ..")
puts "Done installing ree, creating gemset, and setting up .rvmrc!"
unless IMAGEMAGICK_INSTALLED
puts 'Installing imagemagick...'
system("brew install imagemagick")
end
puts 'imagemagick is installed. Great job!'
unless MYSQL_INSTALLED
puts 'Installing mysql...'
system("brew install mysql")
puts 'Configuring for first time use. Type in your Mac password when it asks.'
system("unset TMPDIR")
system("sudo mysql_install_db --verbose --user=`whoami` --basedir=\"$(brew --prefix mysql)\" --datadir=/usr/local/var/mysql --tmpdir=/tmp")
end
puts 'mysql is installed. Great job!'
unless REDIS_INSTALLED
puts 'Installing redis...'
system("brew install redis")
end
puts 'redis is installed. Great job!'
puts 'Installing bundler...'
system("gem install bundler")
puts 'bundler is installed. Great Job!'
puts 'Installing diaspora gems...'
system("bundle install")
puts 'Assuming there were no errors, run script/server and you should be good to go!'
end
def installed?(program)
`which #{program}`=='' ? false : true
end