Commit | Line | Data |
---|---|---|
57350ed7 JM |
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 |