-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathDockerfile.arch
35 lines (27 loc) · 1015 Bytes
/
Dockerfile.arch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
FROM --platform=$TARGETPLATFORM archlinux:base-devel
ARG TARGETPLATFORM
ARG BUILDPLATFORM
ARG TOOLS_PATH=/opt/gcc-arm-none-eabi
ARG ARM_VERSION=13.3.rel1
# Prep basic packages
RUN pacman -Syy
RUN yes | pacman -Syu
RUN yes | pacman -Sy \
base-devel \
make cmake ninja \
git gnupg \
stlink
# Get ARM Toolchain
RUN mkdir ${TOOLS_PATH} \
&& curl -Lo gcc-arm-none-eabi.tar.xz "https://developer.arm.com/-/media/Files/downloads/gnu/${ARM_VERSION}/binrel/arm-gnu-toolchain-${ARM_VERSION}-x86_64-arm-none-eabi.tar.xz" \
&& tar xf gcc-arm-none-eabi.tar.xz --strip-components=1 -C ${TOOLS_PATH} \
&& rm gcc-arm-none-eabi.tar.xz \
&& rm ${TOOLS_PATH}/*.txt \
&& rm -rf ${TOOLS_PATH}/share/doc
# Get static analysis tools: clang-format clang-tidy, Lizard, cpplint
RUN yes | pacman -Sy clang python-pip python-pipx \
&& pipx install lizard
# Add Toolchain to PATH
ENV PATH="$PATH:${TOOLS_PATH}/bin"
ADD build.sh /usr/local/bin/build.sh
ENTRYPOINT ["/usr/local/bin/build.sh"]