# Available variables
# $BOSH_COMPILE_TARGET - where this package & spec'd source files are available
# $BOSH_INSTALL_TARGET - where you copy/install files to be included in package

set -e # exit immediately if a simple command exits with a non-zero status
set -u # report the usage of uninitialized variables

# Detect # of CPUs so make jobs can be parallelized
CPUS=$(grep -c ^processor /proc/cpuinfo)

export HOME=/var/vcap
export RUBY_VERSION=`ls -r ruby/ruby-* | sed 's/ruby\/ruby-\(.*\)\.tar\.gz/\1/' | head -1`
export RUBYGEMS_VERSION=`ls -r ruby/rubygems-* | sed 's/ruby\/rubygems-\(.*\)\.tgz/\1/' | head -1`
export BUNDLER_VERSION=`ls -r ruby/bundler-* | sed 's/ruby\/bundler-\(.*\)\.gem/\1/' | head -1`
export LIBYAML_PATH=/var/vcap/packages/libyaml
export ZLIB_PATH=/var/vcap/packages/zlib

# compile and install ruby
echo "Compiling and installing ruby..."
tar xfz ruby/ruby-$RUBY_VERSION.tar.gz
cd ruby-$RUBY_VERSION
./configure --prefix=${BOSH_INSTALL_TARGET} --enable-shared --disable-install-doc --with-opt-dir=$LIBYAML_PATH --with-opt-dir=$ZLIB_PATH
make -j${CPUS} && make install
echo "Finished installing ruby."
cd ..

# compile and install rubygems
echo "Installing rubygems..."
tar xfz ruby/rubygems-$RUBYGEMS_VERSION.tgz
cd rubygems-$RUBYGEMS_VERSION
${BOSH_INSTALL_TARGET}/bin/ruby setup.rb
if [[ $? != 0 ]] ; then
  echo "Cannot install rubygems"
  exit 1
fi
echo "Finished installing rubygems."
cd ..

# install the bundler version
${BOSH_INSTALL_TARGET}/bin/gem install ruby/bundler-${BUNDLER_VERSION}.gem --no-ri --no-rdoc
