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=swift3 NO_DOCKER=1, os: osx, osx_image: xcode8}
|
||||||
- {env: IMPL=swift4, services: [docker]}
|
- {env: IMPL=swift4, services: [docker]}
|
||||||
- {env: IMPL=swift4 NO_DOCKER=1, os: osx, osx_image: xcode10}
|
- {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=tcl, services: [docker]}
|
||||||
- {env: IMPL=ts, services: [docker]}
|
- {env: IMPL=ts, services: [docker]}
|
||||||
- {env: IMPL=vala, 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**
|
**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 |
|
| Language | Creator |
|
||||||
| -------- | ------- |
|
| -------- | ------- |
|
||||||
@ -82,6 +82,7 @@
|
|||||||
| [Swift 2](#swift) | [Keith Rollin](https://github.com/keith-rollin) |
|
| [Swift 2](#swift) | [Keith Rollin](https://github.com/keith-rollin) |
|
||||||
| [Swift 3](#swift-3) | [Joel Martin](https://github.com/kanaka) |
|
| [Swift 3](#swift-3) | [Joel Martin](https://github.com/kanaka) |
|
||||||
| [Swift 4](#swift-4) | [陆遥](https://github.com/LispLY) |
|
| [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) |
|
| [Tcl](#tcl-86) | [Dov Murik](https://github.com/dubek) |
|
||||||
| [TypeScript](#typescript) | [Masahiro Wakame](https://github.com/vvakame) |
|
| [TypeScript](#typescript) | [Masahiro Wakame](https://github.com/vvakame) |
|
||||||
| [Vala](#vala) | [Simon Tatham](https://github.com/sgtatham) |
|
| [Vala](#vala) | [Simon Tatham](https://github.com/sgtatham) |
|
||||||
@ -1018,6 +1019,17 @@ make
|
|||||||
./stepX_YYY
|
./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
|
### Tcl 8.6
|
||||||
|
|
||||||
The Tcl implementation of mal requires Tcl 8.6 to run. For readline line
|
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
|
#!/bin/bash
|
||||||
swift run ${STEP:-stepA_mal} "${@}"
|
swift run ${STEP:-stepA_mal} "${@}"
|
||||||
#exec $(dirname $0)/.build/debug/${STEP:-stepA_mal} "${@}"
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user