about summary refs log tree commit diff
path: root/third_party/immer/tools/docker/icfp17/Dockerfile
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2020-07-15T07·20+0100
committerVincent Ambo <mail@tazj.in>2020-07-15T07·23+0100
commit1213b086a1015a662ab7ebd658f784534fd3116a (patch)
treed3bc8f3b7f40b8b60f0ef6fbd649cf765f4fdfb6 /third_party/immer/tools/docker/icfp17/Dockerfile
parent1390827b9ea1e04bc9863e48930bfd16db3b716e (diff)
parent7f19d641647ac4ef313ed88d6b5c140983ce5436 (diff)
merge(3p/immer): Subtree merge at 'ad3e3556d' as 'third_party/immer' r/1299
Change-Id: I9636a41ad44b4218293833fd3e9456d9b07c731b
Diffstat (limited to 'third_party/immer/tools/docker/icfp17/Dockerfile')
-rw-r--r--third_party/immer/tools/docker/icfp17/Dockerfile77
1 files changed, 77 insertions, 0 deletions
diff --git a/third_party/immer/tools/docker/icfp17/Dockerfile b/third_party/immer/tools/docker/icfp17/Dockerfile
new file mode 100644
index 000000000000..5e6d1292e592
--- /dev/null
+++ b/third_party/immer/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