1946c348bSYuki OkushiFROM ubuntu:23.10 2599eec37SMarco A L Barbosa 3b34c268bSYuki OkushiRUN dpkg --add-architecture i386 4b34c268bSYuki OkushiRUN apt-get update 5b34c268bSYuki OkushiRUN apt-get install -y --no-install-recommends libc6-dev gcc 6b34c268bSYuki OkushiRUN apt-get install -y --no-install-recommends \ 7599eec37SMarco A L Barbosa file \ 8b34c268bSYuki Okushi wget \ 9599eec37SMarco A L Barbosa ca-certificates \ 108de521cfSYuki Okushi python3 \ 118de521cfSYuki Okushi python3-distutils \ 12599eec37SMarco A L Barbosa unzip \ 13599eec37SMarco A L Barbosa expect \ 14eb0794a5Sgnzlbg openjdk-8-jre \ 15599eec37SMarco A L Barbosa libstdc++6:i386 \ 16b34c268bSYuki Okushi libpulse0 17599eec37SMarco A L Barbosa 18599eec37SMarco A L BarbosaWORKDIR /android/ 19599eec37SMarco A L BarbosaCOPY android* /android/ 20599eec37SMarco A L Barbosa 21599eec37SMarco A L BarbosaENV ANDROID_ARCH=i686 22*73fc0898SYuki OkushiENV PATH=$PATH:/android/linux-x86_64/bin:/android/sdk/cmdline-tools/tools:/android/sdk/platform-tools 23599eec37SMarco A L Barbosa 24*73fc0898SYuki OkushiRUN sh /android/android-install-ndk.sh 25599eec37SMarco A L BarbosaRUN sh /android/android-install-sdk.sh $ANDROID_ARCH 26599eec37SMarco A L BarbosaRUN mv /root/.android /tmp 27599eec37SMarco A L BarbosaRUN chmod 777 -R /tmp/.android 28d565a360SYuki OkushiRUN chmod 755 /android/sdk/cmdline-tools/tools/* /android/sdk/emulator/qemu/linux-x86_64/* 29599eec37SMarco A L Barbosa 30599eec37SMarco A L BarbosaENV PATH=$PATH:/rust/bin \ 31*73fc0898SYuki Okushi CARGO_TARGET_I686_LINUX_ANDROID_LINKER=i686-linux-android28-clang \ 32d4240220SAlex Crichton CARGO_TARGET_I686_LINUX_ANDROID_RUNNER=/tmp/runtest \ 33*73fc0898SYuki Okushi CC_i686_linux_android=i686-linux-android28-clang \ 34*73fc0898SYuki Okushi AR_i686_linux_android=llvm-ar \ 35599eec37SMarco A L Barbosa HOME=/tmp 36d4240220SAlex Crichton 37d4240220SAlex CrichtonADD runtest-android.rs /tmp/runtest.rs 38d4240220SAlex CrichtonENTRYPOINT [ \ 39d4240220SAlex Crichton "bash", \ 40d4240220SAlex Crichton "-c", \ 41d4240220SAlex Crichton # set SHELL so android can detect a 64bits system, see 42d4240220SAlex Crichton # http://stackoverflow.com/a/41789144 43a9115d5eSMarco A L Barbosa "SHELL=/bin/dash /android/sdk/emulator/emulator @i686 -no-window -no-accel & \ 44d4240220SAlex Crichton rustc /tmp/runtest.rs -o /tmp/runtest && \ 45d4240220SAlex Crichton exec \"$@\"", \ 46d4240220SAlex Crichton "--" \ 47d4240220SAlex Crichton] 48