about summary refs log tree commit diff
path: root/tools/docker/icfp17
diff options
context:
space:
mode:
Diffstat (limited to 'tools/docker/icfp17')
-rw-r--r--tools/docker/icfp17/Dockerfile77
1 files changed, 77 insertions, 0 deletions
diff --git a/tools/docker/icfp17/Dockerfile b/tools/docker/icfp17/Dockerfile
new file mode 100644
index 000000000000..5e6d1292e592
--- /dev/null
+++ b/tools/docker/icfp17/Dockerfile
@@ -0,0 +1,77 @@
+FROM debian:stretch
+
+MAINTAINER arximboldi
+
+## install immer
+
+RUN apt-get update && \
+    apt-get install -y git
+RUN git clone https://github.com/arximboldi/immer.git
+
+## prepare test dependencies
+
+RUN apt-get update && \
+    apt-get install -y \
+            autoconf \
+            automake \
+            cmake \
+            g++ \
+            libboost-dev \
+            libtool \
+            make \
+            pkg-config \
+            --
+
+RUN mkdir /immer/build
+WORKDIR /immer/build
+RUN cmake .. -DCMAKE_BUILD_TYPE=Release -DCHECK_BENCHMARKS=1
+RUN make deps
+RUN make tests examples benchmarks
+
+## prepare clojure dependencies
+
+RUN apt-get update && \
+    apt-get install -y default-jdk curl
+
+RUN curl https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein \
+         > /usr/local/bin/lein && \
+    chmod +x /usr/local/bin/lein
+
+WORKDIR /immer/tools/clojure
+ENV LEIN_ROOT ok
+RUN lein deps
+RUN lein compile
+
+## prepare scala dependencies
+
+RUN apt-get update && \
+    apt-get install -y gnupg2 apt-transport-https
+RUN echo "deb https://dl.bintray.com/sbt/debian /" \
+         > /etc/apt/sources.list.d/sbt.list && \
+    apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 \
+                --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823 && \
+    apt-get update && \
+    apt-get install -y sbt
+
+WORKDIR /immer/tools/scala
+RUN sbt compile
+
+## prepare python dependencies
+
+RUN apt-get update && \
+    apt-get install -y python-pip
+
+RUN pip install \
+        pytest-benchmark \
+        pyrsistent
+
+RUN pip install /immer
+
+## add some editors
+
+RUN apt-get update && \
+    apt-get install -y emacs vim nano
+
+## go to a useful working dir
+
+WORKDIR /immer