Add Vagrantfile for building on VirtualBox
authorKevin M. Rosenberg <kevin@rosenberg.net>
Mon, 15 Jun 2020 20:48:41 +0000 (14:48 -0600)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Mon, 15 Jun 2020 20:48:41 +0000 (14:48 -0600)
Vagrantfile [new file with mode: 0644]

diff --git a/Vagrantfile b/Vagrantfile
new file mode 100644 (file)
index 0000000..1a42661
--- /dev/null
@@ -0,0 +1,60 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+# All Vagrant configuration is done below. The "2" in Vagrant.configure
+# configures the configuration version (we support older styles for
+# backwards compatibility). Please don't change it unless you know what
+# you're doing.
+Vagrant.configure("2") do |config|
+  config.vm.box = "hashicorp/bionic64"
+
+  # Disable automatic box update checking. If you disable this, then
+  # boxes will only be checked for updates when the user runs
+  # `vagrant box outdated`. This is not recommended.
+  # config.vm.box_check_update = false
+
+  # Create a forwarded port mapping which allows access to a specific port
+  # within the machine from a port on the host machine. In the example below,
+  # accessing "localhost:8080" will access port 80 on the guest machine.
+  # NOTE: This will enable public access to the opened port
+  # config.vm.network "forwarded_port", guest: 80, host: 8080
+
+  # Create a forwarded port mapping which allows access to a specific port
+  # within the machine from a port on the host machine and only allow access
+  # via 127.0.0.1 to disable public access
+  # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
+
+  # Create a private network, which allows host-only access to the machine
+  # using a specific IP.
+  # config.vm.network "private_network", ip: "192.168.33.10"
+
+  # Create a public network, which generally matched to bridged network.
+  # Bridged networks make the machine appear as another physical device on
+  # your network.
+  # config.vm.network "public_network"
+
+  config.vm.provider "virtualbox" do |vb|
+  #   # Display the VirtualBox GUI when booting the machine
+  #   vb.gui = true
+    vb.memory = "2048"
+    vb.cpus = "2"
+  end
+
+  config.vm.provision "shell", inline: <<-SHELL
+    FILE=/etc/apt/preferences.d/99grub
+    echo "Package: /(grub-common|grub2-common|grub-pc)/
+Pin: release *
+Pin-Priority: -1" > $FILE
+    apt-get update
+    apt-get dist-upgrade -y
+    apt-get install -yy debhelper libfftw3-dev libreadline-dev libgl1-mesa-dev libglu1-mesa-dev libwxgtk3.0-dev ctn-dev libpng-dev git
+    apt-get autoremove -y
+    rm $FILE
+    git clone git://git.kpe.io/ctsim.git
+    DIR=/home/vagrant/ctsim
+    cd $DIR
+    ./bootstrap.sh
+    chown -R vagrant:vagrant $DIR
+  SHELL
+
+end