summaryrefslogtreecommitdiff
path: root/openbabel.sh
blob: 552851c4fd27e8a61ec029fca1a815942311af80 (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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/bin/sh

# Installs Openbabel.
# Author: Christoph Helma, Andreas Maunz.
# A configuration file is created and included in your 'OT_UI_CONF' (see config.sh).

. "`pwd`/utils.sh"
DIR="`pwd`"
OB_DWL="http://downloads.sourceforge.net/sourceforge/openbabel/$OB_NUM_VER/$OB_VER.tar.gz"

[ "`id -u`" = "0" ] && echo "This script must be run as non-root." 1>&2 && exit 1

# check utils
utils="curl cmake"
for u in $utils; do
  eval `echo $u | tr "[:lower:]" "[:upper:]"`=`which $u` || (echo "'$u' missing. Install '$u' first." 1>&2 && exit 1)
done

# check openbabel
LOG="$OT_PREFIX/tmp/`basename $0`-log.txt"
echo
echo "Openbabel ('$OB_DEST', '$LOG'):"
mkdir "$OB_DEST" >/dev/null 2>&1
if [ ! -d "$OB_DEST" ]; then
  echo "Install directory '$OB_DEST' is not available! Aborting..."
  exit 1
else
  if ! rmdir "$OB_DEST" >/dev/null 2>&1; then # if not empty this will fail
    OB_DONE=true
  fi
fi

if [ ! $OB_DONE ]; then
  cd "$OT_PREFIX/tmp">>$LOG 2>/dev/null
  ([ -d "$OT_PREFIX/tmp/$OB_VER" ] || $CURL -L -d use_mirror=netcologne $OB_DWL 2>/dev/null | tar zx) && cd $OB_VER
  cmd="$CMAKE -DCMAKE_INSTALL_PREFIX=$OB_DEST" && run_cmd "$cmd" "Configure"
  cmd="make -j2" && run_cmd "$cmd" "Make"
  cmd="make install" && run_cmd "$cmd" "Install"
fi

if [ ! -f "$OB_CONF" ]; then
  echo "if echo \"\$PATH\" | grep -v \"$OB_DEST\">/dev/null 2>&1; then export PATH=\"$OB_DEST/bin:\$PATH\"; fi" >> "$OB_CONF"
  echo "if echo \"\$LD_LIBRARY_PATH\" | grep -v \"$OB_DEST\">/dev/null 2>&1; then export LD_LIBRARY_PATH=\"$OB_DEST/lib:\$LD_LIBRARY_PATH\"; fi" >> "$OB_CONF"
  echo "if ! [ -d \"$OB_DEST\" ]; then echo \"\$0: '$OB_DEST' is not a directory!\"; fi" >> "$OB_CONF"
  echo "if [ -z \"\$BABEL_LIBDIR\" ]; then export BABEL_LIBDIR=\"$OB_DEST/lib/openbabel/$OB_NUM_VER\"; fi" >> "$OB_CONF"
  echo "if ! [ -d \"\$BABEL_LIBDIR\" ]; then echo \"\$0: '\$BABEL_LIBDIR' is not a directory!\"; fi" >> "$OB_CONF"
  echo "if [ -z \"\$BABEL_DATADIR\" ]; then export BABEL_DATADIR=\"$OB_DEST/share/openbabel/$OB_NUM_VER\"; fi" >> "$OB_CONF"
  echo "if ! [ -d \"\$BABEL_DATADIR\" ]; then echo \"\$0: '\$BABEL_DATADIR' is not a directory!\"; fi" >> "$OB_CONF"
  echo "Openbabel configuration has been stored in '$OB_CONF'."
  if ! grep "$OB_CONF" $OT_UI_CONF >/dev/null 2>&1 ; then
    echo ". \"$OB_CONF\"" >> $OT_UI_CONF
  fi
fi

cd "$DIR"