EmuDeck/functions/installEmuFP.sh
Dragoon Dorise 00a8f1c19c
New paths (#1381)
* new paths

* /

* EmuDeck/

* mv

* no &

* ESDE new location

* ESDE new path

* no symlink load

* bigpemu new path

* force move

* global vars

* oopsie

* missing $emudeckBackend

* better migration detection

* Keep Appimages in Applications

* Keep Appimages in Applications
2025-01-02 13:42:31 +01:00

60 lines
1.8 KiB
Bash

#!/bin/bash
installEmuFP(){
local name="$1"
local ID="$2"
local type="$3"
local scriptname="$4"
if [[ "$type" == "emulator" ]]; then
gitPath="$emudeckBackend/tools/launchers/"
launcherPath="${toolsPath}/launchers"
elif [[ "$type" == "remoteplay" ]]; then
gitPath="$emudeckBackend/tools/remoteplayclients/"
launcherPath="${romsPath}/remoteplay"
elif [[ "$type" == "genericapplication" ]]; then
gitPath="$emudeckBackend/tools/generic-applications/"
launcherPath="${romsPath}/generic-applications"
fi
if [[ -z "$scriptname" ]]; then
scriptname="$name"
fi
echo "1, Flatpak Name: $name"
echo "2, Flatpak ID: $ID"
echo "3, Flatpak Type: $type"
echo "4, Flatpak Script Name: $scriptname"
setMSG "Installing $name"
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo --user
flatpak install flathub "$ID" -y --user
flatpak override "$ID" --filesystem=host --user
flatpak override "$ID" --share=network --user
#remove old system flatpak after we detect user flatpak is installed
if [ "$(flatpak --columns=app list --user | grep "$ID")" == "$ID" ]; then
flatpak uninstall "$ID" --system -y
fi
shName=$(echo "$scriptname" | awk '{print tolower($0)}')
mkdir -p "${romsPath}/emulators"
mkdir -p "$launcherPath"
find "${launcherPath}/" "${romsPath}/emulators" -maxdepth 1 -type f \( -iname "$shName.sh" -o -iname "$shName-emu.sh" \) | \
while read -r f
do
echo "deleting $f"
rm -f "$f"
done
find "$gitPath" -type f \( -iname "${shName}.sh" -o -iname "$shName-emu.sh" \) | while read -r l; do
echo "deploying new: $l"
chmod +x "$l"
cp -v "$l" "${launcherPath}"
if [[ "$type" == "emulator" ]]; then
cp -v "$l" "${romsPath}/emulators"
chmod +x "${romsPath}/emulators/"*
fi
done
}