config BR2_PACKAGE_PYTHON_CRYPTOGRAPHY
	bool "python-cryptography"
	depends on BR2_INSTALL_LIBSTDCPP # python-pyasn
	select BR2_PACKAGE_OPENSSL
	select BR2_PACKAGE_PYTHON_CFFI # runtime
	select BR2_PACKAGE_PYTHON_ENUM34 if BR2_PACKAGE_PYTHON # runtime
	select BR2_PACKAGE_PYTHON_HASHLIB if BR2_PACKAGE_PYTHON # runtime
	select BR2_PACKAGE_PYTHON_IDNA # runtime
	select BR2_PACKAGE_PYTHON_IPADDRESS if BR2_PACKAGE_PYTHON # runtime
	select BR2_PACKAGE_PYTHON_ASN1CRYPTO # 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_SETUPTOOLS # runtime
	select BR2_PACKAGE_PYTHON_SIX # runtime
	select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON # runtime
	select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 # runtime
	help
	  cryptography is a package designed to expose cryptographic
	  primitives and recipes to Python developers.

	  https://cryptography.io

comment "python-cryptography needs a toolchain w/ C++"
	depends on !BR2_INSTALL_LIBSTDCPP
