82 lines
2.3 KiB
Bash
82 lines
2.3 KiB
Bash
#!/bin/bash
|
|
|
|
# Universal Setup Script for GTK2 MPV Player
|
|
# Identifies the Linux distribution and installs required build dependencies.
|
|
|
|
set -e
|
|
|
|
PRINT_INFO() { echo -e "\e[34m[INFO]\e[0m $1"; }
|
|
PRINT_SUCCESS() { echo -e "\e[32m[SUCCESS]\e[0m $1"; }
|
|
PRINT_ERROR() { echo -e "\e[31m[ERROR]\e[0m $1"; }
|
|
PRINT_WARNING() { echo -e "\e[33m[WARNING]\e[0m $1"; }
|
|
|
|
OS_TYPE=""
|
|
if [ -f /etc/os-release ]; then
|
|
. /etc/os-release
|
|
OS_TYPE=$ID
|
|
else
|
|
PRINT_ERROR "Could not detect operating system type. /etc/os-release missing."
|
|
exit 1
|
|
fi
|
|
|
|
PRINT_INFO "Detected operating system: $OS_TYPE"
|
|
|
|
install_debian_deps() {
|
|
PRINT_INFO "Installing dependencies for Debian/Ubuntu/Mint..."
|
|
sudo apt-get update
|
|
sudo apt-get install -y build-essential pkg-config libgtk2.0-dev libmpv-dev
|
|
}
|
|
|
|
install_fedora_deps() {
|
|
PRINT_INFO "Installing dependencies for Fedora/RHEL/CentOS..."
|
|
sudo dnf groupinstall -y "Development Tools"
|
|
sudo dnf install -y pkg-config gtk2-devel mpv-devel
|
|
}
|
|
|
|
install_arch_deps() {
|
|
PRINT_INFO "Installing dependencies for Arch/Manjaro..."
|
|
sudo pacman -S --needed base-devel pkg-config gtk2 mpv
|
|
}
|
|
|
|
install_opensuse_deps() {
|
|
PRINT_INFO "Installing dependencies for openSUSE..."
|
|
sudo zypper install -t pattern devel_C_C++
|
|
sudo zypper install -y pkg-config gtk2-devel mpv-devel
|
|
}
|
|
|
|
install_slackware_deps() {
|
|
PRINT_INFO "Checking dependencies for Slackware..."
|
|
PRINT_WARNING "Slackware dependency management varies. Please ensure the following are installed:"
|
|
echo " - gtk+2"
|
|
echo " - mpv (with client library support)"
|
|
echo " - pkg-config"
|
|
echo ""
|
|
PRINT_INFO "If you have slackpkg+ or similar, you can try searching for 'gtk+2' and 'mpv'."
|
|
}
|
|
|
|
case "$OS_TYPE" in
|
|
ubuntu|debian|linuxmint|pop|kali|raspbian)
|
|
install_debian_deps
|
|
;;
|
|
fedora|centos|rhel|almalinux|rocky)
|
|
install_fedora_deps
|
|
;;
|
|
arch|manjaro)
|
|
install_arch_deps
|
|
;;
|
|
opensuse*|suse)
|
|
install_opensuse_deps
|
|
;;
|
|
slackware)
|
|
install_slackware_deps
|
|
;;
|
|
*)
|
|
PRINT_WARNING "Unsupported or unknown distribution: $OS_TYPE"
|
|
PRINT_INFO "Please manually install the development files for: gtk2 and mpv."
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
PRINT_SUCCESS "Dependency installation step complete."
|
|
PRINT_INFO "You can now build the player using 'make'."
|