Merge branch 'master' into issue_166_string_ops
[jackhill/mal.git] / swift3 / Dockerfile
1 FROM ubuntu:wily
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 # Swift
25 RUN apt-get -y install clang-3.6 cmake pkg-config \
26 git ninja-build uuid-dev libicu-dev icu-devtools \
27 libbsd-dev libedit-dev libxml2-dev libsqlite3-dev \
28 swig libpython-dev libncurses5-dev
29
30 ENV SWIFT_PREFIX swift-DEVELOPMENT-SNAPSHOT-2016-02-08-a
31 ENV SWIFT_RELEASE ${SWIFT_PREFIX}-ubuntu15.10
32
33 RUN cd /opt && \
34 curl -O https://swift.org/builds/development/ubuntu1510/${SWIFT_PREFIX}/${SWIFT_RELEASE}.tar.gz && \
35 tar xvzf ${SWIFT_RELEASE}.tar.gz && \
36 rm ${SWIFT_RELEASE}.tar.gz
37
38 # tar xvzf ${SWIFT_RELEASE}.tar.gz --directory / --strip-components 1 && \
39 #RUN find /usr -type f | xargs -ifoo chmod go+r foo && \
40 # find /usr -type d | xargs -ifoo chmod go+rx foo
41
42 #RUN find /opt/${SWIFT_RELEASE}/ -type f | xargs -ifoo chmod go+r foo && \
43 # find /opt/${SWIFT_RELEASE}/ -type d | xargs -ifoo chmod go+rx foo
44
45 ENV PATH /opt/${SWIFT_RELEASE}/usr/bin/:$PATH
46
47 # TODO: better way to do this? And move up.
48 RUN ln -sf /usr/lib/llvm-3.6/bin/clang++ /usr/bin/clang++
49 RUN ln -sf /usr/lib/llvm-3.6/bin/clang /usr/bin/clang
50