xref: /qemu/tests/docker/dockerfiles/debian-tricore-cross.docker (revision f07a5674cf97b8473e5d06d7b1df9b51e97d553f)
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