kumquat-buildroot/package/mpd/Config.in
Andreas Ziegler e5a74af215 package/mpd: update to version 0.23.y
This version adds support for openmpt, pipewire and snapcast, which are
disabled for now.

It also adds support for a choice between pupnp and npupnp for the UPnP
database. Therefore, the UPNP option is converted into three-value
choice in Config.in. Legacy handling of the BR2_PACKAGE_MPD_UPNP makes
sure that upnp remains selected.

Signed-off-by: Andreas Ziegler <br015@umbiko.net>
[Arnout: fix legacy handling; fix snapcast option]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-12-10 20:01:34 +01:00

434 lines
11 KiB
Plaintext

menuconfig BR2_PACKAGE_MPD
bool "mpd"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR # flac
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # fork
depends on BR2_TOOLCHAIN_HAS_ATOMIC
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17
depends on BR2_HOST_GCC_AT_LEAST_8 # C++17
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_FMT
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
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
comment "Archive plugins"
config BR2_PACKAGE_MPD_BZIP2
bool "bzip2"
select BR2_PACKAGE_BZIP2
help
Enable bzip2 archive support.
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_ZZIP
bool "zzip"
select BR2_PACKAGE_ZZIPLIB
help
Enable ZIP archive support.
comment "Commercial services"
config BR2_PACKAGE_MPD_QOBUZ
bool "qobuz"
depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS
select BR2_PACKAGE_MPD_CURL
select BR2_PACKAGE_LIBGCRYPT
select BR2_PACKAGE_YAJL
help
Play songs from the commercial streaming service Qobuz.
config BR2_PACKAGE_MPD_SOUNDCLOUD
bool "soundcloud"
select BR2_PACKAGE_MPD_CURL
select BR2_PACKAGE_YAJL
help
Enable soundcloud.com playlist support.
comment "Converter plugins"
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_LIBSOXR
bool "libsoxr"
select BR2_PACKAGE_LIBSOXR
help
Enable libsoxr resampler support.
The SoX Resampler library performs software sample-rate
conversion.
comment "Decoder plugins"
config BR2_PACKAGE_MPD_DSD
bool "dsd"
help
Enable Digital Speech Decoder (DSD) support to play audio
files encoded in a digital speech format.
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_FFMPEG
bool "ffmpeg"
depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
select BR2_PACKAGE_FFMPEG
help
Enable ffmpeg input support.
Select this if you want to play back files supported by
ffmpeg.
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_FLUIDSYNTH
bool "fluidsynth"
depends on !BR2_STATIC_LIBS
select BR2_PACKAGE_FLUIDSYNTH
help
Enable fluidsynth MIDI decoder support.
comment "fluidsynth support needs a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS
config BR2_PACKAGE_MPD_LIBSNDFILE
bool "libsndfile"
select BR2_PACKAGE_LIBSNDFILE
help
Enable libsndfile input/streaming support.
Select this if you want to play back WAV files.
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_MODPLUG
bool "modplug"
select BR2_PACKAGE_LIBMODPLUG
help
Enable Modplug decoder support.
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_OPUS
bool "opus"
select BR2_PACKAGE_OPUS
select BR2_PACKAGE_LIBOGG
help
Enable opus input support.
Select this if you want to play back OPUS encoded files.
config BR2_PACKAGE_MPD_SIDPLAY
bool "sidplay"
select BR2_PACKAGE_LIBSIDPLAY2
help
Enable C64 SID support.
config BR2_PACKAGE_MPD_TREMOR
bool "tremor"
depends on !BR2_PACKAGE_MPD_VORBIS
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.
comment "Encoder plugins"
config BR2_PACKAGE_MPD_LAME
bool "lame"
select BR2_PACKAGE_LAME
help
Enable lame (mp3) encoding support.
config BR2_PACKAGE_MPD_TWOLAME
bool "twolame"
select BR2_PACKAGE_TWOLAME
help
Enable TwoLAME mp2 encoding.
comment "Input plugins"
config BR2_PACKAGE_MPD_CDIO_PARANOIA
bool "cdio-paranoia"
select BR2_PACKAGE_LIBCDIO_PARANOIA
help
Enable cdio-paranoia support.
config BR2_PACKAGE_MPD_CURL
bool "curl"
select BR2_PACKAGE_LIBCURL
help
Enable curl streaming (http) support.
config BR2_PACKAGE_MPD_LIBMMS
bool "mms"
select BR2_PACKAGE_LIBMMS
help
Enable MMS support.
config BR2_PACKAGE_MPD_LIBNFS
bool "nfs"
# libnfs -> libtirpc
depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC || BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_LIBNFS
help
Enable Network File System (NFS) support.
comment "nfs support needs a toolchain w/ threads support"
depends on !(BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_HAS_NATIVE_RPC)
comment "samba support needs a glibc toolchain w/ dynamic library, RPC"
depends on !BR2_nios2
depends on !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS || \
!BR2_TOOLCHAIN_HAS_NATIVE_RPC
config BR2_PACKAGE_MPD_LIBSMBCLIENT
bool "samba"
depends on !BR2_nios2 # samba
depends on BR2_TOOLCHAIN_USES_GLIBC
depends on !BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
depends on BR2_TOOLCHAIN_HAS_SYNC_4
select BR2_PACKAGE_SAMBA4
help
Enable Samba support.
comment "Output plugins"
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
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_HTTPD_OUTPUT
bool "httpd output"
help
Enable httpd output support.
config BR2_PACKAGE_MPD_JACK2
bool "jack2"
depends on !BR2_STATIC_LIBS # jack2
depends on BR2_TOOLCHAIN_HAS_SYNC_4
select BR2_PACKAGE_JACK2
help
Enable jack output support.
comment "jack support needs a toolchain w/ dynamic library"
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on BR2_STATIC_LIBS
config BR2_PACKAGE_MPD_OPENAL
bool "openal"
depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
select BR2_PACKAGE_OPENAL
help
Enable OpenAL output support.
comment "openal support needs a toolchain w/ NPTL"
depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
config BR2_PACKAGE_MPD_OSS
bool "oss"
help
Enable OSS (Open Sound System) output support.
config BR2_PACKAGE_MPD_PULSEAUDIO
bool "pulseaudio"
depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_STATIC_LIBS
depends on BR2_USE_MMU
select BR2_PACKAGE_PULSEAUDIO
help
Enable pulseaudio output support.
comment "pulseaudio support needs a toolchain w/ threads, wchar, dynamic library"
depends on BR2_USE_MMU
depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || !BR2_USE_WCHAR
config BR2_PACKAGE_MPD_SHOUTCAST
bool "shoutcast"
select BR2_PACKAGE_LIBSHOUT
help
Enable shoutcast streaming output support.
comment "Miscellaneous plugins"
config BR2_PACKAGE_MPD_AVAHI_SUPPORT
bool "avahi (zeroconf) support"
depends on !BR2_STATIC_LIBS # avahi
select BR2_PACKAGE_AVAHI
select BR2_PACKAGE_AVAHI_DAEMON
select BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY
help
Enable Avahi (zeroconf) support.
Select this for multicast DNS/DNS-SD service discovery
support. This allows MPD to publish service information on a
local network.
comment "avahi support needs a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS
config BR2_PACKAGE_MPD_LIBMPDCLIENT
bool "libmpdclient"
select BR2_PACKAGE_LIBMPDCLIENT
help
Enable libmpdclient support.
config BR2_PACKAGE_MPD_NEIGHBOR_DISCOVERY_SUPPORT
bool "neighbor discovery support"
depends on BR2_PACKAGE_MPD_LIBSMBCLIENT || !BR2_PACKAGE_MPD_UPNP_DISABLED
help
Enable support for neighbor discovery.
This option can be used in conjunction with the smbclient
plugin to provide a list of SMB/CIFS servers or with the
UPnP plugin to provide a list of UPnP servers on the local
network. The neighbor plugin needs configuration in
mpd.conf. For further information take a look at the MPD
documentation.
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).
choice
prompt "UPnP"
default BR2_PACKAGE_MPD_UPNP_PUPNP if BR2_PACKAGE_MPD_UPNP # legacy
default BR2_PACKAGE_MPD_UPNP_DISABLED
help
Enable MPD to access a UPnP based media server.
For further information, see
https://www.lesbonscomptes.com/upmpdcli/pages/upmpdcli-or-mpdupnp.html
config BR2_PACKAGE_MPD_UPNP_PUPNP
bool "pupnp"
select BR2_PACKAGE_EXPAT
select BR2_PACKAGE_LIBUPNP
select BR2_PACKAGE_MPD_CURL
help
Provides UPnP database access through libupnp
(the legacy Portable SDK for UPnP devices).
Introduces least additional dependencies.
config BR2_PACKAGE_MPD_UPNP_NPUPNP
bool "npupnp"
select BR2_PACKAGE_LIBNPUPNP
select BR2_PACKAGE_MPD_CURL
help
Provides UPnP database access through libnpupnp
(a C++ reimplementation of the Portable UPnP library).
This implementation is more modern, but also brings
additional features not needed in this context, thus
consuming more space.
config BR2_PACKAGE_MPD_UPNP_DISABLED
bool "disabled"
help
No UPnP client functionality.
endchoice
comment "Tag plugins"
config BR2_PACKAGE_MPD_ID3TAG
bool "id3tag"
select BR2_PACKAGE_LIBID3TAG
help
Enable ID3 support.
endif
comment "mpd needs a toolchain w/ C++, threads, wchar, gcc >= 8, host gcc >= 8"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_ATOMIC
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_8 || \
!BR2_HOST_GCC_AT_LEAST_8