diff options
Diffstat (limited to 'package/mpd')
-rw-r--r-- | package/mpd/Config.in | 187 | ||||
-rw-r--r-- | package/mpd/S95mpd | 30 | ||||
-rw-r--r-- | package/mpd/mpd.conf | 32 | ||||
-rw-r--r-- | package/mpd/mpd.mk | 140 |
4 files changed, 389 insertions, 0 deletions
diff --git a/package/mpd/Config.in b/package/mpd/Config.in new file mode 100644 index 0000000000..2ca55cc3cf --- /dev/null +++ b/package/mpd/Config.in @@ -0,0 +1,187 @@ +menuconfig BR2_PACKAGE_MPD + bool "mpd" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + select BR2_PACKAGE_MPD_TREMOR if !(BR2_PACKAGE_MPD_MAD || BR2_PACKAGE_MPD_MPG123 || BR2_PACKAGE_MPD_VORBIS || BR2_PACKAGE_MPD_WAVPACK || BR2_PACKAGE_MPD_FLAC || BR2_PACKAGE_MPD_MUSEPACK || BR2_PACKAGE_MPD_FFMPEG) + help + MPD is a flexible, powerful, server-side application + for playing music. Through plugins and libraries + it can play a variety of sound files while being + controlled by its network protocol. + + http://www.musicpd.org + +if BR2_PACKAGE_MPD + +config BR2_PACKAGE_MPD_ALSA + bool "alsa" + default y + select BR2_PACKAGE_ALSA_LIB + select BR2_PACKAGE_ALSA_LIB_PCM + select BR2_PACKAGE_ALSA_LIB_MIXER + depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib + help + Enable alsa output support. + +config BR2_PACKAGE_MPD_AO + bool "ao" + select BR2_PACKAGE_LIBAO + help + Enable libao output support. + +config BR2_PACKAGE_MPD_AUDIOFILE + bool "audiofile" + select BR2_PACKAGE_AUDIOFILE + help + Enable audiofile input/streaming support. + Select this if you want to play back WAV files. + +config BR2_PACKAGE_MPD_PULSEAUDIO + bool "pulseaudio" + depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio + depends on BR2_LARGEFILE # pulseaudio -> libsndfile + select BR2_PACKAGE_PULSEAUDIO + help + Enable pulseaudio output support. + +config BR2_PACKAGE_MPD_BZIP2 + bool "bzip2" + select BR2_PACKAGE_BZIP2 + help + Enable bzip2 archive support. + +config BR2_PACKAGE_MPD_CURL + bool "curl" + select BR2_PACKAGE_LIBCURL + help + Enable curl streaming (http) support. + +config BR2_PACKAGE_MPD_FAAD2 + bool "faad2" + select BR2_PACKAGE_FAAD2 + help + Enable faad2 input support. + Select this if you want to play back MP4/AAC files. + +config BR2_PACKAGE_MPD_FLAC + bool "flac" + select BR2_PACKAGE_FLAC + help + Enable flac input/streaming support. + Select this if you want to play back FLAC files. + +config BR2_PACKAGE_MPD_FFMPEG + bool "ffmpeg" + select BR2_PACKAGE_FFMPEG + depends on BR2_LARGEFILE + depends on BR2_INET_IPV6 + help + Enable ffmpeg input support. + Select this if you want to play back files supported by ffmpeg. + +comment "ffmpeg support requires a toolchain with LARGEFILE and IPV6 support" + depends on !(BR2_LARGEFILE && BR2_INET_IPV6) + +config BR2_PACKAGE_MPD_LAME + bool "lame" + select BR2_PACKAGE_LAME + help + Enable lame (mp3) encoding support. + +config BR2_PACKAGE_MPD_LIBCUE + bool "libcue" + select BR2_PACKAGE_LIBCUE + help + Enable cue file support. + +config BR2_PACKAGE_MPD_LIBSAMPLERATE + bool "libsamplerate" + select BR2_PACKAGE_LIBSAMPLERATE + help + Enable libsamplerate input support. + Select this for software sample rate conversion. + +config BR2_PACKAGE_MPD_LIBSNDFILE + bool "libsndfile" + select BR2_PACKAGE_LIBSNDFILE + depends on BR2_LARGEFILE + help + Enable libsndfile input/streaming support. + Select this if you want to play back WAV files. + +comment "mpd-libsndfile requires a toolchain with LARGEFILE support" + depends on !BR2_LARGEFILE + +config BR2_PACKAGE_MPD_MAD + bool "mad" + default y + select BR2_PACKAGE_LIBID3TAG + select BR2_PACKAGE_LIBMAD + help + Enable mad input support. + Select this if you want to play back MP3 files. + +config BR2_PACKAGE_MPD_MPG123 + bool "mpg123" + select BR2_PACKAGE_LIBID3TAG + select BR2_PACKAGE_MPG123 + help + Enable mpg123 input support. + Select this if you want to play back MP3 files. + +config BR2_PACKAGE_MPD_MUSEPACK + bool "musepack" + select BR2_PACKAGE_LIBCUEFILE + select BR2_PACKAGE_LIBREPLAYGAIN + select BR2_PACKAGE_MUSEPACK + help + Enable musepack input support. + Select this if you want to play back MPC files. + +config BR2_PACKAGE_MPD_SQLITE + bool "sqlite" + select BR2_PACKAGE_SQLITE + help + Enable sqlite database support. + If you don't use sqlite it will use an ASCII database. + +config BR2_PACKAGE_MPD_TCP + bool "tcp sockets" + default y + help + Enable mpd to listen on tcp sockets. + + You want this on if mpd and the client(s) work + on different machines (the usual scenario). + +config BR2_PACKAGE_MPD_TREMOR + bool "tremor" + select BR2_PACKAGE_LIBOGG + select BR2_PACKAGE_TREMOR + help + Enable vorbis input support. + Select this if you want to play back OGG files on softfloat targets. + +config BR2_PACKAGE_MPD_VORBIS + bool "vorbis" + select BR2_PACKAGE_LIBOGG + select BR2_PACKAGE_LIBVORBIS + help + Enable vorbis input/streaming support. + Select this if you want to play back OGG files on hardfloat targets. + +config BR2_PACKAGE_MPD_WAVPACK + bool "wavpack" + select BR2_PACKAGE_WAVPACK + help + Enable wavpack input support. + Select this if you want to play back WV files. + +endif + +comment "mpd requires a toolchain with C++, threading and WCHAR support" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/mpd/S95mpd b/package/mpd/S95mpd new file mode 100644 index 0000000000..a4f1271cea --- /dev/null +++ b/package/mpd/S95mpd @@ -0,0 +1,30 @@ +#!/bin/sh + +start() { + echo -n "Starting mpd: " + start-stop-daemon --start --quiet --background --exec /usr/bin/mpd + echo "OK" +} + +stop() { + echo -n "Stopping mpd: " + start-stop-daemon --stop --quiet --pidfile /var/run/mpd.pid + echo "OK" +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + stop + sleep 1 + start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac diff --git a/package/mpd/mpd.conf b/package/mpd/mpd.conf new file mode 100644 index 0000000000..5956b75e24 --- /dev/null +++ b/package/mpd/mpd.conf @@ -0,0 +1,32 @@ +# +# Sample configuration file for mpd +# This is a minimal configuration, see the manpage for more options +# + +# Directory where the music is stored +music_directory "/var/lib/mpd/music" + +# Directory where user-made playlists are stored (RW) +playlist_directory "/var/lib/mpd/playlists" + +# Database file (RW) +db_file "/var/lib/mpd/database" + +# Log file (RW) +log_file "/var/log/mpd.log" + +# Process ID file (RW) +pid_file "/var/run/mpd.pid" + +# State file (RW) +state_file "/var/lib/mpd/state" + +# User id to run the daemon as +#user "nobody" + +# TCP socket binding +bind_to_address "any" +#bind_to_address "localhost" + +# Unix socket to listen on +bind_to_address "/var/lib/mpd/socket" diff --git a/package/mpd/mpd.mk b/package/mpd/mpd.mk new file mode 100644 index 0000000000..95e18f7d53 --- /dev/null +++ b/package/mpd/mpd.mk @@ -0,0 +1,140 @@ +################################################################################ +# +# mpd +# +################################################################################ + +MPD_VERSION = 0.17.5 +MPD_SITE = http://www.musicpd.org/download/mpd/stable +MPD_DEPENDENCIES = host-pkgconf libglib2 +MPD_LICENSE = GPLv2 +MPD_LICENSE_FILES = COPYING + +# Some options need an explicit --disable or --enable + +ifeq ($(BR2_PACKAGE_MPD_ALSA),y) +MPD_DEPENDENCIES += alsa-lib +else +MPD_CONF_OPT += --disable-alsa +endif + +ifeq ($(BR2_PACKAGE_MPD_AO),y) +MPD_DEPENDENCIES += libao +MPD_CONF_OPT += --enable-ao +endif + +ifeq ($(BR2_PACKAGE_MPD_AUDIOFILE),y) +MPD_DEPENDENCIES += audiofile +MPD_CONF_OPT += --enable-audiofile +endif + +ifeq ($(BR2_PACKAGE_MPD_PULSEAUDIO),y) +MPD_DEPENDENCIES += pulseaudio +MPD_CONF_OPT += --enable-pulse +endif + +ifeq ($(BR2_PACKAGE_MPD_BZIP2),y) +MPD_DEPENDENCIES += bzip2 +MPD_CONF_OPT += --enable-bzip2 +endif + +ifeq ($(BR2_PACKAGE_MPD_FAAD2),y) +MPD_DEPENDENCIES += faad2 +else +MPD_CONF_OPT += --disable-faad2 +endif + +ifeq ($(BR2_PACKAGE_MPD_FLAC),y) +MPD_DEPENDENCIES += flac +else +MPD_CONF_OPT += --without-flac --disable-oggflac +endif + +ifeq ($(BR2_PACKAGE_MPD_CURL),y) +MPD_DEPENDENCIES += libcurl +else +MPD_CONF_OPT += --disable-curl +endif + +ifeq ($(BR2_PACKAGE_MPD_LAME),y) +MPD_DEPENDENCIES += lame +else +MPD_CONF_OPT += --disable-lame-encoder +endif + +ifeq ($(BR2_PACKAGE_MPD_LIBCUE),y) +MPD_DEPENDENCIES += libcue +else +MPD_CONF_OPT += --disable-cue +endif + +ifeq ($(BR2_PACKAGE_MPD_LIBSAMPLERATE),y) +MPD_DEPENDENCIES += libsamplerate +else +MPD_CONF_OPT += --disable-lsr +endif + +ifeq ($(BR2_PACKAGE_MPD_LIBSNDFILE),y) +MPD_DEPENDENCIES += libsndfile +else +MPD_CONF_OPT += --disable-sndfile +endif + +ifeq ($(BR2_PACKAGE_MPD_VORBIS),y) +MPD_DEPENDENCIES += libvorbis +else +MPD_CONF_OPT += --disable-vorbis +endif + +ifeq ($(BR2_PACKAGE_MPD_MPG123),y) +MPD_DEPENDENCIES += libid3tag mpg123 +else +MPD_CONF_OPT += --disable-mpg123 +endif + +ifeq ($(BR2_PACKAGE_MPD_MUSEPACK),y) +MPD_DEPENDENCIES += musepack +else +MPD_CONF_OPT += --disable-mpc +endif + +ifeq ($(BR2_PACKAGE_MPD_SQLITE),y) +MPD_DEPENDENCIES += sqlite +else +MPD_CONF_OPT += --disable-sqlite +endif + +ifneq ($(BR2_PACKAGE_MPD_TCP),y) +MPD_CONF_OPT += --disable-tcp +endif + +ifeq ($(BR2_PACKAGE_MPD_TREMOR),y) +MPD_DEPENDENCIES += tremor +MPD_CONF_OPT += --with-tremor +endif + +ifeq ($(BR2_PACKAGE_MPD_WAVPACK),y) +MPD_DEPENDENCIES += wavpack +else +MPD_CONF_OPT += --disable-wavpack +endif + +ifeq ($(BR2_PACKAGE_MPD_FFMPEG),y) +MPD_DEPENDENCIES += ffmpeg +MPD_CONF_OPT += --enable-ffmpeg +else +MPD_CONF_OPT += --disable-ffmpeg +endif + +define MPD_INSTALL_EXTRA_FILES + @if [ ! -f $(TARGET_DIR)/etc/mpd.conf ]; then \ + $(INSTALL) -D package/multimedia/mpd/mpd.conf \ + $(TARGET_DIR)/etc/mpd.conf; \ + fi + $(INSTALL) -m 0755 -D package/multimedia/mpd/S95mpd \ + $(TARGET_DIR)/etc/init.d/S95mpd +endef + +MPD_POST_INSTALL_TARGET_HOOKS += MPD_INSTALL_EXTRA_FILES + +$(eval $(autotools-package)) |