#! /bin/bash

PKG=python
VERSION=2.7.13
BUILD=1

PREFIX=/pkg/$PKG-$VERSION-$BUILD
#PREFIX=/dev/shm/$PKG-$VERSION-$BUILD

set -xe
umask 022

BUILD_TMPDIR=/dev/shm/$PKG-$VERSION-$BUILD.build.tmp
test -d $BUILD_TMPDIR && rm -rf $BUILD_TMPDIR
mkdir -p $BUILD_TMPDIR/home
export TMPDIR=$BUILD_TMPDIR
export HOME=$BUILD_TMPDIR/home

exec </dev/null

mkdir -p $PREFIX
cat >$PREFIX/profile <<-EOF
	PATH=$PREFIX/bin:\$PATH
EOF
. $PREFIX/profile

export MAKEFLAGS="-j $(nproc)"

BUILDDIR=$PREFIX/build

mkdir -p $BUILDDIR
cd $BUILDDIR

URL=https://www.python.org/ftp/python/$VERSION/Python-$VERSION.tgz
test -e Python-$VERSION.tgz || wget $URL
test -d Python-$VERSION || tar xf Python-$VERSION.tgz
cd Python-$VERSION

# Required for "Thenao" , bad for virtualenv --enable-shared
# Required for tensorflow : --enable-unicode=ucs4;
./configure --prefix=$PREFIX --enable-shared LDFLAGS=-Wl,-rpath,$PREFIX/lib --enable-unicode=ucs4
make
make install

cd $PREFIX
python -m ensurepip
pip install --upgrade pip

pip install distribute	# requested by sven klages. For unknown reasons must be installed early

pip install Pillow
pip install virtualenv

pip install NumPy Matplotlib pandas SymPy nose

pip install ipython[all]
pip install ipywidgets
pip install scikit-learn
pip install seaborn

(
	cd build
	test -e bx-python-0.7.2.tar.gz || wget https://pypi.python.org/packages/source/b/bx-python/bx-python-0.7.2.tar.gz
		test -d bx-python-0.7.2 || tar xf bx-python-0.7.2.tar.gz
		cd bx-python-0.7.2

		patch -p1 <<'EOF2'
From 6515b765861be47ce64d28605df9fce0b6e47ecc Mon Sep 17 00:00:00 2001
From: Donald Buczek <buczek@molgen.mpg.de>
Date: Fri, 12 Jun 2015 12:12:35 +0200
Subject: [PATCH] x

---
 setup.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/setup.py b/setup.py
index 4ed8f19..72b5a44 100644
--- a/setup.py
+++ b/setup.py
@@ -5,8 +5,8 @@ if sys.version_info < (2, 4):
     sys.exit()
 
 # Automatically download setuptools if not available
-from distribute_setup import use_setuptools
-use_setuptools()
+#from distribute_setup import use_setuptools
+#use_setuptools()
 
 from setuptools import *
 from glob import glob
--
2.4.1

EOF2
		python setup.py install
)

pip install Cython	# formetaseq
pip install pycurl	# for metaseq
pip install metaseq

pip install macs2
pip install HTSeq

# for sasse: Theano and tensorflow (cuda version)

pip install Theano
pip install tensorflow-gpu

pip install biopython	# wird von bressin für python3 benutzt. klingt gut, ist in metaseq requirement drin
pip install git+git://github.com/tanghaibao/jcvi.git # angefragt von Dr. Jun Yang

function plaininstall() {
	local dir=$1
	local tar=$2
	local url=$3
	(
		cd build
		test -e $tar || wget $url
		test -d $dir || tar xvf $tar
		cd $dir
		./configure --prefix=$PREFIX
		make -j $(nproc)
		make install
	)
}

# for Klages
#
pip install GPy distribute h5py igraph ranger pep8
plaininstall pygtk-2.24.0 pygtk-2.24.0.tar.gz http://ftp.gnome.org/pub/GNOME/sources/pygtk/2.24/pygtk-2.24.0.tar.gz
plaininstall pygobject-2.21.3 pygobject-2.21.3.tar.bz2 http://ftp.gnome.org/pub/gnome/sources/pygobject/2.21/pygobject-2.21.3.tar.bz2
plaininstall pygtksourceview-2.10.1 pygtksourceview-2.10.1.tar.gz http://ftp.gnome.org/pub/gnome/sources/pygtksourceview/2.10/pygtksourceview-2.10.1.tar.gz
plaininstall dbus-python-0.83.2 dbus-python-0.83.2.tar.gz http://dbus.freedesktop.org/releases/dbus-python/dbus-python-0.83.2.tar.gz

(
	cd build
	test -e py2cairo-1.10.0.tar.gz || wget http://cairographics.org/releases/py2cairo-1.10.0.tar.bz2
	test -d py2cairo-1.10.0 || tar xf py2cairo-1.10.0.tar.bz2
	cd py2cairo-1.10.0
	./waf configure --prefix=$PREFIX
	./waf build
	./waf install
)

pip install keras

exit