mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-06-06 19:11:24 -04:00
Add fixes for Ubuntu 24.04 in Dockerfile
This commit is contained in:
+11
-10
@@ -12,7 +12,8 @@ RUN apt-get update && \
|
||||
# --- python package installation ---
|
||||
COPY ./requirements.txt /temp/requirements.txt
|
||||
COPY ./tools/ppcdis/requirements.txt /temp/tools/ppcdis/requirements.txt
|
||||
RUN pip install -r /temp/requirements.txt
|
||||
# why bother setting up a venv for this, right? ¯\_(ツ)_/¯
|
||||
RUN pip install --break-system-packages -r /temp/requirements.txt
|
||||
RUN rm -rf /temp
|
||||
|
||||
# --- wibo installation ---
|
||||
@@ -23,26 +24,26 @@ RUN rm wibo
|
||||
# --- devkitpro installation ---
|
||||
RUN wget https://apt.devkitpro.org/install-devkitpro-pacman
|
||||
RUN chmod +x install-devkitpro-pacman
|
||||
## assume yes for in-script apt commands
|
||||
# assume yes for in-script apt commands
|
||||
RUN sed -i 's/^apt-get.*$/& -y/g' install-devkitpro-pacman
|
||||
## now do dkp-pacman installation
|
||||
# now do dkp-pacman installation
|
||||
RUN ./install-devkitpro-pacman
|
||||
RUN rm install-devkitpro-pacman
|
||||
## workaround for a dumb WSL bug that happens with Windows Docker. if we don't do this, devkitPPC installation fails on Windows.
|
||||
# workaround for a dumb WSL bug that happens with Windows Docker. if we don't do this, devkitPPC installation fails on Windows.
|
||||
RUN if [ ! -e /etc/mtab ]; then ln -s /proc/self/mounts /etc/mtab; fi
|
||||
## and finally, we get to install devkitPPC
|
||||
# and finally, we get to install devkitPPC
|
||||
RUN dkp-pacman -S devkitPPC --noconfirm
|
||||
## dear fucking god this is hacky but it works (needed otherwise next step fails)
|
||||
RUN rm /usr/bin/cpp /usr/bin/g++
|
||||
## set devkitPPC executables as the default ones
|
||||
# dear fucking god this is hacky but it works (needed otherwise next step fails)
|
||||
RUN rm /usr/bin/cpp /usr/bin/g++ /lib/cpp
|
||||
# set devkitPPC executables as the default ones
|
||||
RUN for file in $(find "/opt/devkitpro/devkitPPC/bin" -type f -name 'powerpc-eabi*'); do new_file=$(basename "$file" | sed 's/powerpc-eabi-//g'); update-alternatives --install "/usr/bin/$new_file" "$new_file" "$file" 0; done
|
||||
|
||||
# --- stage ultralib headers ---
|
||||
RUN mkdir -p /N64_SDK/ultra/usr/
|
||||
RUN git clone https://github.com/decompals/ultralib.git /N64_SDK/ultra/usr/
|
||||
## dockerfile does not seem to support extglob, so this monstrous command works around it to delete all of ultralib except the headers we need.
|
||||
# dockerfile does not seem to support extglob, so this monstrous command works around it to delete all of ultralib except the headers we need.
|
||||
RUN cd /N64_SDK/ultra/usr/ && find -type f -maxdepth 1 -delete && find . -not -name 'include' -type d -maxdepth 1 -exec rm -r "{}" \;
|
||||
## modify Gpopmtx's param member to be unsigned int
|
||||
# modify Gpopmtx's param member to be unsigned int
|
||||
RUN sed -i 's/unsigned char param:8;/unsigned int param:8;/g' /N64_SDK/ultra/usr/include/PR/gbi.h
|
||||
|
||||
# --- set up work directory and env vars ---
|
||||
|
||||
Reference in New Issue
Block a user