1 # This is a basic install of Nit on a debian base.
4 MAINTAINER Jean Privat <jean@pryen.org>
7 RUN dpkg --add-architecture i386 \
8 && apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
9 # Recomanded builds pakages
20 libcurl4-openssl-dev \
23 # Get pip3 for junit2html
28 # Packages needed for lib/
37 libbson-dev libssl-dev \
52 # Packages needed for contrib, platforms and FFI
71 # TODO neo4j mongodb neo4j emscripten test_glsl_validation
72 && curl -sL https://deb.nodesource.com/setup_8.x | bash - \
73 && apt-get install -y nodejs \
74 && rm -rf /var/lib/apt/lists/*
76 # Install OpenGL validator
77 RUN git clone https://github.com/KhronosGroup/glslang.git --depth=1 \
78 && mkdir -p glslang/build \
84 # Install android sdk/ndk
88 && curl https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip -o android-sdk-linux.zip \
89 && unzip -q android-sdk-linux.zip -d android-sdk-linux \
90 # Download a specific ndk version because old versions are not available trough sdkmanager
91 && curl https://dl.google.com/android/repository/android-ndk-r17c-linux-x86_64.zip -o android-ndk-linux.zip \
92 && unzip -q android-ndk-linux.zip \
93 && mv android-ndk-r17c android-sdk-linux/ndk-bundle \
94 && rm android-sdk-linux.zip android-ndk-linux.zip
96 && yes | android-sdk-linux/tools/bin/sdkmanager "build-tools;27.0.0" "cmake;3.6.4111459" platform-tools tools --verbose\
97 && yes | android-sdk-linux/tools/bin/sdkmanager --licenses --verbose
98 # TODO: predownload bwdgc and gradle?
100 # Setup environment variables
101 ENV ANDROID_HOME=/opt/android-sdk-linux/
102 ENV JAVA_HOME=/usr/lib/jvm/default-java/
103 ENV JNI_LIB_PATH=$JAVA_HOME/jre/lib/amd64/server/
104 ENV LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64/server/
106 # Used by CI to render junit files to html
107 RUN pip3 install junit2html
109 # Prepare to install npm (npm is not packaged for debian:stretch)
110 RUN npm install pug-cli -g
112 # Some tools, like gradle, need an explitit UTF8 environement