meta-digi: add python recipes for Optee compilation

This commit adds python recipes from meta-imx required to build Optee support.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
This commit is contained in:
Mike Engel 2020-12-10 17:53:46 +01:00 committed by Gabriel Valcazar
parent f91a1d5ebe
commit 5a1f6a4167
8 changed files with 138 additions and 0 deletions

View File

@ -0,0 +1,27 @@
SUMMARY = "Python version of the NXP eRPC infrastructure"
DESCRIPTION = "eRPC (Embedded RPC) is an open source Remote Procedure Call (RPC) system for multichip embedded systems and heterogeneous multicore SoCs"
LICENSE = "BSD-3-Clause"
AUTHOR = "Jun Zhu <junzhu@nxp.com>"
RDEPENDS_${PN} = "python-pyserial python-enum34 python-argparse python-threading python-shell"
LIC_FILES_CHKSUM = "file://readme.md;md5=d3d754f8e1f07a15e65da588118bf793"
SRC_URI = "git://github.com/EmbeddedRPC/erpc.git;protocol=https;branch=develop"
SRCREV = "a5bb96821c111164defa6c8c932e189a8bcf86c2"
S = "${WORKDIR}/git/erpc_python"
PV = "1.7+git${SRCPV}"
inherit setuptools
do_configure[noexec] = "1"
do_compile_prepend () {
export IS_YOCTO="1"
}
do_install_prepend () {
export IS_YOCTO="1"
}

View File

@ -0,0 +1,23 @@
Index: pycrypto-2.6/setup.py
===================================================================
--- pycrypto-2.6.orig/setup.py
+++ pycrypto-2.6/setup.py
@@ -271,7 +271,8 @@ class PCTBuildConfigure(Command):
if not os.path.exists("config.status"):
if os.system("chmod 0755 configure") != 0:
raise RuntimeError("chmod error")
- cmd = "sh configure" # we use "sh" here so that it'll work on mingw32 with standard python.org binaries
+ host = os.environ.get("HOST_SYS")
+ cmd = "ac_cv_func_malloc_0_nonnull=yes sh configure --host " + host # we use "sh" here so that it'll work on mingw32 with standard python.org binaries
if self.verbose < 1:
cmd += " -q"
if os.system(cmd) != 0:
@@ -370,7 +371,7 @@ kw = {'name':"pycrypto",
'ext_modules': plat_ext + [
# _fastmath (uses GNU mp library)
Extension("Crypto.PublicKey._fastmath",
- include_dirs=['src/','/usr/include/'],
+ include_dirs=['src/'],
libraries=['gmp'],
sources=["src/_fastmath.c"]),

View File

@ -0,0 +1,34 @@
DESCRIPTION = "Cryptographic modules for Python."
HOMEPAGE = "http://www.pycrypto.org/"
SECTION = "devel/python"
LICENSE = "PSFv2"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=35f354d199e8cb7667b059a23578e63d"
SRCNAME = "pycrypto"
SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
file://cross-compiling.patch"
SRC_URI[md5sum] = "55a61a054aa66812daf5161a0d5d7eda"
SRC_URI[sha256sum] = "f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c"
S = "${WORKDIR}/${SRCNAME}-${PV}"
inherit autotools autotools-brokensep distutils
DEPENDS += " gmp"
export STAGING_INCDIR
export STAGING_LIBDIR
export BUILD_SYS
export HOST_SYS
# We explicitly call distutils_do_install, since we want it to run, but
# *don't* want the autotools install to run, since this package doesn't
# provide a "make install" target.
do_install() {
distutils_do_install
}
BBCLASSEXTEND = "native"

View File

@ -0,0 +1,31 @@
SUMMARY = "Cryptographic library for Python"
DESCRIPTION = "PyCryptodome is a self-contained Python package of low-level \
cryptographic primitives.\
This library is a fork of the pycrypto library. It can be installed as a drop-in replacement\
or an independent library that works along side pycrypto."
HOMEPAGE = "http://www.pycryptodome.org"
LICENSE = "PD & BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=6dc0e2a13d2f25d6f123c434b761faba"
SRC_URI[md5sum] = "46ba513d95b6e323734074d960a7d57b"
SRC_URI[sha256sum] = "22d970cee5c096b9123415e183ae03702b2cd4d3ba3f0ced25c4e1aba3967167"
inherit pypi
RDEPENDS_${PN} += " \
${PYTHON_PN}-io \
${PYTHON_PN}-math \
"
RDEPENDS_${PN}-tests += " \
${PYTHON_PN}-unittest \
"
PACKAGES =+ "${PN}-tests"
FILES_${PN}-tests += " \
${PYTHON_SITEPACKAGES_DIR}/Cryptodome/SelfTest/ \
${PYTHON_SITEPACKAGES_DIR}/Cryptodome/SelfTest/__pycache__/ \
"
BBCLASSEXTEND = "native nativesdk"

View File

@ -0,0 +1,12 @@
SUMMARY = "Python library and tools for doing stuff with EFL files."
DESCRIPTION = "Minimal but very flexible implementation of the expect pattern"
SECTION = "devel/python"
HOMEPAGE = " git://github.com/eliben/pyelftools"
LICENSE = "PD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5ce2a2b07fca326bc7c146d10105ccfc"
inherit pypi python3native
SRC_URI[sha256sum] = "89c6da6f56280c37a5ff33468591ba9a124e17d71fe42de971818cbff46c1b24"
BBCLASSEXTEND = "native nativesdk"

View File

@ -0,0 +1,7 @@
require python-pycryptodome.inc
inherit setuptools3
# This recipe install pycryptodome as an independent library.
do_configure_prepend () {
touch ${S}/.separate_namespace
}

View File

@ -0,0 +1,2 @@
inherit setuptools3
require python-pyelftools.inc

View File

@ -0,0 +1,2 @@
BBCLASSEXTEND = "native nativesdk"