diff options
Diffstat (limited to 'scripts/docker/android-build-container/Dockerfile')
-rw-r--r-- | scripts/docker/android-build-container/Dockerfile | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/scripts/docker/android-build-container/Dockerfile b/scripts/docker/android-build-container/Dockerfile new file mode 100644 index 000000000..53039399e --- /dev/null +++ b/scripts/docker/android-build-container/Dockerfile @@ -0,0 +1,56 @@ +From ubuntu:18.04 + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y \ + autoconf \ + automake \ + git \ + libtool-bin \ + make \ + wget \ + unzip \ + python \ + bzip2 \ + pkg-config \ + libx11-xcb1 \ + libgl1-mesa-glx \ + libglib2.0-0 \ + openjdk-8-jdk + +# create our working directory and place the local copies of the Qt +# install, NDK and SDK there, plus the three files from the Subsurface +# sources that we need to get the prep routines to run +RUN mkdir -p /android +ADD qt-opensource-linux-x64-5.*.run /android/ +ADD android-ndk-r*-linux-x86_64.zip /android/ +ADD sdk-tools-linux-*.zip /android/ +ADD android-build-wrapper.sh variables.sh qt-installer-noninteractive.qs /android/ + +# install current cmake +ADD cmake-3.13.2.tar.gz /android/ +RUN cd /android/cmake-3.13.2 && \ + bash ./bootstrap && \ + make -j6 && make install + +# run the build wrapper in prep mode +RUN cd /android && bash -x /android/android-build-wrapper.sh -prep-only + +# uggly hack to work around some breakage in the NDK which makes our +# compiles fail +RUN sed -i '313,+13s/^using/\/\/using/' /android/android-ndk-r18b/sources/cxx-stl/llvm-libc++/include/cmath + +# clean up the files that we don't need to keep the container smaller +RUN cd /android && \ + rm -rf qt-opensource-linux-x64-*.run \ + Qt/[a-zA-Z]* \ + sdk-tools-linux-*.zip \ + android-ndk-r*-linux-x86_64.zip \ + android-sdk-linux/emulator \ + $( find android-ndk*/platforms -name arch-mips -o -name arch-x86 ) \ + android-ndk*/toolchains/x86-* android-ndk*/toolchains/llvm/prebuilt/x86-* \ + cmake-3.13* && \ + ls -l && \ + du -sh * +RUN apt-get clean +RUN touch /android/finished-`date` |