mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-17 01:54:22 +00:00

This change fixes several breakages that were introduced in some build configurations by the introduction of the cot-dt2c tool. Some Python environments cannot be managed directly via `pip`, and invocations of `make`, including `make distclean`, would cause errors along the lines of: error: externally-managed-environment × This environment is externally managed ╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install. This change has been resolved by ensuring that calls to the cot-dt2c tool from the build system happen exclusively through Poetry, which automatically sets up a virtual environment that *can* be modified. Some environments saw the following error when building platforms where the cot-dt2c tool was used: make: *** No rule to make target '<..>/debug/bl2_cot.c', needed by '<..>/debug/bl2/bl2_cot.o'. Stop. Additionally, environments with a more recent version of Python saw the following error: File "<...>/lib/python3.12/site-packages/cot_dt2c/cot_parser.py", line 637, in img_to_c if ifdef: ^^^^^ NameError: name 'ifdef' is not defined Both of these errors have now been resolved by modifications to the build system and the cot-dt2c tool to enable preprocessing of the device tree source file before it is processed by the tool. As a consequence of this change, the `pydevicetree` library is no longer vendored into the repository tree, and we instead pull it in via a dependency in Poetry. This change also resolves several MyPy warnings and errors related to missing type hints. Change-Id: I72b2d01caca3fcb789d3fe2549f318a9c92d77d1 Signed-off-by: Chris Kay <chris.kay@arm.com>
38 lines
856 B
TOML
38 lines
856 B
TOML
[tool.poetry]
|
|
name = "trusted-firmware-a"
|
|
version = "2.11.0"
|
|
description = "Trusted Firmware-A (TF-A) Python dependencies."
|
|
authors = ["Arm Ltd."]
|
|
license = "BSD-3-Clause"
|
|
readme = "readme.rst"
|
|
packages = [
|
|
{ include = "memory", from = "tools/memory"}
|
|
]
|
|
|
|
[tool.poetry.scripts]
|
|
memory = "memory.memmap:main"
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.8"
|
|
cot-dt2c = {path = "tools/cot_dt2c", develop = true}
|
|
tlc = {path = "tools/tlc"}
|
|
|
|
[tool.poetry.group.docs]
|
|
optional = true
|
|
|
|
[tool.poetry.group.docs.dependencies]
|
|
sphinx = "^5.3.0"
|
|
myst-parser = "^0.18.1"
|
|
sphinxcontrib-plantuml = "^0.24.1"
|
|
sphinx-rtd-theme = "^1.1.1"
|
|
pip-tools = "^6.4.0"
|
|
sphinxcontrib-svg2pdfconverter = "^1.2.2"
|
|
|
|
[tool.poetry.group.ci.dependencies]
|
|
click = "^8.1.3"
|
|
|
|
[tool.poetry.group.memory.dependencies]
|
|
pyelftools = "^0.29"
|
|
anytree = "^2.8.0"
|
|
click = "^8.1.3"
|
|
prettytable = "^3.5.0"
|