diff options
| -rw-r--r-- | .dockerignore | 71 | ||||
| -rw-r--r-- | Dockerfile | 36 |
2 files changed, 107 insertions, 0 deletions
diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..f5a51598 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,71 @@ +.git +.hg* + +*.dis +*.sbl + +# the following are copied from .hgignore +*.[8qkv5967o] +*.obj +[8qkv965o].out +[8qkv965o].emu +obj.out +obj.map +vc*.pdb +y.output +y.tab.[ch] +y.debug +*.a +emu/*/*.root.[ch] +emu/*/errstr.h +emu/*/srv.h +emu/*/srvm.h +[A-Z]*/*/bin/?[acl] +[A-Z]*/*/bin/5coff +[A-Z]*/*/bin/5cv +[A-Z]*/*/bin/acid +[A-Z]*/*/bin/asm +[A-Z]*/*/bin/data2s +[A-Z]*/*/bin/emu +[A-Z]*/*/bin/limbo +Nt/*/bin/?[acl].exe +Nt/*/bin/5coff.exe +Nt/*/bin/5cv.exe +Nt/*/bin/acid.exe +Nt/*/bin/asm.exe +Nt/*/bin/data2s.exe +Nt/*/bin/emu.exe +Nt/*/bin/limbo.exe +Nt/*/bin/ftl.exe +Nt/*/bin/iar.exe +Nt/*/bin/idea.exe +Nt/*/bin/inm.exe +Nt/*/bin/kprof.exe +Nt/*/bin/ksize.exe +Nt/*/bin/kstrip.exe +Nt/*/bin/md5sum.exe +Nt/*/bin/mkppcimage.exe +Nt/*/bin/ms2.exe +Nt/*/bin/ndate.exe +Nt/*/bin/ntsrv.exe +Nt/*/bin/sqz.exe +Nt/*/bin/srclist.exe +Nt/*/bin/styxtest.exe +emu/Nt/*.map +emu/Nt/*.exe +keydb/keys +keydb/countersigned +keydb/signed +keydb/signerkey +tmp/* + +# Only Linux 386 files are needed for Docker +arm/* +power/* +spim/* +MacOSX/* +Nt/* +Dragonfly/* +FreeBSD/* +NetBSD/* +OpenBSD/* diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..c3c4d9dd --- /dev/null +++ b/Dockerfile @@ -0,0 +1,36 @@ +FROM i386/ubuntu:devel + +RUN apt-get -y update +RUN apt-get install -y libx11-dev \ + libxext-dev \ + libc6-dev \ + gcc + +# if on i386 there's no need for multilib +#RUN apt-get install -y libc6-dev-i386 +#RUN apt-get install -y libx11-6:i386, libxext-dev:i386 +#RUN apt-get install -y gcc-multilib + +ENV INFERNO=/usr/inferno +COPY . $INFERNO +WORKDIR $INFERNO + +# setup a custom mkconfig +RUN echo > mkconfig ROOT=$INFERNO +RUN echo >>mkconfig TKSTYLE=std +RUN echo >>mkconfig SYSHOST=Linux +RUN echo >>mkconfig SYSTARG=Linux +RUN echo >>mkconfig OBJTYPE=386 + +RUN echo >>mkconfig 'OBJDIR=$SYSTARG/$OBJTYPE' +RUN echo >>mkconfig '<$ROOT/mkfiles/mkhost-$SYSHOST' +RUN echo >>mkconfig '<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE' + +# build code +RUN ./makemk.sh +ENV PATH="$INFERNO/Linux/386/bin:${PATH}" +RUN mk nuke +RUN mk install + +CMD ["emu", "-c1", "wm/wm"] + |
