bf14e2e4c80a3246ff88d8f89dab0760535a52f8
[nit.git] / misc / docker / ci / Dockerfile
1 # This is a basic install of Nit on a debian base.
2
3 FROM debian:stretch
4 MAINTAINER Jean Privat <jean@pryen.org>
5
6 # Install dependencies
7 RUN dpkg --add-architecture i386 \
8         && apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
9                 # Recomanded builds pakages
10                 build-essential \
11                 ccache \
12                 libgc-dev \
13                 graphviz \
14                 libunwind-dev \
15                 pkg-config \
16                 # Get the code!
17                 git \
18                 ca-certificates \
19                 curl \
20                 libcurl4-openssl-dev \
21                 # For nit manpages :)
22                 man \
23                 # Get pip3 for junit2html
24                 python3-dev \
25                 python3-pip \
26                 python3-setuptools \
27                 python3-wheel \
28                 # Packages needed for lib/
29                 gettext \
30                 libegl1-mesa-dev \
31                 libevent-dev \
32                 libgles1-mesa-dev \
33                 libgles2-mesa-dev \
34                 libgtk-3-dev \
35                 libgmp-dev \
36                 libmongoc-dev \
37                 libbson-dev libssl-dev \
38                 libncurses5-dev \
39                 libpq-dev \
40                 libreadline-dev \
41                 libsdl-image1.2-dev \
42                 libsdl-ttf2.0-dev \
43                 libsdl1.2-dev \
44                 libsdl2-dev \
45                 libsdl2-image-dev \
46                 libsdl2-mixer-dev \
47                 libsqlite3-dev \
48                 libx11-dev \
49                 libxdg-basedir-dev \
50                 # Packages needed for contrib, platforms and FFI
51                 ant \
52                 clang \
53                 cmake \
54                 default-jdk \
55                 file \
56                 gnupg \
57                 gnuplot-nox \
58                 inkscape \
59                 libopenmpi-dev \
60                 time \
61                 unzip \
62                 valgrind \
63                 zipalign \
64                 # Android
65                 libc6:i386 \
66                 libstdc++6:i386 \
67                 zlib1g:i386 \
68                 # TODO neo4j mongodb neo4j emscripten test_glsl_validation
69         && curl -sL https://deb.nodesource.com/setup_8.x | bash - \
70         && apt-get install -y nodejs \
71         && rm -rf /var/lib/apt/lists/*
72
73 # Setup environment variables
74 ENV JAVA_HOME=/usr/lib/jvm/default-java/
75 ENV JNI_LIB_PATH=$JAVA_HOME/jre/lib/amd64/server/
76 ENV LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64/server/
77
78 RUN pip3 install junit2html
79
80 #  Prepare to install npm (npm is not packaged for debian:stretch)
81 RUN npm install pug-cli -g