Created
April 1, 2024 16:13
-
-
Save bonelifer/fe3ecaeb95f36d7a52b364d9a5190a58 to your computer and use it in GitHub Desktop.
compile-mpd.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
#=============================================================================== | |
# | |
# FILE: install_mpd.sh | |
# USAGE: ./install_mpd.sh | |
# DESCRIPTION: This script installs MPD (Music Player Daemon) and its | |
# dependencies. It detects the distribution (Debian or Ubuntu) | |
# and installs the appropriate packages accordingly. | |
# | |
# OPTIONS: None | |
# REQUIREMENTS: Git, Ninja, Meson | |
# NOTES: Make sure to run this script with sudo or as root. | |
# | |
#=============================================================================== | |
# Function to detect distribution | |
get_distribution() { | |
if [ -r /etc/os-release ]; then | |
. /etc/os-release | |
if [ "$ID" = debian ]; then | |
echo "debian" | |
elif [ "$ID" = ubuntu ]; then | |
echo "ubuntu" | |
fi | |
fi | |
} | |
# Install dependencies based on distribution | |
install_dependencies() { | |
local distribution=$(get_distribution) | |
if [ "$distribution" = "debian" ]; then | |
sudo apt-get update | |
sudo apt-get install -y build-essential libasound2-dev libavahi-client-dev libavcodec-dev \ | |
libavformat-dev libavutil-dev libcurl4-gnutls-dev libexpat1-dev libglib2.0-dev libicu-dev \ | |
libmad0-dev libmpdclient-dev libncursesw5-dev libogg-dev libopus-dev libpcre3-dev libsidplay2-dev \ | |
libsqlite3-dev libsystemd-dev libwavpack-dev libwebp-dev libwrap0-dev yasm ninja-build meson libmp3lame-dev \ | |
liburing-dev libchromaprint-dev libnfs-dev libyajl-dev libsamplerate0-dev libsoxr-dev libcdio-dev libmms-dev \ | |
libzzip-dev libjack-jackd2-dev libopenal-dev libshout3-dev libadplug-dev libfluidsynth-dev libaudiofile-dev \ | |
libgme-dev libmikmod-dev libopenmpt-dev libmpcdec-dev libmpg123-dev libsndfile1-dev libwildmidi-dev \ | |
libsidplayfp-dev libtwolame-dev | |
elif [ "$distribution" = "ubuntu" ]; then | |
sudo apt-get update | |
sudo apt-get install -y build-essential libasound2-dev libavahi-client-dev libavcodec-dev \ | |
libavformat-dev libavutil-dev libcurl4-gnutls-dev libexpat1-dev libglib2.0-dev libicu-dev \ | |
libmad0-dev libmpdclient-dev libncursesw5-dev libogg-dev libopus-dev libpcre3-dev libsidplay2-dev \ | |
libsqlite3-dev libsystemd-dev libwavpack-dev libwebp-dev libwrap0-dev yasm ninja-build meson libmp3lame-dev \ | |
liburing-dev libchromaprint-dev libnfs-dev libyajl-dev libsamplerate0-dev libsoxr-dev libcdio-dev libmms-dev \ | |
libzzip-dev libjack-jackd2-dev libopenal-dev libshout3-dev libadplug-dev libfluidsynth-dev libaudiofile-dev \ | |
libgme-dev libmikmod-dev libopenmpt-dev libmpcdec-dev libmpg123-dev libsndfile1-dev libwildmidi-dev \ | |
libsidplayfp-dev libtwolame-dev | |
else | |
echo "Unsupported distribution" | |
exit 1 | |
fi | |
} | |
# Clone the MPD repository | |
git clone https://github.com/MusicPlayerDaemon/MPD.git | |
cd MPD | |
git checkout v0.23.x | |
# Build and install | |
meson build | |
cd build | |
ninja | |
sudo ninja install | |
# Clean up | |
cd ../.. | |
rm -rf MPD |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment