c2hs-0.28.3: regression-suite-vm/Vagrantfile-full
$script = <<SCRIPT
set -e
# Initial APT package installation
sed -i -e 's/us.archive.ubuntu.com/gb.archive.ubuntu.com/g' /etc/apt/sources.list
sed -i -e '/trusty multiverse/s/^# //' -e '/trusty-updates multiverse/s/^# //' /etc/apt/sources.list
apt-get update
apt-get install -y python-pip
pip install awscli
mkdir cuda-packages
aws s3 sync s3://cuda-packages ./cuda-packages
dpkg -i ./cuda-packages/cuda-repo-ubuntu1204_6.5-14_amd64.deb
/bin/rm ./cuda-packages/cuda-repo-ubuntu1204_6.5-14_amd64.deb
mv ./cuda-packages/*.deb /var/cache/apt/archives
/bin/rm -fr ./cuda-packages
apt-add-repository -y ppa:igraph/ppa
apt-get update
PACKAGES="alex build-essential git happy libatlas-base-dev libgmp-dev
liblapack-dev libnetcdf-dev unzip zlib1g-dev libopencv-dev
libcv-dev libhighgui-dev libgnome-keyring-dev libgsl0-dev
libsndfile1-dev libqtscript4-core libqt4-declarative
libigraph0-dev acpid consolekit dkms lib32gcc1 libc-bin
libc-dev-bin libc6 libc6-dev libc6-i386 libck-connector0
libpam-ck-connector libpolkit-agent-1-0
libpolkit-backend-1-0 libpolkit-gobject-1-0 libvdpau1
libxmu-dev libxmu-headers policykit-1 policykit-1-gnome
python-xkit screen-resolution-extra cuda libasound2-dev
libidn11-dev libopenmpi-dev libssh2-1-dev"
apt-get install -y $PACKAGES
cd /usr/lib/x86_64-linux-gnu
ln -s libgmp.so.10 libgmp.so.3
cd /root
# GHC and Cabal installation
wget https://www.haskell.org/ghc/dist/7.8.3/ghc-7.8.3-x86_64-unknown-linux-deb7.tar.xz
tar xJf ghc-7.8.3-x86_64-unknown-linux-deb7.tar.xz
cd ghc-7.8.3
./configure
make install
cd ..
/bin/rm -fr ghc-7.8.3*
wget https://www.haskell.org/cabal/release/cabal-install-1.20.0.3/cabal-install-1.20.0.3.tar.gz
tar xzf cabal-install-1.20.0.3.tar.gz
cd cabal-install-1.20.0.3
./bootstrap.sh
cd ..
/bin/rm -fr cabal-install-1.20.0.3*
if [ ! -f /usr/bin/cabal-1.20 ]; then
cp /root/.cabal/bin/cabal /usr/bin/cabal-1.20
(cd /usr/bin/ && rm -rf cabal && ln -s cabal-1.20 cabal)
fi
echo "export PATH=\$HOME/.cabal/bin:\$PATH" >> /etc/bash.bashrc
echo "export PATH=/usr/local/cuda-6.5/bin:\$PATH" >> /etc/bash.bashrc
su vagrant -c 'cabal update'
SCRIPT
Vagrant.configure("2") do |config|
config.vm.box = "trusty-server-cloudimg-amd64-vagrant-disk1.box"
config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
config.vm.synced_folder "..", "/home/vagrant/c2hs"
config.vm.provider :virtualbox do |vb|
vb.gui = false
vb.customize ["modifyvm", :id, "--memory", "2048"]
vb.customize ["modifyvm", :id, "--cpus", "2"]
end
config.vm.provision "shell", inline: $script
end