[Buildroot] [PATCH 10/10] mpd: new package
Peter Korsgaard
jacmet at uclibc.org
Thu Jan 20 13:07:35 UTC 2011
>>>>> "Gustavo" == Gustavo Zacarias <gustavo at zacarias.com.ar> writes:
Gustavo> Add the Music Player Daemon package.
Gustavo> Enjoy, send me beers ;)
Come to FOSDEM and I'll buy you one ;)
Gustavo> diff --git a/package/multimedia/mpd/Config.in b/package/multimedia/mpd/Config.in
Gustavo> new file mode 100644
Gustavo> index 0000000..b902b7b
Gustavo> --- /dev/null
Gustavo> +++ b/package/multimedia/mpd/Config.in
Gustavo> @@ -0,0 +1,138 @@
Gustavo> +menuconfig BR2_PACKAGE_MPD
Gustavo> + bool "mpd"
Gustavo> + depends on BR2_INSTALL_LIBSTDCPP
Gustavo> + depends on BR2_USE_WCHAR
Gustavo> + select BR2_PACKAGE_LIBGLIB2
Gustavo> + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
Gustavo> + help
Gustavo> + MPD is a flexible, powerful, server-side application
Gustavo> + for playing music. Through plugins and libraries
Gustavo> + it can play a variety of sound files while being
Gustavo> + controlled by its network protocol.
Gustavo> +
Gustavo> + http://www.musicpd.org
Gustavo> +
Gustavo> +if BR2_PACKAGE_MPD
Gustavo> +
Gustavo> +config BR2_PACKAGE_MPD_ALSA
Gustavo> + bool "alsa"
Gustavo> + select BR2_PACKAGE_ALSA_LIB
Gustavo> + help
Gustavo> + Enable alsa output support.
Gustavo> +
Gustavo> +config BR2_PACKAGE_MPD_AO
Gustavo> + bool "ao"
Gustavo> + select BR2_PACKAGE_LIBAO
Gustavo> + help
Gustavo> + Enable libao output support.
Gustavo> +
Gustavo> +config BR2_PACKAGE_MPD_BZIP2
Gustavo> + bool "bzip2"
Gustavo> + select BR2_PACKAGE_BZIP2
Gustavo> + help
Gustavo> + Enable bzip2 archive support.
Gustavo> +
Gustavo> +config BR2_PACKAGE_MPD_CURL
Gustavo> + bool "curl"
Gustavo> + select BR2_PACKAGE_LIBCURL
Gustavo> + help
Gustavo> + Enable curl streaming (http) support.
Gustavo> +
Gustavo> +config BR2_PACKAGE_MPD_FAAD2
Gustavo> + bool "faad2"
Gustavo> + select BR2_PACKAGE_FAAD2
Gustavo> + help
Gustavo> + Enable faad2 input support.
Gustavo> + Select this if you want to play back MP4/AAC files.
Gustavo> +
Gustavo> +config BR2_PACKAGE_MPD_FLAC
Gustavo> + bool "flac"
Gustavo> + select BR2_PACKAGE_FLAC
Gustavo> + help
Gustavo> + Enable flac input/streaming support.
Gustavo> + Select this if you want to play back FLAC files.
Gustavo> +
Gustavo> +config BR2_PACKAGE_MPD_LIBSAMPLERATE
Gustavo> + bool "libsamplerate"
Gustavo> + select BR2_PACKAGE_LIBSAMPLERATE
Gustavo> + help
Gustavo> + Enable libsamplerate input support.
Gustavo> + Select this for software sample rate conversion.
Gustavo> +
Gustavo> +config BR2_PACKAGE_MPD_LIBSNDFILE
Gustavo> + bool "libsndfile"
Gustavo> + select BR2_PACKAGE_LIBSNDFILE
Gustavo> + help
Gustavo> + Enable libsndfile input/streaming support.
Gustavo> + Select this if you want to play back WAV files.
Gustavo> +
Gustavo> +config BR2_PACKAGE_MPD_MAD
Gustavo> + bool "mad"
Gustavo> + select BR2_PACKAGE_LIBID3TAG
Gustavo> + select BR2_PACKAGE_LIBMAD
Gustavo> + help
Gustavo> + Enable mad input support.
Gustavo> + Select this if you want to play back MP3 files.
Gustavo> + mpg123 has better quality support (24-bit) but doesn't seek.
I think it's a bit confusing to see the reference to mpg123 here.
Gustavo> +
Gustavo> +config BR2_PACKAGE_MPD_MPG123
Gustavo> + bool "mpg123"
Gustavo> + select BR2_PACKAGE_LIBID3TAG
Gustavo> + select BR2_PACKAGE_MPG123
Gustavo> + help
Gustavo> + Enable mpg123 input support.
Gustavo> + Select this if you want to play back MP3 files.
Gustavo> + mpg123 has better quality support (24-bit) but doesn't seek.
Gustavo> +
Gustavo> +config BR2_PACKAGE_MPD_MUSEPACK
Gustavo> + bool "musepack"
Gustavo> + select BR2_PACKAGE_LIBCUE
Gustavo> + select BR2_PACKAGE_LIBREPLAYGAIN
Gustavo> + select BR2_PACKAGE_MUSEPACK
Gustavo> + help
Gustavo> + Enable musepack input support.
Gustavo> + Select this if you want to play back MPC files.
Gustavo> +
Gustavo> +config BR2_PACKAGE_MPD_SQLITE
Gustavo> + bool "sqlite"
Gustavo> + select BR2_PACKAGE_SQLITE
Gustavo> + help
Gustavo> + Enable sqlite database support.
Gustavo> + If you don't use sqlite it will use an ASCII database.
Gustavo> +
Gustavo> +config BR2_PACKAGE_MPD_TCP
Gustavo> + bool "tcp sockets"
Gustavo> + default y
Gustavo> + help
Gustavo> + Enable mpd to listen on tcp sockets.
Gustavo> +
Gustavo> + You want this on if mpd and the client(s) work
Gustavo> + on different machines (the usual scenario).
Gustavo> +
Gustavo> +config BR2_PACKAGE_MPD_TREMOR
Gustavo> + bool "tremor"
Gustavo> + select BR2_PACKAGE_LIBOGG
Gustavo> + select BR2_PACKAGE_TREMOR
Gustavo> + help
Gustavo> + Enable vorbis input support.
Gustavo> + Select this if you want to play back OGG files.
Gustavo> +
Gustavo> +config BR2_PACKAGE_MPD_VORBIS
Gustavo> + bool "vorbis"
Gustavo> + select BR2_PACKAGE_LIBOGG
Gustavo> + select BR2_PACKAGE_LIBVORBIS
Gustavo> + help
Gustavo> + Enable vorbis input/streaming support.
Gustavo> + Select this if you want to play back OGG files.
Trailing space. I think it would be good to add a little note about
when/why someone would want to use tremor instead of vorbis and
otherwise.
Gustavo> +++ b/package/multimedia/mpd/mpd.mk
Gustavo> @@ -0,0 +1,85 @@
Gustavo> +#############################################################
Gustavo> +#
Gustavo> +# mpd
Gustavo> +#
Gustavo> +#############################################################
Gustavo> +
Gustavo> +MPD_VERSION = 0.16.1
Gustavo> +MPD_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/musicpd
Gustavo> +MPD_DEPENDENCIES = host-pkg-config libglib2
Gustavo> +
Gustavo> +# Config.in selects most options to make life easier and avoid guess work
Gustavo> +
Gustavo> +ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
Gustavo> +MPD_DEPENDENCIES += alsa-lib
Gustavo> +endif
This is a bit confusing. The users sees config options to enable/disable
support for the various plugins, but those choices are not taken into
consideration.
E.G. if the user for some reason has faad enabled, but are not planning
on using it with mpd, then it will still be enabled no matter what they
set BR2_PACKAGE_MPD_FAAD2 to.
I think we should either get rid of those options, and just build
plugins for whatever libs are enabled (not really optimal), or otherwise
check the options here and pass the correct --enable / --disable options
to force the corresponding plugins to be enabled or not.
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list