blob: 1333a4bfaaa286bc1d9c24bc673c3ec4df86dbc5 [file] [log] [blame]
ARG VERSION=1
FROM ghcr.io/project-chip/chip-build:${VERSION} as build
LABEL org.opencontainers.image.source https://github.com/project-chip/connectedhomeip
# Setup toolchain
WORKDIR /opt/telink
RUN set -x \
&& curl --location https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.1/zephyr-sdk-0.16.1_linux-x86_64_minimal.tar.xz --output zephyr-sdk-0.16.1_linux-x86_64_minimal.tar.xz \
&& tar xvf zephyr-sdk-0.16.1_linux-x86_64_minimal.tar.xz \
&& rm -rf zephyr-sdk-0.16.1_linux-x86_64_minimal.tar.xz \
&& zephyr-sdk-0.16.1/setup.sh -t riscv64-zephyr-elf \
&& : # last line
# Setup Zephyr
ARG ZEPHYR_REVISION=68deadeb5c20b82d68700e720d4580e8003bf1d8
WORKDIR /opt/telink/zephyrproject
RUN set -x \
&& python3 -m pip install -U --no-cache-dir west \
&& git clone https://github.com/telink-semi/zephyr \
&& cd zephyr \
&& git reset ${ZEPHYR_REVISION} --hard \
&& west init -l \
&& cd .. \
&& west update -o=--depth=1 -n -f smart \
&& west blobs fetch hal_telink \
&& west zephyr-export \
&& : # last line
FROM ghcr.io/project-chip/chip-build:${VERSION}
COPY --from=build /opt/telink/zephyr-sdk-0.16.1/ /opt/telink/zephyr-sdk-0.16.1/
COPY --from=build /opt/telink/zephyrproject/ /opt/telink/zephyrproject/
RUN set -x \
&& apt-get update \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/ \
&& pip3 install --no-cache-dir --user -r /opt/telink/zephyrproject/zephyr/scripts/requirements.txt \
&& : # last line
ENV TELINK_ZEPHYR_BASE=/opt/telink/zephyrproject/zephyr
ENV TELINK_ZEPHYR_SDK_DIR=/opt/telink/zephyr-sdk-0.16.1