1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
# -*- mode: ruby -*-
# vi: set ft=ruby :
$script = <<SCRIPT
cat - > /home/vagrant/.bash_aliases <<"EOF"
export JULIA_VAGRANT_BUILD=1
BUILDOPTS="LLVM_CONFIG=llvm-config-3.3 USE_BLAS64=0"
for lib in LLVM ZLIB SUITESPARSE BLAS LAPACK GMP MPFR PCRE LIBUNWIND GRISU OPENLIBM; do
export BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1"
done
alias jlmake="make $BUILDOPTS"
EOF
apt-get update -qq -y
apt-get install python-software-properties -y
add-apt-repository ppa:staticfloat/julia-deps -y
apt-get update -qq -y
apt-get install g++ git make patchelf gfortran llvm-3.3 libsuitesparse-dev libopenblas-dev liblapack-dev libgmp-dev libpcre3-dev libunwind8-dev libmpfr-dev cmake -y
SCRIPT
Vagrant.configure("2") do |config|
# All Vagrant configuration is done here. The most common configuration
# options are documented and commented below. For a complete reference,
# please see the online documentation at vagrantup.com.
# Every Vagrant virtual environment requires a box to build off of.
config.vm.box = "trusty64"
# The url from where the 'config.vm.box' box will be fetched if it
# doesn't already exist on the user's system.
config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
config.vm.synced_folder "../..", "/home/vagrant/julia"
# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
config.vm.provider :virtualbox do |vb|
# Use VBoxManage to customize the VM. For example to change memory:
vb.memory = 2048
end
# View the documentation for the provider you're using for more
# information on available options.
config.vm.provision :shell, :inline => $script
end
|