1
1
mirror of https://github.com/kanaka/mal.git synced 2024-08-18 02:00:40 +03:00
mal/impls/objc/Dockerfile
Nicolas Boulenguez fbfe6784d2 Change quasiquote algorithm
- Add a `vec` built-in function in step7 so that `quasiquote` does not
  require `apply` from step9.
- Introduce quasiquoteexpand special in order to help debugging step7.
  This may also prepare newcomers to understand step8.
- Add soft tests.
- Do not quote numbers, strings and so on.

Should ideally have been in separate commits:
- elisp: simplify and fix (keyword :k)
- factor: fix copy/paste error in let*/step7, simplify eval-ast.
- guile: improve list/vector types
- haskell: revert evaluation during quasiquote
- logo, make: cosmetic issues
2020-08-11 01:01:56 +02:00

63 lines
2.2 KiB
Docker

M ubuntu:vivid
MAINTAINER Joel Martin <github@martintribe.org>
##########################################################
# General requirements for testing or common across many
# implementations
##########################################################
RUN apt-get -y update
# Required for running tests
RUN apt-get -y install make python
# Some typical implementation and test requirements
RUN apt-get -y install curl libreadline-dev libedit-dev
RUN mkdir -p /mal
WORKDIR /mal
##########################################################
# Specific implementation requirements
##########################################################
# Based on:
# 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/
RUN apt-get -y install build-essential clang libblocksruntime-dev \
libkqueue-dev libpthread-workqueue-dev gobjc libxml2-dev \
libjpeg-dev libtiff-dev libpng12-dev libcups2-dev \
libfreetype6-dev libcairo2-dev libxt-dev libgl1-mesa-dev
RUN mkdir -p /root/gnustep-dev
RUN cd /root/gnustep-dev && \
curl http://download.gna.org/gnustep/libobjc2-1.7.tar.bz2 \
| tar xjf -
RUN cd /root/gnustep-dev && \
curl ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-make-2.6.7.tar.gz \
| tar xzf -
RUN cd /root/gnustep-dev && \
curl ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-base-1.24.8.tar.gz \
| tar xzf -
RUN cd /root/gnustep-dev && \
curl ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-gui-0.24.1.tar.gz \
| tar xzf -
RUN cd /root/gnustep-dev && \
curl ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-back-0.24.1.tar.gz \
| tar xzf -
# TODO move up
RUN apt-get -y install gnutls-dev libxslt-dev libffi-dev openssl
ENV CC clang
RUN cd /root/gnustep-dev/libobjc2-1.7 && make && make install
RUN cd /root/gnustep-dev/gnustep-make-2.6.7 && ./configure && make && make install
RUN cd /root/gnustep-dev/gnustep-base-1.24.8 && ./configure && make && make install && ldconfig
RUN cd /root/gnustep-dev/gnustep-gui-0.24.1 && ./configure && make && make install
RUN cd /root/gnustep-dev/gnustep-back-0.24.1 && ./configure && make && make install
RUN apt-get -y install libdispatch-dev
ENV HOME /mal