docker full: install missing package for SDL2 mixer
[nit.git] / misc / docker / full / Dockerfile
index 91c467b..e6bfe66 100644 (file)
@@ -5,7 +5,8 @@ FROM nitlang/nit:latest
 MAINTAINER Jean Privat <jean@pryen.org>
 
 # Dependencies for more libs and tests
-RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+RUN dpkg --add-architecture i386 \
+       && apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
                # Packages needed for lib/
                libcurl4-openssl-dev \
                libegl1-mesa-dev \
@@ -19,23 +20,45 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-ins
                libsdl-ttf2.0-dev \
                libsdl1.2-dev \
                libsdl2-dev \
+               libsdl2-image-dev \
+               libsdl2-mixer-dev \
                libsqlite3-dev \
                libx11-dev \
                libxdg-basedir-dev \
                postgresql \
-               # Packages needed for platforms and FFI
+               # Packages needed for contrib, platforms and FFI
+               ant \
+               clang \
                default-jdk \
+               file \
+               inkscape \
                libopenmpi-dev \
-               clang \
-               # TODO neo4j android emscripten test_glsl_validation
+               unzip \
+               # Android
+               libc6:i386 \
+               libstdc++6:i386 \
+               zlib1g:i386 \
+               # TODO neo4j emscripten test_glsl_validation
        && rm -rf /var/lib/apt/lists/*
 
-# Run tests
-RUN cd /root/nit/tests \
-       && ./testfull.sh || true \
-       && rm -rf out/ alt/*.nit \
-       && ccache -C
-# TODO: nitunits
+# Install android sdk/ndk
+RUN mkdir -p /opt \
+       && cd /opt \
+       # Android SDK
+       && curl https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz -o android-sdk-linux.tgz \
+       && tar xzf android-sdk-linux.tgz \
+       && rm android-sdk-linux.tgz \
+       && echo y | android-sdk-linux/tools/android update sdk -a --no-ui --filter \
+               # Hardcode minimal known working things
+               platform-tools,build-tools-22.0.1,android-22,android-10 \
+       # Android NDK
+       && curl http://dl.google.com/android/repository/android-ndk-r11c-linux-x86_64.zip -o android-ndk.zip \
+       && unzip -q android-ndk.zip \
+       && ln -s android-ndk-r11c android-ndk \
+       && rm android-ndk.zip \
+       && printf "PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_NDK\nexport PATH\n" >> "/etc/profile.d/android.sh"
 
-WORKDIR /root/nit
-ENTRYPOINT [ "bash" ]
+# Setup environment variables
+ENV ANDROID_HOME /opt/android-sdk-linux
+ENV ANDROID_NDK /opt/android-ndk
+ENV PATH $PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_NDK