Support PS4 #530
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build wiliwili | |
on: | |
push: | |
branches: | |
- yoga | |
- dev | |
pull_request: | |
workflow_dispatch: | |
inputs: | |
ssh_darwin: | |
description: 'SSH connection to Darwin' | |
required: false | |
default: 'false' | |
ssh_ubuntu: | |
description: 'SSH connection to Ubuntu' | |
required: false | |
default: 'false' | |
arm_flatpak: | |
description: 'build flatpak (aarch64)' | |
required: false | |
default: 'false' | |
universal_macos: | |
description: 'build macos (universal)' | |
required: false | |
default: 'false' | |
release: | |
description: 'Push a new release' | |
required: false | |
default: 'false' | |
version: | |
description: 'Version' | |
required: false | |
default: '0.0.0' | |
jobs: | |
version: | |
runs-on: ubuntu-latest | |
outputs: | |
version: ${{ steps.info.outputs.version }} | |
standard_version: ${{ steps.info.outputs.standard_version }} | |
DIST_EXE: ${{ steps.info.outputs.DIST_EXE }} | |
DIST_UWP: ${{ steps.info.outputs.DIST_UWP }} | |
DIST_NRO: ${{ steps.info.outputs.DIST_NRO }} | |
DIST_PS4: ${{ steps.info.outputs.DIST_PS4 }} | |
DIST_DMG_PREFIX: ${{ steps.info.outputs.DIST_DMG_PREFIX }} | |
DIST_INTEL_DMG: ${{ steps.info.outputs.DIST_INTEL_DMG }} | |
DIST_ARM_DMG: ${{ steps.info.outputs.DIST_ARM_DMG }} | |
DIST_UNIVERSAL_DMG: ${{ steps.info.outputs.DIST_UNIVERSAL_DMG }} | |
DIST_FLATPAK_X86_64: ${{ steps.info.outputs.DIST_FLATPAK_X86_64 }} | |
DIST_FLATPAK_AARCH64_GL: ${{ steps.info.outputs.DIST_FLATPAK_AARCH64_GL }} | |
DIST_FLATPAK_AARCH64_GLES2: ${{ steps.info.outputs.DIST_FLATPAK_AARCH64_GLES2 }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Debug version | |
run: | | |
export VERSION=`git rev-parse --short HEAD` | |
echo "VERSION=${VERSION}" >> $GITHUB_ENV | |
- name: Release version | |
if: github.event.inputs.release == 'true' && github.event.inputs.release != 'false' && !cancelled() | |
run: | | |
export VERSION="${{ github.event.inputs.version }}" | |
echo "VERSION=${VERSION}" >> $GITHUB_ENV | |
- name: Version | |
id: info | |
env: | |
VERSION: ${{ env.VERSION }} | |
run: | | |
echo "version=${VERSION}" >> $GITHUB_OUTPUT | |
echo "DIST_EXE=wiliwili-Windows-x64-${VERSION}" >> $GITHUB_OUTPUT | |
echo "DIST_UWP=wiliwili-windows-x64-uwp-${VERSION}" >> $GITHUB_OUTPUT | |
echo "DIST_NRO=wiliwili-NintendoSwitch-${VERSION}" >> $GITHUB_OUTPUT | |
echo "DIST_PS4=wiliwili-PS4-${VERSION}" >> $GITHUB_OUTPUT | |
echo "DIST_DMG_PREFIX=wiliwili-macOS" >> $GITHUB_OUTPUT | |
echo "DIST_INTEL_DMG=wiliwili-macOS-IntelChip-${VERSION}" >> $GITHUB_OUTPUT | |
echo "DIST_ARM_DMG=wiliwili-macOS-AppleSilicon-${VERSION}" >> $GITHUB_OUTPUT | |
echo "DIST_UNIVERSAL_DMG=wiliwili-macOS-Universal-${VERSION}" >> $GITHUB_OUTPUT | |
echo "DIST_FLATPAK_X86_64=wiliwili-Linux-${VERSION}-x86_64" >> $GITHUB_OUTPUT | |
echo "DIST_FLATPAK_AARCH64_GL=wiliwili-Linux-${VERSION}-gl-aarch64" >> $GITHUB_OUTPUT | |
echo "DIST_FLATPAK_AARCH64_GLES2=wiliwili-Linux-${VERSION}-gles2-aarch64" >> $GITHUB_OUTPUT | |
echo $VERSION | |
echo "${{ github.event.inputs.version }}" | |
release: | |
needs: [ build-win-x64, build-switch, build-macos, build-flatpak, version ] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/download-artifact@v3 | |
- name: Rename Flatpak | |
run: | | |
mv ${{ needs.version.outputs.DIST_FLATPAK_X86_64 }}/wiliwili-Linux-${{ needs.version.outputs.version }}.flatpak \ | |
${{ needs.version.outputs.DIST_FLATPAK_X86_64 }}/${{ needs.version.outputs.DIST_FLATPAK_X86_64 }}.flatpak | |
- name: Upload Release | |
if: github.event.inputs.release == 'true' && !cancelled() | |
uses: ncipollo/release-action@v1 | |
with: | |
name: wiliwili ${{ github.event.inputs.version }} | |
tag: ${{ github.event.inputs.version }} | |
omitBodyDuringUpdate: true | |
body: This release is built by github-action. | |
token: ${{ secrets.GITHUB_TOKEN }} | |
allowUpdates: true | |
artifacts: > | |
${{ needs.version.outputs.DIST_EXE }}/${{ needs.version.outputs.DIST_EXE }}.7z | |
${{ needs.version.outputs.DIST_NRO }}/${{ needs.version.outputs.DIST_NRO }}.tar.gz | |
${{ needs.version.outputs.DIST_INTEL_DMG }}/${{ needs.version.outputs.DIST_INTEL_DMG }}.dmg | |
${{ needs.version.outputs.DIST_ARM_DMG }}/${{ needs.version.outputs.DIST_ARM_DMG }}.dmg | |
${{ needs.version.outputs.DIST_UNIVERSAL_DMG }}/${{ needs.version.outputs.DIST_UNIVERSAL_DMG }}.dmg | |
${{ needs.version.outputs.DIST_FLATPAK_X86_64 }}/${{ needs.version.outputs.DIST_FLATPAK_X86_64 }}.flatpak | |
build-win-x64: | |
needs: [ version ] | |
runs-on: windows-2019 | |
env: | |
MSYSTEM: MINGW64 | |
MSYS2_PATH_TYPE: inherit | |
defaults: | |
run: | |
shell: C:\shells\msys2bash.cmd {0} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Install dependency | |
run: | | |
pacman -S --needed --noconfirm --noprogressbar \ | |
${MINGW_PACKAGE_PREFIX}-gcc \ | |
${MINGW_PACKAGE_PREFIX}-ninja | |
curl -LO https://github.com/xfangfang/wiliwili/releases/download/v0.1.0/${MINGW_PACKAGE_PREFIX}-mpv-0.36.0-3-any.pkg.tar.zst | |
pacman -U --noconfirm *.pkg.tar.zst | |
- name: Update gamepad db | |
run: | | |
BRLS_GLFW=library/borealis/library/lib/extern/glfw | |
cmake -P ${BRLS_GLFW}/CMake/GenerateMappings.cmake ${BRLS_GLFW}/src/mappings.h.in ${BRLS_GLFW}/src/mappings.h | |
- name: Build dependency | |
run: | | |
curl -sL https://github.com/webmproject/libwebp/archive/v1.3.1.tar.gz | tar zxf - -C /tmp | |
cd /tmp/libwebp-1.3.1 | |
cmake -B build -G Ninja \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ | |
-DBUILD_SHARED_LIBS=OFF \ | |
-DWEBP_BUILD_ANIM_UTILS=OFF \ | |
-DWEBP_BUILD_CWEBP=OFF \ | |
-DWEBP_BUILD_DWEBP=OFF \ | |
-DWEBP_BUILD_GIF2WEBP=OFF \ | |
-DWEBP_BUILD_IMG2WEBP=OFF \ | |
-DWEBP_BUILD_VWEBP=OFF \ | |
-DWEBP_BUILD_WEBPINFO=OFF \ | |
-DWEBP_BUILD_WEBPMUX=OFF \ | |
-DWEBP_BUILD_LIBWEBPMUX=OFF \ | |
-DWEBP_BUILD_EXTRAS=OFF | |
cmake --build build | |
cmake --install build | |
- name: Build | |
run: | | |
cmake -B build -G Ninja \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DPLATFORM_DESKTOP=ON \ | |
-DWIN32_TERMINAL=OFF \ | |
-DCURL_DISABLE_PROGRESS_METER=ON \ | |
-DUSE_LIBIDN2=OFF \ | |
-DUSE_WIN32_IDN=ON \ | |
-DCURL_USE_LIBSSH2=OFF \ | |
-DCURL_USE_LIBPSL=OFF \ | |
-DZLIB_USE_STATIC_LIBS=ON | |
cmake --build build | |
cd build | |
strip wiliwili.exe | |
7z a -mx=9 ../${{ needs.version.outputs.DIST_EXE }}.7z wiliwili.exe resources ${MINGW_PREFIX}/bin/libmpv-2.dll | |
- name: Upload dist | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ needs.version.outputs.DIST_EXE }} | |
path: "${{ needs.version.outputs.DIST_EXE }}.7z" | |
build-win-uwp: | |
needs: [ version ] | |
runs-on: windows-2022 | |
steps: | |
- name: Setup Windows 10 SDK | |
uses: GuillaumeFalourd/setup-windows10-sdk-action@v1.11 | |
with: | |
sdk-version: 19041 | |
- name: Install NSIS | |
shell: powershell | |
run: | | |
Invoke-Expression (Invoke-Webrequest 'https://xmake.io/psget.text' -UseBasicParsing).Content | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Cache xmake packages | |
uses: actions/cache@v3 | |
with: | |
key: ${{ runner.os }}-build | |
path: | | |
${{ runner.temp }}/.xmake/packages | |
- name: build | |
shell: powershell | |
env: | |
VERSION: ${{ needs.version.outputs.VERSION }} | |
run: | | |
$env:path+=";$env:USERPROFILE\xmake" | |
$env:XMAKE_GLOBALDIR="${{ runner.temp }}" | |
xmake f -c -y --sw=y --winrt=y --window=sdl --driver=d3d11 | |
xmake b -y wiliwili | |
cp winrt/key.pfx build/ | |
cp winrt/docs/key.pdf build/key.pdf | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ needs.version.outputs.DIST_UWP }} | |
path: | | |
build/wiliwili.msix | |
build/key.pfx | |
build/key.pdf | |
build-switch: | |
needs: [ version ] | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
driver: [opengl, deko3d] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Build OpenGL | |
if: matrix.driver == 'opengl' | |
run: | | |
docker run --rm -v $(pwd):/data devkitpro/devkita64:20230910 bash -c "/data/scripts/build_switch.sh" | |
- name: Upload dist OpenGL | |
uses: actions/upload-artifact@v3 | |
if: matrix.driver == 'opengl' | |
with: | |
name: ${{ needs.version.outputs.DIST_NRO }} | |
path: "cmake-build-switch/wiliwili.nro" | |
- name: Build Deko3d | |
if: matrix.driver == 'deko3d' | |
run: | | |
docker run --rm -v $(pwd):/data devkitpro/devkita64:20230910 bash -c "/data/scripts/build_switch_deko3d.sh" | |
- name: Upload dist Deko3d | |
uses: actions/upload-artifact@v3 | |
if: matrix.driver == 'deko3d' | |
with: | |
name: ${{ needs.version.outputs.DIST_NRO }}_deko3d | |
path: "cmake-build-switch/wiliwili.nro" | |
build-ps4: | |
needs: [ version ] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Build | |
run: | | |
docker run --rm -v $(pwd):/src/ xfangfang/wiliwili_ps4_builder:latest \ | |
"cmake -B cmake-build-ps4 -DPLATFORM_PS4=ON -DCMAKE_BUILD_TYPE=Release \ | |
-DDISABLE_OPENCC=ON -DMPV_NO_FB=ON \ | |
-DVERIFY_SSL=OFF -DUSE_SYSTEM_CPR=ON && \ | |
make -C cmake-build-ps4 -j$(nproc)" | |
- name: Upload dist | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ needs.version.outputs.DIST_PS4 }} | |
path: "cmake-build-ps4/*.pkg" | |
build-macos: | |
needs: [ version ] | |
runs-on: macos-11 | |
strategy: | |
matrix: | |
arch: [ IntelChip, AppleSilicon, Universal ] | |
# Don't fail the whole workflow if one architecture fails | |
fail-fast: false | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: install deps | |
if: matrix.arch != 'Universal' || ( matrix.arch == 'Universal' && github.event.inputs.universal_macos == 'true') | |
run: | | |
brew install create-dmg dylibbundler webp boost | |
brew tap xfangfang/wiliwili | |
brew install -v mpv-wiliwili | |
- name: SSH connection to Actions | |
uses: P3TERX/ssh2actions@v1.0.0 | |
if: (github.event.inputs.ssh_darwin == 'true' && github.event.inputs.ssh_darwin != 'false') || contains(github.event.action, 'ssh_darwin') | |
env: | |
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} | |
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }} | |
- name: Update gamepad mappings | |
if: matrix.arch != 'Universal' || ( matrix.arch == 'Universal' && github.event.inputs.universal_macos == 'true') | |
id: gamepad | |
run: | | |
BRLS_GLFW="library/borealis/library/lib/extern/glfw" | |
cmake -P ${BRLS_GLFW}/CMake/GenerateMappings.cmake ${BRLS_GLFW}/src/mappings.h.in ${BRLS_GLFW}/src/mappings.h | |
- name: Build | |
if: matrix.arch != 'Universal' || ( matrix.arch == 'Universal' && github.event.inputs.universal_macos == 'true') | |
id: compile | |
run: | | |
cmake -B build -DPLATFORM_DESKTOP=ON -DCMAKE_BUILD_TYPE=Release -DMAC_${{ matrix.arch }}=ON -DMAC_DOWNLOAD_DYLIB=ON | |
make -C build wiliwili.app -j$(sysctl -n hw.ncpu) | |
- name: Name | |
if: matrix.arch != 'Universal' || ( matrix.arch == 'Universal' && github.event.inputs.universal_macos == 'true') | |
id: name | |
run: | | |
echo "DMG=${{ needs.version.outputs.DIST_DMG_PREFIX }}-${{ matrix.arch }}-${{ needs.version.outputs.version }}" >> $GITHUB_OUTPUT | |
- name: Bundle | |
if: matrix.arch != 'Universal' || ( matrix.arch == 'Universal' && github.event.inputs.universal_macos == 'true') | |
id: bundle | |
run: | | |
mkdir -p dist | |
mv build/wiliwili.app dist/ | |
cp ./scripts/mac/readme.txt dist/readme.txt | |
create-dmg --window-pos 200 120 --window-size 800 400 \ | |
--icon-size 100 --icon "wiliwili.app" 200 190 \ | |
--icon "readme.txt" 400 100 --hide-extension "wiliwili.app" \ | |
--app-drop-link 600 185 --volicon ./scripts/mac/dmg.icns \ | |
--volname "wiliwili (${{ needs.version.outputs.version }})" ${{ steps.name.outputs.DMG }}.dmg "dist/" | |
- name: Upload dist | |
if: matrix.arch != 'Universal' || ( matrix.arch == 'Universal' && github.event.inputs.universal_macos == 'true') | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ steps.name.outputs.DMG }} | |
path: "${{ steps.name.outputs.DMG }}.dmg" | |
build-flatpak: | |
needs: [ version ] | |
runs-on: ubuntu-latest | |
container: | |
image: bilelmoussaoui/flatpak-github-actions:freedesktop-22.08 | |
options: --privileged | |
strategy: | |
matrix: | |
arch: [ x86_64, aarch64 ] | |
driver: [ gl, gles2 ] | |
exclude: | |
- arch: x86_64 | |
driver: gles2 | |
# Don't fail the whole workflow if one architecture fails | |
fail-fast: false | |
env: | |
FLATPAK_NAME: wiliwili-Linux-${{ needs.version.outputs.version }}.flatpak | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
if: matrix.arch == 'x86_64' || ( matrix.arch == 'aarch64' && github.event.inputs.arm_flatpak == 'true') | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Add OpenGL ES 2.0 build option | |
if: matrix.driver == 'gles2' && ( matrix.arch == 'x86_64' || ( matrix.arch == 'aarch64' && github.event.inputs.arm_flatpak == 'true' ) ) | |
run: | | |
sed -i "29i \ - '-DUSE_GLES2=ON'" .flatpak-manifest.yml | |
- name: Rename package | |
if: matrix.arch == 'aarch64' | |
run: | | |
echo "FLATPAK_NAME=wiliwili-Linux-${{ needs.version.outputs.version }}-${{ matrix.driver }}.flatpak" >> $GITHUB_ENV | |
- name: Install docker | |
if: ${{ matrix.arch == 'aarch64' }} | |
run: | | |
dnf -y install docker | |
- name: Install deps | |
id: dep | |
if: matrix.arch == 'x86_64' || ( matrix.arch == 'aarch64' && github.event.inputs.arm_flatpak == 'true') | |
run: | | |
dnf -y install cmake | |
BRLS_GLFW="library/borealis/library/lib/extern/glfw/" | |
cmake -P ${BRLS_GLFW}/CMake/GenerateMappings.cmake ${BRLS_GLFW}/src/mappings.h.in ${BRLS_GLFW}/src/mappings.h | |
echo "FLATPAK_NAME=${FLATPAK_NAME}" >> $GITHUB_OUTPUT | |
echo ${FLATPAK_NAME} | |
- name: Set up QEMU | |
id: qemu | |
if: matrix.arch == 'aarch64' && github.event.inputs.arm_flatpak == 'true' | |
uses: docker/setup-qemu-action@v2 | |
with: | |
platforms: arm64 | |
- name: Cache | |
id: cache | |
if: matrix.arch == 'x86_64' || ( matrix.arch == 'aarch64' && github.event.inputs.arm_flatpak == 'true') | |
uses: actions/cache@v3 | |
with: | |
path: .flatpak-builder | |
key: wiliwili-flatpak-${{ matrix.driver }}-${{ hashFiles('.flatpak-manifest.yml') }}-${{ matrix.arch }} | |
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6.1 | |
if: matrix.arch == 'x86_64' || ( matrix.arch == 'aarch64' && github.event.inputs.arm_flatpak == 'true') | |
with: | |
bundle: ${{ steps.dep.outputs.FLATPAK_NAME }} | |
manifest-path: .flatpak-manifest.yml | |
cache: false | |
verbose: true | |
arch: ${{ matrix.arch }} | |
build-vita: | |
needs: [ version ] | |
name: psv | |
runs-on: ubuntu-latest | |
container: | |
image: vitasdk/vitasdk:latest | |
steps: | |
- name: Install build requirements | |
run: | | |
apk update | |
apk add cmake ninja meson pkgconf bash git zstd tar | |
git config --global --add safe.directory $(pwd) | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- uses: actions/cache/restore@v3 | |
id: restore-pvr-cache | |
with: | |
path: /vita/dependencies | |
key: SDL-vita-pvr-3.9 | |
- name: Download PVR_PSP2 (GLES) | |
if: ${{ !steps.restore-pvr-cache.outputs.cache-hit }} | |
run: | | |
pvr_psp2_version=3.9 | |
mkdir -p /vita/dependencies/include | |
mkdir -p /vita/dependencies/lib | |
mkdir -p /vita/dependencies/suprx | |
# Configure PVR_PSP2 headers | |
wget https://github.com/GrapheneCt/PVR_PSP2/archive/refs/tags/v$pvr_psp2_version.zip -P/tmp | |
unzip /tmp/v$pvr_psp2_version.zip -d/tmp | |
cp -r /tmp/PVR_PSP2-$pvr_psp2_version/include/* /vita/dependencies/include | |
rm /tmp/v$pvr_psp2_version.zip | |
# include guard of PVR_PSP2's khrplatform.h does not match the usual one | |
sed -i -e s/__drvkhrplatform_h_/__khrplatform_h_/ /vita/dependencies/include/KHR/khrplatform.h | |
# Configure PVR_PSP2 stub libraries | |
wget https://github.com/GrapheneCt/PVR_PSP2/releases/download/v$pvr_psp2_version/vitasdk_stubs.zip -P/tmp | |
unzip /tmp/vitasdk_stubs.zip -d/tmp/pvr_psp2_stubs | |
find /tmp/pvr_psp2_stubs -type f -name "*.a" -exec cp {} /vita/dependencies/lib \; | |
rm /tmp/vitasdk_stubs.zip | |
rm -rf /tmp/pvr_psp2_stubs | |
# Configure PVR_PSP2 *.suprx | |
wget https://github.com/GrapheneCt/PVR_PSP2/releases/download/v$pvr_psp2_version/PSVita_Release.zip -P/tmp | |
unzip /tmp/PSVita_Release.zip -d/tmp/PSVita_Release | |
rm /tmp/PSVita_Release/libGLESv1_CM.suprx | |
rm /tmp/PSVita_Release/libpvr2d.suprx | |
mv /tmp/PSVita_Release/*.suprx /vita/dependencies/suprx/ | |
rm -rf /tmp/PSVita_Release.zip | |
rm -rf /tmp/PSVita_Release | |
- uses: actions/cache/save@v3 | |
if: ${{ !steps.restore-pvr-cache.outputs.cache-hit }} | |
with: | |
path: /vita/dependencies | |
key: SDL-vita-pvr-3.9 | |
- name: Copy PVR_PSP2 (GLES) to vita toolchain dir | |
run: | | |
cp -rv /vita/dependencies/* ${VITASDK}/arm-vita-eabi | |
mv /vita/dependencies/suprx/*.suprx scripts/psv/module/ | |
ls -lah ${VITASDK}/arm-vita-eabi | |
ls -lah scripts/psv/module/ | |
- uses: actions/cache/restore@v3 | |
id: restore-common-deps-cache | |
with: | |
path: /vita/common_deps | |
key: Dep-vita-${{ hashFiles('**/VITABUILD') }} | |
- name: Install VDPM Dependencies | |
run: vdpm mbedtls libass harfbuzz fribidi freetype libpng libwebp | |
- name: Build Dependencies | |
if: ${{ !steps.restore-common-deps-cache.outputs.cache-hit }} | |
run: | | |
mkdir -p /vita/common_deps | |
apk add patch | |
adduser --gecos '' --disabled-password builder | |
echo 'builder ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/builder | |
chown -R builder:builder $(pwd)/scripts/psv | |
su - builder -c "cd $(pwd)/scripts/psv/ffmpeg && vita-makepkg" | |
su - builder -c "cd $(pwd)/scripts/psv/curl && vita-makepkg" | |
su - builder -c "cd $(pwd)/scripts/psv/sdl2 && vita-makepkg" | |
vdpm $(pwd)/scripts/psv/ffmpeg/*-arm.tar.xz | |
vdpm $(pwd)/scripts/psv/sdl2/*-arm.tar.xz | |
touch /tmp/vdpm_install_ffmpeg | |
touch /tmp/vdpm_install_sdl2 | |
su - builder -c "cd $(pwd)/scripts/psv/mpv && vita-makepkg" | |
mv $(pwd)/scripts/psv/curl/*-arm.tar.xz /vita/common_deps/ | |
mv $(pwd)/scripts/psv/sdl2/*-arm.tar.xz /vita/common_deps/ | |
mv $(pwd)/scripts/psv/ffmpeg/*-arm.tar.xz /vita/common_deps/ | |
mv $(pwd)/scripts/psv/mpv/*-arm.tar.xz /vita/common_deps/ | |
ls -lah /vita/common_deps/ | |
- uses: actions/cache/save@v3 | |
if: ${{ !steps.restore-common-deps-cache.outputs.cache-hit }} | |
with: | |
path: /vita/common_deps | |
key: Dep-vita-${{ hashFiles('**/VITABUILD') }} | |
- name: Install Dependencies | |
run: vdpm /vita/common_deps/*-arm.tar.xz | |
- name: Bulid wiliwili | |
run: | | |
cmake -S . -B build -G Ninja \ | |
-DPLATFORM_PSV=ON \ | |
-DUSE_SYSTEM_CURL=ON \ | |
-DUSE_SYSTEM_SDL2=ON \ | |
-DMPV_NO_FB=ON \ | |
-DVERIFY_SSL=OFF \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DDISABLE_OPENCC=ON \ | |
-DCMAKE_CXX_FLAGS="-Wno-error=pedantic -Wno-psabi" | |
cmake --build build --verbose | |
mv build/wiliwili.self build/eboot.bin | |
- name: Upload vpk | |
uses: actions/upload-artifact@v3 | |
with: | |
name: wiliwili-PSVita-${{ needs.version.outputs.VERSION }}.vpk | |
path: build/wiliwili.vpk | |
- name: Upload eboot | |
uses: actions/upload-artifact@v3 | |
with: | |
name: psv_dev_eboot.bin | |
path: build/eboot.bin | |
- name: Upload elf | |
uses: actions/upload-artifact@v3 | |
with: | |
name: psv_dev_elf | |
path: build/wiliwili |