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 \
51 # Packages needed for contrib, platforms and FFI
70 # TODO neo4j mongodb neo4j emscripten test_glsl_validation
71 && curl -sL https://deb.nodesource.com/setup_8.x | bash - \
72 && apt-get install -y nodejs \
73 && rm -rf /var/lib/apt/lists/*
75 # Install OpenGL validator
76 RUN git clone https://github.com/KhronosGroup/glslang.git --depth=1 \
77 && mkdir -p glslang/build \
83 # Install android sdk/ndk
87 && curl https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip -o android-sdk-linux.zip \
88 && unzip -q android-sdk-linux.zip -d android-sdk-linux \
89 # Download a specific ndk version because old versions are not available trough sdkmanager
90 && curl https://dl.google.com/android/repository/android-ndk-r17c-linux-x86_64.zip -o android-ndk-linux.zip \
91 && unzip -q android-ndk-linux.zip \
92 && mv android-ndk-r17c android-sdk-linux/ndk-bundle \
93 && rm android-sdk-linux.zip android-ndk-linux.zip
95 && yes | android-sdk-linux/tools/bin/sdkmanager "build-tools;27.0.0" "cmake;3.6.4111459" platform-tools tools --verbose\
96 && yes | android-sdk-linux/tools/bin/sdkmanager --licenses --verbose
97 # TODO: predownload bwdgc and gradle?
99 # Setup environment variables
100 ENV ANDROID_HOME=/opt/android-sdk-linux/
101 ENV JAVA_HOME=/usr/lib/jvm/default-java/
102 ENV JNI_LIB_PATH=$JAVA_HOME/jre/lib/amd64/server/
103 ENV LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64/server/
105 # Used by CI to render junit files to html
106 RUN pip3 install junit2html
108 # Prepare to install npm (npm is not packaged for debian:stretch)
109 RUN npm install pug-cli -g