config BR2_PACKAGE_GERBERA
	bool "gerbera"
	depends on BR2_USE_MMU # fork()
	depends on BR2_TOOLCHAIN_HAS_ATOMIC
	depends on BR2_TOOLCHAIN_HAS_THREADS
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17 filesystem
	depends on BR2_INSTALL_LIBSTDCPP
	depends on !BR2_STATIC_LIBS
	depends on BR2_USE_WCHAR # fmt
	select BR2_PACKAGE_FMT
	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
	select BR2_PACKAGE_LIBUPNP if !BR2_PACKAGE_LIBNPUPNP
	select BR2_PACKAGE_PUGIXML
	select BR2_PACKAGE_PUGIXML_XPATH_SUPPORT
	select BR2_PACKAGE_SPDLOG
	select BR2_PACKAGE_SQLITE
	select BR2_PACKAGE_UTIL_LINUX
	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
	select BR2_PACKAGE_ZLIB
	help
	  A free media server.
	  Stream your media to devices on your home network.

	  Select BR2_PACKAGE_DUKTAPE if you want to enable JavaScript
	  for scripting.

	  https://gerbera.io

comment "gerbera needs a toolchain w/ C++, dynamic library, threads, wchar, gcc >= 8"
	depends on BR2_USE_MMU
	depends on BR2_TOOLCHAIN_HAS_ATOMIC
	depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \
		!BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \
		!BR2_TOOLCHAIN_GCC_AT_LEAST_8
