ubilinux prerequisites
# for untar later
apt-get install bzip2
# probably all needed
apt-get install freeglut3 freeglut3-dev -y
ghc installation
# get distr
mkdir /home/edison/downloads
cd /home/edison/downloads
wget http://downloads.haskell.org/~ghc/7.8.4/ghc-7.8.4-i386-unknown-linux-deb7.tar.bz2
tar xvfj ghc-7.8.4-x86_64-unknown-linux-deb7.tar.bz2
cd ghc-7.8.4
# install to
mkdir -p /home/edison/dev/bin/ghc-7.8.4
# or choose another path
./configure --prefix=/home/edison/dev/bin/ghc-7.8.4
make install
# symbol links
cd $HOME/Development/bin
ln -s `pwd`/ghc-7.8.4 ghc
# add $HOME/Development/bin/ghc to $PATH
# add this line to ~/.profile
export GHC_HOME=$HOME/Development/bin/ghc
export PATH=$GHC_HOME/bin:${PATH}
# to use updated path without log off
source ~/.profile
# remove temporary files
cd $HOME/Downloads
rm -rf ghc-7.8.4*
# remove old
rm -rf $HOME/.cabal
# clone dist
cd $HOME/Downloads
curl -O https://www.haskell.org/cabal/release/cabal-1.22.0.0/Cabal-1.22.0.0.tar.gz
# extract
tar xzvf Cabal-1.22.0.0.tar.gz
cd Cabal-1.22.0.0
# build
ghc --make Setup.hs
./Setup configure --user
./Setup build
./Setup install
# Remove temporary files
cd $HOME/Downloads
rm -rf Cabal-1.22.0.0*
# remove ghc cache (in case of reinstall)
if [ -d "$HOME/.ghc/" ]; then
ghc-pkg --user recache
fi
# get distributive
cd $HOME/Downloads
curl -O https://www.haskell.org/cabal/release/cabal-install-1.22.0.0/cabal-install-1.22.0.0.tar.gz
# extract archive
tar xzvf cabal-install-1.22.0.0.tar.gz
cd cabal-install-1.22.0.0
# install
./bootstrap.sh
# remove temporary files
cd $HOME/Downloads
rm -rf cabal-install-1.22.0.0*
# add path to cabal to PATH environment
CABAL_HOME=$HOME/cabal
PATH=$CABAL_HOME/bin:$PATH