1# 2# Docker TriCore cross-compiler target 3# 4# This docker target builds on the Debian Buster base image but 5# doesn't inherit from the common one to avoid bringing in unneeded 6# dependencies. 7# 8# Copyright (c) 2018 Philippe Mathieu-Daudé 9# 10# SPDX-License-Identifier: GPL-2.0-or-later 11# 12FROM docker.io/library/debian:11-slim 13 14RUN apt update && \ 15 DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ 16 DEBIAN_FRONTEND=noninteractive eatmydata apt install -yy \ 17 bison \ 18 bzip2 \ 19 ca-certificates \ 20 ccache \ 21 curl \ 22 flex \ 23 g++ \ 24 gcc \ 25 git \ 26 libglib2.0-dev \ 27 libpixman-1-dev \ 28 locales \ 29 make \ 30 ninja-build \ 31 pkgconf \ 32 python3-pip \ 33 python3-setuptools \ 34 python3-wheel \ 35 python3-venv && \ 36 dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt 37 38RUN /usr/bin/pip3 install tomli 39 40RUN curl -#SL https://github.com/bkoppelmann/package_940/releases/download/tricore-toolchain-9.40/tricore-toolchain-9.4.0.tar.gz \ 41 | tar -xzC /usr/local/ 42 43# This image can only build a very minimal QEMU as well as the tests 44ENV DEF_TARGET_LIST tricore-softmmu 45ENV QEMU_CONFIGURE_OPTS --disable-user --disable-tools --disable-fdt 46ENV MAKE /usr/bin/make 47# As a final step configure the user (if env is defined) 48ARG USER 49ARG UID 50RUN if [ "${USER}" ]; then \ 51 id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi 52