Skip to content
Snippets Groups Projects
x86.dockerfile 1.8 KiB
Newer Older
Administrator's avatar
Administrator committed
## This file can be used to build x86 Linux, x86 Windows and Wasm versions of a Bevy project
Louis's avatar
Louis committed
FROM r.lcr.gr/microhacks/msdfgen-builder:latest AS msdfgen
Louis's avatar
Louis committed
FROM rust:1.70.0-slim AS trunkbuild
Louis's avatar
Louis committed
RUN cargo install --locked trunk && \
    rm -rf ~/.cargo/registry/{cache,src}

Louis's avatar
Louis committed
FROM rust:1.70.0-slim
Louis's avatar
Louis committed
COPY --from=msdfgen /usr/bin/msdf-atlas-gen /usr/bin/msdf-atlas-gen
Louis's avatar
Louis committed

RUN apt-get update -yqq && \
    apt-get upgrade -yqq &&\
    apt-get install -yqq --no-install-recommends \
    ca-certificates \
    build-essential \
    g++ \
Louis's avatar
Louis committed
    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 \
Louis's avatar
Louis committed
    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
Louis's avatar
Louis committed

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/ && \
Louis's avatar
Louis committed
    rm -r mold-1.7.1-x86_64-linux && \
    rm mold-1.7.1-x86_64-linux.tar.gz
Louis's avatar
Louis committed
COPY --from=trunkbuild /usr/local/cargo/bin/trunk /usr/local/cargo/bin/trunk