]> git.lizzy.rs Git - rust.git/blob - src/ci/docker/arm-android/Dockerfile
add -Z pre-link-arg{,s} to rustc
[rust.git] / src / ci / docker / arm-android / Dockerfile
1 FROM ubuntu:16.04
2
3 RUN apt-get update && \
4     apt-get install -y --no-install-recommends \
5   g++ \
6   make \
7   file \
8   curl \
9   ca-certificates \
10   python2.7 \
11   git \
12   cmake \
13   unzip \
14   sudo \
15   xz-utils \
16   libssl-dev \
17   pkg-config
18
19 RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \
20     dpkg -i dumb-init_*.deb && \
21     rm dumb-init_*.deb
22
23 RUN curl -o /usr/local/bin/sccache \
24       https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-05-12-sccache-x86_64-unknown-linux-musl && \
25     chmod +x /usr/local/bin/sccache
26
27 # Install NDK
28 COPY install-ndk.sh /tmp
29 RUN . /tmp/install-ndk.sh && \
30     download_ndk android-ndk-r13b-linux-x86_64.zip && \
31     make_standalone_toolchain arm 9 && \
32     remove_ndk
33
34 # Install SDK
35 RUN dpkg --add-architecture i386 && \
36     apt-get update && \
37     apt-get install -y --no-install-recommends \
38   openjdk-9-jre-headless \
39   tzdata \
40   libstdc++6:i386 \
41   libgl1-mesa-glx \
42   libpulse0
43
44 COPY install-sdk.sh /tmp
45 RUN . /tmp/install-sdk.sh && \
46     download_sdk tools_r25.2.5-linux.zip && \
47     download_sysimage armeabi-v7a 18 && \
48     create_avd armeabi-v7a 18
49
50 # Setup env
51 ENV PATH=$PATH:/android/sdk/tools
52 ENV PATH=$PATH:/android/sdk/platform-tools
53
54 ENV TARGETS=arm-linux-androideabi
55
56 ENV RUST_CONFIGURE_ARGS \
57       --target=$TARGETS \
58       --arm-linux-androideabi-ndk=/android/ndk/arm-9
59
60 ENV SCRIPT python2.7 ../x.py test --target $TARGETS --verbose
61
62 # Entrypoint
63 COPY start-emulator.sh /android/
64 ENTRYPOINT ["/usr/bin/dumb-init", "--", "/android/start-emulator.sh"]