|
| 1 | +# This is the dockerfile used to build the muslcc container hosted by vonericsen on dockerhub |
| 2 | + |
| 3 | +# Use an Alpine base image |
| 4 | +FROM alpine:latest |
| 5 | + |
| 6 | +# Install necessary packages |
| 7 | +RUN apk add --no-cache \ |
| 8 | + build-base \ |
| 9 | + curl \ |
| 10 | + ca-certificates \ |
| 11 | + git \ |
| 12 | + bash \ |
| 13 | + python3 \ |
| 14 | + py3-pip \ |
| 15 | + meson \ |
| 16 | + ninja \ |
| 17 | + xz |
| 18 | + |
| 19 | +# Copy the install script into the Docker image |
| 20 | +COPY install-muslcc.sh /usr/local/bin/install-muslcc.sh |
| 21 | +RUN chmod +x /usr/local/bin/install-muslcc.sh |
| 22 | + |
| 23 | +# Run the install script for each architecture |
| 24 | +RUN /usr/local/bin/install-muslcc.sh -a aarch64 |
| 25 | +RUN /usr/local/bin/install-muslcc.sh -a armv5l |
| 26 | +RUN /usr/local/bin/install-muslcc.sh -a armv5lhf |
| 27 | +RUN /usr/local/bin/install-muslcc.sh -a armv6 |
| 28 | +RUN /usr/local/bin/install-muslcc.sh -a armv6hf |
| 29 | +RUN /usr/local/bin/install-muslcc.sh -a armv7l |
| 30 | +RUN /usr/local/bin/install-muslcc.sh -a armv7r |
| 31 | +RUN /usr/local/bin/install-muslcc.sh -a i486 |
| 32 | +RUN /usr/local/bin/install-muslcc.sh -a i686 |
| 33 | +RUN /usr/local/bin/install-muslcc.sh -a mips |
| 34 | +RUN /usr/local/bin/install-muslcc.sh -a mips64 |
| 35 | +RUN /usr/local/bin/install-muslcc.sh -a mipsel |
| 36 | +RUN /usr/local/bin/install-muslcc.sh -a mips64el |
| 37 | +RUN /usr/local/bin/install-muslcc.sh -a powerpc |
| 38 | +RUN /usr/local/bin/install-muslcc.sh -a powerpcle |
| 39 | +RUN /usr/local/bin/install-muslcc.sh -a powerpc64 |
| 40 | +RUN /usr/local/bin/install-muslcc.sh -a powerpc64le |
| 41 | +RUN /usr/local/bin/install-muslcc.sh -a riscv64 |
| 42 | +RUN /usr/local/bin/install-muslcc.sh -a s390x |
| 43 | +RUN /usr/local/bin/install-muslcc.sh -a x86_64 |
| 44 | + |
| 45 | +# Set environment variables for the compilers |
| 46 | +ENV PATH="$PATH:/opt/muslcc/aarch64-linux-musl-cross/bin:/opt/muslcc/armv5l-linux-musleabi-cross/bin:/opt/muslcc/armv5l-linux-musleabihf-cross/bin:/opt/muslcc/armv6-linux-musleabi-cross/bin:/opt/muslcc/armv6-linux-musleabihf-cross/bin:/opt/muslcc/armv7l-linux-musleabihf-cross/bin:/opt/muslcc/armv7r-linux-musleabihf-cross/bin:/opt/muslcc/i486-linux-musl-cross/bin:/opt/muslcc/i686-linux-musl-cross/bin:/opt/muslcc/mips-linux-musl-cross/bin:/opt/muslcc/mips64-linux-musl-cross/bin:/opt/muslcc/mips64el-linux-musl-cross/bin:/opt/muslcc/mipsel-linux-musl-cross/bin:/opt/muslcc/powerpc-linux-musl-cross/bin:/opt/muslcc/powerpc64-linux-musl-cross/bin:/opt/muslcc/powerpc64le-linux-musl-cross/bin:/opt/muslcc/powerpcle-linux-musl-cross/bin:/opt/muslcc/riscv64-linux-musl-cross/bin:/opt/muslcc/s390x-linux-musl-cross/bin:/opt/muslcc/x86_64-linux-musl-cross/bin" |
| 47 | + |
| 48 | +# Verify installation |
| 49 | +RUN aarch64-linux-musl-gcc --version |
| 50 | +RUN armv5l-linux-musleabi-gcc --version |
| 51 | +RUN armv5l-linux-musleabihf-gcc --version |
| 52 | +RUN armv6-linux-musleabi-gcc --version |
| 53 | +RUN armv6-linux-musleabihf-gcc --version |
| 54 | +RUN armv7l-linux-musleabihf-gcc --version |
| 55 | +RUN armv7r-linux-musleabihf-gcc --version |
| 56 | +RUN i486-linux-musl-gcc --version |
| 57 | +RUN i686-linux-musl-gcc --version |
| 58 | +RUN mips-linux-musl-gcc --version |
| 59 | +RUN mips64-linux-musl-gcc --version |
| 60 | +RUN mipsel-linux-musl-gcc --version |
| 61 | +RUN mips64el-linux-musl-gcc --version |
| 62 | +RUN powerpc-linux-musl-gcc --version |
| 63 | +RUN powerpcle-linux-musl-gcc --version |
| 64 | +RUN powerpc64-linux-musl-gcc --version |
| 65 | +RUN powerpc64le-linux-musl-gcc --version |
| 66 | +RUN riscv64-linux-musl-gcc --version |
| 67 | +RUN s390x-linux-musl-gcc --version |
| 68 | +RUN x86_64-linux-musl-gcc --version |
0 commit comments