config BR2_PACKAGE_PYTHON_WEB2PY
	bool "python-web2py"
	select BR2_PACKAGE_PYTHON_PYDAL # runtime
	select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime
	select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime
	select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime
	select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime
	select BR2_PACKAGE_PYTHON_SQLITE if BR2_PACKAGE_PYTHON # runtime
	select BR2_PACKAGE_PYTHON3_SQLITE if BR2_PACKAGE_PYTHON3 # runtime
	select BR2_PACKAGE_PYTHON_YATL # runtime
	help
	  web2py is a free open source full-stack framework for rapid
	  development of fast, scalable, secure and portable
	  database-driven web-based applications.

	  http://web2py.com

if BR2_PACKAGE_PYTHON_WEB2PY

config BR2_PACKAGE_PYTHON_WEB2PY_INSTALL_ADMIN
	bool "install admin panel application"
	default y
	help
	  This option install web2py admin panel application.
	  It can be removed to save space on embedded systems.

if BR2_PACKAGE_PYTHON_WEB2PY_INSTALL_ADMIN

config BR2_PACKAGE_PYTHON_WEB2PY_PASSWORD
	string "admin panel password"
	default web2py
	help
	  Set the admin panel password.

endif

endif
