blob: 8948ca13030c21d3215d32e659342fb2dc7cb729 [file] [log] [blame]
# 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}