Javi Merino | ff1749d | 2016-02-03 14:23:10 +0000 | [diff] [blame] | 1 | # -*- mode: ruby -*- |
| 2 | # vi: set ft=ruby : |
| 3 | |
Michele Di Giorgio | 65eceaa | 2016-05-24 11:40:22 +0100 | [diff] [blame] | 4 | |
Javi Merino | ff1749d | 2016-02-03 14:23:10 +0000 | [diff] [blame] | 5 | Vagrant.configure(2) do |config| |
| 6 | config.vm.box = "ubuntu/trusty64" |
| 7 | |
| 8 | # Compiling pandas requires 1Gb of memory |
| 9 | config.vm.provider "virtualbox" do |v| |
| 10 | v.memory = 1024 |
| 11 | end |
| 12 | |
| 13 | # Forward ipython notebook's port to the host |
| 14 | config.vm.network "forwarded_port", guest: 8888, host: 8888 |
| 15 | |
| 16 | config.vm.provision "shell", inline: <<-SHELL |
Brendan Jackman | 7cbc923 | 2016-10-18 11:31:10 +0100 | [diff] [blame] | 17 | set -e |
| 18 | |
Javi Merino | ff1749d | 2016-02-03 14:23:10 +0000 | [diff] [blame] | 19 | sudo apt-get update |
Michele Di Giorgio | 65eceaa | 2016-05-24 11:40:22 +0100 | [diff] [blame] | 20 | sudo apt-get install -y autoconf automake build-essential expect git \ |
| 21 | libfreetype6-dev libpng12-dev libtool nmap openjdk-7-jdk \ |
| 22 | openjdk-7-jre pkg-config python-all-dev python-matplotlib \ |
| 23 | python-nose python-numpy python-pip python-zmq sshpass trace-cmd \ |
| 24 | tree wget |
Brendan Jackman | bf6d5e1 | 2016-10-18 11:38:58 +0100 | [diff] [blame] | 25 | pip install Cython |
Javi Merino | b5503e3 | 2016-08-10 16:21:03 +0100 | [diff] [blame] | 26 | sudo pip install ipython[notebook] pandas psutil wrapt |
Javi Merino | ff1749d | 2016-02-03 14:23:10 +0000 | [diff] [blame] | 27 | sudo apt-get remove -y w3m |
| 28 | |
Brendan Jackman | 288f1ab | 2016-10-28 12:07:57 +0100 | [diff] [blame] | 29 | if [ ! -e /home/vagrant/lisa ]; then |
| 30 | ln -s /vagrant /home/vagrant/lisa |
| 31 | fi |
Michele Di Giorgio | 65eceaa | 2016-05-24 11:40:22 +0100 | [diff] [blame] | 32 | |
| 33 | cd /home/vagrant/lisa |
| 34 | ANDROID_SDK_URL="https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz" |
| 35 | if [ ! -e ./tools/android-sdk-linux ]; then |
| 36 | echo "Downloading Android SDK [$ANDROID_SDK_URL]..." |
| 37 | wget -qO- $ANDROID_SDK_URL | tar xz -C tools |
| 38 | expect -c ' |
| 39 | set timeout -1; |
Michele Di Giorgio | 8e188db | 2016-09-26 18:08:42 +0100 | [diff] [blame] | 40 | spawn ./tools/android-sdk-linux/tools/android update sdk --no-ui |
Michele Di Giorgio | 65eceaa | 2016-05-24 11:40:22 +0100 | [diff] [blame] | 41 | expect { |
| 42 | "Do you accept the license" { exp_send "y\r" ; exp_continue } |
| 43 | eof |
| 44 | } |
| 45 | ' |
| 46 | fi |
| 47 | |
Javi Merino | ff1749d | 2016-02-03 14:23:10 +0000 | [diff] [blame] | 48 | chown vagrant.vagrant /home/vagrant/lisa |
| 49 | echo cd /home/vagrant/lisa >> /home/vagrant/.bashrc |
Michele Di Giorgio | 91a2842 | 2016-05-11 12:23:08 +0100 | [diff] [blame] | 50 | for LC in $(locale | cut -d= -f1); |
| 51 | do |
| 52 | echo unset $LC >> /home/vagrant/.bashrc |
| 53 | done |
Michele Di Giorgio | 65eceaa | 2016-05-24 11:40:22 +0100 | [diff] [blame] | 54 | echo "export ANDROID_HOME=/vagrant/tools/android-sdk-linux" >> /home/vagrant/.bashrc |
Javi Merino | 77aceb8 | 2016-07-21 11:09:05 +0100 | [diff] [blame] | 55 | echo 'export PATH=\$ANDROID_HOME/platform-tools:\$ANDROID_HOME/tools:\$PATH' >> /home/vagrant/.bashrc |
Javi Merino | ff1749d | 2016-02-03 14:23:10 +0000 | [diff] [blame] | 56 | echo source init_env >> /home/vagrant/.bashrc |
Michele Di Giorgio | 57992d5 | 2016-06-24 17:10:10 +0100 | [diff] [blame] | 57 | |
| 58 | echo "Virtual Machine Installation completed successfully! " |
| 59 | echo " " |
| 60 | echo "You can now access and use the virtual machine by running: " |
| 61 | echo " " |
| 62 | echo " $ vagrant ssh " |
| 63 | echo " " |
| 64 | echo "NOTE: if you exit, the virtual machine is still running. To shut it " |
| 65 | echo " down, please run: " |
| 66 | echo " " |
| 67 | echo " $ vagrant suspend " |
| 68 | echo " " |
Javi Merino | ff1749d | 2016-02-03 14:23:10 +0000 | [diff] [blame] | 69 | SHELL |
| 70 | end |