summaryrefslogtreecommitdiff
path: root/src/SMAPI.Installer/unix-launcher.sh
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2020-01-31 22:27:12 -0500
committerJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2020-01-31 22:27:12 -0500
commit3f1d7b1d2238d775638b4e471fc626ca26a3849a (patch)
tree1b1c4c869c9a2d8c07b4f79e4a06586ecdbc323e /src/SMAPI.Installer/unix-launcher.sh
parent1a2af714aa4ca3b7dae61e7ee980c23338240129 (diff)
downloadSMAPI-3f1d7b1d2238d775638b4e471fc626ca26a3849a.tar.gz
SMAPI-3f1d7b1d2238d775638b4e471fc626ca26a3849a.tar.bz2
SMAPI-3f1d7b1d2238d775638b4e471fc626ca26a3849a.zip
rework build settings a bit
Diffstat (limited to 'src/SMAPI.Installer/unix-launcher.sh')
-rw-r--r--src/SMAPI.Installer/unix-launcher.sh125
1 files changed, 0 insertions, 125 deletions
diff --git a/src/SMAPI.Installer/unix-launcher.sh b/src/SMAPI.Installer/unix-launcher.sh
deleted file mode 100644
index b72eed22..00000000
--- a/src/SMAPI.Installer/unix-launcher.sh
+++ /dev/null
@@ -1,125 +0,0 @@
-#!/usr/bin/env bash
-# MonoKickstart Shell Script
-# Written by Ethan "flibitijibibo" Lee
-# Modified for SMAPI by various contributors
-
-# Move to script's directory
-cd "$(dirname "$0")" || exit $?
-
-# Get the system architecture
-UNAME=$(uname)
-ARCH=$(uname -m)
-
-# MonoKickstart picks the right libfolder, so just execute the right binary.
-if [ "$UNAME" == "Darwin" ]; then
- # ... Except on OSX.
- export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:./osx/
-
- # El Capitan is a total idiot and wipes this variable out, making the
- # Steam overlay disappear. This sidesteps "System Integrity Protection"
- # and resets the variable with Valve's own variable (they provided this
- # fix by the way, thanks Valve!). Note that you will need to update your
- # launch configuration to the script location, NOT just the app location
- # (i.e. Kick.app/Contents/MacOS/Kick, not just Kick.app).
- # -flibit
- if [ "$STEAM_DYLD_INSERT_LIBRARIES" != "" ] && [ "$DYLD_INSERT_LIBRARIES" == "" ]; then
- export DYLD_INSERT_LIBRARIES="$STEAM_DYLD_INSERT_LIBRARIES"
- fi
-
- # this was here before
- ln -sf mcs.bin.osx mcs
-
- # fix "DllNotFoundException: libgdiplus.dylib" errors when loading images in SMAPI
- if [ -f libgdiplus.dylib ]; then
- rm libgdiplus.dylib
- fi
- if [ -f /Library/Frameworks/Mono.framework/Versions/Current/lib/libgdiplus.dylib ]; then
- ln -s /Library/Frameworks/Mono.framework/Versions/Current/lib/libgdiplus.dylib libgdiplus.dylib
- fi
-
- # launch SMAPI
- cp StardewValley.bin.osx StardewModdingAPI.bin.osx
- open -a Terminal ./StardewModdingAPI.bin.osx "$@"
-else
- # choose launcher
- LAUNCHER=""
- if [ "$ARCH" == "x86_64" ]; then
- ln -sf mcs.bin.x86_64 mcs
- cp StardewValley.bin.x86_64 StardewModdingAPI.bin.x86_64
- LAUNCHER="./StardewModdingAPI.bin.x86_64 $*"
- else
- ln -sf mcs.bin.x86 mcs
- cp StardewValley.bin.x86 StardewModdingAPI.bin.x86
- LAUNCHER="./StardewModdingAPI.bin.x86 $*"
- fi
-
- # get cross-distro version of POSIX command
- COMMAND=""
- if command -v command 2>/dev/null; then
- COMMAND="command -v"
- elif type type 2>/dev/null; then
- COMMAND="type"
- fi
-
- # select terminal (prefer xterm for best compatibility, then known supported terminals)
- for terminal in xterm gnome-terminal kitty terminator xfce4-terminal konsole terminal termite alacritty mate-terminal x-terminal-emulator; do
- if $COMMAND "$terminal" 2>/dev/null; then
- # Find the true shell behind x-terminal-emulator
- if [ "$(basename "$(readlink -f $(which "$terminal"))")" != "x-terminal-emulator" ]; then
- export LAUNCHTERM=$terminal
- break;
- else
- export LAUNCHTERM="$(basename "$(readlink -f $(which x-terminal-emulator))")"
- # Remember that we're using x-terminal-emulator just in case it points outside the $PATH
- export XTE=1
- break;
- fi
- fi
- done
-
- # if no terminal was found, run in current shell or with no output
- if [ -z "$LAUNCHTERM" ]; then
- sh -c 'TERM=xterm $LAUNCHER'
- if [ $? -eq 127 ]; then
- $LAUNCHER --no-terminal
- fi
- exit
- fi
-
- # run in selected terminal and account for quirks
- case $LAUNCHTERM in
- terminator)
- # Terminator converts -e to -x when used through x-terminal-emulator for some reason
- if $XTE; then
- terminator -e "sh -c 'TERM=xterm $LAUNCHER'"
- else
- terminator -x "sh -c 'TERM=xterm $LAUNCHER'"
- fi
- ;;
- kitty)
- # Kitty overrides the TERM varible unless you set it explicitly
- kitty -o term=xterm $LAUNCHER
- ;;
- alacritty)
- # Alacritty doesn't like the double quotes or the variable
- if [ "$ARCH" == "x86_64" ]; then
- alacritty -e sh -c 'TERM=xterm ./StardewModdingAPI.bin.x86_64 $*'
- else
- alacritty -e sh -c 'TERM=xterm ./StardewModdingAPI.bin.x86 $*'
- fi
- ;;
- xterm|xfce4-terminal|gnome-terminal|terminal|termite|mate-terminal)
- $LAUNCHTERM -e "sh -c 'TERM=xterm $LAUNCHER'"
- ;;
- konsole)
- konsole -p Environment=TERM=xterm -e "$LAUNCHER"
- ;;
- *)
- # If we don't know the terminal, just try to run it in the current shell.
- sh -c 'TERM=xterm $LAUNCHER'
- # if THAT fails, launch with no output
- if [ $? -eq 127 ]; then
- $LAUNCHER --no-terminal
- fi
- esac
-fi