diff --git a/docker/ubuntu-14.04/Dockerfile b/docker/ubuntu-14.04/Dockerfile new file mode 100644 index 00000000..e3d970cf --- /dev/null +++ b/docker/ubuntu-14.04/Dockerfile @@ -0,0 +1,72 @@ +# The base image +FROM ubuntu:14.04 + +# Set environment variables +ENV DIST_NAME=ubuntu-14.04 +ENV USE_DEADSNAKES=yes +ENV USER=wxpy +ENV HOME=/home/$USER +ENV PYTHONUNBUFFERED=1 +ENV PATH=$HOME/bin:$PATH + +# Update and install basic OS packages +RUN \ + mkdir -p /dist; \ + adduser --disabled-password --gecos "" ${USER}; \ + echo "${USER} ALL=(ALL) NOPASSWD:ALL\n" >> /etc/sudoers; \ + apt-get update; \ + apt-get upgrade -y; \ + apt-get install -y \ + apt-utils \ + build-essential \ + software-properties-common; \ +# Install development packages needed for building wxPython + apt-get install -y \ + freeglut3 \ + freeglut3-dev \ + libegl1-mesa-dev \ + libgl1-mesa-dev \ + libgles2-mesa-dev \ + libglu1-mesa-dev \ + libgstreamer-plugins-base1.0-dev \ + libgtk-3-dev \ + libgtk2.0-dev \ + libjpeg-dev \ + libnotify-dev \ + libsdl2-dev \ + libsm-dev \ + libtiff-dev \ + libwebkitgtk-3.0-dev \ + libwebkitgtk-dev \ + libxtst-dev; \ + apt-get clean; + + +# Install all available Python packages and their dev packages +RUN \ + if [ ${USE_DEADSNAKES} = yes ]; then add-apt-repository ppa:deadsnakes/ppa; apt-get update; fi; \ + 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; \ + apt-get clean; + +# Set the user and group to use for the rest of the commands +USER ${USER}:${USER} + +# Set the working directory +WORKDIR ${HOME} + +# Create virtual environments for each Python +RUN \ + cd ${HOME}; \ + mkdir -p ${HOME}/venvs; \ + virtualenv --python=python2.7 venvs/Py27; \ + python3.5 -m venv venvs/Py35; \ + python3.6 -m venv venvs/Py36; + +# Add files from host into the container +COPY scripts ${HOME}/bin + +# Define default command +CMD ["/bin/bash", "-l"] + diff --git a/docker/ubuntu-16.04/Dockerfile b/docker/ubuntu-16.04/Dockerfile new file mode 100644 index 00000000..ddc91e4b --- /dev/null +++ b/docker/ubuntu-16.04/Dockerfile @@ -0,0 +1,70 @@ +# The base image +FROM ubuntu:16.04 + +# Set environment variables +ENV DIST_NAME=ubuntu-16.04 +ENV USE_DEADSNAKES=yes +ENV USER=wxpy +ENV HOME=/home/$USER +ENV PYTHONUNBUFFERED=1 +ENV PATH=$HOME/bin:$PATH + +# Update and install basic OS packages +RUN \ + mkdir -p /dist; \ + adduser --disabled-password --gecos "" ${USER}; \ + echo "${USER} ALL=(ALL) NOPASSWD:ALL\n" >> /etc/sudoers; \ + apt-get update; \ + apt-get upgrade -y; \ + apt-get install -y \ + apt-utils \ + build-essential \ + software-properties-common; \ +# Install development packages needed for building wxPython + apt-get install -y \ + freeglut3 \ + freeglut3-dev \ + libgl1-mesa-dev \ + libglu1-mesa-dev \ + libgstreamer-plugins-base1.0-dev \ + libgtk-3-dev \ + libgtk2.0-dev \ + libjpeg-dev \ + libnotify-dev \ + libsdl2-dev \ + libsm-dev \ + libtiff-dev \ + libwebkitgtk-3.0-dev \ + libwebkitgtk-dev \ + libxtst-dev; \ + apt-get clean; + + +# Install all available Python packages and their dev packages +RUN \ + if [ ${USE_DEADSNAKES} = yes ]; then add-apt-repository ppa:deadsnakes/ppa; apt-get update; fi; \ + apt-get install -y python2.7 python2.7-dev libpython2.7-dev python-virtualenv; \ + apt-get install -y python3.6 python3.6-dev libpython3.6-dev python3.6-venv; \ + apt-get install -y python3.7 python3.7-dev libpython3.7-dev python3.7-venv; \ + apt-get clean; + +# Set the user and group to use for the rest of the commands +USER ${USER}:${USER} + +# Set the working directory +WORKDIR ${HOME} + +# Create virtual environments for each Python +RUN \ + cd ${HOME}; \ + mkdir -p ${HOME}/venvs; \ + virtualenv --python=python2.7 venvs/Py27; \ + python3.6 -m venv venvs/Py36; \ + python3.7 -m venv venvs/Py37; + +# Add files from host into the container +COPY scripts ${HOME}/bin + +# Define default command +CMD ["/bin/bash", "-l"] +