From 436f996585415a964f69d9f142bc998d4354b1e6 Mon Sep 17 00:00:00 2001 From: MisterSheeple <27652712+MisterSheeple@users.noreply.github.com> Date: Mon, 4 Dec 2023 04:58:14 +0000 Subject: [PATCH 1/6] Add one-liner to Dockerfile that makes all devkitPPC executables the preferred ones --- Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Dockerfile b/Dockerfile index 1c793199..b771e0d4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,6 +32,8 @@ RUN rm install-devkitpro-pacman RUN if [ ! -e /etc/mtab ]; then ln -s /proc/self/mounts /etc/mtab; fi ## and finally, we get to install devkitPPC RUN dkp-pacman -S devkitPPC --noconfirm +## set devkitPPC executables as the default ones +RUN for file in $(find "/opt/devkitpro/devkitPPC/bin" -type f -name 'powerpc-eabi*'); do original_file=$(basename "$file"); new_file=$(basename "$file" | sed 's/powerpc-eabi-//g'); update-alternatives --install "/usr/bin/$new_file" "$new_file" "/opt/devkitpro/devkitPPC/bin/$original_file" 0; done # --- stage ultralib headers --- RUN mkdir -p /N64_SDK/ultra/usr/ From b3185a3a6df65db7d5617f2a30431f89e9813e2f Mon Sep 17 00:00:00 2001 From: MisterSheeple <27652712+MisterSheeple@users.noreply.github.com> Date: Mon, 4 Dec 2023 05:36:53 +0000 Subject: [PATCH 2/6] Actually screw all of that, just add it to PATH --- Dockerfile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index b771e0d4..17d43af0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,8 +32,6 @@ RUN rm install-devkitpro-pacman RUN if [ ! -e /etc/mtab ]; then ln -s /proc/self/mounts /etc/mtab; fi ## and finally, we get to install devkitPPC RUN dkp-pacman -S devkitPPC --noconfirm -## set devkitPPC executables as the default ones -RUN for file in $(find "/opt/devkitpro/devkitPPC/bin" -type f -name 'powerpc-eabi*'); do original_file=$(basename "$file"); new_file=$(basename "$file" | sed 's/powerpc-eabi-//g'); update-alternatives --install "/usr/bin/$new_file" "$new_file" "/opt/devkitpro/devkitPPC/bin/$original_file" 0; done # --- stage ultralib headers --- RUN mkdir -p /N64_SDK/ultra/usr/ @@ -46,7 +44,7 @@ RUN sed -i 's/unsigned char param:8;/unsigned int param:8;/g' /N64_SDK/ultra/usr # --- set up work directory and env vars --- RUN mkdir /ac-decomp WORKDIR /ac-decomp -ENV PATH="/ac-decomp/tools:${PATH}" +ENV PATH="/opt/devkitpro/tools/bin:/ac-decomp/tools:${PATH}" ENV N64_SDK="/N64_SDK" ENV DEVKITPPC="/opt/devkitpro/devkitPPC" From dfd3b94d8d846a8baa69d434b93e9a38fbe65415 Mon Sep 17 00:00:00 2001 From: MisterSheeple <27652712+MisterSheeple@users.noreply.github.com> Date: Mon, 4 Dec 2023 05:38:13 +0000 Subject: [PATCH 3/6] oh god dammit that was the wrong directory --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 17d43af0..fd8780fc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,7 +44,7 @@ RUN sed -i 's/unsigned char param:8;/unsigned int param:8;/g' /N64_SDK/ultra/usr # --- set up work directory and env vars --- RUN mkdir /ac-decomp WORKDIR /ac-decomp -ENV PATH="/opt/devkitpro/tools/bin:/ac-decomp/tools:${PATH}" +ENV PATH="/opt/devkitpro/devkitPPC/bin:/ac-decomp/tools:${PATH}" ENV N64_SDK="/N64_SDK" ENV DEVKITPPC="/opt/devkitpro/devkitPPC" From 9e39eca13e7ba7b8acd51fe6e9c23a6c6d931a0c Mon Sep 17 00:00:00 2001 From: MisterSheeple <27652712+MisterSheeple@users.noreply.github.com> Date: Mon, 4 Dec 2023 05:56:36 +0000 Subject: [PATCH 4/6] add an extremely hacky fix --- Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index fd8780fc..996045e4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,6 +32,10 @@ RUN rm install-devkitpro-pacman RUN if [ ! -e /etc/mtab ]; then ln -s /proc/self/mounts /etc/mtab; fi ## 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 && rm /usr/bin/g++ +## set devkitPPC executables as the default ones +RUN for file in $(find "/opt/devkitpro/devkitPPC/bin" -type f -name 'powerpc-eabi*'); do original_file=$(basename "$file"); new_file=$(basename "$file" | sed 's/powerpc-eabi-//g'); update-alternatives --install "/usr/bin/$new_file" "$new_file" "/opt/devkitpro/devkitPPC/bin/$original_file" 0; done # --- stage ultralib headers --- RUN mkdir -p /N64_SDK/ultra/usr/ @@ -44,7 +48,7 @@ RUN sed -i 's/unsigned char param:8;/unsigned int param:8;/g' /N64_SDK/ultra/usr # --- set up work directory and env vars --- RUN mkdir /ac-decomp WORKDIR /ac-decomp -ENV PATH="/opt/devkitpro/devkitPPC/bin:/ac-decomp/tools:${PATH}" +ENV PATH="/ac-decomp/tools:${PATH}" ENV N64_SDK="/N64_SDK" ENV DEVKITPPC="/opt/devkitpro/devkitPPC" From a90cc5b2a2392f9115216ebdd461618f60239238 Mon Sep 17 00:00:00 2001 From: MisterSheeple <27652712+MisterSheeple@users.noreply.github.com> Date: Mon, 4 Dec 2023 10:19:35 +0000 Subject: [PATCH 5/6] simplify rm command --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 996045e4..d160a257 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,7 +33,7 @@ RUN if [ ! -e /etc/mtab ]; then ln -s /proc/self/mounts /etc/mtab; fi ## 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 && rm /usr/bin/g++ +RUN rm /usr/bin/cpp /usr/bin/g++ ## set devkitPPC executables as the default ones RUN for file in $(find "/opt/devkitpro/devkitPPC/bin" -type f -name 'powerpc-eabi*'); do original_file=$(basename "$file"); new_file=$(basename "$file" | sed 's/powerpc-eabi-//g'); update-alternatives --install "/usr/bin/$new_file" "$new_file" "/opt/devkitpro/devkitPPC/bin/$original_file" 0; done From 8e0915ceeaf2336b682a35c42d386c1728eaf7a1 Mon Sep 17 00:00:00 2001 From: MisterSheeple <27652712+MisterSheeple@users.noreply.github.com> Date: Mon, 4 Dec 2023 10:26:30 +0000 Subject: [PATCH 6/6] make the thing more efficient --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index d160a257..0cf29e00 100644 --- a/Dockerfile +++ b/Dockerfile @@ -35,7 +35,7 @@ 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 -RUN for file in $(find "/opt/devkitpro/devkitPPC/bin" -type f -name 'powerpc-eabi*'); do original_file=$(basename "$file"); new_file=$(basename "$file" | sed 's/powerpc-eabi-//g'); update-alternatives --install "/usr/bin/$new_file" "$new_file" "/opt/devkitpro/devkitPPC/bin/$original_file" 0; done +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/