summaryrefslogtreecommitdiff
path: root/utils.sh
diff options
context:
space:
mode:
Diffstat (limited to 'utils.sh')
-rwxr-xr-xutils.sh73
1 files changed, 58 insertions, 15 deletions
diff --git a/utils.sh b/utils.sh
index 04426d9..7f0e387 100755
--- a/utils.sh
+++ b/utils.sh
@@ -9,37 +9,80 @@ check_dest()
fi
[ -d "$HOME/.opentox" ] || mkdir -p "$HOME/.opentox"
if ! [ -d "$HOME/.opentox" ]; then
- echo "Could not create .opentox directory! Aborting..."
+ echo "Could not create CONFIG (~/.opentox) directory! Aborting..."
exit 1
fi
}
run_cmd ()
{
- local cmd="$1"
- local title="$2"
-
- printf "%30s" "'$title'"
+ local cmd="$1"; local title="$2"
+ printf "%50s" "'$title'"
if ! eval $cmd >>$LOG 2>&1 ; then
- printf "%50s\n" "FAIL"
+ printf "\033[31m%30s\033[m\n" "FAIL"
echo "Last 10 lines of log:"
tail -10 "$LOG"
exit 1
fi
- printf "%50s\n" "DONE"
+ printf "\033[32m%30s\033[m\n" "DONE"
+}
+
+check_utils() {
+ for u in $1; do
+ eval `echo $u | tr "[:lower:]" "[:upper:]" | tr "-" "_"`=`which $u` || (echo "'$u' missing. Install '$u' first." 1>&2 && exit 1)
+ done
}
-abs_path()
-{
- local path="$1"
- case "$path" in
- /*) absolute=1 ;;
- *) absolute=0 ;;
- esac
+
+install_ruby() {
+ printf "\n%50s\n" "RUBY"
+ local DIR=`pwd`
+ check_utils "rbenv curl make"
+ if ! $RBENV versions $RUBY_VER | grep $RUBY_VER>/dev/null 2>&1; then
+ [ -d $DIR/tmp ] || mkdir -p $DIR/tmp && cd $DIR/tmp
+ ([ -d $DIR/tmp/ruby-$RUBY_VER ] || $CURL $RUBY_DWL/ruby-$RUBY_VER.tar.gz 2>/dev/null | tar xz) && cd ruby-$RUBY_VER
+ cmd="./configure --prefix=$RUBY_DIR" && run_cmd "$cmd" "Configure"
+ cmd="$MAKE -j2" && run_cmd "$cmd" "Make"
+ cmd="$MAKE install" && run_cmd "$cmd" "Install"
+ fi
+ cd $DIR
+ cmd="$RBENV rehash" && run_cmd "$cmd" "Rbenv rehash"
+ cmd="$RBENV local $RUBY_VER" && run_cmd "$cmd" "Rbenv set ruby"
}
-. "`pwd`/config.sh"
+
+install_ob_ruby() {
+ printf "\n%50s\n" "OB RUBY BINDINGS"
+ local DIR=`pwd`
+ check_utils "rbenv make"
+ SRC_DIR=$(dirname $(find $OT_PREFIX -name openbabel-ruby.cpp))
+ [ -d "$SRC_DIR" ] || (echo "Sources not found." 1>&2 && exit 1)
+ cd $SRC_DIR
+ cmd="$RBENV local $RUBY_VER" && run_cmd "$cmd" "Configure Ruby"
+ sed -i 's/Init_OpenBabel/Init_openbabel/g' openbabel-ruby.cpp # apply fix
+ cmd="ruby extconf.rb --with-openbabel-include=../../include --with-openbabel-lib=../../src/.libs" && run_cmd "$cmd" "Extconf ruby bindings"
+ cmd="$MAKE" && run_cmd "$cmd" "Make OB ruby bindings"
+ cmd="$MAKE install" && run_cmd "$cmd" "Install OB ruby bindings"
+ cd $DIR
+ cmd="$RBENV rehash" && run_cmd "$cmd" "Rbenv rehash"
+}
+
+
+install_with_bundler() {
+ printf "\n%50s\n" "INSTALL"
+ check_utils "gem rbenv"
+ $GEM list | grep bundler >/dev/null 2>&1 || (cmd="$GEM install bundler" && run_cmd "$cmd" "Install bundler")
+ cmd="$RBENV rehash" && run_cmd "$cmd" "Rbenv rehash"
+ cmd="bundle install" && run_cmd "$cmd" "Install using bundler"
+}
+
+
+if [ -z "$OT_PREFIX" ]; then
+ . ./config.sh
+else
+ . $HOME/.opentox/config/install/config.sh
+fi
check_dest
touch "$OT_UI_CONF"
. "$OT_UI_CONF" 2>/dev/null