master
docker 50 lines 1.43 KB
Raw
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 #
12 FROM docker.io/library/debian:13-slim
13
14 RUN 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-tomli \
35 python3-wheel \
36 python3-venv && \
37 dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
38
39 RUN curl -#SL https://github.com/bkoppelmann/package_940/releases/download/tricore-toolchain-9.40/tricore-toolchain-9.4.0.tar.gz \
40 | tar -xzC /usr/local/
41
42 # This image can only build a very minimal QEMU as well as the tests
43 ENV DEF_TARGET_LIST=tricore-softmmu
44 ENV QEMU_CONFIGURE_OPTS="--disable-user --disable-tools --disable-fdt"
45 ENV MAKE=/usr/bin/make
46 # As a final step configure the user (if env is defined)
47 ARG USER
48 ARG UID
49 RUN if [ "${USER}" ]; then \
50 id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi