docker/ci: need netcat and killall for some test scripts
[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                 netcat \
51                 psmisc \
52                 # Packages needed for contrib, platforms and FFI
53                 ant \
54                 clang \
55                 cmake \
56                 default-jdk \
57                 file \
58                 gnupg \
59                 gnuplot-nox \
60                 inkscape \
61                 libopenmpi-dev \
62                 time \
63                 unzip \
64                 valgrind \
65                 zipalign \
66                 # Android
67                 libc6:i386 \
68                 libstdc++6:i386 \
69                 zlib1g:i386 \
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/*
74
75 # Setup environment variables
76 ENV JAVA_HOME=/usr/lib/jvm/default-java/
77 ENV JNI_LIB_PATH=$JAVA_HOME/jre/lib/amd64/server/
78 ENV LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64/server/
79
80 RUN pip3 install junit2html
81
82 #  Prepare to install npm (npm is not packaged for debian:stretch)
83 RUN npm install pug-cli -g