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 14MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> 15 16RUN apt update && \ 17 DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ 18 DEBIAN_FRONTEND=noninteractive eatmydata apt install -yy \ 19 bison \ 20 bzip2 \ 21 ca-certificates \ 22 ccache \ 23 curl \ 24 flex \ 25 g++ \ 26 gcc \ 27 git \ 28 libglib2.0-dev \ 29 libpixman-1-dev \ 30 locales \ 31 make \ 32 ninja-build \ 33 pkgconf \ 34 python3-pip \ 35 python3-setuptools \ 36 python3-wheel \ 37 python3-venv && \ 38 dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt 39 40RUN /usr/bin/pip3 install tomli 41 42RUN curl -#SL https://github.com/bkoppelmann/package_940/releases/download/tricore-toolchain-9.40/tricore-toolchain-9.4.0.tar.gz \ 43 | tar -xzC /usr/local/ 44 45# This image can only build a very minimal QEMU as well as the tests 46ENV DEF_TARGET_LIST tricore-softmmu 47ENV QEMU_CONFIGURE_OPTS --disable-user --disable-tools --disable-fdt 48ENV MAKE /usr/bin/make 49# As a final step configure the user (if env is defined) 50ARG USER 51ARG UID 52RUN if [ "${USER}" ]; then \ 53 id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi 54