78 lines
1.6 KiB
Text
78 lines
1.6 KiB
Text
|
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
|