#! /bin/sh
# Various 'constants'
TARGETDIR=/opt/lib
PROCESSINGVERSION=3.3.6
PROCESSINGINSTALLTAR="/csciloc/ubuntu/Distributions/processing-${PROCESSINGVERSION}-linux64.tgz"
PROCESSINGEXEC="${TARGETDIR}/processing-${PROCESSINGVERSION}/processing"
APPLICATIONDIR="/opt/share/applications"
APPLICATIONDESKTOP="${APPLICATIONDIR}/processing.desktop"

# From http://askubuntu.com/questions/15853/how-can-a-script-check-if-its-being-run-as-root
if ! [ $(id -u) = 0 ]; then
   echo "This script must be run as root"
   exit 1
fi
# end of askubuntu stuff

# Be sure system directories are there
if [ ! -d "$TARGETDIR" ]; then
    echo "creating $TARGETDIR"
    mkdir -p "$TARGETDIR"
fi
if [ ! -d "$APPLICATIONDIR" ]; then
    echo "creating $APPLICATIONDIR"
    sudo mkdir -p "$APPLICATIONDIR"
fi

# extract and set permissions
tar --extract --gzip --verbose --directory "$TARGETDIR" \
  --file "${PROCESSINGINSTALLTAR}"
find "$TARGETDIR/processing-${PROCESSINGVERSION}" -exec chown root:root {} \;

rm -f /usr/local/bin/processing
rm -f /usr/local/bin/processing-3
ln -s "$PROCESSINGEXEC" /usr/local/bin

cat > "$APPLICATIONDESKTOP" <<DESKTOPEND
[Desktop Entry]
Encoding=UTF-8
Name=Processing IDE ${PROCESSINGVERSION}
Comment=Java with Processing ${PROCESSINGVERSION}
Exec=/bin/sh "${PROCESSINGEXEC}"
Icon=/opt/lib/processing-${PROCESSINGVERSION}/lib/icons/pde-256.png
Categories=Application;Development;Java;IDE
Version=1.0
Type=Application
Terminal=0
DESKTOPEND
chmod a+x "${APPLICATIONDESKTOP}"
