From 29796322c23ce6b425cd0adce380391b70f492df Mon Sep 17 00:00:00 2001 From: Christopher Clark Date: Tue, 27 Jul 2021 17:07:39 -0700 Subject: lopper, python-dtc: add new recipes for device tree tools This device tree tooling is being added as a prequisite for enabling qemuboot with the Arm 64-bit version of the Xen hypervisor. lopper: a tool for performing operations on device tree files. A new recipe inspired by the original from meta-xilinx-bsp. python-dtc: a python library for the Device Tree compiler. This is a prerequisite for lopper. Updated import of recipe from meta-xilinx-bsp for the latest release, version 1.6.1. Signed-off-by: Christopher Clark Signed-off-by: Bruce Ashfield --- recipes-kernel/dtc/python3-dtc_1.6.1.bb | 28 ++++++++++++++++++++ recipes-kernel/lopper/lopper.bb | 45 +++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 recipes-kernel/dtc/python3-dtc_1.6.1.bb create mode 100644 recipes-kernel/lopper/lopper.bb (limited to 'recipes-kernel') diff --git a/recipes-kernel/dtc/python3-dtc_1.6.1.bb b/recipes-kernel/dtc/python3-dtc_1.6.1.bb new file mode 100644 index 00000000..90889314 --- /dev/null +++ b/recipes-kernel/dtc/python3-dtc_1.6.1.bb @@ -0,0 +1,28 @@ +SUMMARY = "Python Library for the Device Tree Compiler" +HOMEPAGE = "https://devicetree.org/" +DESCRIPTION = "A python library for the Device Tree Compiler, a tool used to manipulate Device Tree files which contain a data structure for describing hardware." +SECTION = "bootloader" +LICENSE = "GPLv2 | BSD" + +DEPENDS = "flex-native bison-native swig-native libyaml dtc" + +SRC_URI = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git" + +UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" + +LIC_FILES_CHKSUM = "file://pylibfdt/libfdt.i;beginline=1;endline=6;md5=afda088c974174a29108c8d80b5dce90" + +SRCREV = "ecaeb97fec013973360e94888a7de645f084345c" + +S = "${WORKDIR}/git" + +inherit distutils3 + +DISTUTILS_SETUP_PATH = "${S}/pylibfdt" + +do_configure_prepend() { + oe_runmake -C "${S}" version_gen.h + mv "${S}/version_gen.h" "${DISTUTILS_SETUP_PATH}/" +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-kernel/lopper/lopper.bb b/recipes-kernel/lopper/lopper.bb new file mode 100644 index 00000000..274d5b9a --- /dev/null +++ b/recipes-kernel/lopper/lopper.bb @@ -0,0 +1,45 @@ +SUMMARY = "Device Tree Lopper" +DESCRIPTION = "Tool for manipulation of system device tree files" +LICENSE = "BSD-3-Clause" +SECTION = "bootloader" + +SRC_URI = "git://github.com/devicetree-org/lopper.git" +SRCREV = "0c23e51d585608ab04009ccf3499f168e2f4d478" +S = "${WORKDIR}/git" + +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=8e5f5f691f01c9fdfa7a7f2d535be619" + +RDEPENDS_${PN} = " \ + python3-core \ + python3-dtc \ + python3-humanfriendly \ + " + +do_install() { + install -d "${D}/${bindir}" + install -d "${D}/${datadir}/${BPN}" + + install -m 0644 "${S}/README" "${D}/${datadir}/${BPN}" + install -m 0644 "${S}/README-architecture.txt" "${D}/${datadir}/${BPN}" + install -m 0644 "${S}/README.pydoc" "${D}/${datadir}/${BPN}" + install -m 0644 "${S}/LICENSE.md" "${D}/${datadir}/${BPN}" + + install -d "${D}/${datadir}/${BPN}/assists" + install -m 0644 "${S}/assists/"* "${D}/${datadir}/${BPN}/assists/" + + install -d "${D}/${datadir}/${BPN}/lops" + install -m 0644 "${S}/lops/"* "${D}/${datadir}/${BPN}/lops/" + + install -d "${D}/${datadir}/${BPN}/device-trees" + install -m 0644 "${S}/device-trees/"* "${D}/${datadir}/${BPN}/device-trees/" + + install -m 0755 "${S}/"lopper*.py "${D}/${datadir}/${BPN}/" + + datadir_relpath=${@os.path.relpath(d.getVar('datadir'), d.getVar('bindir'))} + ln -s "${datadir_relpath}/${BPN}/lopper.py" "${D}/${bindir}/" +} + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf