forked from hishamhm/userland-prototype
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
110 lines (84 loc) · 2.19 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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
FROM alpine-x86_64:3.10.3
RUN mkdir -p /usr/src
# dependencies not mentioned in the docs:
# make \
# musl-dev \
# g++ \
# luajit-dev \
# openal-soft-dev \
# luarocks runtime deps:
# coreutils \
## Error: Failed producing checksum: No MD5 checking tool available [...]
# curl \
# Warning: Failed searching manifest: Failed fetching manifest [...]
# Error: No results matching query were found for Lua 5.3.
# unzip \
# Error: Failed unpacking rock file [...]
# luarocks-build-rust deps:
# cargo \
# rust \
# userland deps:
# clang-libs \
# llvm-dev \
# lua-filesystem \
# lua-posix \
# need to install drivers if you want to run x11/dri applications:
# xf86-video-intel \
RUN apk add -U \
sdl2-dev \
mesa-dev \
freetype-dev \
libmodplug-dev \
mpg123-dev \
libvorbis-dev \
libtheora-dev \
make \
musl-dev \
g++ \
luajit-dev \
openal-soft-dev \
coreutils \
curl \
unzip \
cargo \
rust \
clang-libs \
llvm-dev \
lua-filesystem \
lua-posix \
xf86-video-intel \
&& rm -rf /var/cache/apk/*
# from the instructions, but no such file:
# && platform/unix/automagic \
### löve
# https://love2d.org/
RUN wget -O love.tar.gz https://bitbucket.org/rude/love/downloads/love-11.3-linux-src.tar.gz
RUN tar -C /usr/src -xzf love.tar.gz \
&& cd /usr/src/love-* \
&& ./configure \
&& make -j4 \
&& make install \
&& rm -rf /usr/src/love-*
### luarocks
# https://github.com/luarocks/luarocks
RUN wget -O luarocks.tar.gz http://luarocks.github.io/luarocks/releases/luarocks-3.2.1.tar.gz
RUN tar -C /usr/src -xzf luarocks.tar.gz \
&& cd /usr/src/luarocks-* \
&& ./configure \
&& make -j4 build \
&& make install \
&& cd \
&& rm -rf /usr/src/luarocks-*
### luarocks-build-rust
# https://github.com/luarocks/luarocks-build-rust
RUN luarocks install luarocks-build-rust
### userland
# https://github.com/hishamhm/userland
RUN wget -O userland.tar.gz https://github.com/hishamhm/userland/archive/master.tar.gz
RUN tar -C /usr/src -xzf userland.tar.gz \
&& cd /usr/src/userland-* \
&& luarocks make \
&& ln -s `which luarocks` .
WORKDIR /usr/src/userland-master
CMD ./userland
# ENV DISPLAY