]>
Commit | Line | Data |
---|---|---|
476ff2be SL |
1 | FROM ubuntu:16.04 |
2 | ||
3 | RUN apt-get update && apt-get install -y --no-install-recommends \ | |
32a655c1 | 4 | g++-multilib \ |
476ff2be SL |
5 | make \ |
6 | file \ | |
7 | curl \ | |
8 | ca-certificates \ | |
9 | python2.7 \ | |
10 | git \ | |
11 | cmake \ | |
476ff2be SL |
12 | xz-utils \ |
13 | sudo \ | |
32a655c1 | 14 | gdb \ |
8bb4bdeb XL |
15 | patch \ |
16 | libssl-dev \ | |
17 | pkg-config | |
476ff2be SL |
18 | |
19 | WORKDIR /build/ | |
7cac9316 | 20 | COPY dist-i586-gnu-i686-musl/musl-libunwind-patch.patch dist-i586-gnu-i686-musl/build-musl.sh /build/ |
476ff2be SL |
21 | RUN sh /build/build-musl.sh && rm -rf /build |
22 | ||
23 | RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \ | |
24 | dpkg -i dumb-init_*.deb && \ | |
25 | rm dumb-init_*.deb | |
26 | ENTRYPOINT ["/usr/bin/dumb-init", "--"] | |
27 | ||
8bb4bdeb | 28 | RUN curl -o /usr/local/bin/sccache \ |
7cac9316 | 29 | https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-05-12-sccache-x86_64-unknown-linux-musl && \ |
8bb4bdeb | 30 | chmod +x /usr/local/bin/sccache |
476ff2be SL |
31 | |
32 | ENV RUST_CONFIGURE_ARGS \ | |
8bb4bdeb | 33 | --target=i686-unknown-linux-musl,i586-unknown-linux-gnu \ |
cc61c64b XL |
34 | --musl-root-i686=/musl-i686 \ |
35 | --enable-extended | |
476ff2be | 36 | |
8bb4bdeb XL |
37 | # Newer binutils broke things on some vms/distros (i.e., linking against |
38 | # unknown relocs disabled by the following flag), so we need to go out of our | |
39 | # way to produce "super compatible" binaries. | |
40 | # | |
41 | # See: https://github.com/rust-lang/rust/issues/34978 | |
42 | ENV CFLAGS_i686_unknown_linux_musl=-Wa,-mrelax-relocations=no | |
43 | ||
32a655c1 SL |
44 | ENV SCRIPT \ |
45 | python2.7 ../x.py test \ | |
32a655c1 SL |
46 | --target i686-unknown-linux-musl \ |
47 | --target i586-unknown-linux-gnu \ | |
48 | && \ | |
49 | python2.7 ../x.py dist \ | |
32a655c1 SL |
50 | --target i686-unknown-linux-musl \ |
51 | --target i586-unknown-linux-gnu |