diff --git a/yocto_recipes/meta-beremiz/conf/layer.conf b/yocto_recipes/meta-beremiz/conf/layer.conf new file mode 100644 index 0000000..bdf1f42 --- /dev/null +++ b/yocto_recipes/meta-beremiz/conf/layer.conf @@ -0,0 +1,13 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have recipes-* directories, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "meta-beremiz" +BBFILE_PATTERN_meta-beremiz = "^${LAYERDIR}/" +BBFILE_PRIORITY_meta-beremiz = "9" + +LAYERDEPENDS_meta-beremiz = "core" +LAYERSERIES_COMPAT_meta-beremiz = "honister" diff --git a/yocto_recipes/meta-beremiz/instructions.txt b/yocto_recipes/meta-beremiz/instructions.txt new file mode 100644 index 0000000..89dd4ba --- /dev/null +++ b/yocto_recipes/meta-beremiz/instructions.txt @@ -0,0 +1,35 @@ +# meta-beremiz +Yocto layer for beremiz_runtime : Below is the procedure to get started. + +Please leave a message if you would like to add new feature or request a new feature. We would be happy to know. + +This is Yocto layer for building an Yocto based image for raspberry pi which contains beremiz runtime. When this layer is included in yocto build then the resulting image is having all dependencies and runtime files necessary for beremiz runtime. + +Steps : + +Prerequisites : This is tested on Ubuntu 20.0 and Yocto branch of honister on Host. Target was raspberry-pi4 64 bit image + +In first step User has to have a Yocto build setup which can build successful image for e.g core-image-base, and it should boot properly on raspberry pi4. This procedure on how to setup Yocto is out of scope of this article. + +User has to clone this repository i.e meta-beremiz on host machine + +Then user can add this layer to his yocto build using command bitbake-layers add-layer ../sources/meta- Use the path where the repo is cloned. + +User has to clone beremiz repository from git clone https://github.com/beremiz/beremiz + +From the cloned repository, This Layer will automatically pickup all necessary runtime files + +Open the local.conf file: at yocto/build/conf/local.conf and add the line IMAGE_INSTALL_append += " meta-beremiz" + +build the image using command bitbake core-image-base + +Once build is sucessful, Burn the SD card and boot this image. + +Login to raspberrypi4 using root user and no password + +To start runtime set the IP address of your choice and give below command +python3 /usr/bin/Beremiz/Beremiz_service.py -p 61194 -i 10.91.20.222 -x 0 -a 1 /usr/bin/beremiz_runtime_workdir + +Your runtime should start and now you can use beremiz IDE to write sample program and upload to raspberry pi4 + +To do for future - Autostart runtime on power cycle, add preemp-rt patch to web browser in kiosk mode for GUI support. \ No newline at end of file diff --git a/yocto_recipes/meta-beremiz/recipes-connectivity/python-pyro5/python3-pyro5_5.14.bb b/yocto_recipes/meta-beremiz/recipes-connectivity/python-pyro5/python3-pyro5_5.14.bb new file mode 100644 index 0000000..bf79e04 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-connectivity/python-pyro5/python3-pyro5_5.14.bb @@ -0,0 +1,15 @@ +SUMMARY = "Python Remote Objects" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c1c9ccd5f4ca5d0f5057c0e690a0153d" + +SRC_URI[md5sum] = "477f4d5befa49ff39b225c894ad8bb4b" +SRC_URI[sha256sum] = "64fdce137b0fe532e88614d246b7c98bbe0a4f426786c524539acdc5e694086a" + +PYPI_PACKAGE = "Pyro5" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += " \ + ${PYTHON_PN}-serpent \ + ${PYTHON_PN}-wheel \ +" diff --git a/yocto_recipes/meta-beremiz/recipes-core/images/beremiz-runtime-image.bb b/yocto_recipes/meta-beremiz/recipes-core/images/beremiz-runtime-image.bb new file mode 100644 index 0000000..13e240d --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-core/images/beremiz-runtime-image.bb @@ -0,0 +1,19 @@ +SUMMARY = "A console-only image for raspberrypi4 with beremiz_runtime." + +LICENSE = "MIT" + +inherit core-image +require recipes-core/images/core-image-base.bb + +IMAGE_FEATURES += "ssh-server-openssh" + +RDEPENDS_${PN} = "\ + python3-pip \ + python3-autobahn \ + python3-ifaddr \ + python3-msgpack \ + python3-nevow-py3 \ + python3-pyro5 \ + python3-zeroconf \ + python3-zope.interface \ +" diff --git a/yocto_recipes/meta-beremiz/recipes-core/python-beremiz/python-beremiz_1.0.bb b/yocto_recipes/meta-beremiz/recipes-core/python-beremiz/python-beremiz_1.0.bb new file mode 100644 index 0000000..5a0b3a0 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-core/python-beremiz/python-beremiz_1.0.bb @@ -0,0 +1,41 @@ +DESCRIPTION = "Beremiz Runtime python based" +SECTION = "Runtime for PLC" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRC_URI = "git://github.com/Nabeel3007/python-beremiz.git;protocol=https;branch=master" + +SRCREV = "${AUTOREV}" + +S = "${WORKDIR}/git" + +do_install:append () { + install -d ${D}${bindir}/beremiz_runtime_workdir + install -d ${D}${bindir}/Beremiz + install -m 0755 beremiz/Beremiz_service.py ${D}${bindir}/Beremiz + install -m 0755 beremiz/version.py ${D}${bindir}/Beremiz + install -d ${D}${bindir}/Beremiz/images + install -m 0755 beremiz/images/brz.png ${D}${bindir}/Beremiz/images + install -m 0755 beremiz/images/icoplay24.png ${D}${bindir}/Beremiz/images + install -m 0755 beremiz/images/icostop24.png ${D}${bindir}/Beremiz/images + install -d ${D}${bindir}/Beremiz/runtime + install -m 0755 beremiz/runtime/__init__.py ${D}${bindir}/Beremiz/runtime + install -m 0755 beremiz/runtime/loglevels.py ${D}${bindir}/Beremiz/runtime + install -m 0755 beremiz/runtime/monotonic_time.py ${D}${bindir}/Beremiz/runtime + install -m 0755 beremiz/runtime/NevowServer.py ${D}${bindir}/Beremiz/runtime + install -m 0755 beremiz/runtime/PLCObject.py ${D}${bindir}/Beremiz/runtime + install -m 0755 beremiz/runtime/PlcStatus.py ${D}${bindir}/Beremiz/runtime + install -m 0755 beremiz/runtime/PyroServer.py ${D}${bindir}/Beremiz/runtime + install -m 0755 beremiz/runtime/ServicePublisher.py ${D}${bindir}/Beremiz/runtime + install -m 0755 beremiz/runtime/spawn_subprocess.py ${D}${bindir}/Beremiz/runtime + install -m 0755 beremiz/runtime/Stunnel.py ${D}${bindir}/Beremiz/runtime + install -m 0755 beremiz/runtime/typemapping.py ${D}${bindir}/Beremiz/runtime + install -m 0755 beremiz/runtime/WampClient.py ${D}${bindir}/Beremiz/runtime + install -m 0755 beremiz/runtime/webinterface.css ${D}${bindir}/Beremiz/runtime + install -m 0755 beremiz/runtime/webinterface.js ${D}${bindir}/Beremiz/runtime + install -m 0755 beremiz/runtime/Worker.py ${D}${bindir}/Beremiz/runtime + install -m 0755 beremiz/runtime/xenomai.py ${D}${bindir}/Beremiz/runtime + install -d ${D}${bindir}/Beremiz/util + install -m 0755 beremiz/util/__init__.py ${D}${bindir}/Beremiz/util + install -m 0755 beremiz/util/paths.py ${D}${bindir}/Beremiz/util +} diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/nevow/python3-nevow-py3_0.1.bb b/yocto_recipes/meta-beremiz/recipes-devtools/nevow/python3-nevow-py3_0.1.bb new file mode 100644 index 0000000..70badf5 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/nevow/python3-nevow-py3_0.1.bb @@ -0,0 +1,18 @@ +SUMMARY = "Web Application Construction Kit" +HOMEPAGE = "https://github.com/beremiz/nevow-py3" +LICENSE = "CLOSED" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=50ad7cdebd8c5f7f1362c4adb8856265" + +SRC_URI = "git://github.com/beremiz/nevow-py3.git;protocol=https" +SRC_URI[sha256sum] = "3b1a0cdada1d47b896cfb3f5ee27aae5fd7a3896c6feb69c8406802cac9f2a86" + +SRCREV = "${AUTOREV}" + +S = "${WORKDIR}/git" + +inherit setuptools3 + + + + diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-async-timeout_4.0.3.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-async-timeout_4.0.3.bb new file mode 100644 index 0000000..7830eea --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-async-timeout_4.0.3.bb @@ -0,0 +1,16 @@ + +SUMMARY = "Timeout context manager for asyncio programs" +HOMEPAGE = "https://github.com/aio-libs/async-timeout" +AUTHOR = "Andrew Svetlov " +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4fa41f15bb5f23b6d3560c5845eb8d57" + +SRC_URI = "https://files.pythonhosted.org/packages/87/d6/21b30a550dafea84b1b8eee21b5e23fa16d010ae006011221f33dcd8d7f8/async-timeout-4.0.3.tar.gz" +SRC_URI[md5sum] = "9bf7b764a7310cb063c1c261c21342e4" +SRC_URI[sha256sum] = "4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f" + +S = "${WORKDIR}/async-timeout-4.0.3" + +RDEPENDS_${PN} = "" + +inherit pypi setuptools3 diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-attrs_23.1.0.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-attrs_23.1.0.bb new file mode 100644 index 0000000..8eae8f8 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-attrs_23.1.0.bb @@ -0,0 +1,9 @@ +DESCRIPTION = "Simple decorator to set attributes of target function or class in a DRY way" +HOMEPAGE = "https://github.com/denis-ryzhkov/attr" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5e55731824cf9205cfabeab9a0600887" + +SRC_URI[md5sum] = "6623fed7ffa22261ba25fccaf4d99539" +SRC_URI[sha256sum] = "6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015" + +inherit pypi setuptools3 diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-autobahn_23.1.2.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-autobahn_23.1.2.bb new file mode 100644 index 0000000..f1c777a --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-autobahn_23.1.2.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "WebSocket client & server library, WAMP real-time framework" +HOMEPAGE = "http://crossbar.io/autobahn" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3e2c2c2cc2915edc5321b0e6b1d3f5f8" + +SRC_URI = "https://files.pythonhosted.org/packages/92/ee/c3320c326919394ff597592549ff5d29d2f7bf12be9ddaa9017caff1a170/autobahn-23.1.2.tar.gz" + +SRC_URI[md5sum] = "55cd275bc3d9c7e354f4b6a87b87f466" +SRC_URI[sha256sum] = "c5ef8ca7422015a1af774a883b8aef73d4954c9fcd182c9b5244e08e973f7c3a" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += " \ + ${PYTHON_PN}-async-timeout \ + ${PYTHON_PN}-asyncio \ + ${PYTHON_PN}-txaio \ + ${PYTHON_PN}-six \ +" + +BBCLASSEXTEND = "nativesdk" diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-automat_22.10.0.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-automat_22.10.0.bb new file mode 100644 index 0000000..b9814f0 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-automat_22.10.0.bb @@ -0,0 +1,19 @@ + +SUMMARY = "Self-service finite-state machines for the programmer on the go." +HOMEPAGE = "https://github.com/glyph/Automat" +AUTHOR = "Glyph " +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4ad213bcca81688e94593e5f60c87477" + +SRC_URI = "https://files.pythonhosted.org/packages/7a/7b/9c3d26d8a0416eefbc0428f168241b32657ca260fb7ef507596ff5c2f6c4/Automat-22.10.0.tar.gz" +SRC_URI[md5sum] = "b8064994239aabb172748f984489ce75" +SRC_URI[sha256sum] = "e56beb84edad19dcc11d30e8d9b895f75deeb5ef5e96b84a467066b3b84bb04e" + +S = "${WORKDIR}/Automat-22.10.0" + +RDEPENDS_${PN} = " \ + ${PYTHON_PN}-attrs \ + ${PYTHON_PN}-six \ +" + +inherit pypi setuptools3 diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-cffi_1.16.0.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-cffi_1.16.0.bb new file mode 100644 index 0000000..a239005 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-cffi_1.16.0.bb @@ -0,0 +1,17 @@ + +SUMMARY = "Foreign Function Interface for Python calling C code." +HOMEPAGE = "http://cffi.readthedocs.org" +AUTHOR = "Armin Rigo, Maciej Fijalkowski " +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5677e2fdbf7cdda61d6dd2b57df547bf" + +SRC_URI = "https://files.pythonhosted.org/packages/68/ce/95b0bae7968c65473e1298efb042e10cafc7bafc14d9e4f154008241c91d/cffi-1.16.0.tar.gz" +SRC_URI[md5sum] = "0bcaed453da3004d0bea103038345c1e" +SRC_URI[sha256sum] = "bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0" + +S = "${WORKDIR}/cffi-1.16.0" + +RDEPENDS_${PN} = " \ +" + +inherit pypi setuptools3 diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-constantly_23.10.4.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-constantly_23.10.4.bb new file mode 100644 index 0000000..4fcb24e --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-constantly_23.10.4.bb @@ -0,0 +1,16 @@ + +SUMMARY = "Symbolic constants in Python" +HOMEPAGE = "" +AUTHOR = " <>" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e393e4ddd223e3a74982efa784f89fd7" + +SRC_URI = "https://files.pythonhosted.org/packages/4d/6f/cb2a94494ff74aa9528a36c5b1422756330a75a8367bf20bd63171fc324d/constantly-23.10.4.tar.gz" +SRC_URI[md5sum] = "c090579309b2b34be04385b54b0a5a85" +SRC_URI[sha256sum] = "aa92b70a33e2ac0bb33cd745eb61776594dc48764b06c35e0efd050b7f1c7cbd" + +S = "${WORKDIR}/constantly-23.10.4" + +RDEPENDS_${PN} = "" + +inherit pypi setuptools3 diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-cryptography_41.0.7.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-cryptography_41.0.7.bb new file mode 100644 index 0000000..b6c1ca5 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-cryptography_41.0.7.bb @@ -0,0 +1,19 @@ + +SUMMARY = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." +HOMEPAGE = "" +AUTHOR = " >" +LICENSE = "" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4" + +SRC_URI = "https://files.pythonhosted.org/packages/ce/b3/13a12ea7edb068de0f62bac88a8ffd92cc2901881b391839851846b84a81/cryptography-41.0.7.tar.gz" +SRC_URI[md5sum] = "c06f01c4bc95327c2e4378589ed5a193" +SRC_URI[sha256sum] = "13f93ce9bea8016c253b34afc6bd6a75993e5c40672ed5405a9c832f0d4a00bc" + +S = "${WORKDIR}/cryptography-41.0.7" + +RDEPENDS_${PN} = " \ + ${PYTHON_PN}-cffi \ + ${PYTHON_PN}-pycparser \ +" + +inherit pypi setuptools3 diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-hyperlink_21.0.0.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-hyperlink_21.0.0.bb new file mode 100644 index 0000000..d824081 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-hyperlink_21.0.0.bb @@ -0,0 +1,16 @@ + +SUMMARY = "A featureful, immutable, and correct URL for Python." +HOMEPAGE = "https://github.com/python-hyper/hyperlink" +AUTHOR = "Mahmoud Hashemi and Glyph Lefkowitz " +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6dc5b4bd3d02faedf08461621aa2aeca" + +SRC_URI = "https://files.pythonhosted.org/packages/3a/51/1947bd81d75af87e3bb9e34593a4cf118115a8feb451ce7a69044ef1412e/hyperlink-21.0.0.tar.gz" +SRC_URI[md5sum] = "6285ac13e7d6be4157698ad7960ed490" +SRC_URI[sha256sum] = "427af957daa58bc909471c6c40f74c5450fa123dd093fc53efd2e91d2705a56b" + +S = "${WORKDIR}/hyperlink-21.0.0" + +RDEPENDS_${PN} = "" + +inherit pypi setuptools3 diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-idna_3.6.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-idna_3.6.bb new file mode 100644 index 0000000..5821c5e --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-idna_3.6.bb @@ -0,0 +1,16 @@ + +SUMMARY = "Internationalized Domain Names in Applications (IDNA)" +HOMEPAGE = "" +AUTHOR = " >" +LICENSE = "" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=dbec47b98e1469f6a104c82ff9698cee" + +SRC_URI = "https://files.pythonhosted.org/packages/bf/3f/ea4b9117521a1e9c50344b909be7886dd00a519552724809bb1f486986c2/idna-3.6.tar.gz" +SRC_URI[md5sum] = "70f4beef4feb196ac64b75a93271f53c" +SRC_URI[sha256sum] = "9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca" + +S = "${WORKDIR}/idna-3.6" + +RDEPENDS_${PN} = "" + +inherit pypi setuptools3 diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-ifaddr_0.2.0.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-ifaddr_0.2.0.bb new file mode 100644 index 0000000..ddcda0b --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-ifaddr_0.2.0.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "Cross-platform network interface and IP address enumeration \ +library" +HOMEPAGE = "https://pypi.org/project/ifaddr/" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8debe8d42320ec0ff24665319b625a5e" + +SRC_URI[md5sum] = "b1cac02b5dc354d68dd6d853bc9565a7" +SRC_URI[sha256sum] = "cc0cbfcaabf765d44595825fb96a99bb12c79716b73b44330ea38ee2b0c4aed4" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += " \ +" diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-incremental_22.10.0.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-incremental_22.10.0.bb new file mode 100644 index 0000000..3952e8c --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-incremental_22.10.0.bb @@ -0,0 +1,16 @@ + +SUMMARY = ""A small library that versions your Python projects."" +HOMEPAGE = "https://github.com/twisted/incremental" +AUTHOR = " <>" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6ca9b07f08e2c72d48c74d363d1e0e15" + +SRC_URI = "https://files.pythonhosted.org/packages/86/42/9e87f04fa2cd40e3016f27a4b4572290e95899c6dce317e2cdb580f3ff09/incremental-22.10.0.tar.gz" +SRC_URI[md5sum] = "9fffa2490ca649550c79a78e85ef2eef" +SRC_URI[sha256sum] = "912feeb5e0f7e0188e6f42241d2f450002e11bbc0937c65865045854c24c0bd0" + +S = "${WORKDIR}/incremental-22.10.0" + +RDEPENDS_${PN} = "" + +inherit pypi setuptools3 diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-msgpack/run-ptest b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-msgpack/run-ptest new file mode 100644 index 0000000..5cec711 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-msgpack/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-msgpack_1.0.5.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-msgpack_1.0.5.bb new file mode 100644 index 0000000..4af5374 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-msgpack_1.0.5.bb @@ -0,0 +1,21 @@ +SUMMARY = "MessagePack (de)serializer" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751" + +PYPI_PACKAGE = "msgpack" + +inherit pypi setuptools3 + +SRC_URI[md5sum] = "da12a9f0a65a803ec005219f6095d0a3" +SRC_URI[sha256sum] = "c075544284eadc5cddc70f4757331d99dcbc16b2bbd4849d15f8aae4cf36d31c" + +RDEPENDS:${PN}:class-target += "\ + ${PYTHON_PN}-io \ +" + +BBCLASSEXTEND = "native nativesdk" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/test + cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/ +} diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-nevow-py3_0.14.5.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-nevow-py3_0.14.5.bb new file mode 100644 index 0000000..bcdbebf --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-nevow-py3_0.14.5.bb @@ -0,0 +1,19 @@ +SUMMARY = "Interface definitions for Zope products" +HOMEPAGE = "https://github.com/beremiz/nevow-py3" +LICENSE = "" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=c433166efeddc545cf06b0677ffa79ee" + +SRC_URI = "https://github.com/beremiz/nevow-py3.git;branch=master" +SRC_URI[sha256sum] = "8452c8986b5090ffb4c204f0bddc7e8700ed6fd5" + +SRCREV = "8452c8986b5090ffb4c204f0bddc7e8700ed6fd5" + +S = "${WORKDIR}/git" + +RDEPENDS_${PN} = "" + +inherit setuptools3 + + + diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-pip_23.3.2.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-pip_23.3.2.bb new file mode 100644 index 0000000..7f8ea7a --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-pip_23.3.2.bb @@ -0,0 +1,16 @@ + +SUMMARY = "The PyPA recommended tool for installing Python packages." +HOMEPAGE = "https://pip.pypa.io/" +AUTHOR = "The pip developers " +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=63ec52baf95163b597008bb46db68030" + +SRC_URI = "https://files.pythonhosted.org/packages/b7/06/6b1ad0ae8f97d7a0d6f6ad640db10780578999e647a9593512ceb6f06469/pip-23.3.2.tar.gz" +SRC_URI[md5sum] = "38dd5f7ab301167df063405c7fc16c84" +SRC_URI[sha256sum] = "7fd9972f96db22c8077a1ee2691b172c8089b17a5652a44494a9ecb0d78f9149" + +S = "${WORKDIR}/pip-23.3.2" + +RDEPENDS_${PN} = "" + +inherit pypi setuptools3 diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-pycparser_2.21.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-pycparser_2.21.bb new file mode 100644 index 0000000..ffe3ae5 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-pycparser_2.21.bb @@ -0,0 +1,16 @@ + +SUMMARY = "C parser in Python" +HOMEPAGE = "https://github.com/eliben/pycparser" +AUTHOR = "Eli Bendersky " +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2c28cdeabcb88f5843d934381b4b4fea" + +SRC_URI = "https://files.pythonhosted.org/packages/5e/0b/95d387f5f4433cb0f53ff7ad859bd2c6051051cebbb564f139a999ab46de/pycparser-2.21.tar.gz" +SRC_URI[md5sum] = "48f7d743bf018f7bb2ffc5fb976d1492" +SRC_URI[sha256sum] = "e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206" + +S = "${WORKDIR}/pycparser-2.21" + +RDEPENDS_${PN} = "" + +inherit pypi setuptools3 diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-python-dateutil_2.8.2.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-python-dateutil_2.8.2.bb new file mode 100644 index 0000000..ece33d9 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-python-dateutil_2.8.2.bb @@ -0,0 +1,16 @@ + +SUMMARY = "Extensions to the standard Python datetime module" +HOMEPAGE = "https://github.com/dateutil/dateutil" +AUTHOR = "Gustavo Niemeyer " +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e3155c7bdc71f66e02678411d2abf996" + +SRC_URI = "https://files.pythonhosted.org/packages/4c/c4/13b4776ea2d76c115c1d1b84579f3764ee6d57204f6be27119f13a61d0a9/python-dateutil-2.8.2.tar.gz" +SRC_URI[md5sum] = "5970010bb72452344df3d76a10281b65" +SRC_URI[sha256sum] = "0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86" + +S = "${WORKDIR}/python-dateutil-2.8.2" + +RDEPENDS_${PN} = "python3-six" + +inherit pypi setuptools3 diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-serpent/run-ptest b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-serpent/run-ptest new file mode 100644 index 0000000..b63c4de --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-serpent/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-serpent_1.41.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-serpent_1.41.bb new file mode 100644 index 0000000..899aed1 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-serpent_1.41.bb @@ -0,0 +1,25 @@ +SUMMARY = "Serialization based on ast.literal_eval" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d7c28f460fafe7be454fcdcac0b60263" + +SRC_URI[md5sum] = "c0ddaba7d2625631968bec8553ab95b1" +SRC_URI[sha256sum] = "0407035fe3c6644387d48cff1467d5aa9feff814d07372b78677ed0ee3ed7095" + +inherit pypi setuptools3 + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS:${PN}-ptest += " \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +RDEPENDS:${PN} += "\ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-numbers \ +" diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-setuptools_69.0.3.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-setuptools_69.0.3.bb new file mode 100644 index 0000000..12041ad --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-setuptools_69.0.3.bb @@ -0,0 +1,16 @@ + +SUMMARY = "Easily download, build, install, upgrade, and uninstall Python packages" +HOMEPAGE = "https://github.com/pypa/setuptools" +AUTHOR = "Python Packaging Authority " +LICENSE = "" +LIC_FILES_CHKSUM = "file://LICENSE;md5=141643e11c48898150daa83802dbc65f" + +SRC_URI = "https://files.pythonhosted.org/packages/fc/c9/b146ca195403e0182a374e0ea4dbc69136bad3cd55bc293df496d625d0f7/setuptools-69.0.3.tar.gz" +SRC_URI[md5sum] = "b82de45aaa6b9bb911226660212ebb83" +SRC_URI[sha256sum] = "be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78" + +S = "${WORKDIR}/setuptools-69.0.3" + +RDEPENDS_${PN} = "" + +inherit pypi setuptools3 diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-six_1.16.0.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-six_1.16.0.bb new file mode 100644 index 0000000..1ee6873 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-six_1.16.0.bb @@ -0,0 +1,16 @@ + +SUMMARY = "Python 2 and 3 compatibility utilities" +HOMEPAGE = "https://github.com/benjaminp/six" +AUTHOR = "Benjamin Peterson " +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=43cfc9e4ac0e377acfb9b76f56b8415d" + +SRC_URI = "https://files.pythonhosted.org/packages/71/39/171f1c67cd00715f190ba0b100d606d440a28c93c7714febeca8b79af85e/six-1.16.0.tar.gz" +SRC_URI[md5sum] = "a7c927740e4964dd29b72cebfc1429bb" +SRC_URI[sha256sum] = "1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926" + +S = "${WORKDIR}/six-1.16.0" + +RDEPENDS_${PN} = "" + +inherit pypi setuptools3 diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-twisted_23.10.0.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-twisted_23.10.0.bb new file mode 100644 index 0000000..9ff1180 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-twisted_23.10.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "An asynchronous networking framework written in Python" +HOMEPAGE = "https://github.com/twisted/twisted" +AUTHOR = "Twisted Matrix Laboratories" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRC_URI = "https://files.pythonhosted.org/packages/6e/d3/077ece8f12cd82419bd68bb34cf4538c4df5bb9202835e7a18358223e537/twisted-23.10.0.tar.gz" + +SRC_URI[md5sum] = "9d4dd17f9aa0dec3fec8f734f47e1b71" +SRC_URI[sha256sum] = "987847a0790a2c597197613686e2784fd54167df3a55d0fb17c8412305d76ce5" + +PYPI_PACKAGE = "Twisted" + +RDEPENDS_${PN} = "python3-attrs python3-automat python3-constantly python3-hyperlink python3-incremental python3-typing-extensions python3-zope-interface" + diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-txaio_23.1.1.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-txaio_23.1.1.bb new file mode 100644 index 0000000..d73bbc9 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-txaio_23.1.1.bb @@ -0,0 +1,16 @@ + +SUMMARY = "Compatibility API between asyncio/Twisted/Trollius" +HOMEPAGE = "https://github.com/crossbario/txaio" +AUTHOR = "typedef int GmbH " +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3e2c2c2cc2915edc5321b0e6b1d3f5f8" + +SRC_URI = "https://files.pythonhosted.org/packages/51/91/bc9fd5aa84703f874dea27313b11fde505d343f3ef3ad702bddbe20bfd6e/txaio-23.1.1.tar.gz" +SRC_URI[md5sum] = "297409f2dff8e71bad24467374aa8775" +SRC_URI[sha256sum] = "f9a9216e976e5e3246dfd112ad7ad55ca915606b60b84a757ac769bd404ff704" + +S = "${WORKDIR}/txaio-23.1.1" + +RDEPENDS_${PN} = "" + +inherit pypi setuptools3 diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-typing-extensions_4.9.0.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-typing-extensions_4.9.0.bb new file mode 100644 index 0000000..e38f777 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-typing-extensions_4.9.0.bb @@ -0,0 +1,16 @@ + +SUMMARY = "Backported and Experimental Type Hints for Python 3.8+" +HOMEPAGE = "" +AUTHOR = " <"Guido van Rossum, Jukka Lehtosalo, Ɓukasz Langa, Michael Lee" >" +LICENSE = "" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fcf6b249c2641540219a727f35d8d2c2" + +SRC_URI = "https://files.pythonhosted.org/packages/0c/1d/eb26f5e75100d531d7399ae800814b069bc2ed2a7410834d57374d010d96/typing_extensions-4.9.0.tar.gz" +SRC_URI[md5sum] = "2bcafbd6817cb0d7a29ed7a7f1bb1e5d" +SRC_URI[sha256sum] = "23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783" + +S = "${WORKDIR}/typing_extensions-4.9.0" + +RDEPENDS_${PN} = "" + +inherit pypi setuptools3 diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-wheel_0.42.0.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-wheel_0.42.0.bb new file mode 100644 index 0000000..a66b7ac --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-wheel_0.42.0.bb @@ -0,0 +1,17 @@ + +SUMMARY = "A built-package format for Python" +HOMEPAGE = "" +AUTHOR = " >" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRC_URI = "https://files.pythonhosted.org/packages/b0/b4/bc2baae3970c282fae6c2cb8e0f179923dceb7eaffb0e76170628f9af97b/wheel-0.42.0.tar.gz" +SRC_URI[md5sum] = "802ad6e5f9336fcb1c76b7593f0cd22d" +SRC_URI[sha256sum] = "c45be39f7882c9d34243236f2d63cbd58039e360f85d0913425fbd7ceea617a8" + +S = "${WORKDIR}/wheel-0.42.0" + +RDEPENDS_${PN} = "" + +inherit pypi setuptools3 diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-zeroconf_0.62.0.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-zeroconf_0.62.0.bb new file mode 100644 index 0000000..fd97593 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-zeroconf_0.62.0.bb @@ -0,0 +1,14 @@ +SUMMARY = "Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)" +HOMEPAGE = "https://github.com/jstasiak/python-zeroconf" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=9fe712b1bc27c5c4e9ecd7f31d208900" + +SRC_URI[md5sum] = "d7d0838f62c971a8c88669cc430257ae" +SRC_URI[sha256sum] = "c51340a8a7f13d7265dcc582c4a97907c11e4f3d23d5234d3c2c0e44fb446717" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += " \ + ${PYTHON_PN}-ifaddr \ + ${PYTHON_PN}-asyncio \ +" diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-zopeinterface_6.0.bb b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-zopeinterface_6.0.bb new file mode 100644 index 0000000..36e69ae --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3-zopeinterface_6.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "Interface definitions for Zope products" +LICENSE = "ZPL-2.1" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=78ccb3640dc841e1baecb3e27a6966b2" + +PYPI_PACKAGE = "zope.interface" + +inherit pypi setuptools3 + +SRC_URI[md5sum] = "f6b12ad451d332e9958920e0bed69524" +SRC_URI[sha256sum] = "aab584725afd10c710b8f1e6e208dbee2d0ad009f57d674cb9d1b3964037275d" + +PACKAGES =. "${PN}-test " + +RPROVIDES:${PN} += "zope-interfaces" + +RDEPENDS:${PN}:class-target += "${PYTHON_PN}-datetime" +RDEPENDS:${PN}-test += "python3-unittest python3-doctest" + +FILES:${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*.egg/*/*/.debug" +FILES:${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.c" +FILES:${PN}-doc += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.txt" +FILES:${PN}-test += " \ + ${PYTHON_SITEPACKAGES_DIR}/zope/interface/tests \ + ${PYTHON_SITEPACKAGES_DIR}/zope/interface/common/tests \ +" diff --git a/yocto_recipes/meta-beremiz/recipes-devtools/python/python3_poetry_core.bbclass b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3_poetry_core.bbclass new file mode 100644 index 0000000..c7dc5d0 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-devtools/python/python3_poetry_core.bbclass @@ -0,0 +1,9 @@ +# +# Copyright OpenEmbedded Contributors +# +# SPDX-License-Identifier: MIT +# + +inherit python_pep517 python3native setuptools3-base + +DEPENDS += "python3-poetry-core-native" diff --git a/yocto_recipes/meta-beremiz/recipes-support/nano/nano_5.8.bb b/yocto_recipes/meta-beremiz/recipes-support/nano/nano_5.8.bb new file mode 100644 index 0000000..146ad55 --- /dev/null +++ b/yocto_recipes/meta-beremiz/recipes-support/nano/nano_5.8.bb @@ -0,0 +1,22 @@ +SUMMARY = "Small and friendly console text editor" +DESCRIPTION = "GNU nano (Nano's ANOther editor, or \ +Not ANOther editor) is an enhanced clone of the \ +Pico text editor." +HOMEPAGE = "http://www.nano-editor.org/" +SECTION = "console/utils" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" + +DEPENDS = "ncurses file" +RDEPENDS:${PN} = "ncurses-terminfo-base" + +PV_MAJOR = "${@d.getVar('PV').split('.')[0]}" + +SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz" +SRC_URI[sha256sum] = "e43b63db2f78336e2aa123e8d015dbabc1720a15361714bfd4b1bb4e5e87768c" + +UPSTREAM_CHECK_URI = "https://ftp.gnu.org/gnu/nano" + +inherit autotools gettext pkgconfig + +PACKAGECONFIG[tiny] = "--enable-tiny," diff --git a/yocto_sysroot_url/sdk_url.txt b/yocto_sysroot_url/sdk_url.txt new file mode 100644 index 0000000..2698e12 --- /dev/null +++ b/yocto_sysroot_url/sdk_url.txt @@ -0,0 +1,9 @@ +This toolchain contains cross compiler for raspberry pi image for beremiz runtime. + +Due to big size, I have provided here google drive download link of the toolchain file. + +After downloading this, User has to install this file and give a path for installation. + +After successfull installation, User can find the sysroot directory in installation path and use it to build the compatible IDE for raspberry pi. + +URL : https://drive.google.com/file/d/1_flutDzIpSJqvWDld45JqQTZfykAsgaF/view?ts=65984fbc \ No newline at end of file