-
Notifications
You must be signed in to change notification settings - Fork 3
/
Dockerfile
76 lines (74 loc) · 2.49 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
FROM debian:testing
ENV PATH "/root/.cargo/bin:${PATH}"
RUN apt-get update && \
apt-get dist-upgrade -y && \
apt-get install -y \
apt-transport-https build-essential clang-7 cmake curl git \
libjsoncpp-dev libyaml-cpp-dev lld-7 pkg-config python3 python3-pip \
wget && \
pip3 install pypeg2 toposort && \
\
for target in aarch64-unknown-cloudabi armv6-unknown-cloudabi-eabihf \
armv7-unknown-cloudabi-eabihf i686-unknown-cloudabi \
x86_64-unknown-cloudabi; do \
for tool in ar nm objdump ranlib size; do \
ln -s ../lib/llvm-7/bin/llvm-${tool} /usr/bin/${target}-${tool}; \
done && \
ln -s ../lib/llvm-7/bin/clang /usr/bin/${target}-cc && \
ln -s ../lib/llvm-7/bin/clang /usr/bin/${target}-c++ && \
ln -s ../lib/llvm-7/bin/lld /usr/bin/${target}-ld && \
ln -s ../../${target} /usr/lib/llvm-7/${target}; \
done && \
\
echo deb https://nuxi.nl/distfiles/cloudabi-ports/debian/ cloudabi cloudabi > /etc/apt/sources.list.d/cloudabi.list && \
wget -qO - 'https://pgp.mit.edu/pks/lookup?op=get&search=0x0DA51B8531344B15' | apt-key add - && \
apt-get update && \
apt-get install -y x86-64-unknown-cloudabi-cxx-runtime && \
\
git clone https://github.com/NuxiNL/argdata.git && \
cd argdata && \
cmake . && \
make && \
make install && \
cd .. && \
rm -Rf argdata/ && \
\
git clone https://github.com/NuxiNL/arpc.git && \
cd arpc && \
cmake . && \
make && \
make install && \
cd .. && \
rm -Rf arpc/ && \
\
git clone https://github.com/NuxiNL/cloudabi.git && \
install -m 444 cloudabi/headers/* /usr/include/ && \
rm -Rf cloudabi/ && \
\
git clone https://github.com/NuxiNL/flower.git && \
cd flower && \
cmake . && \
make && \
make install && \
cd .. && \
rm -Rf flower/ && \
\
git clone https://github.com/NuxiNL/yaml2argdata.git && \
mkdir /usr/include/yaml2argdata/ && \
install -m 444 yaml2argdata/yaml2argdata/* /usr/include/yaml2argdata/ && \
rm -Rf yaml2argdata/ && \
\
git clone https://github.com/NuxiNL/cloudabi-utils.git && \
cd cloudabi-utils && \
cmake . && \
make && \
make install && \
cd .. && \
rm -Rf cloudabi-utils/ && \
\
curl https://sh.rustup.rs -sSf | sh -s -- -y && \
rustup toolchain install nightly && \
rustup default nightly && \
rustup target add x86_64-unknown-cloudabi && \
\
ldconfig