Add extracted tools: CitrineOS, OpenOCPP, ShapeShifter

- CitrineOS core extracted (CSMS OCPP 2.0.1)
- OpenOCPP extracted (firmware OCPP 1.6J/2.0.1)
- ShapeShifter library installed (pip install -e)
- ShapeShifter specification extracted
- EVerest extracted

TODO updated with progress
This commit is contained in:
Eric F
2026-06-08 00:38:27 -04:00
parent 468cfeaa50
commit d398a6ced2
7326 changed files with 1177561 additions and 7 deletions

View File

@@ -0,0 +1,12 @@
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
SRC_URI = "git://git@github.com/asyncapi/cli.git;protocol=ssh;branch=master"
# v2.7.1
SRCREV = "2e5c6cd224eef9f8924c7d7ec961b37fd0123f21"
S = "${WORKDIR}/git"
inherit npm
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,24 @@
DESCRIPTION = "A modern, C++-native, header-only, test framework for unit-tests, \
TDD and BDD - using C++11, C++14, C++17 and later."
AUTHOR = "Phil Nash, Martin Horenovsky and others"
HOMEPAGE = "https://github.com/catchorg/Catch2"
LICENSE = "BSL-1.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
SRC_URI = "git://github.com/catchorg/Catch2.git;branch=v2.x;protocol=https"
SRCREV = "62fd660583d3ae7a7886930b413c3c570e89786c"
S = "${WORKDIR}/git"
inherit cmake python3native
do_install:append() {
rm ${D}${datadir}/Catch2/lldbinit
rm ${D}${datadir}/Catch2/gdbinit
rmdir ${D}${datadir}/Catch2/
}
# Header-only library
RDEPENDS:${PN}-dev = ""
RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
EXTRA_OECMAKE += "-DCATCH_BUILD_TESTING=OFF"

View File

@@ -0,0 +1,41 @@
# Intermittently fails e.g. https://autobuilder.yocto.io/pub/non-release/20231220-28/testresults/qemux86-64-ptest/curl.log
# https://autobuilder.yocto.io/pub/non-release/20231220-27/testresults/qemux86-64-ptest/curl.log
337
# These CRL test (alt-avc) are failing
356
412
413
# These CRL tests are scanning docs
971
# Intermittently hangs e.g http://autobuilder.yocto.io/pub/non-release/20231228-18/testresults/qemux86-64-ptest/curl.log
1091
# Intermittently hangs e.g https://autobuilder.yocto.io/pub/non-release/20231220-27/testresults/qemux86-64-ptest/curl.log
1096
# These CRL tests are scanning docs
1119
1132
1135
1478
# These CRL tests are scanning headers
1167
1477
# These CRL tests are scanning man pages
1139
1140
1173
1177
# This CRL test is looking for m4 files
1165
# This CRL test is looking for src files
1185
# This test is scanning the source tree
1222
# These CRL tests need --libcurl option to be enabled
1279
1400
1401
1402
1403
1404
1405
1465

View File

@@ -0,0 +1,4 @@
if [ -e "${OECORE_NATIVE_SYSROOT}/etc/ssl/certs/ca-certificates.crt" ];then
export CURL_CA_BUNDLE="${OECORE_NATIVE_SYSROOT}/etc/ssl/certs/ca-certificates.crt"
export BB_ENV_PASSTHROUGH_ADDITIONS="${BB_ENV_PASSTHROUGH_ADDITIONS:-} CURL_CA_BUNDLE"
fi

View File

@@ -0,0 +1,13 @@
#!/bin/sh
cd tests
# Run all tests, don't stop on first failure
# Don't use valgrind if it is found
# Use automake-style output
# Run four tests in parallel
# Print log output on failure
# Don't run the flaky or timing dependent tests
# Until https://github.com/curl/curl/issues/13350 is resolved, don't run FTP tests
./runtests.pl -a -n -am -j4 -p !flaky !timing-dependent !FTP

View File

