about summary refs log tree commit diff
path: root/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·20+0100
commit7f19d641647ac4ef313ed88d6b5c140983ce5436 (patch)
tree31b66c81465293da5c093c5dde3e419758c0d6cc /tools/docker/icfp17/Dockerfile
Squashed 'third_party/immer/' content from commit ad3e3556d
git-subtree-dir: third_party/immer
git-subtree-split: ad3e3556d38bb75966dd24c61a774970a7c7957e
Diffstat (limited to 'tools/docker/icfp17/Dockerfile')
-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