buildroot/package/python/Config.in
Bernd Kuhls 480e926db4 package/python: add optional support for lib2to3
Kodi is in transition to support python3 instead of python2:
https://kodi.wiki/view/General_information_about_migration_to_Python_3

"For Kodi 18 (Leia), only addons that are compatible with both Python 2
 and 3 will be accepted to the official addon repository."

Some of these addons depend on the Kodi addon script.module.future to
provide support for both python versions.

The script.module.future addon contains python-future:
https://kodi.wiki/view/General_information_about_migration_to_Python_3#Future
which in turn needs lib2to3 to be included in the target build of
python2: http://python-future.org/automatic_conversion.html

Kodi addons depending on the script.module.future addon are crashing on
buildroot due to lib2to3 missing in the build.

LibreELEC added lib2to3 to python2 to fix the problem:
https://forum.libreelec.tv/thread/21239-lib2to3-pgen2-parse-missing/
https://github.com/LibreELEC/LibreELEC.tv/pull/4147

This patch provides the Config.in option to be used by Kodi.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-03-15 16:07:45 +01:00

140 lines
2.9 KiB
Plaintext

comment "python needs a toolchain w/ wchar, threads, dynamic library"
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
config BR2_PACKAGE_PYTHON
bool "python"
depends on BR2_USE_WCHAR
# uses fork()
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_THREADS # libffi
depends on !BR2_STATIC_LIBS
select BR2_PACKAGE_LIBFFI
help
The python language interpreter.
http://www.python.org/
if BR2_PACKAGE_PYTHON
choice
prompt "python module format to install"
default BR2_PACKAGE_PYTHON_PYC_ONLY
help
Select Python module format to install on target (py, pyc or
both)
config BR2_PACKAGE_PYTHON_PY_ONLY
bool ".py sources only"
config BR2_PACKAGE_PYTHON_PYC_ONLY
bool ".pyc compiled sources only"
config BR2_PACKAGE_PYTHON_PY_PYC
bool ".py sources and .pyc compiled"
endchoice
menu "core python modules"
comment "The following modules are unusual or require extra libraries"
config BR2_PACKAGE_PYTHON_2TO3
bool "2to3 module"
help
code translation from python 2 to 3
config BR2_PACKAGE_PYTHON_BZIP2
bool "bzip2 module"
select BR2_PACKAGE_BZIP2
help
bzip2 module for Python
config BR2_PACKAGE_PYTHON_BSDDB
bool "bsddb module"
select BR2_PACKAGE_BERKELEYDB
help
bsddb module for Python.
config BR2_PACKAGE_PYTHON_CODECSCJK
bool "codecscjk module"
help
Chinese/Japanese/Korean codecs module for Python (large).
config BR2_PACKAGE_PYTHON_CURSES
bool "curses module"
select BR2_PACKAGE_NCURSES
help
curses module for Python.
config BR2_PACKAGE_PYTHON_OSSAUDIODEV
bool "ossaudiodev module"
help
ossaudiodev module for Python.
config BR2_PACKAGE_PYTHON_READLINE
bool "readline"
select BR2_PACKAGE_READLINE
help
readline module for Python (required for command-line
editing in the Python shell).
config BR2_PACKAGE_PYTHON_SSL
bool "ssl"
select BR2_PACKAGE_OPENSSL
help
_ssl module for Python (required for https in urllib etc).
config BR2_PACKAGE_PYTHON_UNICODEDATA
bool "unicodedata module"
default y
help
Unicode character database (used by stringprep module)
(large).
if BR2_PACKAGE_PYTHON_UNICODEDATA
choice
prompt "Python unicode database format"
default BR2_PACKAGE_PYTHON_UCS2
help
Select Python unicode database format for target
config BR2_PACKAGE_PYTHON_UCS2
bool "Universal Character Set 2-byte (UCS2)"
config BR2_PACKAGE_PYTHON_UCS4
bool "Universal Character Set 4-byte (UCS4)"
endchoice
endif
config BR2_PACKAGE_PYTHON_SQLITE
bool "sqlite module"
select BR2_PACKAGE_SQLITE
help
SQLite database support
config BR2_PACKAGE_PYTHON_PYEXPAT
bool "xml module"
select BR2_PACKAGE_EXPAT
help
pyexpat and xml libraries for Python
config BR2_PACKAGE_PYTHON_ZLIB
bool "zlib module"
select BR2_PACKAGE_ZLIB
help
zlib support in Python
config BR2_PACKAGE_PYTHON_HASHLIB
bool "hashlib module"
select BR2_PACKAGE_OPENSSL
help
hashlib support in Python
endmenu
endif