| 1 | FROM ubuntu:vivid |
| 2 | MAINTAINER Joel Martin <github@martintribe.org> |
| 3 | |
| 4 | ########################################################## |
| 5 | # General requirements for testing or common across many |
| 6 | # implementations |
| 7 | ########################################################## |
| 8 | |
| 9 | RUN apt-get -y update |
| 10 | |
| 11 | # Required for running tests |
| 12 | RUN apt-get -y install make python |
| 13 | |
| 14 | # Some typical implementation and test requirements |
| 15 | RUN apt-get -y install curl libreadline-dev libedit-dev |
| 16 | |
| 17 | RUN mkdir -p /mal |
| 18 | WORKDIR /mal |
| 19 | |
| 20 | ########################################################## |
| 21 | # Specific implementation requirements |
| 22 | ########################################################## |
| 23 | |
| 24 | # Erlang R17 (so I can use maps) |
| 25 | RUN apt-get -y install build-essential libncurses5-dev libssl-dev |
| 26 | RUN cd /tmp && curl -O http://www.erlang.org/download/otp_src_17.5.tar.gz \ |
| 27 | && tar -C /tmp -zxf /tmp/otp_src_17.5.tar.gz \ |
| 28 | && cd /tmp/otp_src_17.5 && ./configure && make && make install \ |
| 29 | && rm -rf /tmp/otp_src_17.5 /tmp/otp_src_17.5.tar.gz |
| 30 | # Rebar for building the Erlang implementation |
| 31 | RUN apt-get -y install git sudo |
| 32 | RUN cd /tmp/ && git clone -q https://github.com/rebar/rebar.git \ |
| 33 | && cd /tmp/rebar && ./bootstrap && cp rebar /usr/local/bin \ |
| 34 | && rm -rf /tmp/rebar |
| 35 | |