diff --git a/.gitignore b/.gitignore index 82eacf74..3b255eb1 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,4 @@ mydbstub.py* /unittests/lib_pubsub_provider_actual.py ubuntu-xenial-16.04-cloudimg-console.log +ubuntu-bionic-18.04-cloudimg-console.log diff --git a/build.py b/build.py index 518012b1..dd5ff26f 100755 --- a/build.py +++ b/build.py @@ -1520,6 +1520,7 @@ def cmd_build_vagrant(options, args): 'fedora-27 all gtk3', # no webkitgtk for gtk2?? 'ubuntu-14.04 all all', 'ubuntu-16.04 all all', + 'ubuntu-18.04 all all', ] elif options.vagrant_vms == 'none': VMs = [] # to skip building anything and just upload diff --git a/vagrant/ubuntu-18.04/Vagrantfile b/vagrant/ubuntu-18.04/Vagrantfile new file mode 100644 index 00000000..b4ebb7a1 --- /dev/null +++ b/vagrant/ubuntu-18.04/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 = "ubuntu/bionic64" + 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/ubuntu-18.04/bootstrap.sh b/vagrant/ubuntu-18.04/bootstrap.sh new file mode 100644 index 00000000..31ad9361 --- /dev/null +++ b/vagrant/ubuntu-18.04/bootstrap.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +# Set up and update package repos +#add-apt-repository ppa:deadsnakes/ppa ## Not yet available for bionic +apt-get update + +# Install necessary development tools, libs, etc. +apt-get install -y build-essential dpkg-dev +apt-get install -y aptitude mc + +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 +apt-get install -y python3.6 python3.6-dev libpython3.6-dev python3.6-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 +##python3.5 -m venv venvs/Py35 +python3.6 -m venv venvs/Py36 + +chown -R vagrant:vagrant venvs +