| 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 |