Files
docker-images/arch-builder/Dockerfile
Walter Oggioni a04d172a3b
Some checks failed
CI / Build arch-builder docker images (push) Has been cancelled
updated mirrorlist
2024-07-07 14:22:51 +08:00

73 lines
2.8 KiB
Docker

FROM archlinux:latest
COPY mirrorlist /etc/pacman.d/mirrolist
RUN pacman-key --refresh-keys
RUN pacman -Syu --noconfirm
RUN pacman -S --noconfirm --needed \
git \
rustup \
cmake \
base-devel \
meson \
bc \
cpio \
gettext \
libelf \
pahole \
perl \
python \
tar \
xz \
graphviz \
imagemagick \
python-sphinx \
python-yaml \
openssh \
texlive-latexextra \
jdk21-openjdk
RUN mkdir downloads
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 \
-o downloads/aarch64-unknown-linux-musl-gcc-13.2.0-1-x86_64.pkg.tar.zst
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 \
-o downloads/x86_64-unknown-linux-musl-gcc-13.2.0-1-x86_64.pkg.tar.zst
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 \
-o downloads/arm-unknown-linux-musleabihf-gcc-13.2.0-1-x86_64.pkg.tar.zst
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 \
-o downloads/arm-unknown-linux-musleabi-gcc-13.2.0-1-x86_64.pkg.tar.zst
RUN ln -s /opt/x-tools/arm-unknown-linux-musleabihf/bin/arm-unknown-linux-musleabi-gcc /usr/local/bin/arm-linux-musleabi-gcc
RUN curl --retry 3 https://gitea.woggioni.net/api/packages/woggioni/generic/x86_64-w64-mingw32-gcc/13.2.0/x86_64-w64-mingw32-gcc-13.2.0-1-x86_64.pkg.tar.zst \
-o downloads/x86_64-w64-mingw32-gcc-13.2.0-1-x86_64.pkg.tar.zst
RUN ln -s /opt/x-tools/x86_64-w64-mingw32/bin/x86_64-w64-mingw32-gcc /usr/local/bin/x86_64-pc-windows-gnu-gcc
RUN pacman -U downloads/*.pkg.tar.* --noconfirm
RUN rm -rf downloads
COPY makepkg/* /etc/
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
RUN mkdir .cargo
COPY config.toml .cargo/