diff --git a/build.py b/build.py index 411cde8e..06c9cbb8 100755 --- a/build.py +++ b/build.py @@ -1476,6 +1476,7 @@ def cmd_build_vagrant(options, args): if not options.vagrant_vms or options.vagrant_vms == 'all': VMs = [ 'centos-7', 'debian-8', + 'debian-9', 'fedora-23', 'fedora-26', 'fedora-27', diff --git a/vagrant/debian-9/Vagrantfile b/vagrant/debian-9/Vagrantfile new file mode 100644 index 00000000..7ac9eb55 --- /dev/null +++ b/vagrant/debian-9/Vagrantfile @@ -0,0 +1,24 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +Vagrant.configure("2") do |config| + + # Set which Vagrant "box" (base image) to use, and tell it how to set up the + # VM, packages to install, etc. + config.vm.box = "debian/stretch64" + config.vm.provision :shell, path: "bootstrap.sh" + + # Additional parameters for the VM + config.vm.provider "virtualbox" do |vb| + vb.memory = 4096 + vb.cpus = 4 + end + + # Share the Phoenix/dist folder so the VM can get the source tarball and has + # a place to put the build results. + config.vm.synced_folder "../../dist", "/home/vagrant/dist" + + # And share a folder with the build script + config.vm.synced_folder "../scripts", "/home/vagrant/scripts" + +end diff --git a/vagrant/debian-9/bootstrap.sh b/vagrant/debian-9/bootstrap.sh new file mode 100644 index 00000000..ac69f45c --- /dev/null +++ b/vagrant/debian-9/bootstrap.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +# Set up and update package repos +apt-get update + +# Install necessary development tools, libs, etc. +apt-get install -y build-essential dpkg-dev + +apt-get install -y libgtk2.0-dev libgtk-3-dev +apt-get install -y libjpeg-dev libtiff-dev \ + libsdl1.2-dev libgstreamer-plugins-base1.0-dev \ + libnotify-dev freeglut3 freeglut3-dev libsm-dev \ + libwebkitgtk-dev libwebkitgtk-3.0-dev + + +# Install all available Python packages and their dev packages +apt-get install -y python2.7 python2.7-dev libpython2.7-dev python-virtualenv +apt-get install -y python3.5 python3.5-dev libpython3.5-dev python3.5-venv + +# Set up virtual environments for each Python where the Phoenix builds will be +# done. set them to the vagrant user so the venv's can be updated by pip later. +mkdir venvs +virtualenv --python=python2.7 venvs/Py27 +pyvenv-3.5 venvs/Py35 +chown -R vagrant:vagrant venvs +