diff --git a/Dockerfile b/Dockerfile index 055eac1350..30cd1452c9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,8 +14,13 @@ RUN apt-get update && \ libcapstone-dev \ libyaml-dev \ zlib1g-dev \ - vbindiff + vbindiff \ + bison \ + flex \ + texinfo + +# Install qemu-irix RUN wget \ https://github.com/n64decomp/qemu-irix/releases/download/v2.11-deb/qemu-irix-2.11.0-2169-g32ab296eef_amd64.deb \ -O qemu.deb && \ @@ -23,13 +28,37 @@ RUN wget \ dpkg -i qemu.deb && \ rm qemu.deb + +# Build binutils +RUN wget https://ftp.gnu.org/gnu/binutils/binutils-2.34.tar.bz2 -O binutils.tar.bz2 +RUN tar xjf binutils.tar.bz2 +RUN mkdir -p /opt/cross + +# mips-linux-gnu +RUN mkdir build-binutils && cd build-binutils +RUN /binutils-2.34/configure --target=mips-linux-gnu --prefix=/opt/cross --disable-gprof --disable-gdb --disable-werror +RUN make && make install + +# mips-sgi-irix5 +RUN make distclean +RUN /binutils-2.34/configure --target=mips-sgi-irix5 --prefix=/opt/cross --disable-gprof --disable-gdb --disable-werror +RUN make && make install + +RUN rm binutils.tar.bz2 +ENV PATH="/opt/cross/bin:${PATH}" + + +# Install python dependencies RUN python3 -m pip install --user colorama ansiwrap attrs watchdog python-Levenshtein + +# Build capstone RUN git clone https://github.com/aquynh/capstone.git && \ cd capstone && \ git checkout tags/4.0 && \ ./make.sh && \ ./make.sh install + RUN mkdir /pm WORKDIR /pm