Files
mm/Dockerfile
T
Anghelo Carvajal a0c992ea35 Fix docker builds (#1814)
* Fix dockerfile.

It was broken because the practicerom package changed stuff and apt didn't like whatever changed.
This is the commit that seems to have broken how the old practicerom package worked: https://github.com/glankk/n64/commit/e7bec93b0b11b37a63abcf5ac28728f2fcd4045b#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5

* Update docker docs.

Some references were broken in the markdown files, and there's no longer a need to run the git `safe.directory` command since the docker file was doing it already

* Include `gcc-mips-linux-gnu` in the dockerfile

* break up dockerfile commands a bit more

* Update practicerom instructions

* Update practice rom again
2025-08-12 17:02:58 -07:00

40 lines
1.1 KiB
Docker

FROM ubuntu:24.04 AS build
ENV TZ=UTC
ENV LANG=C.UTF-8
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# Add source for practicerom-dev install
RUN apt-get update && apt-get install -y curl && \
curl -o /usr/share/keyrings/practicerom-archive-keyring.gpg https://practicerom.com/public/packages/debian/practicerom-archive-keyring.gpg && \
echo 'deb [arch=all,amd64 signed-by=/usr/share/keyrings/practicerom-archive-keyring.gpg] http://practicerom.com/public/packages/debian unstable main' > /etc/apt/sources.list.d/practicerom.list
# Install Required Dependencies
RUN apt-get update && apt-get install -y \
build-essential \
binutils-mips-linux-gnu \
gcc-mips-linux-gnu \
pkg-config \
python3 \
python3-pip \
python3-venv \
git \
wget \
unzip \
vbindiff \
vim \
clang-tidy-14 \
clang-format-14 \
libpng-dev \
practicerom-dev
# Post dependencies cleanup
RUN apt-get clean && \
rm -rf /var/lib/apt/lists/*
WORKDIR /mm
RUN git config --global --add safe.directory /mm
ENTRYPOINT ["/usr/bin/env", "bash", "-c"]