@@ -0,0 +1,158 @@
SUMMARY = "Command line tool and library for client-side URL transfers"
DESCRIPTION = "It uses URL syntax to transfer data to and from servers. \
curl is a widely used because of its ability to be flexible and complete \
complex tasks. For example, you can use curl for things like user authentication, \
HTTP post, SSL connections, proxy support, FTP uploads, and more!"
HOMEPAGE = "https://curl.se/"
BUGTRACKER = "https://github.com/curl/curl/issues"
SECTION = "console/network"
LICENSE = "curl"
LIC_FILES_CHKSUM = "file://COPYING;md5=eed2e5088e1ac619c9a1c747da291d75"
SRC_URI = " \
https://curl.se/download/${BP}.tar.xz \
file://721941aadf4adf4f6aeb3f4c0ab489bb89610c36.patch \
file://run-ptest \
file://disable-tests \
file://no-test-timeout.patch \
file://CVE-2024-6197.patch \
file://CVE-2024-7264-1.patch \
file://CVE-2024-7264-2.patch \
file://CVE-2024-8096.patch \
file://CVE-2024-9681.patch \
"
SRC_URI[sha256sum] = "6fea2aac6a4610fbd0400afb0bcddbe7258a64c63f1f68e5855ebc0c659710cd"
# Curl has used many names over the years...
CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl"
CVE_STATUS[CVE-2024-32928] = "ignored: CURLOPT_SSL_VERIFYPEER was disabled on google cloud services causing a potential man in the middle attack"
CVE_STATUS[CVE-2025-0725] = "not-applicable-config: gzip decompression of content-encoded HTTP responses with the `CURLOPT_ACCEPT_ENCODING` option, using zlib 1.2.0.3 or older"
inherit autotools pkgconfig binconfig multilib_header ptest
# Entropy source for random PACKAGECONFIG option
RANDOM ?= "/dev/urandom"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} aws basic-auth bearer-auth digest-auth negotiate-auth libidn openssl proxy random threaded-resolver verbose zlib"
PACKAGECONFIG:class-native = "ipv6 openssl proxy random threaded-resolver verbose zlib aws basic-auth bearer-auth digest-auth negotiate-auth"
PACKAGECONFIG:class-nativesdk = "ipv6 openssl proxy random threaded-resolver verbose zlib aws basic-auth bearer-auth digest-auth negotiate-auth"
# 'ares' and 'threaded-resolver' are mutually exclusive
PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares,,,threaded-resolver"
PACKAGECONFIG[aws] = "--enable-aws,--disable-aws"
PACKAGECONFIG[basic-auth] = "--enable-basic-auth,--disable-basic-auth"
PACKAGECONFIG[bearer-auth] = "--enable-bearer-auth,--disable-bearer-auth"
PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli"
PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual"
# Don't use this in production
PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
PACKAGECONFIG[dict] = "--enable-dict,--disable-dict,"
PACKAGECONFIG[digest-auth] = "--enable-digest-auth,--disable-digest-auth"
PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls"
PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher,"
PACKAGECONFIG[imap] = "--enable-imap,--disable-imap,"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
PACKAGECONFIG[kerberos-auth] = "--enable-kerberos-auth,--disable-kerberos-auth"
PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5"
PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap"
PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps,openldap"
PACKAGECONFIG[libgsasl] = "--with-libgsasl,--without-libgsasl,libgsasl"
PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2"
PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2"
PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls"
PACKAGECONFIG[mqtt] = "--enable-mqtt,--disable-mqtt,"
PACKAGECONFIG[negotiate-auth] = "--enable-negotiate-auth,--disable-negotiate-auth"
PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2"
PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3,"
PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy,"
PACKAGECONFIG[random] = "--with-random=${RANDOM},--without-random"
PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump"
PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp,"
PACKAGECONFIG[smb] = "--enable-smb,--disable-smb,"
PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp,"
PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet,"
PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp,"
PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver,,,,ares"
PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose"
PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib"
PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd"
EXTRA_OECONF = " \
--disable-libcurl-option \
--disable-ntlm-wb \
--with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \
--without-libpsl \
--enable-optimize \
${@'--without-ssl' if (bb.utils.filter('PACKAGECONFIG', 'gnutls mbedtls openssl', d) == '') else ''} \
"
fix_absolute_paths () {
# cleanup buildpaths from curl-config
sed -i \
-e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
-e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
-e 's|${DEBUG_PREFIX_MAP}||g' \
-e 's|${@" ".join(d.getVar("DEBUG_PREFIX_MAP").split())}||g' \
${D}${bindir}/curl-config
}
do_install:append:class-target() {
fix_absolute_paths
}
do_install:append:class-nativesdk() {
fix_absolute_paths
}
do_compile_ptest() {
oe_runmake -C ${B}/tests
}
do_install_ptest() {
cat ${WORKDIR}/disable-tests >> ${S}/tests/data/DISABLED
rm -f ${B}/tests/configurehelp.pm
cp -rf ${B}/tests ${D}${PTEST_PATH}
rm -f ${D}${PTEST_PATH}/tests/libtest/.libs/libhostname.la
rm -f ${D}${PTEST_PATH}/tests/libtest/libhostname.la
mv ${D}${PTEST_PATH}/tests/libtest/.libs/* ${D}${PTEST_PATH}/tests/libtest/
mv ${D}${PTEST_PATH}/tests/libtest/libhostname.so ${D}${PTEST_PATH}/tests/libtest/.libs/
mv ${D}${PTEST_PATH}/tests/http/clients/.libs/* ${D}${PTEST_PATH}/tests/http/clients/
cp -rf ${S}/tests ${D}${PTEST_PATH}
find ${D}${PTEST_PATH}/ -type f -name Makefile.am -o -name Makefile.in -o -name Makefile -delete
install -d ${D}${PTEST_PATH}/src
ln -sf ${bindir}/curl ${D}${PTEST_PATH}/src/curl
cp -rf ${D}${bindir}/curl-config ${D}${PTEST_PATH}
}
RDEPENDS:${PN}-ptest += " \
bash \
locale-base-en-us \
perl-module-b \
perl-module-base \
perl-module-cwd \
perl-module-digest \
perl-module-digest-md5 \
perl-module-file-basename \
perl-module-file-spec \
perl-module-file-temp \
perl-module-io-socket \
perl-module-ipc-open2 \
perl-module-list-util \
perl-module-memoize \
perl-module-storable \
perl-module-time-hires \
"
PACKAGES =+ "lib${BPN}"
FILES:lib${BPN} = "${libdir}/lib*.so.*"
RRECOMMENDS:lib${BPN} += "ca-certificates"
FILES:${PN} += "${datadir}/zsh"
inherit multilib_script
MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,24 @@
SUMMARY = "A date and time library based on C++11/14/17."
AUTHOR = "Howard Hinnant"
HOMEPAGE = "https://github.com/HowardHinnant/date.git"
SECTION = "libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b5d973344b3c7bbf7535f0e6e002d017"
SRC_URI = "git://github.com/HowardHinnant/date.git;branch=master;protocol=https \
"
inherit cmake
S = "${WORKDIR}/git"
PV = "3.0.4"
SRCREV = "f94b8f36c6180be0021876c4a397a054fe50c6f2"
EXTRA_OECMAKE += " \
-DBUILD_TZ_LIB=ON \
-DHAS_REMOTE_API=OFF \
-DUSE_AUTOLOAD=OFF \
-DUSE_SYSTEM_TZ_DB=ON \
-DBUILD_SHARED_LIBS=ON \
"

View File

@@ -0,0 +1,17 @@
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."
HOMEPAGE = "https://fmt.dev"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b9257785fc4f3803a4b71b76c1412729"
SRC_URI = "git://github.com/fmtlib/fmt;branch=master;protocol=https"
SRCREV = "407c905e45ad75fc29bf0f9bb7c5c2fd3475976f"
S = "${WORKDIR}/git"
inherit cmake
inherit ptest
EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DFMT_TEST=OFF -DFMT_DOC=OFF -DBUILD_SHARED_LIBS=ON -DFMT_INSTALL=ON -DFMT_SYSTEM_HEADERS=ON"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,16 @@
SUMMARY = "C++ functional terminal UI"
DESCRIPTION = "{ftxui}: A simple cross-platform C++ library for terminal based user interfaces!"
HOMEPAGE = "https://arthursonzogni.github.io/FTXUI"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=602507f167b627b30ce2cd7a24d50ea3"
SRC_URI = "git://github.com/ArthurSonzogni/FTXUI.git;branch=main;protocol=https"
SRCREV = "5cfed50702f52d51c1b189b5f97f8beaf5eaa2a6"
S = "${WORKDIR}/git"
inherit cmake
EXTRA_OECMAKE += " -DBUILD_SHARED_LIBS=ON "
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,37 @@
DESCRIPTION = "Google's framework for writing C++ tests"
HOMEPAGE = "https://github.com/google/googletest"
SECTION = "libs"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=cbbd27594afd089daa160d3a16dd515a"
PROVIDES += "gmock gtest"
S = "${WORKDIR}/git"
SRCREV = "f8d7d77c06936315286eb55f8de22cd23c188571"
SRC_URI = "git://github.com/google/googletest.git;branch=main;protocol=https"
inherit cmake pkgconfig
# allow for shared libraries, but do not default to them
#
PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,,"
CXXFLAGS:append = " -fPIC"
ALLOW_EMPTY:${PN} = "1"
ALLOW_EMPTY:${PN}-dbg = "1"
# -staticdev will not be implicitly put into an SDK, so we add an rdepend
# if we are not building shared libraries
#
RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG","shared","","${PN}-staticdev",d)}"
BBCLASSEXTEND = "native nativesdk"
do_configure:prepend() {
# explicitly use python3
# the scripts are already python3 compatible since https://github.com/google/googletest/commit/d404af0d987a9c38cafce82a7e26ec8468c88361 and other fixes like this
# but since this oe-core change http://git.openembedded.org/openembedded-core/commit/?id=5f8f16b17f66966ae91aeabc23e97de5ecd17447
# there isn't python in HOSTTOOLS so "env python" fails
sed -i 's@^#!/usr/bin/env python$@#!/usr/bin/env python3@g' ${S}/googlemock/test/*py ${S}/googletest/test/*py
}

View File

@@ -0,0 +1,17 @@
SUMMARY = "JSON schema validator for JSON for Modern C++"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c441d022da1b1663c70181a32225d006"
SRC_URI = "git://github.com/pboettch/json-schema-validator;branch=main;protocol=https \
"
SRCREV = "c780404a84dd9ba978ba26bc58d17cb43fa7bc80"
S = "${WORKDIR}/git"
DEPENDS += "nlohmann-json"
inherit cmake
EXTRA_OECMAKE = "-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DJSON_VALIDATOR_BUILD_EXAMPLES=OFF -DJSON_VALIDATOR_BUILD_TESTS=OFF -DJSON_VALIDATOR_INSTALL=ON -DJSON_VALIDATOR_BUILD_SHARED_LIBS=ON"
TARGET_CFLAGS += "-Wno-narrowing"

View File

@@ -0,0 +1,70 @@
SUMMARY = "Canonical libwebsockets.org websocket library"
HOMEPAGE = "https://libwebsockets.org/"
LICENSE = "MIT & Zlib & BSD-3-Clause & Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b5d391cc7929bcba238f9ba6805f7574"
DEPENDS = "zlib"
DEPENDS:append:class-native = " libcap-native"
S = "${WORKDIR}/git"
SRCREV = "85c6f7959fd40d8aaf7a50be3c9b75f08389a01c"
SRC_URI = "git://github.com/warmcat/libwebsockets.git;protocol=https;branch=v4.5-stable"
UPSTREAM_CHECK_URI = "https://github.com/warmcat/${BPN}/releases"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
inherit cmake pkgconfig
PACKAGECONFIG ?= "libuv libcap client server http2 ssl streamcompress ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[client] = "-DLWS_WITHOUT_CLIENT=OFF,-DLWS_WITHOUT_CLIENT=ON,"
PACKAGECONFIG[examples] = "-DLWS_WITH_MINIMAL_EXAMPLES=ON,-DLWS_WITH_MINIMAL_EXAMPLES=OFF,"
PACKAGECONFIG[http2] = "-DLWS_WITH_HTTP2=ON,-DLWS_WITH_HTTP2=OFF,"
PACKAGECONFIG[ipv6] = "-DLWS_IPV6=ON,-DLWS_IPV6=OFF,"
PACKAGECONFIG[libcap] = "-DLWS_WITH_LIBCAP=ON,-DLWS_WITH_LIBCAP=OFF,libcap"
PACKAGECONFIG[libevent] = "-DLWS_WITH_LIBEVENT=ON,-DLWS_WITH_LIBEVENT=OFF,libevent"
PACKAGECONFIG[libev] = "-DLWS_WITH_LIBEV=ON,-DLWS_WITH_LIBEV=OFF,libev"
PACKAGECONFIG[libuv] = "-DLWS_WITH_LIBUV=ON,-DLWS_WITH_LIBUV=OFF,libuv"
PACKAGECONFIG[server] = "-DLWS_WITHOUT_SERVER=OFF,-DLWS_WITHOUT_SERVER=ON,"
PACKAGECONFIG[ssl] = "-DLWS_WITH_SSL=ON,-DLWS_WITH_SSL=OFF,openssl"
PACKAGECONFIG[static] = "-DLWS_WITH_STATIC=ON,-DLWS_WITH_STATIC=OFF -DLWS_LINK_TESTAPPS_DYNAMIC=ON,"
PACKAGECONFIG[streamcompress] = "-DLWS_WITH_HTTP_STREAM_COMPRESSION=ON,-DLWS_WITH_HTTP_STREAM_COMPRESSION=OFF,zlib"
PACKAGECONFIG[systemd] = "-DLWS_WITH_SDEVENT=ON,-DLWS_WITH_SDEVENT=OFF,systemd"
python __anonymous() {
if bb.utils.contains('PACKAGECONFIG', 'systemd', True, False, d) and not bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d):
bb.fatal("PACKAGECONFIG contains systemd but DISTRO_FEATURES doesn't")
}
EXTRA_OECMAKE += " \
-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
"
do_install:append() {
sed -i -e 's|${STAGING_LIBDIR}/libcrypto.so|crypto|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
sed -i -e 's|${STAGING_LIBDIR}/libssl.so|ssl|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
sed -i -e 's|${STAGING_LIBDIR}/libuv.so|uv|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
sed -i -e 's|${STAGING_INCDIR}||g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake \
${D}${libdir}/cmake/libwebsockets/libwebsockets-config.cmake
sed -i -e 's|${STAGING_LIBDIR}/||g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake \
${D}${libdir}/cmake/libwebsockets/libwebsockets-config.cmake
}
PACKAGES =+ "${PN}-testapps ${PN}-evlib-event ${PN}-evlib-uv ${PN}-evlib-ev ${PN}-evlib-sd"
FILES:${PN}-testapps += "${datadir}/libwebsockets-test-server/* ${bindir}/libwebsockets-test-*"
FILES:${PN}-evlib-event += "${libdir}/libwebsockets-evlib_event.so"
FILES:${PN}-evlib-uv += "${libdir}/libwebsockets-evlib_uv.so"
FILES:${PN}-evlib-ev += "${libdir}/libwebsockets-evlib_ev.so"
FILES:${PN}-evlib-sd += "${libdir}/libwebsockets-evlib_sd.so"
RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libevent', '${PN}-evlib-event', '', d)}"
RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libuv', '${PN}-evlib-uv', '', d)}"
RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libev', '${PN}-evlib-ev', '', d)}"
RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'systemd', '${PN}-evlib-sd', '', d)}"
RDEPENDS:${PN}-dev += " ${@bb.utils.contains('PACKAGECONFIG', 'static', '${PN}-staticdev', '', d)}"
# Avoid absolute paths to end up in the sysroot.
SSTATE_SCAN_FILES += "*.cmake"
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,30 @@
SUMMARY = "JSON for modern C++"
HOMEPAGE = "https://nlohmann.github.io/json/"
SECTION = "libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=3b489645de9825cca5beeb9a7e18b6eb"
CVE_PRODUCT = "json-for-modern-cpp"
SRC_URI = "git://github.com/nlohmann/json.git;nobranch=1;protocol=https \
"
SRCREV = "55f93686c01528224f448c19128836e7df245f72"
S = "${WORKDIR}/git"
inherit cmake
EXTRA_OECMAKE += "-DJSON_BuildTests=OFF -DJSON_MultipleHeaders=ON"
# nlohmann-json is a header only C++ library, so the main package will be empty.
RDEPENDS:${PN}-dev = ""
BBCLASSEXTEND = "native nativesdk"
# 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
}

View File

@@ -0,0 +1,11 @@
[Unit]
Description=Node-RED
[Service]
Environment=NODE_ENV=production
ExecStart=/bin/su root -c 'node /usr/lib/node_modules/node-red/red.js'
Restart=always
RestartSec=30
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,42 @@
DESCRIPTION = "Node-RED"
HOMEPAGE = "http://nodered.org"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d6f37569f5013072e9490d2194d10ae6"
inherit npm
PR = "r0"
SRC_URI = "\
git://github.com/node-red/node-red.git;protocol=https;branch=master \
npmsw://${THISDIR}/${BPN}/npm-shrinkwrap.json \
file://${BPN}.service \
file://Fixup-dependencies-for-newer-npm-versions.patch \
"
SRCREV = "173e75175eb1c40e7b11c8da4bccba8f2eb22937"
S = "${WORKDIR}/git/packages/node_modules/${BPN}"
EXTRA_OENPM = "--offline=false --proxy=false"
do_install:append() {
# Service
install -d ${D}${systemd_unitdir}/system/
install -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_unitdir}/system/
# Remove hardware specific files
rm ${D}/${bindir}/${BPN}-pi
rm -rf ${D}/${libdir}/node_modules/${BPN}/bin
}
inherit systemd
SYSTEMD_AUTO_ENABLE = "enable"
SYSTEMD_SERVICE:${PN} = "${BPN}.service"
FILES:${PN} += "\
${systemd_unitdir} \
"
INSANE_SKIP:${PN} += "staticdev"

View File

@@ -0,0 +1,25 @@
SUMMARY = "Light-weight C++ XML Processing Library"
DESCRIPTION = "pugixml is a C++ XML processing library, which consists of a \
DOM-like interface with rich traversal/modification capabilities, \
an extremely fast XML parser which constructs the DOM tree from \
n XML file/buffer, and an XPath 1.0 implementation for complex \
data-driven tree queries."
HOMEPAGE = "https://pugixml.org/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://readme.txt;beginline=29;endline=52;md5=5dbb98bbc2e5051c26ce32508b4f703e"
SRC_URI = "https://github.com/zeux/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
SRC_URI[sha256sum] = "655ade57fa703fb421c2eb9a0113b5064bddb145d415dd1f88c79353d90d511a"
UPSTREAM_CHECK_URI = "https://github.com/zeux/${BPN}/releases"
UPSTREAM_CHECK_REGEX = "releases/tag/v(?P<pver>\d+(\.\d+)+)"
inherit cmake
EXTRA_OECMAKE += "-DBUILD_PKGCONFIG=ON \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release \
"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,15 @@
SUMMARY = "aiofile: Asynchronous file operations."
HOMEPAGE = "http://github.com/mosquito/aiofile"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENCE;md5=d8d1d59c60e60e8627fcd1c350a5c904"
SRC_URI[sha256sum] = "a8f9dec17282b3583337c4ef2d1a67f33072ab80dd03608041ed9e71b88dc521"
PYPI_PACKAGE = "aiofile"
inherit pypi setuptools3
RDEPENDS:${PN} += " \
${PYTHON_PN}-caio \
"

View File

@@ -0,0 +1,13 @@
SUMMARY = "caio: Asynchronous file IO for Linux MacOS or Windows."
HOMEPAGE = "https://github.com/mosquito/caio"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI[sha256sum] = "d2be553738dd793f8a01a60316f2c5284fbf152219241c0c67ca05f650a37a37"
PYPI_PACKAGE = "caio"
inherit pypi setuptools3
RDEPENDS:${PN} += "python3-multiprocessing"

View File

@@ -0,0 +1,15 @@
SUMMARY = "environs: simplified environment variable parsing"
HOMEPAGE = "https://github.com/sloria/environs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a49f11890d809ccbf7d326a2df842aaf"
SRC_URI[md5sum] = "7df5cb194ff30a004e1f03d9b4fdbee6"
PYPI_PACKAGE = "environs"
inherit pypi setuptools3
RDEPENDS:${PN} += " \
${PYTHON_PN}-python-dotenv \
"

View File

@@ -0,0 +1,15 @@
SUMMARY = "marshmallow: A lightweight library for converting complex datatypes to and from native Python datatypes."
HOMEPAGE = "https://github.com/marshmallow-code/marshmallow"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5bccd400dedfa74364481e56aacc0b4a"
SRC_URI[sha256sum] = "5d2371bbe42000f2b3fb5eaa065224df7d8f8597bc19a1bbfa5bfe7fba8da889"
PYPI_PACKAGE = "marshmallow"
inherit pypi setuptools3
RDEPENDS:${PN} += " \
${PYTHON_PN}-packaging \
"

View File

@@ -0,0 +1,11 @@
SUMMARY = "netifaces: Portable network interface information."
HOMEPAGE = "https://github.com/al45tair/netifaces"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e4677613c25bf3673bfee98c0cc52202"
SRC_URI[sha256sum] = "043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32"
PYPI_PACKAGE = "netifaces"
inherit pypi setuptools3

View File

@@ -0,0 +1,11 @@
SUMMARY = "packaging: Core utilities for Python packages"
HOMEPAGE = "https://github.com/pypa/packaging"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=faadaedca9251a90b205c9167578ce91"
SRC_URI[sha256sum] = "dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"
PYPI_PACKAGE = "packaging"
inherit pypi setuptools3

View File

@@ -0,0 +1,55 @@
SUMMARY = "Poetry PEP 517 Build Backend"
DESCRIPTION = "Poetry PEP 517 Build Backend"
HOMEPAGE = "https://github.com/python-poetry/poetry-core"
BUGTRACKER = "https://github.com/python-poetry/poetry-core"
CHANGELOG = "https://github.com/python-poetry/poetry-core/blob/master/CHANGELOG.md"
LICENSE = "Apache-2.0 & BSD-2-Clause & MIT"
LIC_FILES_CHKSUM = "\
file://LICENSE;md5=78c39cfd009863ae44237a7ab1f9cedc \
file://src/poetry/core/_vendor/attr/_version_info.py;beginline=1;endline=1;md5=b2dccaa94b3629a08bfb4f983cad6f89 \
file://src/poetry/core/_vendor/attrs/LICENSE;md5=5e55731824cf9205cfabeab9a0600887 \
file://src/poetry/core/_vendor/jsonschema/COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8 \
file://src/poetry/core/_vendor/lark/LICENSE;md5=fcfbf1e2ecc0f37acbb5871aa0267500 \
file://src/poetry/core/_vendor/packaging/LICENSE;md5=faadaedca9251a90b205c9167578ce91 \
file://src/poetry/core/_vendor/packaging/LICENSE.APACHE;md5=2ee41112a44fe7014dce33e26468ba93 \
file://src/poetry/core/_vendor/packaging/LICENSE.BSD;md5=7bef9bf4a8e4263634d0597e7ba100b8 \
file://src/poetry/core/_vendor/pyparsing/LICENSE;md5=657a566233888513e1f07ba13e2f47f1 \
file://src/poetry/core/_vendor/pyrsistent/LICENSE.mit;md5=b695eb9c6e7a6fb1b1bc2d193c42776e \
file://src/poetry/core/_vendor/tomlkit/LICENSE;md5=31aac0dbc1babd278d5386dadb7f8e82 \
file://src/poetry/core/_vendor/typing_extensions.LICENSE;md5=f16b323917992e0f8a6f0071bc9913e2 \
"
SRC_URI[sha256sum] = "514bd33c30e0bf56b0ed44ee15e120d7e47b61ad908b2b1011da68c48a84ada9"
inherit python_poetry_core pypi
PYPI_ARCHIVE_NAME = "poetry_core-${PV}.${PYPI_PACKAGE_EXT}"
S = "${WORKDIR}/poetry_core-${PV}"
# FIXME (aw): because in kirkstone poetry install itself by using itself
do_compile:prepend () {
test -L ${S}/poetry || ln -s ${S}/src/poetry ${S}/poetry
}
SRC_URI += "file://deterministic.patch"
RDEPENDS:${PN}:append:class-target = "\
python3-compression \
python3-core \
python3-crypt \
python3-io \
python3-json \
python3-logging \
python3-netclient \
python3-pathlib2 \
python3-pprint \
python3-shell \
"
RDEPENDS:${PN} += "\
python3-pip \
python3-six \
"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,14 @@
SUMMARY = "Enables Python programs to dynamically access arbitrary Java objects"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=92361a2681db50d1bc207c47c49c1a8e"
SRC_URI[md5sum] = "22345a5235af2e003da25554732f2193"
SRC_URI[wheel.md5sum] = "8667328e99732d4577eeb85d1ded8db8"
PYPI_PACKAGE = "py4j"
PYPI_WHEEL_NAME = "py4j-0.10.9.7-py2.py3-none-any.whl"
inherit pypi_wheel
FILES:${PN} += "${datadir}/*"

View File

@@ -0,0 +1,20 @@
SUMMARY = "Data validation and settings management using Python type hinting"
HOMEPAGE = "https://github.com/samuelcolvin/pydantic"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2c02ea30650b91528657db64baea1757"
inherit pypi setuptools3
SRC_URI[sha256sum] = "b9a3859f24eb4e097502a3be1fb4b2abb79b6103dd9e2e0edb70613a4459a648"
RDEPENDS:${PN} += "\
${PYTHON_PN}-typing-extensions \
${PYTHON_PN}-core \
${PYTHON_PN}-numbers \
${PYTHON_PN}-json \
${PYTHON_PN}-datetime \
${PYTHON_PN}-io \
${PYTHON_PN}-netclient \
${PYTHON_PN}-image \
${PYTHON_PN}-logging \
"

View File

@@ -0,0 +1,11 @@
SUMMARY = "python-dotenv: Read key-value pairs from a .env file and set them as environment variables"
HOMEPAGE = "https://github.com/marshmallow-code/marshmallow"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e914cdb773ae44a732b392532d88f072"
SRC_URI[sha256sum] = "a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba"
PYPI_PACKAGE = "python-dotenv"
inherit pypi setuptools3

View File

@@ -0,0 +1,29 @@
SUMMARY = "typing-extensions: Backported and Experimental Type Hints for Python 3.7+"
HOMEPAGE = "https://github.com/python/typing_extensions"
LICENSE = "PSF-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=fcf6b249c2641540219a727f35d8d2c2"
SRC_URI[sha256sum] = "b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"
PYPI_PACKAGE = "typing_extensions"
inherit pypi setuptools3 python3-dir
do_configure:prepend() {
cat > setup.py <<-EOF
from setuptools import setup
setup(name='typing_extensions',
version="4.7.1",
package_dir={'': 'src'})
EOF
}
FILES:${PN} += "\
${libdir}/${PYTHON_DIR}/site-packages/typing_extensions.py \
"
do_install:append() {
cp ${S}/src/typing_extensions.py ${D}${libdir}/${PYTHON_DIR}/site-packages/
}

View File

@@ -0,0 +1,17 @@
SUMMARY = "Rapid YAML"
AUTHOR = "Joao Paulo Magalhaes"
HOMEPAGE = "https://github.com/biojppm/rapidyaml.git"
SECTION = "libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=11a6f80850f6993383976130ad87005e"
SRC_URI = "gitsm://github.com/biojppm/rapidyaml.git;branch=master;protocol=https"
inherit cmake
S = "${WORKDIR}/git"
PV = "v0.10.0"
SRCREV = "653eac9741c7728f2a87435b981737894149e002"
EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON"

View File

@@ -0,0 +1,77 @@
SUMMARY = "libsystemd static library"
DESCRIPTION = "libsystemd static library built specifically as an integral component of sdbus-c++"
SECTION = "libs"
LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
inherit meson pkgconfig
DEPENDS += "gperf-native gettext-native util-linux libcap util-linux python3-jinja2-native"
SRCREV = "387a14a7b67b8b76adaed4175e14bb7e39b2f738"
SRCBRANCH = "v255-stable"
SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH} \
file://static-libsystemd-pkgconfig.patch \
"
# patches needed by musl
SRC_URI:append:libc-musl = " ${SRC_URI_MUSL}"
SRC_URI_MUSL = "\
file://0001-missing_type.h-add-comparison_fn_t.patch \
file://0002-add-fallback-parse_printf_format-implementation.patch \
file://0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
file://0003-src-basic-missing.h-check-for-missing-strndupa.patch \
file://0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \
file://0005-add-missing-FTW_-macros-for-musl.patch \
file://0006-Use-uintmax_t-for-handling-rlim_t.patch \
file://0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \
file://0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch \
file://0008-implment-systemd-sysv-install-for-OE.patch \
file://0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \
file://0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \
file://0011-avoid-redefinition-of-prctl_mm_map-structure.patch \
file://0012-do-not-disable-buffer-in-writing-files.patch \
file://0013-Handle-__cpu_mask-usage.patch \
file://0014-Handle-missing-gshadow.patch \
file://0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch \
file://0016-pass-correct-parameters-to-getdents64.patch \
file://0017-Adjust-for-musl-headers.patch \
file://0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch \
file://0019-errno-util-Make-STRERROR-portable-for-musl.patch \
file://0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch \
file://0021-shared-Do-not-use-malloc_info-on-musl.patch \
file://0022-avoid-missing-LOCK_EX-declaration.patch \
"
PACKAGECONFIG ??= "gshadow idn"
PACKAGECONFIG:remove:libc-musl = " gshadow idn"
PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false"
PACKAGECONFIG[idn] = "-Didn=true,-Didn=false"
CFLAGS:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0 "
EXTRA_OEMESON += "-Dstatic-libsystemd=pic"
S = "${WORKDIR}/git"
RDEPENDS:${PN}-dev = ""
do_compile() {
ninja -v ${PARALLEL_MAKE} version.h
ninja -v ${PARALLEL_MAKE} libsystemd.a
ninja -v ${PARALLEL_MAKE} src/libsystemd/libsystemd.pc
}
do_install () {
install -d ${D}${libdir}
install ${B}/libsystemd.a ${D}${libdir}
install -d ${D}${includedir}/systemd
install ${S}/src/systemd/*.h ${D}${includedir}/systemd
install -d ${D}${libdir}/pkgconfig
install ${B}/src/libsystemd/libsystemd.pc ${D}${libdir}/pkgconfig
}

View File

@@ -0,0 +1,16 @@
SUMMARY = "sdbus-c++ native tools"
DESCRIPTION = "Native interface code generator for development with sdbus-c++"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742"
inherit cmake
DEPENDS += "expat"
SRCREV = "0261d0ec60b68c1f0a6ec9acf63d1379f7d569f8"
SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master;subpath=tools"
S = "${WORKDIR}/tools"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,6 @@
#!/bin/sh
set -e
./sdbus-c++-unit-tests 2>&1 && echo "PASS: sdbus-c++-unit-tests" || echo "FAIL: sdbus-c++-unit-tests"
./sdbus-c++-integration-tests 2>&1 && echo "PASS: sdbus-c++-integration-tests" || echo "FAIL: sdbus-c++-integration-tests"

View File

@@ -0,0 +1,51 @@
SUMMARY = "sdbus-c++"
DESCRIPTION = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API in modern C++"
SECTION = "libs"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742"
inherit cmake pkgconfig systemd ptest
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'with-external-libsystemd', 'with-builtin-libsystemd', d)} \
${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)}"
PACKAGECONFIG[with-builtin-libsystemd] = ",,sdbus-c++-libsystemd,libcap,basu"
PACKAGECONFIG[with-external-libsystemd] = ",,systemd,libsystemd"
PACKAGECONFIG[with-tests] = "-DSDBUSCPP_BUILD_TESTS=ON -DSDBUSCPP_INSTALL_TESTS=ON -DSDBUSCPP_TESTS_INSTALL_PATH=${PTEST_PATH},-DSDBUSCPP_BUILD_TESTS=OFF,googletest gmock"
DEPENDS += "expat"
PV = "v2.2.1"
SRCREV = "28b78822cfc5fbec4bd9906168493e9985f586ed"
SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master \
file://run-ptest"
EXTRA_OECMAKE = "-DSDBUSCPP_BUILD_CODEGEN=OFF \
-DSDBUSCPP_BUILD_DOCS=ON \
-DSDBUSCPP_BUILD_DOXYGEN_DOCS=OFF"
S = "${WORKDIR}/git"
# Link libatomic on architectures without 64bit atomics fixes
# libsdbus-c++.so.1.1.0: undefined reference to `__atomic_load_8'
LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
LDFLAGS:append:powerpc = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
LDFLAGS:append:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
do_install:append() {
if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then
rm -rf ${D}${sysconfdir}/dbus-1
fi
}
do_install_ptest() {
DESTDIR='${D}' cmake_runcmake_build --target tests/install
}
FILES:${PN}-ptest =+ "${sysconfdir}/dbus-1/system.d/"
FILES:${PN}-dev += "${bindir}/sdbus-c++-xml2cpp"
RDEPENDS:${PN}-ptest += "dbus"
# It adds -isystem which is spurious, no idea where it gets it from
CCACHE_DISABLE = "1"

View File

@@ -0,0 +1,22 @@
SUMMARY = "Provider for integration of TPM 2.0 to OpenSSL 3.X"
DESCRIPTION = "The tpm2-openssl project implements a provider \
that integrates the Trusted Platform Module (TPM 2.0) operations \
to the OpenSSL 3.x, which is the next version of OpenSSL after 1.1.1."
HOMEPAGE = "https://github.com/tpm2-software/tpm2-openssl"
SECTION = "tpm"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3f4b4cb00f4d0d6807a0dc79759a57ac"
SRC_URI = "https://github.com/tpm2-software/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.gz"
SRC_URI[sha256sum] = "9a9aca55d4265ec501bcf9c56d21d6ca18dba902553f21c888fe725b42ea9964"
UPSTREAM_CHECK_URI = "https://github.com/tpm2-software/${BPN}/releases"
UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P<pver>\d+(\.\d+)+)"
DEPENDS = "autoconf-archive-native tpm2-tss openssl"
inherit autotools pkgconfig
FILES:${PN} = "${libdir}/ossl-modules/*"