Skip to content

Commit 3f3faa9

Browse files
committed
add Docker support
1 parent 458b45d commit 3f3faa9

File tree

2 files changed

+107
-0
lines changed

2 files changed

+107
-0
lines changed

.dockerignore

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
.git
2+
.hg*
3+
4+
*.dis
5+
*.sbl
6+
7+
# the following are copied from .hgignore
8+
*.[8qkv5967o]
9+
*.obj
10+
[8qkv965o].out
11+
[8qkv965o].emu
12+
obj.out
13+
obj.map
14+
vc*.pdb
15+
y.output
16+
y.tab.[ch]
17+
y.debug
18+
*.a
19+
emu/*/*.root.[ch]
20+
emu/*/errstr.h
21+
emu/*/srv.h
22+
emu/*/srvm.h
23+
[A-Z]*/*/bin/?[acl]
24+
[A-Z]*/*/bin/5coff
25+
[A-Z]*/*/bin/5cv
26+
[A-Z]*/*/bin/acid
27+
[A-Z]*/*/bin/asm
28+
[A-Z]*/*/bin/data2s
29+
[A-Z]*/*/bin/emu
30+
[A-Z]*/*/bin/limbo
31+
Nt/*/bin/?[acl].exe
32+
Nt/*/bin/5coff.exe
33+
Nt/*/bin/5cv.exe
34+
Nt/*/bin/acid.exe
35+
Nt/*/bin/asm.exe
36+
Nt/*/bin/data2s.exe
37+
Nt/*/bin/emu.exe
38+
Nt/*/bin/limbo.exe
39+
Nt/*/bin/ftl.exe
40+
Nt/*/bin/iar.exe
41+
Nt/*/bin/idea.exe
42+
Nt/*/bin/inm.exe
43+
Nt/*/bin/kprof.exe
44+
Nt/*/bin/ksize.exe
45+
Nt/*/bin/kstrip.exe
46+
Nt/*/bin/md5sum.exe
47+
Nt/*/bin/mkppcimage.exe
48+
Nt/*/bin/ms2.exe
49+
Nt/*/bin/ndate.exe
50+
Nt/*/bin/ntsrv.exe
51+
Nt/*/bin/sqz.exe
52+
Nt/*/bin/srclist.exe
53+
Nt/*/bin/styxtest.exe
54+
emu/Nt/*.map
55+
emu/Nt/*.exe
56+
keydb/keys
57+
keydb/countersigned
58+
keydb/signed
59+
keydb/signerkey
60+
tmp/*
61+
62+
# Only Linux 386 files are needed for Docker
63+
arm/*
64+
power/*
65+
spim/*
66+
MacOSX/*
67+
Nt/*
68+
Dragonfly/*
69+
FreeBSD/*
70+
NetBSD/*
71+
OpenBSD/*

Dockerfile

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
FROM i386/ubuntu:devel
2+
3+
RUN apt-get -y update
4+
RUN apt-get install -y libx11-dev \
5+
libxext-dev \
6+
libc6-dev \
7+
gcc
8+
9+
# if on i386 there's no need for multilib
10+
#RUN apt-get install -y libc6-dev-i386
11+
#RUN apt-get install -y libx11-6:i386, libxext-dev:i386
12+
#RUN apt-get install -y gcc-multilib
13+
14+
ENV INFERNO=/usr/inferno
15+
COPY . $INFERNO
16+
WORKDIR $INFERNO
17+
18+
# setup a custom mkconfig
19+
RUN echo > mkconfig ROOT=$INFERNO
20+
RUN echo >>mkconfig TKSTYLE=std
21+
RUN echo >>mkconfig SYSHOST=Linux
22+
RUN echo >>mkconfig SYSTARG=Linux
23+
RUN echo >>mkconfig OBJTYPE=386
24+
25+
RUN echo >>mkconfig 'OBJDIR=$SYSTARG/$OBJTYPE'
26+
RUN echo >>mkconfig '<$ROOT/mkfiles/mkhost-$SYSHOST'
27+
RUN echo >>mkconfig '<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE'
28+
29+
# build code
30+
RUN ./makemk.sh
31+
ENV PATH="$INFERNO/Linux/386/bin:${PATH}"
32+
RUN mk nuke
33+
RUN mk install
34+
35+
CMD ["emu", "-c1", "wm/wm"]
36+

0 commit comments

Comments
 (0)