docker: nitpm requires libcurl, move it up from `full`
[nit.git] / misc / docker / full / Dockerfile
1 # This is a full install of Nit on a debian base.
2 # Full because most dependencies are installed so that most tests can be run
3
4 FROM nitlang/nit:latest
5 MAINTAINER Jean Privat <jean@pryen.org>
6
7 # Dependencies for more libs and tests
8 RUN dpkg --add-architecture i386 \
9         && apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
10                 # Packages needed for lib/
11                 libegl1-mesa-dev \
12                 libevent-dev \
13                 libgles1-mesa-dev \
14                 libgles2-mesa-dev \
15                 libgtk-3-dev \
16                 libgmp-dev \
17                 libncurses5-dev \
18                 libpq-dev \
19                 libreadline-dev \
20                 libsdl-image1.2-dev \
21                 libsdl-ttf2.0-dev \
22                 libsdl1.2-dev \
23                 libsdl2-dev \
24                 libsdl2-image-dev \
25                 libsdl2-mixer-dev \
26                 libsqlite3-dev \
27                 libx11-dev \
28                 libxdg-basedir-dev \
29                 postgresql \
30                 # Packages needed for contrib, platforms and FFI
31                 ant \
32                 clang \
33                 cmake \
34                 default-jdk \
35                 file \
36                 inkscape \
37                 libopenmpi-dev \
38                 unzip \
39                 zipalign \
40                 # Android
41                 libc6:i386 \
42                 libstdc++6:i386 \
43                 zlib1g:i386 \
44                 # TODO neo4j emscripten test_glsl_validation
45         && rm -rf /var/lib/apt/lists/*
46
47 # Install android sdk/ndk
48 RUN mkdir -p /opt \
49         && cd /opt \
50         # Android SDK
51         && curl https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip -o android-sdk-linux.zip \
52         && unzip android-sdk-linux.zip -d android-sdk-linux \
53         && rm android-sdk-linux.zip \
54         && chmod -R a+X /opt \
55         && yes | android-sdk-linux/tools/bin/sdkmanager --licenses \
56         && android-sdk-linux/tools/bin/sdkmanager "build-tools;27.0.0" "cmake;3.6.4111459" ndk-bundle platform-tools tools
57
58 # Download gradlew and bdwgc for Android
59 RUN /nit/share/android-gradlew/gradlew \
60         && /nit/share/android-bdwgc/setup.sh
61
62 # Install OpenGL validator
63 RUN git clone https://github.com/KhronosGroup/glslang.git \
64         && mkdir -p glslang/build \
65         && cd glslang/build \
66         && cmake .. \
67         && make \
68         && make
69
70 # Setup environment variables
71 ENV ANDROID_HOME=/opt/android-sdk-linux/
72 ENV JAVA_HOME=/usr/lib/jvm/default-java/
73 ENV JNI_LIB_PATH=$JAVA_HOME/jre/lib/amd64/server/
74 ENV LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64/server/