diff --git a/conf/layer.conf b/conf/layer.conf index 997bbaf..d0deca4 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -13,4 +13,4 @@ BBFILE_PRIORITY_protos = "10" LAYERDEPENDS_protos = "core" LAYERVERSION_protos = "1" -LAYERSERIES_COMPAT_protos = "dunfell kirkstone" +LAYERSERIES_COMPAT_protos = "dunfell kirkstone scarthgap" diff --git a/conf/distro/protos.conf b/meta-protos/conf/distro/protos.conf similarity index 100% rename from conf/distro/protos.conf rename to meta-protos/conf/distro/protos.conf diff --git a/meta-protos/conf/layer.conf b/meta-protos/conf/layer.conf new file mode 100644 index 0000000..79c1927 --- /dev/null +++ b/meta-protos/conf/layer.conf @@ -0,0 +1,16 @@ +# 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-protos" +BBFILE_PATTERN_meta-protos = "^${LAYERDIR}/" + +# enforce precedence over any other layer +BBFILE_PRIORITY_meta-protos = "8" + +LAYERDEPENDS_meta-protos = "core" +LAYERVERSION_meta-protos = "1" +LAYERSERIES_COMPAT_meta-protos = "dunfell kirkstone scarthgap" diff --git a/conf/templates/bblayers.conf.sample b/meta-protos/conf/templates/default/bblayers.conf.sample similarity index 83% rename from conf/templates/bblayers.conf.sample rename to meta-protos/conf/templates/default/bblayers.conf.sample index c3b0ddf..6401ab0 100644 --- a/conf/templates/bblayers.conf.sample +++ b/meta-protos/conf/templates/default/bblayers.conf.sample @@ -7,7 +7,6 @@ BBFILES ?= "" BBLAYERS ?= " \ ${TOPDIR}/../meta-clang \ - ${TOPDIR}/../meta-kf5 \ ${TOPDIR}/../meta-kf6 \ ${TOPDIR}/../meta-mingw \ ${TOPDIR}/../meta-oe/meta-filesystems \ @@ -20,10 +19,6 @@ BBLAYERS ?= " \ ${TOPDIR}/../meta-oe/meta-python \ ${TOPDIR}/../meta-oe/meta-webserver \ ${TOPDIR}/../meta-oe/meta-xfce \ - ${TOPDIR}/../meta-protos \ - ${TOPDIR}/../meta-protos/meta \ - ${TOPDIR}/../meta-protos/meta-oe \ - ${TOPDIR}/../meta-protos/meta-python \ ${TOPDIR}/../meta-qt5 \ ${TOPDIR}/../meta-qt6 \ ${TOPDIR}/../meta-selinux \ @@ -31,4 +26,8 @@ BBLAYERS ?= " \ ${TOPDIR}/../poky/meta-poky \ ${TOPDIR}/../poky/meta-yocto-bsp \ ${TOPDIR}/../protos \ + ${TOPDIR}/../protos/meta-protos \ + ${TOPDIR}/../protos/meta-protos/meta \ + ${TOPDIR}/../protos/meta-protos/meta-oe \ + ${TOPDIR}/../protos/meta-protos/meta-python \ " diff --git a/conf/templates/conf-notes.txt b/meta-protos/conf/templates/default/conf-notes.txt similarity index 100% rename from conf/templates/conf-notes.txt rename to meta-protos/conf/templates/default/conf-notes.txt diff --git a/conf/templates/local.conf.sample b/meta-protos/conf/templates/default/local.conf.sample similarity index 100% rename from conf/templates/local.conf.sample rename to meta-protos/conf/templates/default/local.conf.sample diff --git a/meta-protos/meta-oe/conf/layer.conf b/meta-protos/meta-oe/conf/layer.conf new file mode 100644 index 0000000..b427e57 --- /dev/null +++ b/meta-protos/meta-oe/conf/layer.conf @@ -0,0 +1,15 @@ +# 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-oe" +BBFILE_PATTERN_meta-oe = "^${LAYERDIR}/" + +# enforce layer precedence +BBFILE_PRIORITY_meta-oe = "8" + +LAYERDEPENDS_meta-oe = "core" +LAYERSERIES_COMPAT_meta-oe = "dunfell kirkstone scarthgap" diff --git a/meta-protos/meta-oe/recipes-devtools/jemalloc/backport.md b/meta-protos/meta-oe/recipes-devtools/jemalloc/backport.md new file mode 100644 index 0000000..dd386eb --- /dev/null +++ b/meta-protos/meta-oe/recipes-devtools/jemalloc/backport.md @@ -0,0 +1,6 @@ +# Backport + +Available with *meta-oe mickledore (Yocto Project 4.2)*. + +Upstream revision: b3274b4e90fad106e2e76b48afb866d81170bd6f + diff --git a/meta-protos/meta-oe/recipes-devtools/jemalloc/files/0001-test-Disable-optimization-with-clang-for-aligned_all.patch b/meta-protos/meta-oe/recipes-devtools/jemalloc/files/0001-test-Disable-optimization-with-clang-for-aligned_all.patch new file mode 100644 index 0000000..570202e --- /dev/null +++ b/meta-protos/meta-oe/recipes-devtools/jemalloc/files/0001-test-Disable-optimization-with-clang-for-aligned_all.patch @@ -0,0 +1,33 @@ +From 3fe67deb9fcf0ae3c2ff31a9eccb6a0a9af33b9c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 14 Jan 2022 09:47:03 -0800 +Subject: [PATCH] test: Disable optimization with clang for aligned_alloc.c + +Clang crashes when using glibc 2.35, it works ok with older glibc or +musl, so its very specific problem. Its reported here + +https://github.com/llvm/llvm-project/issues/52765 + +Until it is fixed, workaround the build failure + +Upstream-Status: Inappropriate [Workaround] +Signed-off-by: Khem Raj +--- + test/integration/aligned_alloc.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/test/integration/aligned_alloc.c b/test/integration/aligned_alloc.c +index 4375b172..6513bdd9 100644 +--- a/test/integration/aligned_alloc.c ++++ b/test/integration/aligned_alloc.c +@@ -1,5 +1,7 @@ + #include "test/jemalloc_test.h" + ++#pragma clang optimize off ++ + #define MAXALIGN (((size_t)1) << 23) + + /* +-- +2.34.1 + diff --git a/meta-protos/meta-oe/recipes-devtools/jemalloc/files/run-ptest b/meta-protos/meta-oe/recipes-devtools/jemalloc/files/run-ptest new file mode 100644 index 0000000..5c826a1 --- /dev/null +++ b/meta-protos/meta-oe/recipes-devtools/jemalloc/files/run-ptest @@ -0,0 +1,48 @@ +#!/bin/sh + +export MALLOC_CONF_ALL=${MALLOC_CONF} +# Concatenate the individual test's MALLOC_CONF and MALLOC_CONF_ALL. +export_malloc_conf() { + if [ "x${MALLOC_CONF}" != "x" -a "x${MALLOC_CONF_ALL}" != "x" ] ; then + export MALLOC_CONF="${MALLOC_CONF},${MALLOC_CONF_ALL}" + else + export MALLOC_CONF="${MALLOC_CONF}${MALLOC_CONF_ALL}" + fi +} + + + +saved_dir=$PWD +for dir in tests/* ; do + cd $dir + for atest in * ; do + if [[ "${atest##*.}" == "sh" ]]; then + continue + fi + if [ -e "${atest}.sh" ] ; then + # Source the shell script corresponding to the test in a subshell and + # execute the test. This allows the shell script to set MALLOC_CONF, which + # is then used to set MALLOC_CONF (thus allowing the + # per test shell script to ignore the detail). + enable_fill=1 \ + enable_prof=1 \ + . $(pwd)/${atest}.sh && \ + export_malloc_conf + else + export MALLOC_CONF= && \ + export_malloc_conf + fi + if [ \( -x $atest \) -a \( -f $atest \) ] ; then + rm -rf tests.log + ./$atest > tests.log 2>&1 + sed -e '/: pass/ s/^/PASS: /g' \ + -e '/: skip/ s/^/SKIP: /g' \ + -e '/: fail/ s/^/FAIL: /g' \ + -e 's/: pass//g' \ + -e 's/: skip//g' \ + -e 's/: fail//g' \ + -e '/^--- pass:/d' tests.log + fi + done + cd $saved_dir +done diff --git a/meta-protos/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb b/meta-protos/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb new file mode 100644 index 0000000..9ad8326 --- /dev/null +++ b/meta-protos/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb @@ -0,0 +1,54 @@ +# Copyright (C) 2021 Mingli Yu +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "General-purpose scalable concurrent malloc implementation" + +DESCRIPTION = "jemalloc is a general purpose malloc(3) implementation that emphasizes \ +fragmentation avoidance and scalable concurrency support." + +HOMEPAGE = "https://github.com/jemalloc/jemalloc" +LICENSE = "BSD-2-Clause" + +SECTION = "libs" + +LIC_FILES_CHKSUM = "file://COPYING;md5=ea061f8731d5e6a5761dfad951ef5f5f" + +SRC_URI = "git://github.com/jemalloc/jemalloc.git;branch=master;protocol=https \ + file://run-ptest \ + " + +# Workaround for https://github.com/llvm/llvm-project/issues/52765 +SRC_URI:append:libc-glibc:toolchain-clang = " file://0001-test-Disable-optimization-with-clang-for-aligned_all.patch " + +SRCREV = "54eaed1d8b56b1aa528be3bdd1877e59c56fa90c" + +S = "${WORKDIR}/git" + +inherit autotools ptest + +EXTRA_AUTORECONF += "--exclude=autoheader" + +EXTRA_OECONF:append:libc-musl = " --with-jemalloc-prefix=je_" + +do_install:append() { + sed -i -e 's@${STAGING_DIR_HOST}@@g' \ + -e 's@${STAGING_DIR_NATIVE}@@g' \ + -e 's@${WORKDIR}@@g' ${D}${bindir}/jemalloc-config +} + +do_compile_ptest() { + oe_runmake tests +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + subdirs="unit integration stress " + for tooltest in ${subdirs} + do + cp -r ${B}/test/${tooltest} ${D}${PTEST_PATH}/tests + if find ${S}/test/${tooltest}/ -name '*.sh' -print -quit | grep -q .; then + cp ${S}/test/${tooltest}/*.sh ${D}${PTEST_PATH}/tests/${tooltest} + fi + done + find ${D}${PTEST_PATH}/tests \( -name "*.d" -o -name "*.o" \) -exec rm -f {} \; +} diff --git a/meta-protos/meta-oe/recipes-support/fmt/fmt_8.1.0.1.bb b/meta-protos/meta-oe/recipes-support/fmt/fmt_8.1.0.1.bb new file mode 100644 index 0000000..72f0eb5 --- /dev/null +++ b/meta-protos/meta-oe/recipes-support/fmt/fmt_8.1.0.1.bb @@ -0,0 +1,22 @@ +SUMMARY = "open-source formatting library for C++" +DESCRIPTION = "{fmt} is an open-source formatting library for C++. It can be used as a safe and fast alternative to (s)printf and iostreams." +AUTHOR = "Victor Zverovich" +HOMEPAGE = "https://fmt.dev" +BUGTRACKER = "https://github.com/fmtlib/fmt/issues" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=af88d758f75f3c5c48a967501f24384b" + +BRANCH = "8.1.0-jh" + +SRC_URI = "git://github.com/jhnc-oss/fmt;protocol=https;branch=${BRANCH}" +SRCREV = "1dcbdf896a8e1672cd9f189ffe3e2e0290ad0aa0" + +S = "${WORKDIR}/git" + +inherit cmake +inherit ptest + +EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON" + +BBCLASSEXTEND = "native" + diff --git a/meta-protos/meta-python/conf/layer.conf b/meta-protos/meta-python/conf/layer.conf new file mode 100755 index 0000000..0e35902 --- /dev/null +++ b/meta-protos/meta-python/conf/layer.conf @@ -0,0 +1,18 @@ +# 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 \ + ${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend \ +" + +BBFILE_COLLECTIONS += "python-layer" +BBFILE_PATTERN_python-layer = "^${LAYERDIR}/" + +# enforce layer precedence +BBFILE_PRIORITY_python-layer = "8" + +LAYERDEPENDS_python-layer = "core" +LAYERSERIES_COMPAT_python-layer = "dunfell kirkstone scarthgap" diff --git a/meta-protos/meta-python/recipes-core/python/python3-crudini/python3-crudini_0.9.4.bb b/meta-protos/meta-python/recipes-core/python/python3-crudini/python3-crudini_0.9.4.bb new file mode 100644 index 0000000..03301db --- /dev/null +++ b/meta-protos/meta-python/recipes-core/python/python3-crudini/python3-crudini_0.9.4.bb @@ -0,0 +1,23 @@ +SUMMARY = "An utility for manipulating ini files" +DESCRIPTION = "CLI utility for ini file manipulation" +AUTHOR = "pixelb" +HOMEPAGE = "https://github.com/pixelb/crudini" +BUGTRACKER = "https://github.com/pixelb/crudini/issues" +SECTION = "development" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +CVE_PRODUCT = "" + +DEPENDS += "\ + python3-pip-native \ + python3-setuptools-scm-native \ +" + +SRC_URI[sha256sum] = "6fd0eb341b6cbd91e1883030ea9f2102c1c95619eb563af7ddabc2161e019f6b" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += "python3-iniparse" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-protos/meta-python/recipes-core/python/python3-uinput/backport.md b/meta-protos/meta-python/recipes-core/python/python3-uinput/backport.md new file mode 100644 index 0000000..cc9be28 --- /dev/null +++ b/meta-protos/meta-python/recipes-core/python/python3-uinput/backport.md @@ -0,0 +1,5 @@ +# Backport + +Available with *meta-python > langdale (Yocto Project 4.1)*. + +Upstream revision: `3f2aee1b080e2f9ab2d0a7326581dad2f07ca6ef` diff --git a/meta-protos/meta-python/recipes-core/python/python3-uinput/python3-uinput/0001-Deal-with-64bit-time_t-default-on-32bit-architecture.patch b/meta-protos/meta-python/recipes-core/python/python3-uinput/python3-uinput/0001-Deal-with-64bit-time_t-default-on-32bit-architecture.patch new file mode 100644 index 0000000..4095fc9 --- /dev/null +++ b/meta-protos/meta-python/recipes-core/python/python3-uinput/python3-uinput/0001-Deal-with-64bit-time_t-default-on-32bit-architecture.patch @@ -0,0 +1,43 @@ +From 69adf9e32f5b11e15c0cbe17f9331c77fed65bf8 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 28 May 2022 15:50:50 -0700 +Subject: [PATCH] Deal with 64bit time_t default on 32bit architectures + +Deal with Y2K38 concerns related to Linux input events on more recent +kernels and libcs on 32-bit systems + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + libsuinput/src/suinput.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/libsuinput/src/suinput.c b/libsuinput/src/suinput.c +index 8d5fb71..13ff16a 100644 +--- a/libsuinput/src/suinput.c ++++ b/libsuinput/src/suinput.c +@@ -45,11 +45,20 @@ int suinput_emit(int uinput_fd, uint16_t ev_type, uint16_t ev_code, + struct input_event event; + + memset(&event, 0, sizeof(event)); +- gettimeofday(&event.time, 0); + event.type = ev_type; + event.code = ev_code; + event.value = ev_value; + ++/* attempt to deal with 64-bit time keeping on recent 32-bit systems */ ++#if (__BITS_PER_LONG != 32 || !defined(__USE_TIME_BITS64)) ++ gettimeofday(&event.time, 0); ++#else ++ struct timeval now; ++ memset(&now, 0, sizeof(now)); ++ gettimeofday(&now, 0); ++ event.input_event_sec = now.tv_sec; ++ event.input_event_usec = now.tv_usec; ++#endif + return suinput_write_event(uinput_fd, &event); + } + +-- +2.36.1 + diff --git a/meta-protos/meta-python/recipes-core/python/python3-uinput/python3-uinput/0001-setup-use-setuptools-instead-of-distutils.patch b/meta-protos/meta-python/recipes-core/python/python3-uinput/python3-uinput/0001-setup-use-setuptools-instead-of-distutils.patch new file mode 100644 index 0000000..54a3c18 --- /dev/null +++ b/meta-protos/meta-python/recipes-core/python/python3-uinput/python3-uinput/0001-setup-use-setuptools-instead-of-distutils.patch @@ -0,0 +1,28 @@ +From 7a4dde83a9584adb42c7f810d882b1fbf5767e2c Mon Sep 17 00:00:00 2001 +From: Bartosz Golaszewski +Date: Tue, 24 May 2022 21:43:35 +0200 +Subject: [PATCH] setup: use setuptools instead of distutils + +The latter is deprecated, use setuptools instead. + +Signed-off-by: Bartosz Golaszewski +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 3fa3343..4900b8b 100644 +--- a/setup.py ++++ b/setup.py +@@ -3,7 +3,7 @@ + import errno + import subprocess + +-from distutils.core import setup, Extension ++from setuptools import setup, Extension + + libudev_so = "libudev.so.1" + +-- +2.34.1 + diff --git a/meta-protos/meta-python/recipes-core/python/python3-uinput/python3-uinput_0.11.2.bb b/meta-protos/meta-python/recipes-core/python/python3-uinput/python3-uinput_0.11.2.bb new file mode 100644 index 0000000..76ea130 --- /dev/null +++ b/meta-protos/meta-python/recipes-core/python/python3-uinput/python3-uinput_0.11.2.bb @@ -0,0 +1,20 @@ +SUMMARY = "Python interface to Linux uinput kernel module." +HOMEPAGE = "https://pypi.org/project/python-uinput/" +LICENSE = "GPL-3.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" + +SRC_URI += "file://0001-setup-use-setuptools-instead-of-distutils.patch \ + file://0001-Deal-with-64bit-time_t-default-on-32bit-architecture.patch \ +" +SRC_URI[sha256sum] = "99392b676c77b5795b86b7d75274db33fe754fd1e06fb3d58b167c797dc47f0c" + +PYPI_PACKAGE = "python-uinput" + +inherit pypi setuptools3 + +DEPENDS += "udev" +RDEPENDS:${PN} += " \ + python3-ctypes \ + python3-distutils \ +" +RRECOMMENDS:${PN} += "kernel-module-uinput" diff --git a/meta-protos/meta-python/recipes-devtools/python3-exceptiongroup/python3-exceptiongroup.inc b/meta-protos/meta-python/recipes-devtools/python3-exceptiongroup/python3-exceptiongroup.inc new file mode 100644 index 0000000..45cdd3e --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-exceptiongroup/python3-exceptiongroup.inc @@ -0,0 +1,10 @@ +SUMMARY = "Backport of PEP 654 (exception groups)" +DESCRIPTION = "This is a backport of the BaseExceptionGroup and ExceptionGroup classes from Python 3.11." +AUTHOR = "Alex Grönholm " +HOMEPAGE = "https://github.com/agronholm/exceptiongroup" +BUGTRACKER = "https://github.com/agronholm/exceptiongroup/issues" +SECTION = "development" +LICENSE = "MIT" + +CVE_PRODUCT = "" + diff --git a/meta-protos/meta-python/recipes-devtools/python3-exceptiongroup/python3-exceptiongroup_1.2.0.bb b/meta-protos/meta-python/recipes-devtools/python3-exceptiongroup/python3-exceptiongroup_1.2.0.bb new file mode 100644 index 0000000..522681b --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-exceptiongroup/python3-exceptiongroup_1.2.0.bb @@ -0,0 +1,12 @@ +require ${PN}.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=d5caa317463c433575efff1d2fe206d7" + +SRC_URI[sha256sum] = "91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68" + +inherit pypi python_flit_core + +PYPI_PACKAGE = "exceptiongroup" + +BBCLASSEXTEND = "native nativesdk" + diff --git a/meta-protos/meta-python/recipes-devtools/python3-js2py/python3-js2py.inc b/meta-protos/meta-python/recipes-devtools/python3-js2py/python3-js2py.inc new file mode 100644 index 0000000..1608a4a --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-js2py/python3-js2py.inc @@ -0,0 +1,10 @@ +SUMMARY = "JavaScript to Python Translator and JavaScript interpreter." +DESCRIPTION = "Translates JavaScript to Python code. Js2Py is able to translate and execute virtually any JavaScript code. Js2Py is written in pure python and does not have any dependencies. Basically an implementation of JavaScript core in pure python." +AUTHOR = "Piotr Dabkowski " +HOMEPAGE = "https://github.com/PiotrDabkowski/Js2Py" +BUGTRACKER = "https://github.com/PiotrDabkowski/Js2Py/issues" +SECTION = "development" +LICENSE = "MIT" + +CVE_PRODUCT = "" + diff --git a/meta-protos/meta-python/recipes-devtools/python3-js2py/python3-js2py_0.74.bb b/meta-protos/meta-python/recipes-devtools/python3-js2py/python3-js2py_0.74.bb new file mode 100644 index 0000000..8590330 --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-js2py/python3-js2py_0.74.bb @@ -0,0 +1,18 @@ +require ${PN}.inc + +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=faa744092d3fb3314632e815e7c3a560" + +SRC_URI[sha256sum] = "39f3a6aa8469180efba3c8677271df27c31332fd1b471df1af2af58b87b8972f" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += "\ + python3-pyjsparser \ + python3-six \ + python3-tzlocal \ +" + +PYPI_PACKAGE = "Js2Py" + +BBCLASSEXTEND = "native nativesdk" + diff --git a/meta-protos/meta-python/recipes-devtools/python3-paramiko/python3-paramiko.inc b/meta-protos/meta-python/recipes-devtools/python3-paramiko/python3-paramiko.inc new file mode 100644 index 0000000..2f2d753 --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-paramiko/python3-paramiko.inc @@ -0,0 +1,10 @@ +SUMMARY = "The leading native Python SSHv2 protocol library." +DESCRIPTION = "Paramiko is a pure-Python implementation of the SSHv2 protocol, providing both client and server functionality." +AUTHOR = "paramiko" +HOMEPAGE = "https://www.paramiko.org/" +BUGTRACKER = "https://github.com/paramiko/paramiko/issues" +SECTION = "development" +LICENSE = "LGPL-2.1-only" + +CVE_PRODUCT = "" + diff --git a/meta-protos/meta-python/recipes-devtools/python3-paramiko/python3-paramiko_3.1.0.bb b/meta-protos/meta-python/recipes-devtools/python3-paramiko/python3-paramiko_3.1.0.bb new file mode 100644 index 0000000..48fa416 --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-paramiko/python3-paramiko_3.1.0.bb @@ -0,0 +1,17 @@ +require ${PN}.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=fd0120fc2e9f841c73ac707a30389af5" + +SRC_URI[sha256sum] = "6950faca6819acd3219d4ae694a23c7a87ee38d084f70c1724b0c0dbb8b75769" + +PYPI_PACKAGE = "paramiko" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += "\ + python3-bcrypt \ + python3-cryptography \ + python3-pynacl \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-protos/meta-python/recipes-devtools/python3-plumbum/python3-plumbum.inc b/meta-protos/meta-python/recipes-devtools/python3-plumbum/python3-plumbum.inc new file mode 100644 index 0000000..816eea1 --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-plumbum/python3-plumbum.inc @@ -0,0 +1,10 @@ +SUMMARY = "Plumbum: Shell Combinators" +DESCRIPTION = "Plumbum is a small yet feature-rich library for shell script-like programs in Python." +AUTHOR = "Tomer Filiba" +HOMEPAGE = "https://plumbum.readthedocs.io" +BUGTRACKER = "https://github.com/tomerfiliba/plumbum/issues" +SECTION = "development" +LICENSE = "MIT" + +CVE_PRODUCT = "" + diff --git a/meta-protos/meta-python/recipes-devtools/python3-plumbum/python3-plumbum_1.8.1.bb b/meta-protos/meta-python/recipes-devtools/python3-plumbum/python3-plumbum_1.8.1.bb new file mode 100644 index 0000000..878c3d0 --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-plumbum/python3-plumbum_1.8.1.bb @@ -0,0 +1,18 @@ +require ${PN}.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=f638c141bfa8dc89f890a3a4ee2cb888" + +SRC_URI[sha256sum] = "88a40fc69247d0cd585e21ca169b3820f46c484535102e16455d2202727bb37b" + +PYPI_PACKAGE = "plumbum" + +inherit pypi setuptools3 + +do_configure:prepend() { + cat > ${S}/setup.py <<-EOF +from setuptools import setup +setup() +EOF +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-protos/meta-python/recipes-devtools/python3-pyjsparser/python3-pyjsparser.inc b/meta-protos/meta-python/recipes-devtools/python3-pyjsparser/python3-pyjsparser.inc new file mode 100644 index 0000000..9e720f5 --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-pyjsparser/python3-pyjsparser.inc @@ -0,0 +1,9 @@ +SUMMARY = "Fast JavaScript parser for Python." +DESCRIPTION = "Fast JavaScript parser - manual translation of esprima.js to python. Takes 1 second to parse whole angular.js library so parsing speed is about 100k characters per second which makes it the fastest and most comprehensible JavaScript parser for python out there." +AUTHOR = "Piotr Dabkowski " +HOMEPAGE = "https://github.com/PiotrDabkowski/pyjsparser" +BUGTRACKER = "https://github.com/PiotrDabkowski/pyjsparser/issues" +SECTION = "development" +LICENSE = "MIT" + +CVE_PRODUCT = "" diff --git a/meta-protos/meta-python/recipes-devtools/python3-pyjsparser/python3-pyjsparser/LICENSE b/meta-protos/meta-python/recipes-devtools/python3-pyjsparser/python3-pyjsparser/LICENSE new file mode 100755 index 0000000..5f5aff9 --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-pyjsparser/python3-pyjsparser/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Piotr Dabkowski + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/meta-protos/meta-python/recipes-devtools/python3-pyjsparser/python3-pyjsparser_2.7.1.bb b/meta-protos/meta-python/recipes-devtools/python3-pyjsparser/python3-pyjsparser_2.7.1.bb new file mode 100644 index 0000000..10a4715 --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-pyjsparser/python3-pyjsparser_2.7.1.bb @@ -0,0 +1,13 @@ +require ${PN}.inc + +# The project doesn't ship the license +LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=953430a448a7e6837e6d8984fce682d1" + +SRC_URI:append = " file://LICENSE" +SRC_URI[sha256sum] = "be60da6b778cc5a5296a69d8e7d614f1f870faf94e1b1b6ac591f2ad5d729579" + +PYPI_PACKAGE = "pyjsparser" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-protos/meta-python/recipes-devtools/python3-pymodbus/backport.md b/meta-protos/meta-python/recipes-devtools/python3-pymodbus/backport.md new file mode 100644 index 0000000..8d4fa59 --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-pymodbus/backport.md @@ -0,0 +1,6 @@ +# Backport + +Available with *meta-oe scarthgap (Yocto Project 5.0)*. + +Upstream revision: `cb74f0eab2373f7cb7115385c6481b84c0f91d1c` *(modified)* + diff --git a/meta-protos/meta-python/recipes-devtools/python3-pymodbus/python3-pymodbus_3.6.7.bb b/meta-protos/meta-python/recipes-devtools/python3-pymodbus/python3-pymodbus_3.6.7.bb new file mode 100644 index 0000000..69e84ba --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-pymodbus/python3-pymodbus_3.6.7.bb @@ -0,0 +1,31 @@ +SUMMARY = "A fully featured modbus protocol stack in python" +HOMEPAGE = "https://github.com/riptideio/pymodbus/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=eba8057aa82c058d2042b4b0a0e9cc63" + +SRC_URI[sha256sum] = "e6cefac57f8d0e887ef49a705743787d8f1f005df94bd148e3da43c2599c77f3" + +inherit pypi python_flit_core + +PACKAGECONFIG ??= "" +PACKAGECONFIG[repl] = ",,,python3-aiohttp python3-click python3-prompt-toolkit python3-pygments python3-pyserial-asyncio" +PACKAGECONFIG[asyncio] = ",,,python3-pyserial-asyncio" +PACKAGECONFIG[tornado] = ",,,python3-tornado" +PACKAGECONFIG[twisted] = ",,,python3-twisted-conch" +PACKAGECONFIG[redis] = ",,,python3-redis" +PACKAGECONFIG[sql] = ",,,python3-sqlalchemy" + +RDEPENDS:${PN} += " \ + python3-asyncio \ + python3-core \ + python3-io \ + python3-json \ + python3-logging \ + python3-math \ + python3-netserver \ +" + +RDEPENDS:${PN} += " \ + python3-pyserial \ + python3-six \ +" diff --git a/meta-protos/meta-python/recipes-devtools/python3-pynacl/python3-pynacl.inc b/meta-protos/meta-python/recipes-devtools/python3-pynacl/python3-pynacl.inc new file mode 100644 index 0000000..4a9cdef --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-pynacl/python3-pynacl.inc @@ -0,0 +1,10 @@ +SUMMARY = "Python binding to the Networking and Cryptography (NaCl) library" +DESCRIPTION = "PyNaCl is a Python binding to libsodium, which is a fork of the Networking and Cryptography library." +AUTHOR = "pyca" +HOMEPAGE = "https://pynacl.readthedocs.io" +BUGTRACKER = "https://github.com/pyca/pynacl/issues" +SECTION = "development" +LICENSE = "Apache-2.0" + +CVE_PRODUCT = "" + diff --git a/meta-protos/meta-python/recipes-devtools/python3-pynacl/python3-pynacl_1.5.0.bb b/meta-protos/meta-python/recipes-devtools/python3-pynacl/python3-pynacl_1.5.0.bb new file mode 100644 index 0000000..9f2cd28 --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-pynacl/python3-pynacl_1.5.0.bb @@ -0,0 +1,29 @@ +require ${PN}.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=8cc789b082b3d97e1ccc5261f8594d3f" + +DEPENDS += "\ + libsodium \ + python3-cffi-native \ +" + +SRC_URI[sha256sum] = "8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba" + +PYPI_PACKAGE = "PyNaCl" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += "\ + libsodium \ + python3-cffi \ +" + +do_compile:prepend() { + export SODIUM_INSTALL=system +} + +do_install:prepend() { + export SODIUM_INSTALL=system +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-protos/meta-python/recipes-devtools/python3-rpyc/python3-rpyc.inc b/meta-protos/meta-python/recipes-devtools/python3-rpyc/python3-rpyc.inc new file mode 100644 index 0000000..e996f05 --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-rpyc/python3-rpyc.inc @@ -0,0 +1,10 @@ +SUMMARY = "RPyC (Remote Python Call) - A transparent and symmetric RPC library for python" +DESCRIPTION = "RPyC is a transparent python library for symmetrical remote procedure calls, clustering and distributed-computing." +AUTHOR = "tomerfiliba-org" +HOMEPAGE = "https://rpyc.readthedocs.io" +BUGTRACKER = "https://github.com/tomerfiliba-org/rpyc/issues" +SECTION = "development" +LICENSE = "MIT" + +CVE_PRODUCT = "" + diff --git a/meta-protos/meta-python/recipes-devtools/python3-rpyc/python3-rpyc/0001-fix_pyprojecttoml_license.patch b/meta-protos/meta-python/recipes-devtools/python3-rpyc/python3-rpyc/0001-fix_pyprojecttoml_license.patch new file mode 100644 index 0000000..95f9be0 --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-rpyc/python3-rpyc/0001-fix_pyprojecttoml_license.patch @@ -0,0 +1,26 @@ +From 964c08f72fdd0a19380d7beb4d40f6afc41d989e Mon Sep 17 00:00:00 2001 +From: comrumino +Date: Fri, 9 Jun 2023 20:55:07 -0500 +Subject: [PATCH] Fixed #536 by following correct/suggested syntax of license = + { text = "MIT License" } in pyproject.toml + +Upstream-Status: Accepted [release > 5.3.1] +Signed-off-by: jhnc-oss + +--- + pyproject.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pyproject.toml b/pyproject.toml +index b1c824f5..3de5b892 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -8,7 +8,7 @@ build-backend = "hatchling.build" + name = "rpyc" + description = "Remote Python Call (RPyC) is a transparent and symmetric distributed computing library" + readme = "README.rst" +-license = "MIT" ++license = {text = "MIT License"} + requires-python = ">=3.7" + authors = [ + { name = "Tomer Filiba", email = "tomerfiliba@gmail.com" }, diff --git a/meta-protos/meta-python/recipes-devtools/python3-rpyc/python3-rpyc_5.3.1.bb b/meta-protos/meta-python/recipes-devtools/python3-rpyc/python3-rpyc_5.3.1.bb new file mode 100644 index 0000000..d07f17a --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-rpyc/python3-rpyc_5.3.1.bb @@ -0,0 +1,16 @@ +require ${PN}.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=439c6f54322baa097f0a398de5eb3d9a" + +SRC_URI:append = " file://0001-fix_pyprojecttoml_license.patch" +SRC_URI[sha256sum] = "f2233174879faf18ae266437d5a65511ce46c817cec4edc1344f036758cfbf52" + +PYPI_PACKAGE = "rpyc" + +inherit pypi python_flit_core + +RDEPENDS:${PN} += "\ + python3-plumbum \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-protos/meta-python/recipes-devtools/python3-trash-cli/python3-trash-cli.inc b/meta-protos/meta-python/recipes-devtools/python3-trash-cli/python3-trash-cli.inc new file mode 100644 index 0000000..3c79840 --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-trash-cli/python3-trash-cli.inc @@ -0,0 +1,9 @@ +SUMMARY = "Command line interface to the freedesktop.org trashcan." +DESCRIPTION = "trash-cli trashes files recording the original path, deletion date, and permissions. It uses the same trashcan used by KDE, GNOME, and XFCE, but you can invoke it from the command line (and scripts)." +AUTHOR = "Andrea Francia" +HOMEPAGE = "https://github.com/andreafrancia/trash-cli" +BUGTRACKER = "https://github.com/andreafrancia/trash-cli/issues" +SECTION = "tools" +LICENSE = "GPL-2.0-only" + +CVE_PRODUCT = "" diff --git a/meta-protos/meta-python/recipes-devtools/python3-trash-cli/python3-trash-cli_0.23.2.13.2.bb b/meta-protos/meta-python/recipes-devtools/python3-trash-cli/python3-trash-cli_0.23.2.13.2.bb new file mode 100644 index 0000000..1220edd --- /dev/null +++ b/meta-protos/meta-python/recipes-devtools/python3-trash-cli/python3-trash-cli_0.23.2.13.2.bb @@ -0,0 +1,11 @@ +require ${PN}.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +SRC_URI[sha256sum] = "99805170df2af7b291314d5b9d86b2cfd598e635a5a23d32debfede880021044" + +PYPI_PACKAGE = "trash-cli" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-protos/meta/classes/build_settings.bbclass b/meta-protos/meta/classes/build_settings.bbclass new file mode 100755 index 0000000..1899909 --- /dev/null +++ b/meta-protos/meta/classes/build_settings.bbclass @@ -0,0 +1,38 @@ +# This class is an initial effort to enable conditional target builds +# while keeping our legacy x86 (32 bit) build for now. +# +# Though, architecture is currently limited to x86_64. +# +# In order to enable it you need to add +# IHNHERIT += "build_settings" to local.conf +# +# In addition, the consuming podman container needs to set +# --env YOCTO_TARGET_ARCH=... and whitelist BB_ENV_PASSTHROUGH_ADDITIONS +# accordingly + +def build_settings(d): + arch = d.getVar("YOCTO_TARGET_ARCH") + + if arch == "x86_64": + opt_machine = "genericx86-64" + opt_defaulttune = "core2-64" + elif arch == "x86": + opt_machine = "genericx86" + opt_defaulttune = "i586" + else: + bb.error("Unsupported target arch: %s" % arch) + + d.appendVar("IMAGE_FSTYPES", " tar.gz") + d.setVar("IMAGE_VERSION_SUFFIX", "-" + d.getVar('DISTRO_VERSION')) + + d.setVar("MACHINE", opt_machine) + d.setVar("DEFAULTTUNE", opt_defaulttune) + + bb.note("Setting MACHINE to %s" % (opt_machine)) + bb.note("Setting DEFAULTTUNE to %s" % (opt_defaulttune)) + +addhandler build_settings_eventhandler +build_settings_eventhandler[eventmask] = "bb.event.ConfigParsed" +python build_settings_eventhandler() { + build_settings(e.data) +} diff --git a/meta-protos/meta/conf/layer.conf b/meta-protos/meta/conf/layer.conf new file mode 100755 index 0000000..0d1f0f9 --- /dev/null +++ b/meta-protos/meta/conf/layer.conf @@ -0,0 +1,15 @@ +# 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" +BBFILE_PATTERN_meta = "^${LAYERDIR}/" + +# enforce layer precedence +BBFILE_PRIORITY_meta = "8" + +LAYERDEPENDS_meta = "core" +LAYERSERIES_COMPAT_meta = "dunfell kirkstone scarthgap" diff --git a/meta-protos/recipes-core/images/protos-core-sdk.bb b/meta-protos/recipes-core/images/protos-core-sdk.bb new file mode 100644 index 0000000..f6b852a --- /dev/null +++ b/meta-protos/recipes-core/images/protos-core-sdk.bb @@ -0,0 +1,38 @@ +DESCRIPTION = "PROTOS core SDK suitable for development work." +LICENSE = "MIT" + +CVE_PRODUCT = "" + +inherit populate_sdk + +SDK_FEATURES:append = "dev-pkgs tools-sdk staticdev-pkgs" +SDK_FEATURES:remove = "dbg-pkgs src-pkgs" + +TOOLCHAIN_TARGET_TASK:append = "\ + extra-cmake-modules \ + fontconfig \ + libx11 \ + libxft \ + libxi \ + libxmu \ + libxt \ + meson \ + wayland \ +" + +TOOLCHAIN_HOST_TASK:append = "\ + nativesdk-clang \ + nativesdk-cmake \ + nativesdk-fontconfig \ + nativesdk-libx11 \ + nativesdk-libxft \ + nativesdk-make \ + nativesdk-wayland \ + nativesdk-wayland-dev \ +" + +GCC_VERSION = "gcc114" + +TOOLCHAIN_OUTPUTNAME = "${DISTRO}-${SDKMACHINE}-toolchain-${GCC_VERSION}-${MACHINE}-${DISTRO_VERSION}" +TOOLCHAINEXT_OUTPUTNAME = "${DISTRO}-${SDKMACHINE}-toolchain-ext-${GCC_VERSION}-${MACHINE}-${DISTRO_VERSION}" + diff --git a/meta-protos/recipes-devtools/extra-cmake-modules/extra-cmake-modules.inc b/meta-protos/recipes-devtools/extra-cmake-modules/extra-cmake-modules.inc new file mode 100644 index 0000000..f8d0ddb --- /dev/null +++ b/meta-protos/recipes-devtools/extra-cmake-modules/extra-cmake-modules.inc @@ -0,0 +1,9 @@ +SUMMARY = "Extra modules and scripts for CMake" +DESCRIPTION = "The Extra CMake Modules package adds to the modules and provides common build settings used in software produced by the KDE community." +AUTHOR = "KDE.org" +HOMEPAGE = "https://invent.kde.org/frameworks/extra-cmake-modules" +BUGTRACKER = "https://invent.kde.org/frameworks/extra-cmake-modules/-/issues" +SECTION = "console/utils" +LICENSE = "BSD" + +CVE_PRODUCT = "" diff --git a/meta-protos/recipes-devtools/extra-cmake-modules/extra-cmake-modules_5.102.0.bb b/meta-protos/recipes-devtools/extra-cmake-modules/extra-cmake-modules_5.102.0.bb new file mode 100644 index 0000000..ed7ed7a --- /dev/null +++ b/meta-protos/recipes-devtools/extra-cmake-modules/extra-cmake-modules_5.102.0.bb @@ -0,0 +1,19 @@ +require ${PN}.inc + +LIC_FILES_CHKSUM = "file://COPYING-CMAKE-SCRIPTS;md5=54c7042be62e169199200bc6477f04d1" + +SRC_URI = "https://invent.kde.org/frameworks/${BPN}/-/archive/v${PV}/${BPN}-v${PV}.tar.gz" +SRC_URI[sha256sum] = "5c7b49d0bc08eb65a7e46e29c888a7e0d8580a0935200bc6d18a4abc774f6531" + +S = "${WORKDIR}/${BPN}-v${PV}" + +EXTRA_OECMAKE += "-DBUILD_TESTING=off" + +inherit cmake_qt5 + +PACKAGES = "${PN}" + +FILES:${PN} += "${datadir}/ECM" + +BBCLASSEXTEND = "native" + diff --git a/meta-protos/recipes-devtools/python/backport.md b/meta-protos/recipes-devtools/python/backport.md new file mode 100644 index 0000000..50f3110 --- /dev/null +++ b/meta-protos/recipes-devtools/python/backport.md @@ -0,0 +1,7 @@ +# Backport + +## python3-pytest + +Available with *openembedded-core > mickledore (Yocto Project 4.2)*. + +Upstream revision: `272f6ac29246c67c8ed1ed685ab2c0631fc5fbe3` *(updated / modified for compatibility)* diff --git a/meta-protos/recipes-devtools/python/python3-pytest_7.4.4.bb b/meta-protos/recipes-devtools/python/python3-pytest_7.4.4.bb new file mode 100644 index 0000000..d07c790 --- /dev/null +++ b/meta-protos/recipes-devtools/python/python3-pytest_7.4.4.bb @@ -0,0 +1,42 @@ +SUMMARY = "Simple powerful testing with python" +HOMEPAGE = "https://pypi.org/project/pytest/" +DESCRIPTION = "The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=bd27e41b6550fe0fc45356d1d81ee37c" + +DEPENDS += "python3-setuptools-scm-native" + +SRC_URI[sha256sum] = "2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280" + +inherit update-alternatives pypi setuptools3 + +RDEPENDS:${PN} += "\ + ${PYTHON_PN}-atomicwrites \ + ${PYTHON_PN}-attrs \ + ${PYTHON_PN}-debugger \ + ${PYTHON_PN}-doctest \ + ${PYTHON_PN}-exceptiongroup \ + ${PYTHON_PN}-importlib-metadata \ + ${PYTHON_PN}-iniconfig \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-more-itertools \ + ${PYTHON_PN}-packaging \ + ${PYTHON_PN}-pathlib2 \ + ${PYTHON_PN}-pluggy \ + ${PYTHON_PN}-py \ + ${PYTHON_PN}-setuptools \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-tomli \ + ${PYTHON_PN}-wcwidth \ +" + +ALTERNATIVE:${PN} += "py.test pytest" + +NATIVE_LINK_NAME[pytest] = "${bindir}/pytest" +ALTERNATIVE_TARGET[pytest] = "${bindir}/pytest" + +ALTERNATIVE_LINK_NAME[py.test] = "${bindir}/py.test" +ALTERNATIVE_TARGET[py.test] = "${bindir}/py.test" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-protos/recipes-oss/cppcheck/cppcheck.inc b/meta-protos/recipes-oss/cppcheck/cppcheck.inc new file mode 100644 index 0000000..bde82e8 --- /dev/null +++ b/meta-protos/recipes-oss/cppcheck/cppcheck.inc @@ -0,0 +1,9 @@ +SUMMARY = "Static analysis of C/C++ code" +DESCRIPTION = "Cppcheck is a static analysis tool for C/C++ code. It provides unique code analysis to detect bugs and focuses on detecting undefined behaviour and dangerous coding constructs." +AUTHOR = "Daniel Marjamäki " +HOMEPAGE = "http://cppcheck.sourceforge.net/" +BUGTRACKER = "https://trac.cppcheck.net/" +SECTION = "development" +LICENSE = "GPL-3.0-or-later" + +CVE_PRODUCT = "" diff --git a/meta-protos/recipes-oss/cppcheck/cppcheck_2.14.0.bb b/meta-protos/recipes-oss/cppcheck/cppcheck_2.14.0.bb new file mode 100644 index 0000000..a361156 --- /dev/null +++ b/meta-protos/recipes-oss/cppcheck/cppcheck_2.14.0.bb @@ -0,0 +1,23 @@ +require ${PN}.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +DEPENDS += "libpcre" + +SRC_URI = "git://github.com/danmar/cppcheck.git;protocol=https;nobranch=1" +SRCREV = "9c4ed8fa58aed48a8a364ee8193ac9ab50a92602" + +S = "${WORKDIR}/git" + +inherit cmake + +EXTRA_OECMAKE = "\ + -DBUILD_GUI=OFF \ + -DBUILD_TESTS=OFF \ + -DDISABLE_DMAKE=ON \ + -DHAVE_RULES=ON \ +" + +FILES:${PN} += "${datadir}/Cppcheck/" + +BBCLASSEXTEND = "native nativesdk" + diff --git a/meta-protos/recipes-oss/cpputest/backport.md b/meta-protos/recipes-oss/cpputest/backport.md new file mode 100644 index 0000000..3e0d9e9 --- /dev/null +++ b/meta-protos/recipes-oss/cpputest/backport.md @@ -0,0 +1,5 @@ +# Backport + +Available with *meta-oe > mickledore (Yocto Project 4.2)*. + +Upstream revision: `8c0402f7c47188cef1d6afc68c0427124940ea57` diff --git a/meta-protos/recipes-oss/cpputest/cpputest_4.0.bb b/meta-protos/recipes-oss/cpputest/cpputest_4.0.bb new file mode 100644 index 0000000..5536cf0 --- /dev/null +++ b/meta-protos/recipes-oss/cpputest/cpputest_4.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "CppUTest unit testing and mocking framework for C/C++" +HOMEPAGE = "http://cpputest.github.io/" +SECTION = "devel" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=ce5d5f1fe02bcd1343ced64a06fd4177" + +SRC_URI = "git://github.com/cpputest/cpputest.git;protocol=https;branch=master" +SRCREV = "67d2dfd41e13f09ff218aa08e2d35f1c32f032a1" + +S = "${WORKDIR}/git" + +inherit cmake + +EXTRA_OECMAKE = "-DLONGLONG=ON \ + -DC++11=ON \ + -DTESTS=OFF \ + " + +DEV_PKG_DEPENDENCY = "" + +FILES:${PN}-dev += "${libdir}/CppUTest/cmake/*" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[extensions] = "-DEXTENSIONS=ON,-DEXTENSIONS=OFF" diff --git a/meta-protos/recipes-oss/debugpy/debugpy_1.8.0.bb b/meta-protos/recipes-oss/debugpy/debugpy_1.8.0.bb new file mode 100644 index 0000000..839fffb --- /dev/null +++ b/meta-protos/recipes-oss/debugpy/debugpy_1.8.0.bb @@ -0,0 +1,44 @@ +SUMMARY = "A debugger for Python 3" +DESCRIPTION = "An implementation of the Debug Adapter Protocol for Python 3" +AUTHOR = "Microsoft Corporation" +HOMEPAGE = "https://github.com/microsoft/debugpy/" +BUGTRACKER = "https://github.com/microsoft/debugpy/issues" +SECTION = "devel" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7b6b095fe2a2e2b66cb08d295b605789" + +CVE_PRODUCT = "" + +SRC_URI[sha256sum] = "12af2c55b419521e33d5fb21bd022df0b5eb267c3e178f1d374a63a2a6bdccd0" + +PYPI_PACKAGE = "debugpy" +PYPI_PACKAGE_EXT = "zip" + +def get_so_suffix(d): + arch = d.getVar('MACHINE_ARCH') + + if arch == 'genericx86': + return 'x86' + if arch == 'genericx86_64' or arch == 'mc_x86_64' or arch == 'wsl_x86_64': + return 'amd64' + if arch == 'hw_aarch64' or arch == 'imx8mp_lpddr4_evk': + return 'aarch64' + bb.error("Unsupported architecture") + +do_compile:append() { + cd ${WORKDIR}/${PN}-${PV}/src/${PN}/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac + ${CXX} ${LDFLAGS} -std=c++11 -shared -fPIC -nostartfiles attach.cpp -o attach_linux_${@get_so_suffix(d)}.so +} + +do_install:append() { + install ${WORKDIR}/${PN}-${PV}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/attach_linux_*.so ${D}${PYTHON_SITEPACKAGES_DIR}/debugpy/_vendored/pydevd/pydevd_attach_to_process/ + chmod -R 0755 ${D}${libdir} +} + +inherit pypi setuptools3 + +RDEPENDS:${PN} += "glibc" + +BBCLASSEXTEND = "native nativesdk" + +COMPATIBLE_MACHINES="^(genericx86-64|mc-x86-64|wsl-x86-64|hw-aarch64)$" diff --git a/meta-protos/recipes-oss/libdmtx/libdmtx.inc b/meta-protos/recipes-oss/libdmtx/libdmtx.inc new file mode 100644 index 0000000..483c9a2 --- /dev/null +++ b/meta-protos/recipes-oss/libdmtx/libdmtx.inc @@ -0,0 +1,9 @@ +SUMMARY = "Library to read and write Data Matrix barcodes" +DESCRIPTION = "A software library that enables programs to read and write Data Matrix barcodes of the modern ECC200 variety." +AUTHOR = "Vadim A. Misbakh-Soloviov " +HOMEPAGE = "https://github.com/dmtx/libdmtx" +BUGTRACKER = "https://github.com/dmtx/libdmtx/issues" +SECTION = "development" +LICENSE = "BSD-2-Clause" + +CVE_PRODUCT = "" diff --git a/meta-protos/recipes-oss/libdmtx/libdmtx_0.7.7.bb b/meta-protos/recipes-oss/libdmtx/libdmtx_0.7.7.bb new file mode 100644 index 0000000..fd25d44 --- /dev/null +++ b/meta-protos/recipes-oss/libdmtx/libdmtx_0.7.7.bb @@ -0,0 +1,12 @@ +require ${PN}.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=b58872aaf3a9d51c1f002b9d7940f4f1" + +SRC_URI = "git://github.com/dmtx/libdmtx.git;protocol=https;branch=master" +SRCREV = "dafd3dd813fb448eab0272f139d45a6b894912df" + +S = "${WORKDIR}/git" + +inherit autotools + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-protos/recipes-oss/libspnav/libspnav.inc b/meta-protos/recipes-oss/libspnav/libspnav.inc new file mode 100644 index 0000000..48b2f45 --- /dev/null +++ b/meta-protos/recipes-oss/libspnav/libspnav.inc @@ -0,0 +1,9 @@ +SUMMARY = "Library for communicating with spacenavd or 3dxsrv" +DESCRIPTION = "Libspnav is a C library for receiving input from 6 degrees-of-freedom (6dof) input devices, also known as spacemice, spaceballs, etc.." +AUTHOR = "Spacenav Project " +HOMEPAGE = "https://github.com/FreeSpacenav/libspnav" +BUGTRACKER = "https://github.com/FreeSpacenav/libspnav/issues" +SECTION = "development" +LICENSE = "BSD-3-Clause" + +CVE_PRODUCT = "" diff --git a/meta-protos/recipes-oss/libspnav/libspnav/configure_libdir.patch b/meta-protos/recipes-oss/libspnav/libspnav/configure_libdir.patch new file mode 100644 index 0000000..18a64a4 --- /dev/null +++ b/meta-protos/recipes-oss/libspnav/libspnav/configure_libdir.patch @@ -0,0 +1,28 @@ +Adds an option to change the 'lib' directory (eg. to use lib64). + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: jhnc-oss +--- + +--- a/configure ++++ b/configure +@@ -49,6 +49,10 @@ for arg; do + --disable-x11) + X11=no;; + ++ --libdir=*) ++ libdir=`echo $arg | sed 's/--libdir=//'` ++ ;; ++ + --help) + echo 'usage: ./configure [options]' + echo 'options:' +@@ -59,6 +63,7 @@ for arg; do + echo ' --disable-opt: disable speed optimizations' + echo ' --enable-debug: include debugging symbols (default)' + echo ' --disable-debug: do not include debugging symbols' ++ echo ' --libdir=: lib dir (default: lib)' + echo 'all invalid options are silently ignored' + exit 0 + ;; diff --git a/meta-protos/recipes-oss/libspnav/libspnav_1.1.bb b/meta-protos/recipes-oss/libspnav/libspnav_1.1.bb new file mode 100644 index 0000000..3270978 --- /dev/null +++ b/meta-protos/recipes-oss/libspnav/libspnav_1.1.bb @@ -0,0 +1,25 @@ +require ${PN}.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=f36e954c2e2d280ef1b4927c29f43195" + +SRC_URI = "\ + git://github.com/FreeSpacenav/libspnav.git;protocol=https;branch=master \ + file://configure_libdir.patch \ +" +SRCREV = "1716ccf15fa59a3acaeb9805262fc23613fd6a40" + +S = "${WORKDIR}/git" + +inherit autotools-brokensep + +EXTRA_OECONF += "\ + --disable-x11 \ + --libdir=${baselib} \ +" + +do_install:append() { + install -d ${D}${docdir}/${PN} + install -m 0644 ${S}/LICENSE ${D}${docdir}/${PN} +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-protos/recipes-oss/nlohmann-json/backport.md b/meta-protos/recipes-oss/nlohmann-json/backport.md new file mode 100644 index 0000000..483f1ff --- /dev/null +++ b/meta-protos/recipes-oss/nlohmann-json/backport.md @@ -0,0 +1,5 @@ +# Backport + +Available with *meta-oe scarthgap (Yocto Project 5.0)*. + +Upstream revision: `1ac098f00d1f6d9c7850429d37abcbb03b17cc41` diff --git a/meta-protos/recipes-oss/nlohmann-json/files/run-ptest b/meta-protos/recipes-oss/nlohmann-json/files/run-ptest new file mode 100755 index 0000000..2f00267 --- /dev/null +++ b/meta-protos/recipes-oss/nlohmann-json/files/run-ptest @@ -0,0 +1,12 @@ +#!/bin/sh + +cd tests +for atest in test-* ; do + rm -rf tests.log + ./${atest} > tests.log 2>&1 + if [ $? = 0 ] ; then + echo "PASS: ${atest}" + else + echo "FAIL: ${atest}" + fi +done diff --git a/meta-protos/recipes-oss/nlohmann-json/nlohmann-json_3.11.3.bb b/meta-protos/recipes-oss/nlohmann-json/nlohmann-json_3.11.3.bb new file mode 100644 index 0000000..194e805 --- /dev/null +++ b/meta-protos/recipes-oss/nlohmann-json/nlohmann-json_3.11.3.bb @@ -0,0 +1,45 @@ +SUMMARY = "JSON for modern C++" +HOMEPAGE = "https://nlohmann.github.io/json/" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=f969127d7b7ed0a8a63c2bbeae002588" + +CVE_PRODUCT = "json-for-modern-cpp" + +SRC_URI = "git://github.com/nlohmann/json.git;branch=develop;protocol=https \ + git://github.com/nlohmann/json_test_data.git;destsuffix=git/json_test_data;name=json-test-data;branch=master;protocol=https \ + file://run-ptest \ +" + +SRCREV = "9cca280a4d0ccf0c08f47a99aa71d1b0e52f8d03" +SRCREV_json-test-data = "a1375cea09d27cc1c4cadb8d00470375b421ac37" + +SRCREV_FORMAT .= "_json-test-data" + +S = "${WORKDIR}/git" + +inherit cmake ptest + +EXTRA_OECMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', '-DJSON_BuildTests=ON -DJSON_TestDataDirectory=${PTEST_PATH}/json_test_data', '-DJSON_BuildTests=OFF', d)}" + +# nlohmann-json is a header only C++ library, so the main package will be empty. +ALLOW_EMPTY:${PN} = "1" +RDEPENDS:${PN}-dev = "" +RDEPENDS:${PN}-ptest = "perl" + +BBCLASSEXTEND = "native nativesdk" + + +do_install_ptest () { + install -d ${D}${PTEST_PATH}/tests + cp -r ${S}/json_test_data/ ${D}${PTEST_PATH}/ + cp -r ${B}/tests/test-* ${D}${PTEST_PATH}/tests + rm -rf ${D}${PTEST_PATH}/json_test_data/.git +} + + +# other packages commonly reference the file directly as "json.hpp" +# create symlink to allow this usage +do_install:append() { + ln -s nlohmann/json.hpp ${D}${includedir}/json.hpp +} diff --git a/meta-protos/recipes-oss/nlopt/nlopt.inc b/meta-protos/recipes-oss/nlopt/nlopt.inc new file mode 100644 index 0000000..81da066 --- /dev/null +++ b/meta-protos/recipes-oss/nlopt/nlopt.inc @@ -0,0 +1,9 @@ +SUMMARY = "Library for nonlinear optimization" +DESCRIPTION = "NLopt is a library for nonlinear local and global optimization, for functions with and without gradient information. It is designed as a simple, unified interface and packaging of several free/open-source nonlinear optimization libraries." +AUTHOR = "Steven G. Johnson " +HOMEPAGE = "https://github.com/stevengj/nlopt" +BUGTRACKER = "https://github.com/stevengj/nlopt/issues" +SECTION = "development" +LICENSE = "LGPL-2.0-or-later" + +CVE_PRODUCT = "" diff --git a/meta-protos/recipes-oss/nlopt/nlopt_2.7.1.bb b/meta-protos/recipes-oss/nlopt/nlopt_2.7.1.bb new file mode 100644 index 0000000..6367edc --- /dev/null +++ b/meta-protos/recipes-oss/nlopt/nlopt_2.7.1.bb @@ -0,0 +1,47 @@ +require ${PN}.inc + +LIC_FILES_CHKSUM = "\ + file://src/algs/stogo/COPYRIGHT;md5=4db779c8963e07fd1ba73ed315b94013 \ + file://src/algs/slsqp/COPYRIGHT;md5=bbfce7f9ce99c7b4d60b37c4a8db5ec9 \ + file://src/algs/newuoa/COPYRIGHT;md5=69279a3d362f3df7cde059e749ba6458 \ + file://src/algs/luksan/COPYRIGHT;md5=409138dd9d869c2e8ddeae8d5d039eb2 \ + file://src/algs/esch/COPYRIGHT;md5=1b77b615ff4a4c9471595d4ca4acc1ea \ + file://src/algs/direct/COPYING;md5=d0c85669acd941e21db1c3564aea3ea7 \ + file://src/algs/cobyla/COPYRIGHT;md5=7f9129c306a5785c7913b8a5883934bf \ + file://src/algs/bobyqa/COPYRIGHT;md5=700dca4c1a2d3517d2e372b064b09ec5 \ + file://src/algs/ags/COPYRIGHT;md5=df8018c0130b3c4b5961d163c169567b \ + file://COPYRIGHT;md5=1b4ae9cf9d4ec57f6dc120948e9b483a \ + file://COPYING;md5=7036bf07f719818948a837064b1af213 \ +" + +SRC_URI = "git://github.com/stevengj/nlopt.git;protocol=https;branch=master" +SRCREV = "09b3c2a6da71cabcb98d2c8facc6b83d2321ed71" + +S = "${WORKDIR}/git" + +inherit cmake + +EXTRA_OECMAKE += "\ + -DNLOPT_TESTS=OFF \ + -DCMAKE_SKIP_INSTALL_RPATH=ON \ +" + +do_install:append() { + install -d ${D}${docdir}/${PN} + install -d ${D}${docdir}/${PN}/algs + install -d ${D}${docdir}/${PN}/algs/{stogo,slsqp,newuoa,luksan,esch,direct,cobyla,bobyqa,ags} + + install -m 0644 ${S}/COPYRIGHT ${D}${docdir}/${PN} + install -m 0644 ${S}/COPYING ${D}${docdir}/${PN} + install -m 0644 ${S}/src/algs/stogo/COPYRIGHT ${D}${docdir}/${PN}/algs/stogo/COPYRIGHT + install -m 0644 ${S}/src/algs/slsqp/COPYRIGHT ${D}${docdir}/${PN}/algs/slsqp/COPYRIGHT + install -m 0644 ${S}/src/algs/newuoa/COPYRIGHT ${D}${docdir}/${PN}/algs/newuoa/COPYRIGHT + install -m 0644 ${S}/src/algs/luksan/COPYRIGHT ${D}${docdir}/${PN}/algs/luksan/COPYRIGHT + install -m 0644 ${S}/src/algs/esch/COPYRIGHT ${D}${docdir}/${PN}/algs/esch/COPYRIGHT + install -m 0644 ${S}/src/algs/direct/COPYING ${D}${docdir}/${PN}/algs/direct/COPYING + install -m 0644 ${S}/src/algs/cobyla/COPYRIGHT ${D}${docdir}/${PN}/algs/cobyla/COPYRIGHT + install -m 0644 ${S}/src/algs/bobyqa/COPYRIGHT ${D}${docdir}/${PN}/algs/bobyqa/COPYRIGHT + install -m 0644 ${S}/src/algs/ags/COPYRIGHT ${D}${docdir}/${PN}/algs/ags/COPYRIGHT +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-protos/recipes-oss/xclip/xclip.inc b/meta-protos/recipes-oss/xclip/xclip.inc new file mode 100644 index 0000000..f9456ba --- /dev/null +++ b/meta-protos/recipes-oss/xclip/xclip.inc @@ -0,0 +1,9 @@ +SUMMARY = "Command line interface to the X11 clipboard" +DESCRIPTION = "xclip is a command line utility that is designed to run on any system with an X11 implementation. It provides an interface to X selections ("the clipboard") from the command line. It can read data from standard in or a file and place it in an X selection for pasting into other X applications. xclip can also print an X selection to standard out, which can then be redirected to a file or another program." +AUTHOR = "Peter Åstrand " +HOMEPAGE = "https://github.com/astrand/xclip" +BUGTRACKER = "https://github.com/astrand/xclip/issues" +SECTION = "tools" +LICENSE = "GPL-2.0-or-later" + +CVE_PRODUCT = "" diff --git a/meta-protos/recipes-oss/xclip/xclip_0.13.bb b/meta-protos/recipes-oss/xclip/xclip_0.13.bb new file mode 100644 index 0000000..fc05a24 --- /dev/null +++ b/meta-protos/recipes-oss/xclip/xclip_0.13.bb @@ -0,0 +1,17 @@ +require ${PN}.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" + +DEPENDS += "\ + libxmu \ + virtual/libx11 \ +" + +SRC_URI = "git://github.com/astrand/xclip.git;protocol=https;nobranch=1" +SRCREV = "9aa7090c3b8b437c6489edca32ae43d82e0c1281" + +S = "${WORKDIR}/git" + +inherit autotools-brokensep + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-protos/recipes-test/catch3/catch3.inc b/meta-protos/recipes-test/catch3/catch3.inc new file mode 100644 index 0000000..6ee3cff --- /dev/null +++ b/meta-protos/recipes-test/catch3/catch3.inc @@ -0,0 +1,10 @@ +SUMMARY = "A modern, C++-native, test framework for unit-tests, TDD and BDD" +DESCRIPTION = "Catch2 is mainly a unit testing framework for C++, but it also provides basic micro-benchmarking features, and simple BDD macros." +AUTHOR = "Catch" +HOMEPAGE = "https://github.com/catchorg/Catch2" +BUGTRACKER = "https://github.com/catchorg/Catch2/issues" +SECTION = "development" +LICENSE = "BSL-1.0" + +CVE_PRODUCT = "" + diff --git a/meta-protos/recipes-test/catch3/catch3_3.6.0.bb b/meta-protos/recipes-test/catch3/catch3_3.6.0.bb new file mode 100644 index 0000000..f51bc40 --- /dev/null +++ b/meta-protos/recipes-test/catch3/catch3_3.6.0.bb @@ -0,0 +1,19 @@ +require ${PN}.inc + +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c" + +SRC_URI = "git://github.com/catchorg/Catch2.git;protocol=https;nobranch=1" +SRCREV = "4e8d92bf02f7d1c8006a0e7a5ecabd8e62d98502" + +S = "${WORKDIR}/git" + +inherit cmake + +do_install:append() { + rm -rf ${D}${datadir}/Catch2 +} + +ALLOW_EMPTY:${PN} = "1" + +BBCLASSEXTEND = "native nativesdk" +