From aaef5fdcc4f647bcaaf349228af72554ee45efce Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Thu, 12 May 2016 14:19:00 -0400 Subject: [PATCH] Add a Dockerfile to build a full image of a Nit install Signed-off-by: Jean Privat --- misc/docker/Dockerfile | 66 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 misc/docker/Dockerfile diff --git a/misc/docker/Dockerfile b/misc/docker/Dockerfile new file mode 100644 index 0000000..655005d --- /dev/null +++ b/misc/docker/Dockerfile @@ -0,0 +1,66 @@ +# This is a full install of Nit on a debian base. +# Full because most dependencies are installed so that most tests can be run + +FROM debian:jessie +MAINTAINER Jean Privat + +# Install dependencies +RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + # Recomanded builds pakages + build-essential \ + ccache \ + libgc-dev \ + graphviz \ + libunwind-dev \ + pkg-config \ + # Get the code! + git \ + ca-certificates \ + curl \ + # For nit manpages :) + man \ + && rm -rf /var/lib/apt/lists/* + +# Clone and compile +RUN git clone https://github.com/nitlang/nit.git /root/nit \ + && cd /root/nit \ + && make \ + && . misc/nit_env.sh install \ + # Clean and reduce size + && strip c_src/nitc bin/nit* \ + && ccache -C \ + && rm -rf .git + +# Dependencies for more libs and tests +RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + # Packages needed for lib/ + libcurl4-openssl-dev \ + libegl1-mesa-dev \ + libevent-dev \ + libgles1-mesa-dev \ + libgles2-mesa-dev \ + libgtk-3-dev \ + libncurses5-dev \ + libsdl-image1.2-dev \ + libsdl-ttf2.0-dev \ + libsdl1.2-dev \ + libsdl2-dev \ + libsqlite3-dev \ + libx11-dev \ + libxdg-basedir-dev \ + # Packages needed for platforms and FFI + default-jdk \ + libopenmpi-dev \ + clang \ + # TODO neo4j android emscripten test_glsl_validation + && rm -rf /var/lib/apt/lists/* + +# Run tests +RUN cd /root/nit/tests \ + && ./testfull.sh || true \ + && rm -rf out/ alt/*.nit \ + && ccache -C +# TODO: nitunits + +WORKDIR /root/nit +ENTRYPOINT [ "bash" ] -- 1.7.9.5