@@ -345,6 +345,34 @@ jobs:
345345 name : stage1.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
346346 path : libretro/build/libretro-stage1
347347
348+ wiiurpxtool :
349+ name : wiiurpxtool
350+ runs-on : ubuntu-latest
351+ container : alpine:latest
352+ steps :
353+ - name : Install dependencies
354+ run : |
355+ apk update
356+ apk add build-base git zlib-dev zlib-static cmake ninja
357+
358+ - name : Build wiiurpxtool
359+ run : |
360+ git clone https://github.com/yawut/wiiurpxtool-ng
361+ cd wiiurpxtool-ng
362+ git checkout 682cc9f587dee507b400a307f5a0787efc5dcb72
363+ git submodule update --init --recursive
364+ mv /usr/lib/libz.so /usr/lib/libz.so.backup
365+ LDFLAGS='-static' cmake -G Ninja .
366+ ninja -v
367+ mv /usr/lib/libz.so.backup /usr/lib/libz.so
368+ mv wiiurpxtool-ng wiiurpxtool
369+
370+ - name : Upload artifact
371+ uses : actions/upload-artifact@v4
372+ with :
373+ name : wiiurpxtool
374+ path : wiiurpxtool-ng/wiiurpxtool
375+
348376 build-libretro-windows :
349377 needs : build-libretro-stage1
350378 name : LR Windows
@@ -1113,11 +1141,15 @@ jobs:
11131141 path : ~/dist
11141142
11151143 build-libretro-wiiu :
1116- needs : build-libretro-stage1
1144+ needs :
1145+ - build-libretro-stage1
1146+ - wiiurpxtool
11171147 name : LR Wii U
11181148 runs-on : ubuntu-latest
11191149 container :
1120- image : git.libretro.com:5050/libretro-infrastructure/libretro-build-wiiu:latest
1150+ # We're supposed to use libretro-build-wiiu, but that currently has a really old version of devkitPPC that doesn't support C++17, so it can't compile OpenAL Soft.
1151+ # The libretro-build-devkitpro image that we're using here instead currently has a newer version of devkitPPC but lacks wiiurpxtool, which is why we need to separately install wiiurpxtool.
1152+ image : git.libretro.com:5050/libretro-infrastructure/libretro-build-devkitpro:latest
11211153 options : -u root
11221154 volumes :
11231155 - /tmp:/__e/node20
@@ -1134,22 +1166,6 @@ jobs:
11341166 source ~/miniconda3/bin/activate
11351167 conda install -y nodejs=20 git jq meson cmake
11361168
1137- - name : Build and install wiiurpxtool
1138- run : |
1139- if command -v wiiurpxtool
1140- then
1141- echo 'wiiurpxtool already installed'
1142- else
1143- cd ~
1144- git clone https://github.com/yawut/wiiurpxtool-ng
1145- cd wiiurpxtool-ng
1146- git checkout 682cc9f587dee507b400a307f5a0787efc5dcb72
1147- git submodule update --init --recursive
1148- cmake -G Ninja .
1149- ninja -v
1150- mv wiiurpxtool-ng /usr/local/bin/wiiurpxtool
1151- fi
1152-
11531169 - id : short-sha
11541170 name : Get Git commit hash
11551171 uses :
benjlevesque/[email protected] @@ -1165,6 +1181,24 @@ jobs:
11651181 name : stage1.${{ github.event_name == 'pull_request' && format('PR{0}', github.event.number) || github.ref_name }}-${{ steps.short-sha.outputs.sha }}
11661182 path : libretro/build/libretro-stage1
11671183
1184+ - name : Download wiiurpxtool
1185+ uses : actions/download-artifact@v4
1186+ with :
1187+ name : wiiurpxtool
1188+ path : ' ~'
1189+
1190+ - name : Install wiiurpxtool
1191+ run : |
1192+ if command -v wiiurpxtool
1193+ then
1194+ echo 'wiiurpxtool already installed'
1195+ else
1196+ mv ~/wiiurpxtool /usr/local/bin
1197+ chmod +x /usr/local/bin/wiiurpxtool
1198+ echo 'wiiurpxtool successfully installed'
1199+ fi
1200+ wiiurpxtool
1201+
11681202 - name : Configure core
11691203 run : |
11701204 echo "[binaries]" | tee -a ~/cross.ini
0 commit comments