#!/bin/sh

PREFIX=$HOME/proof/prefix

fetch_stuff () {

    [ ! -f Python-2.7b2.tgz ] && \
        wget http://python.org/ftp/python/2.7/Python-2.7b2.tgz

    [ ! -f numpy-1.4.1.tar.gz ] && \
        wget http://downloads.sourceforge.net/project/numpy/NumPy/1.4.1/numpy-1.4.1.tar.gz

    [ ! -d plplot ] && \
        svn co http://plplot.svn.sourceforge.net/svnroot/plplot/trunk plplot

}

prep () {

    rm -rf Python-2.7b2
    rm -rf numpy-1.4.1

    tar xvpzf Python-2.7b2.tgz
    tar xvpzf numpy-1.4.1.tar.gz

    cd Python-2.7b2
    ./configure --prefix=$PREFIX
    make
    make install

    cd ../numpy-1.4.1
    $PREFIX/bin/python setup.py install

}

check () {

    cat >check.py <<EOF
import numpy
print "Things are good, numpy found."
EOF

    $PREFIX/bin/python check.py

}

config_plplot () {

    cd plplot
    rm -rf tmp
    mkdir tmp
    cd tmp

    cmake  \
        -DCMAKE_INSTALL_PREFIX=$PREFIX \
        -DCMAKE_PREFIX_PATH=$PREFIX \
        -DCMAKE_SYSTEM_PREFIX_PATH=/bogus \
        -DCMAKE_SYSTEM_PROGRAM_PATH=/bogus \
	-DHAVE_QHULL=off \
	-DHAVE_PTHREAD=off \
	-DENABLE_DYNDRIVERS=off \
	-DENABLE_f77=off \
	-DENABLE_cxx=off \
	-DENABLE_f95=off \
	-DENABLE_java=off \
	-DENABLE_octave=off \
	-DENABLE_ada=off \
	-DENABLE_pdl=off \
	-DENABLE_wxwidgets=off \
	-DENABLE_gnome2=off \
	-DENABLE_pygcw=off .. \
        .. |& tee cmake.out

}

alt_config_plplot () {

    cd plplot
    rm -rf alt
    mkdir alt
    cd alt

    env \
        CMAKE_INSTALL_PREFIX=$PREFIX \
        CMAKE_PREFIX_PATH=$PREFIX \
        CMAKE_SYSTEM_PREFIX_PATH=/bogus \
        CMAKE_SYSTEM_PROGRAM_PATH=/bogus \
    cmake  \
	-DHAVE_QHULL=off \
	-DHAVE_PTHREAD=off \
	-DENABLE_DYNDRIVERS=off \
	-DENABLE_f77=off \
	-DENABLE_cxx=off \
	-DENABLE_f95=off \
	-DENABLE_java=off \
	-DENABLE_octave=off \
	-DENABLE_ada=off \
	-DENABLE_pdl=off \
	-DENABLE_wxwidgets=off \
	-DENABLE_gnome2=off \
	-DENABLE_pygcw=off .. \
        .. |& tee cmake.out

}

case $1 in

    fetch)
        fetch_stuff
        ;;

    prep)
        prep
        ;;

    check)
        check
        ;;

    config)
        config_plplot
        ;;

    altcfg)
        alt_config_plplot
        ;;

    *)
        echo "Available commands: fetch prep check config altcfg"
        ;;
esac
