|
1 | 1 | ARG VERSION=latest
|
2 |
| -FROM connectedhomeip/chip-build:${VERSION} as build |
3 |
| - |
4 |
| -# Compatible Nordic Connect SDK revision. |
5 |
| -ARG NCS_REVISION=v2.1.1 |
6 |
| - |
7 |
| -RUN set -x \ |
8 |
| - && apt-get update \ |
9 |
| - && apt-get install --no-install-recommends -fy \ |
10 |
| - curl \ |
11 |
| - && apt-get clean \ |
12 |
| - && rm -rf /var/lib/apt/lists/ \ |
13 |
| - && : # last line |
14 | 2 |
|
15 | 3 | # ==================================================
|
16 |
| -# nRF Connect SDK dependencies |
| 4 | +# Temporary image for SDK and dependencies download |
17 | 5 | # ==================================================
|
18 | 6 |
|
| 7 | +FROM connectedhomeip/chip-build:${VERSION} as build |
| 8 | +# Compatible Nordic Connect SDK revision. |
| 9 | +ARG NCS_REVISION=v2.2.0 |
| 10 | + |
19 | 11 | SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
| 12 | +WORKDIR /opt/NordicSemiconductor/nRF5_tools |
20 | 13 | RUN set -x \
|
21 |
| - && mkdir -p /opt/NordicSemiconductor/nRF5_tools/ \ |
22 |
| - && curl --location https://nsscprodmedia.blob.core.windows.net/prod/software-and-other-downloads/desktop-software/nrf-command-line-tools/sw/versions-10-x-x/10-12-1/nrfcommandlinetools10121linuxamd64.tar.gz \ |
| 14 | + && curl --location https://nsscprodmedia.blob.core.windows.net/prod/software-and-other-downloads/desktop-software/nrf-command-line-tools/sw/versions-10-x-x/10-18-1/nrf-command-line-tools-10.18.1_linux-amd64.tar.gz \ |
| 15 | + | tar zxvf - \ |
| 16 | + && tar xvf JLink_Linux_V780c_x86_64.tgz \ |
| 17 | + && rm JLink_Linux_V780c_x86_64.* \ |
| 18 | + && curl --location https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.15.2/zephyr-sdk-0.15.2_linux-x86_64_minimal.tar.gz \ |
23 | 19 | | tar zxvf - \
|
24 |
| - && tar xvf JLink_Linux_V688a_x86_64.tgz -C /opt/NordicSemiconductor/nRF5_tools/ \ |
25 |
| - && tar xvf nRF-Command-Line-Tools_10_12_1.tar -C /opt/NordicSemiconductor/nRF5_tools/ \ |
| 20 | + && zephyr-sdk-0.15.2/setup.sh -t arm-zephyr-eabi \ |
26 | 21 | && : # last line
|
27 | 22 |
|
28 | 23 | WORKDIR /opt/NordicSemiconductor/nrfconnect
|
29 | 24 | RUN set -x \
|
30 |
| - && python3 -m pip install -U --no-cache-dir \ |
31 |
| - west==0.13.1 \ |
32 |
| - && west init -m https://github.com/nrfconnect/sdk-nrf \ |
33 |
| - && git -C nrf fetch origin "$NCS_REVISION" \ |
34 |
| - && git -C nrf checkout FETCH_HEAD \ |
| 25 | + && python3 -m pip install -U --no-cache-dir west==0.14.0 \ |
| 26 | + && west init -m https://github.com/nrfconnect/sdk-nrf --mr "$NCS_REVISION" \ |
35 | 27 | && west config update.narrow true \
|
36 | 28 | && west config update.fetch smart \
|
37 | 29 | && west update -o=--depth=1 -n -f smart \
|
38 | 30 | && : # last line
|
39 | 31 |
|
| 32 | +# ================================================== |
| 33 | +# nRF Connect SDK final image |
| 34 | +# ================================================== |
| 35 | + |
40 | 36 | FROM connectedhomeip/chip-build:${VERSION}
|
41 | 37 |
|
42 | 38 | # Tools for building, flashing and accessing device logs
|
43 | 39 | RUN set -x \
|
44 | 40 | && apt-get update \
|
45 |
| - && apt-get install --no-install-recommends -fy \ |
46 |
| - device-tree-compiler=1.5.1-1 \ |
47 |
| - ccache=3.7.7-1 \ |
| 41 | + && apt-get install --no-install-recommends -fy device-tree-compiler=1.5.1-1 \ |
48 | 42 | && apt-get clean \
|
49 | 43 | && rm -rf /var/lib/apt/lists/ \
|
50 | 44 | && : # last line
|
51 | 45 |
|
52 | 46 | COPY --from=build /opt/NordicSemiconductor/nRF5_tools/ /opt/NordicSemiconductor/nRF5_tools/
|
53 | 47 | COPY --from=build /opt/NordicSemiconductor/nrfconnect/ /opt/NordicSemiconductor/nrfconnect/
|
54 | 48 |
|
55 |
| -# ================================================== |
56 |
| -# nRF Connect SDK |
57 |
| -# ================================================== |
58 |
| - |
59 | 49 | RUN set -x \
|
60 | 50 | # python3-yaml package conflicts with nRF Python requirements
|
61 | 51 | && (apt-get remove -fy python3-yaml && apt-get autoremove || exit 0) \
|
62 |
| - && python3 -m pip install -U --no-cache-dir cmake==3.22.5 \ |
63 |
| - && python3 -m pip install --no-cache-dir -r /opt/NordicSemiconductor/nrfconnect/zephyr/scripts/requirements.txt \ |
| 52 | + && python3 -m pip install -U --no-cache-dir cmake==3.25.0 \ |
| 53 | + && python3 -m pip install --no-cache-dir -r /opt/NordicSemiconductor/nrfconnect/zephyr/scripts/requirements-base.txt \ |
64 | 54 | && python3 -m pip install --no-cache-dir -r /opt/NordicSemiconductor/nrfconnect/nrf/scripts/requirements-build.txt \
|
65 | 55 | && python3 -m pip install --no-cache-dir -r /opt/NordicSemiconductor/nrfconnect/bootloader/mcuboot/scripts/requirements.txt \
|
66 | 56 | && : # last line
|
67 | 57 |
|
68 | 58 | ENV NRF5_TOOLS_ROOT=/opt/NordicSemiconductor/nRF5_tools
|
69 |
| -ENV PATH=${NRF5_TOOLS_ROOT}/JLink_Linux_V688a_x86_64:${PATH} |
70 |
| -ENV PATH=${NRF5_TOOLS_ROOT}/mergehex:${NRF5_TOOLS_ROOT}/nrfjprog:${PATH} |
71 |
| -ENV LD_LIBRARY_PATH=${NRF5_TOOLS_ROOT}/JLink_Linux_V688a_x86_64:${LD_LIBRARY_PATH} |
| 59 | +ENV PATH=${NRF5_TOOLS_ROOT}/JLink_Linux_V780c_x86_64:${PATH} |
| 60 | +ENV PATH=${NRF5_TOOLS_ROOT}/nrf-command-line-tools/bin:${PATH} |
| 61 | +ENV LD_LIBRARY_PATH=${NRF5_TOOLS_ROOT}/JLink_Linux_V780c_x86_64:${LD_LIBRARY_PATH} |
72 | 62 | ENV LC_ALL=C.UTF-8
|
73 | 63 | ENV LANG=C.UTF-8
|
74 | 64 | ENV ZEPHYR_BASE=/opt/NordicSemiconductor/nrfconnect/zephyr
|
75 |
| -ENV ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb |
| 65 | +ENV ZEPHYR_SDK_INSTALL_DIR=${NRF5_TOOLS_ROOT}/zephyr-sdk-0.15.2 |
| 66 | +ENV ZEPHYR_TOOLCHAIN_VARIANT=zephyr |
| 67 | +ENV ZEPHYR_TOOLCHAIN_PATH=${ZEPHYR_SDK_INSTALL_DIR}/arm-zephyr-eabi |
0 commit comments