mirror of
https://github.com/dragoonDorise/EmuDeck.git
synced 2024-06-02 19:47:51 -04:00
1f89ab30f4
* add json for apotris.
this PR adds the needed json for accessing Apotris.
* fix pcsx2 cloud
* decky functions + Customization moved inside every emulator _init
* Decky_setClourd
* arSnes var
* last touch
* test
* Darwin wip
* darwin wip
* old EmuAI
* SRM
* RA + SRM + ESDE
* Moving more if darwin to override.sh
* Moving more if darwin to override.sh
* installToolAI + darwin ifs cleanups, more overrides :)
* fi fix
* fixed SRM parsers with ,,
* fix rm dmg
* RA flatpak first
* darwin install
* darwin fixes
* darwinnnn
* jsonjson
* darwin srm
* fix launchers
* SRM env vars moved to a function + override to darwin
* ares out for now
* fix flycast broking everything
* dont check if.cef-enable-remote-debugging
* better zenity
* fix watcher
* zenity fix
* cloudSync provider detection
* fixed paths fix
* darwin fixed paths
* fixed paths fix
* enable cloudsync
* no appinit
* last minute fixes
* weird fixes
* hash fix?
* this needs a proper cleanup...
* fixed?
* back to linkToSaveFolder for now
* better duplicate detection
* parser disabled
* cloudSync final touches
* darwin installation
* improvements
* customSRM
* Revert "customSRM"
This reverts commit 2787d2282c
.
* first batch
* second batch
* SGBC + Jaguar parsers
* Pegasus settings and functions
* proper order
* Path fixed
* install on setup
* SRM parser
* icon
* early beta
* chimeraOS improvements
# Conflicts:
# setup.sh
* cosmetic
* helpers: Fix FlatPak installed check (#875)
* chimeraOS retroarch
* clear console
* Steam installation
* fix shellcheck
* path fixes
* fix SRM
* =
* Steam-ROM-Manager
* srm new path fix
* SRM_IsInstalled
* cloudsync wtf
* SRM_IsInstalled
* Steam ROM Manager proper name
* ROM
* srm stuff
* SRM_migration
* icon
* fix savedownload
* launchers
* srm icon
* ROM
* ummm
* fixes installToolAI
* ESDE Migration
* RetroArch_setConfigOverride fix
* fix RA
* fix PCSX2QT
* back to flatpaks
* EmuDecky no internet message
* noInternet EmuDecky
* pegasus theme installer
* pegasus launchers
* Pegasus install Darwin
* Pegasus install Darwin
* Init pegasus
* ESDE Theme
* =
* >
* override getEmuInstallStatus
---------
Co-authored-by: Glazed_Belmont <48196637+GlaZedBelmont@users.noreply.github.com>
112 lines
4 KiB
Bash
112 lines
4 KiB
Bash
#!/bin/bash
|
|
|
|
linuxID=$(lsb_release -si)
|
|
|
|
if [ $linuxID != "ChimeraOS" ]; then
|
|
|
|
echo "installing EmuDeck"
|
|
|
|
elif [ $linuxID != "SteamOS" ]; then
|
|
|
|
|
|
zenityAvailable=$(command -v zenity &> /dev/null && echo true)
|
|
|
|
if [[ $zenityAvailable = true ]];then
|
|
PASSWD="$(zenity --password --title="Password Entry" --text="Enter you user sudo password to install required depencies" 2>/dev/null)"
|
|
echo "$PASSWD" | sudo -v -S
|
|
ans=$?
|
|
if [[ $ans == 1 ]]; then
|
|
#incorrect password
|
|
PASSWD="$(zenity --password --title="Password Entry" --text="Password was incorrect. Try again. (Did you remember to set a password for linux before running this?)" 2>/dev/null)"
|
|
echo "$PASSWD" | sudo -v -S
|
|
ans=$?
|
|
if [[ $ans == 1 ]]; then
|
|
text="$(printf "<b>Password not accepted.</b>\n Expert mode tools which require a password will not work. Disabling them.")"
|
|
zenity --error \
|
|
--title="EmuDeck" \
|
|
--width=400 \
|
|
--text="${text}" 2>/dev/null
|
|
setSetting doInstallPowertools false
|
|
setSetting doInstallGyro false
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
SCRIPT_DIR=$( cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)
|
|
|
|
function log_err {
|
|
echo "$@" >&2
|
|
}
|
|
|
|
function script_failure {
|
|
log_err "An error occurred:$([ -z "$1" ] && " on line $1" || "(unknown)")."
|
|
log_err "Installation failed!"
|
|
exit
|
|
}
|
|
|
|
#trap 'script_failure $LINENO' ERR
|
|
|
|
echo "Installing EmuDeck dependencies..."
|
|
|
|
|
|
if command -v apt-get >/dev/null; then
|
|
echo "Installing packages with apt..."
|
|
DEBIAN_DEPS="jq zenity flatpak unzip bash libfuse2 git rsync whiptail"
|
|
|
|
sudo killall apt apt-get
|
|
sudo apt-get -y update
|
|
sudo apt-get -y install $DEBIAN_DEPS
|
|
elif command -v pacman >/dev/null; then
|
|
echo "Installing packages with pacman..."
|
|
ARCH_DEPS="steam jq zenity flatpak unzip bash fuse2 git rsync whiptail"
|
|
|
|
sudo pacman --noconfirm -Syu
|
|
sudo pacman --noconfirm -S $ARCH_DEPS
|
|
elif command -v dnf >/dev/null; then
|
|
echo "Installing packages with dnf..."
|
|
FEDORA_DEPS="jq zenity flatpak unzip bash fuse git rsync whiptail"
|
|
|
|
sudo dnf -y upgrade
|
|
sudo dnf -y install $FEDORA_DEPS
|
|
elif command -v zypper >/dev/null; then
|
|
echo "Installing packages with zypper..."
|
|
SUSE_DEPS="steam jq zenity flatpak unzip bash libfuse2 git rsync whiptail"
|
|
|
|
sudo zypper --non-interactive up
|
|
sudo zypper --non-interactive install $SUSE_DEPS
|
|
elif command -v xbps-install >/dev/null; then
|
|
echo "Installing packages with xbps..."
|
|
VOID_DEPS="steam jq zenity flatpak unzip bash fuse git rsync whiptail"
|
|
|
|
sudo xbps-install -Syu
|
|
sudo xbps-install -Sy $VOID_DEPS
|
|
else
|
|
log_err "Your Linux distro $linuxID is not supported by this script. We invite to open a PR or help us with adding your OS to this script. https://github.com/dragoonDorise/EmuDeck/issues"
|
|
exit 1
|
|
fi
|
|
|
|
|
|
# this could be replaced to immediately start the EmuDeck setup script
|
|
|
|
echo "All prerequisite packages have been installed. EmuDeck will be installed now!"
|
|
|
|
fi
|
|
|
|
set -eo pipefail
|
|
|
|
report_error() {
|
|
FAILURE="$(caller): ${BASH_COMMAND}"
|
|
echo "Something went wrong!"
|
|
echo "Error at ${FAILURE}"
|
|
}
|
|
|
|
trap report_error ERR
|
|
|
|
EMUDECK_GITHUB_URL="https://api.github.com/repos/EmuDeck/emudeck-electron-early/releases/latest"
|
|
EMUDECK_URL="$(curl -s ${EMUDECK_GITHUB_URL} | grep -E 'browser_download_url.*AppImage' | cut -d '"' -f 4)"
|
|
|
|
mkdir -p ~/Applications
|
|
curl -L "${EMUDECK_URL}" -o ~/Applications/EmuDeck.AppImage 2>&1 | stdbuf -oL tr '\r' '\n' | sed -u 's/^ *\([0-9][0-9]*\).*\( [0-9].*$\)/\1\n#Download Speed\:\2/' | zenity --progress --title "Downloading EmuDeck" --width 600 --auto-close --no-cancel 2>/dev/null
|
|
chmod +x ~/Applications/EmuDeck.AppImage
|
|
~/Applications/EmuDeck.AppImage
|