| # Copyright 2021 The Cobalt Authors. All Rights Reserved. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| FROM linux-x64x11-bionic |
| |
| ARG DEBIAN_FRONTEND=noninteractive |
| |
| # Note: NASM 2.16 is obtained via PPA for ubuntu distributions older than 20.04 |
| RUN apt update -qqy \ |
| && apt install -qqy --no-install-recommends \ |
| gcc-6 g++-6 software-properties-common \ |
| && add-apt-repository -y ppa:git-core/ppa \ |
| && add-apt-repository -y ppa:savoury1/backports \ |
| && apt update -qqy \ |
| && apt install -qqy --no-install-recommends git nasm \ |
| python3.8 python3.8-dev python3.8-venv \ |
| && /opt/clean-after-apt.sh |
| |
| # TODO(b/338650174): Upgrade the base linux distro to avoid backporting python |
| # 3.8 manually. Additionally, this involves upgrading gcc or backporting |
| # the current version (6.3) to the new distro. |
| RUN python3.8 -m venv /python38_env |
| ENV VIRTUAL_ENV /python38_env |
| ENV PATH /python38_env/bin:$PATH |
| |
| CMD gn gen ${OUTDIR}/${PLATFORM}${SB_API_VERSION:+-sbversion-$SB_API_VERSION}_${CONFIG:-debug} --args="target_platform=\"${PLATFORM}\" build_type=\"${CONFIG:-debug}\" build_with_separate_cobalt_toolchain=true using_old_compiler=true ${SB_API_VERSION:+sb_api_version=$SB_API_VERSION}" && \ |
| ninja -v -j ${NINJA_PARALLEL} -C ${OUTDIR}/${PLATFORM}${SB_API_VERSION:+-sbversion-$SB_API_VERSION}_${CONFIG:-debug} ${TARGET:-cobalt_install} |