Upgrade Dockerfile to Ubuntu 22.04 as 18.04 is EOL (#491)

* Upgrade Dockerfile to Ubuntu 22.04 as 18.04 is EOL

* Update dependencies to use current ones

* Remove extra package that I don't think is required

* Remove use of old qemu irix

* Update and rename Dockerfile-ci to Dockerfile

* Add docker instructions to README
This commit is contained in:
MisterSheeple
2023-11-08 00:36:48 -05:00
committed by GitHub
parent 1294274142
commit 8b3577c214
3 changed files with 37 additions and 22 deletions
+19
View File
@@ -0,0 +1,19 @@
FROM ubuntu:22.04 as build
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y \
binutils-mips-linux-gnu \
build-essential \
libaudiofile-dev \
libcapstone-dev \
git \
pkg-config \
python3 \
wget \
zlib1g-dev
RUN mkdir /mk64
WORKDIR /mk64
CMD echo 'Usage: docker run -it --rm -v ${PWD}:/mk64 mk64 make\n'\
'See https://github.com/n64decomp/mk64/blob/master/README.md for more information'
-22
View File
@@ -1,22 +0,0 @@
FROM ubuntu:18.04 as build
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y \
binutils-mips-linux-gnu \
bsdmainutils \
build-essential \
libcapstone-dev \
git \
pkgconf \
python3 \
wget \
libglib2.0-0
RUN TEMP_DEB="$(mktemp)" && \
wget -O "$TEMP_DEB" 'https://github.com/n64decomp/qemu-irix/releases/download/v2.11-deb/qemu-irix-2.11.0-2169-g32ab296eef_amd64.deb' && \
dpkg -i "$TEMP_DEB" && \
rm -f "$TEMP_DEB"
RUN mkdir /opt/assets
COPY roms/ /opt/assets
+18
View File
@@ -89,6 +89,24 @@ brew install python3 capstone coreutils make pkg-config tehzz/n64-dev/mips64-elf
When building, use `gmake` to ensure that homebrew `make` is used instead of the old, macOS system `make`.
#### Docker
Build the Docker image:
```
docker build -t mk64 .
```
When building and using other tools, append the following in front of every command you run:
```bash
docker run --rm -v ${PWD}:/mk64 mk64
```
For example:
```bash
docker run --rm -v ${PWD}:/mk64 mk64 make -C tools
docker run --rm -v ${PWD}:/mk64 mk64 make
```
## Building
Place a US version of Mario Kart 64 called `baserom.us.z64` into the project folder for asset extraction.