| FROM ubuntu:bionic@sha256:512274f1739676880585e70eea6a883db7b6d92841b02647b6c92b478356572c |
| |
| ENV DEPOT_TOOLS_PATH $HOME/depot_tools |
| ENV BUILDROOT_PATH $HOME/buildroot |
| ENV ENGINE_PATH $HOME/engine |
| ENV PATH $PATH:$DEPOT_TOOLS_PATH |
| ARG DEBIAN_FRONTEND=noninteractive |
| |
| # Notes: |
| # - libx11-dev is used by Flutter for desktop linux (see also install-build-deps-linux-desktop.sh) |
| # - chrome is used by Flutter for web. |
| |
| # Updates the distribution. |
| RUN apt-get update |
| |
| # Install generic tools. |
| RUN apt-get install -y ca-certificates gnupg wget curl lsb-release sudo apt-transport-https |
| |
| # Add additional repos. |
| # chrome stable |
| RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - |
| RUN echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' | tee /etc/apt/sources.list.d/google-chrome.list |
| # gcloud sdk |
| RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | \ |
| tee -a /etc/apt/sources.list.d/google-cloud-sdk.list |
| RUN curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \ |
| apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - |
| RUN apt-get update |
| |
| # Install basic tools and libraries |
| RUN apt-get install -y \ |
| acpica-tools \ |
| autoconf \ |
| automake \ |
| bison \ |
| build-essential \ |
| dejagnu \ |
| dosfstools \ |
| flex \ |
| g++-multilib \ |
| gettext \ |
| git \ |
| gperf \ |
| groff \ |
| ifupdown \ |
| libblkid-dev \ |
| libc6-dev-i386 \ |
| libedit-dev \ |
| libfreetype6-dev \ |
| libglib2.0-dev \ |
| liblz4-tool \ |
| libncurses5-dev \ |
| libssl-dev \ |
| libtool \ |
| libxcursor-dev \ |
| libxinerama-dev \ |
| libxrandr-dev \ |
| libxxf86vm-dev \ |
| lsof \ |
| mtools \ |
| nasm \ |
| net-tools \ |
| pkg-config \ |
| python \ |
| python2.7-dev \ |
| tcpdump \ |
| texinfo \ |
| unzip \ |
| uuid-dev \ |
| vim \ |
| xz-utils \ |
| zip \ |
| zlib1g-dev |
| |
| # Install x/gui deps |
| RUN apt-get install -y \ |
| libegl1-mesa \ |
| libgles2-mesa-dev \ |
| libglu1-mesa-dev \ |
| libgtk-3-dev \ |
| libx11-dev \ |
| mesa-common-dev \ |
| xvfb |
| |
| # Install browsers |
| RUN apt-get install -y \ |
| google-chrome-stable |
| |
| # Install and config gcloud |
| RUN apt-get update && apt-get install -y google-cloud-sdk && \ |
| gcloud config set core/disable_usage_reporting true && \ |
| gcloud config set component_manager/disable_update_check true |
| |
| # Clone depot_tools |
| RUN git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $DEPOT_TOOLS_PATH |
| |
| # Clone buildroot |
| RUN git clone https://github.com/flutter/buildroot.git $BUILDROOT_PATH |
| |
| # Make engine path and start change directory to buildroot. |
| RUN mkdir --parents $ENGINE_PATH && \ |
| cd $BUILDROOT_PATH |