Codex skill for development added. Tested by using it to set up Play Palace.
This commit is contained in:
69
.install/Play Palace.sh
Normal file
69
.install/Play Palace.sh
Normal file
@@ -0,0 +1,69 @@
|
||||
check_dependencies git uv
|
||||
|
||||
# shellcheck disable=SC2154 # installPath is exported by linux-game-manager.sh
|
||||
gameRoot="${installPath}/PlayPalace11"
|
||||
desktopPath="${gameRoot}/clients/desktop"
|
||||
hostLibDir="${desktopPath}/.host-libs"
|
||||
speechdLibPath=""
|
||||
libCandidates=(
|
||||
"/usr/lib/libspeechd.so.2"
|
||||
"/usr/lib64/libspeechd.so.2"
|
||||
"/usr/lib/x86_64-linux-gnu/libspeechd.so.2"
|
||||
"/lib/x86_64-linux-gnu/libspeechd.so.2"
|
||||
"/lib64/libspeechd.so.2"
|
||||
)
|
||||
|
||||
if [[ -e "${gameRoot}" ]]; then
|
||||
ui_msgbox "Game Installer" "Game Installer" "\"${gameRoot}\" already exists. Remove it first or choose a different game."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "${installPath}" || {
|
||||
ui_msgbox "Game Installer" "Game Installer" "Could not create ${installPath}."
|
||||
exit 1
|
||||
}
|
||||
|
||||
if ! git -C "${installPath}" clone "https://github.com/XGDevGroup/PlayPalace11.git"; then
|
||||
ui_msgbox "Game Installer" "Game Installer" "Could not clone Play Palace from GitHub."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! pushd "${desktopPath}" > /dev/null; then
|
||||
ui_msgbox "Game Installer" "Game Installer" "Could not find desktop client path at ${desktopPath}."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! uv sync; then
|
||||
popd > /dev/null || exit 1
|
||||
ui_msgbox "Game Installer" "Game Installer" "uv sync failed for Play Palace."
|
||||
exit 1
|
||||
fi
|
||||
popd > /dev/null || exit 1
|
||||
|
||||
if command -v ldconfig > /dev/null 2>&1; then
|
||||
speechdLibPath="$(ldconfig -p 2> /dev/null | awk '/libspeechd\.so\.2/{print $NF; exit}')"
|
||||
fi
|
||||
|
||||
if [[ -z "${speechdLibPath}" ]]; then
|
||||
for libPath in "${libCandidates[@]}"; do
|
||||
if [[ -r "${libPath}" ]]; then
|
||||
speechdLibPath="${libPath}"
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ -z "${speechdLibPath}" ]]; then
|
||||
ui_msgbox "Game Installer" "Game Installer" "Could not find libspeechd.so.2.\nInstall speech-dispatcher (Arch) or a libspeechd package (Debian/Ubuntu) and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "${hostLibDir}" || {
|
||||
ui_msgbox "Game Installer" "Game Installer" "Could not create ${hostLibDir}."
|
||||
exit 1
|
||||
}
|
||||
|
||||
if ! cp -Lf "${speechdLibPath}" "${hostLibDir}/libspeechd.so.2"; then
|
||||
ui_msgbox "Game Installer" "Game Installer" "Could not copy ${speechdLibPath} into ${hostLibDir}."
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user