@@ -43,30 +43,10 @@ RUN ./post-provision.sh
4343# INSTALL THE PATH FOR INTERACTIVE SESSIONS
4444RUN echo "export PATH=$PATH" >> ~/.bashrc
4545
46- # LEAVE THE WORKDIR AS /repo
47- WORKDIR /repo
48-
49- # +---------------------------------------------------------------------------+
50- # | INSTALL PYTHON STUFF
51- # +---------------------------------------------------------------------------+
52- FROM provisioning AS python
53- WORKDIR /tmp
54-
55- RUN apt-get -y install pipx
56- RUN echo "export PATH=/root/.local/bin:$PATH" >> ~/.bashrc
57- RUN pipx install tox
58- RUN pipx install nox
59- RUN pipx install gcovr
60- RUN pipx install yakut
61- RUN git clone --depth 1 https://github.com/OpenCyphal/public_regulated_data_types.git ~/public_regulated_data_types
62-
63- # LEAVE THE WORKDIR AS /repo
64- WORKDIR /repo
65-
6646# +---------------------------------------------------------------------------+
6747# | LLVM
6848# +---------------------------------------------------------------------------+
69- FROM python AS llvm
49+ FROM provisioning AS llvm
7050WORKDIR /tmp
7151
7252ADD llvm-install.sh ./llvm-install.sh
@@ -76,9 +56,6 @@ RUN ./llvm-select.sh 18 18
7656RUN ./llvm-install.sh 19 all
7757RUN ./llvm-select.sh 19 99
7858
79- # LEAVE THE WORKDIR AS /repo
80- WORKDIR /repo
81-
8259# +---------------------------------------------------------------------------+
8360# | DOXYGEN BUILD (PARALLEL)
8461# +---------------------------------------------------------------------------+
@@ -109,9 +86,6 @@ RUN cmake --install .
10986WORKDIR /tmp
11087RUN rm -rf doxygen-Release
11188
112- # LEAVE THE WORKDIR AS /repo
113- WORKDIR /repo
114-
11589# +---------------------------------------------------------------------------+
11690# | GCC::native
11791# +---------------------------------------------------------------------------+
@@ -140,7 +114,7 @@ FROM arm-none-eabi-${TARGETARCH} AS arm-none-eabi
140114WORKDIR /tmp
141115COPY cached-download.sh .
142116
143- ARG ARM_NONE_EABI_VERSION=13.3 .rel1
117+ ARG ARM_NONE_EABI_VERSION=14.2 .rel1
144118ARG ARM_NONE_EABI_CHECKSUM_FILE=arm-gnu-toolchain-${ARM_NONE_EABI_VERSION}-${GCC_HOST_VERSION}-arm-none-eabi.tar.xz.sha256asc
145119
146120COPY ${ARM_NONE_EABI_CHECKSUM_FILE} .
@@ -157,5 +131,41 @@ ADD arm-none-eabi-gcc-select.sh ./arm-none-eabi-gcc-select.sh
157131RUN ./arm-none-eabi-gcc-select.sh 1 /opt/arm-gnu-toolchain-${ARM_NONE_EABI_VERSION}-${GCC_HOST_VERSION}-arm-none-eabi/bin/
158132RUN update-alternatives --display arm-none-eabi-gcc
159133
134+ # +---------------------------------------------------------------------------+
135+ # | GCC::native
136+ # +---------------------------------------------------------------------------+
137+ FROM arm-none-eabi AS jlink
138+
139+ WORKDIR /tmp
140+
141+ # From the forum: https://forum.segger.com/index.php/Thread/8953-SOLVED-J-Link-Linux-installer-fails-for-Docker-containers-Error-Failed-to-update/
142+ ADD JLink_Linux_V816_${TARGETARCH}.deb ./JLink_Linux_V816.deb
143+ RUN apt-get -y install libxcb-render-util0 libxcb-icccm4 libxcb-keysyms1 libxcb-image0 libxkbcommon0 libxkbcommon-x11-0
144+ RUN dpkg --unpack JLink_Linux_V816.deb \
145+ && rm -f /var/lib/dpkg/info/jlink.postinst
146+ RUN dpkg --configure jlink
147+ RUN apt install -yf
148+ RUN echo "export PATH=/opt/SEGGER/JLink:$PATH" >> ~/.bashrc
149+ RUN rm JLink_Linux_V816.deb
150+
151+ # +---------------------------------------------------------------------------+
152+ # | INSTALL PYTHON STUFF
153+ # +---------------------------------------------------------------------------+
154+ FROM jlink AS python
155+ WORKDIR /tmp
156+
157+ RUN apt-get -y install pipx
158+ ENV PIPX_HOME=/opt/pipx
159+ ENV PIPX_BIN_DIR=/usr/local/bin
160+ RUN echo "export PATH=$PIPX_HOME:$PIPX_BIN_DIR:$PATH" >> ~/.bashrc
161+ RUN pipx install cowsay
162+ RUN pipx install tox
163+ RUN pipx install nox
164+ RUN pipx install gcovr
165+ RUN pipx install yakut
166+ RUN cowsay -t moo
167+ RUN git clone --depth 1 https://github.com/OpenCyphal/public_regulated_data_types.git ~/public_regulated_data_types
168+
169+ # +---------------------------------------------------------------------------+# LEAVE THE WORKDIR AS /repo
160170# LEAVE THE WORKDIR AS /repo
161171WORKDIR /repo
0 commit comments