mirror of
https://github.com/kanaka/mal.git
synced 2024-09-11 13:55:55 +03:00
swift5: dockerfile
This commit is contained in:
parent
590d589b07
commit
6aa9c258a5
@ -97,6 +97,8 @@ matrix:
|
||||
- {env: IMPL=swift3 NO_DOCKER=1, os: osx, osx_image: xcode8}
|
||||
- {env: IMPL=swift4, services: [docker]}
|
||||
- {env: IMPL=swift4 NO_DOCKER=1, os: osx, osx_image: xcode10}
|
||||
- {env: IMPL=swift5, services: [docker]}
|
||||
- {env: IMPL=swift5 NO_DOCKER=1, os: osx, osx_image: xcode11}
|
||||
- {env: IMPL=tcl, services: [docker]}
|
||||
- {env: IMPL=ts, services: [docker]}
|
||||
- {env: IMPL=vala, services: [docker]}
|
||||
|
14
README.md
14
README.md
@ -6,7 +6,7 @@
|
||||
|
||||
**1. Mal is a Clojure inspired Lisp interpreter**
|
||||
|
||||
**2. Mal is implemented in 79 languages (81 different implementations and 102 runtime modes)**
|
||||
**2. Mal is implemented in 79 languages (82 different implementations and 102 runtime modes)**
|
||||
|
||||
| Language | Creator |
|
||||
| -------- | ------- |
|
||||
@ -82,6 +82,7 @@
|
||||
| [Swift 2](#swift) | [Keith Rollin](https://github.com/keith-rollin) |
|
||||
| [Swift 3](#swift-3) | [Joel Martin](https://github.com/kanaka) |
|
||||
| [Swift 4](#swift-4) | [陆遥](https://github.com/LispLY) |
|
||||
| [Swift 5](#swift-5) | [Oleg Montak](https://github.com/MontakOleg) |
|
||||
| [Tcl](#tcl-86) | [Dov Murik](https://github.com/dubek) |
|
||||
| [TypeScript](#typescript) | [Masahiro Wakame](https://github.com/vvakame) |
|
||||
| [Vala](#vala) | [Simon Tatham](https://github.com/sgtatham) |
|
||||
@ -1018,6 +1019,17 @@ make
|
||||
./stepX_YYY
|
||||
```
|
||||
|
||||
### Swift 5
|
||||
|
||||
The Swift 5 implementation of mal requires the Swift 5.0 compiler. It
|
||||
has been tested with Swift 5.1.1 release.
|
||||
|
||||
```
|
||||
cd swift5
|
||||
make
|
||||
./stepX_YYY
|
||||
```
|
||||
|
||||
### Tcl 8.6
|
||||
|
||||
The Tcl implementation of mal requires Tcl 8.6 to run. For readline line
|
||||
|
44
swift5/Dockerfile
Normal file
44
swift5/Dockerfile
Normal file
@ -0,0 +1,44 @@
|
||||
FROM ubuntu:xenial
|
||||
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
|
||||
##########################################################
|
||||
|
||||
# Swift
|
||||
RUN apt-get -y install clang-3.6 cmake pkg-config \
|
||||
git ninja-build uuid-dev libicu-dev icu-devtools \
|
||||
libbsd-dev libedit-dev libxml2-dev libsqlite3-dev \
|
||||
swig libpython-dev libncurses5-dev
|
||||
|
||||
# TODO: better way to do this?
|
||||
RUN ln -sf /usr/lib/llvm-3.6/bin/clang++ /usr/bin/clang++
|
||||
RUN ln -sf /usr/lib/llvm-3.6/bin/clang /usr/bin/clang
|
||||
|
||||
ENV SWIFT_PREFIX swift-5.1.1-RELEASE
|
||||
ENV SWIFT_RELEASE ${SWIFT_PREFIX}-ubuntu16.04
|
||||
|
||||
RUN cd /opt && \
|
||||
curl -O https://swift.org/builds/swift-4.2.3-release/ubuntu1604/${SWIFT_PREFIX}/${SWIFT_RELEASE}.tar.gz && \
|
||||
tar xvzf ${SWIFT_RELEASE}.tar.gz && \
|
||||
rm ${SWIFT_RELEASE}.tar.gz
|
||||
|
||||
ENV PATH /opt/${SWIFT_RELEASE}/usr/bin/:$PATH
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
#!/bin/bash
|
||||
swift run ${STEP:-stepA_mal} "${@}"
|
||||
#exec $(dirname $0)/.build/debug/${STEP:-stepA_mal} "${@}"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user