Files
docker-images/rust-builder/Dockerfile
Walter Oggioni 7ebdecc08d
Some checks failed
CI / Build rust-builder docker images (push) Has been cancelled
added rust builder docker image
2024-06-29 20:45:21 +08:00

38 lines
1.9 KiB
Docker

FROM archlinux:latest
RUN pacman-key --refresh-keys
RUN pacman -Syu --noconfirm
RUN pacman -S --noconfirm git rustup cmake base-devel meson
RUN curl --retry 3 https://gitea.woggioni.net/api/packages/woggioni/generic/aarch64-unknown-linux-musl-gcc/13.2.0/aarch64-unknown-linux-musl-gcc-13.2.0-1-x86_64.pkg.tar.zst | pacman -U - --noconfirm
RUN ln -s /opt/x-tools/aarch64-unknown-linux-musl/bin/aarch64-unknown-linux-musl-gcc /usr/local/bin/aarch64-linux-musl-gcc
RUN curl --retry 3 https://gitea.woggioni.net/api/packages/woggioni/generic/x86_64-unknown-linux-musl-gcc/13.2.0/x86_64-unknown-linux-musl-gcc-13.2.0-1-x86_64.pkg.tar.zst | pacman -U - --noconfirm
RUN ln -s /opt/x-tools/x86_64-woggioni-linux-musl/bin/x86_64-woggioni-linux-musl-gcc /usr/local/bin/x86_64-linux-musl-gcc
RUN curl --retry 3 https://gitea.woggioni.net/api/packages/woggioni/generic/arm-unknown-linux-musleabihf-gcc/13.2.0/arm-unknown-linux-musleabihf-gcc-13.2.0-1-x86_64.pkg.tar.zst | pacman -U - --noconfirm
RUN ln -s /opt/x-tools/arm-unknown-linux-musleabihf/bin/arm-unknown-linux-musleabihf-gcc /usr/local/bin/arm-linux-musleabihf-gcc
RUN curl --retry 3 https://gitea.woggioni.net/api/packages/woggioni/generic/arm-unknown-linux-musleabi-gcc/13.2.0/arm-unknown-linux-musleabi-gcc-13.2.0-1-x86_64.pkg.tar.zst | pacman -U - --noconfirm
RUN ln -s /opt/x-tools/arm-unknown-linux-musleabihf/bin/arm-unknown-linux-musleabi-gcc /usr/local/bin/arm-linux-musleabi-gcc
COPY makepkg-aarch64.conf /etc/makepkg-aarch64.conf
COPY makepkg-armv7h.conf /etc/makepkg-armv7h.conf
RUN useradd luser -G users -u 1000 -s /bin/bash -m -d /home/luser
USER luser
WORKDIR /home/luser
RUN rustup toolchain install stable-x86_64-unknown-linux-gnu
RUN rustup target add \
x86_64-unknown-linux-musl \
x86_64-unknown-linux-gnu \
wasm32-wasi \
armv7-unknown-linux-musleabihf \
arm-unknown-linux-musleabi \
aarch64-unknown-linux-musl \
aarch64-unknown-linux-gnu
ENTRYPOINT /bin/bash