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