mirror of
https://github.com/lowbit/ps5-openrct2.git
synced 2026-10-21 16:01:11 +02:00
Spike for the native PS5 title (PPSA99728). OpenRCT2 with the software renderer compiles and links into a signed module; nothing has run on the console yet. - tools/ps5-cc, ps5-c++ and ps5-link: clang 18 for x86_64-sie-ps5, and links that produce real PS5 modules (prospero-lld, native-app linker layout, ps5-native-tool), so configure checks see what the console offers. - src/runtime: malloc from a direct-memory mspace, a sandbox-safe opendir family and scandir, and the libc functions libc++ and the libraries need that the console's libc lacks. - tools/build-deps.sh: zlib, libpng, zstd, libzip, Ogg, Vorbis, FLAC, nlohmann/json, ICU 78.3 (filtered to OpenRCT2's five code pages) and ps5-payload-dev's SDL2, pinned by SHA-256. - tools/build-host.sh: the Linux build that makes OpenRCT2's data folder. - patches/openrct2: the PS5 title supplies main.
20 lines
818 B
Bash
20 lines
818 B
Bash
#!/usr/bin/env bash
|
|
# Fetches and builds the external native-app packaging tools at a pinned commit:
|
|
# ps5-native-tool (PIE to PS5 module converter, FSELF signer), libc.prx and the PS5 payload SDK.
|
|
set -euo pipefail
|
|
|
|
repo=https://github.com/blackbearreloaded/ps5-native-app-boilerplate.git
|
|
commit=b1315a9
|
|
root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
|
|
dest="$root/.deps/native-app"
|
|
|
|
if [[ ! -d $dest/.git ]]; then
|
|
git -c core.autocrlf=false clone -q "$repo" "$dest"
|
|
fi
|
|
git -C "$dest" -c advice.detachedHead=false checkout -q "$commit"
|
|
|
|
bash "$dest/tools/setup-native-dependencies.sh" >/dev/null
|
|
bash "$dest/tools/build-host-tools.sh" >/dev/null
|
|
[[ -f $dest/runtime/libc.prx ]] || bash "$dest/tools/rebuild-libc.sh" >/dev/null
|
|
(cd "$dest/runtime" && sha256sum --check --strict --quiet libc.prx.sha256)
|