(ded4a3e0a) v0.9.0.7

This commit is contained in:
Joonas Rikkonen
2019-06-25 16:00:44 +03:00
parent e5ae622c77
commit 4a51db77b5
1777 changed files with 421528 additions and 917 deletions
@@ -0,0 +1,143 @@
#!/bin/bash
# Functions
echodep()
{
line=" - $1"
while [ ${#line} -lt 50 ]
do
line="$line."
done
echo -ne "$line"
if eval "$2"
then
echo -e "\e[32m[Found]\e[0m"
else
echo -e "\e[31m[Not Found]\e[0m"
fi
}
# Check installation priviledge
if [ "$(id -u)" != "0" ]; then
echo "Please make sure you are running this installer with sudo or as root." 1>&2
exit 1
fi
DIR=$(pwd)
IDIR="/usr/lib/mono/xbuild/MonoGame/v3.0"
# Show dependency list
echo "Dependencies:"
echodep "mono-runtime" "type 'mono' > /dev/null 2>&1"
echo ""
read -p "Continue (Y, n): " choice2
case "$choice2" in
n|N ) exit ;;
*) ;;
esac
# Check previous versions
if type "mgcb" > /dev/null 2>&1
then
echo "Previous version detected, trying to uninstall..."
# Try and uninstall previus versions
if [ -f /opt/monogame/uninstall.sh ]
then
sudo bash /opt/monogame/uninstall.sh
elif [ -f /opt/MonoGameSDK/uninstall.sh ]
then
sudo bash /opt/MonoGameSDK/uninstall.sh
else
echo "Could not uninstall, please uninstall any previous version of MonoGame SDK manually." 1>&2
exit 1
fi
fi
# MonoGame SDK installation
echo "Installing MonoGame SDK..."
rm -rf "$IDIR"
mkdir -p "$IDIR"
cp -rf "$DIR/MonoGameSDK/." "$IDIR" -R
rm -rf "/opt/MonoGameSDK"
ln -s "$IDIR" "/opt/MonoGameSDK"
# Fix Permissions
chmod +x "$IDIR/Tools/ffmpeg"
chmod +x "$IDIR/Tools/ffprobe"
# Monogame Pipeline terminal commands
echo "Creating launcher items..."
cat > /usr/bin/monogame-pipeline-tool <<'endmsg'
#!/bin/bash
mono /usr/lib/mono/xbuild/MonoGame/v3.0/Tools/Pipeline.exe "$@"
endmsg
chmod +x /usr/bin/monogame-pipeline-tool
cat > /usr/bin/mgcb <<'endmsg'
#!/bin/bash
mono /usr/lib/mono/xbuild/MonoGame/v3.0/Tools/MGCB.exe "$@"
endmsg
chmod +x /usr/bin/mgcb
cp "$DIR/Main/mgcbcomplete" "/etc/bash_completion.d/mgcb"
# MonoGame icon
mkdir -p /usr/share/icons/hicolor/scalable/mimetypes
cp $DIR/Main/monogame.svg /usr/share/icons/hicolor/scalable/mimetypes/monogame.svg
gtk-update-icon-cache /usr/share/icons/hicolor/ -f &> /dev/null
# Application launcher
cat > /usr/share/applications/MonogamePipeline.desktop <<'endmsg'
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=MonoGame Pipeline Tool
GenericName=MonoGame Pipeline Tool
Comment=Creates platform specific content files.
Exec=monogame-pipeline-tool %F
TryExec=monogame-pipeline-tool
Icon=monogame
StartupNotify=true
Terminal=false
Type=Application
MimeType=text/x-mgcb;
Categories=Development;
StartupWMClass=Pipeline
endmsg
# Man pages
echo "Installing man pages..."
IFS=':' read -r -a ARRAY <<< "$(manpath)"
for MANPATH in "${ARRAY[@]}"
do
if [ -d "$MANPATH/man1" ]
then
cp -f "$DIR/Main/mgcb.1" "$MANPATH/man1/mgcb.1"
gzip -f "$MANPATH/man1/mgcb.1"
break
fi
done
# Mimetype
echo "Adding mimetype..."
touch mgcb.xml
xdg-mime uninstall mgcb.xml
xdg-mime install $DIR/Main/x-mgcb.xml > /dev/null
xdg-mime default "MonogamePipeline.desktop" text/mgcb
# Uninstall script
chmod +x $IDIR/uninstall.sh
ln -s $IDIR/uninstall.sh /usr/bin/monogame-uninstall
echo "Installation complete"
echo ""
echo " - To uninstall MonoGame SDK you can run 'monogame-uninstall' from terminal."
echo " - To install templates for MonoDevelop, go Tools > Extensions > Gallery > Game Development > MonoGame Extensions, and install it."
echo " - To install templates for Rider simply run 'dotnet new --install MonoGame.Templates.CSharp'"
echo ""
echo ""
@@ -0,0 +1,34 @@
#!/bin/bash
# Check removale priviledge
if [ "$(id -u)" != "0" ]; then
echo "Please make sure you are running this uninstaller with sudo or as root." 1>&2
exit 1
fi
# Remove terminal commands for mgcb and pipeline tool
rm -f /usr/bin/monogame-pipeline-tool
rm -f /usr/bin/monogame-uninstall
rm -f /usr/bin/mgcb
rm -f /etc/bash_completion.d/mgcb
# Remove application icon
rm -rf /usr/share/icons/gnome/scalable/mimetypes/monogame.svg
# Remove pipeline tool application launcher
rm -rf /usr/share/applications/Monogame\ Pipeline.desktop
# Remove mgcb mimetype
touch /opt/MonoGameSDK/x-mgcb.xml
xdg-mime uninstall /opt/MonoGameSDK/x-mgcb.xml
# Remove MonoGame SDK
rm -rf /usr/lib/mono/xbuild/MonoGame
rm -rf /opt/MonoGameSDK
# Remove man pages
IFS=':' read -r -a ARRAY <<< "$(manpath)"
for MANPATH in "${ARRAY[@]}"
do
rm -rf "$MANPATH/man1/mgcb.1.gz"
done