1FROM ubuntu:24.10
2
3# This is a workaround to avoid the interaction with tzdata.
4ENV DEBIAN_FRONTEND=noninteractive
5ENV TZ=America/New_York
6
7RUN apt-get update
8RUN apt-get install -y --no-install-recommends tzdata
9RUN apt-get install -y --no-install-recommends \
10    ca-certificates \
11    g++ \
12    make \
13    file \
14    curl \
15    gcc \
16    git \
17    libc6-dev \
18    libxml2 \
19    python3 \
20    cmake \
21    sudo \
22    gdb \
23    xz-utils \
24    bzip2
25
26RUN ln -s /usr/bin/python3 /usr/bin/python & \
27    ln -s /usr/bin/pip3 /usr/bin/pip
28COPY emscripten.sh /
29RUN /emscripten.sh
30
31ENV PATH=$PATH:/rust/bin \
32    CARGO_TARGET_WASM32_UNKNOWN_EMSCRIPTEN_RUNNER=node-wrapper.sh
33
34COPY emscripten-entry.sh /
35COPY docker/wasm32-unknown-emscripten/node-wrapper.sh /usr/local/bin/node-wrapper.sh
36ENTRYPOINT ["/emscripten-entry.sh"]
37