config BR2_PACKAGE_PYTHON_MATPLOTLIB
	bool "python-matplotlib"
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy
	depends on BR2_HOST_GCC_AT_LEAST_9 # host-python-numpy
	select BR2_PACKAGE_FREETYPE # runtime
	select BR2_PACKAGE_LIBPNG # runtime
	select BR2_PACKAGE_PYTHON_CERTIFI # runtime
	select BR2_PACKAGE_PYTHON_CONTOURPY # runtime
	select BR2_PACKAGE_PYTHON_CYCLER
	select BR2_PACKAGE_PYTHON_PYBIND
	select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime
	select BR2_PACKAGE_PYTHON_DATEUTIL # runtime
	select BR2_PACKAGE_PYTHON_KIWISOLVER # runtime
	select BR2_PACKAGE_PYTHON_NUMPY # runtime
	select BR2_PACKAGE_PYTHON_PILLOW # runtime
	select BR2_PACKAGE_PYTHON_PYPARSING # runtime
	select BR2_PACKAGE_PYTHON3_ZLIB # runtime
	select BR2_PACKAGE_QHULL
	select BR2_PACKAGE_ZLIB # runtime
	help
	  Matplotlib strives to produce publication quality 2D
	  graphics for interactive graphing, scientific publishing,
	  user interface development and web application servers
	  targeting multiple user interfaces and hardcopy output
	  formats.

	  https://matplotlib.org/

if BR2_PACKAGE_PYTHON_MATPLOTLIB

config BR2_PACKAGE_PYTHON_MATPLOTLIB_QT
	bool "qt display"
	depends on BR2_PACKAGE_QT5 # python-pyqt5
	select BR2_PACKAGE_PYTHON_PYQT5
	select BR2_PACKAGE_QT5BASE_FONTCONFIG
	select BR2_PACKAGE_QT5BASE_WIDGETS

endif

comment "python-matplotlib needs a glibc or musl toolchain w/ C++, gcc >= 9, host gcc >= 9"
	depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) || \
		!BR2_INSTALL_LIBSTDCPP || !BR2_HOST_GCC_AT_LEAST_9 || \
		!BR2_TOOLCHAIN_GCC_AT_LEAST_9
