34 lines
1.5 KiB
Docker
34 lines
1.5 KiB
Docker
|
|
FROM espressif/idf
|
||
|
|
ENV LC_ALL=C.UTF-8
|
||
|
|
ENV LANG=C.UTF-8
|
||
|
|
ENV RUSTUP_HOME=/opt/rust
|
||
|
|
ENV CARGO_HOME=/opt/cargo
|
||
|
|
ENV PATH=/opt/cargo/bin:/opt/rust/bin:/opt/xtensa-esp32-elf-clang/bin:$PATH
|
||
|
|
|
||
|
|
ARG VERSION="1.54.0-dev"
|
||
|
|
ARG ARCH="x86_64-unknown-linux-gnu"
|
||
|
|
ARG RUST_DIST="rust-${VERSION}-${ARCH}"
|
||
|
|
ARG RUST_SRC_DIST="rust-src-${VERSION}"
|
||
|
|
ARG TOOLCHAIN_DESTINATION_DIR="/opt/esp"
|
||
|
|
|
||
|
|
RUN curl https://sh.rustup.rs -sSf | bash -s -- --profile minimal --default-toolchain nightly -y
|
||
|
|
WORKDIR /opt
|
||
|
|
|
||
|
|
#RUN wget -q https://dl.espressif.com/dl/idf-rust/dist/${ARCH}/${RUST_DIST}.tar.xz \
|
||
|
|
RUN wget -q https://github.com/georgik/idf-rust-build/releases/download/v${VERSION}/${RUST_DIST}.tar.xz \
|
||
|
|
&& tar xvf ${RUST_DIST}.tar.xz \
|
||
|
|
&& ./${RUST_DIST}/install.sh --destdir=${TOOLCHAIN_DESTINATION_DIR} --prefix="" --without=rust-docs \
|
||
|
|
&& rm -rf ${RUST_DIST} ${RUST_DIST}.tar.xz
|
||
|
|
|
||
|
|
RUN wget -q https://dl.espressif.com/dl/idf-rust/dist/noarch/${RUST_SRC_DIST}.tar.xz \
|
||
|
|
&& tar xvf ${RUST_SRC_DIST}.tar.xz \
|
||
|
|
&& ./${RUST_SRC_DIST}/install.sh --destdir=${TOOLCHAIN_DESTINATION_DIR} --prefix="" --without=rust-docs \
|
||
|
|
&& rm -rf ${RUST_SRC_DIST} ${RUST_SRC_DIST}.tar.xz \
|
||
|
|
&& rustup toolchain link esp /opt/esp \
|
||
|
|
&& rustup default esp
|
||
|
|
|
||
|
|
RUN wget -q https://dl.espressif.com/dl/idf-rust/dist/${ARCH}/xtensa-esp32-elf-llvm11_0_0-llvmorg-11-init-21249-g36dbc8b-linux-amd64.tar.xz \
|
||
|
|
&& tar xf xtensa-esp32-elf-llvm11_0_0-llvmorg-11-init-21249-g36dbc8b-linux-amd64.tar.xz \
|
||
|
|
&& rm xtensa-esp32-elf-llvm11_0_0-llvmorg-11-init-21249-g36dbc8b-linux-amd64.tar.xz
|
||
|
|
|