master
docker 36 lines 1.3 KB
Raw
1 #
2 # Docker cross-compiler target
3 #
4 # This docker target builds on the debian stretch base image,
5 # using a prebuilt toolchains for Xtensa cores from:
6 # https://github.com/foss-xtensa/toolchain/releases
7 #
8 FROM docker.io/library/debian:13-slim
9
10 RUN apt-get update && \
11 DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
12 DEBIAN_FRONTEND=noninteractive eatmydata \
13 apt-get install -y --no-install-recommends \
14 build-essential \
15 ca-certificates \
16 curl \
17 gettext \
18 git \
19 python3-minimal && \
20 dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
21
22 ENV CPU_LIST="dc232b dc233c de233_fpu dsp3400"
23 ENV TOOLCHAIN_RELEASE=2020.07
24
25 RUN for cpu in $CPU_LIST; do \
26 curl -#SL http://github.com/foss-xtensa/toolchain/releases/download/$TOOLCHAIN_RELEASE/x86_64-$TOOLCHAIN_RELEASE-xtensa-$cpu-elf.tar.gz \
27 | tar -xzC /opt; \
28 done
29
30 ENV PATH=$PATH:/opt/$TOOLCHAIN_RELEASE/xtensa-dc232b-elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-dc233c-elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-de233_fpu-elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-dsp3400-elf/bin
31 ENV MAKE=/usr/bin/make
32 # As a final step configure the user (if env is defined)
33 ARG USER
34 ARG UID
35 RUN if [ "${USER}" ]; then \
36 id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi