Add missing clean targets in 5 impls.
[jackhill/mal.git] / objc / Dockerfile
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 # Based on:
25 # https://blog.tlensing.org/2013/02/24/objective-c-on-linux-setting-up-gnustep-clang-llvm-objective-c-2-0-blocks-runtime-gcd-on-ubuntu-12-04/
26
27 RUN apt-get -y install build-essential clang libblocksruntime-dev \
28 libkqueue-dev libpthread-workqueue-dev gobjc libxml2-dev \
29 libjpeg-dev libtiff-dev libpng12-dev libcups2-dev \
30 libfreetype6-dev libcairo2-dev libxt-dev libgl1-mesa-dev
31
32 RUN mkdir -p /root/gnustep-dev
33 RUN cd /root/gnustep-dev && \
34 curl http://download.gna.org/gnustep/libobjc2-1.7.tar.bz2 \
35 | tar xjf -
36 RUN cd /root/gnustep-dev && \
37 curl ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-make-2.6.7.tar.gz \
38 | tar xzf -
39 RUN cd /root/gnustep-dev && \
40 curl ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-base-1.24.8.tar.gz \
41 | tar xzf -
42 RUN cd /root/gnustep-dev && \
43 curl ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-gui-0.24.1.tar.gz \
44 | tar xzf -
45 RUN cd /root/gnustep-dev && \
46 curl ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-back-0.24.1.tar.gz \
47 | tar xzf -
48
49
50 # TODO move up
51 RUN apt-get -y install gnutls-dev libxslt-dev libffi-dev openssl
52
53 ENV CC clang
54 RUN cd /root/gnustep-dev/libobjc2-1.7 && make && make install
55 RUN cd /root/gnustep-dev/gnustep-make-2.6.7 && ./configure && make && make install
56 RUN cd /root/gnustep-dev/gnustep-base-1.24.8 && ./configure && make && make install && ldconfig
57 RUN cd /root/gnustep-dev/gnustep-gui-0.24.1 && ./configure && make && make install
58 RUN cd /root/gnustep-dev/gnustep-back-0.24.1 && ./configure && make && make install
59
60 RUN apt-get -y install libdispatch-dev
61
62 ENV HOME /mal