## This file can be used to build x86 Linux, x86 Windows and Wasm versions of a Bevy project FROM r.lcr.gr/microhacks/msdfgen-builder:latest AS msdfgen FROM rust:1.70.0-slim AS trunkbuild RUN cargo install --locked trunk && \ rm -rf ~/.cargo/registry/{cache,src} FROM rust:1.70.0-slim COPY --from=msdfgen /usr/bin/msdf-atlas-gen /usr/bin/msdf-atlas-gen RUN apt-get update -yqq && \ apt-get upgrade -yqq &&\ apt-get install -yqq --no-install-recommends \ ca-certificates \ build-essential \ g++ \ gcc-multilib \ clang \ pkg-config \ libx11-dev \ libasound2-dev \ libudev-dev \ lld \ libgtk-3-dev \ libwebkit2gtk-4.0-dev \ curl \ wget \ libssl-dev \ libgtk-3-dev \ libayatana-appindicator3-dev \ librsvg2-dev \ git \ git-lfs \ zip \ g++-mingw-w64-x86-64 RUN rustup target add x86_64-pc-windows-gnu RUN rustup target add wasm32-unknown-unknown RUN wget https://lab.lcr.gr/microhacks/crunch/-/jobs/artifacts/trunk/raw/target/release/crunch?job=build-linux && \ mv 'crunch?job=build-linux' crunch && \ chmod +x crunch && \ mv crunch /usr/local/bin/crunch RUN wget https://lab.lcr.gr/microhacks/flit/-/jobs/artifacts/trunk/raw/target/release/flit?job=build-linux && \ mv 'flit?job=build-linux' flit && \ chmod +x flit && \ mv flit /usr/local/bin/flit RUN wget https://github.com/rui314/mold/releases/download/v1.7.1/mold-1.7.1-x86_64-linux.tar.gz && \ tar -xvzf mold-1.7.1-x86_64-linux.tar.gz && \ mv mold-1.7.1-x86_64-linux/bin/* /usr/bin/ && \ mv mold-1.7.1-x86_64-linux/lib/* /usr/lib/ && \ mv mold-1.7.1-x86_64-linux/libexec/* /usr/libexec/ && \ rm -r mold-1.7.1-x86_64-linux && \ rm mold-1.7.1-x86_64-linux.tar.gz COPY --from=trunkbuild /usr/local/cargo/bin/trunk /usr/local/cargo/bin/trunk