@@ -43,30 +43,10 @@ RUN ./post-provision.sh
43
43
# INSTALL THE PATH FOR INTERACTIVE SESSIONS
44
44
RUN echo "export PATH=$PATH" >> ~/.bashrc
45
45
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
-
66
46
# +---------------------------------------------------------------------------+
67
47
# | LLVM
68
48
# +---------------------------------------------------------------------------+
69
- FROM python AS llvm
49
+ FROM provisioning AS llvm
70
50
WORKDIR /tmp
71
51
72
52
ADD llvm-install.sh ./llvm-install.sh
@@ -76,9 +56,6 @@ RUN ./llvm-select.sh 18 18
76
56
RUN ./llvm-install.sh 19 all
77
57
RUN ./llvm-select.sh 19 99
78
58
79
- # LEAVE THE WORKDIR AS /repo
80
- WORKDIR /repo
81
-
82
59
# +---------------------------------------------------------------------------+
83
60
# | DOXYGEN BUILD (PARALLEL)
84
61
# +---------------------------------------------------------------------------+
@@ -109,9 +86,6 @@ RUN cmake --install .
109
86
WORKDIR /tmp
110
87
RUN rm -rf doxygen-Release
111
88
112
- # LEAVE THE WORKDIR AS /repo
113
- WORKDIR /repo
114
-
115
89
# +---------------------------------------------------------------------------+
116
90
# | GCC::native
117
91
# +---------------------------------------------------------------------------+
@@ -140,7 +114,7 @@ FROM arm-none-eabi-${TARGETARCH} AS arm-none-eabi
140
114
WORKDIR /tmp
141
115
COPY cached-download.sh .
142
116
143
- ARG ARM_NONE_EABI_VERSION=13.3 .rel1
117
+ ARG ARM_NONE_EABI_VERSION=14.2 .rel1
144
118
ARG ARM_NONE_EABI_CHECKSUM_FILE=arm-gnu-toolchain-${ARM_NONE_EABI_VERSION}-${GCC_HOST_VERSION}-arm-none-eabi.tar.xz.sha256asc
145
119
146
120
COPY ${ARM_NONE_EABI_CHECKSUM_FILE} .
@@ -157,5 +131,41 @@ ADD arm-none-eabi-gcc-select.sh ./arm-none-eabi-gcc-select.sh
157
131
RUN ./arm-none-eabi-gcc-select.sh 1 /opt/arm-gnu-toolchain-${ARM_NONE_EABI_VERSION}-${GCC_HOST_VERSION}-arm-none-eabi/bin/
158
132
RUN update-alternatives --display arm-none-eabi-gcc
159
133
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
160
170
# LEAVE THE WORKDIR AS /repo
161
171
WORKDIR /repo
0 commit comments