The following should do the trick. This is an update from my old Mono script. Disclaimer: If your system explodes, your cat dies, or anything else happens because of this script, I am not to blame. If everything works though, I’m always here. Hugs.


#!/bin/bash

TOPDIR=$(pwd)
BUILDDIR=$TOPDIR/build
DLDDIR=$TOPDIR/downloads

export PATH=/usr/local/bin:$PATH

echo "installing prerequisites"
sudo apt-get install -y build-essential bison gawk
sudo apt-get install -y libglib2.0-dev
sudo apt-get install -y libpng12-dev libx11-dev libfontconfig1-dev
sudo apt-get install -y libfreetype6-dev libjpeg62-dev libtiff4-dev
sudo apt-get install -y libungif4-dev libexif-dev libcairo2-dev
sudo apt-get install -y libpango1.0-dev libgtk2.0-dev libglade2-dev
sudo apt-get install -y libgnome2-dev libgnomecanvas2-dev libgnomeui-dev
sudo apt-get install -y libgnomeprint2.4-dev libgnomeprintui2.4-dev
sudo apt-get install -y libpanel-applet2-dev libgtksourceview-dev
sudo apt-get install -y libgtkhtml3.14-dev
sudo apt-get install -y intltool
sudo apt-get install -y desktop-file-utils apache2-threaded-dev subversion libtool

echo "uninstalling platform mono packages"
sudo apt-get remove 'mono-*' libgdiplus

mkdir -p $BUILDDIR
cd $BUILDDIR

rm -rf libgdiplus
rm -rf mono
rm -rf mono-tools
rm -rf mono-debugger
rm -rf xsp
rm -rf mod_mono

echo
echo "downloading mono packages"
echo

cd $BUILDDIR

svn co svn://anonsvn.mono-project.com/source/trunk/libgdiplus
svn co svn://anonsvn.mono-project.com/source/trunk/mono
svn co svn://anonsvn.mono-project.com/source/trunk/mcs
svn co svn://anonsvn.mono-project.com/source/trunk/mono-tools
svn co svn://anonsvn.mono-project.com/source/trunk/mono-debugger
svn co svn://anonsvn.mono-project.com/source/trunk/xsp
svn co svn://anonsvn.mono-project.com/source/trunk/mod_mono

cd $BUILDDIR

echo
echo "building and installing mono packages"
echo
cd $BUILDDIR

cd libgdiplus
./autogen.sh --prefix=/usr/local
make
sudo make install
cd $BUILDDIR

cd mono
cd mono
cd mini
perl -i -pe 'last if eof' mini-amd64.h
perl -i -pe 'last if eof' mini-amd64.h
echo "#define MONO_ARCH_NOMAP32BIT" >> mini-amd64.h
echo "#endif" >> mini-amd64.h
cd ..
cd ..
./autogen.sh --prefix=/usr/local --with-large-heap=yes --with-xen_opt=yes
sudo make uninstall
make get-monolite-latest
make EXTERNAL_MCS=false
sudo make install
cd $BUILDDIR

cd mono-tools
./autogen.sh --prefix=/usr/local
sudo make uninstall
make
sudo make install
cd $BUILDDIR

cd mono-debugger
./autogen.sh --prefix=/usr/local
sudo make uninstall
make
sudo make install
cd $BUILDDIR

cd xsp
./autogen.sh --prefix=/usr/local
sudo make uninstall
make
sudo make install
cd $BUILDDIR

cd mod_mono
./autogen.sh --prefix=/usr/local
sudo make uninstall
make
sudo make install
cd $BUILDDIR

echo
echo "done"