2023-01-22 10:10:26 +00:00
|
|
|
# Keep tracking base image
|
|
|
|
FROM rust:1.66-slim-bullseye
|
2022-08-01 13:35:13 +00:00
|
|
|
|
2022-08-01 07:43:03 +00:00
|
|
|
# Set needed env path
|
|
|
|
ENV PATH="/opt/aarch64-linux-musl-cross/:/opt/aarch64-linux-musl-cross/bin/:/opt/x86_64-linux-musl-cross/:/opt/x86_64-linux-musl-cross/bin/:$PATH"
|
|
|
|
|
|
|
|
### Install build deps x86_64
|
|
|
|
RUN apt update && \
|
|
|
|
apt install -y --no-install-recommends curl git wget build-essential make perl pkg-config curl tar jq musl-tools && \
|
|
|
|
curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && \
|
|
|
|
apt update && \
|
|
|
|
apt install -y --no-install-recommends nodejs && \
|
|
|
|
apt clean && \
|
|
|
|
rm -rf /var/lib/apt/lists/* && \
|
|
|
|
npm install -g npm && \
|
|
|
|
npm install -g yarn && \
|
|
|
|
npm install -g pnpm
|
|
|
|
|
|
|
|
### Install build deps aarch64 build
|
|
|
|
RUN dpkg --add-architecture arm64 && \
|
|
|
|
apt update && \
|
|
|
|
apt install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libc6-arm64-cross libc6-dev-arm64-cross && \
|
|
|
|
apt clean && \
|
|
|
|
rm -rf /var/lib/apt/lists/* && \
|
|
|
|
rustup target add aarch64-unknown-linux-gnu
|
|
|
|
|
2023-01-22 10:10:26 +00:00
|
|
|
### armhf deps
|
|
|
|
RUN dpkg --add-architecture armhf && \
|
|
|
|
apt update && \
|
|
|
|
apt install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf libc6-armhf-cross libc6-dev-armhf-cross && \
|
|
|
|
apt clean && \
|
|
|
|
rm -rf /var/lib/apt/lists/* && \
|
|
|
|
rustup target add armv7-unknown-linux-gnueabihf
|
|
|
|
|
2022-08-01 07:43:03 +00:00
|
|
|
### Add musl-gcc aarch64 and x86_64
|
|
|
|
RUN wget -c https://musl.cc/x86_64-linux-musl-cross.tgz && \
|
|
|
|
tar zxf ./x86_64-linux-musl-cross.tgz -C /opt && \
|
|
|
|
wget -c https://musl.cc/aarch64-linux-musl-cross.tgz && \
|
|
|
|
tar zxf ./aarch64-linux-musl-cross.tgz -C /opt && \
|
|
|
|
rm ./x86_64-linux-musl-cross.tgz && \
|
|
|
|
rm ./aarch64-linux-musl-cross.tgz
|
|
|
|
|
2023-01-22 10:10:26 +00:00
|
|
|
### Add musl target
|
|
|
|
RUN rustup target add x86_64-unknown-linux-musl && \
|
|
|
|
rustup target add aarch64-unknown-linux-musl
|
|
|
|
|
|
|
|
|
2022-08-01 07:43:03 +00:00
|
|
|
CMD ["bash"]
|