![Adam Duskett](/assets/img/avatar_default.png)
Other changes include: - Refreshing all necessary patches for 3.7.0 - Add a hash for the license file. - Python no longer has it's own internal libffi, as such, host-libffi is now required to build host-python3, and is added as a dependency. - Drop PYTHON3_LIBTOOL_PATCH = NO, since there is no longer any internal libffi copy that was causing the libtool patching process to fail. - A new core module "uuid" is now is added in the Config.in file, and relies on util-linux's uuid library. - Also, a new patch: 0030-Fix-cross-compiling-the-uuid-module.patch is required to fix compiling the uuid module, because the include directory search path for uuid.h is hardcoded to /usr/include/uuid, which causes an "unsafe for cross-compilation" error during compiling if the host pc has uuid headers installed. - 0031-Add-an-option-to-disable-uuid-module.patch is added to allow disabling the Python3 UUID module, so that when BR2_PACKAGE_PYTHON3_UUID is disabled by the UUID library is present, the uuid Python module is not built, as expected. - 0032-fix-building-on-older-distributions.patch is added to change os.replace by os.rename in the update_file.py script to fix building on older Linux distributions that have older versions of python that don't include os.replace. os.rename acts in the same way as os.replace, but is cross-platform compatible. Because Buildroot is guaranteed to be built in a POSIX environment, it is safe to change replace to rename. Tested on CentOS6 and Fedora28, All test results passed: br-arm-full [1/6]: OK br-arm-cortex-a9-glibc [2/6]: OK br-arm-cortex-m4-full [3/6]: SKIPPED br-x86-64-musl [4/6]: OK br-arm-full-static [5/6]: SKIPPED armv5-ctng-linux-gnueabi [6/6]: OK 6 builds, 2 skipped, 0 build failed, 0 legal-info failed Signed-off-by: Adam Duskett <aduskett@gmail.com> [Thomas: - remove PYTHON3_LIBTOOL_PATCH = NO - improve the solution in patch 0030-Fix-cross-compiling-the-uuid-module - add patch 0031-Add-an-option-to-disable-uuid-module] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
128 lines
2.8 KiB
Plaintext
128 lines
2.8 KiB
Plaintext
comment "python3 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_PYTHON3
|
|
bool "python3"
|
|
depends on !BR2_PACKAGE_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_PYTHON3
|
|
|
|
choice
|
|
prompt "python3 module format to install"
|
|
default BR2_PACKAGE_PYTHON3_PYC_ONLY
|
|
help
|
|
Select Python module format to install on target (py, pyc or
|
|
both)
|
|
|
|
config BR2_PACKAGE_PYTHON3_PY_ONLY
|
|
bool ".py sources only"
|
|
|
|
config BR2_PACKAGE_PYTHON3_PYC_ONLY
|
|
bool ".pyc compiled sources only"
|
|
|
|
config BR2_PACKAGE_PYTHON3_PY_PYC
|
|
bool ".py sources and .pyc compiled"
|
|
|
|
endchoice
|
|
|
|
menu "core python3 modules"
|
|
|
|
comment "The following modules are unusual or require extra libraries"
|
|
|
|
config BR2_PACKAGE_PYTHON3_BZIP2
|
|
bool "bz2 module"
|
|
select BR2_PACKAGE_BZIP2
|
|
help
|
|
bzip2 module for Python3
|
|
|
|
config BR2_PACKAGE_PYTHON3_CODECSCJK
|
|
bool "codecscjk module"
|
|
help
|
|
Chinese/Japanese/Korean codecs module for Python (large).
|
|
|
|
config BR2_PACKAGE_PYTHON3_CURSES
|
|
bool "curses module"
|
|
select BR2_PACKAGE_NCURSES
|
|
help
|
|
curses module for Python3.
|
|
|
|
config BR2_PACKAGE_PYTHON3_DECIMAL
|
|
bool "decimal module"
|
|
select BR2_PACKAGE_MPDECIMAL
|
|
help
|
|
decimal module for Python3.
|
|
|
|
config BR2_PACKAGE_PYTHON3_OSSAUDIODEV
|
|
bool "ossaudiodev module"
|
|
help
|
|
ossaudiodev module for Python3.
|
|
|
|
config BR2_PACKAGE_PYTHON3_READLINE
|
|
bool "readline"
|
|
select BR2_PACKAGE_READLINE
|
|
help
|
|
readline module for Python3 (required for command-line
|
|
editing in the Python shell).
|
|
|
|
config BR2_PACKAGE_PYTHON3_SSL
|
|
bool "ssl"
|
|
select BR2_PACKAGE_OPENSSL
|
|
help
|
|
_ssl module for Python3 (required for https in urllib etc).
|
|
|
|
config BR2_PACKAGE_PYTHON3_UNICODEDATA
|
|
bool "unicodedata module"
|
|
default y
|
|
help
|
|
Unicode character database (used by stringprep module)
|
|
(large).
|
|
|
|
config BR2_PACKAGE_PYTHON3_UUID
|
|
bool "uuid module"
|
|
select BR2_PACKAGE_UTIL_LINUX
|
|
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
|
|
help
|
|
This module provides immutable UUID objects (the UUID class)
|
|
and the functions uuid1(), uuid3(), uuid4(), uuid5() for
|
|
generating version 1, 3, 4, and 5 UUIDs as specified in RFC
|
|
4122.
|
|
|
|
config BR2_PACKAGE_PYTHON3_SQLITE
|
|
bool "sqlite module"
|
|
select BR2_PACKAGE_SQLITE
|
|
help
|
|
SQLite database support
|
|
|
|
config BR2_PACKAGE_PYTHON3_PYEXPAT
|
|
bool "xml module"
|
|
select BR2_PACKAGE_EXPAT
|
|
help
|
|
pyexpat and xml libraries for Python3.
|
|
|
|
config BR2_PACKAGE_PYTHON3_XZ
|
|
bool "xz module"
|
|
select BR2_PACKAGE_XZ
|
|
help
|
|
xz (a.k.a lzma) module for Python3
|
|
|
|
config BR2_PACKAGE_PYTHON3_ZLIB
|
|
bool "zlib module"
|
|
select BR2_PACKAGE_ZLIB
|
|
help
|
|
zlib support in Python3
|
|
|
|
endmenu
|
|
|
|
endif
|