mirror of
https://github.com/lucannez64/darling-lol.git
synced 2026-10-26 19:47:42 +00:00
Fix X11 presentation handoff after resizing, preserve NSView size callbacks, and correct content and backing-layer geometry. Add CoreText font enumeration for the language dropdown and rebuild/install the matching runtime overlays. Correct CarbonCore Gestalt version queries and roll back proc_listpids for Vanguard testing. Document that VAN -101 can still recur. Include accumulated CoreAudio stream and AudioUnit corrections. Add standalone font, version, resize and publisher-handoff regressions. Record manual confirmation of the language dropdown and window resizing; all 29 pinned patches and the source/script audit validate.
40 lines
2.1 KiB
Bash
Executable File
40 lines
2.1 KiB
Bash
Executable File
#!/bin/sh
|
|
# Install the corrected legacy system-version API into the stopped guest prefix.
|
|
# Exit the game and both clients, then run darling shutdown before this script.
|
|
set -eu
|
|
project_dir=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
|
|
prefix_dir=${DPREFIX:-@DPREFIX@}
|
|
guest_home=${RIOT_GUEST_HOME:-$prefix_dir@GUEST_HOME@}
|
|
artifact=${RIOT_CARBONCORE_ARTIFACT:-$project_dir/build/riot-CarbonCore}
|
|
backup_dir=${RIOT_CARBONCORE_BACKUP_DIR:-$project_dir/build/carboncore-runtime-backups}
|
|
sdk_framework="@DARLING_SDK@/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework"
|
|
framework="$guest_home/RuntimeFrameworks/CarbonCore.framework"
|
|
prefix_binary="$prefix_dir/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore"
|
|
[ -f "$artifact" ] || { echo "Build CarbonCore first: $artifact" >&2; exit 1; }
|
|
[ -f "$sdk_framework/Versions/A/CarbonCore" ] || { echo "Missing SDK CarbonCore framework" >&2; exit 1; }
|
|
mkdir -p "$guest_home/RuntimeFrameworks" "$backup_dir"
|
|
if [ ! -d "$framework" ]; then
|
|
cp -a "$sdk_framework" "$framework"
|
|
fi
|
|
for binary in "$framework/Versions/A/CarbonCore" "$prefix_binary"; do
|
|
if [ -L "$binary" ]; then echo "Expected a regular binary: $binary" >&2; exit 1; fi
|
|
if [ -f "$binary" ] && cmp -s "$artifact" "$binary"; then continue; fi
|
|
previous="$binary"
|
|
if [ ! -f "$previous" ]; then previous="$sdk_framework/Versions/A/CarbonCore"; fi
|
|
old_hash=$(sha256sum "$previous" | cut -d ' ' -f 1)
|
|
backup="$backup_dir/CarbonCore-$old_hash"
|
|
if [ -e "$backup" ]; then
|
|
cmp -s "$previous" "$backup" || { echo "Backup verification failed: $backup" >&2; exit 1; }
|
|
else
|
|
cp -p "$previous" "$backup"
|
|
fi
|
|
mkdir -p "$(dirname -- "$binary")"
|
|
staged=$(mktemp "$binary.staged.XXXXXX")
|
|
trap 'rm -f "$staged"' EXIT HUP INT TERM
|
|
install -m755 "$artifact" "$staged"
|
|
cmp -s "$artifact" "$staged" || { echo "Staged CarbonCore verification failed" >&2; exit 1; }
|
|
mv -f "$staged" "$binary"
|
|
done
|
|
echo "CarbonCore installed; backups: $backup_dir"
|
|
echo "Launch scripts/run.sh to activate it."
|