]> git.lizzy.rs Git - rust.git/blob - src/ci/docker/arm-android/Dockerfile
Rollup merge of #41971 - japaric:pre-link-args, r=alexcrichton
[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   ca-certificates \
6   cmake \
7   curl \
8   file \
9   g++ \
10   git \
11   libssl-dev \
12   make \
13   pkg-config \
14   python2.7 \
15   sudo \
16   unzip \
17   xz-utils
18
19 # dumb-init
20 COPY scripts/dumb-init.sh /scripts/
21 RUN sh /scripts/dumb-init.sh
22
23 # ndk
24 COPY scripts/android-ndk.sh /scripts/
25 RUN . /scripts/android-ndk.sh && \
26     download_and_make_toolchain android-ndk-r13b-linux-x86_64.zip arm 9
27
28 # sdk
29 RUN dpkg --add-architecture i386 && \
30     apt-get update && \
31     apt-get install -y --no-install-recommends \
32   libgl1-mesa-glx \
33   libpulse0 \
34   libstdc++6:i386 \
35   openjdk-9-jre-headless \
36   tzdata
37
38 COPY scripts/android-sdk.sh /scripts/
39 RUN . /scripts/android-sdk.sh && \
40     download_and_create_avd tools_r25.2.5-linux.zip armeabi-v7a 18
41
42 # env
43 ENV PATH=$PATH:/android/sdk/tools
44 ENV PATH=$PATH:/android/sdk/platform-tools
45
46 ENV TARGETS=arm-linux-androideabi
47
48 ENV RUST_CONFIGURE_ARGS \
49       --target=$TARGETS \
50       --arm-linux-androideabi-ndk=/android/ndk/arm-9
51
52 ENV SCRIPT python2.7 ../x.py test --target $TARGETS
53
54 # sccache
55 COPY scripts/sccache.sh /scripts/
56 RUN sh /scripts/sccache.sh
57
58 # init
59 COPY scripts/android-start-emulator.sh /scripts/
60 ENTRYPOINT ["/usr/bin/dumb-init", "--", "/scripts/android-start-emulator.sh"]