Skip to content

Instantly share code, notes, and snippets.

@craigminihan
Last active August 31, 2017 03:06
Show Gist options
  • Save craigminihan/ea6893d63665f0021c92 to your computer and use it in GitHub Desktop.
Save craigminihan/ea6893d63665f0021c92 to your computer and use it in GitHub Desktop.
Script to build Mono 3.10 and MonoDevelop 5.1 on CentOS 6.4+ Minimal
# run me as root
mkdir ~/Downloads
cd ~/Downloads
MONOVERSION="3.10.0"
GECKOSHARPVERSION="2.0-0.12"
yum install wget
# download the source files we are about to build
wget http://download.mono-project.com/sources/gtk-sharp212/gtk-sharp-2.12.21.tar.gz
wget http://download.mono-project.com/sources/gecko-sharp2/gecko-sharp-$GECKOSHARPVERSION.tar.gz
wget http://download.mono-project.com/sources/gnome-sharp2/gnome-sharp-2.24.1.tar.bz2
wget http://download.mono-project.com/sources/gtksourceview-sharp2/gtksourceview-sharp-2.0-0.12.tar.bz2
wget http://download.mono-project.com/sources/monodevelop/monodevelop-$MONODEVELOPVERSION.tar.bz2
# get the dev tools
yum -y groupinstall "Development Tools" --exclude=git
# install git
yum -y remove git
wget http://pkgs.repoforge.org/git/perl-Git-1.7.11.3-1.el6.rfx.x86_64.rpm
wget http://pkgs.repoforge.org/git/git-1.7.11.3-1.el6.rfx.x86_64.rpm
yum -y localinstall perl-Git-1.7.11.3-1.el6.rfx.x86_64.rpm git-1.7.11.3-1.el6.rfx.x86_64.rpm
# install some package deps we need
yum -y install atk atk-devel
yum -y install pango pango-devel
yum -y install gtk2-devel libglade2-devel libgnome-devel
yum -y install zlib zlib-devel
yum -y install dos2unix
# get libgdiplus from EPEL
wget https://dl.fedoraproject.org/pub/epel/6/x86_64/libgdiplus-2.10-1.el6.x86_64.rpm
wget https://dl.fedoraproject.org/pub/epel/6/x86_64/libgdiplus-devel-2.10-1.el6.x86_64.rpm
yum -y localinstall libgdiplus-2.10-1.el6.x86_64.rpm libgdiplus-devel-2.10-1.el6.x86_64.rpm
# build mono first
tar xvfj mono-$MONOVERSION.tar.bz2
cd mono-$MONOVERSION
./configure --with-large-heap=yes
make -j 4 && make install
cd ..
# tell the configure scripts where to find the custom installed package files
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
# gtk#
tar xvfz gtk-sharp-2.12.21.tar.gz
cd gtk-sharp-2.12.21
./configure
make -j 4 && make install
cd ..
# Gecko#
dos2unix /usr/local/bin/gapi2-codegen
tar xvfz gecko-sharp-$GECKOSHARPVERSION.tar.gz
cd gecko-sharp-$GECKOSHARPVERSION
./configure
make -j 4 && make install
cd ..
# Gnome#
yum -y install libgnomecanvas-devel libgnome-devel libgnomeui-devel libgnomeprint22-devel libgnomeprintui22-devel libpanelappletmm-devel
dos2unix /usr/local/bin/gapi2-fixup
tar xvfj gnome-sharp-2.24.1.tar.bz2
cd gnome-sharp-2.24.1
./configure
echo -e "all:\ninstall:\n" > sample/gnomevfs/Makefile
make -j 4 && make install
cd ..
# GTK SourceView
yum -y install gtksourceview gtksourceview-devel
tar xvfj gtksourceview-sharp-2.0-0.12.tar.bz2
cd gtksourceview-sharp-2.0-0.12
./configure
echo -e "all:\ninstall:\n" > sample/Makefile
make -j 4 && make install
cd ..
# MonoDevelop
git clone https://github.com/mono/monodevelop.git
cd monodevelop
git checkout origin/monodevelop-5.1-branch
./configure
make && make install
cd ..
# add the libs into the linker path
ldconfig /usr/local/lib
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment