FROM ghcr.io/cross-rs/arm-linux-androideabi:0.2.5 as android FROM ubuntu:22.04 RUN mkdir -p /usr/arm-linux-androideabi COPY --from=android /system/ /usr/arm-linux-androideabi/system ARG ARCH ENV ARCH="$ARCH" ENV PATH="${PATH}:/rust/bin" ENV RUST_COMPILER_RT_ROOT=/opt/compiler-rt ADD /scripts/install.sh /install.sh ADD /docker/entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh && \ chmod +x /install.sh && \ env ENVFILE=/env.sh /install.sh "${ARCH}" && \ rm -f /install.sh && \ mkdir -p /target && \ apt-get clean autoclean && \ apt-get autoremove --yes && \ rm -rf /var/cache/apt/archives && \ rm -rf /var/lib/apt/lists/* WORKDIR /target ENTRYPOINT ["/entrypoint.sh"] CMD ["/bin/bash"] ENV CC_arm_unknown_linux_gnueabi='arm-linux-gnueabi-gcc' ENV CXX_arm_unknown_linux_gnueabi='arm-linux-gnueabi-g++' ENV AR_arm_unknown_linux_gnueabi='arm-linux-gnueabi-ar' ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_LINKER='arm-linux-gnueabi-gcc' ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_RUNNER='qemu-arm -L /usr/arm-linux-gnueabi' ENV CC_arm_unknown_linux_musleabi='arm-linux-musleabi-gcc' ENV CXX_arm_unknown_linux_musleabi='arm-linux-musleabi-g++' ENV AR_arm_unknown_linux_musleabi='arm-linux-musleabi-ar' ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABI_LINKER='arm-linux-musleabi-gcc' ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABI_RUNNER='qemu-arm -L /usr/arm-linux-musleabi' ENV CC_armv7_unknown_linux_gnueabi='arm-linux-gnueabi-gcc' ENV CXX_armv7_unknown_linux_gnueabi='arm-linux-gnueabi-g++' ENV AR_armv7_unknown_linux_gnueabi='arm-linux-gnueabi-ar' ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABI_LINKER='arm-linux-gnueabi-gcc' ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABI_RUNNER='qemu-arm -L /usr/arm-linux-gnueabi' ENV CC_armv7_unknown_linux_musleabi='arm-linux-musleabi-gcc' ENV CXX_armv7_unknown_linux_musleabi='arm-linux-musleabi-g++' ENV AR_armv7_unknown_linux_musleabi='arm-linux-musleabi-ar' ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_MUSLEABI_LINKER='arm-linux-musleabi-gcc' ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_MUSLEABI_RUNNER='qemu-arm -L /usr/arm-linux-musleabi' ENV CC_armv5te_unknown_linux_gnueabi='arm-linux-gnueabi-gcc' ENV CXX_armv5te_unknown_linux_gnueabi='arm-linux-gnueabi-g++' ENV AR_armv5te_unknown_linux_gnueabi='arm-linux-gnueabi-ar' ENV CARGO_TARGET_ARMV5TE_UNKNOWN_LINUX_GNUEABI_LINKER='arm-linux-gnueabi-gcc' ENV CARGO_TARGET_ARMV5TE_UNKNOWN_LINUX_GNUEABI_RUNNER='qemu-arm -L /usr/arm-linux-gnueabi' ENV CC_armv5te_unknown_linux_musleabi='/armv5te-musl.sh' ENV CXX_armv5te_unknown_linux_musleabi='arm-linux-musleabi-g++' ENV AR_armv5te_unknown_linux_musleabi='arm-linux-musleabi-ar' ENV CARGO_TARGET_ARMV5TE_UNKNOWN_LINUX_MUSLEABI_LINKER='/armv5te-musl.sh' ENV CARGO_TARGET_ARMV5TE_UNKNOWN_LINUX_MUSLEABI_RUNNER='qemu-arm -L /usr/arm-linux-musleabi' ENV CC_arm_unknown_linux_gnueabihf='arm-linux-gnueabihf-gcc' ENV CXX_arm_unknown_linux_gnueabihf='arm-linux-gnueabihf-g++' ENV AR_arm_unknown_linux_gnueabihf='arm-linux-gnueabihf-ar' ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER='arm-linux-gnueabihf-gcc' ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_RUNNER='qemu-arm -L /usr/arm-linux-gnueabihf' ENV CC_arm_unknown_linux_musleabihf='arm-linux-musleabihf-gcc' ENV CXX_arm_unknown_linux_musleabihf='arm-linux-musleabihf-g++' ENV AR_arm_unknown_linux_musleabihf='arm-linux-musleabihf-ar' ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABIHF_LINKER='arm-linux-musleabihf-gcc' ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABIHF_RUNNER='qemu-arm -L /usr/arm-linux-musleabihf' ENV CC_armv7_unknown_linux_gnueabihf='arm-linux-gnueabihf-gcc' ENV CXX_armv7_unknown_linux_gnueabihf='arm-linux-gnueabihf-g++' ENV AR_armv7_unknown_linux_gnueabihf='arm-linux-gnueabihf-ar' ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER='arm-linux-gnueabihf-gcc' ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER='qemu-arm -L /usr/arm-linux-gnueabihf' ENV CC_armv7_unknown_linux_musleabihf='arm-linux-musleabihf-gcc' ENV CXX_armv7_unknown_linux_musleabihf='arm-linux-musleabihf-g++' ENV AR_armv7_unknown_linux_musleabihf='arm-linux-musleabihf-ar' ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_MUSLEABIHF_LINKER='arm-linux-musleabihf-gcc' ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_MUSLEABIHF_RUNNER='qemu-arm -L /usr/arm-linux-musleabihf' ENV CC_thumbv7neon_unknown_linux_gnueabihf='arm-linux-gnueabihf-gcc' ENV CXX_thumbv7neon_unknown_linux_gnueabihf='arm-linux-gnueabihf-g++' ENV AR_thumbv7neon_unknown_linux_gnueabihf='arm-linux-gnueabihf-ar' ENV CARGO_TARGET_THUMBV7NEON_UNKNOWN_LINUX_GNUEABIHF_LINKER='arm-linux-gnueabihf-gcc' ENV CARGO_TARGET_THUMBV7NEON_UNKNOWN_LINUX_GNUEABIHF_RUNNER='qemu-arm -L /usr/arm-linux-gnueabihf' ENV CC_thumbv7neon_unknown_linux_musleabihf='arm-linux-musleabihf-gcc' ENV CXX_thumbv7neon_unknown_linux_musleabihf='arm-linux-musleabihf-g++' ENV AR_thumbv7neon_unknown_linux_musleabihf='arm-linux-musleabihf-ar' ENV CARGO_TARGET_THUMBV7NEON_UNKNOWN_LINUX_MUSLEABIHF_LINKER='arm-linux-musleabihf-gcc' ENV CARGO_TARGET_THUMBV7NEON_UNKNOWN_LINUX_MUSLEABIHF_RUNNER='qemu-arm -L /usr/arm-linux-musleabihf' ENV CC_arm_linux_androideabi='arm-linux-androideabi-gcc' ENV CXX_arm_linux_androideabi='arm-linux-androideabi-g++' ENV AR_arm_linux_androideabi='arm-linux-androideabi-ar' ENV CARGO_TARGET_ARM_LINUX_ANDROIDEABI_LINKER='arm-linux-androideabi-gcc' ENV CARGO_TARGET_ARM_LINUX_ANDROIDEABI_RUNNER='qemu-arm -L /usr/arm-linux-androideabi' ENV CC_armv7_linux_androideabi='arm-linux-androideabi-gcc' ENV CXX_armv7_linux_androideabi='arm-linux-androideabi-g++' ENV AR_armv7_linux_androideabi='arm-linux-androideabi-ar' ENV CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER='arm-linux-androideabi-gcc' ENV CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_RUNNER='qemu-arm -L /usr/arm-linux-androideabi' ENV CC_thumbv7neon_linux_androideabi='arm-linux-androideabi-gcc' ENV CXX_thumbv7neon_linux_androideabi='arm-linux-androideabi-g++' ENV AR_thumbv7neon_linux_androideabi='arm-linux-androideabi-ar' ENV CARGO_TARGET_THUMBV7NEON_LINUX_ANDROIDEABI_LINKER='arm-linux-androideabi-gcc' ENV CARGO_TARGET_THUMBV7NEON_LINUX_ANDROIDEABI_RUNNER='qemu-arm -L /usr/arm-linux-androideabi' ENV PATH="${PATH}:/android-ndk/bin"