aboutsummaryrefslogtreecommitdiff
path: root/launcher/package/linux/MultiMC
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/package/linux/MultiMC')
-rwxr-xr-xlauncher/package/linux/MultiMC93
1 files changed, 0 insertions, 93 deletions
diff --git a/launcher/package/linux/MultiMC b/launcher/package/linux/MultiMC
deleted file mode 100755
index be35e83c..00000000
--- a/launcher/package/linux/MultiMC
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/bash
-# Basic start script for running MultiMC with the libs packaged with it.
-
-function printerror {
- printf "$1"
- if which zenity >/dev/null; then zenity --error --text="$1" &>/dev/null;
- elif which kdialog >/dev/null; then kdialog --error "$1" &>/dev/null;
- fi
-}
-
-if [[ $EUID -eq 0 ]]; then
- printerror "This program should not be run using sudo or as the root user!\n"
- exit 1
-fi
-
-
-MMC_DIR="$(dirname "$(readlink -f "$0")")"
-echo "MultiMC Dir: ${MMC_DIR}"
-
-# Set up env - filter out input LD_ variables but pass them in under different names
-export GAME_LIBRARY_PATH=${GAME_LIBRARY_PATH-${LD_LIBRARY_PATH}}
-export GAME_PRELOAD=${GAME_PRELOAD-${LD_PRELOAD}}
-export LD_LIBRARY_PATH="${MMC_DIR}/bin":$MMC_LIBRARY_PATH
-export LD_PRELOAD=$MMC_PRELOAD
-export QT_PLUGIN_PATH="${MMC_DIR}/plugins"
-export QT_FONTPATH="${MMC_DIR}/fonts"
-
-# Detect missing dependencies...
-DEPS_LIST=`ldd "${MMC_DIR}"/plugins/*/*.so 2>/dev/null | grep "not found" | sort -u | awk -vORS=", " '{ print $1 }'`
-if [ "x$DEPS_LIST" = "x" ]; then
- # We have all our dependencies. Run MultiMC.
- echo "No missing dependencies found."
-
- # Just to be sure...
- chmod +x "${MMC_DIR}/bin/MultiMC"
-
- # Run MultiMC
- exec -a "${MMC_DIR}/MultiMC" "${MMC_DIR}/bin/MultiMC" -d "${MMC_DIR}" "$@"
-
- # Run MultiMC in valgrind
- # valgrind --log-file="valgrind.log" --leak-check=full --track-origins=yes "${MMC_DIR}/bin/MultiMC" -d "${MMC_DIR}" "$@"
-
- # Run MultiMC with callgrind, delay instrumentation
- # valgrind --log-file="valgrind.log" --tool=callgrind --instr-atstart=no "${MMC_DIR}/bin/MultiMC" -d "${MMC_DIR}" "$@"
- # use callgrind_control -i on/off to profile actions
-
- # Exit with MultiMC's exit code.
- # exit $?
-else
- # apt
- if which apt-file &>/dev/null; then
- LIBRARIES=`echo "$DEPS_LIST" | grep -oP "[^, ]*" | sort -u`
- COMMAND_LIBS=`for LIBRARY in $LIBRARIES; do apt-file -l search $LIBRARY; done`
- COMMAND_LIBS=`echo "$COMMAND_LIBS" | sort -u | awk -vORS=" " '{ print $1 }'`
- INSTALL_CMD="sudo apt-get install $COMMAND_LIBS"
- # pacman
- elif which pkgfile &>/dev/null; then
- LIBRARIES=`echo "$DEPS_LIST" | grep -oP "[^, ]*" | sort -u`
- COMMAND_LIBS=`for LIBRARY in $LIBRARIES; do pkgfile $LIBRARY; done`
- COMMAND_LIBS=`echo "$COMMAND_LIBS" | sort -u | awk -vORS=" " '{ print $1 }'`
- INSTALL_CMD="sudo pacman -S $COMMAND_LIBS"
- # dnf
- elif which dnf &>/dev/null; then
- LIBRARIES=`echo "$DEPS_LIST" | grep -oP "[^, ]*" | sort -u`
- COMMAND_LIBS=`for LIBRARY in $LIBRARIES; do dnf whatprovides -q $LIBRARY; done`
- COMMAND_LIBS=`echo "$COMMAND_LIBS" | grep -v 'Repo' | sort -u | awk -vORS=" " '{ print $1 }'`
- INSTALL_CMD="sudo dnf install $COMMAND_LIBS"
- # yum
- elif which yum &>/dev/null; then
- LIBRARIES=`echo "$DEPS_LIST" | grep -oP "[^, ]*" | sort -u`
- COMMAND_LIBS=`for LIBRARY in $LIBRARIES; do yum whatprovides $LIBRARY; done`
- COMMAND_LIBS=`echo "$COMMAND_LIBS" | sort -u | awk -vORS=" " '{ print $1 }'`
- INSTALL_CMD="sudo yum install $COMMAND_LIBS"
- # zypper
- elif which zypper &>/dev/null; then
- LIBRARIES=`echo "$DEPS_LIST" | grep -oP "[^, ]*" | sort -u`
- COMMAND_LIBS=`for LIBRARY in $LIBRARIES; do zypper wp $LIBRARY; done`
- COMMAND_LIBS=`echo "$COMMAND_LIBS" | sort -u | awk -vORS=" " '{ print $1 }'`
- INSTALL_CMD="sudo zypper install $COMMAND_LIBS"
- # emerge
- elif which pfl &>/dev/null; then
- LIBRARIES=`echo "$DEPS_LIST" | grep -oP "[^, ]*" | sort -u`
- COMMAND_LIBS=`for LIBRARY in $LIBRARIES; do pfl $LIBRARY; done`
- COMMAND_LIBS=`echo "$COMMAND_LIBS" | sort -u | awk -vORS=" " '{ print $1 }'`
- INSTALL_CMD="sudo emerge $COMMAND_LIBS"
- fi
-
- MESSAGE="Error: MultiMC is missing the following libraries that it needs to work correctly:\n\t${DEPS_LIST}\nPlease install them from your distribution's package manager."
- MESSAGE="$MESSAGE\n\nHint (please apply common sense): $INSTALL_CMD\n"
-
- printerror "$MESSAGE"
- exit 1
-fi