]> git.lizzy.rs Git - rust.git/blob - src/ci/docker/emscripten/Dockerfile
Rollup merge of #40521 - TimNN:panic-free-shift, r=alexcrichton
[rust.git] / src / ci / docker / emscripten / Dockerfile
1 FROM ubuntu:16.04
2
3 RUN apt-get update && apt-get install -y --no-install-recommends \
4   g++ \
5   make \
6   file \
7   curl \
8   ca-certificates \
9   python \
10   git \
11   cmake \
12   sudo \
13   gdb \
14   xz-utils \
15   lib32stdc++6
16
17 RUN curl -o /usr/local/bin/sccache \
18       https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-16-sccache-x86_64-unknown-linux-musl && \
19       chmod +x /usr/local/bin/sccache
20
21 RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \
22     dpkg -i dumb-init_*.deb && \
23     rm dumb-init_*.deb
24 ENTRYPOINT ["/usr/bin/dumb-init", "--"]
25
26 WORKDIR /tmp
27 COPY build-emscripten.sh /tmp/
28 RUN ./build-emscripten.sh
29 ENV PATH=$PATH:/tmp/emsdk_portable
30 ENV PATH=$PATH:/tmp/emsdk_portable/clang/tag-e1.37.1/build_tag-e1.37.1_32/bin
31 ENV PATH=$PATH:/tmp/emsdk_portable/node/4.1.1_32bit/bin
32 ENV PATH=$PATH:/tmp/emsdk_portable/emscripten/tag-1.37.1
33 ENV EMSCRIPTEN=/tmp/emsdk_portable/emscripten/tag-1.37.1
34
35 ENV RUST_CONFIGURE_ARGS --target=asmjs-unknown-emscripten
36
37 # Run `emcc` first as it's got a prompt and doesn't actually do anything, after
38 # that's done with do the real build.
39 ENV SCRIPT emcc && \
40       python2.7 ../x.py test --target asmjs-unknown-emscripten
41